Каждый современный человек владеет ноутбуком, но как самому убрать возникающие...
Иногда возникают ситуации, когда нужно узнать какие пакеты установлены в системе. Это может понадобиться если вы хотите сделать резервную копию установленных пакетов, проверить их целостность, перенести все пакеты в другую систему и для решения многих других задач. В Debian для этого можно использовать несколько методов.
В сегодняшней статье мы рассмотрим как посмотреть список установленных пакетов Debian с помощью терминала, в интерфейсе curses, а также в графическом интерфейсе. Такие списки можно использовать не только для резервного копирования, но и для того, чтобы просто перебрать и удалить ненужные программы, тем самым очистив систему от мусора.
Самый первый способ посмотреть установленные пакеты 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:
dpkg-query -f "${binary:Package}\n" -W
Третий метод - это утилита apt, которой мы привыкли пользоваться для установки приложений, она имеет команду list:
apt list --installed
apt list --installed | grep python
Мы более подробно рассматривали apt в статье . Еще одна интересная возможность apt - посмотреть какие пакеты были установлены вручную. Для этого наберите:
apt-mark showmanual
И еще один вариант с использованием apt:
apt-cache pkgnames
Утилита для управления пакетами aptitude тоже позволяет вывести список установленных пакетов:
aptitude search "~i!~M"
Также aptitude может работать в режиме curses, что очень удобно:
Последний способ посмотреть список установленных пакетов - это файл /var/lib/apt/extended_states. Это база данных, в которой содержится установленные программы debian в таком формате:
Package: имя_пакета
Architecture: архитектура
Auto-Installed: 0_или_1
cat /var/lib/apt/extended_states
Восстановление списка установленных пакетов
Многие пользователи создают список пакетов не просто чтобы посмотреть, а для будущего восстановления. Если вы делали список с помощью dpkg, то его можно очень просто восстановить в системе с помощью аналогичной команды:
sudo dpkg --clear-selections
$ sudo dpkg --set-selections < mylist.txt
Все очень просто. Чтобы установить пакеты после добавления их в список используйте команду:
sudo apt dselect-upgrade
Если же у вас просто есть список имен пакетов, то восстанавливать его нужно немного по-другому. Просто передайте все эти имена команде apt для установки:
xargs < mylist.txt apt install -y
Выводы
В этой статье мы рассмотрели как посмотреть список установленных пакетов Debian. Это может быть очень полезно и выполняется достаточно просто. Надеюсь, эта информация была полезной для вас.
Advanced Packaging Tool – набор утилит для управления программными пакетами в операционных системах основанных на Debian. APT предоставляет дружественную надстройку над DPKG и позволяет:
Устанавливать, удалять и обновлять пакеты
Решать зависимости
Искать пакеты по заданным критериям
Просматривать подробную информацию о пакете
Манипулировать ключами от репозиториев
APT является одной из базовых программ и включена в состав Ubuntu.
Настройки
Все файлы настроек APT хранятся в директории /etc/apt .
apt.conf
/etc/apt/apt.conf – основной файл настроек, используемый всеми инструментами из состава APT. Описание всех возможных настроек и опций можно прочитать в документации к нему:
man apt.confapt.conf.d
Директория содержащая в себе файлы конфигурации, аналогичные по синтаксису. При помощи этой директории можно быстро и удобно манипулировать настройками APT добавляя или удаляя подготовленные файлы с настройками.
auth.conf
sources.list
sources.list.d
Директория с файлами репозиторий, по назначению аналогичных sources.list. Каждый репозиторий описывается в отдельном файле.
Использование
В APT входит несколько утилит, выполняющих отдельные задачи.
Начиная с версии Ubuntu 16.04 доступна новая утилита apt , которая содержит наиболее часто используемые команды из apt-get и apt-cache . Утилита apt предназначена для пользователей, в то время как apt-get можно рассматривать как как инструмент более низкого уровня.
apt-get
apt-get это утилита управления пакетами. apt-get требует прав суперпользователя для своей работы.
Основные команды:
Update - Обновить информацию о пакетах, содержащихся в репозиториях.
Install foo - Установить пакет foo. Скачивание, установка и настройка происходят автоматически. Если для настройки пакета foo нужны дополнительные сведения, будет показан запрос к пользователю.
Upgrade - Обновление пакетов, для которых в репозитории доступны новые версии.
Dist-upgrade - Обновление пакетов, требующих разрешения зависимостей (установка дополнительных или удаление конфликтующих пакетов).
Remove foo - Удаление пакета foo из системы.
Purge foo - Удаление пакета foo и очистка системы от его конфигурационных файлов. Файлы настроек в домашних каталогах пользователей удалены не будут .
Autoremove - Удаление пакета, который более не нужен в системе. Используется для очистки системы от ненужных пакетов. Факт, что пакет более не нужен, определяется следующим образом: если пакет был установлен не сам по себе, а как зависимость для другого пакета, который впоследствии был удалён, значит этот пакет тоже уже не нужен в системе.
Source foo - Получение исходных текстов пакета foo.
Ubuntu 16.04 уже вышла и предоставляет своим пользователям много очень интересных изменений, таких как поддержка файловой системы BSD - ZFS, поддержка новой технологии установки пакетов - snap и много других. Но одна вещь, о которой вы, скорее всего, еще не слышали, потому что такие мелочи часто теряются - это apt.
Что такое apt? Это новый менеджер пакетов для Ubuntu, готовый взять на себя работу apt-get. Он разрабатывался, чтобы быть более дружелюбным, эффективным и безопасным. Так что же задумали в Canonical представляя новый пакетный менеджер? Есть ли на самом деле отличия apt vs apt-get? Это мы и будем выяснять в сегодняшней статье.
Apt был реализован, чтобы упростить работу с менеджером пакетов и объединить несколько команд в одну. Функционал apt-get был переработан, таким образом, чтобы правильно работать в apt.
Несмотря на то что эти новые команды созданы, чтобы работать аналогично apt-get, но они основаны на новом коде, для взаимодействия с пакетами.
Основной причиной введения apt, является сама суть Ubuntu - простота и удобство использования. Хотят ли люди признавать или нет, но apt-get - устаревший инструмент и практичность его применения очень сомнительна. Apt был разработан с нуля, чтобы быть еще эффективнее, он предназначен быть приятным для новых пользователей.
Apt vs Apt-get. В чем различия?
Apt или apt-get. Так в чем же разница между этими двумя решениями? Для начала вам больше не нужно использовать apt-get autoremove, чтобы очистить кеш пакетов. Также вам не нужно вводить apt-cache search для поиска пакетов.
Эти команды были заменены на apt search и apt remove. Главное отличие apt - в том, что оно заменяет все команды apt-get, apt-cache и т д. Вся функциональность объедениена в одной утилите.
Хотя это не единственное отличие, от apt-get. Здесь улучшены прогресс бары установки программного обеспечения. Также поддерживаются некоторые дополнения, которые делают утилиту умнее предыдущей. Например, при обновлении источников программного обеспечения с помощью apt-get нет простого способа посмотреть список пакетов доступных к обновлению. Вы можете просто выполнить sudo apt-get update, а затем:
sudo apt list-upgradable
Конечно, мелочи, но приятно. Также были добавлены новые, современные цвета вывода, и в целом установка пакетов проходит быстрее. Canonical не спешит отказываться от apt-get, но они сделают это позитивным изменением.
Новые команды Apt
Вот список поддерживаемых apt команд, взятый прямо из вывода --help. Эти команды очень похожи на реализацию apt-get и apt-cache, но более упорядочены и сгруппированы.
Основные команды:
- list - список пакетов
- search - поиск пакетов по имени
- show - показать подробную информацию о пакете
- update - обновить списки доступных пакетов
- install - установить пакет
- remove - удалить пакет
- upgrade - установить доступные новые версии пакетов
- full-upgrade - полное обновление системы
- edit-sources - редактировать файл источников программного обеспечения
Более подробную информацию вы найдете, выполнив man apt в терминале. Хранящаяся там информация поможет вам досконально изучить новую утилиту.
Выводы
Apt-get проверенная и надежная часть менеджера программного обеспечения. Этот инструмент используется на протяжении большого времени и поставляется по умолчанию во многих релизах Ubuntu и Debian. Мы всегда его использовали когда нужно было обновить что-то, обновить программное обеспечение или даже просто очистить систему от мусора.
Тем не менее она устаревает. Менеджер пакетов уже не отвечает всем потребностям пользователей, а поэтому он медленно заменяется на apt. Разработчики Ubuntu понимают, что им нужно обновить свой пакетный менеджер, сделать его более простым, элегантным и безопасным. Но пока в системе существуют обе утилиты и выбирать что использовать apt или apt-get предстоит вам. Будете ли вы использовать новый менеджер пакетов? Или уже используете?
APT (Advanced Packaging Tool ) – это утилита в Debian -подобных системах, выполняющая установку, обновление пакетов и отслеживание их зависимостей. Целью создания программы была автоматизация процесса управления пакетами, в частности обновление и обслуживание зависимостей, что в случае прямой работы с менеджером dpkg происходило в ручном режиме. Непосредственно манипуляции с пакетами выполняются при помощи программы apt-get , основные команды для работы с которой будут рассмотрены ниже.
Общая структура команды apt-get
apt-get [опции] команда пакет1 пакет2 … пакетNПриведенные ниже опции могут быть полезными при работе с apt-get :
Обновление списка доступных для установки пакетов
Выполняется данное действие при помощи команды:
Apt-get update
Обновление списка особо важно, если необходимо установить наиболее свежую и стабильную версию пакета. При выполнении этой команды, программа просматривает архивы, указанные в файле /etc/apt/sources.list .
Установка пакета
Для того, чтобы установить какой-либо пакет, используется команда:
Apt-get install packagename
В результате, APT произведет поиск свежей версии указанного пакета и проверит, есть ли зависимости у него. В случае наличия зависимостей, будет выведен их список и предложение установки.
Root@vps:~# apt-get install aee Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 The following NEW packages will be installed: aee libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 0 upgraded, 6 newly installed, 0 to remove and 44 not upgraded. Need to get 181 kB/1297 kB of archives. After this operation, 4366 kB of additional disk space will be used. Do you want to continue ?
В случае отсутствия зависимостей, процесс установки произойдет автоматически без вывода каких-либо вопросов.
Также, в момент ввода команды для установки пакетов можно указать названия пакетов, которые необходимо удалить. Для этого в конце имени удаляемого пакета необходимо добавить дефис. Пример такого способа установки/удаления приведен ниже:
Root@vps:~# apt-get install aee htop- Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 The following packages will be REMOVED: htop The following NEW packages will be installed: aee libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 0 upgraded, 6 newly installed, 1 to remove and 43 not upgraded. Need to get 1297 kB of archives. After this operation, 4157 kB of additional disk space will be used. Do you want to continue ?
Как видно из примера, пакет aee подготовлен для установки, а пакет htop – для удаления.
Переустановка пакета
При возникновении необходимости переустановки пакета (повреждение файлов, появление более новой версии), её можно выполнить при помощи следующей команды:
Apt-get --reinstall install packagename
Удаление пакета
Есть два варианта удаления пакетов:
- Удаление пакета за исключением конфигурационных файлов (если есть).
Обычно данный вариант может потребоваться в случае, если в дальнейшем планируется повторная установка этого пакета. Такой способ удаления выполняется командой:
Apt-get remove packagename
Стоит также отметить, что если удаляемый пакет имеет зависимости, то он будет удален вместе с ними.
- Полное удаление пакета
В отличие от первого способа, будут удалены все файлы, которые имеют отношение к удаляемому пакету, включая и конфигурационные. В этом случае, используется команда:
Apt-get --purge remove packagename
Пакеты, которые отмечены для полного удаления, имеют в конце своего названия символ «*»
- Удаление и установка в одной команде
Помимо этого, при удалении можно отметить перечень пакетов для установки. Для этого необходимо указать “+ ” в конце названия пакета. Пример такой команды приведен ниже:
Root@vps:~# apt-get --purge remove aee screen+ Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: aee* The following NEW packages will be installed: screen 0 upgraded, 1 newly installed, 1 to remove and 43 not upgraded. Need to get 624 kB of archives. After this operation, 975 kB of additional disk space will be used. Do you want to continue ?
Обновление пакетов
Apt-get update
Это позволит актуализировать информацию о доступных пакетах и их версиях. После выполнения этой команды можно приступить непосредственно к обновлению установленных пакетов в системе. Делается это командой:
Apt-get -u upgrade
Указанный параметр -u используется для того, чтобы получить полный список пакетов, которые будут подготовлены для обновления.
Обновление версии дистрибутива
В случае появления новой версии установленного у вас ОС, то можно выполнить «апгрейд» целиком всей системы при помощи команды.