Алексей Федорчук
Не так давно писал я о несравненных достоинствах той утилиты apt
, что реализована для Mint и входит в пакет mintsystem
из его репозитория. И в ходе сочинения той заметки задался вопросом: а почему никто не додумался включить её в состав Ubuntu и её прямых клонов? Или хотя бы собрать заточенный под Ubuntu’иды пакет для PPA-репозитория. Ведь особых технических сложностей здесь ожидать не приходится: Mint, как многократно проверено (в том числе и автором этих строк) практически полностью бинарно совместим с Ubuntu, значит, и обратная совместимость (точнее, в данном случае прямая) должна иметь место, хотя и с некоторыми, возможно ограничениями.
Профит же от этого — бесспорный: apt
из Mint функционально превосходит не только apt
из APT, но и все apt-get
‘ы и apt-cache
, ибо включает в себя изрядную часть функционала aptitude
, а местами даже и dpkg
. А потому единственное объяснение — записные убунтийцы полагают для себя зазорным заимствовать наработки какого-то Mint. Но мы-то с вами, товарищи, простые русские люди, и нам не западло применять всякие хорошие вещи, кем бы они ни были придуманы. А потому я решил проверить, как можно прикрутить Mint’овский apt
к Matuntu.
Разумеется, лобовое решение — просто подключить репозиторий packages.linuxmint.com — не кажется самым здоровым из-за вполне вероятных комнфликтов между пакетами MATE (о причинах говорилось в предыдущей заметке). Поэтому первым делом я попробовал просто скачать пакет mintsystem
(например, отсюда) и установить его обычным способом:
$ sudo dpkg -i path2/mintsystem_7.9.8_all.deb
В ответ на что было выдано:
dpkg: зависимости пакетов не позволяют настроить пакет mintsystem: mintsystem зависит от mint-info, однако: Пакет mint-info не установлен. mintsystem зависит от cowsay, однако: Пакет cowsay не установлен. mintsystem зависит от mint-common, однако: Пакет mint-common не установлен. dpkg: ошибка при обработке пакета mintsystem (--install): проблемы зависимостей — оставляем не настроенным
Пакет тем не менее, установился, утилита apt
обнаружилась там, где ей и следовало быть — в каталоге /usr/local/bin
. И в ответ на команду
$ apt
запускалась именно она, поскольку значения переменной $PATH
установились следующими:
$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Выполнялись также «информацилнный» внутренние команды, типа apt search
, apt show
etc. То есть те, что не требовали прав администратора и не вносили изменений в систему. Однако попытка установить какой-нибудь, пакет, например, такая
$ apt install geany
выдала следующее:
Чтение списков пакетов… Готово Построение дерева зависимостей Чтение информации о состоянии… Готово Возможно, для исправления этих ошибок вы захотите воспользоваться «apt-get -f install»: Пакеты, имеющие неудовлетворённые зависимости: geany : Зависит: geany-common (= 1.23.1+dfsg-1) но он не будет установлен mintsystem : Зависит: mint-info но он не может быть установлен Зависит: cowsay но он не будет установлен Зависит: mint-common но он не может быть установлен E: Неудовлетворённые зависимости. Попытайтесь выполнить «apt-get -f install», не указывая имени пакета, (или найдите другое решение).
Очевидно, что в данной ситуации apt-get -f install
ничего дать не мог (кроме удаления некорректно поставленного пакета mintsystem
. Попытка ручного разруливания зависимостей тоже смысла не имела — mint-common
и mint-info
потянули бы за собой весь дистрибутив-специфический инструментарий.
Так что следовало искать это самое «другое решение». И оно напрашивалось: список неудовлетворённых зависимостей на первый взгляд не мог быть критичным для исполнения команд пакета mintsystem
. И потому я распотрошил пакет mintsystem_7.9.8_all.deb
(это легко сделать с помощью менеджера архивов Engrampa или Midnight Commander) и внаглую скопировал в каталог /usr/local/bin
, предварительно создав его, исполняемые бинарники пакета — их всего пять:
$ ls /usr/local/bin/ apt highlight mint-md5sum pastebin search
После этого apt
из пакета mintsystem
приобрёл полную функциональность — то есть стал работать точно так же, как в родной системе Mint (что, как уже говорилось, описано здесь). К слову сказать, работоспособными оказались также mint-md5sum
и search
. А вот назначения остальных двух команд (highlight
и pastebin
) я так и не понял, ещё когда пытался разобраться с ними в Mint.
Разумеется, описанный способ прикручивания Mint’овского apt’а к Matuntu — идеологически не правилен, и ни в коем случае не может быть рекомендован к практическому применению. Однако проведённый экесперимент показывает, что эта утилита сама по себе вполне рабоспособна без своих дистрибутив-специфических зависимостей. И потому дело остаётся за малым: пересобрать пакет mintsystem
, исключив оные (думаю, без лицезрения коровы в ответ на команду apt moo
большинство из нас как-то переживут). После чего поместить его в Launchpad на радость всем убунтийцам.
Вдруг кто-нибудь возьмётся за это благородное дело?
С pastebin довольно очевидно, кстати:
% echo test | pastebin [1:40:29]
http://paste.linuxmint.com/view/9swc
Можно и минтовское меню прикрутить. Тогда появится очередная Росинка ;)
P.s.: её «родитель» ориентировался на Mate.
> Тогда появится очередная Росинка
А что, может и есть смысл?
Резоны:
в Ubuntu и MATE, и прочие DE всегда будут на положении бедных родственников; Kubuntu — исключение, потому что Риддел получил независимое от Каноникла финансирование; в Mint MATE — один из двух приоритетных десктопов, да и остальные редакции тоже отнюдь не в загоне;
в Mint прекрасный набор фирменных утилит, который един для всех его редакций.
Алексей, волей-неволей пришлось воспользоваться минтовским репозиторием Rafaela, чтобы потестировать новшества Mate 1.10. Сначала были установлены пакеты Mate, а несколько позднее удалось добавить репозиторий с ключом и теперь все фичи Minta в актуальном состоянии стали доступны для Matuntu :)
И это, товарищи, правильно :)
Кстати, есть ведь для apt install опция -t [repo_name], так что можно устанавливать пакеты из минтовского репозитория избирательно.
Хотя почти все фирменные mint-утилиты тянут друг друга как зависимости.
Для полноценной работы MintUpdate в Matuntu c DE Mate 1.10 пришлось кодовое имя Ubuntu 14.04.2 LTS поменять на Linux Mint 17.2 Rafaela.
Да, все mint-утилиты, хоть каким-то боком имеющие отношение к работе с пакетами, этого требуют. Так что может, просто перевести Matuntu на пакетную базу Mint’а? А когда Ubuntu окончательно о-snapy’тся, об-Mir’ится, а её Unity — обвосьмирится и одебилится, и на LMDE (смайлики по вкусу).
P.S. А у меня до новых сборок Matuntu руки так и не дошли. Каюсь, но не могу заставить себя смотреть на что-нибудь кроме Cinnamon’ки.
Мне придётся пересобрать последнюю Matuntu с включением минтовских баз для удобства обновлений и некоторых доработок и исправлений. Тогда милости прошу к нашему шалашу :)
Спасибо, постараюсь к этому времени примириться с видом других DE, кроме любимой Cinnamon’ки