Иногда возникают ситуации, когда нужно узнать какие пакеты установлены в системе. Это может понадобиться если вы хотите сделать резервную копию установленных пакетов, проверить их целостность, перенести все пакеты в другую систему и для решения многих других задач. В 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. Это может быть очень полезно и выполняется достаточно просто. Надеюсь, эта информация была полезной для вас.
Утилита apt-get – производительная свободная консольная программа, используемая и работающая с библиотекой APT (Advanced Packaging Tool) для выполнения установки новых пакетов с ПО, удаления существующих, обновления установленых, а также для обновления всей операционной системы.
Консольная утилита apt-cache используется для поиска в кеше программных пакетов APT. Говоря простыми словами, этот инструмент, используется для поиска пакетов, сбора информации о пакетах и поиска пакетов, доступных для установки в операционных системах, основанных на Debian или Ubuntu.
Как можно получить список всех доступных пакетов?
Чтобы увидеть все доступные пакеты, выполните следующую команду:
Apt-cache pkgnames
Как можно найти имя пакета и его описание.
Чтобы найти название пакета и его описание перед установкой, используйте флаг «search». Использование “search” c apt-cache отобразит список подходящих пакетов с кратким описанием. Например, вы хотите найти описание пакета vsftpd: чтобы сделать это, команда должна быть вот такой:
Apt-cache search vsftpd
Чтобы найти и перечислить все пакеты, имя которых начинается с vsftpd , вы можете использовать следующую команду:
Apt-cache pkgnames vsftpd
Как я могу просмотреть информацию о пакете?
Например, если вы хотите ознакомиться с информацией о пакете, с его кратким описанием, отображающим номер версии, контрольные суммы, размер, размер после установки, категории и так далее, вы можете использовать подкоманду «show», как показано ниже:
Apt-cache show netcat
Как можно проверить зависимости какого-либо пакета?
Чтобы проверить зависимости конкретного пакета, вы можете использовать подкоманду showpkg , чтобы узнать, установлены эти зависимости или нет. Например, используйте команду showpkg вместе с названием пакета.
Apt-cache showpkg vsftpd
Как можно просмотреть статистику кэша?
Подкоманда stats отобразит полную статистику о кеше, например, полное число пакетов, найденное в кеше. Используйте такую команду:
Apt-cache stats
Как обновить список пакетов в системе?
Команда update используется для синхронизации и обновления индексных файлов пакетов. Синхронизация происходит с источниками, указанными в файле /etc/apt/sources.list . Эту команду можно использовать, например, чтобы не упускать важные обновления пакетов.
Sudo apt-get update
Как обновить пакеты в системе?
Команда upgrade используется для обновления всего установленного на данный момент софта в вашйе системе. Иногда может получиться так, что обновление установить нельзя из-за какого-либо другого пакета, который требует старую версию.
Sudo apt-get upgrade
Но если вы хотите обновиться вне зависимости от требований пакетов, используйте подкоманду dist-upgrade:
Sudo apt-get dist-upgrade
Как я могу установить или обновить какой-либо конкретный пакет?
Подкоманда install используется для установки или обновления какого-либо пакета.
Sudo apt-get install netcat
Как я могу установить несколько пакетов сразу?
Вы можете ввести названия нескольих пакетов, чтобы установить их одновременно. Например, чтобы установить пакеты nethogs и goaccess , вы можете выполнить следующую команду:
Sudo apt-get install nethogs goaccess
Как установить несколько пакетов по «маске» названия
С помощью регулярных вырежний вы можете добавлять несколько пакетов с помощью специальных символов. Например, можно использовать звездочку, чтобы установить все пакеты, которые содержат строку «name» в названии:
Sudo apt-get install *name*
Как установить пакеты без обновления.
Использование флага –no-upgrade предотвратит обновление уже установленных пакетов.
Sudo apt-get install packageName --no-upgrade
Как только обновить определенные пакеты?
Флаг –only-upgrade не установит новые пакеты, а только обновит существующие.
Sudo apt-get install имя_пакета --only-upgrade
Как я могу установить определенную версию пакета?
Представим, что вам необходимо установить специфичную версию пакета, просто используйте знак равно вместе с именем пакета и припишите желаемую версию.
Sudo apt-get install vsftpd=2.3.5-3ubuntu1
Как удалить пакеты без удаления настроек?
Чтобы удалить программные пакеты без удаления их конфигурационных файлов (для дальнейшего их использования), используйте команду remove как показано.
Sudo apt-get remove vsftpd
Как полностью удалить пакеты?
Чтобы удалить пакет вместе с его файлами настроек, используете подкоманду purge , как показано ниже.
Sudo apt-get purge vsftpd
Или вы можете объединить обе команды, вот так:
Sudo apt-get remove --purge vsftpd
Как можно очистить место на диске?
Команда clean используется для освобождения дискового пространствва за счет удаления полученных.deb-файлов пакетов в вашем локальном репозитории.
Sudo apt-get clean
Как только загрузить исходный код пакета?
Чтобы только загрузить исходный код пакета, вы можете использовать опцию –download-only source с именем пакета, например:
Sudo apt-get --download-only source vsftpd
Как можно загрузить и распаковать пакет?
Чтобы загрузить и распаковать исходный код пакета в специальную директорию, выполните следующую команду:
Sudo apt-get source vsftpd
Как можно загрузить, распаковать и скомпилировать исходный код пакета?
Вы также можете загрузить, распаковать и скомпилировать исходный код пакета, используя опцию ‘–compile‘, как показано ниже:
Sudo apt-get --compile source goaccess
Как загрузить пакет без установки
Используя опцию «download», вы можете загрузить любой пакет, не устанавливая его. Например, следующая команда только загрузит пакет nethogs в текущую рабочую директорию.
Sudo apt-get download nethogs
Как можно просмотреть лог изменений (changelog) пакета?
Флаг changelog загружает лог изменений пакета и отображает версию пакета, если он установлен.
Sudo apt-get changelog vsftpd
Как можно исправить сломанные зависимости?
Команда «check» – инструмент для диагностики, он используется для обновления кеша пакетов и проверки на сломанные зависимости.
Sudo apt-get check
Как можно найти и собрать зависимости?
Команда build-dep ищет и устанавливает собранные зависимости нужного пакета. Если пакет отсутствует в локальном репозитории, вы получите ошибку.
Sudo apt-get build-dep netcat
Как можно автоматически очистить кеш Apt-Get?
Команда autoclean удаляет все.deb-файлы из /var/cache/apt/archives для освобождения свободного места на жестком диске.
Sudo apt-get autoclean
Как можно автоматически удалить ненужные пакеты?
Подкоманда autoremove используется для автоматического удаления пакетов, которые были установлены как зависимости других, но сейчас они больше не нужны. Например, следующая команда удалит установленный пакет вместе с его зависимостями.
Sudo apt-get autoremove vsftpd
Информация любезно предоставлена сайтом . Спасибо.
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-Get?
Apt – программа пользовательского интерфейса командной строки для упаковочной системы dpkg, использование которой является предпочтительным способом управления программным обеспечением из командной строки для любого дистрибутива. Это основная система управления пакетами в Debian и дистрибутивах Linux на базе Debian, таких как Ubuntu.
В то время как инструмент «dpkg» формирует базовый упаковочный уровень, apt-get и apt-cache предоставляют удобные интерфейсы и осуществляют обработку зависимостей. Это позволяет пользователям просто и рационально управлять большим количеством программного обеспечения.
Данное руководство говорит об основном использовании «apt-get» и «apt-cache» и их возможностях в управлении ПО. Все примеры рассматриваются на облачном сервере Ubuntu 12.04, но описанные действия и техники можно выполнить на любом дистрибутиве, основанном на Debian.
Обновление базы данных пакета с Apt — Get
Apt-get работает с базой данных известного и доступного программного обеспечения. Данная команда выполняет установку, поиск пакетов, а также другие действия, связанные с этой базой данных.
Поэтому прежде чем начать любую упаковочную операцию с apt-get, нужно убедиться в наличии новейшей локальной копии базы данных.
Обновить базу данных можно с помощью следующей команды. Apt-get требует административных привилегий при исполнении большинства операций:
sudo apt-get update
Будет выведен список серверов, из которых извлекается информация. После этого база данных обновится.
Обновление установленных пакетов с помощью Apt — Get
Пакеты системы можно обновить при помощи следующей команды:
sudo apt-get upgrade
Для более полного обновления используйте аргумент «dist-upgrade», который решает интеллектуальные зависимости новых пакетов и обновляет необходимые программы за счет менее важных:
sudo apt-get dist-upgrade
Установка новых пакетов с Apt — Get
Если имя пакета, который нужно установить, известно, то его можно установить с помощью следующего синтаксиса:
sudo apt-get install package1 package2 package3 ...
Можно также установить несколько пакетов за один раз, что позволяет получить все необходимое для проекта программное обеспечение за один шаг.
Важно понимать, что apt-get устанавливает не только запрашиваемое ПО, но также программы, необходимые для его установки или запуска.
К примеру, полный пакет текстового редактора «vim» можно установить, введя:
sudo apt-get install vim
Удаление пакета с Аpt-Get
Чтобы удалить пакет можно использовать следующую команду:
sudo apt-get remove package_name
Данная команда удаляет пакеты, но сохраняет конфигурационный файл, на случай, если пакет снова будет установлен. Таким образом, настройки останутся невредимыми, даже если программа не установлена.
Если конфигурационный файл не нужно хранить, его можно удалить вместе с программой, используя синтаксис:
sudo apt-get purge package_name
Данное действие удаляет любой конфигурационный файл, связанный с пакетом.
Чтобы удалить какой-либо ненужный пакет, установленный автоматически для поддержки другой программы, введите следующее:
sudo apt-get autoremove
Также можно указать имя пакета после команды «autoremove», чтобы удалить пакет и его зависимости.
Общие флаги Apt — Get
Существует ряд различных опций, которые можно указать при помощи флагов. Рассмотрим некоторые из них.
Чтобы осуществить «пробный прогон» процедуры с целью узнать ее действие, можно использовать флаг «-s» («simulate»):
sudo apt-get install -s htop
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
strace ltrace
The following NEW packages will be installed:
htop
0 upgraded, 1 newly installed, 0 to remove and 118 not upgraded.
Inst htop (1.0.1-1 Ubuntu:12.04/precise )
Conf htop (1.0.1-1 Ubuntu:12.04/precise )
На месте фактических действий можно увидеть разделы«Inst» и «Conf», которые указывают на локацию, куда пакет буде установлен и сконфигурирован, если убрать флаг «-s».
При необходимости настроить автоматическое подтверждение выбора, можно использовать флаг «-у», что автоматически отвечает «да» на все вопросы.
sudo apt-get remove -y htop
Если нужно скачать пакет, но не устанавливать его, можно выполнить следующую команду:
sudo apt-get install -d packagename
Данные файлы будут расположены в «/var/cache/apt/archives».
При необходимости подавить результаты можно использовать флаг «-qq»:
sudo apt-get remove -qq packagename
Поиск пакета с помощью Apt — Cache
Инструмент упаковки «apt», на самом деле, является набором связанных бесплатных инструментов, которые используются для управления программным обеспечением системы.
В то время как «apt-get» используется для обновления, установки и удаления пакетов, «apt-cache» используется для запроса информации в базе данных пакетов.
Чтобы найти нужные пакеты, можно использовать следующую команду. Обратите внимание, apt-cache обычно не требует административных привилегий.
apt-cache search what_you_are_looking_for
К примеру, если нужно найти «htop», улучшенную версию «top», можно ввести следующее:
apt-cache search htop
aha - ANSI color to HTML converter
htop - interactive processes viewer
Можно искать и более общие понятия. В данном примере нужно найти программное обеспечение преобразования mp3:
apt-cache search mp3 convert
abcde - A Better CD Encoder
cue2toc - converts CUE files to cdrdao"s TOC format
dir2ogg - audio file converter into ogg-vorbis format
easytag - viewing, editing and writing ID3 tags
hpodder - Tool to scan and download podcasts (podcatcher)
id3v2 - A command line id3v2 tag editor
kid3 - KDE MP3 ID3 tag editor
kid3-qt - Audio tag editor
. . .
Просмотр информации о пакете с Apt — Cache
Для просмотра информации о пакете, включая расширенное описание, используйте следующий синтаксис:
apt-cache show package_name
Это также предоставит информацию о размере скачивания и необходимых для пакета зависимостях.
Чтобы убедиться, что пакет установлен, и узнать, какому хранилищу он принадлежит, введите:
apt-cache policy package_name
Итоги
Данное руководство предоставляет достаточно информации для управления большей частью программного обеспечения на сервере.
Хотя иногда необходимо выйти за рамки этих инструментов и доступного в репозиториях программного обеспечения, большинством операций ПО можно управлять с помощью этих команд.
Tags: ,