Страница:
unicode_start(1) и unicode_stop(1) . Узнать текущий режим можно
командой vt-is-UTF8(1) . Документация - в console-tools/lct.txt
Эмулятор терминала XTerm в X Window не имеет аппаратных ограничений.
Запуск
: xterm -u8
с фонтами *-iso10646-1 .
Наиболее современные программы не используют "терминальный ввод-вывод"
вообще, а написаны с использованием ToolKit-ов, поддерживающих UNICODE
(Qt, GTK, Java .e.t.c.) или напрямую пользуются возможностями GUI X
Window.
Для правильной работы приложений в UTF-8 необходимо, чтобы системная
локаль также была UTF-8, например LANG="ru_RU.UTF-8" .
Дополнительная информация:
UTF-8 and UNICODE FAQ: <http://www.cl.cam.ac.uk/~mgk25/unicode.html>
The Unicode HOWTO: <http://www.tldp.org/HOWTO/Unicode-HOWTO.html>
How do Unix terminals work?:
<http://czyborra.com/unicode/terminals.html>
Unicode Howto for KDE developers:
<http://developer.kde.org/documentation/library/kdeqt/kde3arch/KDE-
Unicode-Howto.html>
Есть микро-HOWTO вот здесь: <http://lists.debian.org/debian-
russian/2001/debian-russian-200111/msg00203.html>
командой vt-is-UTF8(1) . Документация - в console-tools/lct.txt
Эмулятор терминала XTerm в X Window не имеет аппаратных ограничений.
Запуск
: xterm -u8
с фонтами *-iso10646-1 .
Наиболее современные программы не используют "терминальный ввод-вывод"
вообще, а написаны с использованием ToolKit-ов, поддерживающих UNICODE
(Qt, GTK, Java .e.t.c.) или напрямую пользуются возможностями GUI X
Window.
Для правильной работы приложений в UTF-8 необходимо, чтобы системная
локаль также была UTF-8, например LANG="ru_RU.UTF-8" .
Дополнительная информация:
UTF-8 and UNICODE FAQ: <http://www.cl.cam.ac.uk/~mgk25/unicode.html>
The Unicode HOWTO: <http://www.tldp.org/HOWTO/Unicode-HOWTO.html>
How do Unix terminals work?:
<http://czyborra.com/unicode/terminals.html>
Unicode Howto for KDE developers:
<http://developer.kde.org/documentation/library/kdeqt/kde3arch/KDE-
Unicode-Howto.html>
Есть микро-HOWTO вот здесь: <http://lists.debian.org/debian-
russian/2001/debian-russian-200111/msg00203.html>
- http://rldp.linux.ru.net>.
Ведет Alexsandr Mikhailov, <mailto:alexmikh@mail.ru> Информация:
<http://www.tldp.org/vlist.html#te>
Русская команда перевода GNU: <http://www.gnu.org.ru>, <http://www-
ru.gnu.org.ru/>,
<http://www2.iro.umontreal.ca/~pinard/po/registry.cgi?team=ru>
Проект Алексея Махоткина "Manpages-Ru" посвящен переводу пакета
manpages на русский язык. <http://www.alexm.here.ru/manpages-ru>
KDE: <http://www.kde.org/international/russia/>
GNOME: <http://www.linux.org.ru/gnome/>
- ftp://ftp.kernel.org> и его многочисленных мирроров (российский:
<ftp://ftp.ru.kernel.org>, но им лучше не пользоваться, так как он не
миррорит .bz2, если вам нужен именно российский миррор, то попробуйте
<ftp://ftp.rmt.ru/>, <ftp://ftp.chg.ru/Mirrors/ftp.kernel.org/> или
<http://ftp.chg.ru/Mirrors/ftp.kernel.org/>).
[пользуясь случаем, хочу передать сообщение для <ftp://ftp.chg.ru> ,
<ftp://ftp.ru.kernel.olg> и других официальных россйских мирроров:
если уж вы миррорите, например, redhat, то делайте это целиком и
каждый день, а не раз в месяц кусочками. А то апдейты у вас
появляются через месяц после того, как они были выложены на
ftp.redhat.com, да и то - только к последней версии. Ну и кому нужен
такой "официальный" mirror? Взялись быть зеркалом - делайте это как
следует, не можете - откажитесь.]
Кроме полных исходных текстов ядра там же можно найти патчи -
значительно меньшие по размеру файлы, позволяющие превратить исходники
версии a.b.c в исходники версии a.b.c+1 c помощью команды patch. Эти
же патчи ходят по файлэхе usyslnx[22m.
Стабильные ядра предназначены для широкого использования и проблемы
при их использовании или компиляции встречаются нечасто. Как правило в
стабильных сериях от версии к версии только исправляются ошибки и
добавляются драйвера, не требующие изменений в самом ядре и хорошо
себя зарекомендовавшие. Стабильные ядра можно безбоязненно обновлять,
не трогая прочий софт - если вы остаетесь в рамках одной серии,
проблем возникнуть не должно. (По крайней мере в теории, на практике,
возможно, придется вернуться к старому ядру и подождать выхода еще
одной версии.) Новые версии выходят нечасто - примерно раз в месяц, и
реже.
Нестабильные ядра, наоборот, не предназначены для использования
массами. Это полигон для тестирования множества разнообразных
возможностей, только появившихся и еще не готовых для использования
никем, кроме их собственных разработчиков и людей, чье хобби -
забавляться с нестабильными ядрами. Здесь от версии к версии может
меняться очень многое и правильную работу никто не обещает (впрочем,
то же относится и к стабильным ядрам, но в менее "жестком" смысле).
При их использовании нужно быть готовым ко всему. Прежде всего к
тому, что ядро просто не скомпилируется. Потом оно может не
загрузиться, зависать, портить файловую систему и вообще всячески
глючить. Кроме того, может начать глючить софт, взаимодействующий с
ядром напрямую. Нестабильные ядра выходят гораздо чаще стабильных -
иногда несколько новых ядер в неделю.
Как нестабильная серия становится стабильной и наоборот ? Очень
просто: в какой-то момент Linus Torvalds объявляет т.н. feature
freeze, после чего к включению в нестабильное ядро принимаются только
исправления ошибок (bugfix). Через некоторое время очередной версии
присваивается номер не a.b.c+1, а a.b+1.0 или a+1.0.0 - так появляется
новая стабильная серия, вокруг чего масс-медиа устраивают большую
шумиху :) Еще через некоторое время выпуск версий в предыдущей
стабильной серии прекращается и происходит т.н. fork или разветвление
- одновременно с очередным стабильным ядром появляется нестабильное,
отличающееся от первого только номером версии.
Заметьте, что термины "стабильный" и "нестабильный" в чем-то условны.
Понятно, что "нестабильное" ядро 2.3.128 за несколько минут до его
превращения в стабильное ядро 2.4.0 по определению стабильно, а
стабильное ядро 2.2.xxx, в котором обнаружена фатальная ошибка
распределения памяти -- опять же по определению нестабильно. В общем,
сами понимать должны, не маленькие.
В силу открытости процесса разработки ядра Linux существует несколько
побочных ветвей развития. Одной из основных таких ветвей являются
ядра серии -ac, которые выпускает Алан Кокс -- один из основных
разработчиков Линукса. Во-первых, серия -ac служит своеобразным
буфером, в котором тестируются некоторые новые драйвера, возможности,
etc. перед тем, как этот, уже оттестированный, драйвер будет отправлен
Линусу. Во-вторых, в ядрах -ac имеется определенный набор вещей,
которые не устраивают Линуса, но устраивают Алана и к тому же
достаточно популярны.
Существуют также еще несколько менее важных (хотя ваше мнение по этому
вопросу может отличаться) побочных веток: например, International
Kernel Patch с поддержкой сильной криптографии, devfs-patch с
поддержкой файловой системы /dev, раньше была отдельная поддержка
ISDN, ну и так далее и тому подобное). Кроме того, многие
производители дистрибутивов распространяют ядро с определенными
патчами, которые они считают необходимыми и которые лучше вписываются
в инфраструктуру дистрибутива).
Каким же ядром все-таки пользоваться? Простейший ответ: тем, которое
входит в используемый вами дистрибутив. Этот ответ приемлем для
большинства пользователей Линукса. Если же вы оказались в ситуации,
когда, например, нужное вам железо поддерживается только в каком-то
патче, который не вошел ни в одну из основных ветвей, значит, вам
придется брать исходники оригинального ядра, патчи, которые
использовали создатели дистрибутива, патчи, которые необходимы лично
вам, прикладывать все эти патчи друг к другу, компилировать и
устанавливать ядро вручную (ну, или создать свой собственный пакет на
основе дистрибутивного). Вам также придется отслеживать выход новых
версий патча, контактировать с его автором, сражаться с его глюками и
прилагать всяческие усилия к тому, чтобы оный патч, наконец, приобрел
официальный статус.
Возможны и другие варианты, при которых может потребоваться
пересборка, наиболее очевидный - вы столкнулись с ошибкой в ядре,
которая исправлена в более свежей версии. В этом случае стоит сперва
выяснить, не выложил ли производитель вашего дистрибутива исправленное
ядро на свой ftp сервер, в то же место, где лежат прочие обновления.
Такое ядро доступно в форме пакета (rpm или deb), пригодного к
непосредственной установке пакетным менеджером, либо в дистрибутиве
имеется система автоматического обновления пакетов.
Если же вам просто хочется поставить более свежую версию ядра или
пересобрать ядро без всякой причины ("убрать лишние драйвера",
"изучить процесс сборки" и т.п. причинами не считаются ;-),
рекомендуется серьезно подумать, прежде чем приступать к действиям. Не
стоит чинить то, что не сломано. Объем трафика ru.linux, посвященный
проблемам при пересборке ядра весьма велик и не надо еще больше его
увеличивать :-). Однако обновления ядра от производителя все-таки
устанавливать рекомендуется в любом случае :-)
Итак, вы решили самостоятельно скомпилировать/установить ядро. Если
оно development - очень рекомендуется подписаться на список рассылки
linux-kernel. В любом случае желательно просматривать глазами патчи
перед установкой (особенно на предмет добавления новых опций и
изменений в каталоге Documentation). Еще крайне рекомендуется
оставлять старое ядро и делать в lilo отдельный target типа oldlinux,
на него показывающий. При смене стабильной серии на более новую
стабильную надо прочесть Documentation/Changes - как минимум. А лучше
- все из этого каталога, что относится к вашему железу и софту.
- http://www.linuxdoc.org> Hа русском языке - посмотрите на
<http://linux-ve.chat.ru>
- ftp://ftp.yggdrasil.com/private/hjl> - если кому-то понадобилась
тухлятина. В частности, именно там надо искать libc5 последних версий)
Сейчас все это лежит на <ftp://ftp.kernel.org/pub/linux/software/> и
его локальных миррорах. ( <ftp://ftp.ru.kernel.org> не миррорит .bz2
(на 20% меньше gz, многое из каталога linux/kernel/people в .gz не
выкладывается), поэтому вместо <ftp://ftp.ru.kernel.org> лучше
пользоваться <ftp://ftp.rmt.ru> или <http://ftp.filesearch.ru>)
- http://www.sensi.org/~alec/unix/redhat/sysv-init.html>.
- http://www.kernel.org/pub/linux/libs/pam/>
- http://www.ntp.org>. Там раздается пакет xntpd
и приведен список публично доступных часовых серверов в Интернете. Из
всего комплекта xntpd вам потребуется лишь программа ntpdate.
Периодически, например, при каждом звонке провайдеру, выполняйте,
например, такую команду:
/usr/local/bin/ntpdate ntp1.gamma.ru
Если на вашей машине под Linux установлена Samba, то клиенты под MS
Windows могут синхронизировать время с этой машиной с помощью команды
C:\> NET TIME \\LINUXBOX /SET /YES
(Alexey Mahotkin <mailto:alexm@hsys.msk.ru>)
- http://www.openwall.com> можно найти патч Solar Designer-а,
который помогает от исполняемого стека и еще восьмидесяти восьми
болезней. Кроме того, рекомендуется придирчиво изучать
<http://rootshell.com> <http://packetstorm.securify.com>,
<http://www.linuxsecurity.com> , и подписаться на списки рассылки
bugtraq, linux-security, и список по безопасности того дистрибутива,
которым вы пользуетесь. Еще одна, хотя и несколько радикальная
ссылка: <http://www.infowar.co.uk/thc/files/thc/anonymous-unix.html>
· Если имеется ввиду перенос содержимого одной файловой системы в
другую, то одним из корректных способов сделать это будет
( cd /old_fs && tar cf - . ) | ( cd /new_fs && tar xvpf - )
· dump 0f - /old_fs | ( cd /new_fs && restore xf - )
и набирать побыстрее, и понять легче, и кое-что, что у tar не
получится или получится с трудом, таким образом можно скопировать
(атрибуты, файлы с "дырками"). Для tar можно и попроще:
tar -C /old_fs -cf - . | tar -xpf - -C /new_fs
- GNU tar более интеллектуальная штука, чем dump.
· Подробное руководство есть в /usr/doc/HOWTO/mini/Hard-Disk-Upgrade
Sticky bit (chmod +t) на каталоге означает, что файлы в этом каталоге
могут стирать только их владельцы или суперпользователь. Обычно на
/tmp и /var/tmp этот бит включен.
Setgid бит (chmod +g) на каталоге означает, что файлы, созданные в
этом каталоге, будут иметь ту же группу-владельца, что и сам этот
каталог. Также, если в setgid-каталоге создаются другие каталоги, то
они также будут иметь setgid-бит.
По словам ДиДжея Бернстайна, "есть три метода задания групп-владельцев
файлов: BSD-шный, бесполезный и SVR4-й. При BSD-шном методе файлы
всегда получают ту же группу-владельца, что и каталог, в котором они
были созданы. Это очень удобно с точки зрения администратора.(*) При
бесполезном методе новые файлы принадлежат основной группе, на правах
которой выполняется текущий процесс. Этот случай моментально приводит
к настоящему кошмару. SVR4-й метод почти совпадает с бесполезным, но
если на каталоге есть setgid-бит, то включается BSD-шный метод."
Заметьте, что с помощью флага монтирования bsdgroups можно включить
BSD-шный метод работы с группами-владельцами. Подробности --
mount(8).
(*) Объяснение, почему удобно, можно найти в руководстве Red Hat -
rhref/s1-sysadmin-usr-grps.htm, Users, Groups and User-Private Groups)
Такое сообщение может появляться по нескольким причинам:
· Такого модуля действительно нет. В этом случае нужно выяснить его
назначение и причину, по которой система пытается его загрузить.
Затем, в зависимости от результатов выяснения, либо прописать в
modules.conf (про формат которого есть man-страница) такую строку:
alias <имя-модуля> off
либо собрать этот модуль из его исходных текстов или исходных текстов