Debian посмотреть файлы пакета

Обновлено: 04.07.2024

Это известная тема, и мы можем написать так много статей, потому что большую часть времени мы будем придерживаться менеджеров пакетов по многим причинам.

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

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

Основными менеджерами пакетов CLI для Linux являются Yum, Dnf, Rpm, Apt, Apt-Get, Deb, pacman и zypper.

В качестве системного администратора вы должны знать, откуда идут пакеты, какой репозиторий, версия пакета, размер пакета, выпуск, URL-адрес источника пакета, информация о лицензии и т. д.

Это поможет вам понять использование пакета простым способом, так как оно идет с описанием пакета.

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

Команда YUM: просмотр информации о пакете на системах RHEL и CentOS

Yum является основным инструментом для получения, установки, удаления, запросов и управления пакетами RPM из репозиториев дистрибутива, а также других сторонних репозиториев.

Команда YUMDB: просмотр информации о пакете на системах RHEL & CentOS

Yumdb предоставляет информацию, аналогичную информации yum, но дополнительно предоставляет данные контрольной суммы пакета, тип, информацию о пользователе (кто установил пакет).

Поскольку yum 3.2.26 yum начал хранить дополнительную информацию за пределами базы данных rpm (где пользователь указывает, что она была установлена пользователем, а dep означает, что она была введена как зависимость).

Команда RPM: просмотр информации о пакете в системах RHEL / CentOS / Fedora

Утилита позволяет вам устанавливать, обновлять, удалять, запрашивать и проверять программное обеспечение на вашей системе Linux / сервере.

Файлы RPM поставляются с расширением .rpm. RPM-пакет, построенный с использованием требуемых библиотек и зависимостей, которые не конфликтуют с другими пакетами, были установлены в вашей системе.

Команда DNF: просмотр информации о пакете в системе Fedora

DNF означает Dandified yum.

Мы можем сообщить DNF, следующее поколение менеджера пакетов yum (Fork of Yum), используя библиотеку hawkey / libsolv для бэкэнд.

Aleš Kozumplík начал работать над DNF с Fedora 18 и, наконец, был реализован в Fedora 22.

Команда Dnf используется для установки, обновления, поиска и удаления пакетов в Fedora 22 и более поздних версиях системы.

Она автоматически разрешает зависимости и упрощает установку пакета без каких-либо проблем.

Команда Zypper: просмотр информации о пакете на системе openSUSE

Команда pacman: просмотр информации о пакете на Arch Linux и Manjaro

Pacman использует библиотеку libalpm (библиотека управления пакетами Arch Linux (ALPM)), чтобы выполнять все действия.

Команда Apt-Cache: просмотр информации о пакете в системах Debian / Ubuntu / Mint

Команда apt-cache может отображать большую часть информации, хранящейся во внутренней базе данных APT.

Эта информация является своего рода кешем, поскольку она собирается из разных источников, перечисленных в файле sources.list. Это происходит во время операции обновления apt.

Команда APT: просмотр информации о пакете в системах Debian / Ubuntu / Mint

APT означает Advanced Packaging Tool (APT), который является заменой apt-get, например, как DNF появился вместо YUM.

Это многофункциональные средства командной строки, включающие все фьючерсы в одной команде (APT), такие как apt-cache, apt-search, dpkg, apt-cdrom, apt-config, apt-key и т. д,. и несколько других уникальных функций.

Например, мы можем легко установить пакеты .dpkg через APT, но мы не сможем выполнить через Apt-Get аналогичные дополнительные функции, включенные в команду APT. APT-GET заменен APT Из-за блокировки фьючерсов, отсутствующих в apt-get, которая не была решена.

Команда dpkg: просмотр информации о пакете в системах Debian / Ubuntu / Mint

dpkg означает менеджер пакетов Debian (dpkg).

Другие утилиты, такие как dpkg-deb и dpkg-query, используют dpkg в качестве интерфейса для выполнения некоторых действий. В настоящее время большинство администраторов используют Apt, Apt-Get & Aptitude для управления пакетами без головной боли и ее надежного управления.

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

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

Команда Aptitude: просмотр информации о пакете в системах Debian / Ubuntu / Mint

Он позволяет пользователю просматривать список пакетов и выполнять задачи управления пакетами, такие как установка, обновление и удаление пакетов.

Действия могут выполняться из визуального интерфейса или из командной строки.

Иногда возникают ситуации, когда нужно узнать какие пакеты установлены в системе. Это может понадобиться если вы хотите сделать резервную копию установленных пакетов, проверить их целостность, перенести все пакеты в другую систему и для решения многих других задач. В Debian для этого можно использовать несколько методов.

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

Список установленных пакетов Debian

Самый первый способ посмотреть установленные пакеты Debian, это утилита dpkg. Она может применяться не только в Debian, а во всех, основанных на нем дистрибутивах:

dpkg --get-selections | grep -v deinstall


Полученный список можно сразу же сохранить в файл, чтобы потом его использовать:

dpkg --get-selections | grep -v deinstall > mylist.txt


Можно также убрать всю лишнюю информацию и сохранить только имена пакетов:

dpkg -l | grep ^ii | awk '< print $2>' > mylist.txt


Следующий способ решения этой задачи - использование утилиты dpkg-query. Она похожа на предыдущий вариант, но немного проще. Такая команда отобразит все установленные пакеты вместе с информацией о них:


Здесь тоже можно выбрать только имена пакетов с помощью опции -f:


Третий метод - это утилита apt, которой мы привыкли пользоваться для установки приложений, она имеет команду list:

apt list --installed


Далее, можно отфильтровать только пакеты, имя которых содержит определенные символы:

apt list --installed | grep python


Мы более подробно рассматривали apt в статье установка пакетов в Debian. Еще одна интересная возможность apt - посмотреть какие пакеты были установлены вручную. Для этого наберите:


И еще один вариант с использованием apt:

Утилита для управления пакетами aptitude тоже позволяет вывести список установленных пакетов:


Также aptitude может работать в режиме curses, что очень удобно:


Последний способ посмотреть список установленных пакетов - это файл /var/lib/apt/extended_states. Это база данных, в которой содержится установленные программы debian в таком формате:


Восстановление списка установленных пакетов

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

sudo dpkg --clear-selections
$ sudo dpkg --set-selections < mylist.txt

Все очень просто. Чтобы установить пакеты после добавления их в список используйте команду:

sudo apt dselect-upgrade

Если же у вас просто есть список имен пакетов, то восстанавливать его нужно немного по-другому. Просто передайте все эти имена команде apt для установки:

xargs < mylist.txt apt install -y

Выводы

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

На завершение видео про установку и удаление пакетов:

man - эта команда выводит справочную информация по нужной вам команде, такую как синтаксис, ключи, описание и т.д. Синоним info.
sudo - переход в режим суперпользователя (после первой команды sudo необходимо ввести пароль пользователя).
Для запуска в терминале команды с правами администратора просто наберите перед ней sudo. Пример: sudo reboot

Команды для работы с файлами

pwd – показать текущий каталог
cd - переход в заданную папку
ls - показывает список файлов текущей папки, с ключом -l показывает дополнительные сведения о файлах
cp - копирование файлов/папок
mv - перемещение файлов/папок
rm - удаление файлов/папок, с ключем -R удаляет и все вложенные папки
mkdir - создать папку
rmdir - удаление пустой папки
chmod - изменить права доступа к файлу.

Команды для работы с пакетами

Это одна команда (утилита) с разными ключами.
apt-get update - обновление информации о пакетах из репозиториев
apt-get upgrade - обновление всех пакетов
apt-get clean - очищает локальный репозиторий, т.е. удаляет всё, что вы ранее скачивали. Очень полезно иногда прогонять для очистки диска.
apt-get autoremove - удаление ранее скачаных, но более ненужных пакетов
apt-get remove - удаление пакета из системы, с сохранением его конфигурационных файлов
apt-get purge - удаление пакета со всеми зависимостями
apt-get install - установка пакета.

Управление процессами

ps - показывает текущие активные процессы
kill - команда отправляет сигнал прекращения работы тому или иному процессу, используется для прекращения работы зависшего приложения
killall - прекращение работы всех процессов, соответствующих заданным параметрам
top - интерактивный список текущих процессов, отсортированных по % использования центрального процессора.

Сетевые команды

ifconfig - выводит информацию о сетевых интерфейсах (в windows используется ipconfig)
pppoeconf - комманда настройки подключения к интернет
ping host – пропинговать host и вывести результат
whois domain – получить информацию whois для domain
route host - показать путь прохождения пакетов, от вас к host
wget file – скачать file
ssh user@host – подключится к host как user
ufw enable - включить фаервол
ufw disable - выключить фаервол.

Вот некоторые из проблем, с которыми сталкивается пользователь FreeBSD:

  • Необходимо следить за /usr/ports/UPDATING и периодически выполнять описанные там действия;
  • Софт во FreeBSD зачастую обновляется не так быстро, как в Linux;
  • Не всякий софт во FreeBSD доступен в виде бинарного пакета, вспомним хотя бы OpenOffice;
  • А некоторого софта вообще нет (из недавнего припоминаю wxFormBuilder);
  • Иногда удивляют опции, с которыми были собраны бинарные пакеты (так бинарный пакет Perl собран без поддержки нитей);
  • Заморочки с лицензиями, например, при установке шрифтов или софта, написанного на Java;
  • Удаление пакетов, ставших ненужными, автоматизировано лишь частично (в утилите pkg_cleanup);

А вот пользователи Debian и основанных на нем дистрибутивах с этими проблемами не сталкиваются. Все управление пакетами в Debian происходит с помощью следующих простых команд.

Обновление базы доступных пакетов:

Пакеты можно искать через веб-интерфейс или с помощь команды:

Просмотр дополнительной информации о пакете:

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

Даунгрейд или установка определенной версии:

Если не переустанавливается, можно попробовать так (осторожно, временно ломаются зависимости):

sudo dpkg --purge --force-depends имя_пакета
sudo apt-get install имя_пакета

Обновление всех пакетов (с подробностями):

Запретить/разрешить обновление конкретного пакета:

sudo apt-mark hold имя_пакета
sudo apt-mark unhold имя_пакета

Посмотреть список пакетов на холде:

Проверка контрольных сумм установленных пакетов:

Список установленных пакетов и поиск по нему:

Удаление вместе с файлами конфигурации:

Удаление пакетов, которые были установлены в качестве зависимостей и более не требуются:

Чистка кэша deb-пакетов (каталог /var/cache/apt/archives/):

Иногда нужно определить, к какому пакету относится файл. Данную задачу можно решить так:

А еще можно получить список всех файлов, содержащихся в пакете:

В общем, все легко и просто, если не считать пары моментов. Во-первых, иногда требуется установить какой-нибудь экспериментальный пакет (из ветки sid). Для этого нужно открыть файл /etc/apt/sources.list и дописать в него строчку:

Во-вторых, некоторые пакеты тянут за собой слишком много лишнего софта. Например, mail-notifications тянет за собой postfix и требует его настроить. Для решения это проблемы следует прописать в /etc/apt/apt.conf следующее:

После чего все должно пройти как по маслу:

sudo apt-get update
sudo apt-get install mail-notification

Альтернативное решение, не требующее правки apt.conf:

sudo apt-get --no-install-recommends install mail-notification

Бывает еще так, что нужно создать резервную копию уже установленного пакета. Например, если он по каким-то причинам был удален из репозитория. Такое иногда бывает в случае со внутренними репозиториями компании. Решается эта проблема так:

sudo apt-get install dpkg-repack
sudo dpkg-repack имя_пакета

Из приятных фишек Debian/Ubuntu мне особенно хотелось бы отметить умение выводить суммарный размер пакетов при их установке/удалении, а также способность делать так:

$ dia
Приложение 'dia' может быть найдено в следующих пакетах:
* dia-gnome
* dia
Попробуйте: sudo apt-get install <выбранный пакет>

Чтобы такая же фишка появилась в zsh, нужно прописать в

Также вас могут заинтересовать следующие ссылки:

Следует отметить, что активно пользоваться Linux я начал недавно (после многолетнего перерыва), так что если вы видите в заметке какой-нибудь косяк, не постесняйтесь сообщить о нем в комментариях. А ежели косяков не видно, тогда просто поведайте мне, пользуетесь ли вы Linux, если да, то каким, похож ли его менеджер пакетов на APT, и довольны ли вы им.

Читайте также: