Репозитории
Нужно использовать с осторожностью, т.к. зависимости многих пакетов конфликтуют по версиям с пакетами из основного репозитория.
Установка
1. Нужно добавить репозиторий в /etc/apt/sources.list , подробности: 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
Управление пакетами из консоли
Графический интерфейс
| Управление репозиториями | python-software-properties |
| Управление пакетами | Synaptic |
| Установки пакетов из файлов | GDebi |
Настройка apt
APT::Get::Show-Upgraded "true";
Acquire::http::Proxy "http://proxy:3128";
Локальная документация: /usr/share/doc/Debian/apt-howto
Ссылки на источники обновлений
Основной файл: /etc/apt/sourcs.list
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
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
# 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
# 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
Список URL
Список 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
Обновление старых версий
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 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
Обновление списка пакетов
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 ИМЯ_ПАКЕТА
Добавление репозитория
Создание локального репозитория
Проблемы
В случае возникновения ошибки:
E: Пакет нуждается в переустановке, но найти архив для него не удалось
Нужно удалить информацию от этом пакете в файле /var/lib/dpkg/status
Проблема с обновлением jessie 2019-03
echo "Acquire::Check-Valid-Until false;" | sudo tee -a /etc/apt/apt.conf.d/10-nocheckvalid
Работа через dpkg
Установка пакета
dpkg -i ИМЯ_ПАКЕТА.deb
Если в процессе установки появится ошибка, что нет необходимых пакетов, то запускаем команду:
apt-get install -f
apt-get --fix-broken install
aptitude -f install
после этого нужно выполнить установку пакета повторно.
Удаление пакета
dpkg -r ИМЯ_ПАКЕТА.deb
Установка пакетов из unstable
При установке пакетов из unstable легко сломать зависимости и вернутся обратно будет невозможно!
Нужно создать файл: /etc/apt/sources.list.d/unstable.list
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 , надо указать основную версию в файле: /etc/apt/apt.conf.d/99defaultrelease
APT::Default-Release "stretch";
Чтобы поставить пакет нужно выполнить установку с указанием репозитория unstable
apt-get -t unstable install ИМЯ_ПАКЕТА
# Как установить Docker на Debian
Docker — распространённый и удобный инструмент для виртуализации. Он позволяет запускать в отдельном контейнере приложение со всеми его зависимостями. Это бывает очень удобно при разработке или тестировании приложения, когда его нужно перенести на новое устройство или другую машину.
В этой инструкции мы расскажем, как установить и запустить Docker на подготовленном к работе VPS под управлением Debian. Мы рассмотрим два варианта установки — классический и из «Пакетов приложений» Джино, создадим первые контейнеры и познакомимся с базовыми принципами работы в Docker.
# Установка Docker
Перед началом установки Docker обновим список пакетов apt и установим несколько дополнительных приложений, которые нам понадобятся в дальнейшей работе:
sudo apt update sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common
Теперь добавим GPG-ключ Docker в систему, подключим официальный репозиторий Docker и обновим список репозиториев apt:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" sudo apt update
После этого убедимся, что при установке Docker будем использовать официальный репозиторий Docker, а не стандартный для Debian:
sudo apt-cache policy docker-ce # Output docker-ce: Installed: (none) Candidate: 5:20.10.14~3-0~debian-buster Version table: *** 5:20.10.14~3-0~debian-buster 500 500 https://download.docker.com/linux/debian buster/stable amd64 Packages 100 /var/lib/dpkg/status …
На экран будут выведены:
- текущая версия Docker Installed (none) (в нашем случае её пока нет);
- версия, которую предлагают установить — Candidte: 5:20.10.14~3-0~debian-buster ;
- список доступных для установки версий, если вам нужна более ранняя версия программы.
Мы не будем выбирать какую-то конкретную и запустим установку последней:
sudo apt install docker-ce
После установки Docker начнёт работу автоматически. Проверить, что Docker установился и запущен, можно стандартной командой для сбора системных данных:
sudo systemctl status docker # Output ● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2022-04-13 13:34:11 +05; 19h ago Docs: https://docs.docker.com Main PID: 1905 (dockerd) Tasks: 16 Memory: 761.6M CGroup: /system.slice/docker.service ├─1905 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock └─2921 /usr/bin/unpigz -d -c …
Значение Active: active (running) since… показывает активный статус Docker. Программа запущена и готова к началу работы.
# Установка Docker из Пакетов приложений Джино
Если ваш VPS расположен на Джино, то вам доступен экспресс-вариант установки Docker.
В разделе меню VPS
Пакеты приложений выберите Docker в разделе «Другое», согласитесь на установку и дождитесь окончания установки — сервис самостоятельно установит последнюю версию Docker и все необходимые зависимости.
После завершения установки Docker дальнейшая работа с ним ничем не отличается от варианта с классической установкой. В частности, проверить его статус можно всё той же командой:
sudo systemctl status docker
# Начало работы с Docker
Чтобы ознакомиться с основными командами работы в Docker и его синтаксисом, достаточно ввести в командной строке docker . Она запустит встроенную систему помощи и выведет на экран основную информацию: формат написания команды, опции и сами команды:
docker # Output Usage: docker [OPTIONS] COMMAND A self-sufficient runtime for containers Options: --config string Location of client config files (default "/home/regular/.docker") -c, --context string Name of the context to use to connect to the daemon (overrides DOCKER_HOST env var and default context set with "docker context use") -D, --debug Enable debug mode … Management Commands: app* Docker App (Docker Inc., v0.9.1-beta3) builder Manage builds buildx* Docker Buildx (Docker Inc., v0.8.1-docker) config Manage Docker configs … Commands: attach Attach local standard input, output, and error streams to a running container build Build an image from a Dockerfile commit Create a new image from a container's changes cp Copy files/folders between a container and the local filesystem create Create a new container …
Чтобы посмотреть все опции, доступные для определённой команды, достаточно ввести саму команду с добавлением флага —help . Например:
sudo docker pull –help # Output Usage: docker pull [OPTIONS] NAME[:TAG|@DIGEST] Pull an image or a repository from a registry Options: -a, --all-tags Download all tagged images in the repository --disable-content-trust Skip image verification (default true) --platform string Set platform if server is multi-platform capable -q, --quiet Suppress verbose output
# Образы в Docker
Docker-контейнеры создаются на основе образов. Основной источник образов — Docker-Hub
(opens new window) — ресурс, где размещают свои образы официальные компании и разработчики. По умолчанию Docker ищет образы именно там.
Как это работает?
Вы ищете образ, который вам нужен, например, по ключевым словам «Ubuntu» или «Wordpress»:
sudo docker search ubuntu # Output NAME DESCRIPTION STARS OFFICIAL AUTOMATED ubuntu Ubuntu is a Debian-based Linux operating sys… 14052 [OK] websphere-liberty WebSphere Liberty multi-architecture images … 283 [OK] ubuntu-upstart DEPRECATED, as is Upstart (find other proces… 112 [OK] …
sudo docker search wordpress # Output NAME DESCRIPTION STARS OFFICIAL AUTOMATED wordpress The WordPress rich content management system… 4678 [OK] bitnami/wordpress Bitnami Docker Image for WordPress 190 [OK] bitnami/wordpress-nginx Bitnami Docker Image for WordPress with NGINX 57 [OK] …
В результате поиска на экран выводится таблица с доступными образами, содержащими в названии Ubuntu или WordPress. В таблице содержится имя образа (NAME), его описание (DESCRIPTION), рейтинг (STARS), указание на то, официальный это образ от разработчика или нет (OFFICIAL) и сведения о его развёртывании (AUTOMATED).
После выбора нужного образа его нужно скачать (получить в случае с Docker):
sudo docker pull ubuntu sudo docker pull wordpress
Когда образ скачается, на его основе можно создать контейнер, внутри которого образ будет функционировать.
Начнём с проверки доступных (скачанных) образов:
sudo docker images # Output REPOSITORY TAG IMAGE ID CREATED SIZE wordpress latest 744143078625 6 days ago 605MB ubuntu latest 825d55fb6340 8 days ago 72.8MB
Команда images выводит на экран список всех скачанных образов с указанием их метки, ID, даты создания самого образа и занимаемого ими объёма дискового пространства.
Вы можете запустить контейнер на основе любого из этих образов:
sudo docker run -it ubuntu
В данном случае мы добавили комбинацию флагов -it , чтобы перейти непосредственно в контейнер после его запуска и работать с ним в интерактивном режиме.
После запуска контейнера в консоли появится новый идентификатор:
root@1057058e07ef:/#
Он означает, что мы находимся внутри контейнера 1057058e07ef и в данном случае будем выполнять команды от имени root-пользователя.
Например, можем воспользоваться стандартной командой для обновления репозиториев:
apt update
Находящаяся внутри Docker-контейнера Ubuntu обновит список репозиториев apt в штатном режиме, как если бы она работала на полноценной машине.
Можем установить на Ubuntu в docker-контейнере язык программирования Node.js и после завершения установки проверить его версию:
apt install nodejs node -v # Output v10.19.0
Как видим, операционная система внутри контейнера полноценно функционирует.
Теперь можно создавать новое приложение или новый проект уже внутри Docker-контейнера. Любые изменения внутри контейнера никак не повлияют на основную, управляющую операционную систему и не смогут навредить вашему серверу.
© Джино, 2003–2022. «Джино» является зарегистрированным товарным знаком.
Лицензия на телематические услуги связи №150549 от 09.03.2017.
Debian по-прежнему отказывается использовать HTTPS

APT (advanced packaging tool) — программа для установки, обновления и удаления программных пакетов в операционных системах Debian и основанных на них (Ubuntu, Linux Mint и т. п.). Иногда также используется в дистрибутивах, основанных на Mandrake. Пакеты скачиваются по интернету из репозиториев по незащищённому соединению, без использования протокола TLS и шифрования. Возникает вопрос: почему? Разве HTTPS не обеспечивает лучшую безопасность? Debian считает, что HTTPS — лишняя сущность, поскольку система SecureAPT проверяет контрольную сумму для скачанных файлов и криптографическую gpg-подпись всего пакета.
Один из разработчиков Debian запустил сайт whydoesaptnotusehttps.com («Почему APT не использует HTTPS»), где объясняет официальную позицию.
Как работает SecureAPT
Во-первых, apt сравнивает хэши файлов из пакета. Они публикуются на сайте Debian в файле Release…
MD5Sum: 6b05b392f792ba5a436d590c129de21f 3453 Packages 1356479a23edda7a69f24eb8d6f4a14b 1131 Packages.gz 2a5167881adc9ad1a8864f281b1eb959 1715 Sources 88de3533bf6e054d1799f8e49b6aed8b 658 Sources.gz
…и передаются вместе с пакетом.
Package: uqm Priority: optional . Filename: unstable/uqm_0.4.0-1_i386.deb Size: 580558 MD5sum: 864ec6157c1eea88acfef44d0f34d219
Чтобы защитить файл Release от подделки, система SecureAPT добавляет цифровую подпись gpg, которая находится в файле Release.gpg:
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) iD8DBQBCqKO1nukh8wJbxY8RAsfHAJ9hu8oGNRAl2MSmP5+z2RZb6FJ8kACfWvEx UBGPVc7jbHHsg78EhMBlV/U= =x6og -----END PGP SIGNATURE-----
Программа apt скачивает файл Release.gpg и проверяет подпись с помощью доверенных публичных ключей, которые хранятся в файле /etc/apt/trusted.gpg. По умолчанию там записан записан публичный ключ архива Debian.
joey@dragon:~>sudo apt-key list /etc/apt/trusted.gpg -------------------- pub 4096R/55BE302B 2009-01-27 [verfällt: 2012-12-31] uid Debian Archive Automatic Signing Key (5.0/lenny)
Это последняя линия защиты, поэтому Debian периодически меняет ключи. Новые ключи распространяются с пакетом debian-archive-keyring, а также публикуются на веб-странице.
После публикации нового публичного ключа происходит ещё одна процедура. Секретный ключ, который использовался для генерации открытого ключа, с помощью программы gfshare делится на пять частей и распределяется между пятью авторитетными разработчиками по схеме разделения секрета Шамира. Чтобы восстановить секрет, как минимум трое из пяти разработчиков должны предоставить свои части секрета. Математическое доказательство схемы Шамира публиковалось на Хабре: оно основано на том, что через две точки на плоскости можно провести неограниченное число полиномов степени 2. Чтобы выбрать из них единственный — нужна третья точка. Проще говоря, схема основана на полиномиальной интерполяции.

Итак, в системе SecureAPT секретный ключ разделён на пять частей и надёжно защищён, криптографическая подпись файла Release проверяется общедоступным публичным ключом, а в этом файле хранятся контрольные суммы файлов из пакета. Зачем же использовать HTTS, если всё так защищено?
Зачем использовать HTTP?
Основная задача HTTPS — скрыть трафик от посторонних глаз (провайдер, государственные службы и другие злоумышленники), чтобы третье лицо не смогло:
- Вмешаться в трафик (модифицировать его).
- Прослушать трафик (сбор информации, разведка).
Разработчик Debian пишет:
HTTPS не обеспечивает значимой конфиденциальности для получения пакетов, поскольку злоумышленник обычно видит, с какими хостами вы связываетесь. Если вы подключитесь к зеркалу дистрибутива, будет совершенно очевидно, что вы загружаете обновления.
Вероятно, этот абзац написан в те времена, когда браузеры и интернет-сервисы не начали поддерживать технологию DNS over TLS и DNS over HTTPS (DoH) для шифрования DNS-трафика. Например, в апреле 2018 года её внедрил один из крупнейших CDN-провайдеров Cloudfalre, а в октябре 2018 года Google Public DNS тоже включил поддержку DNS over TLS.
Таким образом, после соответствующей настройки системы можно эффективно прятать DNS-запросы от постороннего лица, которое прослушивает трафик. Также идёт активная работа над внедрением других технологий, которые скрывают адресата пакетов. То есть в будущем HTTPS всё-таки сможет обеспечить должную конфиденциальность.
Debian приводит ещё один аргумент: даже на зашифрованном соединении «несложно выяснить, какие файлы скачивает пользователь по размеру трафика». Эту «уязвимость» можно использовать даже при анализе трафика через Tor.
Наконец, Debian не видит причин полностью доверять центрам сертификации: существует более 400 CA, которые предлагают сертификаты для любого домена. У многих плохая репутация, а некоторые напрямую контролируются государством. Сложно определить, какому CA можно доверять.
Таким образом, по мнению Debian, самое главное — гарантировать подлинность файлов в пакете, а не защитить само соединение.
Почему бы не внедрить HTTPS поверх существующего механизма SecureAPT? Разработчик считает это сложной инженерной задачей, которая требует безопасного обмена и хранения секретных ключей. Кроме того, внедрение HTTPS подразумевает «введение в заблуждение пользователей относительно уровня безопасности и конфиденциальности» по причинам, описанным выше.
В 2019 году сознательный отказ от HTTPS выглядит весьма экстравагантно, поэтому позиция Debian вызвала оживлённую дискуссию на Hacker News, где комментаторы выдвинули несколько контраргументов.
Что думаете вы, нужно ли шифровать трафик apt? (Опрос ниже).
Пакет: apt-transport-https (2.7.7)
This is a dummy transitional package — https support has been moved into the apt package in 1.5. It can be safely removed.
Другие пакеты, относящиеся к apt-transport-https
- dep: apt (>= 1.5~alpha4) менеджер пакетов с интерфейсом командной строки
Загрузка apt-transport-https
| Архитектура | Размер пакета | В установленном виде | Файлы |
|---|---|---|---|
| all | 22,5 Кб | 33,0 Кб | [список файлов] |
Эта страница также доступна на следующих языках (Как установить язык по умолчанию):
Чтобы сообщить о проблеме, связанной с веб-сайтом, отправьте сообщение (на английском) в список рассылки debian-www@lists.debian.org. Прочую контактную информацию см. на странице Debian Как с нами связаться.
Авторские права © 1997 — 2024 SPI Inc.; См. условия лицензии. Debian это торговый знак компании SPI Inc. Об этом сайте.