Оглавление
Что такое APT
APT (сокращение от Advanced Packaging Tool) — это набор утилит для установки, удаления, обновления, поиска пакетов в Linux, а также для управления репозиториями. APT еще называют пакетным менеджером.
APT использует репозитории пакетов. Список репозиториев для APT хранится в файле /etc/apt/sources.list, а также в директории /etc/apt/sources.list.d/.
APT используется в дистрибутивах, основанных на Dedian и Ubuntu.
Для управления APT существуют разные утилиты, но самые популярные из них это утилиты командной строки apt-get и apt.
В данной статье мы рассмотрим, как пользоваться командой apt, а также узнаем, чем отличается apt от apt-get.
Чем отличаются apt и apt-get
Кратко ответим на очень популярный вопрос, а в чем разница между командами apt и apt-get?
apt это утилита, которая появилась, как альтернатива apt-get. Она выполняет практически все те же функции, что и apt-get, но с ней проще и понятнее работать.
Например, все команды apt имеют простой синтаксис: apt название_команды. А у apt-get есть дополнительные команды, например, apt-cache. Таким образом, при использовании apt, пользователю не нужно запоминать дополнительные наборы команд.
Помимо упрощения работы с командами, apt нагляднее выводит информацию, вроде бы мелочи, но работать удобнее. Например, apt умеет показывать прогресс бар, а при выполнении apt update можно увидеть сколько пакетов можно обновить.
Стоит отметить, что утилита apt-get более функциональна, чем apt. Но для рядового пользователя apt будет более чем достаточно.
Синтаксис и опции apt
Синтаксис команды apt очень простой и похож на другие команды Linux:
$ aptопциикомандапараметры_команды
Опции указывают общее поведение утилиты, команда – действие, которое надо выполнить, а в параметрах команды обычно передается имя пакета, с которым следует работать, например, установить или удалить. Вот основные опции утилиты:
- -v, –version – выводит версию утилиты;
- -h, –help – выводит справку по использованию утилиты;
- -y, –yes – автоматически отвечать “да” на все возникающие вопросы;
- –assume-no – автоматически отвечать “нет” на все возникающие вопросы;
- -d, –download-only – только скачать пакеты и больше ничего не делать;
- -f, –fix-broken – исправить недостающие зависимости;
- –no-download – ничего не загружать, использовать только пакеты из кэша;
- -s, –simulate – режим симуляции, никакие операции не выполняются, только выводится информация на экран;
- –allow-unauthenticated – позволяет установить пакеты, из репозиториев, для которых нет GPG подписи;
- –no-install-recommends – не устанавливать рекомендованные пакеты, по умолчанию будут установлены;
- -m, –ignore-missing – игнорировать пакеты, которые существует;
- -q, –quiet – выводить минимум информации, не показывать прогресс бар;
- -V, –verbose-versions – показывать полные версии обновленных пакетов;
- –only-upgrade – не устанавливать новые пакеты, только обновлять;
- –allow-downgrades – разрешить откатывать версию пакетов;
- –reinstall – переустановить пакет если он уже установлен;
А теперь давайте пройдёмся по командам apt, которые вы можете использовать:
- install – установить пакет;
- remove – удалить пакет, конфигурационные файлы, которые были изменены в вашей системе удалены не будут;
- purge – полностью удалить пакет, вместе со всеми его конфигурационными файлами;
- autoremove – очистить ненужные пакеты;
- autoclean – очистить кэш пакетов;
- update – обновить списки пакетов из репозиториев;
- upgrade – обновить версию пакета до последней, если пакет не указан будут обновлены все пакеты;
- full-upgrade – полное обновление системы, включая удаление несовместимых или больше ненужных пакетов;
- list – список установленных пакетов;
- search – поиск пакетов;
- show – посмотреть информацию о пакете;
- download – скачать пакет в текущую папку;
- edit-sources – открыть с настройками репозиториев в текстовом редакторе.
- source – скачать исходный код пакета в текущую папку;
- build-dep – установить зависимости необходимые для сборки выбранного пакета;
Дальше рассмотрим несколько примеров работы с apt, которые пригодятся как начинающим, так и более опытным пользователям.
Как пользоваться apt
Обновление пакетов
Сначала давайте обновим список пакетов apt из репозиториев. Репозитории находятся на удалённых серверах и когда утилита apt ищет пакет для установки, естественно, что она не обращается ко всем репозиториям подряд чтобы узнать где он находится. В системе уже есть сохранённых кэш информации о том, какие пакеты вообще есть и где их можно скачать. Для обновления этого кэша используйте команду update:
sudo apt update
Во время загрузки URL репозиториев обозначаются специальными префиксами, вот что они означают:
- Hit (Сущ) – список не изменился с момента предыдущей загрузки;
- Ign (Игн) – репозиторий игнорируется, либо он слишком новый, либо произошла незначительная ошибка во время загрузки;
- Get(Пол) – доступна новая версия и она будет загружена.
Когда кэш обновлен вы можете посмотреть для каких пакетов доступны обновления:
sudo apt list –upgradable
Аналогично можно посмотреть установленные пакеты apt:
sudo apt list –installed
Или всех доступных:
sudo apt list –all-versions
Затем можно обновить все пакеты в системе:
sudo apt full-upgrade
Установка пакетов
Чтобы установить пакет apt используйте команду install, например, для установки программы Gimp используйте команду install:
sudo apt install gimp
Если пакет установился неверно и вы хотите его переустановить, можно использовать опцию –reinstall:
sudo apt install gimp –reinstall
Как видите, опции можно указывать не только перед командой, но и после неё, аналогично можно установить несколько пакетов сразу, например:
sudo apt install gimp inkskape -y
Чтобы не подтверждать установку вручную используем опцию -y. Допустим вы установили пакет с помощью dpkg и теперь хотите установить для него зависимости, запустите команду install без параметров с опцией -f или –fix-broken:
sudo apt install –fix-broken
Можно скачать deb пакет в текущую папку без установки:
apt download gimp
Скачивать пакеты надо от имени обычного пользователя, иначе тогда они не будут доступны для работы с ними. Если вам нужно установить пакет из файла, просто передайте путь к файлу команде install:
sudo apt install gimp_2.8.22-1_amd64.deb
Чтобы установить определенную версию пакета просто укажите нужную версию после имени пакета через знак =, например:
sudo apt install linux-хедерs-generic=4.15.0.20.23
Чтобы найти доступные версии можно использовать команду policy. Она отображает информацию о том какая версия установлена, а также какие версии доступны:
sudo apt policy linux-хедерs-generic
Если вы не знаете как точно называется пакет, можно выполнить поиск пакетов apt с помощью команды search:
sudo apt search gimp
Установить несколько пакетов
Для установки нескольких пакетов их имена записываются через пробел:
sudo apt install <пакет1> <пакет2> <пакет3> </пакет3></пакет2></пакет1>
Удаление пакетов
Чтобы удалить ненужный пакет используйте команду remove:
sudo apt remove gimp
Однако если вы изменяли какие-либо конфигурационные файлы из состава пакета, то при таком способе удаления они останутся в системе, чтобы удалить всё полностью используйте команду purge:
sudo apt purge gimp
Чтобы удалить лишние пакеты, которые в системе больше не нужны выполните команду autoremove:
sudo apt autoremove
А для очистки кэша пакетов – autoclean:
sudo apt autoclean
Удалить неиспользуемые пакеты
sudo apt autoremove
Когда вы устанавливаете пакет, то часто устанавливаются дополнительные пакеты, являющиеся его зависимостями. Если теперь вы удалите этот пакет, то зависимости останутся в системе. apt autoremove удаляет эти зависимости, но только те, которые не нужны другим установленным пакетам.
Обновить список пакетов
sudo apt update
У APT есть список репозиториев, из которых происходит установка пакетов. Список хранится в текстовом файле /etc/apt/sources.list, а также в директории /etc/apt/sources.list.d/. При выполнении команды apt update, APT проходит по списку репозиториев и из каждого репозитория в списке получает информацию о пакетах, находящихся в репозитории. Вся эта информация сохраняется в системе.
Если выходит новая версия какого-нибудь пакета, то APT не узнает об этом, пока не будет выполнена команда apt update. Поэтому, если установить данный пакет (не выполнив предварительно apt update), то будет установлена та версия пакета, информация о которой хранится в системе в данный момент.
Нужно ли выполнять apt update перед установкой каждого пакета?
Нет, перед установкой каждого пакета apt update конечно же выполнять не следует. Достаточно выполнять apt update периодически. Если вам предстоит установка нескольких пакетов, то сначала можно один раз выполнить apt update, а потом уже устанавливать пакеты.
Крайне рекомендуется выполнять apt update перед обновлением пакетов (перед apt upgrade).
dpkg -L package_name
Эта команда покажет, какие файлы для пакета с именем package_name установлены на вашем компьютере. Обратите внимание, что эта команда работает только для уже установленных пакетов. Пример:
embryo@debian:~$ dpkg -L vorbis-tools
/.
/usr
/usr/bin
/usr/bin/ogg123
apt-get build-dep package_name
(необходимы привилегии root)
Это очень полезная команда, с ее помощью устанавливаются все библиотеки, необходимые для разработки приложения. Так что если вам нужно скомпилировать новую версию программы, отличающуюся от той, что есть в репозитарии, для получения зависимостей используйте эту команду. Обратите внимание, что будут установлены библиотеки, необходимые для текущей версии приложения, которая взята из репозитариев, поэтому вам, возможно, потребуется установить дополнительные библиотеки. Но для большинства приложений этого не требуется. Пример:
apt-get build-dep wesnoth
С помощью этой команды будут установлены все пакеты разработчика, необходимые для приложения Wesnoth. Имейте в виду, что у вас должен быть прописан доступ к репозитариям исходных кодов (в Ubuntu по умолчанию доступ к ним есть).
apt-get clean (и apt-get autoclean)
(необходимы привилегии root)
С помощью этой команды удаляются все архивы, установленные в вашей системе. Всякий раз, когда вы устанавливаете приложение, оно будет загружено и его пакет DEB будет помещен в директорий /var/cache/apt/archives/. Данная команда удаляет эти пакеты и освобождает место.
apt-get clean
apt-get autoclean
Относительно apt-get autoclean: с помощью этой команды удаляются только те архивы, которых уже нет в репозитариях, и сохраняются те, которые в данный момент в репозитариях присутствуют. Эта команда полезна, если вы хотите избавиться от старых архивов, которые были обновлены, но обновленные архивы хотите на всякий случай сохранить. Для того, чтобы увидеть, сколько места занимают архивы, используйте команду du -h (аргумент -h указывает, что результат нужно выдать в формате, удобном для чтения):
du -h /var/cache/apt/archives/
apt-cache show package_name
Будет отображена информация о любом пакете package_name, который присутствует в репозитарии. Вам достаточно набрать только название пакета, а не указывать название и версию. Пример:
embryo@debian:~$ apt-cache show vorbis-tools
Package: vorbis-tools
Priority: optional
Section: sound
Installed-Size: 580
…
apt-get update && apt-get upgrade
(необходимы привилегии root)
Это одностроковая команда, которая обновит список ваших пакетов и выполнит обновление вашей системы. Поскольку для ее выполнения требуются привилегии root, то если ваш дистрибутив — Ubuntu, используйте sudo apt-get update && sudo apt-get upgrade. Обратите внимание, что вторая команда (после двойного амперсанда) выполняется только в случае, если выполнение первой команды было успешным, поэтому, если по какой-нибудь причине списка обновлений получить не удалось, вторая команда выполняться не будет. Если вы используете тестовый или бета-релиз, используйте вместо нее следующую команду:
sudo apt-get update && sudo apt-get dist-upgrade
Обновления будут получены даже в случае, если они зависят от более новых пакетов.
dpkg –get-selections
Эта команда выведет список всех пакетов, установленных в системе с помощью менеджера пакетов (более точно, это те пакеты, которые были выбраны в менеджере пакетов — прим.пер.). Пример:
embryo@debian:~$ dpkg –get-selections
acpi-support-base install
acpid install
adduser install
akregator install
…
dpkg -S filename
Будет найден по образцу filename список файлов, имеющихся в установленных пакетах. Пример:
embryo@debian:~$ dpkg -S oggenc
vorbis-tools: /usr/share/man/man1/oggenc.1.gz
vorbis-tools: /usr/bin/oggenc
embryo@debian:~$
apt-get autoremove
(необходимы привилегии root)
С помощью этой команды удаляются ненужные пакеты (например, одиночные пакеты), которые не используются никаким из пакетов, в текущий момент установленных в системе. Такая ситуация часто возникает после удаления определенного приложения, когда его зависимости не удаляются и по-прежнему остаются в системе. Используйте эту команду, чтобы избавиться от таких пакетов.
apt-cache depends package_name
Очень полезная команда, которая перечисляет все зависимости, которые есть у пакета, в том числе и рекомендуемые пакеты.
embryo@debian:~$ apt-cache depends vorbis-tools
vorbis-tools
Depends: libao2
Depends: libc6
Depends: libcurl3-gnutls
…
apt-cache policy package_name
Эта команда выдаст список репозитариев, в которых находится пакет. В Ubuntu, есть четыре таких репозитария: main, restricted, universe и multiverse. В Debian имеются репозитари main, contrib и non-free. Для каждого пакета есть определенная политика его использования и она зависит от того, в каком из указанных репозитариев находится пакет.
apt-cache policy amarok
apt-cache policy sun-java6-jre
apt-cache showsrc package_name
Будет отображаться информация об исходном коде пакета.
apt-get -f install
(необходимы привилегии root)
Будет сделана попытка исправить нарушенные зависимости. Как правило, эта команда очень полезна в случае, если вы пытаетесь вручную установить пакет DEB, не устанавливая первоначально его зависимости. Выполните команду apt-get -f install, а затем снова попытайтесь установить пакет.
apt-cdrom add
(необходимы привилегии root)
Команда добавит CD-ROM к числу источников, откуда можно получать пакеты, так что вы сможете устанавливать с него пакеты. Эта команда особенно полезна, если у вас есть образы ISO, которые вы не хотите записывать на компакт-диск. Для того, чтобы сканировать образы ISO, используйте команду:
apt-cdrom -d=/cdrom add
В результате в директории /cdrom будет смонтирован образ ISO, а затем его содержимое будет добавлено в sources.list. Обратите внимание, что директорий /cdrom должен быть пустым. Для этого вы можете использовать любой пустой директорий:
apt-cdrom -d=/home/USER/mydir
apt-file
Эта программа предназначена для поиска файлов в пакетах. Также она может показать все файлы в пакете.
Установка программы:
sudo apt-get install apt-file
Сразу после установки кэш данных о программах пуст. Чтобы его обновить нужно выполнить команду (можно выполнять как от рута, так и от пользователя):
apt-file update
Когда всё готово, то поиск осуществляется так:
apt-file search имя_файла
К примеру я ищу файл ffi.h:
apt-file search ffi.h
Как можно увидеть файл найден, но кроме него ещё и много лишнего:
На помощь можно призвать умные регулярные выражения, к примеру в следующей строке замените ffi.h на тот файл, который вы ищите — и вы всегда будете получать самый точный результат:
t=ffi.h; apt-file search $t | grep -E “/$t$”
Ну и для любителей графического интерфейса, вот вам от меня графический интерфейс:
FILE=`/usr/bin/zenity –entry –width=300 —title=”Нахождения пакета по файлу” –text=”Пожалуйста, введите название файла:”`; if [ $? -eq 1 ]; then exit -1; fi; apt-file search $FILE | grep -E “/$FILE$” | zenity –text-info –width 530 –height 350
Справка по команде apt-file
apt-file [опции] действие [образец]
apt-file [опции] -f действие <файл>
apt-file [опции] -D действие <deb_файл>
Configuration options:
–architecture -a <арх> Использовать определённую архитектуру
–cache -c <дир> Директория кэша
–cdrom-mount -d Использовать особую точку монтирования cdrom
–dummy -y запустить в фиктивном режиме (без действий)
–fixed-string -F Не расширять шаблон
–from-deb -D Использовать файловый список .deb пакета(ов) как
шаблон; подразумевает -F
–from-file -f Прочитать шаблон из файла(ов), один на строку
(используйте ‘-‘ для стандартного ввода)
–ignore-case -i Игнорировать различия регистра
–non-interactive -N Пропустить схемы, требующие ввода пользователя
(полезно в работах cron)
–package-only -l Показать только имя пакета
–regexp -x образец — это регулярное выражение
–sources-list -s <файл> расположение sources.list
–verbose -v запустить в вербальном режиме
–help -h Показать справку.
— Конец опций (требуется если образец
начинается с ‘-‘)
Действия:
update Извлечь информацию оглавлений файлов из apt-sources.
search|find <образец> Поиск файлов в пакете
list|show <образец> Список файлов в пакете
purge Удалить файлы кэша</образец></образец></файл></дир></арх></deb_файл></файл>
whichpkg
whichpkg — это единая оболочка для управления пакетами в Debian. Она является обёрткой вокруг apt, apt-cache, dpkg, aptitude и других. Её цель — простое управление пакетами из одного интерфейса путём унификации главных функций этих инструментов.
Установка whichpkg
sudo apt-get install wajig
Использование: whichpkg
wajig
wajig> whichpkg ffi.h
INSTALLED MATCHES (x2)
———————-
libffi-dev:amd64: /usr/share/doc/libffi6/html/Using-libffi.html
libffi-dev:amd64: /usr/include/x86_64-linux-gnu/ffi.h
UNINSTALLED MATCHES (x13)
————————-
watobo: /usr/share/watobo/rvm/gems/ruby-2.0.0-p643/gems/ffi-1.9.10/ext/ffi_c/libffi/include/ffi.h.vc64
libffi-dev: /usr/share/doc/libffi6/html/Using-libffi.html
pypy-doc: /usr/share/doc/pypy-doc/html/rffi.html
chipmunk-dev: /usr/include/chipmunk/chipmunk_ffi.h
watobo: /usr/share/watobo/rvm/gems/ruby-2.0.0-p643/gems/ffi-1.9.10/ext/ffi_c/libffi/include/ffi.h.vc
ghc-doc: /usr/share/doc/ghc-doc/html/users_guide/ffi.html
watobo: /usr/share/watobo/rvm/gems/ruby-2.0.0-p643/gems/ffi-1.9.10/ext/ffi_c/libffi/include/ffi.h.in
jython-doc: /usr/share/doc/jython-doc/html/javadoc/org/python/modules/jffi/jffi.html
mlton-basis: /usr/lib/mlton/include/basis-ffi.h
watobo: /usr/share/watobo/rvm/gems/ruby-2.0.0-p643/gems/ffi-1.9.10/ext/ffi_c/rbffi.h
libgirepository1.0-dev: /usr/include/gobject-introspection-1.0/girffi.h
pypy-doc: /usr/share/doc/pypy-doc/html/config/objspace.usemodules._rawffi.html
libffi-dev: /usr/include/x86_64-linux-gnu/ffi.h
wajig>
Как видно, показаны совпадения в установленных и в неустановленных пакетах. НО мой предыдущий фокус с фильтрацией командой grep здесь не работает.
Как и положено быть унифицированному интерфейсу, у этой команды огромное количество опций и есть встроенный урок по использованию. Но их рассмотрение выходит за рамки этой заметки.
auto-apt
Программа auto-apt предназначена для поиска пакетов по файлу и установке пакетов по требованию.
Инструмент auto-apt проверяет доступ к файлам запущенными программами внутри своего окружения, и если программа пытается получить доступ к файлу про который известно, что он принадлежит к неустановленному пакету, то auto-apt установит этот пакет используя apt-get. Эта функция требует рабочих apt и sudo.
Программа также имеет простую базу данных для поиска пакета, содержащего требуемый файл.
Установка auto-apt:
sudo apt-get install auto-apt
После установки нужно обновить список пакетов следующей командой:
sudo auto-apt update
Поиск осуществляется так:
auto-apt search имя_файла
Пример:
auto-apt search ffi.h
Лично у меня программа не сработала ни на одной из двух систем (на одной не смогла полностью загрузить файлы с содержанием пакетов, как следствие — поиск ничего не нашёл, на другой системе программа вообще ничего не стала загружать).
dlocate
dlocate является альтернативой dpkg -L и dpkg -S. Её преимуществом является более быстрый поиск, разные дополнительные функции вроде подсчёта занимаемого места, но… она ищет только по установленным пакетам — т. е. для целей, которые озвучены в начале заметки она неприменима.
Установка dlocate:
sudo apt-get install dlocate
Пример использования:
dlocate -S ffi.h
libffi-dev:amd64: /usr/share/doc/libffi6/html/Using-libffi.html
libffi-dev:amd64: /usr/include/x86_64-linux-gnu/ffi.h
Расширенная система управления пакетами APT.
Система APT (Advanced Packaging Tool) не совсем система управления пакетам. Все действия с пакетами выполняют другие утилиты пакета dpkg, а утилиты APT представляют собой интерфейс для взаимодействия, с помощью которого осуществляется сверка контрольных сумм, поиск пакетов, разрешение зависимостей, выкачивание из репозиториев.
APT включает в себя следующий набор утилит:
Утилиты пакета apt.
- apt-cache — используется для получения информации о пакете и его поиска .
- apt-cdrom — добавляет CD/DVD-диск как источник пакетов (репозитория).
- apt-ftparchive — создает индексные файлы
- apt-config — считывает значения, заданные в конфигурационном файле /etc/apt/apt.conf.
- apt-key — управление ключами аутентификации, используемыми для проверки подлинности источников пакетов.
- apt-extracttemplates — извлекает конфигурационные файлы DebConf из пакетов.
- apt-get — устанавливает, обновляет, удаляет список пакетов и пакеты, основная APT-утилита.
- apt-sortpkgs — сортирует индексные файлы.
- apt-secure — проверяет подлинность цифровых подписей пакетов apt, из состава дистрибутива и репозиториев.
- Утилиты используют следующие файлы конфигурации:
Установка программ Ubuntu/Debian с помощью пакетного менеджера
Установка с помощью пакетного менеджера
Эволюция методов установки и управления программными пакетами со временем дошла до использования пакетных менеджеров, плотно интегрированных с репозиториями. В репозиториях содержатся упакованные файлы программ с данными об их зависимостях. После установки к операционной системе уже подключены системные репозитории: с их помощью можно обновлять ОС и устанавливать программные пакеты, которые были адаптированы и оптимизированы для работы с этой версией операционной системы.
Перед началом установки пакетов рекомендуется обновить данные о версиях и зависимостях в репозитории следующей командой:
sudo apt-get update
Скриншот №1. Обновление данных о версиях и зависимостях в репозитории
Если необходимо уточнить название пакета, который требуется установить — ищем в локальном кэше менеджер по ключевым словам, например, web server:
sudo apt-cache search web server
В результате получим большой перечень пакетов, где данное ключевое слово присутствует в описании:
Скриншот №2. Поиск по ключевым словам
Выбираем нужный нам пакет — в данном случае это apache2, и устанавливаем его:
sudo apt-get install apache2
Пакетный менеджер проверяет зависимости, версии, сравнивает их с уже установленными через apt-get пакетами, после чего выдает список необходимых для установки компонентов и запрашивает разрешение на продолжение операции:
Скриншот №3. Установка пакета
Нажимаем y и дожидаемся окончания установки.
Часто используемые команды пакетного менеджера:
- apt-get update — обновление информации о пакетах и зависимостях в подключенных репозиториях;
- apt-get upgrade — обновление всех установленных пакетов до актуальной версии, имеющейся в репозитории;
- apt-get install имя_пакета — установка пакета;
- apt-get remove имя_пакета — удаление пакета;
- apt-get download имя_пакета — скачать deb-пакет в локальную папку;
- apt-cache search ключевые слова — поиск пакета по ключевым словам;
- apt-cache show имя_пакета — показать информацию о пакете;
- apt-cache depends имя_пакета — показать от каких компонентов зависит данный пакет;
- apt-cache rdepends имя_пакета — показать какие компоненты зависят от пакета;
- apt-mark hold имя_пакета — зафиксировать текущую версию пакета, прекратить обновление пакета;
- apt-mark unhold имя_пакета — разрешить обновление пакета.
Установка через Debian package
Программные пакеты могут распространяться и не через репозитории. Например, они могут быть доступны на сайтах разработчиков. В таком случае, пакет можно скачать и воспользоваться утилитой dpkg (debian package) для установки. При использовании dpkg не происходит автоматическое отслеживание зависимостей и скачивание дополнительных пакетов. В случае нехватки каких-либо программ или библиотек установка завершится ошибкой с указанием списка отсутствующих пакетов. Их придется установить отдельно, например, через apt-get, если они присутствуют в подключенных репозиториях, либо скачивать с сайтов разработчиков и устанавливать в нужном порядке через dpkg.
Для примера скачаем из системного репозитория установочный пакет веб-сервера Nginx командой:
sudo apt-get download nginx
и попробуем установить через dpkg –i имя_файла.deb:
sudo dpkg –i ./nginx_1.14.0-0ubuntu1.6_all.deb
В результате система выдает ошибку с перечнем отсутствующих пакетов:
Скриншот №4. Ошибка с перечнем отсутствующих пакетов
Основные опции dpkg:
- dpkg –i имя_файла.deb — установка пакета; в качестве параметра указывается полное имя файла;
- dpkg –r имя_пакета — удаление ранее установленного пакета;
- dpkg –l — выведение списка установленных в системе пакетов.
Установка через файлы сценариев
Установка программы представляет собой распаковку архива, копирование файлов программы в системные директории и, при необходимости, внесение изменений в системные конфигурационные файлы. Все эти действия могут быть внесены в исполняемый файл сценария и выполнены при его запуске. Сейчас достаточно редко встречается подобный метод установки программы, но, тем не менее, некоторые разработчики его используют. Если возникла необходимость в установке такого пакета, необходимо скачать архив (обычно это файл с расширением .tgz или .tar.gz), распаковать его в отдельную директорию на сервере, изучить распакованные файлы, а также прочитать файл readme, если он имеется. Установка программы запускается, обычно, сценарием install.sh, поэтому нужно включить атрибут исполняемого файла командой:
sudo chmod +x ./install.sh
после чего запустить непосредственно сценарий:
sudo ./install.sh
5 команд, которые должен знать каждый
Команда sudo
Sudo расшифровывается как “Superuser do”, то есть что должен сделать суперпользователь. Если вы хоть раз устанавливали/удаляли какое либо приложение, редактировали системные файлы, либо пользовались другими командами, затрагивающими систему, то вы уже наверняка пользовались командой sudo.
Команда sudo всегда пишется в начале. К примеру вот команда для обновления списка пакетов:
Shell <текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;”>
sudo apt-get update
1 | sudo apt-getupdate |
Для запуска графических приложений лучше использовать команду gksudo. Почему? Во-первых эта команда для этого и предназначена, во-вторых это исключает некоторые возможные ошибки, которые могут возникать при работе приложений с графическим интерфейсом, вызываемых через sudo. Пример запуска nautilus:
Shell <текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;”>
gksudo nautilus
1 | gksudo nautilus |
</текстареа></текстареа>
Команда cd
Cd расшифровывается как “Change Directory” и с помощью этой команды осуществляется навигация по директориям.
Функции команды cd:
- Shell <текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;”>
cd /home/user/directory1 cd/home/user/directory перейти в определённую категорию</текстареа>
- Shell <текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;”>
cd1 cd перейти в домашнюю категорию</текстареа>
- Shell <текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;”>
cd –1 cd- перейти “назад”, в предыдущую категорию</текстареа>
Помните, что при использовании команды cd можно пользоваться клавишой Tab для автоматического написания полного имени папки. На пример пишем следующее:
Shell <текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;”>
cd Загру
1 | cdЗагру |
Нажимаем Tab и получаем следующее:
Shell <текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;”>
cd Загрузки/
1 | cdЗагрузки/ |
</текстареа></текстареа>
Команда ls
Навигация по папкам с помощью команды cd довольно проста, но как найти нужный файл? Вот тут и нужна команда ls.
Функции команды ls:
- Shell <текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;”>
ls1 ls Отобразить все файлы и папки в директории, кроме скрытых</текстареа>
- Shell <текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;”>
ls -al1 ls-al Отобразить все файлы и папки в директории, включая скрытые</текстареа>
Команда apt-get install
Приложения, которые доступны в Центре приложений Ubuntu, и которые доступны в ваших PPA, могут быть установлены с помощью apt-get install.
На пример как установить браузер Chromium:
Shell <текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;”>
sudo apt-get install chromium-browser
1 | sudo apt-getinstall chromium-browser |
Так же можно прописывать не install, а remove, для удаления программы. Пример:
Shell <текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;”>
sudo apt-get remove chromium-browser
1 | sudo apt-getremove chromium-browser |
</текстареа></текстареа>
Команда uname -a
Довольно популярный вопрос – Как узнать версию ядра (Kernel Version) в Ubuntu Linux. А сделать это довольно просто.
Вводим в терминале:
Shell <текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”dblclick” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;”>
uname -a
1 | uname-a |
Дорогие читатели! Давайте составим свой список из 5-ти самых важных команд! Пишите ваши варианты в комментариях, либо в твиттере с упоминанием @ubuntovod. Как соберём достаточно вариантов – будет опубликован список.
Вам нужен свой ДСУ? Обратите внимание на ДСУ-150, должен подойти.Похожие записи:Apt-fast — Ускоряем загрузку пакетов
Добавляем Alias в Ubuntu
Как выполнить несколько команд сразу1. Команду ls -al можно не набирать, у нее есть алиас ll (две литинских “эль”). Есть команда la, и есть однобуквенная команда l. Точнее это не совсем команды, это алиасы. Из можно увидеть набрав команду alias. Я ими очень часто пользуюсь, хотя попервости и по незнанию тоже строчил ls -al.
2. На сколько мне известно, команда su расшифровывается как set user, а не superuser. Команда sudo подобна ей, но устанавливает пользователя только на одну команду (которая указывается сразу за sudo). Я не нашел интерпертации аббревиатуры sudo, но ваша интерпетация мне каженся сомнительной, т.к. эта команда охватывает все учетные записи, а не только учетную запись root (или superuser, как у Вас написано). Поэтому присваивать ее суперюзеру не совсем корректно.
Настройка Debian после установки
Актуализация (обновление) системы
Это самый первый шаг, если система у вас нормально запустилась и вы имеете подключение к интернету. В принципе, если вы устанавливали Debian с помощью сетевого установщика, данный шаг может не понадобится, он больше нужен пользователям, использующим CD/DVD диски.
Обновляем систему:
- Открываем терминал и логинемся под рутом введя в нем «su» и пароль рута;
- Теперь обновляем индексные файлы:
apt-get update - Обновляем систему:
apt-get upgrade - После обновления перезагружаем компьютер:
reboot
Установка и настройка sudo
Если вы хоть в какой-то степени знакомы с Linux, вы наверняка знаете, что в нем довольно строгая система разграничения прав пользователей. Так, для большинства действий связанных с установкой/удалением ПО, настройкой ОС и т.д вам нужно обладать правами суперпользователя. В предыдущем шаге, чтобы обновить систему мы заходили под учетную запись рута, но это не самый лучший и безопасный вариант. Обычному пользователю будет гораздо удобнее воспользоваться утилитой sudo, которая позволяет выполнять действия, требующие прав администратора обычному пользователю.
В Debian по-умолчанию sudo не всегда есть, поэтому устанавливаем его (снова залогинившись под рутом):
apt-get install sudo
Но это еще не все. Чтобы пользоваться sudo, вам нужно дать себе права на это. Для этого необходимо либо вносить изменения в файл «sudoers» либо, что проще, добавить себя в группу sudo:
adduser имя_пользователя sudo
После пререзайдите в систему.
С этого момента, если вам, например, нужно установить какую-либо программу или выполнить обновление системы, не нужно заходить в учетную запись рута, просто перед нужной командой добавьте sudo, например: apt-get update под рутом, будет sudo apt-get update под обычным пользователем.
Добавляем репозиторий с несвободными пакетами
Debian известен своей политикой в отношении лицензирования ПО. В состав дистрибутива и основного репозитория входят только свободные (по мнению разработчиков) программы. Все не подходищее под это понятие попадает в non-free репозиторий, который по-умолчанию отключен. В нем находится большое количество нужного ПО, такого как: несвободные драйвера, Microsoft шрифты, Flash и т.п. Используя Debian как домашнюю десктопную ОС, данный репозиторий вам понадобится с вероятностью 99,9%.
Подключим его в систему:
- Открываем файл «sources.list«, в котором находится список всех онлайн источников пакетов:
sudo nano /etc/apt/sources.list - В открывшемся файле находим основной репозиторий. Для Stretch он выглядит примерно так:
deb http://ftp.us.debian.org/debian/ stretch main - Теперь добавляем в конец строчки
contrib non-freeДолжно получится:deb http://ftp.us.debian.org/debian/ stretch main contrib non-free - Сохраняем изменения и выходим из редактора.
Поскольку мы добавили новый источник пакетов, нужно обновить индексные файлы:
sudo apt-get update
Настраиваем сглаживание шрифтов
Из коробки в Debian довольно плохое сглаживание шрифтов во всей системе. Чтобы решить данную проблему достаточно в /etc/fonts/ создать файл «local.conf» со следующим содержанием:
<?xml version=’1.0′?>
<!DOCTYPE fontconfig SYSTEM ‘fonts.dtd’>
<fontconfig>
<match target=”font”>
<edit mode=”assign” name=”rgba”>
<const>rgb</const>
</edit>
</match>
<match target=”font”>
<edit mode=”assign” name=”hinting”>
<bool>true</bool>
</edit>
</match>
<match target=”font”>
<edit mode=”assign” name=”hintstyle”>
<const>hintslight</const>
</edit>
</match>
<match target=”font”>
<edit mode=”assign” name=”lcdfilter”>
<const>lcddefault</const>
</edit>
</match>
<match target=”font”>
<edit mode=”assign” name=”autohint”>
<bool>false</bool>
</edit>
</match>
<dir>~/.fonts</dir>
</fontconfig>
Сохраните файл и перелогинтесь — шрифты станут нормальными.
Отключаем звук системного динамика
По неизвестной мне причине в Debian оставили включенным модуль ядра «pcspkr», который отвечает за срабатывания системного динамика. Таким образом, при включении или выключении компьютера, а так же в некоторых других случаях из системного блока доносится неприятный писк.
Дабы избавится от данной мелочи нужно просто отключить модуль pcspkr, а точнее — занести его в «черный список» (файл «fbdev-blacklist.conf«), который можно найти по пути /etc/modprobe.d/.
- Открываем файл:
sudo gedit /etc/modprobe.d/fbdev-blacklist.conf - В его конец дописываем:
blacklist pcspkr - Сохраняем изменения.
Установка Adobe Flash
Нравится вам или нет, но Flash еще достаточно распространен на просторах интернета. Поскольку это проприетарный продукт который, тем более, последние несколько лет не выпускается для Linux, он, естественно, отсутствует в Debian из коробки. Однако легко устанавливается из, как было выше сказано, non-free репозитория. Если он у вас подключен выполните:
sudo apt-get install flashplugin-nonfree
После этого, если вы пользуетесь браузером Chromium, нужно до установить пакет «pepperflashplugin-nonfree«:
sudo apt-get install pepperflashplugin-nonfree
Теперь Flash доступен в вашем браузере.
[spoiler title=”Источники”]- https://pingvinus.ru/note/apt
- https://losst.ru/kak-polzovatsya-apt
- http://rus-linux.net/nlib.php?name=/MyLDP/po/ispolzovanie-apt-i-dpkg.html
- https://ZaLinux.ru/?p=366
- http://knopka.kh.ua/debian-linux/%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0-%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F-%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%B0%D0%BC%D0%B8-apt-%D1%87%D0%B0%D1%81%D1%82%D1%8C-1/
- https://serverspace.by/support/help/installing-ubuntu-debian-programs-using-the-batch-manager/
- http://ubuntovod.ru/raznoe/5-terminal-commands.html
- https://geekkies.in.ua/linux/nastrojka-debian-posle-ustanovki.html