Это старая версия документа!
Содержание
Обновление ПО дистрибутивов Линукс
Suse,OpenSuse
Консольная программа zypper, используемая в [Open]Suse, позволяет сокращать свои команды. Удобно: refresh - ref, update - up, install - in, search - se и т.д.
Обновить список ПО из подключенных репозиториев:
zypper ref
Обновить ПО, имеющего в репозиториях новые версии:
zypper up
Поиск пакета
zypper se имя_пакета
Установка
zypper in имя_пакета
Удаление
zypper rm имя_пакета
Debian,Ubuntu
Обновить список ПО из репозиториев
apt update
Вывести список пакетов, для которых доступно обновление
apt list --upgradable
Обновить
apt upgrade
Обновить конкретные пакеты, а не все
apt install --reinstall <список пакетов>
Поиск
apt search имя_пакета
Установка
apt install имя_пакета
Удаление
apt remove имя_пакета
Удаление с очисткой данных программы
apt purge имя_пакета
Удалить локально установленные пакеты (не из репозиториев. иногда такие остаются после апгрейда ОС)
apt list --installed|grep local|awk -F '/' '{print $1}'|xargs apt remove $(apt list --installed|grep local|awk -F '/' '{print $1}'|xargs)
Удаление "хвостов" (конфигов, дополнительных данных) от удаленных пакетов.
apt purge $(dpkg -l | grep '^rc' | awk '{print $2}') dpkg -l | grep "^rc" | awk '{print $2}' | sudo xargs dpkg -P
Поиск уязвимых пакетов для последующего обновления (через apt install)
debsecan --suite bullseye --format packages --only-fixed
Если установлен lsb_release, то можно так:
debsecan --suite $(lsb_release -cs) --format packages --only-fixed
Получение списка установленных пакетов с информацией о репозитории откуда он установлен
dpkg -l | grep "ii" | awk '{print $2}' | xargs -n 1 -IX sh -c "apt policy X 2>/dev/null | tr '\n' ' ';printf '\n'" | tee all_packages.txt
Определить к какому установленому пакету принадлежит файл
dpkg-query -S путь/к/файлу
Вывести список файлов в установленном пакете
dpkg -L package_name
Решение проблем
Ошибка: "NO_PUBKEY 648ACFD622F3D138"
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138
Предупреждение "Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details."
apt-key --keyring /etc/apt/trusted.gpg list #Ищем id ключа (напр. 91E7EE5E) apt-key export 91E7EE5E | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/repo_name.gpg
Так тоже работает
cp /etc/apt/trusted.gpg /etc/apt/trusted.gpg.d
См. также https://devicetests.com/solving-apt-key-deprecated-warning
RHEL,Centos
yum update yum list available yum search available yum install yum remove
dnf - почти прозрачно заменяет yum в свежих версиях RHEL,Centos
Alpine
Пакет apk-tools предоставляет программу apk со следующими возможностями:
add Add new packages or upgrade packages to the running system del Delete packages from the running system fix Repair packages or system update Update the index of available packages info Prints information about installed or available packages search Search for packages or descriptions with wildcard patterns upgrade Upgrade the currently installed packages cache Maintenance operations for locally cached package repository version Compare version differences between installed and available packages index create a repository index from a list of packages fetch download (but not install) packages audit List changes to the file system from pristine package install state verify Verify a package signature dot Create a graphviz graph description for a given package policy Display the repository that updates a given package, plus repositories that also offer the package stats Display statistics, including number of packages installed and available, number of directories and files, etc. manifest Display checksums for files contained in a given package
Дебиан, хренебиан - какая разница
PackageKit
В дистрибутивах с PackageKit(Suse,Ubuntu и др.) можно использовать утилиту pkcon. man pkcon
pkcon refresh pkcon update pkcon search pkcon install pkcon remove
yum/apt
В [Open]Suse можно установить apt, в Ubuntu/Debian можно установить yum
Дополнительные репозитории дебиан
Postgresql
https://wiki.postgresql.org/wiki/Apt
sudo apt install curl ca-certificates sudo install -d /usr/share/postgresql-common/pgdg sudo curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc
Create /etc/apt/sources.list.d/pgdg.list. The distributions are called codename-pgdg. In the example, replace bookworm with the actual distribution you are using. File contents:
deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt bookworm-pgdg main
(You may determine the codename of your distribution by running lsb_release -c). For a script version of the above file creation, presuming you are using a supported release:
sudo sh -c 'echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
Finally, update the package lists, and start installing packages:
sudo apt update sudo apt install postgresql-15