Чи існує метод або команда, яка дозволяє визначити, з якого сховища надходить пакет?
Чи існує метод або команда, яка дозволяє визначити, з якого сховища надходить пакет?
Відповіді:
dpkg -s <package>- дозволяє знайти встановлену вами версію. ( джерело )apt-cache showpkg <package>- відобразиться список доступних версій пакету. Для кожної версії буде вказано джерело пакета у вигляді імені файлу індексу.Якщо ви хочете знайти джерело пакету, який зараз встановлений, вам знадобиться вихід dpkg -s <package>. В іншому випадку ви можете просто переглянути найновішу версію за версією apt-cache showpkg <package>.
$ dpkg -s liferea
Package: liferea
Status: install ok installed
Priority: optional
Section: web
Installed-Size: 760
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: i386
Version: 1.6.2-1ubuntu6
...
$ apt-cache showpkg liferea
Package: liferea
Versions:
1.6.2-1ubuntu6.1 (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid-updates_main_binary-i386_Packages)
Description Language:
File: /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid-updates_main_binary-i386_Packages
MD5: 557b0b803b7ed864e6d14df4b02e3d26
1.6.2-1ubuntu6 (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid_main_binary-i386_Packages) (/var/lib/dpkg/status)
Description Language:
File: /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid_main_binary-i386_Packages
MD5: 557b0b803b7ed864e6d14df4b02e3d26
...
З першої команди я бачу, що встановлена версія Liferea 1.6.2-1ubuntu6. З другої команди я бачу, що ця версія вказана в /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid_main_binary-i386_Packages.
Без особливих зусиль, я можу зробити висновок , що лінійний джерело містить archive.ubuntu.com, ubuntu, lucid, і main.
І, безумовно, мій /etc/apt/sources.listмістить наступний рядок.
deb http://archive.ubuntu.com/ubuntu lucid main universe restricted multiverse
apt-cache policy <package name>(від: superuser.com/a/236605/37279 )
trustyджерела пакунків Ubuntu , то тимчасово додаю utopicдо мого sources.list, щоб встановити версію 1.20ubuntu3 з, init-system-helpersа потім знову видалити репо з мого sources.list, apt-cache showpkg init-system-helpersпросто буде брехати про вихідний список пакетів і apt-cache policy init-system-helpersпросто вказати очевидне.
Використовуйте наступну команду. Він має кращий вихід:
apt-cache policy <Package Name>
Для Ubuntu 16.04 та пізніших версій існує коротший спосіб зробити це:
apt policy <Package Name>
apt-cache policyдив. Також superuser.com/a/236605/61370
apt-cache policyце добре, але іноді вам потрібно apt-cache showpkgпорівнювати суми MD5 з пакету. Дивіться такожdebsums --changed
policyваріант є найбільш корисним при порівнянні зsources.list
apt policy <package-name>можна використовувати ще простіше , починаючи з 16.04LTS. Після того, як 14.04LTS стане EOL'd у 2018 році, ця відповідь може бути відредагована для використання новішої команди.
apt на Ubuntu 16.04+Крім того apt-cache policy, showpkgі showтепер у нас є більш простий, легко запам'ятовується підкоманди: apt(не плутати з класичним apt-*):
apt policy <package>
Або альтернатива з додатковою інформацією apt show <package>- рядок, що починається з "APT-Sources:" .
Опис: Цей пакет містить інструменти командного рядка для пошуку та управління, а також запит інформації про пакунки як доступ низького рівня до всіх функцій бібліотеки libapt-pkg. До них відносяться: apt-get, apt-cache, apt-cdrom, apt-config, apt-key.
apt --helpІнші також легко запам’ятовуються підкоманди:
apt list - список пакетів на основі назв пакетівapt search - пошук в описах пакетівapt show - показати деталі пакетаapt update - оновити список доступних пакетівapt install - встановити пакетиapt remove - видалити пакетиapt purge- видаліть пакунки та файли конфігурації :
Вилучення пакету видаляє всі упаковані дані, але зазвичай залишає невеликі (модифіковані) файли конфігурації користувача, якщо вилучення трапилося випадково. Просто видача запиту на встановлення випадково видаленого пакета відновить його функцію, як і раніше в цьому випадку. З іншого боку, ви можете позбутися цих залишків, зателефонувавши до очищення навіть на вже вилучені пакети. Зауважте, що це не впливає на будь-які дані чи конфігурацію, що зберігаються у вашому домашньому каталозі.
apt upgrade - оновити систему, встановивши / оновивши пакети
apt full-upgrade - оновити систему шляхом видалення / встановлення / оновлення пакетівapt edit-sources - редагувати файл вихідної інформаціїapt policy xxxвидається ідентичним apt-cache policy xxx, можливо, це міг бути замість цього коментарем. Або принаймні згадати, що, apt showздається, потрібен -aкомутатор, щоб побачити "додаткові записи" з інших джерел
На жаль, ця інформація не записується під час встановлення пакета. Ви можете зробити гідну здогадку, якщо сховище все ще знаходиться у списку джерел, а сховище все ще має пакет:
grep -l PKG /var/lib/apt/lists/*
Навіть синаптичний не може визначити, якщо ви вимкнете сховище та оновлення.