Gentoo: решение проблем
Так уж получается, что если вы опытный пользователь Gentoo, то и с проблемами вы почти не сталкиваетесь, просто потому, что уже знаете, как использовать и что использовать для выявления причин создавшейся ситуации и соответственно для вас решить проблему – совершенно ничего не значит. Просто потому что вы не даже не осознаете, что проблема была. Для вас это обычный рабочий процесс.
Однако если в Gentoo вы недавно, много вы просто не знаете, приходиться сталкиваться с некоторыми вещами, которые пока выходят за рамки вашего понимая. Что же делать? Тупо сидеть и “курить” маны? Глупо конечно и не продуктивно.
Система создана для того, чтобы с ее помощью работать с программным обеспечением, а не для того, чтобы разбираться с этой самой системой. Поэтому запомните два правила:
- поменьше экспериментов;
- при возникновении проблем не бойтесь обращаться к сообществу.
А второе правило говорит о том, что сообщество в Gentoo очень дружелюбное и в большинстве случаев при обращении к нему вам помогут. Так же, если вы уже обладаете определенным опытом, не побрезгуйте, помогите другим людям в их вопросах!
Просто для примера. У меня вдруг появилась проблема, которая проявлялась как зависание системы при выключении компьютера на этапе отключения lvm2. При этом, что еще более странным было, lvm2 стояло, но не использовалось в системе и не было прописано в блоке запуска системы. Почему происходил запуск lvm2, и почему система не могла корректно завершить свою работу – большой вопрос! Обратился в русскоязычное сообщество, которое расположено по адресу www.gentoo.ru/forum . Менее чем за сутки решение нашлось!
Достаточно было проверить обратные зависимости пакета lvm2, для этого используется команда:
$ equery d lvm2
Он мне выдал, что lvm2 установлен как зависимость для cryptsetup, аналогично проверил обратные зависимости для данного пакета:
$ equery d cryptsetup
На что получил зависимости данного пакета от hal и pmount, при этом рядом с каждым пакетом были описаны флаги, которые устанавливали нашу зависимость. В моем случае я получил два флага, это crypt и kernel_linux. Второй флаг является системным и отключению не подлежит, поэтому просто пересобираем наши пакеты hal и pmount с флагом -crypt, прописав предварительно данный use в файл /etc/portage/packages.use.
После чего просто удаляем cryptsetup и lvm2. Не забывая отследить, не нарушились ли зависимости с помощью команды:
$ revdep-rebuild
И соответственно:
$ emerge -auND world
Если все нормально, и удаленные пакеты не были установлены вновь, значит наша операция прошла успешно!