Поиск среди установленных пакетов 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Поиск среди установленных пакетов



Чтобы найти установленный пакет используйте маску пакета после ключа --get-selections. Опять, вы увидите не только установленные пакеты, но и удаленные с сохранением настроек пакеты:

dpkg --get-selections libz*

Так же, как и в предыдущем примере, допускается использование ключей awk.

 

Вывод установленных пакетом файлов

Чтобы получить список файлов, которые установил определенный пакет, используйте ключ -L команды dpkg:

Dpkg -L package

Вы получите список абсолютных путей к файлам. Файлы настроек, которые были созданы в процессе работы, отображаться не будут.

Поиск пакета, установленного по адресу

Чтобы понять какой пакет установил интересующий вас файл, вы можете использовать команду dpkg с ключом -S:

Вы увидите название пакета, ответственного за файл:

Dpkg -S /path/to/file

Не забывайте, что это связка работает только для файлов, созданных в процессе установки.

Обнаружение пакета, ответственного за файл, без его установки

При помощи ключа -S довольно легко определить какому пакету принадлежит файл. Но иногда вам необходимо знать какой пакет даст вам определенный файл или команду, до установки самого пакета.

Для этого вам понадобится утилита apt-file. Она поддерживает базу связки файлов и пакетов.

Установить её можно следующим образом:

Sudo apt-get update

Sudo apt-get install apt-file

Затем обновите базу данных утилиты и приступайте к поиску:

Sudo apt-file update

Sudo apt-file search /path/to/file

Такой метод подходит только для файлов, созданных в процессе установки.

Передача списка пакетов между системами

Иногда вам приходится создавать системы с одинаковым набором пакетов. В таком случае можно экспортировать список установленных пакетов на одной машине и использовать её на другой. Такой подход также можно использовать при создания резервных копий. В этом разделе мы рассмотрим методы создания списков пакетов.

Экспорт списка пакетов

Для начала вам понадобится создать список пакетов. Получить такой список можно при помощи команды dpkg --get-selections:

dpkg --get-selections > ~/packagelist.txt

Этот список позднее можно скопировать на другую машину и импортировать. Также имеет смысл сохранить список хранилищ и ключей к ним. Для этого создайте каталог для хранения необходимых файлов и просто скопируйте её:

mkdir ~/sources

cp -R /etc/apt/sources.list* ~/sources

Экспортировать ключи можно следующим образом:

apt-key exportall > ~/trusted_keys.txt

Все созданные файлы теперь можно перенести на другую машину.

Импорт списка пакетов

Если вы создали список пакетов, как описано выше, то импортировать его вы можете так же при помощи команды dpkg.

Для начала надо добавить ключи и списки репозиториев. Если все файлы находятся в домашнем каталоге, то достаточно будет выполнить следующие команды:

sudo apt-key add ~/trusted_keys.txt

sudo cp -R ~sources/* /etc/apt/

Теперь обнулите состояние не основных пакетов в системе. То есть изменения надо наносить на свежие пакеты. Команда должна быть выполнена с правами администратора:

Sudo dpkg --clear-selections

Таким образом вы отметите все неважные пакеты для удаления. Теперь следует обновить кэш пакетов, чтобы установить последние версии. Самой установкой займется утилита под названием dselect.

Убедитесь в том, что она установлена и обновите её БД:

Sudo apt-get update

Sudo apt-get install dselect

Sudo dselect update

Теперь мы можем применить наш список пакетов поверх имеющегося:

sudo dpkg --set-selections < packagelist.txt

Эта команда установит нужные состояния для интересующих нас пакетов. Чтобы применить изменения выполните следующую команду:

sudo apt-get dselect-upgrade

Она загрузит, установит и удалит все необходимые пакеты. В итоге вы должны получить полный аналог предыдущей машины, за исключением файлов настроек, которые следует скопировать или изменить отдельно.

 



Поделиться:


Последнее изменение этой страницы: 2021-03-09; просмотров: 136; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.149.251.154 (0.009 с.)