Как установить DEB пакет в Debian и производных. Установка программ Установка dev пакетов на ubuntu

Windows 10

Установочные файлы на iPhone/iPad бывают двух типов - DEB и IPA. IPA - это файлы игр и разных программ из iTunes AppStore. Устанавливаются и качаются они в один клик, также такие файлы можно найти и скачать в Интернете.

Особенности установки DEB

DEB - пакеты установки твиков и программ, которые можно загрузить из Cydia. Если вы будете загружать DEB-файлы из Cydia, то вы их больше не увидите, эти файлы сразу удалятся после установки программы. А вот если вы скачали пакет DEB на просторах Интернета, то вам потребуется ручная установка. Как установить DEB на iPad или на iPhone? Далее будут описаны четыре варианта установки.

Первый способ

Как установить DEB на iPhone? Первый метод - это установка через терминал. Это один из самых сложных вариантов. На вашем телефоне должен быть установлен терминал - либо MobileTerminal из Сидии или, как вариант, настроенный доступ на iPhone с компьютера. Вам нужно скопировать файл.deb в телефон (/var/mobile). Далее в нем нужно ввести следующее (во время набора символы не будут появляться, ничего страшного): su root alpine dpkg -i название_файла.deb. После каждой написанной строчки нажимаем Enter. Если файл не установится, то терминал сообщит вам об этом.

Второй способ

Как установить DEB-пакет на iPhone или iPad? Метод второй - установить через Cydia (если присутствует доступ к файлам по usb). Вам нужно скопировать DEB-файл по следующему адресу: /var/root/media/Cydia/AutoInstall. Если некоторых папок нет, то создайте их вручную. Далее перезагрузите телефон. После запуска девайса Cydia установит все файлы автоматически.

Третий способ

Как установить DEB? Метод третий - через Cider (требуется Cydia на девайсе). Запустите на компьютере Cider (не забудьте предварительно подключить телефон к компьютеру), при первом запуске программа создает все требуемые папки и файлы. В папку Archives, копируете нужные DEB-файлы. Затем запускаете Cider для того, чтобы программа увидела файлы. На вкладке "Синхронизация" будут отображены наши DEB-пакеты, нужно выбрать, куда скопировать их, - в кэш Cydia или в папку AutoInstall. Кэш Cydia: после того как вы скопировали файл, вам нужно запустить Сидию и в поиске выбрать программу, которую вы хотите установить, далее запустить установку, и она сразу установится, не скачиваясь из Интернета. Папка AutoInstall: нужно скопировать файл, перезагрузить ваш iPhone или iPad, и программка во время перезагрузки установится автоматически.

Четвертый способ

Как устанавливать DEB-файлы? Метод четвертый - установка через программу iFile. Данная работа проводится на самом телефоне или планшете. Для начала вам нужно установить требуемую программу iFile на ваш девайс из Сидии. Следующим шагом будет загрузка DEB-файла на ваш телефон или планшет. Переместить файл можно любым известным и доступным вам методом. Перемещаете файл в любую папку. После копирования, открываете файл DEB и нажимаете кнопку Install. Дождитесь окончания установки программы.

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

Программное обеспечение в ОС 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 .

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

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

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

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

Пользователи Windows наверняка успели привыкнуть к последнему способу. Т.е. просто скачать файл с нужным расширением, два раза кликнуть и следовать указаниям, нажимая кнопочку «Далее». В системе «Линукс» для такого метода есть свои отличия.

1) Зайти в Центр Приложений и попробовать отыскать там требуемую программу.

2) Если не удалось обнаружить в стандартном источнике, то можно зайти на официальный сайт разработчиков и посмотреть там их репозиторий для установки или ссылку на PPA.

3) В том случае, когда на сайте предлагают лишь установить deb-пакет, то его нужно скачивать и работать именно с ним далее.

4) Бывает и такое, что можно найти только исходные коды, в этом случае придется собирать программу самостоятельно.

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

Стоит также отметить, что в официальных репозиториях программы надежнее, чем в источниках разработчиков, так как в последнем находятся более новые версии, хотя не такие стабильные.

Установка deb-файлов делится на 2 способа: в графическом режиме и терминале.

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

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

Установка из терминала

Чтобы установка deb-пакета была правильной, нужно в терминале перейти в соответствующую папку, содержащую нужный файл, и набрать команду: "sudo dpkg -i имя_пакета.deb".

Далее нужно следовать всем инструкциям на экране. Если все прошло хорошо, то появится сообщение об успешной установке программы. В Ubuntu deb-пакеты могут не содержать нужных зависимостей для данной программы, все требуемые названия дополнительных пакетов будут указаны, их нужно в том же терминале доустановить.

Было представлено лишь самое необходимое и краткое описание установки. Существует очень много частных случаев, каждый из которых обладает массой своих тонкостей.

D eb – это формат установочного пакета, используемый всеми дистрибутивами на базе Debian. Пакеты Deb могут быть установлены и удалены с помощью командной строки или графического менеджера пакетов.

В этом уроке мы объясним, как установить.deb пакеты debian на Ubuntu 18.04. Эти же инструкции применяются для Ubuntu 16.04 и любого дистрибутива на основе Debian, включая Debian, Linux Mint и Elementary OS.

Прежде чем вы начнете

Репозитории Ubuntu содержат тысячи пакетов deb, которые могут быть установлены из программного обеспечения Ubuntu Software Center. Если вы хотите установить из командной строки, вы можете использовать утилиту командной строки apt .

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

Будьте осторожны при установке пакетов deb из неофициальных источников.

Загрузка deb-пакетов

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

Запустите веб-браузер и перейдите на страницу загрузки TeamViewer для Linux. Загрузите пакет deb, нажав ссылку для загрузки Ubuntu и Debian.

Если вы предпочитаете использовать терминал, вы можете загрузить файл deb с помощью wget или curl:

wget --no-check-certificate https://download.teamviewer.com/download/linux/teamviewer_amd64.deb

curl -k -O -L https://download.teamviewer.com/download/linux/teamviewer_amd64.deb

Установка deb-пакетов из командной строки

Когда дело доходит до установки пакетов deb из командной строки, у вас есть несколько инструментов в вашем распоряжении. В следующих разделах мы покажем вам, как использовать утилиты apt , gdebi и dpkg для установки пакетов deb.

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

APT (Advanced Package Tool) – это интерфейс командной строки для системы управления пакетами. Он был введен в Ubuntu 14.04 и объединяет наиболее часто используемые команды apt-get и apt-cache .

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

sudo apt install ./teamviewer_amd64.deb

Вам будет предложено ввести Y:

0 upgraded, 84 newly installed, 0 to remove and 64 not upgraded. Need to get 21.0 MB of archives. After this operation, 66.3 MB of additional disk space will be used. Do you want to continue?

Менеджер пакетов apt разрешит и установит все зависимости пакета.

Установка пакетов deb с помощью gdebi

gdebi является инструментом для установки локальных пакетов deb. Он не установлен по умолчанию в , но вы можете установить его из программного обеспечения Ubuntu Software Center или используя следующую команду:

sudo apt install gdebi

Теперь вы можете установить пакеты deb gdebi , набрав:

sudo gdebi teamviewer_amd64.deb

Do you want to install the software package? :

Введите, y когда будет предложено gdebi , разрешите и установите пакет deb и все его зависимости для вас.

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

dpkg является менеджером пакетов низкого уровня для систем на базе Debian. Используйте опцию -i (или --install) для установки пакетов deb dpkg .

sudo dpkg -i teamviewer_amd64.deb

В отличие от apt и gdebi , dpkg не разрешает зависимости. Если при установке пакетов deb вы получаете ошибки зависимости, вы можете использовать следующую команду apt для разрешения и установки всех зависимостей пакета:

sudo apt install -f

Установка deb-пакетов с использованием GUI

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

Откроется центр графического программного обеспечения по умолчанию

Нажмите кнопку «Установить», и откроется диалоговое окно «Аутентификация».

Установка может занять некоторое время в зависимости от размера файла и его зависимостей. После установки пакета deb кнопка Install в программном центре Ubuntu изменится на «Удалить».

Все, приложение установлено в вашей системе, и вы можете запустить его из меню приложений.

Заключение

В этой статье вы узнали, как устанавливать локальные пакеты deb.

Не стесняйтесь оставлять комментарий, если у вас есть какие-либо вопросы.

Обычно пакеты содержат болванки конфигурационных файлов, например, размещаемых в /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 об этом отлично рассказал хабраюзер