====== Обновление ПО дистрибутивов Линукс ====== ===== Suse,OpenSuse ===== [[https://linuxcommandlibrary.com/man/zypper.html|man zypper]] Консольная программа zypper, используемая в [Open]Suse, позволяет сокращать свои команды. Удобно: refresh - ref, update - up, install - in, search - se и т.д. Обновить список ПО из подключенных репозиториев: zypper ref Обновить ПО, имеющего в репозиториях новые версии: zypper up Поиск пакета zypper se имя_пакета Установка zypper in имя_пакета Удаление zypper rm имя_пакета ===== Debian,Ubuntu ===== [[https://manpages.ubuntu.com/manpages/xenial/man8/apt.8.html|man apt]], [[https://www.opennet.ru/man.shtml?category=8&topic=dpkg|man dpkg]] Обновить список ПО из репозиториев 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 ===== [[https://www.opennet.ru/man.shtml?category=8&topic=yum|man yum]] yum update yum list available yum search available yum install yum remove dnf - почти прозрачно заменяет yum в свежих версиях RHEL,Centos ===== Дебиан, хренебиан - какая разница ===== ==== PackageKit ==== В дистрибутивах с PackageKit(Suse,Ubuntu и др.) можно использовать утилиту pkcon. [[https://manpages.ubuntu.com/manpages/trusty/man1/pkcon.1.html|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 ==== Репозитории HP Enterpise ==== [[hard:hpe_repository|]] ==== Репозитории MySQL ==== [[https://dev.mysql.com/downloads/]] {{tag>linux}}