Альтернатива: Использование genkernel
Если ручная установка кажется слишком сложной, то можно воспользоваться утилитой genkernel, которая сконфигурирует и соберёт ядро автоматически.
genkernel конфигурирует ядро примерно так же, как это делается для установочного носителя. Это значит, что ядро, собранное genkernel, постарается определить всё оборудование в процессе загрузки. Поскольку genkernel не требует ручной конфигурации ядра, он идеально подходит для тех пользователей, кто не готов собирать собственное ядро.
Далее отредактируйте файл /etc/fstab, где следует указать в строке /boot/ правильное устройство во втором поле. Если вы следовали примеру разбиения разделов из данного Руководста, то, скорее всего, это будет устройство /dev/sda1 с файловой системой ext2. Тогда строка должна выглядеть следующим образом:
Файл Настройка точки монтирования /boot
/dev/sda1 /boot ext2 defaults 0 2
ЗаметкаВ процессе настройки Gentoo /etc/fstab ещё будет изменён. На данный момент мы правим лишь /boot, так как genkernel использует эту настройку.
Осталось скомпилировать ядро, выполнив genkernel all. Учтите, что поскольку genkernel включает поддержку как можно большего диапазона оборудования, процесс сборки может занять некоторое время!
ЗаметкаЕсли для корневого раздела не используется ext2, ext3 или ext4, то возможно придётся вручную настроить ядро, выполнив genkernel —menuconfig all и добавив поддержку нужной ФС (не как модуля). Пользователям LVM2 следует также добавить в качестве аргумента.
По завершению работы genkernel будут сформированы ядро, полный набор модулей и файловая система инициализации (initramfs). Ядро и initrd нам понадобятся позднее. Запишите название файлов ядра и initrd, так как они нам понадобятся при настройке загрузчика. Initrd запускается сразу после ядра для определения оборудования (как при загрузке установочного CD), перед запуском самой системы.
Alternative: Using distribution kernels
Distribution Kernels are ebuilds that cover the complete process of unpacking, configuring, compiling, and installing the kernel. The primary advantage of this method is that the kernels are upgraded to new versions as part of @world upgrade without a need for manual action. Distribution kernels default to a configuration supporting the majority of hardware but they can be customized via /etc/portage/savedconfig.
There are other methods available to customize the kernel config such as .
Installing correct installkernel
Before using the distribution kernels, please verify that the correct installkernel package for the system is installed. When using systemd-boot (formerly gummiboot), install:
When using a traditional /boot layout (e.g. GRUB, LILO, etc.), the gentoo variant should be installed by default. If in doubt:
Installing a distribution kernel
To build a kernel with Gentoo patches from source, type:
System administrators who want to avoid compiling the kernel sources locally can instead use precompiled kernel images:
Upgrading and cleaning up
Once the kernel is installed, the package manager will automatically upgrade it to newer versions. The previous versions will be kept until the package manager is requested to clean up stale packages. Please remember to periodically run:
to save space. Alternatively, to specifically clean up old kernel versions:
Manually rebuilding the initramfs
If required, manually trigger such rebuilds by, after a kernel upgrade, executing:
If any of these modules (e.g. ZFS) are needed at early boot, rebuild the initramfs afterward:
Объяснение обновления GCC
Обновление GCC всегда считалось какой-то мистикой, с предположениями от «пользователям ничего не нужно делать» до «пользователям нужно дважды пересобрать всю свою систему». Большинство страха, неуверенности и сомнений проистекает из проблем, связанных с несовместимостью ABI. Такое редко происходит в наши дни (и когда происходит, это анонсируется). Но, сначала кратко о libtool.
libtool
Причина, по которой нужно пересобирать libtool после обновления версий gcc это потому, что главной функцией libtool является объединение кода, зависящего от платформы в общем интерфейсе, что позволяет приложениям использовать разделяемые библиотеки без нужды иметь дело с вещами, зависящими от платформы для разделяемых библиотек. Чтобы реализовать эту функцию, скрипт libtool использует различные пути до библиотек, в которых есть жестко заданная информация о версии gcc.
Изменения ABI
Да, C++, поскольку в большинстве случаев несоответствия обнаруживаются на уровне двоичного интерфейса приложений C++. Если вы обновляетесь до GCC 4.1, или GCC 5.1, вы, вероятно, столкнетесь с проблемами в двоичном интерфейсе. Чтобы избежать этого должна быть запущена команда revdep-rebuild для libstdc++.so.5 (от GCC 3 до GCC 4.1), или libstdc++.so.6 (от GCC 4 до GCC 5.1).
Так почему же это нужно только до GCC 3.4.0/4.1/5? Это потому что с этой версии GCC использует обратно-совместимое ABI, и пересборка приложений и библиотек больше не требуется. Конечно, мы не можем дать вам гарантию, что так будет вечно, но если снова возникнет несоответствие, мы явно опишем этот случай здесь. В этом случае, скорее всего, будет увеличена версия библиотеки libstdc++.so.
Особый случай C++11 (и C++14)
В то время как GCC (или точнее libstdc++) идет большими шагами вперед, гарантируя стабильность ABI, эта гарантия не распространяется на все части C++ в libstdc++. Формально, начиная с версии 3.4, GCC/libstdc++ только гарантируется стабильность C++98/C++03 ABI и не более
Это очень важно для пакетов, которые зависят от C++11. GCC даёт гарантию на стабильность C++11 ABI, начиная только с версии 5.1
Это означает, что переключение (даже незначительные) версии GCC (скажем, от 4.7.3 -> 4.7.4) может привести к поломке ABI для бинарных файлов, собранных из C++11 кода.
Более подробную информацию и некоторые примеры можно найти здесь:
Какие пакеты определенно нужно пересобрать?
В следующей таблице приведены пакеты, которые нужно пересобрать, если они установлены, и причины этой необходимости.
Пакет | Нужно пересобрать, потому что … |
---|---|
приложение libtool имеет внутри себя вшитые пути к встроенным библиотекам GCC |
Также известны случаи, когда пакеты должны быть собраны одним и тем же компилятором (к примеру, различные qt-* пакеты). Эти пакеты чаще всего обновляются сопровождающими пакета одновременно (поэтому они всегда будут собираться одной и той же версией GCC). Выборочная переустановка таких пакетов часто сопровождается проблемами.
Пересборка всего
Некоторые люди клянутся, что нужно пересобрать все пакеты на их системе при выходе новой версии GCC. Конечно, в этом нет смысла, так как многие приложения не используют GCC для процесса сборки и установки, и на них вообще не распространяется это изменение.
Это, однако, не означает, что они полностью неправы: новые версии GCC часто предлагают более хорошую поддержку набора инструкций процессора, а это может повлиять на производительность приложений в лучшую сторону.
Кроме таких «небольших» плюсов, пересборка всего с нуля может быть обязательна в некоторых случаях, чтобы исправить проблемы без очевидных причин.
Некоторые проблемы с программами исконно трудны в диагностике, но их можно решить простой пересборкой одного или больше соответствующих пакетов. Если подобная проблема возникла после обновления GCC и сохранилась после применения revdep-rebuild как показано выше (и после пересборки прочих очевидно связанных пакетов), полная пересборка системы может решить этот вопрос.
Самый «безопасный» (но также затратный по времени) способ этого достичь — использование опции () для emerge, чтобы пересобрать системные пакеты и мир:
Пользователям рекомендуется попробовать этот подход, прежде чем писать о багах, которые могли произойти из-за обновления GCC.
(Заметьте, что команды выше пересоберут пакеты в системном наборе дважды, что необходимо, дабы быть «абсолютно уверенными», что каждый пакет был собран в одинаковой «безпроблемной» среде. Любые проблемы, что сохраняются после этого — действительно баги, о которых нужно сообщить, или серьёзные проблемы с конфигурацией системы.)
1 Подавленное настроение длится дольше двух недель
Любой человек может оказаться в плохом, подавленном настроении — встать не с той ноги, сильно расстроиться из-за работы или личной жизни. И так получилось, что в быту плохое настроение на несколько часов или дней могут называть «депрессией». В этом нет ошибки, просто мы так привыкли.
Если плохое настроение длится две недели и дольше, тогда оно может быть частью депрессии как болезни. Такое состояние самостоятельно не пройдет и требует помощи специалистов. Этот критерий можно найти в документе, по которому работают все врачи мира, — МКБ-10 (Международная классификация болезней 10-го пересмотра). МКБ-10 обобщает результаты международных медицинских исследований и рекомендует список критериев, по которому можно поставить диагноз для любого расстройства. Срок в две недели — один из основных признаков клинической депрессии.
Может ли депрессия развиться быстрее? Конечно, если у человека есть другие выраженные симптомы (склонность к суициду, отказ от еды, навязчивые мысли о собственной греховности), врач не будет ждать две недели, чтобы подтвердить диагноз и начать лечение. При серьезных симптомах врач обязан срочно спасать человека, и диагноз, на самом деле, не очень важен.
Настроение при депрессии скорее подавленное, чем грустное. Человек замедляется, становится менее энергичным и не может найти в себе силы работать и развлекаться. Он может грустить и чаще плакать, но подавленность и опустошение — это более частый симптом.
Использование исходного кода
Это требует большей мощности компиляции, но это одна из причин, по которой вы выбрали Gentoo. Фактически, вся документация предполагает, что вы хотите скомпилировать свое ядро и имеете в качестве альтернативы бинарные ядра. Большие изменения произошли в сентябре 2020 года, когда разработчики Gentoo выпустили готовые ядра. У вас есть много пакетов на выбор, но процедура одинакова для всех. Выбери ядро отсюда! Их гораздо больше, но вы можете выбрать их после того, как закончите. Здесь вы выбираете новейшее ядро Gentoo.
$ emerge –ask –update –deep –with-bdeps=y –newuse sys-kernel/gentoo-sources
Это означает, что вы решили обновить только ядро. Полное обновление системы часто приводит к обновлению исходных кодов для нового ядра. После этого у вас будет несколько ядер, выберите то, которое хотите использовать.
$ eselect kernel list $ eselect kernel set 3
Теперь система изменила ссылку на /usr/src/linux. Все инструменты будут использовать эту символическую ссылку. Затем вы должны скопировать старый файл конфигурации, чтобы большая часть вашего нового ядра имела те же значения. Старый файл доступен во многих местах; один находится в вашей работающей системе.
$ zcat /proc/config.gz /usr/src/linux/config
Теперь вы можете начать настройку ядра. Вы делаете это с помощью любого из стандартных пакетов, make config, make menuconfig и так далее. Однако у Gentoo есть козырь в рукаве; genkernel! Этот инструмент выполняет все шаги и делает весь процесс за вас. Имейте в виду, чтобы оптимизировать; вам нужно добавить несколько вариантов.
$ genkernel –oldconfig –menuconfig
Вы можете работать без каких-либо параметров, но тогда у вас нет выбора конфигурации ядра. Этой процедуры достаточно для создания и установки нового ядра. Установка параметров – большая проблема.
Особенности
Эта система, основанная на источниках, где каждая отдельная программа или библиотека загружается на компьютер в виде исходного кода, затем компилируется и устанавливается.
Это существенное отличие от бинарных дистрибутивов (Ubuntu или Fedora), где скомпилированные версии загружаются при установке программного обеспечения.
Подробнее о дистрибутиве Ubuntu можно прочитать в данной статье.
Это дает пользователю полный контроль над всеми аспектами функционирования системы, а также высокий уровень производительности, невозможный для других дистрибутивов.
Gentoo Linux не имеет постоянной модели выхода (ежеквартально выходят только профили конфигурации). Это постоянно обновляемый дистрибутив (так называемый «скользящий выпуск»), но время от времени (в среднем раз в год) выходит LiveCD для тех, кто с ним хочет познакомиться.
За долгие годы Gentoo существенно набрал популярность, привлекший огромное количество пользователей и программистов. Долгое время сообщество дистрибутива было универсальным источником знаний о системе Linux, а также местом, где были решены практически все связанные с ней проблемы.
К сожалению, из-за частых «различий во мнениях» между основателями, программистами и пользователями дистрибутив начал терять свои позиции.
Сегодня Gentoo уже не является лидером среди систем Linux. Частые конфликты в сообществе привели к массовому оттоку программистов, занятых его разработкой. Темпы работ значительно снизились, а вместе с ним и популярность.
Когда-то он находился в первой десятке DistroWatch (некоторое время даже в первой тройке). Сейчас ему едва удается держаться в конце двадцатки. К счастью, у него все еще есть довольно мощное и верное сообщество.
Настройка параметров компиляции
Введение
Для оптимизации Gentoo можно установить несколько переменных, влияющих на поведение пакетного менеджера Portage. Все переменные могут быть установлены в виде переменных среды (с помощью export), но это не является постоянным решением. Чтобы сохранить изменения, следует изменить /etc/portage/make.conf, являющийся основным конфигурационным файлом Portage.
ЗаметкаСписок и описание всех допустимых переменных можно найти в /mnt/gentoo/usr/share/portage/config/make.conf.example. Для успешной установки Gentoo достаточно определить только те переменные, которые упомянуты ниже.
Запустите редактор (в этом руководстве мы используем nano) для изменения параметров оптимизации, о которых написано далее.
В файле make.conf.example показано, как файл должен быть структурирован: строки комментариев начинаются с «#», другие строки описывают переменные вида ПЕРЕМЕННАЯ=»содержание». Некоторые из этих переменных мы обсудим позже.
CFLAGS и CXXFLAGS
Переменные CFLAGS и CXXFLAGS определяют параметры оптимизации для компиляторов GCC C и C++ соответственно. Хотя они и указаны здесь, для достижения максимальной производительности можно было бы указать флаги оптимизации для каждой программы отдельно. Причина этого в том, что все программы различны. Но этим тяжело управлять, следовательно, запишем эти переменные в make.conf файл.
В make.conf следует указывать параметры оптимизации, которые сделают систему наиболее отзывчивой в целом. Не нужно использовать экспериментальные настройки; излишняя оптимизация может привести к непредсказуемому поведению программ (аварийному завершению, или ещё хуже, к неправильной работе).
Второй параметр оптимизации — это флаг (это заглавная буква О, а не ноль), который определяет класс оптимизации для gcc. Возможные классы: s (оптимизация по размеру), 0 (ноль — без оптимизации), 1, 2 или даже 3 для более лучшей оптимизация по скорости (в каждый класс входят все флаги предыдущего, и некоторые дополнительные). является рекомендованным значением по умолчанию. может вызывать проблемы при глобальном использовании на уровне системы, так что мы рекомендуем придерживаться .
Ещё одним популярным флагом оптимизации является (использование конвейера вместо временных файлов для взаимодействия между различными стадиями компиляции). Это не имеет никакого влияния на сгенерированный код, при этом использует больше памяти. В системах с небольшим объемом памяти gcc может аварийно завершиться из-за нехватки памяти. В этом случае не используйте этот флаг.
Использование (не хранить указатель фрейма в регистре для функций, которым он не нужен) может привести к серьезным последствиям во время отладки приложений.
Определение переменных CFLAGS и CXXFLAGS позволяет комбинировать несколько флагов оптимизации в одной строке. Значений по умолчанию, содержащихся в архиве stage3, обычно более чем достаточно. Ниже приведён пример конфигурации:
Код Пример для переменных CFLAGS и CXXFLAGS
# Флаги компилятора, используемые для всех языков COMMON_FLAGS="-march=native -O2 -pipe" # Используйте те же настройки для обеих переменных CFLAGS="${COMMON_FLAGS}" CXXFLAGS="${COMMON_FLAGS}"
СоветХотя руководство по оптимизации GCC имеет больше информации о том, как различные параметры компиляции могут повлиять на систему, статья Safe CFLAGS будет более полезной для начинающих пользователей, желающих оптимизировать свою систему.
MAKEOPTS
Переменная MAKEOPTS определяет, сколько параллельных процессов компиляции должно запускаться при установке пакета. Хорошим вариантом будет использовать количество процессоров (или ядер процессора) в системе плюс один, но это вариант не всегда идеален.
ПредупреждениеUsing a large number of jobs can significantly impact memory consumption. A good recommendation is to have at least 2 GiB of RAM for every job specified (so, e.g. requires at least 12 GiB). To avoid running out of memory, lower the number of jobs to fit the available memory.
СоветWhen using parallel emerges (), the effective number of jobs run can grow exponentially (up to make jobs multiplied by emerge jobs). This can be worked around by running a localhost-only distcc configuration that will limit the number of compiler instances per host.
Код Пример записи MAKEOPTS в make.conf
MAKEOPTS="-j2"
На старт, внимание, марш!
Обновите /mnt/gentoo/etc/portage/make.conf файл в соответствии с личными предпочтениями и сохраните изменения (в nano нужно нажать Ctrl+x).
Переходите к установке базовой системы Gentoo.
← Подготовка дисков К содержанию Установка базовой системы Gentoo →
Установка
Обновление ядра может быть хорошей идеей, если установлен новый исходный код ядра. Этот исходный код иногда устанавливаются в результате обновления системы при запуске следующей команды:
Конечно, исходный код ядра можно установить напрямую, используя команду (замените gentoo-sources на любую версию ядра, которую используете):
Установка нового исходного кода ядра не дает пользователю обновленное ядро. Новый исходный код необходим для дальнейшей сборки и установки нового ядра, которое можно будет запустить после перезагрузки.
Сборка нового ядра из свежего исходного кода является практически тем же процессом, как и во время установки системы. Разница заключается в том, что можно использовать конфигурацию от старого ядра для создания конфигурации для нового ядра. Использование старой конфигурации избавляет пользователя от повторной установки необходимых опций (например, с помощью make menuconfig).
Конфигурация ядра сохранена в файле .config, в каталоге с исходным кодом ядра. В новом ядре могут быть опции или возможности, которых нет в старом ядро, или наоборот, из нового ядра могут быть убраны некоторые из опций, которые были в старом ядре. Конфигурация ядра определяет, какие функции и опции в ядре должны быть включены, а какие нет; будут встроены в ядро, или, возможно, будут собраны в виде модулей, которые можно загрузить в работающее ядро по требованию. Поэтому в конфигурационном файле нового ядра могут быть новые опции, которые отсутствуют в конфигурационном файле старого ядра, или некоторых опций больше нет в новом ядре, но они присутствовали в конфигурационном файле старого ядра.
Для соглашения с изменениями в конфигурационном файле, файл старого ядра необходимо конвертировать в новую конфигурацию. Эта статья демонстрирует, как получить новое ядро из нового исходного кода ядра конвертируя конфигурационный файл от старого ядра.
Устранение проблем
Изменения конфигурации не вступают в силу
Среди пользователей весьма распространенной ошибкой является то, что они делают изменения в конфигурации, но затем совершают небольшую ошибку в процессе загрузки в только что настроенное ядро. Они перезагружаются в образ ядра, не являющийся тем, который они только что сконфигурировали, замечают, что проблема, которую они пытались решить, все еще присутствует и приходят к выводу что изменения конфигурации не решили проблему.
Процесс компиляции и установки ядер находится за рамками этого документа; обратитесь к руководству по обновлению ядра за общими инструкциями. Вкратце, процесс получения изменённого ядра заключается в следующем:
- конфигурация
- компиляция
- монтирование раздела /boot (если он ещё не примонтирован)
- копирование нового образа ядра в /boot
- убедитесь, что загрузчик ссылается на новое ядро
- перезагрузка.
Если какой-нибудь из финальных шагов пропущен, изменения не вступят в силу.
Можно проверить соответствует ли загруженное ядро с недавно скомпилированным ядром. Это можно сделать, изучив дату и время компиляции ядер. Предполагая, что используется архитектура x86 и исходный текст ядра установлены в /usr/src/linux, можно использовать следующую команду:
#4 SMP PREEMPT Sat Jul 15 08:49:26 BST 2006
Приведенная выше команда отобразит дату и время компиляции ядра, загруженного в настоящий момент.
-rw-r--r-- 1 dsd users 1504118 Jul 15 08:49 /usr/src/linux/arch/i386/boot/bzImage
Приведенная выше команда отображает дату и время когда образ ядра был скомпилирован в последний раз.
Если временные отметки из предыдущих команд отличаются более чем на 2 минуты, это означает что в процессе переустановки ядра была сделана ошибка и система загружена не с новым образом ядра.
Модули не загружаются автоматически
Как указано в этом документе ранее, система конфигурации ядра скрывает под собой большие изменения в поведении при выборе компонента ядра в качестве модуля , вместо встроенного
Важно повторить это снова, так как много пользователей попадают в эту ловушку.. При встраивании компонента в ядро, код встраивается в образ ядра (bzImage)
Когда ядру требуется использовать этот компонент, оно может инициализировать и загрузить его автоматически, без вмешательства пользователя
При встраивании компонента в ядро, код встраивается в образ ядра (bzImage). Когда ядру требуется использовать этот компонент, оно может инициализировать и загрузить его автоматически, без вмешательства пользователя.
При выборе компонента в качестве модуля, код встраивается в файл модуля ядра и устанавливается на файловую систему. В основном, когда ядру требуется использовать этот компонент, оно не может найти его. За некоторыми исключениями, ядро не совершает попыток загрузки этих модулей — эта задача оставлено пользователю.
Если поддержка сетевой платы включена в качестве модуля, и затем обнаруживается что сеть не доступна, это, возможно, потому что модуль не загружен — можно, либо сделать это вручную, либо система должно быть настроена для автоматической загрузки модулей во время запуска системы.
Если нет особых причин сделать по-другому, то можно сохранить время компилируя эти компоненты прямо в образ ядра, так чтобы ядро могло автоматически произвести эти небольшие настройки самостоятельно.
КРАТКИЙ ВВОД В КОНСОЛЬКУ
Если вы работаете под обычным пользователем, перед этими командами ставим sudo (sudo emerge итд)
emerge пакет установка
emerge —autounmask-write =пакет-версия разрешить устанавливать версии пакетов не по-умолчанию (пример emerge —autounmask-write =firefox-40.0.3).
Имеющиеся версии пакетов можно легко нагуглить «gentoo имя программы, в первых ссылках будет оф репозиторий там смотрим какие есть версии». Либо сразу искать тут
dispatch-conf просмотреть (l) измененные конфиги и подтвердить (u) либо опровергнуть (z) изменения. Вводите эту команду после использования команды выше, чтобы подтвердить изменения и после этого уже скачивайте нужную вам версию.
emerge -C пакет удаление
emerge —sync синхронизация
emerge -uDN world обновление всего
emerge -uDN system обновление только системных пакетов
emerge —depclean удаление лишних зависимостей после чистки системы или удаления какой-либо программы
emerge -e world полная пересборка ВСЕЙ СИСТЕМЫ (это не просто долго, это ОЧЕНЬ долго)
Вкратце
Следующий раздел быстро введет вас в процесс обновления GCC (и того, как просто его сделать). Больше деталей предоставлено в следующем разделе .
Большинство обновлений GCC так же просты, как смена версии компилятора (тут с 5.4.0 на 6.4.0) и пересборка libtool:
x86_64-pc-linux-gnu-5.4.0 * x86_64-pc-linux-gnu-6.4.0
ЗаметкаЕсли вы обновляетесь с GCC 4.x на GCC 5.x или позднее, есть дополнительные инструкции; смотрите отдельную страницу Обновление с gcc-4.x на gcc-5.x.
Проверьте текущую версию и удалите старую версию:
После этого, убедитесь в целостности системы, запустив revdep-rebuild:
Наслаждайтесь новым компилятором!
Часовой пояс
Определите, какой часовой пояс будет установлен для системы. Просмотрите список всех доступных часовых поясов в каталоге /usr/share/zoneinfo/, затем запишите выбранный в файл /etc/timezone.
Suppose the timezone of choice is Europe/Brussels.
OpenRC
We write the timezone name into the /etc/timezone file.
Старайтесь не использовать часовые пояса, начинающиеся с /usr/share/zoneinfo/Etc/GMT*, так как их названия не отражают настоящий часовой пояс. Например, GMT-8 на самом деле является GMT+8.
Systemd
We use a slightly different approach here; we generate a symbolic link:
Later, when systemd is running, we can configure the timezone and related settings with the timedatectl command.
Никогда не сдавайтесь
Все ваши переживания, все трудности и обстоятельства, все захлопнутые двери, все моменты сожалений и сомнений – всё это проходящее. Главное – всегда помнить, кто вы и кем хотите стать. Каждый день открывает новые возможности преодолеть ступеньку-две в направлении своей цели, открыть какую-то новую грань своей личности, о которой раньше даже не подозревали.
Отбросьте все правила и условности! Только вы знаете, какими хотите быть в будущем. Мы здесь, на Земле, для того, чтобы развиваться, расти и быть счастливыми. Поэтому не слушайте себя, когда в минуты уныния начинаете сомневаться в том, что ничего не выйдет, мол – недостаточно умны и прочее. Всё это ровным счётом чепуха.
Обновление старых систем
Идея обновления
Идея этого обновления заключается в создании промежуточного сборочного chroot, в который распаковывается новый stage3. Затем, при помощи утилит, доступных в stage3 chroot, обновляются пакеты на самой системе.
ПредупреждениеНижеследующие команды могут быть неполными и являются скорее подсказкой, чем рабочими инструкциями. Если подход не вполне ясен, возможно, проще сделать резервную копию важных файлов и переустановить Gentoo.
Подготовка промежуточного сборочного chroot
Сначала создадим каталог для промежуточного сборочного chroot, например, /mnt/build, и распакуем в него новый архив stage3.
Затем создадим точку монтирования внутри этого окружения chroot, и смонтируем (bind-mount) реальное (старое) окружение.
Теперь реальная (старая) система также доступна в /mnt/build/mnt/host. Это позволяет нам получить доступ к старой системе и обновить пакеты, даже находясь в промежуточном сборочном chroot.
Сеть, chroot и обновление
Новой установке требуется доступ к сети, поэтому скопируйте сетевую информацию:
Теперь выполните chroot в местоположение промежуточной сборки и приступите к обновлению наиболее важных пакетов на старой системе, пока не появится возможность обновить реальную (старую) систему изнутри самой реальной системы (в противоположность промежуточному сборочному chroot):
Теперь приступите к сборке пакетов в (старой) live системе. Если Portage старая или отсутствует, лучше начать с нее:
ВажноНе забывайте добавлять ко всем командам emerge внутри chroot! В противном случае, вместо обновления (старой) реальной системы будет обновлен сам chroot.
На некоторых системах может понадобиться обновить конфигурационные файлы для того, чтобы установить новое программное обеспечение. Вносите изменения в окружении chroot.
Чтобы полностью обновить систему перед выходом из chroot, соберите набор (все пакеты) в (старой) реальной системе:
По окончании этого процесса система должна быть обновлена!
Самые смешные приметы
Есть особая категория примет, которая не связана ни с временами года, ни с поведением животных, ни с часовым поясом. Эти приметы рождены острой наблюдательностью и хорошим чувством юмора. Речь идет о самых смешных приметах, словно специально сочиненных талантливым автором в какой-нибудь первоапрельский день.
Смешные приметы сбываются не только 1 апреля
Как выяснилось благодаря опросу, проведенному среди российских путешественников, есть нации, отличающиеся наиболее веселым нравом. Жители России считают самыми веселыми и компанейскими жителей Италии. На втором месте – темпераментные испанцы. Почетное третье место у грузин, а завершают пятерку весельчаков мексиканцы и латиноамериканцы.
Суровый русский климат не слишком располагает к шуткам, да и жизнь часто преподносит не самые лучшие сюрпризы. Тем не менее, забавных примет от этого не становится меньше. Одни приметы родились из талантливых афоризмов, другие – перекочевали из гениальных произведений литературы или кинематографа. Приведем некоторые примеры веселых примет повседневной жизни.
Смешные приметы о здоровье
Человек способен смеяться над всем что угодно. Даже такая серьезная область, как здоровье, постоянно пополняется смешными жизненными приметами:
Хорошо, если болит голова – значит, она на месте
- Если тебе исполнилось 40 лет, ты проснулся утром и у тебя ничего не болит, – значит, ты умер.
- Сильно болит голова – значит, она у вас есть.
- Все тело с ног до головы чешется – пора принять душ.
- Поправиться на модной диете – к ссоре с лучшей подругой.
- Нос зачесался – скорая пьянка, интимное место – визит к врачу, попа – ждут приключения.
- Вы хорошо видите молнию, но совершенно не слышите грома – скоро купите слуховой аппарат.
- Внезапно обнаружили, что жена – красавица, дети – вундеркинды, начальник – золото, и вообще, вся жизнь – сплошной праздник, пора обратиться к наркологу.
Смешные приметы о работе
На работе нужно работать, и тут не смеха. Но так кажется только на первый взгляд. Смешных ситуаций, а значит, и прикольных примет на работе хоть отбавляй:
- Минута смеха прибавляет час жизни. Минута смеха в кабинете начальника – лишает места работы.
- Не бойся браться за новую работу – помни, что ковчег построили любители, а «Титаник» – профессионалы.
- Третий день кряду одолевает лень – среда наступила.
- Посещать работу регулярно – к деньгам.
- После двух дней дождя выглянуло солнце – наступил понедельник.
- Если не пришел на работу – либо забыл, либо запил, либо забил.
- Если у офисного работника серьезное, сосредоточенное лицо – пасьянс никак не раскладывается.
Серьезное лицо у сотрудника – пасьянс не раскладывается
Смешные приметы о природе
Природа тоже может смеяться. Во всяком случае, есть люди, которые в это верят:
- Если вы забыли зонтик дома – дождь обязательно пойдет.
- Если дым стелется низко над землей – вы забыли выключить утюг. Если дым поднимается вверх столбом – его уже можно и не выключать.
- На оконных рамах вырос зеленый мох – пора мыть стекла.
- По телевизору идет реклама шуб и дубленок – к оттепели.
- Вокруг луны красное кольцо – мороз начинается. Вокруг пальца желтое – свобода кончается.
- Голуби летают низко – к большой стирке.
- Муравьи прячутся в муравейник – к дождю, заползают в рот и уши – вы заснули лицом в муравейнике.
Смешные приметы о семейных отношениях
Что еще остается семейным людям, жизнь которых не слишком соответствует волшебным голливудским историям? Только смеяться!
- Если вы встретили женщину своей мечты, с другими мечтами можно попрощаться.
- Женщине встретить мужчину с пустым кошельком – к большому разочарованию.
- Получили от мужа цветы без причины – причина очень серьезная.
Цветы без причины – не к добру
- Наутро девушка встала с постели и пошла делать завтрак – она ваша жена.
- Смахивать крошки на пол – к скорой ссоре с женой.
- Настоящая супруга похожа на комариху – либо жужжит, либо пьет кровь.
- Если вы явились за полночь, а жена мило улыбается – это чужая жена и чужая квартира.
Самые последние приметы в жизни
Эти приметы относятся к категории черного юмора, но от этого не становятся менее смешными:
- Если вы нос к носу столкнулись с белым медведем – это ваша последняя примета.
- Если встречная лошадь сказала вам, что вы сошли с ума – так оно и есть.
- Черная кошка перебежала дорогу траурной процессии – покойнику и на том свете будет не сладко.
Другая документация по конфигурации ядра
До сих пор обсуждались только основные концепции и специфические проблемы, относящиеся к конфигурации ядра, без углубления в подробности; подробности оставлены для изучения пользователю. Однако, другие части документации Gentoo предусматривают специализированные подробности для рассматриваемых тем.
Эти документы могут быть полезны при конфигурации специфичных областей ядра. Хотя это предупреждение было упомянуто ранее в этом руководстве, запомните: пользователям, которые только начали осваивать конфигурацию ядра, не следует смело изменять любые настройки в ядре. Сначала настройте базовое и загружающееся ядро, всегда можно вернуться к настройке позже, чтобы добавить поддержку звука, печати и так далее.
Настройки «базово-рабочего» ядра помогут в последующей конфигурации, поскольку пользователь будет знать, что может нарушить базовую работу систему, а что нет. Разумно будет сохранить базовую (рабочую) конфигурацию ядра в другой каталог, а не в каталог с исходным кодом ядра до добавления новых функций или поддержки аппаратного обеспечения.
Статья ALSA описывает в подробностях параметры, требуемые для звуковой карты. Следует заметить, что ALSA является исключением из предложенной схемы сборки компонентов не в качестве модулей: систему ALSA намного проще сконфигурировать, если компоненты являются модульными.
Статься Bluetooth описывает параметры, необходимые для использования устройств Bluetooth.
Руководство по развертыванию IPv6-маршрутизатора описывает как сконфигурировать ядро для маршрутизации, используя схему сетевой адресации нового поколения.
При использовании закрытых графических драйверов nVidia для улучшенной производительности 3D-графики, в руководстве по nVidia перечисляются параметры, которые требуется выбрать или отключить.
В числе прочих вещей, в руководстве по управлению питанием объясняется как настроить ядро для управления частотой центрального процессора и для функций энергосбережения и режима сна.
Если используется система PowerPC, в списке часто задаваемых вопросов по PPC имеются несколько разделов, посвященных конфигурации ядра для PPC.
Руководство по печати перечисляет параметры ядра, необходимые для поддержки печати в Linux.
Руководство по USB описывает конфигурацию, необходимую для использования распространенных USB-устройств, таких как клавиатуры и мыши, запоминающие устройства и USB-принтеры.