|
9.1. Функционирование и настройка.
(1) Процесс загрузки Linux очень коротко можно описать так: ядро монтирует корневую
файловую систему, и запускает первый процесс init, разыскав его исполняемый
файл в нескольких стандартных местах. Этот процесс читает свой конфигурационный
файл /etc/inittab и запускает все остальные процессы согласно инструкциям из
этого файла. Обычно в inittab прописывается запуск процессов *getty, управляющих
терминалами, виртуальными консолями и последовательными линиями (то есть именно
*getty ответственны за запуск login (сравнивающий имя и пароль, указанные пользователем,
с тем, что прописано в /etc/passwd и в случае успеха запускающего соотв. shell),
pppd, ifcico и т.д., что именно запускается и в каком случае - зависит от конкретного
getty, наиболее универсальным считается mgetty. Кроме того, здесь же прописываются
скрипты, запускающиеся на различных так называемых "уровнях выполнения"
(они обычно находятся в директории /etc/rc.d), из которых в свою очередь запускаются
все остальные системные сервисы, осуществляется настройка сети, проверка файловой
системы и так далее.
(1) Runlevel - это режим работы Linux. 0 - выключить систему (halt), 1 - однопользовательский
неграфический режим, 2 - многопользовательский неграфический режим без сети,
3 - полный многопользовательский неграфический режим, 4 - не используется, 5
- полный многопользовательский графический режим, 6 - перезагрузка. Уровень
работы системы по умолчанию устанавливается в файле /etc/inittab (там есть строчка"
id:x:initdefault"). Обычно по умолчанию там установлен уровень 3 или 5.
(1) Чтобы при каждом запуске системы автоматически выполнялись какие-нибудь
команды, просто добавьте эти команды в файл /etc/rc.d/rc.local.
(1) Чтобы перейти из графического режима в текстовую консоль, нажмите Ctrl+Alt+F1.
(Ctrl+Alt+F2 - на вторую консоль, Ctrl+Alt+F3 - на третью консоль, etc). Для
того, чтобы вернуться обратно в иксы, обычно используется комбинация клавиш
Alt+F7.
(1) Чтобы изменить количество консолей, нужно просто изменить количество строк
в файле /etc/inittab ("1:2345:respawn:/sbin/mingetty tty1", "2:2345:respawn:/sbin/mingetty
tty2", и т.д.).
(2) Если заменить /dev/null на обычный файл, система перестанет нормально функционировать.
Чтобы восстановить /dev/null, нужно выполнить команды "mknod /dev/null
c 1 3" и "chmod 666 /dev/null".
Linuxfocus.org Tips
Добавить свой совет | Ваши комментарии и исправления
9.2. Ядро.
(1) Чтобы узнать версию ядра Linux, которое вы в данный момент используете,
можно воспользоваться, например, командой "uname -a", которая выводит
некоторую информацию о системе. (Или командой "cat /proc/version").
Версия ядра не совпадает с версией дистрибутива :).
(1) Установка ядра, как и любого другого пакета в дистрибутивах с поддержкой
rpm возможна в трех стандартных вариантах: - Из тарбола (tar.gz). - Из src.rpm.
- Из RPM. Но в случае, если вам необходимо добавить к ядру отдельный модуль,
вам будет достаточно использовать исходные тексты текущего ядра (пакет kernel-source
xxxx. rpm), которые обычно лежат в /usr/src/linux.
Ruslandh
(1) Компиляция ядра из исходников. Компиляция ядра достаточно подробно описано
в Kernel HOWTO (русский вариант есть на многих новых дистрибутивах и в интернете,
английский - практически везде).
1) Конфигурирование модулей ядра:
a) из графики (X-в): запустите с графической консоли в папке /usr/src/linux
"make xconfig".
b) с терминала - "make menuconfig", или "make config". Установите
все необходимые параметры.
2) Установка зависимостей между пакетами - "make dep".
3) Дальше есть варианты: "make install" - установка ядра, "make
modules" - компиляция модулей, "make modules_install" - установка
модулей, "make bzImage" - создание образа ядра.
Ruslandh
(2) Чтобы проверить, установлены ли у вас исходники ядра, выполните команду:
"rpm -q kernel-headers kernel-source make dev86".
(1) Установка ядра из src.rpm. Необходимо взять соответствующий файл kernel....spc.rpm,
установить его и получить с помощью команды rpm -ba kernel.....spec соответствующие
пакеты rpm: kernel-xxxx.rpm и kernel-source-xxx.rpm, которые уже устанавливаются
соответствующим образом.
Ruslandh
(2) Для настройки ядра в RedHat существует пакет powertweak. Графический интерфейс
- gpowertweak.
(2) Список всех загруженных модулей - команда "lsmod".
Добавить свой совет | Ваши комментарии и исправления
9.3. Взаимодействие с Windows.
(1) Если при переустановке Windows (или при установке в mbr другого загрузчика)
перестал грузиться Lilo/Grub, и вы не можете попасть в Linux - есть много вариантов.
Самый простой из них - использовать загрузочную дискету. Так же можно загрузить
Linux из Dos с помощью loadlin.exe... Короче говоря, читайте статью "Многоосность"
- там все подробно описано.
(1) Если в Линуксе вам не хватает привычных Windows-программ, существует несколько
выходов из положения:
1) Для Unix/Linux тоже существует большое количество программ, и если вы будете
искать, то обязательно найдете аналог для вашей привычной Windows-программы,
который может оказаться даже удобнее / функциональнее / надежнее.
2) Использование механизма виртуальных машин (создание компьютера внутри компьютера,
и запуск Windows на нем). К таким программам относятся, например, VMWare и Win4Lin.
Для их работы необходимо, чтобы на компьютере был установлен Windows. (А так
же не помешает большое количество оперативной памяти и быстрый процессор).
3) Запуск Windows-программ как X Window приложений. Самая известная и легендарная
программа подобного рода - это Wine (Wine Is Not an Emulator). Действительно,
это не эмулятор, а просто попытка написать преобразователь, запускающий Windows-программы
как программы для среды X Window. Сам Wine распространяется как Open source,
но существует и коммерческая версия под названием WineX, разработчики которой
уже добились определенных успехов в запуске мощных Windows-приложений (таких,
как современные игры). Для работы этих программ наличие Windows на компьютере
не обязательно. (но обычно используются различные файлы, взятые из Windows -
например, различные DLL).
(1) Если на разделах Windows файлы с русскими буквами не отображаются нормально,
нужно монтировать эти разделы так: mount -t vfat -o user,codepage=866,iocharset=koi8-r,noexec,conv=auto
/dev/xxx /xxx. (Или просто добавить в файл /etc/fstab строку: /dev/xxx /xxx
vfat user,codepage=866,iocharset=koi8-r,noexec,conv=auto 0 0"). Если проблема
не решена - можно попробовать перекомпилировать ядро c поддержкой Native Language
Support (NLS). make [x,menu]config => CONFIG_FAT_FS=y, CONFIG_NLS=y, CONFIG_NLS_CODEPAGE_866=y,
CONFIG_NLS_KOI8_R=y, CONFIG_MSDOS_FS=y, CONFIG_VFAT_FS=y.
http://nix.h1.ru/articles/faq.htm
(2) Самые простые способы преобразовать текстовый файл dos/windows в текстовый
файл Unix: 1) "cat filename1 | tr -d "^V^M" > newfile".
2) "sed -e "s/^V^M//" filename > outputfilename". 3)
Команда "dos2unix". 4) "col -bx dosfile > newfile".
(2) Чтобы посмотреть список расшаренных ресурсов на Windows-машине, можно использовать
следующие команды: "smbclient -I <ip-адрес> -L NAME_SERVER",
или "nmblookup -r -A <ip-адрес>", или "smbclient -N -L
hostname -I <ip-адрес>", или скрипт "smpfind".
Александр Трапезников
Добавить свой совет | Ваши комментарии и исправления
9.4. Загрузчики (Lilo & Grub).
(1) Если при попытке установки Lilo в boot-сектор выдается примерно такое сообщение
"Warning: device 0x307 exceeds 1024 cylinder limit / Fatal: geo_comp_addr:
Cylinder number is too big (4941 > 1023)", то возможно несколько вариантов
решения этой проблемы: 1) Вставить в /etc/lilo.conf строку lba32 и удалить стоку
linear (если такая есть). Если не помогает - поставить более новую версию lilo.
2) Поставить вместо Lilo более новый загрузчик Grub. 3) Передвинуть /boot до
1024 цилиндра.
Добавить свой совет | Ваши комментарии и исправления
9.5. Прочее.
(2) При загрузке система может на время зависать при запуске sendmail, httpd,
и smb. Обычно это происходит из-за того, что Linux не может распознать сетевое
имя компьютера. И загрузка останавливается из-за того, что система ожидает ответа
на запрос DNS. Если ваш компьютер находится в сети с DNS сервером - проверьте
правильность записей в файле /etc/resolv.conf. А если вы используете Linux на
компьютере без локальной сети (или с сетью без DNS-сервера), то вам нужно отредактировать
файл /etc/hosts для того, чтобы там был IP-адрес и имя хоста. Файл /etc/hosts
должен быть примерно таким: 127.0.0.1 localhost.localdomain localhost / 192.168.1.1
mymachine.mynetwork.net mymachine.
(1) Работоспособность Linux после сбоев, вызванных, например, потерей электроэнергии
в сети, зависит не от OS, а от используемой файловой системы. Если использовать
Ext2, то есть возможность потерять важные данные. А если использовать журналируемые
файловые системы, такие, как Ext3 или особенно ReiserFS, то надежность во много
раз увеличивается.
|