Пакеты устанавливаются вручную с помощью команды dpkg (Debian Package Management System). dpkg – это бэкэнд для команд, таких как apt-get и aptitude , которые, в свою очередь, являются бэкэнд для приложений для установки графического интерфейса, таких как Software Center и Synaptic.

Что-то вроде:

dpkg -> apt-get , aptitude -> Synaptic, Software Center

Но, конечно, самыми легкими способами установки пакета были бы, во-первых, графические приложения (Synaptic, Software Center и т. Д.), А затем команды терминала apt-get и aptitude которые добавили бы очень хороший дружественный подход к бэкэнд dpkg, включая, но не ограничиваясь, упакованные зависимости, контроль над тем, что установлено, нуждается в обновлении, не установлены, сломанные пакеты и т. д. Наконец, команда dpkg которая является базой для всех них.

Поскольку dpkg является базой, вы можете использовать его для установки, упакованного непосредственно из командной строки.

Установка пакета

sudo dpkg -i DEB_PACKAGE

Например, если файл пакета называется askubuntu_2.0.deb тогда вы должны сделать sudo dpkg -i askubuntu_2.0.deb . Если dpkg сообщает об ошибке из-за проблем с зависимостями, вы можете запустить sudo apt-get install -f чтобы загрузить отсутствующие зависимости и настроить все. Если это сообщит об ошибке, вам придется самостоятельно определить зависимости, следуя примеру. Как разрешить неудовлетворенные зависимости после добавления PPA? ,

Удалить пакет

sudo dpkg -r PACKAGE_NAME

Например, если пакет называется askubuntu тогда вы должны сделать sudo dpkg -r askubuntu .

Переконфигурируйте существующий пакет

sudo dpkg-reconfigure PACKAGE_NAME

Это полезно, когда вам нужно перенастроить что-то, связанное с указанным пакетом. Некоторые полезные примеры – это keyboard-configuration когда вы хотите включить Ctrl + Alt + Backspace , чтобы перезагрузить X-сервер, поэтому вы бы сделали следующее:

Sudo dpkg-reconfigure keyboard-configuration

Еще один замечательный момент – когда вам нужно установить часовую зону для сервера или локального компьютера тестирования, поэтому вы используете пакет tzdata:

Sudo dpkg-reconfigure tzdata

Пакеты Debian (.deb) – это пакеты, которые используются в Ubuntu. Вы можете установить любой пакет.deb в вашей системе. Файлы.deb обычно можно установить из вашего файлового менеджера (Nautilus), просто щелкнув по ним, поскольку в Ubuntu уже установлены ассоциации файлов с установщиком по умолчанию. Эти инструкции предназначены для тех, кто хочет установить пакеты из терминала командной строки (Terminal).

Чтобы установить загруженный пакет Debian (Ubuntu) (.deb): Откройте терминал и введите

Sudo dpkg -i packagename.deb

Чтобы удалить пакет Debian (Ubuntu) (.deb):

Sudo dpkg -r packagename

Чтобы переконфигурировать / восстановить установленный пакет Debian (Ubuntu) (.deb):

Sudo dpkg-reconfigure packagename

Моим любимым является GDebi, доступный как с терминала, так и с оболочки или графического рабочего стола.

Я обычно связываю файлы.deb с GDebi, так как это быстро и эффективно – особенно по сравнению с Ubuntu Software Center. Одной из основных особенностей GDebi является устранение зависимостей и их установка.

Для командной строки запустите sudo gdebi Чтобы установить один файл deb.

Команды DPKG

Существует два действия: dpkg-query и dpkg-deb .

Установка пакета

# sudo dpkg -i {package_name} # sudo dpkg -i skype-ubuntu-precise_4.2.0.11-1_i386.deb

Удалить пакет

# sudo dpkg -r {package_name} # sudo dpkg -r vlc

Удалите пакет и его конфигурационные файлы

# sudo dpkg -P {package_name} # sudo dpkg -P vlc

Список всех установленных пакетов.

Вы можете перенаправить команду на less (пейджер), чтобы вы могли более легко прокручивать содержимое:

# dpkg -l | less

Проверьте, установлен ли пакет или нет.

# dpkg -l {package_name} # dpkg -l vlc

Проверьте, установлен ли пакет или нет, и если это так, запустите его:

# dpkg -l | vlc

И это покажет место, где будет установлен пакет. Здесь -S (капитал S) для поиска, установлен ли пакет или нет.

# sudo dpkg -S {package_name} # sudo dpkg -S skype

Установите пакет * .deb из указанного места.

Здесь -R является рекурсивным. (Рекурсивно обрабатывать все обычные файлы, соответствующие шаблону *.deb найденному в указанных каталогах и во всех его подкаталогах).

# sudo dpkg -R --install {package_location} # sudo dpkg -R --install /home/sysadmin/soft

Показать сведения об упаковке

Здесь -p (строчный p) покажет информацию о пакете:

# dpkg -p {package_name} # dpkg -p apache2

Просмотр содержимого пакета

Используйте -c (в нижнем регистре c), чтобы отобразить содержимое:

# sudo dpkg -c {package_name} # sudo dpkg -c skype-ubuntu-precise_4.2.0.11-1_i386.deb

Извлеките файл пакета *.deb

Используйте -x (нижний регистр x) для извлечения:

# dpkg -x {package_name} {location_were_to_extract} # dpkg -x libqt4-phonon_4.6.3-4+squeeze1_i386.deb /home/sysadmin/

Извлечь и отобразить имена файлов, содержащиеся в пакете

Используйте -X (верхний регистр X), чтобы отобразить содержимое с извлечением.

# dpkg -X {package_name} {location_were_to_extract} # dpkg -X libqt4-phonon_4.6.3-4+squeeze1_i386.deb /home/sysadmin/

Отображение информации о пакете

Здесь – это информация:

# dpkg -I {package_name} # dpkg -I libqt4-phonon_4.6.3-4+squeeze1_i386.deb

Переконфигурируйте уже установленный пакет

dpkg-reconfigure перенастраивает пакеты после того, как они уже установлены. Передайте ему имя (имена) пакета или пакетов для перенастройки. Он будет задавать вопросы конфигурации, как если бы пакет был впервые установлен.

# dpkg-reconfigure postfix

Это будет перенастраивать postfix же, как при первом его установке.

Вам нужно знать больше о командах dpkg ? Посмотрите страницу руководства:

Хотя dpkg -i действительно устанавливает пакет, он не выполняет никакого автоматического разрешения зависимости, между тем есть еще две альтернативы, используя gdebi или инструмент apt-get. Чтобы использовать более поздние версии, используйте:

Sudo apt-get install ./package.deb

Обратите внимание на./ в начале, вам это нужно, если вы находитесь в каталоге с пакетом, иначе он просто ведет себя как dpkg -i .

Удобный совет при установке такой программы, как Libreoffice, которая имеет несколько файлов.deb в папке.

Sudo dpkg -i *.deb

Создайте собственный скрипт-установщик debInstaller следующим образом:

#!/bin/bash dpkg -i "$@" apt-get --yes --fix-broken install

Сделайте исполняемый файл сценария

Chmod +x debInstaller

Затем переместите его в некоторые разделы в PATH или добавьте текущий каталог в PATH.

Я собираюсь переместить его в / usr / bin

Sudo cp debInstaller /usr/bin

Теперь вы можете установить любой пакет.deb с помощью команды:

Sudo debInstaller some-package.deb

Добавленная ценность этого метода – решение проблемы зависимостей, так как в основном вы столкнетесь с некоторыми проблемами при установке.deb с dpkg -i из-за ошибки зависимостей, поэтому вам нужно использовать apt-get install -f для ее решения, этот скрипт выполнит эту работу для вас, но здесь я использовал apt-get --yes --fix-broken install для автоматического решения этих ошибок без вмешательства пользователя.

Решение командной строки gdebi

Вот лучший способ установить файл.deb на Ubuntu в командной строке:

Sudo gdebi skype.deb

Если вы еще не установили gdebi , установите его, используя sudo apt install gdebi-core .

Почему gdebi?

gdebi будет искать все зависимости файла.deb и будет устанавливать их перед попыткой установить файл.deb . Я считаю это предпочтительнее, чем sudo dpkg -i skype.deb && sudo apt install -f . Последнее слишком стремительно устраняет зависимости в определенных ситуациях. Например, когда я пытался установить Skype, он попытался удалить 96 (!) Пакетов, включая пакеты, такие как compiz и unity ! gdebi дал гораздо более ясное сообщение об ошибке:

$ sudo gdebi skype.deb Cannot install "libqtgui:i386"

(Вот, кстати, решение этой конкретной проблемы.)

Установить:

Sudo dpkg -i filename.deb sudo apt-get install -f sudo dpkg -i filename.deb # yes, twice

Удалять:

Sudo dpkg -r PACKAGE-NAME

Чтобы переконфигурировать:

Sudo dpkg-reconfigure PACKAGE-NAME

Другой подход – установить gdebi

В 16.04 и выше:

Теперь Apt устанавливает и разрешает зависимости от файлов.deb так просто,

Sudo apt install /path/to/packagename

Чтобы установить пакет Debian (заканчивается на «.deb») с помощью cmd "dpkg", вы должны ввести:

Cd /path/of/Debian/package sudo dpkg -i package-name.deb

Если вы хотите удалить тот же пакет Debian в какой-то момент, то:

Cd /path/of/Debian/package sudo dpkg -r package-name.deb

Чтобы получить список текущих пакетов Debian, используйте:

(.deb) вручную устанавливаются с помощью команды dpkg или мы можем сказать «Debian Package Management System». dpkg – одна из бэкэнд-команд, таких как apt-get и aptitude.

Например:

dpkg -> apt-get, aptitude -> Synaptic, Software Center

Но, конечно, самыми легкими способами установки пакета было бы, во-первых, поскольку dpkg является базой, вы можете использовать его для установки, упакованного непосредственно из командной строки.

Для установки пакета:

sudo dpkg -i "DEB_PACKAGE"

Например, если файл пакета называется askubuntu_2.0.deb, тогда вы должны сделать sudo dpkg -i askubuntu_2.0.deb. Если dpkg сообщает об ошибке из-за проблем с зависимостями, вы можете запустить sudo apt-get install -f, чтобы загрузить отсутствующие зависимости и настроить все. Если это сообщает об ошибке, вам придется самостоятельно определять зависимости, следуя примеру. Как разрешить неудовлетворенные зависимости после добавления PPA ?.

Для удаления пакета:

sudo dpkg -r PACKAGE_NAME Например, если пакет называется askubuntu, тогда вы должны сделать

sudo dpkg -r askubuntu

Переконфигурируйте существующий пакет:

sudo dpkg-reconfigure PACKAGE_NAME

Это будет полезно, если вам нужно перенастроить что-то, связанное с указанным пакетом. Некоторые полезные примеры – это конфигурация клавиатуры, когда вы хотите включить Ctrl + Alt + Backspace, чтобы сбросить X-сервер.

Обычно пакеты содержат болванки конфигурационных файлов, например, размещаемых в /etc. Очевидно, что если конфиг в пакете обновляется, пользователь потеряет свой отредактированный конфиг. Эта проблема легко решается использованием папок типа «config.d», содержимое которых включается в основной конфиг, заменяя собой повторяющиеся опции.
Файл «DEBIAN/conffiles» позволяет решить проблему иначе: он содержит список файлов конфигурации (по одному на строке). Если в текущей версии пакета один из этих файлов обновляется, то пользователь получает предупреждение о конфликте версий конфигов, и может выбрать: удалить, заменить, или сделать merge.
С этой ситуацией наверняка сталкивался каждый линуксоид, копавшийся в конфигах:) А ноги растут отсюда.
На каждой строке должен быть полный абсолютный путь до каждого конфига. Например:
/etc/supersh/init.conf
/etc/supersh/actions.conf
DEBIAN/dirs: список папок для создания
«Список абсолютных путей к папкам, которые требуются программе, но по каким-либо причинам не создаются.» - гласит официальная документация. На практике – здесь перечисляются все папки, так или иначе используемые программой: и где лежат бинарники, и которые используются программой.
По одной на строке. Например:
/var/log/supersh
/var/lib/supersh
Удобно использовать для создания нескольких пустых папок.
DEBIAN/menu: создание пунктов меню
Хитрый файл для создания пунктов меню. У меня он так и не заработал:) Складывается ощущение, что его содержимое используется либо в необычных оконных менеджерах, либо в каком-то консольном меню… или же использовалось ранее и было забыто:)
Пример:
?package(supersh):needs="text" section="Applications/Programming" title="Super Shell Script" command="/usr/bin/super.sh"
TODO: узнать зачем нужно. Об этом написано в man5 menufile , честно говоря я не вникал:)
UPD: Правильный способ добавления пункта меню
Файл /DEBIAN/menu создаёт неизвестно что и непонятно где: элементы графического меню всё равно не создаются. Поэтому будем делать правильно:)
В /usr/share/applications видим кучку *.desktop файлов: это и есть пункты меню. Они представляют собой текстовые файлы с синтаксисом наподобие ini-файла. Открываем, учимся, делаем так же и кладём получившийся *.desktop файл в usr/share/applications/ . Иконка для него должна лежать в usr/share/pixmaps .
После этого в postinst скрипт нужно добавить выполнение команды обновления меню update-menus:
if [ "$1" = "configure" ] && [ -x "`which update-menus 2>/dev/null`" ] ; then
update-menus
fi

Работа со скриптами установки пакета будет рассмотрена далее.
Спасибо Condorious за наводку:)

DEBIAN/md5sums: контрольные суммы файлов
Используется для проверки целостности пакета. Важный файл.
Заполняется так (cwd=корень пакета):
$ md5deep -r usr > DEBIAN/md5sums
DEBIAN/watch: мониторинг сайта, откуда была скачана прога
Функция полезна, если Вы мэйнтейните от нескольких десятков пакетов, и уследить за всеми обновлениями сложно.
Файл содержит инструкции для программ uscan и uupdate. Используя эту возможность, можно следить за сайтом, откуда были получены исходники пакета, и обеспечивать контроль качества дистрибутива в целом.
Пример:
# Site Directory Pattern Version Script
ftp.obsession.se /gentoo gentoo-(.*)\.tar\.gz debian uupdate

И ещё пример для uscan(1):
version=3
madwimax.googlecode.com/files/madwimax-(.*)\.tar\.gz

DEBIAN/(preinst|postinst|prerm|postrm): скрипты установки
Всего можно создать до четырёх скриптов в одном пакете:

Обратите внимание, что ошибки, возникающие в этих скриптах никак не логируются : ничего интереснее кода возврата скрипта нигде не сохраняется, и логирование необходимо делать вручную! Пользователи одного моего пакета терпели неудачу при установке на Linux Mint, и не было даже возможности попросить у них лог ошибок (которого нету) чтобы выдебагать причину:)
Рекомендую использовать в начале каждого скрипта следующую болванку: она будет сохранять в syslog все возникающие ошибки.
#!/bin/bash
set -e # fail on any error
set -u # treat unset variables as errors

# ======[ Trap Errors ]======#
set -E # let shell functions inherit ERR trap

# Trap non-normal exit signals:
# 1/HUP, 2/INT, 3/QUIT, 15/TERM, ERR
trap err_handler 1 2 3 15 ERR
function err_handler {
local exit_status=${1:-$?}
logger -s -p "syslog.err" -t "ootync.deb" "supersh.deb script "$0" error code $exit_status (line $BASH_LINENO: "$BASH_COMMAND")"
exit $exit_status
}

Ваш код установочного скрипта...

WARNING: болванка пока не тестировалась широко, проверьте лишний раз! На невозможность отладки наткнулся совсем недавно:)

DEBIAN/templates: шаблоны для диалогов
Как уже было сказано, в скрипте DEBIAN/config можно задавать пользователю вопросы: ввести строку, выбрать один из вариантов, поставить галочку,… Этим занимается «библиотека» bash функций debhelper пакета debconf, умеющая кроме этого ещё массу полезных вещей. Здесь их не рассматриваю:)
Файл DEBIAN/templates содержит данные, используемые при выводе диалоговых окон (GUI или ncurses). Файл содержит блоки, разделённые пустой строкой. Каждый блок определяет ресурсы, используемые в одном конкретном диалоговом окне.
Шапка для всех типов диалогов стандартная:
Template: supersh/template-name
Type: string
Default: Default-value
Description: Dialog-title
␣Dialog-text

Template - уникальный (в пределах одного пакета) идентификатор шаблона. Если в скрипте нужно вызвать определённый диалог - используется именно это имя.
Type - тип шаблона. Определены такие типы: string, password, boolean, select, multiselect, text, note, error.
Default-value - значение по умолчанию: пользователь может просто согласиться с ним.
Description - как и в контрольном файле, состоит из двух полей: короткое описание, и длинный текст. Первое - это заголовок «окна», второе - более развёрнутое описание того, что требуется от пользователя. Рекомендуется не использовать слов вроде «введите», а сразу суть: «Приветствие скрипта», «Точка монтирования»,…

Тип Описание шаблона
string Приглашение на ввод текстовой строки
password Приглашение на ввод пароля.
Для этого типа шаблона нет значения Default по понятным причинам:)
boolean Галочка:) Имеет строковое значение «true» или «false»
select Возможность выбора одного из нескольких вариантов.

Choices: yes, no, maybe
multiselect Возможность выбора нескольких вариантов галочками.
Варианты предлагаются в дополнительном атрибуте шаблона:
Choices: sex, drugs, rock-n-roll
text Выводит на экран текст: некоторая не очень важная информация
note Выводит на экран текст: важная информация
error Выводит на экран текст: очень важная информация, критическая.

Для шаблонов text, note, error также нет значения Default, так как они лишь отображают информацию:)
Поиграемся с следующим шаблоном:
Template: supersh/greeting
Type: string
Description: Welcome message
␣The message you wish the script to welcome you with.
Default: Greetings, my master!
Основы использования debconf и debhelper
Это лишь работоспособные наброски. В оригинале почитать о шаблонах и работе с ними можно здесь: man 7 debconf-devel:)
Чтобы использовать шаблоны в своём скрипте настройки DEBIAN/config, необходимо сначала подключить функции debhelper:
. /usr/share/debconf/confmodule . Также этот файл нужно подключить в скрипте postinst: иначе скрипт DEBIAN/config вообще не выполнится!
Эти функции доступны в пакете debconf, не забудьте включить его в зависимости!
Примитивный пример использования. Файл DEBIAN/config
#!/bin/bash -e

# Подключение команд debconf

Case "$1" in
configure|reconfigure)
# Запрос


# Обработка ответа

greeting="$RET"
echo "$greeting" > /etc/supersh/greeting.txt
;;
*)
echo "config called with unknown argument \`$1"" >&2
exit 1
;;
esac
# Запрос
db_input medium "supersh/greeting" || true # инициализация
db_go || true # вывод запроса на экран

# Обработка ответа
db_get "supersh/greeting" # Получение значения в переменную $RET
greeting="$RET"
echo "$greeting" > /etc/supersh/greeting.txt

Здесь уже кроется неприятная засада: обратите внимание, что функции db_input передаётся приоритет диалога medium. Для debconf можно установить минимальный приоритет: диалоги с приоритетом ниже которого не отображаются, а берётся значение по умолчанию (Default шаблона)! Чтобы этого ТОЧНО не случилось - используем приоритет critical:) Кроме того, при установке из GUI порог вывода вопросов выше, и многие из них не отображаются вообще.
Возможные приоритеты: low - всегда используется default, medium - дефаулт обычно вполне подходит, high - дефаулт нежелателен, critical - внимание пользователя жизненно важно.
|| true используется чтобы скрипт не помер из-за ключика "-e" переданного bash.
В этом скрипте тоже рекомендуется использовать ту болванку для отлова ошибок, иначе с распространяемым пакетом могут возникнуть проблемы при отладке:)
Все тонкости использования debconf (функции, способы, параметры, коды ошибок) описаны в достаточно многословном мане: man debconf-devel .

И последнее: при удалении пакета командой purge - debconf должен также вычистить из своей базы сведения о пакете. Например, он сохраняет выбор пользователя при запросах db_input.
Чтобы вычистить эти данные, нужно в postinst-скрипт добавить следующее:
if [ "$1" == "purge" ] && [ -e /usr/share/debconf/confmodule ] ; then
. /usr/share/debconf/confmodule
db_purge
fi

Собираем пакет! :)

Ура! Все нужные файлы созданы, лежат по нужным папочкам. Теперь пора собирать пакет:)
Первое, что нужно сделать - это рекурсивно выставить всем файлам в корне пакета пользователя и группу root:root (или другие, если потребуется). Это нужно затем, что файлы пакета упаковываются в tar.gz архив который сохраняет и права доступа к файлам, и владельца. Потому нужно выполнить:
$ sudo chown -R root:root .
Однако делать это не обязательно. Есть отличная команда fakeroot которая при создании архива подменит владельца файлос root-ом.
В нашем примере, скрипт должен иметь бит выполнимости.
Потом выходим на папку назад, чтоб было видно корневую папку пакета, и пакет создаётся лёгким пинком сам:
$ fakeroot dpkg-deb --build supersh
Созданный пакет необходимо переименовать, чтобы он соответствовал порядку именования *.deb пакетов: <имя пакета>_<версия>_<архитектура>.deb
$ mv supersh.deb supersh_1.0-1_all.deb
Всё, пакет готов!
Автоматическая проверка пакета
Существует утилита lintian, позволяющая проверить пакет и выявить типичные ошибки в его структуре. Делается это так:
$ lintian supersh_1.0-1_all.deb
Установка пакета
$ sudo dpkg -i supersh_1.0-1_all.deb

Создаём собственный репозиторий пакетов

Теперь у нас есть собственный пакет. Когда их будет несколько, и тем более - с зависимостями, окажется, что намного удобнее быстренько поднять собственный локальный микро-репозиторий, и включить его в список источников менеджера пакетов:) Здесь я опишу быстрый HowTo «как создать свой репозиторий». Идею будет легко развить, почитывая соответствующую документацию:)
Сперва установим помощника:
$ sudo apt-get install reprepro
Описание будущего репозитория
Центр репозитория - его описание. Главное в нём - список компонент репозитория. Мы создадим компоненты «soft» и «games».
Выберите папку для будущего репозитория. Все действия производятся из её корня.
Создаём файл conf/distributions следующего содержания:
Description: my local repository
Origin: Ubuntu
Suite: testing
AlsoAcceptFor: unstable experimental
Codename: karmic
Version: 5.0
Architectures: i386 amd64 source
Components: soft games
UDebComponents: soft games

В нашем деле создания простого репозитория все поля не играют принципиальной роли, и используются лишь для визуального определения «что есть что»:)

Создание репозитория
Репозиторий описан! Теперь сгенерируем болванку на основе описания. Команды выполняются в корне репозитория:
$ reprepro export
$ reprepro createsymlinks
И добавим готовый репозиторий в /etc/apt/sources.list:
deb file:///path/to/repo/ karmic soft games
Этот репозиторий можно также расшарить при помощи веб-сервера.
Управление пакетами в репозитории
В корень репозитория кладём *.deb файлы для добавления, и добавляем их в компоненту soft дистрибутива karmic:
reprepro -C soft includedeb karmic *.deb
теперь пакеты доступны из менеджера пакетов:)
Удаление пакетов:
reprepro -C soft remove karmic supersh

Финиш

В статье рассмотрены материалы по созданию deb пакетов. Акцент сделан на моментах, для которых в сети нет достаточно наглядного описания. Надеюсь, что моя попытка изложить просто и понятно не провалилась:)
Домашнее задание:)) - вполне неплохо документированные вещи, которые легко найти в man"ах и статьях:
  • Создание source пакетов, компилирующих исходники: на примере Zabbix об этом отлично рассказал хабраюзер

Приемы работы в Ubuntu.
Глава 6: Управление пакетами

Оригинал: "Ubuntu Hacks: Chapter 6 - Package Management"
Авторы: Кайл Ранкин, Джонатан Оксер, Билл Чайлдерс (Kyle Rankin, Jonathan Oxer, Bill Childers)
Дата публикации: June 2006
Перевод: Н.Ромоданов
Дата перевода: сентябрь 2010 г.

Используйте возможности командной строки для установки отдельных файлов.deb в тех случаях, когда нельзя использовать другие автоматизированные инструментальные средства.

Управления пакетами в дистрибутивах, основанных на Debian, является очень мощным механизмом и экономит массу усилий, которые можно впустую потратить на поиск последних пакетов и отслеживания зависимостей. Возможностей автоматизированных средств, таких как apt-get , Synaptic и Adept, практически всегда хватает большинству пользователей, и вы должны, по мере возможности, пользоваться ими. Однако иногда возникают обстоятельства, когда вам может потребоваться непосредственно установить пакет .deb .

Предостережение. В Ubuntu используются автоматизированные средства установки пакетов по веской причине. С их помощью реализованы специальные средства защиты, обеспечивающих совместимость пакетов и наличие библиотек, если они необходимы пакетам. Если устанавливаете отдельно взятые файлы .deb (особенно те, которые не упакованы для конкретной версии Ubuntu), вы не только теряете всю массу этих преимуществ, вы также можете из-за несовместимости библиотек вывести из строя отдельные части системы, перезаписать файлы, от которых зависят другие программы Ubuntu, или добавить уникальные версии, которые усложнят обновление вашей системы в процессе ее эксплуатации. Перед тем, как устанавливать отдельный пакет .deb , особенно если вы новичок в Ubuntu, пожалуйста, изучите все другие возможности установки, в том числе использование репозитариев universe и multiverse [Совет # 60 ]. Вы создали свое собственное ядро "в стиле Ubuntu" Если вы с помощью утилиты make-kpkg откомпилировали из исходного кода свое собственное ядро, вы в итоге должны получить пакет .deb , в котором будет находиться двоичный код ядра, и файлы .deb для любого дополнительного модуля, которые вы, возможно, соберете (конкретные шаги этой процедуры описаны в разделе "Сборка ядер в стиле Ubuntu" [Совет # 78 ]). Вы откомпилировали свой собственный пакет из исходных кодов Ubuntu Как и при компиляции ядра, вы компилировали исходный код Ubuntu при помощи утилиты dpkg , и, в конечном счете, вы получили отдельный файл .deb , который вам нужно установить вручную. Вы хотите вернуться к старой версии программы Такая ситуация может возникнуть, в частности, в случае, если вы используете релиз Ubuntu, предназначенный для разработчиков. Иногда последних версиях релизов, предназначенных для разработчиков, имеются ошибки. В этим случае вам может потребоваться вернуться к предыдущей версии пакета. Один из самых простых способов сделать это состоит в нахождении более старой версии пакета .deb (возможно, в вашем локальном кэше пакетов в /var/cache/apt/archives/ ) и установке его вручную. Программа, которую вы хотите установить, имеет расширение.deb, но ее нет в репозитариях Ubuntu Могут возникнуть обстоятельства, при которых в репозитариях Ubuntu отсутствует пакет .deb , который вы хотите установить, поскольку это более новый пакет, чем тот, что предлагает Ubuntu, поскольку вы нашли более универсальный вариант файла .deb , или третья сторона предоставила файл .deb для Ubuntu, но еще не создала свой собственный репозитарий пакетов (например, как веб браузер Opera Web в его текущем варианте пакета).

Подсказка

Если вы нашли программу, упакованную в формате.deb, то в девяти случаях из десяти есть большая вероятность, что эта программа уже есть в одном из репозитариев Ubuntu. Подробности о дополнительных репозитариях, которые предоставляются Ubuntu и третьими сторонами, смотрите в разделе "Изменение списка репозитариев пакетов" [Совет # 60 ].

Программа, которую вы устанавливали или обновляли, была установлена не полностью из-за того, что есть другой установленный пакет, в котором имеются такие же файлы В сравнительно редких случаях мы сталкивались с ситуациями, когда в двух пакетах используются одинаковые файлы и когда один из них обновляется, выдается сообщение об ошибке, свидетельствующее о том, что делается попытка переписать файлы из другого пакета. В этих случаях вам необходимо с помощью утилиты dpkg вручную установить этот пакет, используя параметр --force .

Установка файла.deb

Всякий раз, когда вам, независимо от причины, требуется установить файл .de b, нужно обратиться к утилите dpkg . Утилита dpkg является инструментом, который в дистрибутивах, базирующихся на Debian, используется для установки файлов .deb . (Даже когда вы пользуетесь автоматическими средствами управления пакетами, на самом деле за кулисами в системе для установки пакетов используется dpkg ). Если вы знакомы с инструментальным средством rpm , используемых в дистрибутивах, базирующихся на пакетах RPM, то обнаружите, что у dpkg похожий синтаксис. Чтобы установить из командной строки обычный файл .deb , наберите следующее:

Whiprush@ubuntu:~$ sudo dpkg -i packagename.deb

Замените packagename.deb на имя файла .deb , который вы хотите установить. Если у вас есть несколько файлов, которые вы хотите одновременно установить, вы можете в командной строке перечислить их один за другим

Whiprush@ubuntu:~$ sudo dpkg -i package1.deb package2.deb package3.deb

или используйте универсальный символ [Совет # 13 ], чтобы установить все файлы.deb, которые есть в текущем каталоге:

Whiprush@ubuntu:~$ sudo dpkg -i *.deb

Утилита dpkg также имеет параметр, задающий рекурсивное исполнение (-R). Если у вас есть директорий, заполненный файлами deb, вы можете установить их следующим образом:

Whiprush@ubuntu:~$ sudo dpkg -i -R /path/to/directory

и утилита dpkg будет рекурсивно искать и устанавливать все файлы .deb , которые находятся в этом директории и во всех его поддиректориях.

Иногда, когда вы устанавливаете пакет с помощью утилиты dpkg , установка может прерваться из-за того, пакет помечен как hold , поскольку он конфликтует с другим пакетом, или он зависит от других пакетов, которые не установлены, или при установке пакета делается попытка переписать файлы, относящиеся к другому пакету, или по ряду других причин. В dpkg есть ряд параметров --force , которые вы можете использовать для того, чтобы игнорировать эти проблемы и продолжить установку пакета.

Предостережение

Параметры --force предназначены только для экспертов, которые хорошо знакомы с системой пакетов .deb и с зависимостями, имеющимися внутри системы. Как правило, установка пакетов прекращается по серьезным причинам и, если вы новичок и вы заставляете устанавливать пакет в любом случае, установка, скорее всего, закончится для вас вышедшей из строя системой. Поэтому пользуйтесь этими параметрами с осторожностью.

Чтобы посмотреть полный список параметров --force , наберите следующее:

Whiprush@ubuntu:~$ dpkg --force-help

К числу наиболее полезных параметров относятся следующие:

Установка пакета, даже если он отмечен как hold .

Force-overwrite

Установка пакета, даже если он может переписать файлы из другого пакета.

Выдать список ошибок об отсутствующих зависимостях и в любом случае продолжить установку.

Force-conflicts

Даже если пакет конфликтует с другим пакетом, в любом случае продолжить установку.

Так что если у вас есть файл .deb , который необходимо установить и который переписывает файлы из другого пакета, и вы все проверили и решили, что все будет в порядке, то для того, чтобы продолжить, введите:

Whiprush@ubuntu:~$ sudo dpkg -i --force-overwrite packagename.deb

Удаление пакета

Иногда вам может потребоваться удалить отдельный пакет вручную. В dpkg есть параметры -r и -P , предназначенные для удаления пакета и удаления пакета с очисткой конфигурационных файлов, соответственно. Чтобы удалить пакет, введите:

Whiprush@ubuntu:~$ sudo dpkg -r packagename

Обратите внимание, что вы не указываете расширение .deb в имени файла, который вы, возможно, перед этим устанавливали, - только имя самого пакета. Когда указывается параметр -r , dpkg будет искать и удалять все файлы этого пакета, кроме конфигурационных файлов, которые будут оставлены на случай, если программа будет устанавливаться еще раз. Если вы хотите очистить систему от всех файлов, включая конфигурационные файлы, используйте параметр -P:

Whiprush@ubuntu:~$ sudo dpkg -P packagename

Программное обеспечение в ОС Ubuntu Linux распространяется в так называемых deb-пакетах. Обычно при установке программы из репозитория система автоматически скачивает и устанавливает deb-пакеты, но бывают ситуации когда вам необходимо установить программу (например игру) скачав и установив deb-пакет вручную.

На самом деле эта ситуация довольно распространённая и для пользователей пришедших в Ubuntu из ОС Windows вообще должна быть родной, поскольку в этой ОС все программы устанавливаются преимущественно аналогичным образом. Т.е. скачивается установочный пакет в виде исполняемого exe файла или msi пакет. Последний вариант (msi) наиболее близок к системе управления пакетами которые используются в Linux.

Это приведет вас к странице «Загрузки». Вам нужно будет предоставить его позже при активации приложения. В этом случае загрузите 64-разрядный установщик. Перейдите в папку, в которую вы загрузили файл установщика. Внутри папки запустите одну из следующих команд в соответствии с вашим дистрибутивом.

Чтобы активировать приложение, откройте новый терминал. И вставьте код активации со страницы загрузки. Вы можете помочь нам, поделившись анонимной информацией! Если вы решили отправить диагностику, но хотите отказаться от нее позже, запустите следующее.

  1. Поищите программу в стандартных репозиториях ubuntu , например с помощью Центра Приложений
  2. Если в репозиториях программы не окажется, то поищите на сайте программы возможность установки из репозитория разработчиков или например ссылку на ppa репозиторий.
  3. Если нет репозитория, но есть готовый deb пакет, то устанавливайте его по инструкции ниже.
  4. Если на сайте есть только архив программы в виде исходных кодов, то придётся скачивать этот архив и собирать программу самостоятельно (об этом в другой заметке).

Почему прежде нужно искать репозиторий - просто потому, что в дальнейшем это упростит вам процедуру обновления программы. Служба обновления автоматически найдёт все обновлённые пакеты во всех установленных репозиториях и предложит их вам обновить.

Отключиться от местоположения сервера

В терминале выполните следующие действия. Если вы попытаетесь использовать более трех устройств одновременно на одной подписке, вы увидите экран ниже. Чтобы отключиться от местоположения сервера, выполните следующую команду.

Подключение к другому серверу

Чтобы найти список рекомендуемых мест для подключения, введите в терминал следующую команду.

Подключение к определенному местоположению сервера

Чтобы подключиться к определенному серверу, введите. Чтобы подключиться к определенной стране, введите. Например, чтобы подключиться к серверу в Германии, введите. Переход на другой протокол может помочь вам добиться более быстрой скорости соединения.

Первые два пункта можно поменять местами исходя из следующих соображений 1) в официальных репозиториях ПО более стабильно 2) в репозиториях разработчиков ПО наиболее свежее. Что вам требуется больше стабильность или новые фенечки - решайте сами.

Ну и наконец, когда нет репозиториев, или версия пакета в репозиториях вас не устраивает, но есть deb-пакет, который вы скачали с сайта разработчиков. У вас есть 2 простых способа его установить.

Чтобы просмотреть полный список функций приложения, выполните следующую команду. Если у вас возникли проблемы с подключением к вашему приложению, попробуйте выполнить следующие действия по устранению неполадок. Это позволяет пользователям эффективно управлять большими объемами программного обеспечения . Он выполняет установки, поиск пакетов и многие другие операции, ссылаясь на эту базу данных. Обновите базу данных следующей командой.

Вы увидите список серверов, из которых мы получаем информацию. После этого ваша база данных должна быть обновлена. Мы можем обновить пакеты в нашей системе, выпустив следующую команду. Если вы знаете имя пакета, который хотите установить, его можно установить с помощью этого синтаксиса.

Установка в графическом режиме

Откройте папку с deb-пакетом в файловом менеджере Ubuntu и дважды кликнете по нему.

Запустится графическая оболочка программы управления пакетами. Если в репозиториях есть более старая версия программы то вы увидите соответствующее сообщение. Прочитайте и закройте его.

Вы можете видеть, что можно одновременно установить несколько пакетов, что полезно для получения всего необходимого программного обеспечения для проекта за один шаг. Чтобы удалить пакет из вашей системы, вы можете выполнить следующую команду. Эта команда удаляет пакет, но сохраняет файлы конфигурации на случай, если вы снова установите пакет позже. Таким образом, ваши настройки останутся неповрежденными, даже если программа не установлена.

Если это не желаемый результат, и вы хотите очистить файлы конфигурации, а также программу, используйте следующий синтаксис. Это удаляет пакет и удаляет любые файлы конфигурации, связанные с пакетом. Чтобы удалить все пакеты, которые были установлены автоматически для поддержки другой программы, которые больше не нужны, введите следующую команду.

Нажмите кнопку «Установить пакет». Система попросит вас ввести пароль для подтверждения административных полномочий (пользователь которого вы создали при установке системы обладает такими полномочиями).


После ввода пароля появится окно «анимирующее» процесс установки

Существует несколько различных опций, которые могут быть указаны с помощью флагов. Мы рассмотрим некоторые общие. Если вы хотите загрузить пакет, но не установите его, вы можете выполнить следующую команду. Вы можете использовать следующую команду для поиска пакета, который соответствует вашим потребностям.

Установка.deb файла с зависимостями на безголовый сервер

Мы также можем искать более общие термины. Чтобы просмотреть информацию о пакете, включая расширенное описание, используйте следующий синтаксис. Это также обеспечит размер загрузки и зависимости, необходимые для пакета. Чтобы узнать, установлен ли пакет и проверить, к какому хранилищу он принадлежит, мы можем указать.


Время от времени появляются новые задачи, либо необходимость в решении старых задач новыми способами - тогда возникает потребность в дополнительном программном обеспечении. Данная статья рассказывает, что делать, если вам нужна новая программа для Ubuntu .

С использованием командной строки

Хотя иногда бывает необходимо выйти за рамки этих инструментов и программного обеспечения, доступного в репозиториях, большинство программных операций могут управляться этими инструментами. Для тех, кто задается вопросом, могут ли они сейчас перейти в Девуан, ответ «да».

Известно, что все ветви работают как мишень для миграции, но в этом руководстве будет рассмотрен только устойчивый филиал. Если вы все равно решите перейти на другую ветку, вы должны знать, что вы делаете, и ожидать решения любых возникающих проблем. Если вам нравится, вы можете добавить репозиторий стабильных обновлений.

Можно устанавливать стороннее программное обеспечение. Для этого используются файлы с расширением.DEB. Их открывают через Центр приложений, терминал или утилиты. Легче всего это сделать при помощи графического интерфейса. Но пользователи, которые раньше не работали в такой ОС, вряд ли смогут разобраться без инструкции. В Ubuntu установка DEB-пакета немного отличается от запуска EXE-файлов в Windows.

Чтобы утилита работала без ошибок, её лучше загружать из Центра приложений Линукс (ЦП). Так вы точно получите официальное ПО. Оно будет самостоятельно обновляться. Можно поискать файлы на сайте разработчика нужной вам программы. Обращайтесь к неофициальным источникам в крайнем случае: например, когда на компьютере нет доступа в интернет . Также ручная установка DEB актуальна, если вы не нашли утилиту в ЦП.

Если на компьютере отключена сеть, это единственный способ поставить на него драйвера. Лучше искать их на сайте launchpad.net. Введите в строку поиска «Linux-Firmware». Далее выбирайте дистрибутив и архитектуру.

Для работы пакета нужны библиотеки, от которых он зависит. Такие объекты есть и в других ОС. Например, в Windows это DLL-файлы . При инсталляции ПО из Центра недостающие дополнения будут устанавливаться автоматически. А со сторонними утилитами всё не так просто. Если библиотек нет, и ЦП их не подгрузил, значит, их надо качать вручную.

Графический интерфейс

Самое простое - инсталляция DEB-пакета через графический интерфейс. Он напоминает проводник Win. Но отличия всё же есть.


Так вы запускаете файлы через Центр приложений. Он часто тормозит и «неправильно» открывает утилиты. Поэтому лучше использовать консоль.

Терминал

Вот как установить DEB-пакет на Ubuntu, используя консольные команды:


Другие утилиты

Существуют и другие утилиты для загрузки установщиков.

Gdebi

Если её у вас нет, скачайте через терминал. Введите команду «sudo apt install gdebi». Служба появится в контекстном меню файлов. Использовать её просто:


Можно и через консоль «sudo gdebi [Путь_к_директории]/[Имя_пакета].deb». Программа сама загрузит связанные библиотеки, если компьютер подключен к интернету, и они есть в репозитории.

Apt

Вот как выглядит установка DEB в Ubuntu через программу Advanced Packaging Tool. Она подходит для локальных пакетов:

  1. Запустите «Терминал».
  2. Перейдите в папку с нужным файлом «cd ~/[Имя_каталога]». В команде можно указать полный путь.
  3. И введите «sudo apt install ./[Имя_файла].deb». Точка с косой чертой («слешем») означает, что вы обращаетесь к текущей директории.
  4. Зависимости загрузятся автоматически, если они доступны.

Теперь вы знаете, как установить DEB-пакет на Linux Ubuntu. Способов много. Можно загружать программы с помощью интуитивно-понятного интерфейса или терминала. Дополнительные библиотеки, от которых зависит утилита, тоже надо качать. В результате вы поставите не один пакет, а несколько.