пакетная система DEB

Установка, обновление, настройка Linux

Модераторы: Olej, adminn

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: пакетная система DEB

Непрочитанное сообщение Olej » 04 сен 2022, 19:00

Olej писал(а):
04 сен 2022, 18:55
Здесь не хватает 3-х публичных ключей.
Заметка как добавить публичные ключи: как добавить ключ репозитория в debian или ubuntu.
Это требуется для подтверждения подлинности репозитория.
В этих случаях нужно:
1. Получить ключ на официальных серверах.
2. Добавить в систему недостающий ключ репозитория.

Подробная последовательность действий, с командами выполняемыми, приведена (как частный пример) здесь: Astra Linux CE - №3.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: пакетная система DEB

Непрочитанное сообщение Olej » 03 ноя 2022, 19:59

Ещё одна фишка DEB ... постоянно забываю этот синтаксис: когда пакет из .deb не устанавливается по отсутствию зависимостей + мы вручную устанавливаем все ним затребованные, то проверить и восстановить целостность - команда:

Код: Выделить всё

$ sudo apt --fix-broken install
...
Вот как это выглядело как-то при инсталляции Slack - корпоративный месенжер

Код: Выделить всё

olej@ACER:~/Загрузки/Messanger$ sudo apt --fix-broken install
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Исправление зависимостей… Готово
Будут установлены следующие дополнительные пакеты:
  libappindicator1 libdbusmenu-gtk4 libindicator7
Следующие НОВЫЕ пакеты будут установлены:
  libappindicator1 libdbusmenu-gtk4 libindicator7
Обновлено 0 пакетов, установлено 3 новых пакетов, для удаления отмечено 0 пакетов, и 3 пакетов не обновлено.
Установлено или удалено не до конца 1 пакетов.
Необходимо скачать 152 kB архивов.
После данной операции объём занятого дискового пространства возрастёт на 340 kB.
Хотите продолжить? [Д/н] y
Пол:1 http://deb.debian.org/debian buster/main amd64 libdbusmenu-gtk4 amd64 18.10.20180917~bzr490+repack1-1 [45,7 kB]
Пол:2 http://deb.debian.org/debian buster/main amd64 libindicator7 amd64 0.5.0-4 [53,0 kB]
Пол:3 http://deb.debian.org/debian buster/main amd64 libappindicator1 amd64 0.4.92-7 [53,3 kB]
Получено 152 kB за 0с (370 kB/s)              
Выбор ранее не выбранного пакета libdbusmenu-gtk4:amd64.
(Чтение базы данных … на данный момент установлено 410686 файлов и каталогов.)
Подготовка к распаковке …/libdbusmenu-gtk4_18.10.20180917~bzr490+repack1-1_amd64.deb …
Распаковывается libdbusmenu-gtk4:amd64 (18.10.20180917~bzr490+repack1-1) …
Выбор ранее не выбранного пакета libindicator7:amd64.
Подготовка к распаковке …/libindicator7_0.5.0-4_amd64.deb …
Распаковывается libindicator7:amd64 (0.5.0-4) …
Выбор ранее не выбранного пакета libappindicator1:amd64.
Подготовка к распаковке …/libappindicator1_0.4.92-7_amd64.deb …
Распаковывается libappindicator1:amd64 (0.4.92-7) …
Настраивается пакет libindicator7:amd64 (0.5.0-4) …
Настраивается пакет libdbusmenu-gtk4:amd64 (18.10.20180917~bzr490+repack1-1) …
Настраивается пакет libappindicator1:amd64 (0.4.92-7) …
Настраивается пакет slack-desktop (4.0.2) …
Обрабатываются триггеры для libc-bin (2.28-10) …

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

пакетная система DEB

Непрочитанное сообщение Olej » 16 янв 2023, 23:52

Информация о используемых репозиториях и где они прописаны:

Код: Выделить всё

olej@R420:~$ inxi -rxxx
Repos:
  Packages: apt: 3394
  No active apt repos in: /etc/apt/sources.list
  Active apt repos in: /etc/apt/sources.list.d/brave-browser-release.list
    1: deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stable main
  No active apt repos in: /etc/apt/sources.list.d/element-io.list
  Active apt repos in: /etc/apt/sources.list.d/google-chrome.list
    1: deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main
  No active apt repos in: /etc/apt/sources.list.d/kismet.list
  Active apt repos in: /etc/apt/sources.list.d/kitware.list
    1: deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ focal main
    2: deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ focal-rc main
  Active apt repos in: /etc/apt/sources.list.d/official-package-repositories.list
    1: deb http://mint.ipacct.com/packages vera main upstream import backport
    2: deb http://mirror.mirohost.net/ubuntu jammy main restricted universe multiverse
    3: deb http://mirror.mirohost.net/ubuntu jammy-updates main restricted universe multiverse
    4: deb http://mirror.mirohost.net/ubuntu jammy-backports main restricted universe multiverse
    5: deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
  Active apt repos in: /etc/apt/sources.list.d/opera-stable.list
    1: deb https://deb.opera.com/opera-stable/ stable non-free
  Active apt repos in: /etc/apt/sources.list.d/skype-stable.list
    1: deb [arch=amd64] https://repo.skype.com/deb stable main
  No active apt repos in: /etc/apt/sources.list.d/slack.list
  Active apt repos in: /etc/apt/sources.list.d/teams.list
    1: deb [arch=amd64] https://packages.microsoft.com/repos/ms-teams stable main
  Active apt repos in: /etc/apt/sources.list.d/teamviewer.list
    1: deb [signed-by=/usr/share/keyrings/teamviewer-keyring.gpg] https://linux.teamviewer.com/deb stable main
  No active apt repos in: /etc/apt/sources.list.d/timeweb-zabbix.list

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

пакетная система DEB

Непрочитанное сообщение Olej » 18 янв 2023, 03:56

Про то как зафиксировать (и расфиксировать) версию установденного пакета: Как зафиксировать версию и запретить обновление определённого пакета в Debian/Ubuntu Linux.
Olej писал(а):
18 янв 2023, 03:52

Код: Выделить всё

olej@R420:~/2023/rus.linux.net.hist/timeweb$ sudo apt-mark hold cmake
[sudo] пароль для olej:       
cmake помечен как зафиксированный.

Код: Выделить всё

olej@R420:~/2023/rus.linux.net.hist/timeweb$ apt-mark showhold
cmake

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

пакетная система DEB

Непрочитанное сообщение Olej » 21 апр 2023, 12:23

Код: Выделить всё

olej@R420:~$ apt policy --help
apt 2.4.9 (amd64)
Использование: apt-cache [параметры] команда
               apt-cache [параметры] show пакет1 [пакет2 …]

apt-cache ищет и отображает имеющуюся информацию об установленных и доступных
для установки пакетах. Она работает исключительно с данными локального кэша,
созданного командой «update», например, программы apt-get. Вследствие этого
отображаемая информация может являться устаревшей, если обновление долго не
выполнялось, но зато apt-cache работает независимо от доступности настроенных
источников (например, без доступа к сети).

Основные команды:
  showsrc - показать информацию о пакете с исходным кодом
  search - найти пакеты, имя которых удовлетворяет регулярному выражению
  depends - показать необработанную информацию о зависимостях пакета
  rdepends - показать информацию об обратных зависимостях пакета
  show - показать информацию о пакете в удобочитаемой форме
  pkgnames - показать имена всех пакетов в системе
  policy - показать текущую политику выбора пакетов

Дополнительную информацию о доступных командах смотрите в apt-cache(8).
Параметры настройки и синтаксис описаны в apt.conf(5).
Информацию о том, как настроить источники, можно найти в sources.list(5).
Выбор пакетов и версий описывается в apt_preferences(5).
Информация о безопасности доступна в apt-secure(8).

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

пакетная система DEB

Непрочитанное сообщение Olej » 13 июн 2023, 15:02

Задача: заставить все утилиты пакетной системы DEB работать через прокси :!:
В некоторых (не стольк частых пока, к счастью) случаях когда это нужно - это становится самой важной задачей :!:
Например: при использовании на Украине российских дистрибутивов Linux, когда прямой тарафик IP они забили, а обновлять систему надо...
Просто прописать это, как во многих случаях помогает, в переменные окружения, через файл /etc/environment - не помогает, утилиты пакетной системы DEB не понимают эти переменные окружения:

Код: Выделить всё

root@R420:/etc# cat /etc/environment 
...
export all_proxy=socks5://proxy_user_02:xxxxxx@90.156.230.27:1080/
export ALL_PROXY=socks5://proxy_user_02:xxxxxx@90.156.230.27:1080/
export no_proxy="localhost,127.0.0.0/8,192.168.1.0/24,::1,90.156.230.27"
Подробно как я борол apt через прокси, да ещё прокси SOCKS, описано здесь: Astra Linux SE 1.7.
Грубо, идея состоит в том что:
1. Создать файл /etc/apt/apt.conf.d/proxy (обычно его там нет)
2. Прописать туда что-то типа:

Код: Выделить всё

root@alse-vanilla-gui:/etc# cat /etc/apt/apt.conf.d/proxy
Acquire::http::Proxy "socks5h://proxy_user_02:xxxxxx@90.156.230.27:1080";
Acquire::ftp::Proxy  "socks5h://proxy_user_02:xxxxxx@90.156.230.27:1080";
Acquire::::Proxy     "true";
3. То что туда прописывать - внимательно читать в таком редком man как:

Код: Выделить всё

olej@R420:~$ man apt-transport-http
...
Proxy Configuration
...
4. Есть возможность использовать 3 вида (практически все) прокси: HTTP, HTTPS, SOCKS.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

пакетная система DEB

Непрочитанное сообщение Olej » 18 июн 2023, 15:27

Симуляция выполнения команды пакетной системы DEB без выполнения фактическиъ действий :!:
Например, мы зафиксироывали установленную версию пакета yggdrasil (пакет установлен вручную, грамотно, а пакет из репозитория пазрушает работу! Yggdrasil (2)):

Код: Выделить всё

olej@compaq:~$ apt-mark showhold
yggdrasil
Тогда при штатных обновлениях возникают такие "подсказки":

Код: Выделить всё

olej@compaq:~$ sudo apt update
...
Может быть обновлён 1 пакет. Запустите «apt list --upgradable» для показа.

Код: Выделить всё

olej@compaq:~$ apt list --upgradable
Вывод списка… Готово
yggdrasil/bullseye-backports 0.4.7-1~bpo11+1 amd64 [может быть обновлён с: 0.4.7]
N: Есть 1 дополнительная версия. Используйте «-a» для просмотра.
Чтобы убедиться что "upt upgtade" не разнесёт работу Yggdrasil, делаем симуляцию ("как будто") одновления:

Код: Выделить всё

olej@compaq:~$ sudo apt upgrade --simulate
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово         
Расчёт обновлений… Готово
Следующие пакеты будут оставлены в неизменном виде:
  yggdrasil
Обновлено 0 пакетов, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 1 пакетов не обновлено.
И убеждаемся что всё ОК.
Так же, в режиме симуляции, могут выполняться все операции apt/apt-get/aptitude ... особенно это полезно для install, чтобы проверить как пройдёт будущая инсталляция.
Подробнее здесь: имитация команд установки-удаления пакетов
Olej писал(а):
15 янв 2022, 18:47
Чтобы смоделировать установку Vim в Ubuntu, просто запустите:

Код: Выделить всё

$ sudo apt install vim --dry-run
или

Код: Выделить всё

$ sudo apt install vim --simulate
Или коротко:

Код: Выделить всё

$ sudo apt install vim -s

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

пакетная система DEB

Непрочитанное сообщение Olej » 26 июн 2023, 21:07

Olej писал(а):
13 июн 2023, 15:02
Задача: заставить все утилиты пакетной системы DEB работать через прокси
Но тут палка о 2-х концах... :oops:
В противовес CLI пакетным менеджерам apt, aptitude и т.д. которые не умеют, GUI менеджеры обновлений (Synaptic, mintupdate и подобноые) по умолчанию используют переменные окружения определяющие использование прокси :!:

Код: Выделить всё

olej@R420:~$ env | grep -i proxy
no_proxy=localhost,127.0.0.0/8,192.168.1.0/24,::1,90.156.230.27
ALL_PROXY=socks5://proxy_user_01:asdf51@90.156.230.27:1080/
all_proxy=socks5://proxy_user_01:asdf51@90.156.230.27:1080/
Снимок экрана от 2023-06-26 19-48-17.png
Снимок экрана от 2023-06-26 19-48-17.png (63.38 КБ) 476 просмотров
Меняю переменные окружения, комментируя:

Код: Выделить всё

olej@R420:~$ grep -i proxy /etc/environment
#export all_proxy=socks5://proxy_user_01:asdf51@90.156.230.27:1080/
#export ALL_PROXY=socks5://proxy_user_01:asdf51@90.156.230.27:1080/
#export no_proxy="localhost,127.0.0.0/8,192.168.1.0/24,::1,90.156.230.27"

И без дополнительных действий, просто перезапуская менеджер обновлений:
Снимок экрана от 2023-06-26 20-40-10.png
Снимок экрана от 2023-06-26 20-40-10.png (59.69 КБ) 476 просмотров
О-ба-на :-o : скорость загрузки в 10 раз выше.
А для пакетных менеджеров это очень важно из-за объёмов ежедневных скачивания :!: :cry:

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

пакетная система DEB

Непрочитанное сообщение Olej » 10 сен 2023, 16:26

Всё-таки, время от времени, нужно не забывать чистить кеш скачанных пакетов :!:

Код: Выделить всё

olej@esprimop420:/var/cache/apt/archives$ cat /etc/issue.net
Debian GNU/Linux 12

Код: Выделить всё

olej@esprimop420:/var/cache/apt/archives$ ls -l /var/cache/apt/archives/*.deb | wc -l
245

Код: Выделить всё

olej@esprimop420:/var/cache/apt/archives$ du -hs /var/cache/apt/archives
du: невозможно прочитать каталог '/var/cache/apt/archives/partial': Отказано в доступе
1,2G	/var/cache/apt/archives
Вот так:

Код: Выделить всё

olej@esprimop420:/var/cache/apt/archives$ sudo apt clean
[sudo] пароль для olej: 
После чего мы осовобождаем (на ровном месте!) 1.1Gb SSD:
[code]
olej@esprimop420:/var/cache/apt/archives$ du -hs /var/cache/apt/archives
du: невозможно прочитать каталог '/var/cache/apt/archives/partial': Отказано в доступе
116K	/var/cache/apt/archives

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

пакетная система DEB

Непрочитанное сообщение Olej » 02 фев 2024, 15:04

Olej писал(а):
04 сен 2022, 19:00
Заметка как добавить публичные ключи: как добавить ключ репозитория в debian или ubuntu.
Уже не раз напарывался на это, поэтому требуется зафиксировать!
При обновлении antiX
Если после обновления у Вас на экране возникает ошибка примерно следующего содержания:

Код: Выделить всё

root@antix21:~# apt update
Сущ:1 http://security.debian.org bookworm-security InRelease
Сущ:2 http://deb.debian.org/debian bookworm-backports InRelease                                           
Сущ:3 http://ftp.us.debian.org/debian bookworm-updates InRelease                                          
Сущ:4 http://ftp.us.debian.org/debian bookworm InRelease                          
Пол:5 http://la.mxrepo.com/antix/bookworm bookworm InRelease [27,4 kB]            
Ошб:5 http://la.mxrepo.com/antix/bookworm bookworm InRelease
  Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY DB36CDF3452F0C20
Чтение списков пакетов… Готово
W: Ошибка GPG: http://la.mxrepo.com/antix/bookworm bookworm InRelease: Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY DB36CDF3452F0C20
E: Репозиторий «http://la.mxrepo.com/antix/bookworm bookworm InRelease» не подписан.
N: Обновление из этого репозитория нельзя выполнить безопасным способом, поэтому по умолчанию он отключён.
N: Информацию о создании репозитория и настройках пользователя смотрите в справочной странице apt-secure(8).
Для решения сложившейся проблемы нам потребуется:

1. Проверить упоминание ключа на официальных серверах. Это требуется для подтверждения подлинности репозитория.

Серверы расположены в порядке значимости, поэтому нахождение ключа хотя бы на одном сервере является положительным результатом.
# gpg --keyserver keyserver.ubuntu.com --recv 58403026387EE263
# gpg --keyserver pgp.mit.edu --recv 58403026387EE263
# gpg --keyserver keyserver.pgp.com --recv 58403026387EE263

В ответ на экране должно отобразиться следующее:

gpg: запрашиваю ключ 387EE263 с hkp сервера keyserver.ubuntu.com
gpg: ключ 387EE263: "Scott Ritchie " не изменен
gpg: Всего обработано: 1
gpg: неизмененных: 1

Эти строки говорят , что ключ найден и подлинность репозитория подтверждена. В общем случае, информация выведенная на экран в дальнейшем не пригодится.

Об особых случаях будет рассказано ниже.
Там указаны 3 источника - нужно найти хотя бы в одном :!: Но у меня, в частности, это сработало сразу на 1-м:

Код: Выделить всё

root@antix21:~# gpg --keyserver keyserver.ubuntu.com --recv DB36CDF3452F0C20
gpg: создан каталог '/root/.gnupg'
gpg: создан щит с ключами '/root/.gnupg/pubring.kbx'
gpg: /root/.gnupg/trustdb.gpg: создана таблица доверия
gpg: ключ DB36CDF3452F0C20: импортирован открытый ключ "antiX Linux repo <repo@antixlinux.com>"
gpg: Всего обработано: 1
gpg:                  импортировано: 1
2. Следующим этапом добавляем недостающий ключ репозитория:
У меня есть сильное подозрение (эксперименты, похоже, показывают), что предыдущее действие уже сделало это, поэтому это "масло маслянное" :-o ... но для чистоты метода:

Код: Выделить всё

root@antix21:~# gpg --export --armor DB36CDF3452F0C20 | sudo apt-key add -
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
OK

Ответить

Вернуться в «Администрирование Linux»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей