Перейти к содержимому

Apt transport https как установить на debian

  • автор:

Репозитории

Нужно использовать с осторожностью, т.к. зависимости многих пакетов конфликтуют по версиям с пакетами из основного репозитория.

Установка

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 — скрыть трафик от посторонних глаз (провайдер, государственные службы и другие злоумышленники), чтобы третье лицо не смогло:

  1. Вмешаться в трафик (модифицировать его).
  2. Прослушать трафик (сбор информации, разведка).

Разработчик 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. Об этом сайте.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *