Mint-реализация apt: сборка модифицированного пакета

Алексей Федорчук

Радость от обретения дополнительных функций утилиты apt, описанных в прошлой заметке, несколько омрачалась тем, что срок этой радости был — до первого обновления пакета mintsystem, которое снесёт все результаты моего труда. Конечно, отредактированный файл можно хранить где-нибудь в загашнике, и после апшрейда системы записывать его заново. Но можно поступить и проще: собрать модифицированный пакет и зафиксировать его от обновлений. Тем более, что я планирую устанавливать его на несколько реальных машин и бессчётное число виртуальных.

Для чего я отправляюсь в архив исходников на Github, копиную адрес для клонирования и даю команду:

$ git clone https://github.com/linuxmint/mintsystem.git

При этом желательно находиться в каком-либо каталоге, подходящем для сборки, например, path2/debian/mintsystem-8.0.8 (номер его текущей версии) — в результате клонирования в нём образуется подкаталог, называемый просто mintsystem. В который надлежит войти и дать команду:

$ dpkg-buildpackage -us -uc  

Здесь опции -us и -uc указывают на отказ от подписи пакета исходников и файла изменений, соответственно. Поскольку пакет собирается для внутренного употребления, это вполне логично. Да и подписываться мне пока нечем.

В результате через некоторое (в данном случае весьма короткое) время в родительском каталоге появляются такие файлы:

$ ls ..
mintsystem_8.0.8_all.deb
mintsystem_8.0.8_amd64.changes
mintsystem_8.0.8.dsc
mintsystem_8.0.8.tar.xz

Из которых в данный момент меня интересовал только один — собственно пакет mintsystem_8.0.8_all.deb. Каковой был немедленно установлен:

$ apt deb mintsystem_8.0.8_all.deb

А затем зафиксирован от обновлений:

$ apt hold mintsystem

Проверка подтвердила, что это было выполнено:

$ apt showhold
mintsystem

Итеперь никакие штатные обновления были не страшны модифицированной утилите apt. Хотя, надо заметить, политика MintUpdate и так достаточно надёжно страхует от нежелательных обновлений, но, как известно, бережёного и судьба бережёт. Правда, нужно помнить, что от прямой переустановки через deb, apt deb или Gdebi статус hold не защищает.

Я знаю, что пакет был собран не в соответствие с высокими принципами, однако, как уже говорилось, он предназначен для внутреннего употребления. И в принципе каждый может изготовить себе такой же — с поправкой на наиболее востребованные лично им операции с пакетами. Тем не менее, если кому интересно — своим пакетом я готов поделиться — работоспособность его испытана на собственной шкуре.

P.S. Ссылку на скачивание пока убрал — в ближайшем будущем будет следующая версия, чуток подправленная.

P.S. Собственно, вот она.

Mint-реализация apt: сборка модифицированного пакета: 1 комментарий

  1. Перепробовал всё из «семейства» Минт. Убунту не интересует по определению. Как ни крути, но лучше 9-ки и 13 нет ничего лучше. Проблема в том , а что делать дальше? Понятно, что если всё работает, не лезь.. У меня и сейчас 13 минт и нет проблем. А Вы своими статьями «заставляете» поставить какую-то глупость..И ведь поставят и потом …

Добавить комментарий