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

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

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

Аватара пользователя
Olej
Писатель
Сообщения: 19740
Зарегистрирован: 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
Писатель
Сообщения: 19740
Зарегистрирован: 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
Писатель
Сообщения: 19740
Зарегистрирован: 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
Писатель
Сообщения: 19740
Зарегистрирован: 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
Писатель
Сообщения: 19740
Зарегистрирован: 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
Писатель
Сообщения: 19740
Зарегистрирован: 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
Писатель
Сообщения: 19740
Зарегистрирован: 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
Писатель
Сообщения: 19740
Зарегистрирован: 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 КБ) 159 просмотров
Меняю переменные окружения, комментируя:

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

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 КБ) 159 просмотров
О-ба-на :-o : скорость загрузки в 10 раз выше.
А для пакетных менеджеров это очень важно из-за объёмов ежедневных скачивания :!: :cry:

Аватара пользователя
Olej
Писатель
Сообщения: 19740
Зарегистрирован: 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

Ответить

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

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

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