Андрей Смирнов
Время чтения: ~15 мин.
Просмотров: 0

Как собрать .deb пакет

Популярные теги

ubuntu
linux
ubuntu_18_04
settings
debian
setup
ubuntu_16_04
error
macos
redhat
windows
install
problems
mint
server
ubuntu_18_10
desktop
update
android
wifi
hardware
bash
убунту
files
rhel
network
docker
kali
nvidia
ustanovka
apt
security
windows_10
web
stretch
issues
kde
filesystem
python
software
apache2
mysql
program
video_card
for
password
shell
apt-get
drivers
partition
performance
gnome
manjaro
keyboard
terminal
kubuntu
disk
usb
vpn
driver
wi_fi
wine
nginx
package-management
best
video
sound
delete
games
user
macbook
disk_space
dual_boot
installation
virtualbox
ubuntu_17_10
fedora
lubuntu
oshibka
boot
ssh
mail
os
centos
ubuntu_20_04
zorin_os
firewall
git
zorin
hotkeys
kvm
freebsd
kernel
display
cron
mount
backup
grub
xubuntu
chrome

Типы файлов DEB

Ассоциация основного файла DEB

.DEB

Формат файла:.deb
Тип файла:Debian Software Package

расширение DEB файл представляет собой сжатый стандартный архив Unix, который содержит два с gzip’нутыми или сжатыми bzip’ыми архивами. Каждый архив используется в одной другой задаче, один из них для фактических данных и другой информации для управления инсталлятором. Пакеты установки программного обеспечения в основном используют DEB тип файла. Несколько версий Linux, такие как; PCLinuxOS, Edubuntu, Ubuntu и Kubuntu использовать DEB файл установки.

Создатель: Debian
Категория файла:Сжатые файлы
Ключ реестра:HKEY_CLASSES_ROOT\.deb

Программные обеспечения, открывающие Debian Software Package:

IZArc, разработчик — Ivan Zahariev

Совместимый с:

Windows
Mac

Debian package management system, разработчик — Debian

Совместимый с:

Linux

Synaptic Package Manager, разработчик — Alfredo K. Kojima

Совместимый с:

Linux

8 ответов

489

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

После завершения загрузки он вызывает для установки всех этих файлов, удовлетворяющих всем зависимостям.

Итак, если у вас есть файл :

  • Вы можете установить его с помощью , за которым следует .

  • Вы можете установить его с помощью (или ). С помощью старых версий вы должны перенести свой файл deb в каталог . Для обоих после выполнения этой команды он автоматически загрузит свои зависимости.

  • Установите и откройте файл .deb, используя его ( Щелкните правой кнопкой мыши -> Открыть с помощью ). Он установит ваш пакет .deb со всеми его зависимостями.

    ( Примечание : APT поддерживает индекс пакета, который представляет собой базу данных доступных пакетов, доступных в репо, определенных в файле и в каталоге . Все эти методы не смогут удовлетворить зависимость от программного обеспечения, если зависимости, требуемые deb, отсутствуют в индексе пакета.)

Зачем использовать после (упоминается в первом методе) ,

Из

Если установить пакет и зависимость пакета не выполняется, он оставляет пакет в состоянии , и этот пакет считается сломанным.

пытается исправить этот сломанный пакет, установив отсутствующую зависимость.

77

Установите файл с помощью . Если есть некоторые ошибки с неразрешенными зависимостями, запустите .

43

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

Если у вас еще нет установленного , установите его с помощью .

Почему gdebi?

будет искать все зависимости файла и будет устанавливать их перед попыткой установить файл . Я нахожу это намного предпочтительнее, чем . Последнее слишком стремительно устраняет зависимости в определенных ситуациях. Например, когда я пытался установить Skype, он попытался удалить 96 (!) Пакетов, включая пакеты, такие как и ! дал гораздо более ясное сообщение об ошибке:

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

12

Проверьте зависимости с помощью и зависимостей перед .

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

9

Вы можете установить локальный пакет .deb:

Обязательно укажите локальный относительный или абсолютный путь (, если в текущем каталоге), в противном случае он будет искать в удаленных репозиториях и не работает .

3

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

Было бы полезно добавить его в каталог apt-get archives (), чтобы вы могли ссылаться на него как на пакет с зависимостями, а не на отдельный архив .deb.

Кроме того, добавив его в свой каталог apt-get archives, вы сможете использовать зависимости с помощью . Это позволит вам устанавливать его с помощью любых добавленных вручную зависимостей вместо автономной системы архивирования dpkg.

3

Современный apt-get может быть использован для установки пакета просто с помощью .

(должно быть сделано как изменение верхнего ответа, но оно было отклонено — см. https://unix.stackexchange.com /сообщений /159114 /редактировать )

-2

Это очень просто, если я хочу установить Chrome.

Установите файл Chrome как:

Иногда возникает вероятность получить некоторые ошибки зависимостей, например:

Итак, чтобы решить вышеуказанные проблемы, вам нужно добавить зависимости; введите следующую команду:

После предоставления указанной команды на ваш компьютер будут добавлены зависимости, а ваш пакет Debian () будет установлен.

Именование пакетов

Структура имени пакетов такова: имя-дополнение-версия_архитектура.deb

  • Имя пакета;
  • Если данный пакет содержит:
    • заголовочные и другие файлы для разработчиков → «-dev»;
    • отладочную информацию → «-dbg»;
    • файлы документации → «-doc»;
    • исполняемые файлы (обычно идущие с библиотеками) → «-bin»;
  • «-» и версия пакета
    • После основной версии может стоять номер ревизии пакета в виде «-1», «-2»…
    • Если изменения касаются только соответствия критериям Debian по определению свободного ПО, то «.dfsg-1», «.dfsg-2»…
    • Для обновлений безопасности внутри стабильной ветки Debian добавляется «etch2», «lenny1»…
    • Если пакет загружен в репозиторий не одним из основных мейнтейнеров (англ. NMU-upload), то добавляется «+1», «+2»…
  • «_» и архитектура: «_i386», «_amd64», «_all»…

Формат

Старый формат (до версии Debian 0.93)

deb-файл в старом формате представляет собой две строки ASCII-текста, за которыми следуют два архива формата tar.gz. Первая строка содержит номер версии формата, дополненный до 8 цифр (0,939000 для всех старых форматов). Вторая строка содержит десятичную строку (без начальных нулей), определяющую длину первого архива формата tar.gz. Каждая из этих строк завершается одним символом новой строки.

Новый (текущий) формат (с версии Debian 0.93)

Начиная с Debian версии 0.93, deb файл представляет собой архив формата ar.

Обычно архив содержит 3 файла в нижеприведенной последовательности:

  • debian-binary - Текстовый файл, содержащий версию формата deb-пакета. Она равняется «2.0» для текущих версий Debian.
  • control.tar - tar-архив, содержащий информацию и скрипты установки пакета. Может быть сжат с помощью gzip или xz, тип архива отображается в имени файла (к примеру control.tar.gz).
  • data.tar - tar-архив, содержащий дерево устанавливаемых файлов пакета. Может быть сжат с помощью gzip, bzip2, lzma или xz, тип архива отображается в имени файла (к примеру control.tar.gz).

control.tar

Архив содержит информацию о поставляемом в данном пакете программном обеспечении.

  • control — Содержит краткую информацию об пакете программного обеспечения: Наименование, версия, описание, целевая архитектура, зависимости от других пакетов и т.д..
  • md5sums — Содержит проверочные MD5 суммы всех устанавливаемых файлов.
  • conffiles — Список файлов пакета, являющихся конфигурационными. При обновлении файлы из этого списка не перезаписываются новыми, если это не указано отдельно.
  • preinstpostinstprerm, postrm — Необязательные скрипты, выполняемые соответственно до и после установки или удаления пакета.
  • config — Скрипт для debconf механизма конфигурации.
  • shlibs — Список shared libraries.

Репозитории

Основной вид распространения deb-пакетов — репозитории. Для описания репозитория обычно используется строчка:

deb http://ftp.debian.org/debian squeeze main contrib non-free
  • deb — указание типа репозитория
  • http://ftp.**** — URI корня репозитория. Может использоваться http:// ftp:// file:// и некоторые другие схемы.
  • squeeze — distribution part. Версия операционной системы.
  • main contrib *** *** — component — Компоненты операционной системы (в основном различающиеся свободой).

Репозиторий, размещенный на сетевых хранилищах обычно объединяет несколько distribution part с общим хранением пакетов. структура обычно такова.

  • /pool/ — структуированное по имени хранилище скомпилированных пакетов и исходных текстов программ.
  • /dists/ — списки пакетов, входящий в определённый distribution part.

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

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

$ sudo apt-get update

По запросу введите пароль. Учтите, что при вводе в терминале пароль не отображается, ни звёздочками, ни кружками, никак. Это нормально. Для установки нужной программы введите команду:

$ sudo apt-get install имя-программы

Например:

$ sudo apt-get install libsexymm2

Если нужно установить несколько программ, то их можно перечислить через пробел, например:

$ sudo apt-get install libsexymm2 nmap

Если потребуется — ответьте на задаваемые вопросы (для положительного ответа нужно ввести Y или Д). Программа будет установлена, если она уже установлена — она будет обновлена.

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

Для поиска программы в списке доступных пакетов воспользуйтеcь командами:

$ sudo apt-cache search keyword

где keyword — название программы, часть названия программы или слово из её описания.

Установка Ubuntu Server 16.04

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

Шаг 2. Запись на флешку

Для записи образа на флешку можно использовать утилиту dd:

Здесь /dev/sdb1 — имя вашей флешки, у вас может отличаться, поэтому будьте внимательны и замените на свое значение.

Шаг 3. Настройка BIOS

Я не буду описывать как настроить BIOS на загрузку с флешки. Просто перезагрузите компьютер, откройте меню BIOS и выставьте вашу флешку первой среди устройств загрузки.

Для начала установки выберите первый пункт:

Выберите вашу страну, это нужно для настройки часового пояса:

На вопрос об определении раскладки нажатием клавиш ответьте Нет:

Затем выберите страну и раскладку из списка:

Выберите клавишу для смены раскладки:

Шаг 9. Имя компьютера

Выберите имя своего компьютера. Если вы уже знаете какой домен будете использовать можно сделать чтобы оно соответствовало ему:

Шаг 10. Имя пользователя

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

Это логин пользователя, который вы будете вводить при входе в систему:

Введите два раза пароль нового пользователя.

Вы можете зашифровать свой домашний каталог, если считаете что это необходимо:

Шаг 14. Часовой пояс

Система попытается автоматически определить ваш часовой пояс. Вы можете согласиться с выбранным вариантом или выбрать свой из списка. Чтобы согласиться выберите Да:

Шаг 15. Разметка диска

По умолчанию система предлагает использовать разметку по умолчанию. Установщик создаст два раздела, корень и раздел подкачки. Для этого выберите Авто — использовать весь диск и настроить LVM:

Если же у вас уже есть установленные системы, то, возможно, лучшим вариантом будет ручная разметка.

Выберите диск, на который будет проводиться установка:

Шаг 17. Таблица разделов

Если диск был чист, то система предложит создать таблицу разделов, это сотрет все данные, даже если они там были, выберите Да:

Выберите размер LVM, который будет использоваться чтобы установить Ubuntu Server 16.04:

Проверьте все ли правильно и примените изменения:

Дождитесь пока установка системы завершиться:

Если для доступа к сети нужно подключиться к прокси серверу, укажите его здесь:

Шаг 22. Настройка обновления

На этом экране выполняется настройка обновления системы. Лучше устанавливать обновления безопасности автоматически чтобы система оставалась всегда в безопасности:

Выберите программное обеспечение, которое хотите установить на свой сервер:

Подождите, пока выбранные вами программы установятся:

Выберите да, чтобы установить загрузчик системы на диск:

Установка Ubuntu Server пошагово завершена, чтобы перезагрузить компьютер нажмите кнопку Продолжить:

Шаг 27. Вход в систему

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

Теперь у вас есть полностью настроенный Ubuntu Server и вы можете его использовать для решения своих задач и установить все необходимое программное обеспечение, с помощью панели управления или вручную.

Устранение неполадок при открытии файлов DEB

Общие проблемы с открытием файлов DEB

IZArc не установлен

Дважды щелкнув по файлу DEB вы можете увидеть системное диалоговое окно, в котором сообщается «Не удается открыть этот тип файла». В этом случае обычно это связано с тем, что на вашем компьютере не установлено IZArc для %%os%%. Так как ваша операционная система не знает, что делать с этим файлом, вы не сможете открыть его дважды щелкнув на него.

Совет: Если вам извстна другая программа, которая может открыть файл DEB, вы можете попробовать открыть данный файл, выбрав это приложение из списка возможных программ.

Установлена неправильная версия IZArc

В некоторых случаях у вас может быть более новая (или более старая) версия файла Debian Software Package, не поддерживаемая установленной версией приложения. При отсутствии правильной версии ПО IZArc (или любой из других программ, перечисленных выше), может потребоваться загрузить другую версию ПО или одного из других прикладных программных средств, перечисленных выше. Такая проблема чаще всего возникает при работе в более старой версии прикладного программного средства с файлом, созданным в более новой версии, который старая версия не может распознать.

Совет: Иногда вы можете получить общее представление о версии файла DEB, щелкнув правой кнопкой мыши на файл, а затем выбрав «Свойства» (Windows) или «Получить информацию» (Mac OSX).

Резюме: В любом случае, большинство проблем, возникающих во время открытия файлов DEB, связаны с отсутствием на вашем компьютере установленного правильного прикладного программного средства.

Даже если на вашем компьютере уже установлено IZArc или другое программное обеспечение, связанное с DEB, вы все равно можете столкнуться с проблемами во время открытия файлов Debian Software Package. Если проблемы открытия файлов DEB до сих пор не устранены, возможно, причина кроется в других проблемах, не позволяющих открыть эти файлы. Такие проблемы включают (представлены в порядке от наиболее до наименее распространенных):

Разновидности

udeb

Проект debian-installer ввёл имена файлов пакетов, которые заканчиваются на .udeb («µdeb», «микроdeb»).
Это микро-.deb формат, который не полностью следует политике Debian, не содержит документации и должен использоваться только инсталлятором Debian (Debian-Installer), который является новым установщиком Debian, разработанным для Debian Sarge. Формат файла .udeb идентичен формату .deb. Программа udpkg, используемая для работы с .udeb пакетами, имеет ограниченные возможности по сравнению с dpkg и меньше поддерживает связи пакетов. Разница в имени существует из-за того, что мейнтейнерам архива Debian не нравилось присутствие в архиве пакетов .deb, которые не отвечали политике, поэтому для них было выбрано другое имя, чтобы подчеркнуть это и не допустить их непреднамеренную установку на рабочую систему. Пакеты .udeb используются на initial ram-диске при установке базовой системы, только чтобы создать очень ограниченную систему Debian.

Именование пакетов

Структура имени пакетов такова: имя-дополнение-версия_архитектура.deb

  • Имя пакета;
  • Если данный пакет содержит:
    • заголовочные и другие файлы для разработчиков → «-dev»;
    • отладочную информацию → «-dbg»;
    • файлы документации → «-doc»;
    • исполняемые файлы (обычно идущие с библиотеками) → «-bin»;
  • «-» и версия пакета
    • После основной версии может стоять номер ревизии пакета в виде «-1», «-2»…
    • Если изменения касаются только соответствия критериям Debian по определению свободного ПО, то «.dfsg-1», «.dfsg-2»…
    • Для обновлений безопасности внутри стабильной ветки Debian добавляется «etch2», «lenny1»…
    • Если пакет загружен в репозиторий не одним из основных мейнтейнеров (англ. NMU-upload), то добавляется «+1», «+2»…
  • «_» и архитектура: «_i386», «_amd64», «_all»….

Как установить пакет из Backports

Debian не собирается расставлять приоритеты в репозитории backports по умолчанию. Здесь предполагается, что вы собираетесь использовать бэкпорты для новых версий определенных пакетов, но не хотите обновлять всю систему. Это действительно хорошая политика для работы с репозиторием Backports, но, конечно, нет ничего плохого в установке всего в репозитории. Все это проверено на работе с Debian Stable.

Установите пакет Debian Backports.

Если вы хотите установить пакет из backports, вы можете использовать -t флаг с Apt, чтобы указать репозиторий backports. Например, если вы хотите получить последнюю версию LibreOffice из backports, команда будет выглядеть так:

$ sudo apt install -t stretch-backports libreoffice

Хранилище также включает в себя последние версии ядра Linux и версии Mesa. Если вы используете графический стек с открытым исходным кодом, они оба жизненно важны. Если вам нужно последнее ядро в Debian Stable, вы можете попробовать следующее.

$ sudo apt install -t stretch-backports linux-image-amd64

Как сделать полное обновление из Backports

Обновите с помощью Debian Backports.Хотя это не обязательно рекомендуется, вы можете сделать обновление из бэкпортов. Это позволит выполнить поиск по всему доступному через репозиторий и установить обновления, где это применимо. Это не значит, что Debian продолжит обновляться с бэкпортов. Вам придется вручную указывать это каждый раз. Ваши обычные обновления будут работать как обычно, применяя новые пакеты из обычных стабильных репозиториев Debian, где это возможно. $ sudo apt -t stretch-backports upgrade

Создание пакетов

Создают пакеты deb обычно с помощью утилит dpkg — в частности, dpkg-buildpackage. Основы создания пакетов описаны в «Руководстве нового сопровождающего Debian» и «Справочнике разработчика Debian».

Совсем простые, но малопригодные для серьёзного сопровождения пакеты можно создавать с помощью программы CheckInstall.

Debhelper — коллекция небольших программ, которые могут быть использованы в файлах debian/rules (наборах инструкций для сборки deb-пакета). Создана Джо Хессом с целью предоставить создателям пакетов Debian возможность писать структурно более простые debian/rules-файлы и повторно использовать готовые стабильные и удобные решения для многих подзадач сборки пакетов. По состоянию на конец 2010-х годов содержит более 60 небольших программ.

Часто вместе с программами debhelper используют написанную Крейгом Смоллом утилиту dh_make (не являющуюся его частью), которая копирует шаблоны всех файлов, необходимых для постройки deb-пакета из исходного кода программы. Эти шаблоны могут включать информацию, которую предоставил пользователь, и краткую информацию о том, как строится программа из исходного кода. После запуска dh_make, как правило, всё равно необходимо отредактировать большинство файлов шаблонов для того, чтобы построить deb-пакет.

Система CDBS — набор make-правил, использующий debhelper и позволяющий пользователям писать ещё более короткие файлы сборки deb-пакетов.

Рейтинг автора
5
Материал подготовил
Максим Иванов
Наш эксперт
Написано статей
129
Ссылка на основную публикацию
Похожие публикации