APT использует файл, который содержит список «источников» из которых могут быть получены пакеты. Это файл /etc/apt/sources.list. Записи в этом файл обычно следуют формату:
deb http://URL/debian distribution parameter1 parameter2 parameter3 deb-src http://URL/debian distribution parameter1 parameter2 parameter3
Конечно, указанные выше записи приведены только для примера и не должны использоваться. Первое слово каждой линии, deb или deb-src, показывают тип архива: является ли эта строка ссылкой на бинарные пакеты (deb), которые являются прекомпилированными пакетами, которые мы обычно используем, или это это ссылки на исходные коды оригинальных программ, плюс контрольные файлы Debian (.dsc) и diff.gz, содержащие изменения необходимы для «дебианизации» программы.
#deb cdrom:[Debian GNU/Linux 6.0.5 _Squeeze_ — Official amd64 NETINST Binary-1 20120512-20:40]/ squeeze main deb http://mirror.yandex.ru/debian/ squeeze main deb-src http://mirror.yandex.ru/debian/ squeeze main deb http://security.debian.org/ squeeze/updates main deb-src http://security.debian.org/ squeeze/updates main #squeeze-updates, previously known as ‘volatile’ deb http://mirror.yandex.ru/debian/ squeeze-updates main deb-src http://mirror.yandex.ru/debian/ squeeze-updates main
Здесь представлены строки, необходимые для базовой установки Debian. Первый блок указывает на региональный архив основных файлов, второй — на обновления безопасности, а третий на обновления Debian.
Как устанавливать программы в Linux?
Строки, начинающиеся с deb — ссылки на архивы бинарных пакетов, начинающиеся с deb-src — ссылки на архивы исходных кодов пакетов.
Файл /etc/apt/sources.list может содержать различные типы строк. APT умеет использовать архивы следующих типов: http, ftp, file (локальные файлы, то есть директории, содержащие примонтированные файловые системы типа ISO9660) и ssh, насколько мне известно.
Не забудьте запустить команду apt-get update после изменения файла /etc/apt/sources.list. Вы должны сделать это чтобы APT мог получить списки пакетов из указанных вам источников. Когда вы устанавливаете пакет APT получает необходимые файлы с хостов перечисленных в /etc/apt/sources.list, сохраняет их в локальном репозитарии (/var/cache/apt/archives/) и переходит к установке.
Основные утилиты для управления пакетами
dpkg – установщик пакетных файлов Debian
apt-get – утилита командной строки для APT
aptitude – имеет как псевдографический интерфейс, так и вариант для командной строки
synaptic – графический (gui) интерфейс для APT
dselect – менеджер пакетов на основе меню
tasksel – установщик задач
Для установки программ с помощью apt выполните следующее:
# apt-get install software
Утилита имеет следующие параметры:
-h — отобразить справку
-d — только загрузить пакеты, но не устанавливать их
-f — попытаться продолжить, если тесты целостности не пройдены
-s — ничего не делать, только провести симуляцию установки
Как устанавливать программы на linux debian 11
-y — отвечать Да на все вопросы и ничего не спрашивать
-u — также отобразить список обновляемых пакетов.
Примеры использования apt-get
Если вы как-либо повредили установленный пакет или просто хотите обновить пакет до последней версии, которая доступна, вы можете использовать параметр —reinstall, к примеру, так:
# apt-get —reinstall install packagename
Обновление списка пакетов из источников, перечисленных в вашем файле sources.list:
# apt-get update
Обновление программ с помощью APT:
# apt-get -u upgrade
Чтобы изменить список зеркал APT:
# apt-setup
Искать пакет в локальном кэше:
# apt-cache search package
Удалить программу с помощью APT:
# apt-get remove software
Обновить список пакетов:
# apt-get update
Обновить доступные списки пакетов:
# dselect update
Обновить все установленные пакеты:
# apt-get upgrade
# apt-get install pkg
# apt-get remove pkg
Показать все установленные и удалённые пакеты:
# dpkg -l
Показать статус установки пакета:
# dpkg -l pkg
Показать все пакеты, удовлетворяющие маске:
# dpkg -S pattern
Показать пакеты, которые содержат строку:
# dpkg
Показать список файлов в пакете:
# dpkg -L pkg
Показать статус пакета:
# dpkg -s pkg
Показать детали пакета:
# dpkg -p pkg
Показать связанные пакеты:
# apt-cache search string
Установить пакет из deb файла:
# dpkg -i file.deb
Вычистить пакет из системы вместе с конфигурационными файлами:
# dpkg -P pkg
Повторно запустить конфигурацию для пакета:
# dpkg-reconfigure pkg
Получить исходные коды пакета:
# apt-get source pkg
Определяет зависимости для исходников и устанавливает их, если нужно:
# apt-get build-dep name
Установить пакет из указанного релиза:
# apt-get -t release install pkg
Предотвращает загрузку указанной программы при старте системы:
# update-rc.d -f name remove
# apt-get –u dist-upgrade
Параметр -u показывает список обновляемых пакетов:
# apt-show-versions -u
Как узнать, какие пакеты могут быть обновлены?
apt-show-versions — это программа, которая показывает какие пакеты в системе могут быть обновлены и, кроме того, некоторую полезную информацию.
Управление пакетами с помощью aptitude
Aptitude является в настоящий момент предпочтительной системой для работы с APT (Advanced Package Tool). Она запоминает, какие пакеты были установлены напрямую Вами, а какие пакеты были установлены за счет зависимостей. Недавние пакеты будут автоматически удалены системой aptitude, когда они будут уже не будут требоваться какому-либо пакету, установленному напрямую. Aptitude имеет продвинутые функции фильтрации пакетов, но они могут быть сложны в настройке.
Обновление локального кеша доступных пакетов (ранее: apt-get update):
# aptitude update
Обновить доступные пакеты (ранее: apt-get upgrade):
# aptitude upgrade
Обновить доступные пакеты, даже если это значит удаление части пакетов (ранее: apt-get dist-upgrade):
# aptitude dist-upgrade
Установить пакет (ранее: apt-get install):
# aptitude install pkgname
Удалить пакет (ранее: apt-get remove):
# aptitude remove pkgname
Удалить пакет и конфигурационные файлы (ранее: apt-get –purge remove):
# aptitude purge pkgname
Искать пакет с текстом «string» в имени или описании (ранее: apt-cache search string):
# aptitude search string
Показать подробную информацию о пакете (ранее: apt-cache show pkgname):
# aptitude show pkgname
Удалить загруженные файлы пакетов (ранее: apt-get clean):
# aptitude clean
Удалить только файлы пакетов старых версий, но пакеты текущих версий оставить (ранее: apt-get autoclean):
# aptitude autoclean
Зафиксировать пакет на текущей версии и не обновлять его автоматически (ранее: не понятная команда echo-to-file):
# aptitude hold pkgname
Чтобы снять фиксацию следует использовать параметр unhold.
Оптимизированный sources.list
Вообще говоря, усилия для создания оптимизированного sources.list не дают особого улучшения.
apt-spy создает sources.list автоматически, на основе задержек и пропускной способности. netselect-apt создает более полный sources.list, но использует более простой метод выбора лучшего зеркала (сравнения времени пингов).
# aptitude install apt-spy # cd /etc/apt ; mv sources.list sources.list.org # apt-spy -d testing -l sources.apt
Команда dpkg-divert
Файловые «отклонения» (divertions) — это способ заставить dpkg не устанавливать файл в директорию по умолчанию, но устанавливать в измененную директорию. «Отклонения» могут быть использованы с помощью дебиановских скриптов управления пакетами для перемещения файла в другое место когда он вызывает конфликты. Системные администраторы также могут использовать «отклонение» для подавления конфигурационного файла пакета или в случае, когда некоторые файлы (которые не помечены как conffiles) должны быть сохранены системой dpkg во время установки новой версии пакета, содержащего эти файлы.
# dpkg-divert [—add] filename # add «diversion» # dpkg-divert —remove filename # remove «diversion»
Что делать, если команда dpkg сломана
Сломанный dpkg делает невозможным установку любых .deb файлов. Процедура, описанная ниже, поможет вам в этой ситуации. Вам понадобится любая команда для браузинга сайтов, к примеру, links.
$ links http://http.us.debian.org/debian/pool/main/d/dpkg/ . download the good dpkg_version_arch.deb $ su password: ***** # ar x dpkg_version_arch.deb # mv data.tar.gz /data.tar.gz # cd / # tar xzfv data.tar.gz
Для архитектуры i386, в URL может быть использована также ссылка http://packages.debian.org/dpkg
Локальный архив пакетов
Для того, чтобы создать локальный архив пакетов, совместимый с APT и системой dselect, пакеты должны быть созданы и занесены в особое дерево директорий.
Локальный deb репозитарий, похожий на официальный архив Debian, может быть создан следующим образом:
# aptitude install dpkg-dev # cd /usr/local # install -d pool # physical packages are located here # install -d dists/unstable/main/binary-i386 # ls -1 pool | sed ‘s/_.*$/ priority section/’ | uniq > override # editor override # adjust priority and section # dpkg-scanpackages pool override /usr/local/ > dists/unstable/main/binary-i386/Packages # cat > dists/unstable/main/Release > /etc/apt/sources.list
Другим способом, быстрый и грязный локальный deb архив может быть создан так:
# aptitude install dpkg-dev # mkdir /usr/local/debian # mv /some/where/package.deb /usr/local/debian # dpkg-scanpackages /usr/local/debian /dev/null | gzip — > /usr/local/debian/Packages.gz # echo «deb file:/usr/local/debian ./» >> /etc/apt/sources.list
К этим архивам можно получить удаленный доступ, если предоставить доступ к этим директориям посредством HTTP или FTP и внести соответствующие изменения в файл /etc/apt/sources.list
Команда auto-apt
auto-apt — это приложение для установки пакетов по требованию.
$ sudo auto-apt update . update database $ auto-apt -x -y run Entering auto-apt mode: /bin/bash Exit the command to leave auto-apt mode. $ less /usr/share/doc/med-bio/copyright # access non-existing file . Install the package which provide this file. . Also install dependencies
Основные ошибки при управлении пакетами
Ошибки всегда случаются, многие из них по причине не внимательности пользователей. Ниже представлены наиболее часто встречающиеся ошибки и информация о том, что делать при их возникновении.
1. Если Вы получили представленное ниже сообщение, когда пытались выполнить команду вида apt-get install package
Reading Package Lists. Done Building Dependency Tree. Done W: Couldn’t stat source package list ‘http://people.debian.org unstable/ Packages’ (/var/state/apt/lists/people.debian.org_%7ekov_debian_unstable_Packages) — stat (2 No such file or directory) W: You may want to run apt-get update to correct these missing files E: Couldn’t find package penguineyes
то вы забыли выполнить команду apt-get update после того, как внесли изменения в файл /etc/apt/sources.list.
2. Если ошибка выглядит как эта:
E: Could not open lock file /var/lib/dpkg/lock — open (13 Permission denied) E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
в момент, когда вы пытаетесь воспользоваться одним из методов apt-get, кроме source, то у вас нет прав суперпользователя, то есть вы работаете под обычным пользователем.
Существует ошибка похожая на представленную выше, которая возникает когда вы запускаете две копии apt-get в одно и то же время или если вы даже пытаетесь запустить apt-get пока активен процесс dpkg. Единственный метод, который может использоваться одновременно с другими — это метод source.
3. Если установка прерывается в середине процесса и вы обнаруживаете, что более нет возможности устанавливать или удалять пакеты, попробуйте воспользоваться следующими двумя командами:
# apt-get -f install # dpkg —configure -a
и затем попробуйте заново провести установку. Может понадобиться выполнить вторую из представленных выше команд больше чем один раз. Это может быть хорошим уроком для тех приключенцев, которые любят использовать «не стабильный» софт.
4. Если вы получили ошибку
E: Dynamic MMap ran out of room
во время работы apt-get update, то добавьте следующую строку в файл /etc/apt/apt.conf:
APT::Cache-Limit 10000000;
Опубликовано 23 October 2013
Источник: debian-help.ru
Репозитории
Нужно использовать с осторожностью, т.к. зависимости многих пакетов конфликтуют по версиям с пакетами из основного репозитория.
Установка
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
Список 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
Обновление списка пакетов
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 ИМЯ_ПАКЕТА
Источник: sysadminmosaic.ru
POPSuL:
Установка, удаление и обновление программ в Ubuntu/Debian [Для самых маленьких]
Решил открыть у себя раздел «Для самых маленьких», то есть раздел, в котором я буду описывать то, как работать с консольными программами в Ubuntu/Debian для «чайников», т.е. тех, кто только собирается осваивать ОС с Linux’ом на борту.
И так, приступим…
В этой статье мы научимся искать, устанавливать и удалять программы (далее — пакеты). Для начала на понадобится открыть эмулятор терминала, для этого заходим в список установленных программ и ищем его там, или же нажимаем Alt+F2 и пишем команду gnome‐terminal и жмём Enter. У нас должно появиться окно терминала:
В нём нам и предстоит работать.
Обновляем
Перед тем, как устанавливать пакеты необходимо обновить список доступных пакетов. Делается это с помощью команды
sudo apt-get update
Вам будет предложено ввести свой пароль, после ввода которого необходимо будет нажать Enter (да, вводимые знаки при вводе пароля не отображаются, вообще). Дальше всё зависит от вашей скорости доступа к Интернету, но обычно на обновление списка пакетов уходит 3–15 минут.
Ищем
Для того чтобы узнать точное название пакета, и то, есть ли он в репозитории, необходимо попытаться его найти. Для примера, мы будем пытаться найти редактор векторной графики Inkscape. Попробуем найти редактор не зная его точного названия: