====== Debian: Работа с пакетами ======
====== Репозитории ======
https://wiki.debian.org/ru/UnofficialRepositories
**https://www.apt-browse.org/**
===== Debian Backports =====
https://wiki.debian.org/ru/Backports
===== deb-multimedia =====
:!: Нужно использовать с осторожностью, т.к. зависимости многих пакетов конфликтуют по версиям с пакетами из основного репозитория.
https://deb-multimedia.org/
https://wiki.debian.org/DebianMultimedia
==== Установка ====
1. Нужно добавить репозиторий в ''/etc/apt/sources.list'', подробности: [[https://deb-multimedia.org/|deb-multimedia]]
#
deb http://www.deb-multimedia.org stable main non-free
deb http://www.deb-multimedia.org stable-backports main
2. Обновить список пакетов:
apt-get -u update
apt-get install deb-multimedia-keyring
====== Добавление поддержки архитектуры i386 ======
dpkg --add-architecture i386 && apt update
====== Управление пакетами из консоли ======
[[aptitude:aptitude]]
====== Графический интерфейс ======
|Управление репозиториями|[[python-software-properties:python-software-properties|]]|
|Управление пакетами|[[synaptic:synaptic|]]|
|Установки пакетов из файлов|[[gdebi:gdebi|]]|
====== Настройка apt ======
Файл: ''/etc/apt/apt.conf''
|APT::Get::Show-Upgraded "true";
|Для того, чтобы всегда перечислять обновляемые пакеты и запрашивать подтверждение у пользователя|
|Acquire::http::Proxy "http://proxy:3128";
|Работа через прокси|
Локальная документация: ''/usr/share/doc/Debian/apt-howto''
{{anchor:sourcs_list}}
====== Ссылки на источники обновлений ======
Основной файл: ''/etc/apt/sourcs.list''
Области:
* ''main''
* ''contrib''
* ''non-free'' - для "несвободных" пакетов, например для пакетов с драйверами, прошивками
===== wheezy =====
#
deb http://mirror.mephi.ru/debian wheezy-backports main contrib non-free
deb-src http://mirror.mephi.ru/debian wheezy-backports main contrib non-free
deb http://ftp.ru.debian.org/debian/ wheezy main contrib non-free
deb-src http://ftp.ru.debian.org/debian/ wheezy main contrib non-free
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free
deb http://ftp.ru.debian.org/debian/ wheezy-updates main contrib non-free
deb-src http://ftp.ru.debian.org/debian/ wheezy-updates main contrib non-free
31 мая 2018 перекрещена поддержка Debian Wheezy, поэтому необходимо изменить адреса серверов обновлений:
deb http://archive.debian.org/debian/ wheezy main
deb-src http://archive.debian.org/debian/ wheezy main
#deb http://security.debian.org/ wheezy/updates main contrib
#deb-src http://security.debian.org/ wheezy/updates main contrib
и выполнить [[#обновление списка]] пакетов командой:
apt-get -u update
----
[[https://www.ispsystem.ru/news/debianwheezyend|Debian прекратили поддержку Debian 7 Wheezy | Web hosting software]]
===== jessie =====
#
deb http://ftp.ru.debian.org/debian/ jessie main contrib non-free
deb-src http://ftp.ru.debian.org/debian/ jessie main contrib non-free
deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free
deb http://ftp.ru.debian.org/debian/ jessie-proposed-updates main contrib non-free
deb-src http://ftp.ru.debian.org/debian/ jessie-proposed-updates main contrib non-free
deb http://ftp.ru.debian.org/debian/ jessie-backports main contrib non-free
deb-src http://ftp.ru.debian.org/debian/ jessie-backports main contrib non-free
Вариант работы с архивом:
#
deb http://archive.debian.org/debian/ jessie main
deb-src http://archive.debian.org/debian/ jessie main
deb http://security.debian.org/ jessie/updates main contrib
deb-src http://security.debian.org/ jessie/updates main contrib
===== stretch =====
#
deb http://ftp.ru.debian.org/debian/ stretch main contrib non-free
deb-src http://ftp.ru.debian.org/debian/ stretch main contrib non-free
deb http://security.debian.org/ stretch/updates main contrib non-free
deb-src http://security.debian.org/ stretch/updates main contrib non-free
deb http://ftp.ru.debian.org/debian/ stretch-proposed-updates main contrib non-free
deb-src http://ftp.ru.debian.org/debian/ stretch-proposed-updates main contrib non-free
deb http://ftp.ru.debian.org/debian/ stretch-backports main contrib non-free
deb-src http://ftp.ru.debian.org/debian/ stretch-backports main contrib non-free
deb http://ftp.ru.debian.org/debian/ stretch-backports-sloppy main contrib non-free
deb-src http://ftp.ru.debian.org/debian/ stretch-backports-sloppy main contrib non-free
===== buster =====
FIXME
#
deb http://mirror.yandex.ru/debian buster main
deb-src http://mirror.yandex.ru/debian buster main
deb http://mirror.yandex.ru/debian buster-updates main
deb-src http://mirror.yandex.ru/debian buster-updates main
deb http://security.debian.org/ buster/updates main
deb-src http://security.debian.org/ buster/updates main
deb http://deb.debian.org/debian/ buster-backports main contrib non-free
deb-src http://deb.debian.org/debian/ buster-backports main contrib non-free
===== bullseye =====
FIXME
#
deb http://mirror.yandex.ru/debian bullseye main
deb-src http://mirror.yandex.ru/debian bullseye main
deb http://mirror.yandex.ru/debian bullseye-updates main
deb-src http://mirror.yandex.ru/debian bullseye-updates main
deb http://security.debian.org/ bullseye-security main
deb-src http://security.debian.org/ bullseye-security main
deb http://deb.debian.org/debian/ bullseye-backports main contrib non-free
deb-src http://deb.debian.org/debian/ bullseye-backports main contrib non-free
{{anchor:url_list}}
===== Список URL =====
Список URL, например для работы через [[squid:squid#restrict_access_ip_url|Squid]]
security.debian.org
security-cdn.debian.org
ftp.ru.debian.org
http.us.debian.org
us.debian.org
keys.gnupg.net
mirror.mephi.ru
cdn.debian.net
debian.nsu.ru
mirror.yandex.ru
downloads.sourceforge.net
downloads.sourceforge.net/corefonts
switch.dl.sourceforge.net/sourceforge/corefonts/
mesh.dl.sourceforge.net/sourceforge/corefonts/
dfn.dl.sourceforge.net/sourceforge/corefonts/
heanet.dl.sourceforge.net/sourceforge/corefonts/
jaist.dl.sourceforge.net/sourceforge/corefonts/
nchc.dl.sourceforge.net/sourceforge/corefonts/
ufpr.dl.sourceforge.net/sourceforge/corefonts/
internode.dl.sourceforge.net/sourceforge/corefonts/
voxel.dl.sourceforge.net/sourceforge/corefonts/
kent.dl.sourceforge.net/sourceforge/corefonts/
internap.dl.sourceforge.net/sourceforge/corefonts/
downloads.sourceforge.net/corefonts
dl.sourceforge.net
deb.debian.org
====== Обновление старых версий ======
FIXME
Debian 8 (Jessie)
deb http://archive.debian.org/debian/ jessie main contrib non-free
deb http://archive.debian.org/debian-security jessie/updates main contrib non-free
Иногда для Debian 8 (jessie) нужен пакет ''apt-transport-https''
|{{:debian:apt-transport-https_1.0.9.8.4_amd64.deb|apt-transport-https (amd64)}}| [[http://archive.debian.org/debian/pool/main/a/apt/apt-transport-https_1.0.9.8.4_amd64.deb|оригинал]]|
|{{:debian:apt-transport-https_1.0.9.8.4_i386.deb|apt-transport-https (i386)}}| [[http://archive.debian.org/debian/pool/main/a/apt/apt-transport-https_1.0.9.8.4_i386.deb|оригинал]]|
Debian 9 (Stretch)
deb http://archive.debian.org/debian/ stretch main contrib non-free
deb http://archive.debian.org/debian/ stretch-proposed-updates main contrib non-free
deb http://archive.debian.org/debian-security stretch/updates main contrib non-free
[[https://setiwik.ru/repozitorii-debian-sources-list-dlya-kazhdogo-vypuska/|Репозитории Debian, sources.list для каждого выпуска - Список]]
====== Обновление списка пакетов ======
apt-get update
====== Обновление ключей ======
apt-get install debian-keyring debian-archive-keyring
apt-key update
====== Обновление пакетов ======
apt-get -u upgrade
Команда обновляет все установленные пакеты, но не удаляет пакеты для разрешения зависимостей
====== Список пакетов, которые могут быть обновлены ======
apt list --upgradable
====== Обновление всех установленных пакетов ======
apt-get -u dist-upgrade
Обновление всех установленных пакетов с удалением или установкой пакетов по мере необходимости для разрешения всех зависимостей
====== Обновление списка пакетов и самих пакетов ======
apt-get update
apt-get -u upgrade
====== Установка пакета ======
apt-get install ИМЯ_ПАКЕТА
Установка только самого пакета, без рекомендованных других пакетов:
apt-get install ИМЯ_ПАКЕТА --no-install-recommends
====== Установка пакета из определённого репозитория ======
apt-get -t ИМЯ_РЕПОЗИТОРИЯ install ИМЯ_ПАКЕТА
====== Удаление пакета ======
apt-get remove ИМЯ_ПАКЕТА
====== Удаление не используемых старых пакетов ======
apt-get autoclean
apt-get autoremove
====== Удаление кеша всех пакетов ======
Удаление всех пакетов из папки ''/var/cache/apt/archives''
apt-get clean
====== Версия пакета ======
apt-cache show ИМЯ_ПАКЕТА|grep Version
====== Перенастроить заново уже установленный пакет ======
dpkg-reconfigure ИМЯ_ПАКЕТА
====== Список всех установленных пакетов ======
С версиями и описанием:
dpkg -l
Список только названий:
dpkg --get-selections
====== Поиск пакета ======
apt-cache search ИМЯ_ПАКЕТА
====== Добавление репозитория ======
FIXME
====== Создание локального репозитория ======
FIXME
https://wiki.debian.org/ru/CreateLocalRepo
https://github.com/apt-mirror
====== Проблемы ======
В случае возникновения ошибки:
E: Пакет <имя пакета> нуждается в переустановке, но найти архив для
него не удалось
Нужно удалить информацию от этом пакете в файле ''/var/lib/dpkg/status''
===== Проблема с обновлением jessie 2019-03 =====
FIXME
echo "Acquire::Check-Valid-Until false;" | sudo tee -a /etc/apt/apt.conf.d/10-nocheckvalid
[[https://www.jesusamieiro.com/failed-to-fetch-http-ftp-debian-org-debian-dists-jessie-updates-main-404-not-found/|Failed to fetch http://ftp.debian.org/debian/dists/jessie-updates/main/ 404 Not Found - Jesús Amieiro]]
====== Работа через dpkg ======
===== Установка пакета =====
{{anchor:dpkginstall}}
dpkg -i ИМЯ_ПАКЕТА.deb
Если в процессе установки появится ошибка, что нет необходимых пакетов, то запускаем команду:
|apt-get install -f
или apt-get --fix-broken install
или aptitude -f install
|
после этого нужно выполнить установку пакета повторно.
===== Удаление пакета =====
dpkg -r ИМЯ_ПАКЕТА.deb
====== Установка пакетов из unstable ======
:!: При установке пакетов из ''unstable'' легко сломать зависимости и вернутся обратно будет невозможно!
- Нужно создать файл:
deb http://ftp.ru.debian.org/debian unstable main contrib non-free
deb-src http://ftp.ru.debian.org/debian unstable main contrib non-free
- Чтобы система не обновляла все пакеты из ''unstable'', надо указать основную версию в файле:
APT::Default-Release "stretch";
- Выполнить [[#обновление списка пакетов и самих пакетов]]
Чтобы поставить пакет нужно выполнить [[#установка пакета из определённого репозитория|установку с указанием репозитория]] ''unstable''
Пример:
apt-get -t unstable install ИМЯ_ПАКЕТА
----
[[http://drumrock.ru/translations/debian-apt-part-2-installing-unreleased-software/|Debian APT Часть 2: Установка не-релизов ПО]]
**[[https://maxpoletaev.ru/blog/unstable-packages-in-debian|Выборочная установка пакетов из нестабильной ветки в Debian]]**
====== Удаление старых ядер ======
FIXME
[[https://sysadmin.pm/remove-old-kernels-debian-ubuntu/|Удаление старых ядер в Debian и Ubuntu - Записки сисадмина]]
====== APT Preferences ======
FIXME
Файл ''/etc/apt/preferences'' изначально отсутствует с системе.
https://wiki.debian.org/ru/AptPreferences
[[https://www.linux.org.ru/forum/general/13491131/page1|linux.org.ru: Проблема после обновления на Debian9]]
====== Ссылки ======
**[[https://tracker.debian.org/|Debian Package Tracker]]**
[[http://linuxoid.in/Полезные_репозитории_для_Debian|Полезные репозитории для Debian]]
**[[https://debgen.simplylinux.ch/|Debian Sources List Generator]]**
[[https://www.debian.org/releases/proposed-updates.ru.html|Механизм "предложенных обновлений"]]
[[http://achlab.ru/ach/tag/apt-key-time-out/|apt-key через прокси]]
[[https://sysadmin.ru/articles/ustanovka-deb-paketa-so-vsemi-zavisimostyami|Установка deb пакета со всеми зависимостями]]
[[https://www.debian.org/doc/debian-policy/index.html|Debian Policy Manual]]
[[https://serveradmin.ru/nastrojka-repozitoriev-v-debian/|Настройка репозиториев в Debian | serveradmin.ru]]
{{tag>Debian Debian_Package_Tool}}