Я удивлен, что самый простой, но наиболее эффективный способ получить все включенные двоичные источники программного обеспечения вместе с файлом, в котором они указаны, еще не опубликован:
grep -r --include '*.list' '^deb ' /etc/apt/sources.list /etc/apt/sources.list.d/
Из всех обработанных файлов будет выведена каждая строка, начинающаяся с deb
. Это исключает закомментированные строки, а также deb-src
строки для включения репозиториев исходного кода.
Он действительно ищет только все *.list
файлы, которые будут проанализированы с помощью apt
, но , например , нет *.list.save
файлы, используемые для резервного копирования, или другие файлы с незаконными именами.
Если вы хотите более короткий, но, возможно, только в 99,9% всех случаев правильный вывод, который может привести к поиску слишком большого количества файлов (включает все /etc/apt/sources.list*
файлы и каталоги, не только /etc/apt/sources.list
и `/etc / apt /sources.list.d /*), вы также могли бы использовать это:
grep -r --include '*.list' '^deb ' /etc/apt/sources.list*
Если нет файлов, которых там быть не должно, результат будет таким же.
Примером вывода на моей машине может быть следующее:
/etc/apt/sources.list:deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily main restricted/etc/apt/sources.list:deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily-updates main restricted/etc/apt/sources.list:deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily universe/etc/apt/sources.list:deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily-updates universe/etc/apt/sources.list:deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily multiverse/etc/apt/sources.list:deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily-updates multiverse/etc/apt/sources.list:deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily-backports main restricted universe multiverse/etc/apt/sources.list:deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily-security main restricted/etc/apt/sources.list:deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily-security universe/etc/apt/sources.list:deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily-security multiverse/etc/apt/sources.list:deb http://archive.canonical.com/ubuntu wily partner/etc/apt/sources.list.d/maarten-fonville-ubuntu-ppa-wily.list:deb http://ppa.launchpad.net/maarten-fonville/ppa/ubuntu wily main/etc/apt/sources.list.d/webupd8team-ubuntu-tor-browser-wily.list:deb http://ppa.launchpad.net/webupd8team/tor-browser/ubuntu wily main/etc/apt/sources.list.d/fossfreedom-ubuntu-indicator-sysmonitor-wily.list:deb http://ppa.launchpad.net/fossfreedom/indicator-sysmonitor/ubuntu wily main/etc/apt/sources.list.d/getdeb.list:deb http://archive.getdeb.net/ubuntu wily-getdeb apps
Если вы хотите более красивый результат, давайте пропустим его через sed
:
grep -r --include '*.list' '^deb ' /etc/apt/ | sed -re 's/^\/etc\/apt\/sources\.list((\.d\/)?|(:)?)//' -e 's/(.*\.list):/\[\1\] /' -e 's/deb http:\/\/ppa.launchpad.net\/(.*?)\/ubuntu .*/ppa:\1/'
И мы увидим это:
deb http://ftp-stud.hs-esslingen.de/ubuntu/ wily main restricteddeb http://ftp-stud.hs-esslingen.de/ubuntu/ wily-updates main restricteddeb http://ftp-stud.hs-esslingen.de/ubuntu/ wily universedeb http://ftp-stud.hs-esslingen.de/ubuntu/ wily-updates universedeb http://ftp-stud.hs-esslingen.de/ubuntu/ wily multiversedeb http://ftp-stud.hs-esslingen.de/ubuntu/ wily-updates multiversedeb http://ftp-stud.hs-esslingen.de/ubuntu/ wily-backports main restricted universe multiversedeb http://ftp-stud.hs-esslingen.de/ubuntu/ wily-security main restricteddeb http://ftp-stud.hs-esslingen.de/ubuntu/ wily-security universedeb http://ftp-stud.hs-esslingen.de/ubuntu/ wily-security multiversedeb http://archive.canonical.com/ubuntu wily partner[maarten-fonville-ubuntu-ppa-wily.list] ppa:maarten-fonville/ppa[webupd8team-ubuntu-tor-browser-wily.list] ppa:webupd8team/tor-browser[fossfreedom-ubuntu-indicator-sysmonitor-wily.list] ppa:fossfreedom/indicator-sysmonitor[getdeb.list] deb http://archive.getdeb.net/ubuntu wily-getdeb apps