Andy_Vetrov |
|
Темы:
2
Сообщения:
27
Участник с: 09 февраля 2019
|
2 anode: Понимаете в чем странность ситуации - в Arch'е есть как пакеты собранные с более-менее нормальной (IMHO) разбивкой на части - например тот же Linux Kernel - отдельно мухи, отдельно котлеты, отдельно вишенки, можно сказать даже с практически нормальными настройками (за исключением разве что этого странноватого workaround'а :D) или dbus, а есть тот же gtk3, в котором все запихнуто в одну кучу. Особую пикантность ситуации придает тот факт что все три пакета собраны Jan'ом Steffens'оном ;) Оно конечно понятно, что это опенсорс, детка, и здесь тебе никто ничего не должен, но списать разницу в организации пакетов на различия в менталитете в данном случае не получится :D P.S. Честно говоря не представляю как грамотно автоматически подтягивать зависимости ядрёных модулей, если они ставятся отдельными пакетами. Как установщик сам может решить что нужно юзеру? |
Andy_Vetrov |
|
Темы:
2
Сообщения:
27
Участник с: 09 февраля 2019
|
Небольшое дополнение для тех, кто хочет подчистить систему от не сильно нужных пакетов. Связано с Cinnamon не совсем напрямую, но все же. Как известно Cinnamon требует установки оконного менеджера Muffin, у которого в зависимостях стоит zenity, который в свою очередь hardlinked с пакетом webkit2gtk, который по-бОльшему-то счету ни Muffin'у ни Cinnamon'у - не нужен, да и вообще не много кому требуется, хотя отжирает ни много ни мало - 127 МБ. В соответствующее время сакральный вопрос "а нафига?" даже задавался Jan de Groot'у, но ответил: "не нравится - сами выпиливайте". Ну мы - люди не гордые, выпилили: https://aur.archlinux.org/packages/zenity-git P.S. Млин, сколько же барахла понапихано в стандартные Arch Linux'овые пакеты - и заголовки, и документация и еще чёрт знает чё. Апофеозом на мой взгляд является linux-firmware, приближающийся вплотную к половине гига и имеющий в своем составе прошивки для железа, 99% которого являются махровой экзотикой. В этом отношении подход Debian'овцев, разбивающих данный пакет по производителям, явно более здравый. |
Andy_Vetrov |
|
Темы:
2
Сообщения:
27
Участник с: 09 февраля 2019
|
Для упрощения установки закинул в AUR: https://aur.archlinux.org/packages/cinnamon-control-center-slim/ https://aur.archlinux.org/packages/cinnamon-slim/ |
Andy_Vetrov |
|
Темы:
2
Сообщения:
27
Участник с: 09 февраля 2019
|
Aivar Мне проще разбивать работу на этапы, дабы если возникнет проблема было проще определить, на каком шаге она проявилась. А так да, всё это можно сделать одной транзакцией. |
Andy_Vetrov |
|
Темы:
2
Сообщения:
27
Участник с: 09 февраля 2019
|
Тэээкс. Как выяснилось гвозди, которыми прибит NetworkManager к Cinnamon'у не такие уж и длинные ;-) Первоначальное решение также имеет право на жизнь, т.к. оно позволяет остаться на официальном канале обновлений, если же кто хочет выжечь NM из системы калёным железом - я сейчас покажу как, однако в этом случае придется пересобирать пакеты cinnamon и cinnamon-control-center каждый раз самостоятельно при обновлении версий исходников (благо они не такие уж и объемные). Исходные данные - те же: Cinnamon 4.09 Cinnamon-control-center 4.01 NetworkManager (уже убит и не шевелится), вместо него - любой по вкусу Итак, создаем пустую директорию cinnamon. В нее складываем все файлы для этого пакета, взятые с официального сайта Arch Linux, за исключением файла PKGBUILD. Он у нас будет свой, вот такой:
И рядом в эту же директорию кладем файл remove-networkmanager.patch:
Дальше, как обычно, $ makepkg -s Однако кроме этого нам необходимо пересобрать cinnamon-control-center. Клемент Лефевр, как выяснилось, внял людским просьбам и добавил в него штатную возможность отключения Network- и ModemManager'ов! Для этого необходимо в секцию build официального PKGBUILD'а добавить:
и, естественно, в секции depends удалить ставшие уже ненужными зависимости:
после чего собрать обновленный пакет cinnamon-control-center (для удобства - лучше с другим именем, но тут for who how ;-)) После всех вышеприведенных манипуляций Cinnamon начинает вести себя как любое приличное DE и перестает считать что какие-то нелепые NM являются уж совсем обязательной зависимостью ;-) Наверное стоит закинуть в AUR - ежели кому не лениво. Возможно сам сделаю чуть попозжее. |
Andy_Vetrov |
|
Темы:
2
Сообщения:
27
Участник с: 09 февраля 2019
|
1. К сожалению именно к Cinnamon'у NetworkManager прибит гвоздями и штатным образом его снести не получится - снесется и DE. Поэтому-то и пришлось городить огород. 2. Кроме непосредственно самого NM там еще куча барахла в зависимостях - в сумме получается чуть ли не на порядок больше занятого места. А так - я не вижу смысла держать у себя установленными пакеты, которыми я не пользуюсь. P.S. @Moderator, похоже я ошибся с разделом. Переместите, пожалуйста, тему в GNOME 3 & Cinnamon - там для нее похоже более подходящее место. |
Andy_Vetrov |
|
Темы:
2
Сообщения:
27
Участник с: 09 февраля 2019
|
Небольшое руководство для тех, кто хочет полностью удалить NetworkManager из Arch Linux, но продолжить пользоваться Cinnamon'ом. Как известно, NM является обязательной зависимостью для Cinnamon'а и по этой причине отдельно не удаляется, но, при определенном желании это ограничение вполне можно обойти. Начальные условия: Arch Linux (канал обновления - stable) up2date Cinnamon 4.0.9 NetworkManager 1.14.5 ConnMan 1.36 (переходить будем на него, но, в принципе, может быть и wicd или systemd-networkd) connman-git 1.1.1 1. Устанавливаем пакет connman из официального репозитория Arch Linux и пакет connman-git из AUR (по желанию). 2. Переключаемся с NetworkManager'а на ConnMan: $ sudo systemctl stop NetworkManager.service && sudo systemctl disable NetworkManager.service $ sudo systemctl enable connman.service && sudo systemctl start connman.service Перезагружаемся. 3. После перезагрузки можно ограничиться отключением автозагрузки network-manager-applet и на этом успокоиться, но наша цель - полностью удалить NM из системы. Для этого нам придется создать пакет-заглушку, который заменит собой все компоненты NetworkManager'а. 4. Создаем директорию networkmanager-dummy 5. Копируем в нее файл /usr/lib/girepository-1.0/NM-1.0.typelib (это один из двух файлов, требующихся для обмана Cinnamon. Второй файл мы создадим непосредственно в самом PKGBUILD) 6. Создаем в директории networkmanager-dummy файл PKGBUILD со следующим содержимым:
7. Собираем наш пакет-заглушку: $ cd networkmanager-dummy $ makepkg 8. Устанавливаем свежесобранный пакет networkmanager-dummy-0.0.1-1-any.pkg.tar.xz, перезагружаемся, дочищаем наш Arch Linux от orphan'ов. 9. Наводим косметику: в стартовом меню Cinnamon Настройка -> Меню -> Открыть редактор меню -> Параметры отключаем отображение пунктов "Сетевые соединения" и "Сеть" и переименовываем "Connman Setting" в "Сетевые настройки". Также можно удалить апплет NM для панели задач: $ sudo rm -rf /usr/share/cinnamon/applets/[email protected] однако после этого при следующем обновлении Cinnamon ругнется на отсутствующие файлы. В общем где-то так. На все про все - не более 10 минут. Проверено на 4-х домашних машинах. P.S. В сообщении на второй странице данной темы приведен рецепт по сборке пакетов cinnamon-slim и cinnamon-control-center-slim с полностью удаленными зависимостями от NetworkManager. Также данные пакеты доступны в AUR. |