как устанавливать программы в linux debian
Установка программ в Debian с помощью терминала и графического интерфейса
Как установить программу в дебиан. В этой статье я расскажу как. Программы в дебиан и дистрибутивах основанных на Debian распространяются с помощью репозиториев (как настроить репозиторий рассказывал здесь) и отдельных пакетов с расширением *.DEB.
Установка программ в Linux Debian и производных с помощью терминала
Для примера установим двухпанельный файловый менеджер Midnight Commander. Cначала обновите список пакетов:
ДЛЯ СПРАВКИ: В ранних версиях дистрибутива, таких как дебиан 7 и старше, требовалось указывать команду «apt-get». Такой вариант команды работает и в современных системах. Но я буду использовать обновленный вариант.
На скриншоте ниже отображен результат поиска.
Как одной командой установить две и более программы или пакета с помощью терминала. Для этого, просто указывайте названия через пробел. Например, sudo apt install имя_программы_1 имя_программы_2 имя_программы_3 и так далее.
Будет установлен сам пакет и все зависимости. Продолжим на заданном примере. Как мы выяснили нужно установить пакет «mc». Даем команду:
По завершении можно пользоваться программой. По моему это очень хороший двухпанельный файловый менеджер.
Учтите, что приложение запустится с правами того пользователя под которым вы авторизовались в системе.
Mc это консольная программа и открывается внутри терминала поэтому нам не мешает консоль.
Если же мы хотим открыть, например, браузер Firefox то он запустится и окно терминала тоже будет открыто а если консоль закрыть то закроется и браузер.
Debian установка пакетов
Теперь рассмотрим как установить deb пакеты в debian которого нет в репозиториях. Еще раз напомню, что такие пакеты нужно тщательно выбирать и не добавлять в систему все подряд.
Для примера я буду использовать пакет libssl1.0.0_1.0.1t-1+deb8u11_amd64.deb для архитектуры AMD64. Я уже скачал пакет с официальной страницы.
Итак, использую команду cd для перехода в папку с пакетом. В моем случае это директория «Загрузки». Выполним команду:
Поскольку этот метод установки основан на использовании низкоуровневой программы dpkg, разрешение зависимостей не будут выполнены. В случае обнаружения неразрешенных зависимостей выполнение программы завершится с сообщением об ошибке.
Пакет установлен. Иногда возникает ситуация когда программа не может быть установлена из-за неудовлетворенных зависимостей. В этой ситуации в большинстве случаев поможет команда:
без указывания имени пакета. После этого все зависимости подтянутся и будут установлены.
Установка программ имеющих свой инсталлятор из файлов sh, run. Запуск sh скрипта
Программы распространяемые с собственным инсталлятором похожи на установку программ в windows с помощью файла setup.exe. С ними идет скрипт или бинарный файл в котором прописаны инструкции для установки этой программы.
Этот вариант так же не желателен! Но если вы уверены, что не навредит и программа вам нужна то можно установить.
Например, так распространялся Netbeans. Скрипт запускает некоторое подобие мастера установки в котором нужно нажимать на кнопки для ответов на вопросы и продолжения.
Как посмотреть установленные пакеты linux Debian
Для того, чтобы вывести весь список пактов установленных в системе можно использовать низкоуровневую утилиту dpkg. Используйте команду:
Для удобства можно вывести эту информацию в файл. Пример команды:
В этом случае список пакетов будет сохранен в текстовом файле в корне пользовательского каталога с именем package.txt.
Также можно использовать утилиту apt. Команда:
Что бы посмотреть установлена программа или пакет можно использовать команду
Графический пакетный менеджер Synaptic
Теперь перейдем к рассмотрению установки программ в линукс Debian с помощью графического пользовательского интерфейса. Для этого в дебиан по умолчанию используется программа Synaptic.
Если по какой либо причине в вашей копии системы этой программы нет то установить её можно командой:
С его помощью можно не только устанавливать и удалять программы но и управлять репозиториями и решать некоторые проблемы. В общем программа очень функциональна и удобна.
В верхней части окна программы есть панель с кнопками. Я буду ссылаться на него по ходу рассказа.
Для установки программ в Linux Debian с помощью Synaptic нужно выбрать пакет. Прежде всего обновите информацию о пакетах. Для этого можно нажать сочетание клавиш Ctrl+R либо кликнуть по кнопке «Обновить».
Затем, что бы вызвать меню поиска нажать сочетание клавиш Ctrl+ F или кликнуть по кнопке «Поиск». В открывшемся окне указать название программы или пакета. Например, Midnight Commander и нажать кнопку «Поиск».
После завершения поиска будет выведен список с вариантами для установки. Можно выбрать пакет кликнув по нему левым кликом и посмотреть его описание.
Для установки нужно сделать правый клик по строке с выбранным пакетом. Появится контекстное меню в котором выберите пункт «Отметить для установки».
Откроется окно в котором будут показаны пакет и все зависимости которые потребуются для работы программы.
Нажмите кнопку «Применить», окно закроется и вы вернетесь в интерфейс выбора пакетов. Теперь в верхнем меню тоже нажмите кнопку «Применить».
Опять будет открыто окно в котором тоже нужно нажать кнопку «Применить». Начнется процесс установки. В конце будет выдано сообщение о том, что изменения применены то есть установка завершена.
Как установить быстрый фильтр в Synaptic
Synaptic безусловно удобная программа для установки приложений в линукс но для еще большей функциональности предлагаю добавить быстрый фильтр. Он позволит искать нужные программы и пакеты сразу после запуска без необходимости отрывания окна поиска. Итак, нужно установить пакет apt-xapian-index после чего обновить индексы.
Установка пакетов Debian
Установка пакетов Debian выполняется, как и в Ubuntu, с помощью пакетного менеджера apt и утилиты dpkg. Мы рассматривали их подробно в статье про установку пакетов Ubuntu. В этой же статье мы более детально остановимся на особенностях Debian.
Установка программ с помощью apt
Перед тем как говорить непосредственно про Debian, нужно рассмотреть apt. Этот пакетный менеджер был специально разработан для Debian и потом стал использоваться в других основанных на нем дистрибутивах. Синтаксис для работы с утилитой такой:
$ sudo apt опции команда имя_пакета
Вот основные команды apt, которые вы можете использовать для управления пакетами:
Кроме того, утилите можно передать некоторые опции, основные:
Таким образом, для установки пакета из репозиториев достаточно набрать:
sudo apt install имя_пакета
$ sudo apt install vlc
А для удаления пакета наберите:
sudo apt purge vlc
Вы можете искать пакеты с помощью команды search:
sudo apt search vlc
Но куда более интересны политики управления репозиториями и установка отдельных пакетов из определенных хранилищ. Особенно это актуально для Debian, чтобы не добавлять нестабильный репозиторий полностью, а устанавливать из него только отдельные пакеты. Для решения таких задач существует настройка политики управления репозиториями.
С помощью политик вы можете настроить из каких репозиториев будет выполняться установка deb пакетов в debian в первую очередь. Мы рассматривали репозитории Debian и как их добавлять в отдельной статье. Допустим, вы добавили backports, testing и unstable. Теперь, чтобы настроить для них приоритеты откройте конфигурационный файл /etc/apt/preferences и добавьте в него строки:
sudo vi /etc/apt/preferences
Package: *
Pin: release a=stable
Pin-Priority: 700
Package: *
Pin: release a=stretch-backports
Pin-Priority: 650
Package: *
Pin: release a=testing
Pin-Priority: 600
Package: *
Pin: release a=unstable
Pin-Priority: 100
Очень удобно и не ломает систему.
Установка программ с помощью tasksel
Инструмент tasksel разработан специально для Debian. Он позволяет устанавливать пакеты группами. Разработчики сгруппировали пакеты в зависимости от их предназначения и вы можете установить одну из нужных групп. Именно эта утилита используется в установщике Debian.
Чтобы посмотреть список доступных групп наберите:
Также вы можете посмотреть какие пакеты находятся в группе:
Или описание группы пакетов:
Чтобы установить группу пакетов, например, веб-сервера, выполните:
tasksel install web-server
А для удаления группы:
tasksel remove web-server
Установка программ Debian таким способом достаточно проста, но здесь есть не так много пакетов.
Установка пакетов Aptitude
sudo apt install aptitude
Кроме консольных команд, утилита имеет псевдографический интерфейс, с помощью которого намного удобнее управлять пакетами. Возможно, установка пакетов Debian здесь не так удобна, зато удалить лишние пакеты и посмотреть уже установленные самое оно. Для запуска утилиты выполните:
Пакеты разделены на удобные категории чтобы их можно было просто найти:
Далее чтобы установить или удалить отмеченные пакеты нажмите кнопку «g». Затем еще раз «g» для подтверждения:
Конечно, вам необязательно использовать интерфейс curses, если хотите, можете применять привычные консольные команды, утилита их тоже поддерживает. Синтаксис выполнения такой же, как и у apt, но команд намного больше:
Установка deb пакетов в debian с помощью aptitude будет выглядеть аналогично apt:
sudo aptitude install vlc
Установка программ Debian в synaptic
Для полноты статьи давайте еще рассмотрим как выполняется установка приложений через графический интерфейс. Для этого будем использовать программу synaptic. Она уже поставляется вместе с дистрибутивом, можно найти в главном меню:
Для поиска нужного пакета нажмите кнопку поиск, потом введите его имя:
Далее, найденные пакеты будут отображены на панели:
Кликните по нужному пакету правой кнопкой и выберите «Отметить для установки»:
Утилита покажет какие еще пакеты будут установлены как зависимости:
Чтобы установить выбранные пакеты, нажмите кнопку «Применить».
Вам нужно будет подтвердить операцию и дождаться завершения установки. Но установка deb пакетов из консоли debian все равно проще.
Выводы
В этой статье мы рассмотрели различные способы как установить программу в Debian. Как видите, существует множество способов и вы можете выбрать тот, который лучше подходит для вас. Мне всегда нравилось работать в терминале. Это дает максимальный контроль над ситуацией и если что-то пойдет не так вы сразу же получите все сообщения об ошибках и тут же сможете их решить. Надеюсь, эта информация была полезной для вас.
Глава 8. Инструменты управления пакетами Debian
Содержание
8.1. Какие программы для управления пакетами имеются в Debian?
В Debian для управления пакетами имеется множество средств, от программ с графическими или текстовыми интерфейсами, до низкоуровневых утилит установки пакетов. Корректная работа всех доступных инструментов зависит от низкоуровневых утилит, и все они представлены здесь в порядке уменьшения уровня сложности.
See Chapter 2. Debian package management of the Debian reference for more information about the Debian package management utilities. This document is available in various languages and formats, see the Debian Reference entry in the DDP Users’ Manuals overview.
8.1.1. dpkg
Это основная программа управления пакетами. dpkg может вызываться с многими параметрами. Наиболее часто используемые из них:
8.1.2. APT
Инструмент apt совмещает функциональность apt-get и apt-cache, а также по умолчанию использует красивый цветной формат вывода, что очень удобно. Для использования в сценариях или для продвинутого использования предпочтительнее использовать apt-get (а иногда он просто необходим).
Часто используемые команды apt-get :
To update the list of packages known by your system, you can run:
(вы должны регулярно запускать эту команду для обновления списка пакетов)
Установить пакет foo и все его зависимости:
Удалить пакет из системы:
Удалить из системы пакет и все его файлы настроек:
To list all packages for which newer versions are available, run:
Обновить все пакеты в системе (без установки дополнительных пакетов или удаления пакетов):
Обновить все установленные в системе пакеты с установкой или удалением дополнительных пакетов, если это потребуется для обновления какого-то пакета:
(Команда upgrade оставит старую установленную версию пакета, если для разрешения новых зависимостей при обновлении потребуется установка дополнительных пакетов. Команда full-upgrade менее консервативна.)
Note that you must be logged in as root to perform any commands that modify packages.
Note that apt-get now also installs recommended packages as default, and thanks to its robustness it’s the preferred program for package management from console to perform system installation and major system upgrades.
Найти пакеты, содержащие в своём описании слово :
Показать подробную информацию о пакете:
Показать зависимости пакета:
To print detailed information on the versions available for a package and the packages that reverse-depends on it:
8.1.3. aptitude
aptitude — это менеджер пакетов для систем Debian GNU/Linux, он предоставляет интерфейс к инфраструктуре управления пакетами apt. aptitude представляет собой текстовый интерфейс на основе библиотеки curses. Действия можно выполнять как из визуального интерфейса, так и из командной строки.
aptitude может использоваться для лёгкого и быстрого выполнения задач по управлению пакетами. Она позволяет пользователю просматривать список пакетов и выполнять такие задачи по управлению пакетами как установка, обновление и удаление.
обеспечивает лёгкий доступ ко всем версиям пакета;
позволяет легко отслеживать устаревшее ПО, занося его в «список устаревших пакетов и пакетов, созданных локально»;
можно использовать для установки заранее сформированных наборов для определённых задач. Подробности см. в Раздел 8.1.5, «tasksel»;
aptitude in full screen mode has su functionality embedded and can be run by a normal user. It will call su (and ask for the root password, if any) when you really need administrative privileges.
Note that aptitude is the preferred program for daily package management from the console.
For more information, read the manual page aptitude (8) and install the aptitude-doc package.
8.1.4. synaptic
synaptic is a graphical package manager. It enables you to install, upgrade and remove software packages in a user friendly way. Along with most of the features offered by aptitude, it also has a feature for editing the list of used repositories, and supports browsing all available documentation related to a package. See the Synaptic Website for more information.
8.1.5. tasksel
Typically, the Debian installer will automatically install the task associated with a standard system and a desktop environment. The specific desktop environment installed will depend on the CD/DVD media used, most commonly it will be the GNOME desktop ( gnome-desktop task). Also, depending on your selections throughout the installation process, tasks might be automatically installed in your system. For example, if you selected a language other than English, the task associated with it will be installed automatically too and if the installer recognises you are installing on a laptop system the laptop task will also be installed.
8.1.6. Другие инструменты управления пакетами
8.1.6.1. dpkg-deb
8.2. Говорят, что Debian способен обновить работающую программу; как это делается?
Ядро (файловая система) в системах Debian GNU/Linux поддерживает замену файлов, даже когда они используются.
8.3. Как узнать, какие пакеты установлены в системе Debian?
Чтобы получить список всех установленных пакетов, выполните команду
Эта команда выведет для каждого пакета однострочную сводку, включающую два символа состояния (объясняемые в заголовке), имя пакета, установленную версию и краткое описание.
To learn the status of packages whose names match any pattern beginning with «foo», run the command:
Чтобы получить более подробный отчёт о состоянии определённого пакета, выполните команду:
8.4. How do I display the files of an installed package?
Учтите, что файлы, созданные сценариями установки, не отображаются.
8.5. Как определить пакет, которому принадлежит определённый файл?
zgrep foo Contents-ARCH.gz
apt-file search foo
8.6. Why is `foo-data’ not removed when I uninstall `foo’? How do I make sure old unused library-packages get purged?
Some packages are split in program (`foo’) and data (`foo-data’) (or in `foo’ and `foo-doc’). This is true for many games, multimedia applications and dictionaries in Debian and has been introduced since some users might want to access the raw data without installing the program or because the program can be run without the data itself, making `foo-data’ optional.
Подобное относится и к библиотекам: обычно они устанавливаются, так как пакеты приложений зависят от них. Когда пакет приложения вычищается, пакет библиотеки может остаться в системе. Или когда пакет приложения больше не зависит, скажем, от libdb4.2, а зависит от libdb4.3, то пакет libdb4.2 может остаться в системе при обновлении пакета приложения.
In these cases, `foo-data’ doesn’t depend on `foo’, so when you remove the `foo’ package it will not get automatically removed by most package management tools. The same holds true for the library packages. This is necessary to avoid circular dependencies. However, if you use apt-get (see Раздел 8.1.2, «APT») or aptitude (see Раздел 8.1.3, «aptitude») as your package management tool, they will track automatically installed packages and give the possibility to remove them, when no packages making use of them remain in your system.
[5] Notice that there are ports that make this tool available with other package management systems, like Red Hat package manager, also known as rpm
Установка программ Ubuntu/Debian с помощью пакетного менеджера
Одна из самых сложных задач, возникающих в процессе установки Unix-программ — отслеживание зависимостей.
Любая более-менее сложная программа в своей работе использует возможности, предоставляемые другими модулями, системными библиотеками и т.д. Таким образом, появляется зависимость — если мы хотим установить программу «А», которая при работе использует библиотеки программы «Б», сначала необходимо установить программу «Б» (у которой, в свою очередь, могут быть свои зависимости). Таким образом, чем больше программ и зависимостей появляется на сервере, тем сложнее их отслеживать и управлять ими. Хорошая новость в том, что это можно делать с помощью пакетного менеджера APT (Advanced Packaging Tool).
Установка с помощью пакетного менеджера
Эволюция методов установки и управления программными пакетами со временем дошла до использования пакетных менеджеров, плотно интегрированных с репозиториями. В репозиториях содержатся упакованные файлы программ с данными об их зависимостях. После установки к операционной системе уже подключены системные репозитории: с их помощью можно обновлять ОС и устанавливать программные пакеты, которые были адаптированы и оптимизированы для работы с этой версией операционной системы.
Перед началом установки пакетов рекомендуется обновить данные о версиях и зависимостях в репозитории следующей командой:
sudo apt-get update
Если необходимо уточнить название пакета, который требуется установить — ищем в локальном кэше менеджер по ключевым словам, например, web server:
sudo apt-cache search web server
В результате получим большой перечень пакетов, где данное ключевое слово присутствует в описании:
Выбираем нужный нам пакет — в данном случае это apache2, и устанавливаем его:
sudo apt-get install apache2
Пакетный менеджер проверяет зависимости, версии, сравнивает их с уже установленными через apt-get пакетами, после чего выдает список необходимых для установки компонентов и запрашивает разрешение на продолжение операции:
Нажимаем y и дожидаемся окончания установки.
Часто используемые команды пакетного менеджера:
Установка через Debian package
Программные пакеты могут распространяться и не через репозитории. Например, они могут быть доступны на сайтах разработчиков. В таком случае, пакет можно скачать и воспользоваться утилитой dpkg (debian package) для установки. При использовании dpkg не происходит автоматическое отслеживание зависимостей и скачивание дополнительных пакетов. В случае нехватки каких-либо программ или библиотек установка завершится ошибкой с указанием списка отсутствующих пакетов. Их придется установить отдельно, например, через apt-get, если они присутствуют в подключенных репозиториях, либо скачивать с сайтов разработчиков и устанавливать в нужном порядке через dpkg.
Для примера скачаем из системного репозитория установочный пакет веб-сервера Nginx командой:
sudo apt-get download nginx
и попробуем установить через dpkg –i имя_файла.deb:
В результате система выдает ошибку с перечнем отсутствующих пакетов:
Основные опции dpkg:
Установка через файлы сценариев
после чего запустить непосредственно сценарий: