how-to:apt
Содержание
Apt
Показать доступные версии пакета (на примере docker-ce):
apt-cache madison docker-ce
Установить определённую версию пакета (на примере docker-ce):
sudo apt-get install docker-ce=<VERSION_STRING>
proxy
Добавить прокси сервер для работы apt, на примере proxy.domain.com:3128 без аутентификации:
echo Acquire::http::Proxy \"http://proxy.domain.com:3128\"\; | sudo tee /etc/apt/apt.conf.d/proxy
Добавление PPA репозиториев через прокси, на примере proxy.domain.com:3128 без аутентификации и репозитории ppa:ondrej/php:
export http_proxy=http://proxy.domain.com:3128 export https_proxy=http://proxy.domain.com:3128 sudo -E add-apt-repository ppa:ondrej/php
Автообновление
Для отключения автообновления приводим /etc/apt/apt.conf.d/20auto-upgrades к виду:
APT::Periodic::Unattended-Upgrade "0";
или меняем значения одной командой:
sudo sed '/Upgrade/s/1/0/g' -i /etc/apt/apt.conf.d/20auto-upgrades
Опции
/etc/apt/apt.conf.d/
- APT::Periodic::Enable: включить/отключить обновление, 1 – вкл, 0 – выкл
- APT::Periodic::Update-Package-Lists: как часто выполнять apt update в днях, 0 – отключить вообще
- APT::Periodic::Download-Upgradeable-Packages: как часто выполнять apt-get upgrade –download-only
- APT::Periodic::Unattended-Upgrade: как часто выполнять apt upgrade
- APT::Periodic::AutocleanInterval: как часто выполнять apt-get autoclean
- APT::Periodic::Verbose: отправить сообщения на почту и их детализация:
0 – отключить вообще 1 – весь прогресс upgrade 2 – весь прогресс upgrade + stdout прогармм 3 – то же, плюс трассировка
Ошибки
NO_PUBKEY
Пример ошибки:
W: GPG error: https://ppa.launchpadcontent.net/dotnet/backports/ubuntu jammy InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 2125B164E8E5D3FA E: The repository 'https://ppa.launchpadcontent.net/dotnet/backports/ubuntu jammy InRelease' is not signed.
Решение:
apt-key
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 45A3F127159BE9E5017811C62125B164E8E5D3FA apt-key export 45A3F127159BE9E5017811C62125B164E8E5D3FA | gpg --dearmour -o /etc/apt/trusted.gpg.d/dotnet.gpg
Автоматически добавить отсутствующий ключ:
KEY=$(apt-get update 2>&1 | grep -o '[0-9A-Z]\{16\}$' | sort | uniq) && apt-key adv --recv-keys --keyserver keyserver.ubuntu.com ${KEY} && apt-key export 45A3F127159BE9E5017811C62125B164E8E5D3FA | gpg --dearmour -o /etc/apt/trusted.gpg.d/${KEY}.gpg
gpg
gpg --keyserver hkp://keyserver.ubuntu.com:80 --no-default-keyring --keyring /etc/apt/trusted.gpg.d/dotnet.gpg --recv-keys 45A3F127159BE9E5017811C62125B164E8E5D3FA
Key is stored in legacy trusted.gpg keyring
Решение (пример для Skype):
apt-key list pub rsa2048 2016-06-22 [SC] D404 0146 BE39 7250 9FD5 7FC7 1F30 45A5 DF75 87C3 uid [ неизвестно ] Skype Linux Client Repository <se-um@microsoft.com> sub rsa2048 2016-06-22 [E]
apt-key export DF7587C3 | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/skype.gpg
gpg: keyserver receive failed: No dirmngr
Пример ошибки:
gpg: failed to create temporary file '/root/.gnupg/.#lk0x00005b74ab704330.dda6d56baf41.2264': No such file or directory gpg: connecting dirmngr at '/root/.gnupg/S.dirmngr' failed: No such file or directory gpg: keyserver receive failed: No dirmngr
Решение
apt install dirmngr
how-to/apt.txt · Последнее изменение: — 127.0.0.1
