- Шпаргалка начинающего Debian/Ubuntu администратора по управлению пакетами
- Краткая справка Debian администратора
- Как вывести список установленных пакетов в Linux
- 1. Вывести список установленных пакетов в Arch Linux с помощью команды pacman
- 2. Список установленных пакетов в Alpine Linux с помощью команды apk
- 3. Перечислите установленные пакеты в Debian, Ubuntu с помощью команды apt
- $ apt list —installed
- 6. Перечислите установленные пакеты в RHEL, Fedora, CentOS с помощью команды dnf
- 7. Список установленных пакетов в openSUSE с помощью команды zypper
- 8. Вывести список установленных пакетов в Linux с помощью команды rpm
- 9. Список пакетов, установленных с помощью оснастки в Linux
- 10. Вывести список пакетов, установленных с помощью Flatpak в Linux
- Как получить и скопировать список установленных пакетов на Ubuntu / Debian Linux сервере
- Как сохранить список в текстовый файл
- Как установить скопированные пакеты на server2
Шпаргалка начинающего Debian/Ubuntu администратора по управлению пакетами
Долгое время меня глодало незнание того, как сделать некоторые элементарные вещи в дебиановских менеджерах пакетов, но, как часто бывает, спросить рядом было не у кого, а до написания куда-либо руки не доходили. И вот наконец вопросы вызрели и я написал свой вопрос в дебиановскую рассылку. Естественно оказалось что пропустил что-то очевидное, но и узнал много неочевидных полезностей, посему решил набросать шпаргалку, авось кому пригодится.
Краткая справка Debian администратора
Основное и общеизвестное
sudo aptitude safe-upgrade
aptitude search "?description("key_word")"
aptitude show package_name
sudo aptitude install package_name
sudo aptitude remove package_name
sudo aptitude purge package_name
aptitude autoclean # удалятся только пакеты неактуальных версий aptitude clean # очистится весь кэш
Установка отдельно скачанного/созданного пакета (для создания пакета из сторонних исходников нужно использовать утилиту checkinstall с флагом -D)
sudo dpkg -i /path/to/package.deb
man aptitude sudo aptitude install aptitude-doc-en
и смотрим документацию (/usr/share/doc/aptitude/html/en/index.html), кому быструю справку по поисковым шаблонам, тому сюда — /usr/share/doc/aptitude/html/en/ch02s04.html. Если лень ставить доку, то в сети она есть.
Вводная на Debian Wiki: wiki.debian.org/Aptitude
А теперь то что не очевидно или требует полного прочтения документации
aptitude search ?upgradable
но после его установки точно также будет себя вести и обычный update
2. Как узнать что изменилось в пакетах которые будут обновлены?
Можно пробовать
sudo aptitude changelog package_name
для каждого пакета.
Но лучше поставить apt-listchanges, тогда перед любой установкой обновлений будет показан список изменений, по умолчанию настройки не очень удобные, поэтому лучше перенастроить под себя, например, выбрать формат вывода (пока использую текст, при больших обновлениях наверно pager лучше), не слать писем, спрашивать подтверждения, выводить всю информацию. Для этого нужно запустить
sudo dpkg-reconfigure apt-listchanges
3. Что делать если обновление что-то поломало и нужно откатиться?
Отката нет, можно попробовать найти предыдущую версию пакета
sudo aptitude version package_name
sudo aptitude install package_name=version
4. Как найти все пакеты установленные вручную?
есть вариант команды (aptitude search ‘~i!~M’), но к сожалению он не даёт желаемого результата, так что вопрос остаётся открытым, есть куча способов основанных на анализе логов
/var/log/aptitude (+ ротированные куски) /var/log/installer/initial-status.gz /var/log/dpkg.log (+ ротированные куски)
но простого и готового решения нет, да информация теоретически может быть потеряна при ротациях, нужно конфигурить
5. Как посмотреть список файлов в пакете?
если пакет установлен
apt-file list package_name
alien --to-deb /path/to/file.rpm
12. Как установить пакет из testing или experimental?
На эту тему нужно писать отдельно (например так), но если кратко, то команды для этого есть
sudo aptitude -t testing package_name
sudo aptitude package_name/testing
13. Как удалить метапакет, но оставить одну из зависимостей?
придётся почитать документацию про ключ unmarkauto или глянуть сюда.
14. Как узнать что попало в файловую систему мимо системы управления пакетами?
Есть утилита cruft, хотя вопрос интерпретации результатов (файла report) пока открыт
sudo cruft -d / -r report --ignore /home --ignore /var --ignore /tmp
15. Какие есть дополнительные репозитории?
Debian — wiki.debian.org/UnofficialRepositories
Ubuntu — множество всяких PPA
16. Что есть ещё?
apt-cdrom
apt-spy
auto-apt. заметка на хабре
apt-key
apt-add-repository
Некоторые вещи умеет только apt-get
Есть альтернативные утилиты для управления пакетами, например wajig, который пытается вобрать в себя функционал всех остальных утилит.
17. Как найти пакеты зависящие от данного
apt-cache rdepends package_name
aptitude why package_name
Благодарю всех кто помог своими советами в рассылке, жж (JackYF) и хабре ( run4way, sledopit, nazarpc, AgaFonOff, amarao, traaance, adrianopol, Karamax). Замечания и дополнения приветствуются.
Как вывести список установленных пакетов в Linux
Вы могли установить много приложений в вашей системе Linux. Это краткое руководство объясняет, как вывести список всех установленных пакетов в Linux из командной строки с примерами.
Команды для отображения всех установленных пакетов различаются в зависимости от типа используемого вами менеджера пакетов. Я включил примеры команд для всех популярных менеджеров пакетов.
1. Вывести список установленных пакетов в Arch Linux с помощью команды pacman
Pacman — это менеджер пакетов по умолчанию для Arch Linux и его производных, таких как Manjaro Linux.
Чтобы вывести список всех установленных пакетов, используемых pacman в Arch Linux и его вариантах, запустите:
Если вы хотите просмотреть страницу вывода за страницей, направьте вывод в команду more , как показано ниже:
Чтобы перечислить только явно установленные пакеты и версии:
Чтобы перечислить только общее количество установленных пакетов в Arch Linux, направьте вывод pacman в команду wc :
Как видно из вышеприведенного вывода, я установил 134 пакета в свою систему Arch Linux.
2. Список установленных пакетов в Alpine Linux с помощью команды apk
Apk, сокращение от Alpine Package Manager, является менеджером пакетов по умолчанию для Alpine Linux.
Команда для просмотра списка установленных пакетов в Alpine Linux:
Если вы хотите просмотреть список установленных пакетов, а также номер версии и описание пакета, используйте флаг -vv , как показано ниже:
lm_sensors-3.4.0-r6 - Collection of user space tools for general SMBus access and hardware monitoring. man-1.14.3-r0 - dummy package for upgrade compatibility. this can safely be removed libcrypto1.1-1.1.1i-r0 - Crypto library from openssl libssl1.1-1.1.1i-r0 - SSL shared libraries [. ]
Чтобы перечислить только общее количество всех установленных пакетов в Alpine Linux, передайте вывод apk info в команду wc , как показано ниже:
3. Перечислите установленные пакеты в Debian, Ubuntu с помощью команды apt
Apt предоставляет интерфейс командной строки высокого уровня для системы управления пакетами в Debian, Ubuntu и других системах на основе Debian.
Чтобы отобразить список установленных пакетов в Debian, Ubuntu, Linux Mint и других системах на основе DEB, запустите:
$ apt list —installed
Отобразите общее количество установленных пакетов в системах на основе Debian, направьте вывод команды apt команде wc , как показано ниже:
$ apt list --installed | wc -l 2575
4. Перечислите установленные пакеты в Debian, Ubuntu с помощью команды dpkg.
Dpkg — это инструмент командной строки для установки, сборки, удаления пакетов Debian и управления ими.
Чтобы вывести список всех установленных пакетов с версиями и подробностями с помощью команды dpkg , запустите:
Кроме того, вы можете использовать команду dpkg-query для вывода списка всех установленных пакетов Debian.
Укажите только общее количество установленных пакетов в системах на основе Debian:
5. Перечислите установленные пакеты в RHEL, Fedora, CentOS с помощью команды yum.
Yum, расшифровывается как Yellowdog Updater, Modified, — это утилита управления из командной строки для установки и управления пакетами в системах на основе Red Hat. Теперь он заменен на dnf в последних версиях RHEL и CentOS.
Чтобы найти список установленных пакетов в Fedora, RHEL и его клонах, таких как CentOS, запустите:
Список только общее количество установленных пакетов с использованием команд yum и wc :
$ yum list installed | wc -l 347
6. Перечислите установленные пакеты в RHEL, Fedora, CentOS с помощью команды dnf
DNF — это версия YUM следующего поколения, и он был менеджером пакетов по умолчанию, начиная с Fedora 22, RHEL 8 и CentOS 8. Использование DNF такое же, как и в Yum.
Чтобы найти список установленных пакетов в RHEL, Fedora, CentOS с помощью dnf, выполните:
Если вы хотите отобразить только общее количество пакетов с помощью команды dnf , запустите:
7. Список установленных пакетов в openSUSE с помощью команды zypper
Zypper — это менеджер пакетов командной строки по умолчанию для установки и управления пакетами в SUSE и openSUSE.
Чтобы просмотреть список установленных пакетов в openSUSE zypper, запустите:
8. Вывести список установленных пакетов в Linux с помощью команды rpm
RPM команда, означает Red Hat Package Manager, используется для установки и управления приложениями из командной строки в системах Redhat основе.
Чтобы вывести список всех пакетов RPM, установленных в вашей системе, выполните:
Чтобы просмотреть вывод страницы за страницей, направьте вывод по конвейеру в moreкоманду:
Вы также можете все установленные пакеты, самые свежие из которых находятся вверху, используя флаг —last , как показано ниже:
Следующие два метода являются универсальными. Вы можете использовать эти команды в любых системах, в которых установлены инструменты snapили flatpak.
9. Список пакетов, установленных с помощью оснастки в Linux
Snap — это система развертывания программного обеспечения и управления пакетами, разработанная Canonical.
Чтобы вывести список всех приложений Snap, установленных в вашей системе, запустите:
Name Version Rev Tracking Publisher Notes chromium 87.0.4280.88 1424 latest/stable canonical* - core 16-2.48 10444 latest/stable canonical* core core18 20201210 1944 latest/stable canonical* base gnome-3-26-1604 3.26.0.20200529 100 latest/stable/… canonical* - gnome-3-28-1804 3.28.0-19-g98f9e67.98f9e67 145 latest/stable canonical* - gnome-3-34-1804 0+git.3556cb3 60 latest/stable canonical* - gnome-system-monitor 3.36.0-12-g35f88a56d7 148 latest/stable/… canonical* - gtk-common-themes 0.1-50-gf7627e4 1514 latest/stable/… canonical* - multipass 1.5.0 2907 latest/stable canonical* -
10. Вывести список пакетов, установленных с помощью Flatpak в Linux
Flatpak — это независимая от платформы система управления пакетами для создания, установки и запуска изолированных настольных приложений и сред выполнения в Linux.
Чтобы вывести список всех установленных приложений Flatpak в Linux, запустите:
Name Application ID Version Branch Installation Fondo com.github.calo001.fondo 1.5.1 stable system Flatseal com.github.tchx84.Flatseal 1.6.5 stable system FontFinder io.github.mmstick.FontFinder 2.0.0 stable system Giara org.gabmus.giara 0.3 stable system Solanum org.gnome.Solanum 1.1.0 stable system
Обратите внимание, что в приведенной выше команде будут перечислены только пакеты, которые установлены исключительно с приложением flatpak.
Для получения дополнительных сведений смотрите справочные страницы соответствующих команд.
Насколько публикация полезна?
Нажмите на звезду, чтобы оценить!
Средняя оценка / 5. Количество оценок:
Оценок пока нет. Поставьте оценку первым.
Как получить и скопировать список установленных пакетов на Ubuntu / Debian Linux сервере
Приобретая новый виртуальный сервер у RUVDS на Ubuntu / Debian вы можете получить список всех установленных пакетов на вашем виртуальном сервере. Также в данной статье мы рассмотрим, как скопировать и перенести установленные пакеты с одного виртуального сервера на другой.
Чтобы получить список всех установленных пакетов на Ubuntu или Debian, используйте DPKG и другие команды.
Введите следующую команду:
Чтобы увидеть только список пакетов, попробуйте:
Чтобы получить список установленных пакетов, введите команду:
dpkg --get-selections | grep -v deinstall
или можно просто найти все пакеты на основе PHP:
apt list --installed | grep php
Как сохранить список в текстовый файл
Команда выглядит следующим образом для server1:
dpkg --get-selections | grep -v deinstall > mylist.txt
Теперь скопируйте mylist.txt на server2 с вашим адресом, например 100.100.100.100:
scp mylist.txt 100.100.100.100:~/
The authenticity of host 100.100.100.100 (100.100.100.100)' can't be established.
ECDSA key fingerprint is SHA256:r+WgiifO
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '100.100.100.100' (ECDSA) to the list of known hosts.
Как установить скопированные пакеты на server2
На втором сервере server2 для восстановления установок из mylist.txt, выполните следующую команду:
dpkg --clear-selections
sudo dpkg --set-selections < mylist.txt
Наконец, выполните следующую команду, чтобы удалить ненужные пакеты:
Вышеприведенные команды должны восстановить пакеты из резервных копий или другого сервера.
Если данных на втором сервере нет, нужно их скопировать и после этого восстановить. Этот вариант заключается в использовании команды aptitude следующим образом:
### Создаем список программ в директории на первом сервере /tmp/packages.txt ###
dpkg --get-selections > /tmp/packages.txt
### Копируем файл на второй сервер с адресом 100.100.100.100 ###
scp /tmp/packages.txt 100.100.100.100:/tmp/
### Теперь вы можете установить пакеты на втором сервере используя команду apt-get/synaptic ###
1. Соединяемся с первым сервером
aptitude install $(cat /tmp/packages.txt | awk '')