Использование APT
Система APT состоит из нескольких утилит. Главной и наиболее часто используемой является утилита управления пакетами , которая автоматически определяет зависимости между пакетами и строго следит за их соблюдением при выполнении любой из следующих операций: установка, удаление или обновление пакетов.
позволяет устанавливать в систему пакеты, требующие для своей работы другие, пока ещё не установленные. В этом случае он определяет, какие пакеты необходимо установить, и устанавливает их, пользуясь всеми доступными репозитариями. Для того, чтобы мог использовать тот или иной репозитарий, информацию о нем необходимо поместить в файл и выполнить команду
~# apt-get update
Эту команду необходимо также выполнять каждый раз, когда вы собираетесь работать с репозитарием после длительного перерыва, так как при поиске пакетов APT должен руководствоваться базой данных, отражающей актуальное состояние репозитария. Такая база данных создаётся заново каждый раз, когда в репозитарии происходит изменение: добавление, удаление или переименование пакета. Для ускорения работы хранит локальную копию базы данных, которая через некоторое время может уже не соответствовать реальному состоянию репозитария.
В качестве источника пакетов можно использовать и компакт-диски дистрибутива, поскольку на каждом диске присутствует вся необходимая для APT информация о содержащихся на нём пакетах. Для этого необходимо использовать утилиту с единственным параметром . Операцию следует повторить для CD из набора. После этого в появится запись о подключённом диске.
При отсутствии подключения к сети строки в , где говорится о ресурсах, доступных по сети, следует закомментировать.
Что необходимо
Нам понадобятся как минимум программы, устанавливаемые командой
sudo apt-get install autoconf automake libtool autotools-dev dpkg-dev fakeroot
Можно так же — это документация по утилитам , , и . Ну и конечно то, что требуют сами исходные коды для корректной сборки.
Создание ключа шифрования
Этот шаг не обязателен, его можно пропустить.
Чтобы создать ключ, зайдите в Приложения → Стандартные → Пароли и ключи шифрования. В открывшемся окне, в меню Ключ → Новый ключ, выбираем ключ pgp. Заполняем поля Полное имя и Электронный адрес.
В мире свободного программного обеспечения, для предотвращения «краж» или «подделок», принято подписывать свои «ценные» вещи электронным ключом, открытая часть которого хранится на общедоступных серверах и позволяет другим пользователям легко выяснить подлинность и целостность той или иной вещи.
Поэтому отнеситесь к созданию ключа очень ответственно.
Никто вас не заставляет вписывать сюда реальные имя и фамилию, или ещё какие-нибудь личные данные, но если вас не разыскивает интерпол — думаю указать фамилию и имя будет верным решением, хотя можно и просто свой ник В общем, решайте сами. А вот почтовый адрес укажите реальный, и который вы не поменяете.
Можно завести ящик, если ещё нет, на каком-нибудь популярном почтовом сервере: например, gmail.com или yandex.ru .
Это позволит в будущем легко связаться с вами человеку, который вас не знает, но по той или иной причине встретил «вещь», подписанную вами.
Далее вас спросят ввести пароль, как дополнительную защиту. Он может быть полезен, если вы будете использовать закрытый ключ на машинах, которым вы не можете на 100% доверять. Обратная сторона — вам придётся вводить пароль каждый раз, как только вы будете что-то подписывать.
Хотя последняя версия программы seahorse имеет демон, который автоматически запускается в сеансе GNOME, и умеет «запоминать пароль» на время сеанса, но пока не все программы умеют с ней работать.
Итак, вы создали ключ — теперь его можно будет использовать при создании пакетов.
Для этого, в файл ~/.bashrc, или в другой стартовый скрипт, вашего любимого шелла (для zsh ~/.zshrc), нужно вписать переменные
export DEBEMAIL=ваш@имейл
dch -i
3.3 Удаление пакетов
Если пакет вам больше не нужен, то вы можете удалить его из вашей системы,
используя APT. Чтобы это сделать просто введите: apt-get remove
package. Например:
@[/] # apt-get remove gnome-panel Reading Package Lists... Done Building Dependency Tree... Done The following packages will be REMOVED: gnome-applets gnome-panel gnome-panel-data gnome-session 0 packages upgraded, 0 newly installed, 4 to remove and 1 not upgraded. Need to get 0B of archives. After unpacking 14.6MB will be freed. Do you want to continue? [Y/n]
Из вышеприведенного примера можно видеть, что APT также предлагает удалить
пакеты, от которых зависит пакет, предлагаемый вами к удалению. Способа
удалить пакет при помощи APT без удаления пакетов, от которых он зависит, нет.
Вышеприведенная команда удалит пакеты, но оставит их
настроечные файлы, если они есть. Для полного удаления пакета запустите:
@[/] # apt-get --purge remove gnome-panel Reading Package Lists... Done Building Dependency Tree... Done The following packages will be REMOVED: gnome-applets* gnome-panel* gnome-panel-data* gnome-session* 0 packages upgraded, 0 newly installed, 4 to remove and 1 not upgraded. Need to get 0B of archives. After unpacking 14.6MB will be freed. Do you want to continue? [Y/n]
Обратите внимание на ‘*’ после имен. Это указывает на то, что будут удалены
настроечные файлы для каждого из этих пакетов
Аналогично действию install, вы можете инвертировать действие
remove для определенных пакетов. В случае удаления, если вы
добавите знак ‘+’ справа от имени пакета, то пакет будет
установлен, а не удален.
@[/] # apt-get --purge remove gnome-panel nautilus+ Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: bonobo libmedusa0 libnautilus0 nautilus The following packages will be REMOVED: gnome-applets* gnome-panel* gnome-panel-data* gnome-session* The following NEW packages will be installed: bonobo libmedusa0 libnautilus0 nautilus 0 packages upgraded, 4 newly installed, 4 to remove and 1 not upgraded. Need to get 8329kB of archives. After unpacking 2594kB will be used. Do you want to continue? [Y/n]
Обратите внимание на то, что распечатывает дополнительные
пакеты, которые будут установлены (т.е., пакеты, которые будут установлены для
правильной работы запрашиваемых к установке пакетов), удаляемые пакеты и затем
пакеты, которые будут установлены (также включая дополнительные пакеты)
Использование apt-get и dpkg
Июнь 7th, 2014 Evgeniy Kamenev
Использование apt-get
# apt-get update
1 | # apt-get update |
– обновление информации о пакетах(установленных и доступных к установке)
# apt-get install имя_пакета
1 | # apt-get install имя_пакета |
– установка пакета(или его обновление,если пакет уже установлен в системе).
# apt-get install -s имя_пакета
1 | # apt-get install -s имя_пакета |
–симуляция установки пакета
# apt-get install -y имя_пакета
1 | # apt-get install -y имя_пакета |
– автоматическая установка пакета без запроса-подтверждения на установку
# apt-get install -d имя_пакета
1 | # apt-get install -d имя_пакета |
– только загрузка пакета,без его установки.
Загружаемые файлы находятся в
/var/cache/apt/archives
1 | varcacheaptarchives |
# apt-get —reinstall install имя_пакета
1 | # apt-get —reinstall install имя_пакета |
— переустановка пакета
# apt-get remove имя_пакета
1 | # apt-get remove имя_пакета |
– удаление пакета.(с сохранением конфигурационных файлов,если они есть).
# apt-get —purge remove имя_пакета
1 | # apt-get —purge remove имя_пакета |
– полное удаление пакета(включая конфигурационные файлы)
# apt-get -upgrade
1 | # apt-get -upgrade |
– обновление всех установленных в системе пакетов.
# apt-get -u dist-upgrade
1 | # apt-get -u dist-upgrade |
— обновлении существующего дистрибутива до нового.
# apt-get check
1 | # apt-get check |
— проверка зависимостей
# apt-cdrom install имя_пакета
1 | # apt-cdrom install имя_пакета |
— установка/обновление пакета с cdrom’а
# apt-get clean
1 | # apt-get clean |
— удаление загруженных архивных файлов пакетов
# apt-cache search имя_пакета
1 | # apt-cache search имя_пакета |
– просмотр имен пакетов, доступных для установки.
# apt-cache show имя_пакета
1 | # apt-cache show имя_пакета |
– просмотр информации о пакете.
# apt-cache showpkg имя_пакета
1 | # apt-cache showpkg имя_пакета |
– получение более расширенной информации о пакете.
# apt-cache policy имя_пакета
1 | # apt-cache policy имя_пакета |
– узнать, установлен ли пакет и из какого репозитария.
# apt-cache depends имя_пакета
1 | # apt-cache depends имя_пакета |
– получение зависимостей для пакаетa
# apt-file search имя_файла
1 | # apt-file search имя_файла |
– определение имени пакета,которому принадлежит указанный файл.
# apt-file list имя_пакета
1 | # apt-file list имя_пакета |
– просмотр списка файлов в пакете.
Добавление/удаление ключей аутентификции для проверки подлинности пакетов
# apt-key add – добавление ключа от репозитария
1 | # apt-key add – добавление ключа от репозитария |
# apt-key del – удаление ключа от репозитария
1 | # apt-key del – удаление ключа от репозитария |
Полезные опции apt-get:
-h
1 | -h |
справка
-d
1 | -d |
только загрузить — не устанавливать и не распаковывать архивы
-s
1 | -s |
ничего не делать реально, имитировать выполнение
-y
1 | -y |
предполагается ответ Yes на все вопросы, сами вопросы не выводить
-f
1 | -f |
продолжать, даже если проверка целостности не удачна
-u
1 | -u |
плюс ко всему показывать список обновленных пакетов
В одной строке можно задавать несколько пакетов. Скачанные из сети
файлы помещаются в каталог для дальнейшей установки.
/var/cache/apt/archives
1 | varcacheaptarchives |
# dpkg -l | grep имя_пакета
1 | # dpkg -l | grep имя_пакета |
– просмотр имени пакета,установленного в системе.
Настройка работы apt-менеджера через прокси-сервер.
В файл
/etc/apt/apt.conf
1 | etcaptapt.conf |
добавить строку:
Acquire::http::Proxy «http://user:password@IP_proxy_server:port»;
1 | Acquire::http::Proxy»http://user:password@IP_proxy_server:port»; |
, где
user
1 | user |
– имя пользователя для авторизации на прокси-сервере.
pass
1 | pass |
– пароль пользователя.
IP_proxy_server
1 | IP_proxy_server |
– IP-адрес прокси-сервера.
port
1 | port |
– номер порта, на котором прокси сервер слушает запросы клиентов.
Использование dpkg
# dpkg -l
1 | # dpkg -l |
— просмотр cписка пакетов, установленных в системе
# dpkg -r имя_пакета
1 | # dpkg -r имя_пакета |
— удаление пакета из системы
# dpkg -i имя_пакета.deb
1 | # dpkg -i имя_пакета.deb |
— устанка/обновление пакета
# dpkg -s имя_пакета
1 | # dpkg -s имя_пакета |
— просмотр информации о конкретном пакете
# dpkg —contents имя_пакета.deb
1 | # dpkg —contents имя_пакета.deb |
— просмотр списка файлов, входящих в пакет, который ещё не установлен в систему
# dpkg -L имя_пакета
1 | # dpkg -L имя_пакета |
— просмотр списка файлов, входящих в пакет, установленный в систему
# dpkg -S имя_файла
1 | # dpkg -S имя_файла |
– название пакета, в который входит указанный файл(например, dpkg -S /usr/bin/mc)
Опубликовано в рубрике Debian/Ubuntu, System Метки: apt, apt-get
Запуск и внешний вид
Перед запуском программы вы увидите окно, в которое вам нужно будет ввести свой пароль, для дальнейшей работы с приложением.
Для запуска Synaptic откройте Главное меню и наберите в поиске . Также Synaptic можно запустить введя в команду:
sudo synaptic
При запуске вы увидите главное окно программы:
Главное меню вверху, панель с несколькими кнопками, роль которых станет ясна чуть позже.
В левой части экрана внизу есть пять кнопок, которые определяют, что будет показываться в списке над ними, так что вы можете выбирать пакеты в списке, группируя их по статусу.
Если вы выберите «Все», вы увидите полный список доступных и установленных пакетов. При нажатии «Установленные» будут показываться лишь установленные пакеты и так далее. Правая часть окна разделена на верхнюю и нижнюю части. В верхней части выводится список пакетов, и при выбора пакета из этого списка в нижней части отображаются сведения о нем и его описание.
Пакеты могут быть сгруппированы по функциональности (текстовые редакторы, документация, почтовые клиенты и т.д.). Для этого используется кнопка «Разделы». После нажатия на нее вы сможете выбирать пакеты из различных секций.
Для получения подробной информации о пакете, кликните по нему правой кнопкой мыши и в появившемся меню выберите Свойства.
Solution 2 — Provide an absolute package (.deb) path, for offline package installation
In case your package is not available in the official Ubuntu repository and you have downloaded (.deb) package from the third-party site.
You are getting «unable to locate package» while installing it offline. It means you are not giving absolute path to your .deb package file.
Let me explain you with an example —
Google chrome browser is not part of Ubuntu official repository. So I downloaded .deb package of chrome and tried to install it.
Google Chrome «.deb» file exists in my Downloads directory. and if you notice in the image, I am in the same directory. But still, I am getting an «unable to locate package google-chrome-stable_current_amd64.deb» error.
Now I will just provide absolute path to .deb package file and it will work like a charm.
О репозиториях в Linux. Что это и зачем нужно
Т.е. еще раз и чуть иначе: репозиторий в Линуксе– это все файлы пакетов, принадлежащие одному дистрибутиву (например, Fedora), одной его версии (например, 16), то бишь сие есть огромное хранилище пакетов, которое находится в сети Интернет и которым Вы можете спокойно воспользоваться (причем бесплатно). Те самые ISO-файлы образов для записывания на болванку и последующей установки содержат как раз репозитории пакетов со всеми зависимостями и менеджером пакетов плюс установочную программу, которая разметит жёсткий диск, всё поставит и приготовит Вам рабочий стол (или сервер, или что попросите).
Для чего создаются репозитории? Ответ прост – для централизованного управления обновлением пакетов. Представим на секунду, что у нас нет репозиториев, и Вы установили Linux с диска с определенными (стандартными) программами. Однако время не стоит на месте, все программы обновляются и всё такое прочее. Как же тогда узнать – есть ли обновление для Вашей программы или нет? Естественно, придется посещать сайт разработчиков программы, чтобы выяснить это, что, согласитесь, не совсем удобно, особенно, если программ у Вас установлено очень много. Ну и понеслось, Вы раз проверили, два проверили наличие обновлений, в третий раз забыли, а потом и вообще надоело каждый раз смотреть, вышло там обновление или нет. И тут раз..
Вспоминаем, для чего у нас существуют обновления? А для того, чтобы не просто иметь новый (и улучшенный старый) функционал в оных программах, но еще и залатывать дыры, которые нередко приводят к различным неприятностям, начиная от глюков программы/системы и заканчивая проблемами с безопасностью (я, например, очень не люблю «терять» пароль, скажем, от почты по вине дыр в софте). Поэтому-то разработчики Linux и создали репозитории, с помощью которых можно быстро и удобно отслеживать обновления тех или иных пакетов (да и вообще обновления всей системы в целом), устанавливать новые и обновленные и всё такое прочее. Кстати, почему для Windows оным еще не озадачились, решительно непонятно (хотя там частично спасают программы для обновления программ, пусть это и не совсем то).
Поиск и установка нового программного обеспечения
После того, как вы обновили свои репозитории и обновили существующие пакеты, вы в хорошей форме для поиска и установки новых программ.
Используйте команды apt search и apt show для поиска нового программного обеспечения и изучения их технических требований. Эта первая команда просматривает все действительные репозитории, к которым вы подключены, в соответствии с конкретными условиями поиска:
Например, для поиска веб-браузера введите следующее:
Чтобы получить больше информации о пакете, наберите следующее:
Например, команда apt show для пакета chromium-browser отображает довольно много технической информации:
Вместо этого используйте sudo apt-cache show <имя пакета>, чтобы получить значительно больше технической информации о пакете.
После того, как вы обнаружили имя нужного вам пакета, установите его с помощью команды apt install . Например, чтобы установить пакет chromium-browser , введите:
И вам будет предложено установить дополнительные пакеты, от которых зависит браузер chromium. (Если вы используете флаг -y , команда будет выполняться без приглашения.)
Solution 3 — Update and build local repository cache
You may encounter this scenario if you have installed Ubuntu fresh and trying to update or install packages. Additionally, You are new to the Linux world.
Let me highlight, You must run «apt update» first to build a local cache repository. Otherwise empty cache will not return anything.
Actually, the package manager fetches the metadata of available packages over the network. Then it builds a local cache in the system, to provide a fast result to your package query.
The local cache repository may get stale anytime. So please make a thumb rule. Always update the package repository first and then only install the package. It is applicable to all Debian distros.
Then install the required package.
apt vs apt-get
В чем разница между apt vs apt-get
Несколько лет назад Linux Mint реализовал оболочку python, называемую apt, которая фактически использует apt-get, но предоставляет более дружественные параметры.
Этот подход, который мы обсуждаем здесь, не то же самое, что в Linux Mint.
Прежде чем мы увидим разницу между apt и apt-get, давайте перейдем на задний план этих команд и что именно они пытаются достичь.
Почему apt был представлен в первую очередь?
Debian, мать Linux дистрибутивов, таких как Ubuntu, Linux Mint, Elementary OS и т.д.,имеет надежную систему упаковки, и каждый компонент и приложение встроены в пакет, который установлен в вашей системе.
Для управления этой системой упаковки Debian использует набор инструментов под названием Advanced Packaging Tool (APT).
Не путайте его с apt, это не одно и то же.
Существуют различные инструменты, которые взаимодействуют с APT и позволяют устанавливать, удалять и управлять пакетами в дистрибутивах Linux на базе Debian.
apt-get – один из таких инструментов командной строки, который широко популярен.
Другим популярным инструментом является Aptitude с графическим интерфейсом и параметрами командной строки.
Если вы прочитали мой путеводитель по командам apt-get, вы можете столкнуться с рядом подобных команд, таких как apt-cache.
И здесь возникает проблема.
Понимаете, эти команды слишком низки, и у них так много функциональных возможностей, которые, возможно, никогда не используются средним пользователем Linux.
С другой стороны, наиболее часто используемые команды управления пакетами разбросаны по apt-get и apt-cache.
Для решения этой проблемы были введены команды apt.
apt состоит из наиболее широко используемых функций из apt-get и apt-cache, оставляя в стороне неясные и редко используемые функции.
Он также может управлять файлом apt.conf.
С помощью apt вам не нужно возиться с командами apt-get в apt-cache.
apt более структурирован и предоставляет вам необходимые параметры, необходимые для управления пакетами.
Итог: apt = наиболее часто используемые параметры команды из apt-get и apt-cache.
Разница между apt и apt-get
Таким образом, с apt, вы получаете все необходимые инструменты в одном месте.
Вы не будете потеряны в тоннах параметров команды.
Основная цель apt – обеспечить эффективный способ обработки пакета так, «приятным для конечных пользователей».
Когда Debian говорит «приятный для конечных пользователей», это на самом деле означает это.
У него меньше, но достаточно вариантов команд, но более организованным способом.
Кроме того, он позволяет по умолчанию использовать несколько опций, которые действительно полезны для конечных пользователей.
Например, вы можете увидеть индикатор выполнения при установке или удалении программы в apt.
apt также запрашивает количество пакетов, которые могут быть обновлены при обновлении базы данных репозитория.
Вы можете достичь того же с помощью apt-get, если используете дополнительные параметры команды. apt позволяет им по умолчанию
Разница между командами apt и apt-get
Хотя apt имеет некоторые аналогичные параметры команды, такие как apt-get, он не обратно совместим с apt-get.
Это означает, что он не всегда будет работать, если вы просто замените apt-get часть команды apt-get с помощью apt.
Давайте посмотрим, какая команда apt заменяет параметры apt-get и apt-cache.
apt | apt-get | Функция команды |
---|---|---|
apt install | apt-get install | Installs a package |
apt remove | apt-get remove | Removes a package |
apt purge | apt-get purge | Removes package with configuration |
apt update | apt-get update | Refreshes repository index |
apt upgrade | apt-get upgrade | Upgrades all upgradable packages |
apt autoremove | apt-get autoremove | Removes unwanted packages |
apt full-upgrade | apt-get dist-upgrade | Upgrades packages with auto-handling of dependencies |
apt search | apt-cache search | Searches for the program |
apt show | apt-cache show | Shows package details |
У apt есть несколько собственных команд.
apt | Функция команды |
---|---|
apt list | Lists packages with criteria (installed, upgradable etc) |
apt edit-sources | Edits sources list |
Здесь следует отметить, что apt находится в непрерывном развитии.
Таким образом, вы можете увидеть несколько новых параметров, добавленных в команду в будущих версиях.