Выдать на печать

Полезные советы по Linux.

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, то надежность во много раз увеличивается.


© whistlerpc.narod.ru ™
®2003 whistler
Hosted by uCoz