Сборка пакетов deb пакетов
Содержание:
3.1. Введение
Дистрибутив Debian известен своей исключительной стабильностью и надежностью, а также замечательной системой управления пакетами/разрешения зависимостей apt. Установка новых приложений осуществляется очень просто:
# apt-get программа |
Выборка и установка библиотек, от которых зависит работа приложения, производятся автоматически. Apt — изощренная, интеллектуальная программа, а официальный архив программного обеспечения Debian поддерживает жесткие стандарты качества пакетов. Официальный программный архив Debian содержит более 12 000 программ; это больше, чем у любой другой платформы.
Dpkg —аналог RPM для Debian, обладающий дополнительными возможностями; он также выполняет базовую настройку конфигурации. Например, при установке Postfix dpkg запрашивает кое-какую информацию о системе, устанавливает стартовые и конфигурационные файлы и инициализирует программу.
Debian существует в трех разных версиях: стабильной, тестовой и нестабильной (также существует четвертая версия для искателей приключений — экспериментальная). Они обозначаются терминами Woody, Sarge и Sid. Версия Woody чрезвычайно консервативна. Пакеты допускаются в версию Woody только после обширной проверки зависимостей и исправления всех дефектов безопасности. Версии Sarge и Sid содержат новые пакеты, не прошедшие столь подробного тестирования. «Заплатки» безопасности быстро выпускаются для Woody и весьма нерегулярно — для Sarge и Sid.
Какую версию использовать? Наиболее очевидный выбор — стабильная версия (Woody), надежная, как скала. Тем не менее за надежность приходится расплачиваться: программы в Woody на месяцы, а иногда и на годы отстают от даты официального выпуска. Woody идеально подходит для серверов. Для настольных систем и рабочих станций более актуальны тестовая версия (Sarge) и нестабильная версия (Sid). И несмотря на устрашающие названия («тестовая», «нестабильная»), они работают вполне нормально.
Кодовые обозначения выглядят симпатично, но не стоит использовать их в конфигурационных файлах. Нестабильной версии всегда будет соответствовать обозначение Sid, но Woody и Sarge не всегда будут связываться со стабильной и тестовой версиями — когда-нибудь текущая тестовая версия Sarge будет повышена до статуса стабильной, а текущая версия Woody уйдет на покой. При грамотном сопровождении система Debian постоянно обновляется без переустановки, поэтому не стоит нарушать ее работу использованием кодовых обозначений, которые со временем изменятся.
Далее перечислены кодовые названия версий. Все они позаимствованы из фильма «История игрушек»:
- Buzz — Базз Световой Год, космонавт (1.1);
- Rex — тираннозавр Рекс (1.2);
- Bo — Бо Пип (1.3.x);
- Hamm — Хэм, свинья-копилка (2.0);
- Slink — собака Слинки (2.1);
- Potato — мистер Картофельная Голова (2.2).
А теперь версии 3.x:
- Woody — ковбой (стабильная версия);
- Sarge — командир армии зеленых солдатиков (тестовая версия);
- Sid — испорченный мальчишка, ломающий игрушки (нестабильная версия).
Установка пакетов deb с помощью графического интерфейса
Если вы предпочитаете использовать графический интерфейс, просто загрузите файл deb и откройте его двойным щелчком.
Это откроет центр графического программного обеспечения дистрибутива по умолчанию:

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

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

Установка может занять некоторое время в зависимости от размера файла и его зависимостей. После установки пакета deb кнопка «Установить» в программном центре Ubuntu изменится на «Удалить».
Вот и все, приложение установлено в вашей системе и вы можете начать им пользоваться.
Создайте загрузочную флешку
Для создания загрузочного USB-накопителя используйте Universal USB Installer. На сайте программного инструмента загрузите версию для операционных систем Windows в формате EXE.

Подключите чистый флеш-накопитель к USB-порту ПК. Откройте EXE-файл утилиты. После ознакомления с условиями лицензионного соглашения примите его. Для этого нужно щелкнуть по кнопке «I Agree». Программа не нуждается в установке.

Необходимые действия в приложении:
В окне утилиты:
- Укажите дистрибутив: Debian.
- Нажмите «Browse» и выберите на диске ISO-образ дистрибутива.
- Определите букву накопителя.
- Щелкните по «Create» и подождите, пока программа создаст загрузочную флешку.

Извлеките накопитель из разъема. Выключите компьютер. Вновь подключите к нему флешку и включите ПК.
pkgs.org
pkgs.org существует как простое место для поиска и загрузки последних версий пакетов Linux без необходимости иметь дело с всплывающими окнами или шпионским ПО. Сайт проиндексировал миллионы пакетов в более чем десяти дистрибутивах. Некоторые из этих дистрибутивов используют DEB, а другие используют RPM, так что это отличный универсальный магазин, чтобы получить и то, и другое.
pkgs.org представляет результаты выпуска дистрибутивов, поэтому вы можете искать DEB, совместимые с вашей конкретной версией Debian или Ubuntu. То же самое относится к дистрибутивам RPM, таким как Fedora и openSUSE. Arch Linux также включен, так как pkgs.org не ограничивается форматами DEB и RPM.
3.15. Выбор пакетных зеркал для apt-proxy.conf
Проблема
Пакетные зеркала, содержащиеся по умолчанию в файле apt-proxy.conf, разбросаны по всему земному шару. Как выбрать те из них, которые вы хотите использовать? В идеальном варианте хотелось бы использовать зеркальные сайты, находящиеся поближе к вашему компьютеру.
Решение
По умолчанию записи /etc/apt-proxy.apt-proxy.conf выглядят так:
add_backend /debian/ \
$APT_PROXY_CACHE/debian/ \
http://ftp.us.debian.org/debian/ \
http://ftp.de.debian.org/debian/ \
http://ftp.uk.debian.org/debian/ \
+ftp.us.debian.org::debian/
|
На сайте http://www.debian.org/mirror/list приведен текущий список зеркал Debian. Например, вот некоторые германские зеркала в mirror/list:
DE Germany ---------- ftp.de.debian.org /debian/ /debian/ ftp2.de.debian.org /debian/ /debian/ ftp.tu-clausthal.de /pub/linux/debian/ /pub/linux/debian/ debian.uni-essen.de /debian/ /debian/ |
Замените стандартные записи apt-proxy.conf своими, предваряя каждую запись префиксом http://:
add_backend /debian/ \
$APT_PROXY_CACHE/debian/ \
http://ftp.de.debian.org/debian/ \
http://ftp2.de.debian.org/debian/ \
http://ftp.tu-clausthal.de/pub/linux/debian/ \
|
Файлы /etc/apt/sources.list на клиентских компьютерах изменять не нужно.
Комментарий
Команды ping и traceroute помогут определить, какие зеркала обладают минимальным временем отклика. Дело в том, что географическая близость еще не гарантирует быстрого отклика.
Указание трех источников обеспечивает необходимую избыточность. apt-proxy опрашивает их по порядку: если первый источник не отвечает, опрашивается второй и т. д.
См. также
apt-proxy(8), apt-proxy.conf(5), apt-proxy-import(8); официальный список зеркал Debian (http://www.debian.org/mirror/); домашняя страница apt-proxy (http://apt-proxy.sourceforge.net/).
Установка через Debian package
Программные пакеты могут распространяться и не через репозитории. Например, они могут быть доступны на сайтах разработчиков. В таком случае, пакет можно скачать и воспользоваться утилитой dpkg (debian package) для установки. При использовании dpkg не происходит автоматическое отслеживание зависимостей и скачивание дополнительных пакетов. В случае нехватки каких-либо программ или библиотек установка завершится ошибкой с указанием списка отсутствующих пакетов. Их придется установить отдельно, например, через apt-get, если они присутствуют в подключенных репозиториях, либо скачивать с сайтов разработчиков и устанавливать в нужном порядке через dpkg.
Для примера скачаем из системного репозитория установочный пакет веб-сервера Nginx командой:
и попробуем установить через dpkg –i имя_файла.deb:
В результате система выдает ошибку с перечнем отсутствующих пакетов:

Скриншот №4. Ошибка с перечнем отсутствующих пакетов
Основные опции dpkg:
- dpkg –i имя_файла.deb — установка пакета; в качестве параметра указывается полное имя файла;
- dpkg –r имя_пакета — удаление ранее установленного пакета;
- dpkg –l — выведение списка установленных в системе пакетов.
Установка через файлы сценариев
Установка программы представляет собой распаковку архива, копирование файлов программы в системные директории и, при необходимости, внесение изменений в системные конфигурационные файлы. Все эти действия могут быть внесены в исполняемый файл сценария и выполнены при его запуске. Сейчас достаточно редко встречается подобный метод установки программы, но, тем не менее, некоторые разработчики его используют. Если возникла необходимость в установке такого пакета, необходимо скачать архив (обычно это файл с расширением .tgz или .tar.gz), распаковать его в отдельную директорию на сервере, изучить распакованные файлы, а также прочитать файл readme, если он имеется. Установка программы запускается, обычно, сценарием install.sh, поэтому нужно включить атрибут исполняемого файла командой:
после чего запустить непосредственно сценарий:
220140
Минск
ул. Домбровская, д. 9
+375 (173) 88-72-49
700
300
ООО «ИТГЛОБАЛКОМ БЕЛ»
700
300
Что представляет собой deb-пакет?
Deb-пакет это обычный архив файлов, содержащий файлы, предназначенные для установки в систему, а так же некоторые служебные файлы, необходимые для того чтобы эту установку сделать гибкой. При помощи программы ar упаковано в один файл:
-
Архив control.tar.gz, содержащий скрипты, написанные майнтенером пакета, использующиеся при установке/удалении пакета, а так же другие служебные файлы;
-
Архив data.tar.gz, содержащий двоичные файлы программы, ради которой создан пакет;
-
Файл debian-binary.
Поскольку содержимое пакета может в будущем измениться (будет новый номер версии в debian-binary), то собирать deb-пакет при помощи программ tar, gzip, ar не рекомендуется и этот вариант в статье рассматриваться не будет.
Собирается пакет программой dpkg из специально подготовленной структуры каталогов:
- DEBIAN/
- .. path/to/dir/file1
- .. path/to/dirX/fileX
то есть:
-
Файлы и каталоги, предназначенные для установки в систему. Их расположение в архиве соответствует положению их в файловой системе если считать от корня. Например файл usr/share/doc/package/copyright в deb-архиве после установки будет находиться в /usr/share/doc/package/copyright (все они будут упакованы в архив data.tar.gz);
-
Каталог DEBIAN/, содержащий служебную информацию о пакете (о ней пойдет речь ниже). Содержимое этого каталога при сборке будет упаковано в архив control.tar.gz;
3.3. Установка пакетов Debian с диска CD-ROM
Проблема
Требуется установить пакеты с компакт-диска. Процесс, описанный в предыдущем разделе, предполагает, что программы загружаются из архива. Как включить ссылку на CD-ROM в файл sources.list?
Решение
Измените файл /etc/apt/sources.list командой apt-cdrom; это единственный способ включения архивов на CD-ROM в sources.list. Диск должен находиться в дисководе, но монтировать его не обязательно. Затем введите команду:
# apt-cdrom add Using CD-ROM mount point /cdrom/ Unmounting CD-ROM Please insert a Disc in the drive and press enter Mounting CD-ROM Identifying.. Scanning Disc for index files.. Found 1 package indexes and 0 source indexes. This Disc is called: 'Libranet GNU/Linux 2.8.1 CD2' Reading Package Indexes...Done Wrote 1271 records. Writing new source list Source List entries for this Disc are: deb cdrom:[Libranet GNU/Linux 2.8.1 CD2]/ archive/ Repeat this process for the rest of the CDs in your set. |
Используйте ключ -d, чтобы добавить данные компакт-диска из другого дисковода:
# apt-cdrom -d /cdrom1 add |
Идентификация диска:
$ apt-cdrom ident Using CD-ROM mount point /cdrom/ Mounting CD-ROM Identifying.. Stored Label: 'Libranet GNU/Linux 2.8.1 CD2' $ |
Комментарий
apt-get всегда выбирает из всех доступных источников новейшие версии устанавливаемых пакетов. Мир Linux быстро развивается, поэтому самая свежая информация всегда находится в Интернете. Чтобы выполнить принудительную установку программы с компакт-диска, закомментируйте все остальные строки в файле sources.list.
|
ПРИМЕЧАНИЕ
Не забывайте выполнять команду apt-get update при каждом изменении файла sources.list. |
Распространенная ошибка с пакетом libwebkitgtk в 1с
Как правило многие столкнутся с ошибкой в зависимостях с пакетом libwebkitgtk на момент написания статьи его версия 3.0 и полное го название libwebkitgtk-3.0
Последняя цифра это, как уже догадались, его версия.
Ошибка выглядит так

Соответственно, чтоб решить эту проблему нужно добавить репозиторий с этим пакетом и установить его.
Первый вариант
Подойдет для дистрибутивов Ubuntu и Mint
Подключаем репозиторий с этим пакетом, для этого в терминале откроем sources.list идобавим его туда.
Открываем файл sources.list командой в терминале, с помощью редактора nano
В конец добавляем строчку нашего репозитория
Выглядеть это будет так

Затем сохраняем сочетанием клавиш Ctrl+O и закрываем Ctrl+x
Далее традиционно обновляемся
Ну и затем ставим пакет

После установки пакета libwebkitgtk-3.0-0, рекомендуется удалить ранее добавленный репозиторий http://ru.archive.ubuntu.com/ubuntu/ в файле sources.list
Просто откройте снова его через терминал в редакторе nano
теперь удалите ранее добавленный репозиторий deb http://ru.archive.ubuntu.com/ubuntu/ bionic main universe
Не забудьте сохранить файл сочетанием клавиш Ctrl+O и закрываем Ctrl+x
Далее ставим наш клиент 1с, ошибок не должно быть, не забываем про пакет с поддержкой языков.
Вариант второй для Debian 10
Если у вас Debian 10 то добавьте в список репозиториев репозиторий stretch.
Откройте файл репозиториев в терминале при помощи редактора nano
Добавьте в конец репозиторий
Не забываем после изменений сохранить Ctrl+O и закрыть Ctrl+x
Далее традиционно обновимся
Теперь поставим, недостающий пакет именно из того репозитория который указали
После ставим наш пакет 1с с тонким клиентом и его языковый пакет.
Ошибки со шрифтом 1с
Как правило после установки тонкого клиента многим не нравится шрифт.
Иногда не корректно отображается шрифт.
Для решения этих вопросов необходимо до установить пакеты с нужными шрифтами.
Порядок установки и их название описаны в статье по первоначальным настройкам debian и настройкам debian10.
Всем Удачи!
Создание deb пакетов
Шаг 1. Подготовка
Давайте создадим для этого примера небольшую программу на Си. Она будет называться hellolosst и будет выводить на экран строку Hello from losst.ru в терминал при запуске. Сначала создайте папку hellolosst и перейдите в неё:
Затем поместите в неё файл с исходным кодом:

Для компиляции программы выполните такую команду:
Затем вы можете её выполнить:

Таким образом, теперь у нас есть программа, которую надо упаковать в deb пакет.
2. Создание манифеста
В каждом deb пакете содержаться не только файлы самой программы, но и файл манифеста, в котором описан пакет, его зависимости и параметры. Этот файл имеет название control и должен находится в папке DEBIAN. Для сборки пакета будем использовать папку package, чтобы файлы программы не путались с исходными файлами и те не попали в пакет. Создайте эти папку:
Прежде чем вы сможете создать этот файл надо узнать несколько вещей. Первым делом надо посмотреть размер файлов программы, поскольку в данном случае файл один, достаточно посмотреть его размер:

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

В данном случае программе необходима только libc. Чтобы посмотреть в каком пакете она находится выполните:

Пакет называется libc6. Затем создайте файл манифеста со следующим содержимым:
Это минимальный набор параметров в файле манифеста. Вот их значение:
Package — имя пакета;
Version — версия программы в пакете, будет использована при обновлении пакета;
Section — категория пакета, позволяет определить зачем он нужен;
Priority — важность пакета, для новых пакетов, которые ни с чем не конфликтуют обычно прописывают optional, кроме того доступны значения required, important или standard;
Depends — от каких пакетов зависит ваш пакет, он не может быть установлен, пока не установлены эти пакеты;
Recommends — необязательные пакеты, но тем не менее они обычно устанавливаются по умолчанию в apt;
Conflicts — пакет не будет установлен, пока в системе присутствуют перечисленные здесь пакеты;
Architecture — архитектура системы, в которой можно установить этот пакет, доступные значения: i386, amd64, all, последнее означает, что архитектура не имеет значения;
Installed-Size — общий размер программы после установки;
Maintainer — указывает кто собрал этот пакет и кто отвечает за его поддержку;
Description — краткое описание пакета.
3. Расположение файлов
Манифест готов. Теперь в папке пакета надо создать структуру папок, аналог того, что есть в корневой файловой системе. В данном случае надо создать папку usr/bin и поместить туда исполняемый файл:
4. Скрипты установки
Несмотря на то, что система установки пакетов очень мощная и позволяет делать многое, некоторые вещи всё же сделать нельзя. Для решения этой проблемы была предусмотрена возможность выполнять скрипты перед установкой пакета и после. Аналогично это работает для удаления пакета — перед и после. Эти скрипты называются preinst, postinst, prerm и postrm. Каждый файл просто содержит набор скриптов, которые надо выполнить. Например:
Разработчики Debian не рекомендуют использовать эти скрипты без крайней надобности, поскольку они дают вам полный контроль над системой пользователя и вы можете случайно что-то повредить. Обычно эти скрипты используются для того чтобы задавать пользователям вопросы и на основе этого генерировать конфигурационные файлы.
5. Сборка и проверка пакета
Осталось собрать настроенный пакет. Для этого используйте такую команду:

Теперь вы знаете как как собрать deb пакет. После завершения сборки можете установить его с помощью apt:

После этого исполняемый файл программы появится в /usr/bin, а сообщение из postinst будет выведено после установки.
How to remove deb packages
Removing a deb package isn’t a big deal either. And no, you don’t need the original deb file that you used to install the program.
Method 1: Remove deb packages using apt command
All you need is the name of the program that you’ve installed and then you can use apt or dpkg to remove that program.
Now the question comes, how do you find the exact program name that you need to use in the remove command? The apt command has a solution for that as well.
You can find the list of all installed files with the apt command, but manually going through this will be a pain. So you can use the grep command to search for your package.
For example, I installed the AppGrid application in the previous section but if I want to find out the exact program name, I can use something like this:
This will give me all the packages that have grid in their name, and from there I can get the exact program name.
As you can see, a program called appgrid is installed. Now you can use this program name with the apt remove command.
Method 2: Remove deb packages using dpkg command
You can use dpkg to find the installed program’s name:
The output will give all the packages installed that have grid in their names.
ii in the above command output means that the package has been correctly installed.
Now that you have the program name, you can use the dpkg command to remove it:
Tip: Updating deb packagesSome deb packages (like Chrome) provide updates through system updates, but for most other software you’ll have to remove the existing program and install the newer version.
I hope this beginner’s guide helped you install deb packages on Ubuntu. I added the remove part so you can have better control over the programs you installed.
Установка программ с помощью tasksel
Инструмент tasksel разработан специально для Debian. Он позволяет устанавливать пакеты группами. Разработчики сгруппировали пакеты в зависимости от их предназначения и вы можете установить одну из нужных групп. Именно эта утилита используется в установщике Debian.
Чтобы посмотреть список доступных групп наберите:

Также вы можете посмотреть какие пакеты находятся в группе:
Или описание группы пакетов:

Чтобы установить группу пакетов, например, веб-сервера, выполните:

А для удаления группы:
Установка программ Debian таким способом достаточно проста, но здесь есть не так много пакетов.
Низкоуровневые функции работы с deb-пакетом
Программа dpkg
Представляет наиболее низкоуровневый интерфейс для создания/установки/распаковки пакетов.
Основные команды, которые выполняет данная программа общеизвестны, нас же будет интересовать команда dpkg -build.
Если Вы создали в некотором каталоге нужную для создания пакета иерархию файлов/каталогов, то превратить ее в deb-пакет можно дав команду:
dpkg -build Directory package.deb
при этом из каталог Directory будет упакован в пакет.
То есть все что нам нужно чтобы создать пакет для Debian, это сложить файлы в нужные директории и упаковать. Фактически это почти тоже самое что и простой архив tgz дистрибутива slackware, только информационные файлы располагаются в каталоге с другим именем и видов этих файлов несколько больше.
Ну а теперь, когда мы уяснили базовое устройство пакета, можем перейти к описанию того что должно или может находиться внутри каталога DEBIAN/.
Устанавливаем RPM-пакеты в Ubuntu
RPM — формат пакетов различных приложений, заточенный под работу с дистрибутивами openSUSE, Fedora. По умолчанию в Ubuntu не предусмотрены средства, позволяющие произвести инсталляцию сохраненного в этом пакете приложения, поэтому придется выполнять дополнительные действия, чтобы вся процедура прошла успешно. Ниже мы разберем весь процесс пошагово, детально рассказывая обо всем поочередно.

Если же все попытки отыскать другие библиотеки или хранилища оказались тщетными, ничего не остается делать, как пытаться инсталлировать RPM с помощью дополнительных средств.
Шаг 1: Добавление репозитория Universe
Порой для установки определенных утилит требуется расширение системных хранилищ. Одним из лучших репозиториев считается Universe, который активно поддерживается сообществом и периодически обновляется. Поэтому начать стоит именно с добавления новых библиотек в Ubuntu:
- Откройте меню и запустите «Терминал». Сделать это можно другим способом — просто нажмите на рабочем столе ПКМ и выберите нужный пункт.

В открывшейся консоли следует ввести команду и нажать на клавишу Enter.

Вам потребуется указать пароль учетной записи, поскольку действие выполняется через рут-доступ. При вводе символы отображаться не будут, вам надо только ввести ключ и нажать на Enter.

Будут добавлены новые файлы или же появится уведомление о том, что компонент уже включен во все источники.

Если файлы были добавлены, обновите систему, прописав команду .

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

Шаг 2: Установка утилиты Alien
Для осуществления поставленной сегодня задачи мы будем задействовать простую утилиту под названием Alien. Она позволяет конвертировать пакеты формата RPM в DEB для дальнейшей их установки в Ubuntu. Процесс добавления утилиты не вызывает особых сложностей и выполняется одной командой.
- В консоли напечатайте .

Подтвердите добавление, выбрав вариант Д.

Ожидайте завершения скачивания и добавления библиотек.
Шаг 3: Преобразование пакета RPM
Теперь переходим непосредственно к конвертированию. Для этого у вас на компьютере или подключенном носителе уже должен храниться необходимый софт. После завершения всех настроек останется произвести всего несколько действий:
- Откройте место хранения объекта через менеджер, щелкните на нем ПКМ и выберите пункт «Свойства».

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

Перейдите к «Терминалу» и введите команду , где user — имя пользователя, а folder — название папки хранения файла. Таким образом, с помощью команды cd произойдет переход в директорию и все дальнейшие действия будут осуществляться в ней.

Находясь в нужной папке, введите , где vivaldi.rpm — точное название нужного пакета. Учтите, что .rpm в конце дописывать обязательно.

Снова введите пароль и дождитесь окончания конвертирования.

Шаг 4: Установка созданного DEB-пакета
После успешной процедуры преобразования вы можете перейти в ту папку, где изначально хранился пакет RPM, поскольку и конвертирование производилось в этой директории. Там уже будет храниться пакет с точно таким же названием, но формата DEB. Он доступен для установки стандартным встроенным средством или любым другим удобным методом. Развернутые инструкции по этой теме читайте в отдельном нашем материале далее.

Подробнее: Установка DEB-пакетов в Ubuntu
Как видите, пакетные файлы RPM все-таки инсталлируются в Ubuntu, однако следует отметить, что некоторые из них несовместимы с этой операционной системой вовсе, поэтому ошибка появится еще на стадии конвертирования. При возникновении такой ситуации рекомендуется отыскать RPM-пакет другой архитектуры или попытаться все-таки найти поддерживаемую версию, созданную специально для Ubuntu.
Опишите, что у вас не получилось.
Наши специалисты постараются ответить максимально быстро.
3.14. Создание локального архива Debian
Проблема
Требуется создать в локальной сети хранилище пакетов для общего пользователя. Локальный архив особенно полезен в том случае, если пользователи сети совместно используют низкоскоростное подключение к Интернету. Вместо того чтобы загружать файлы из Интернет-архивов, рабочие станции Debian загружают их из локального архива.
Решение
Воспользуйтесь программой apt-proxy:
# apt-get proxy |
Apt-proxy запускается автоматически после установки.
Теперь отредактируйте секцию add_backend/debian/ файла /etc/apt-proxy/apt-proxy.conf так, чтобы она содержала ссылки на географически близкие зеркала (список зеркал с пакетами находится по адресу http://www.debian.org/mirror/list).
Затем отредактируйте файл /etc/apt/sources.list на клиентских компьютерах так, чтобы он содержал ссылку на сервер apt-proxy. По умолчанию используется порт 9999:
deb http://ip-or-hostname:9999/main stable main contrib non-free deb http://ip-or-hostname:9999/non-US stable/non-US main contrib non-free deb http://ip-or-hostname:9999/security stable/updates main contrib non-free |
Запустите apt-get update на клиентских машинах, и локальный архив начнет работать. Каждый раз, когда клиентский компьютер в локальной сети устанавливает программу, эта программа будет кэшироваться на сервере apt-proxy. Последующие запросы того же пакета будут обслуживаться из локального кэша.
Комментарий
Большинству параметров в файле /etc/apt-proxy/apt-proxy.conf, кроме источников пакетов, можно оставить значения по умолчанию. Исключение составляет частота «обновлений», определяющая периодичность загрузки списка пакетов. По умолчанию соответствующая секция выглядит так:
# Максимальная частота обновлений (в минутах) # Высокие значения снижают нагрузку. BACKEND_FREQ=240 |
Я обычно устанавливаю значение этого параметра равным 1440; ежедневной проверки вполне достаточно. Действительно важные события происходят не так часто. Проверку следует производить хотя бы раз в день главным образом для своевременной установки обновлений безопасности.
См. также
apt-proxy(8), apt-proxy.conf(5); официальный список зеркал Debian (http://www.debian.org/mirror/); домашняя страница apt-proxy (http://apt-proxy.sourceforge.net/).
Проверка соответствия пакета современным требованиям Debian
После того как пакет создан, можно получить информацию о его содержимом с помощью вышеупомянутой утилиты dpkg.
dpkg -I package.deb — выведет общую информацию о пакете, включая содержимое control-файла; dpkg -c package.deb — выведет полный перечень файлов пакета.
После этих двух проверок (все файлы на месте, информация в финальном control корректна), можно запустить одну из двух проверки пакета на соответствие текущему полиси.
Такие проверки осуществляются при помощи программы lintian. Проверяются такие параметры, как правильность расположения двоичных файлов, наличие man-страниц, проверяется на наличие ошибок описание пакета в control-файле, просматривается файл copyright и так далее. Идеальный вариант — добиться от создаваемого пакета такого состояния, что lintian не выводит предупреждений/сообщений об ошибках.
lintian -is package.deb
покажет подробную информацию о проблемах в пакете.
Debian Packages Search
В дистрибутивах Linux много компьютеров, на которых установлено программное обеспечение, которое они распространяют среди других людей. Отсюда и название (или дистрибутив). Хотя мы обычно обращаемся к этому программному обеспечению с помощью магазина приложений Linux, менеджера пакетов или командной строки, вы также можете получить к ним доступ через веб-браузер.
Учитывая, что для него был создан формат DEB, Debian является крупнейшим дистрибутивом, который упаковывает DEB. Многие альтернативы в конечном итоге основаны на этом. Так что список пакетов Debian – отличное место для поиска программного обеспечения. Вы можете скачать DEB напрямую. Этот метод не рекомендуется, так как эти DEB часто требуют, чтобы у вас уже были установлены другие DEB, но этот запасной вариант здесь, если вам это нужно.
Вы не ограничены сайтом Debian. Вы также можете проверить страницу поиска пакетов Ubuntu или страницу пакетов Linux Mint. Точно так же вы можете найти RPM на странице источников пакетов Fedora.