ПредишенСледващото

Това не е често, но това се случва в живота на системния администратор време, когато работата на системата трябва да се подготви пакет до по-нова версия на софтуера или да приложите кръпка към системата.

Или дори да създаде пакет с програмата, по отношение на персонала, на операционната система, методите за настройка и контрол на процеса на актуализация. Макар да не е съвсем система за грижа за администратор.

Така че, ние имаме желание да се подготви пакет и да го направя така.

Аз няма да ви кажа как да се направи пакет от нулата, искам да ви кажа точно как да го събере. Предполага се, че пакетът е вече там с всичко необходимо.

Това, което трябва

Как да не правим

Както подсказва името: всичко, което е описано по-долу, не е необходимо да се направи, но ако го искате, и така можете да го направите.

Не знам за вас, но аз имам моята работа машина е половината от пакетите, които излизат от backports АОП и други трети страни хранилища.

Какво следва от това? От това следва, че може да има грешка, свързана с грешни библиотеки с връзки (например често ситуация, когато не само свързани с неправилно съставени файлове, но няколко промени логиката на самото събрание на програмата за система, в зависимост от наличните версии). Но ако вземете за себе си, а след това този метод е добре.

Най-разпространеният начин да си построя - да се вземат официално пакет от по-стара версия и да го компилирате за вашата дистрибуция. Този процес се нарича bekportirovaniem.

Нека разгледаме например опаковки надзорник, в хриптящ употребяван 3.0a8, но ние се нуждаем най-новата версия 3.0. В Сид в момента има само 3.0b2.

Отидете на страницата с пакета и се изпомпва пакета с изходния код (дясната колона, DSC файл):

Сега ние трябва да се вземат файла с най-новата версия на ръководителя:

След това трябва да обновите версията на пакета:

Сега можете да започнете да се изгради процедура (което е точно това, което е погрешно да се направи, за причините, описани по-горе):

След сглобяването на дебютантка файл ще се появи в указателя, който може да бъде настроен правилно:

Как трябва да се направи

Поради причините, посочени по-горе, че е необходимо да се използва готова среда, която ще съдържа минимален набор от пакети, които отговарят на средата, в която да се изгради пакети за дистрибуция.

Ясно е, че да се измисли нещо, то не е необходимо и всичко вече е завършен и се тестват милиони пъти: (с) debootstrap.

Въпреки това, само debootstrap изтегли и разархивира на околната среда, както и че има нещо, което трябва да направите, за да се събере Chroot, монтирайте много неща, като цяло, твърде много повтарящи се и скучна работа.

Поради това, разработчиците разпределителните направени pbuilder (има се sbuild, която всъщност се използва за изграждане на сървъра, затова pbuilder, но не sbuild можете да прочетете тук), която ви позволява да изградите пакети в чисти среди.

Pbuilder много добре kastomiziruetsya чрез файл pbuilderrc, но тук разработчиците е podsuetilis pbuilder-дистрибуция, която се грижи за мултиплатформена поддръжка.

За съжаление, с изваждането от кутията е само Ubuntu, че е в пакета Ubuntu-Дев инструменти. Но за Debian тя може да бъде взето от ЗОП.

Използването им е много проста:

И пълен пакет, след като процедурата по сглобяване ще се появи в

Какво ще кажете за персонализиране, ще попитате вие? Нищо не се е променило, всичко pbuilder също взима конфигурацията на, например,

Това решение ме впечатлява със своята простота и удобство.

Разумна възниква въпросът, какво следва да се направи с опаковките.

Конфигуриране на хранилището

Както многократно съм се оплака в своя блог в интернет милиарди инструкции за всякакви поводи, но сред тях не е нормално. Те са или непълна или не работи, или работи, но не както трябва (или дясно).

Същият боклук със създаването на транзакции. Повечето от насоките предлага да се използва нещо като ап-ftparchive, а след това ръцете му да подпише хранилището (ако изобщо е предложил да се направи). Може би защото разработчиците мислят как да се автоматизира тази задача и да имат добри инструменти готов.

Такъв инструмент мога да се обадя reprepro.

Тя използва много хора, като Nginx официалното хранилище, създадени с помощта reprepro.

Въпреки това, той има и недостатък - допълнително директорията, в основата на архива, така че аз се опитвам да се разделят работната директория на наличната мрежа от хранилището.

Аз също не мога да кажа, че reprepro работи перфектно, понякога са много неясни грешки, които изискват добавянето не е много очевидни възможности, но от останалите, тя работи много добре.

Аз не искам да кажа как да се генерира ключ GPG и как да се справя, за мен това е перфектно изработен @cancel.

Създайте директория, където ще тече reprepro:

Директорията на конф е два файла:

  • опции носи отговорност за reprepro опции
  • дистрибуции носи отговорност за хранилище конфигурация

Свързани статии

Подкрепете проекта - споделете линка, благодаря!