FAQ конференции FIDO.RU.Linux
7 Jul 2000. Оригинал этого документа расположен на #www.sensi.org/~ak/linuxfaq/rulinux.faq.html
Hовые вопросы и вопросы с обновленными ответами отмечены *
Этот FAQ list доступен:
для Fidonet FREQ:
2:5030/902 по алиасу LINUXFAQ (по нодлистовому времени) 2:5020/1255 по алиасу NEWFAQ (c 21:00 до ZMH, CM на выходных) 2:5069/11 CM алиас LINUXFAQ 2:5061/108 алиас LINUXFAQ (с 00:00 до 06:00) 2:5045/71 freq alias: LINUXFAQ worktime: CM 2:450/176.15 freq alias: LINUXFAQ (work time: 21:30-6:30).Для появления в этом списке необходимо регулярно выкладывать у себя свежую версию FAQ. Пишите мне, если вы получили старье с одного из этих узлов.
а также доступен по FTP или HTTP по следующим URL: #www.sensi.org/~ak/linuxfaq/
Дополнения к FAQ в виде пар вопрос-ответ принимаются на 2:5030/155.21 и ak@sensi.org
Составлено по материалам RU.LINUX (и не только).
(c)Составление - Станислав Корсуков, FidoNet 2:5030/532.
(s)Поддержание - Михаил Браво, mbravo@kronverk.spb.su, до сентября 1999
(s)Поддержание - Aлександр Канавин, FidoNet 2:5030/155.21, ak@sensi.org
Приветствуется выкладывание данного FAQ на ftp/www/etc и прочее распространение. Коммерческое использование возможно лишь с письменного разрешения. (Я рассчитываю на процент :-)
Если вы не нашли ответа на свой вопрос - почитайте руководство к своему дистрибутиву (вообще говоря, к нему надо обращаться прежде всего), faq's из дистрибутива (обычно /usr/doc/faq), HOWTOs и т.п. Попробуйте сделать запрос на #www.deja.com/usenet/. (к сожалению, он воспринимает только латиницу.) Весьма вероятно, что ваша проблема уже обсуждалась - если это так, то вы получите более быстрый и полный ответ, вовсе не написав письмо в конференцию.
Если у вас возникает несколько разных вопросов, лучше напишите одно письмо подлиннее, чем десять однострочных. Если вы задаете вопрос, связанный с вашей конкретной системой, всегда включайте как можно больше деталей - какой дистрибутив, какая версия дистрибутива, какая версия ядра, с какими именно железками у вас проблемы (опять же версии, надписи на микросхемах), и так далее.
Прежде всего Вам нужно ответить на один вопрос: для чего Вы собираетесь его использовать ? Если Вы можете дать ответ на него, то нужно быть готовым к следующим вещам:
Найдите на #www.lug.ru координаты группы пользователей Linux вашего города. Прийдите на их ближайшую встречу, можно сразу с жестким диском. Попросите на этой встрече кого-нибудь дать вам диск с дистрибутивом на пару дней. Некоторые LUG имеют общую дискотеку (собрание дисков), посмотрите, есть ли в ней что-нибудь подходящее. Подпишитесь на список рассылки LUG вашего города, спросите там "А не перепишет ли мне кто-нибудь на мой винчестер (CD-R) дистрибутив?" Можно задать тот же вопрос в городской эхоконференции Fido, посвященной обмену файлами или Unix/Linux (пример: SPB.LINUX, SPB.FILES). Однако осознайте сразу такую вещь: записать дистрибутив гораздо проще, чем помочь новичку c установкой и настройкой, поэтому не стоит расчитывать, что человек, давший вам дистрибутив в дальнейшем посвятит себя вашему обучению.
Любой, вышедший менее полугода назад, и купленный не на пиратском лотке, а у официальных дистрибьюторов: #linux.iplabs.ru, #linux.vinchi.ru, #www.linux-ink.ru, #www.mistral.ru, #www.bolero.ru, #www.books.ru.
Жители Украины могут купить лицензионные дистрибутивы на #www.ebuy.dp.ua. Жители Санкт-Петербурга - #www.shopsys.spb.ru.
Отличительными внешними признаками пиратского дистрибутива являются
Если у вас есть знакомый гуру, на помощь которого вы на первых порах рассчитываете, то, в случае, если вы поставите у себя то, что он использует сам, у вас будет больше шансов получить ответы на вопросы о тонкостях настройки.
Петербург: у Михаила Браво mbravo@kronverk.spb.su, в фирме Кронверк (Загородный 68, 110-1303), а также в Доме Книги на Невском пр.
Москва: в Доме Книги на Hовом Аpбате. Hа пеpвом этаже от входа напpаво, фиpма - CompuLink, соответственно, и в дpугих ее филиалах.
Офис IPLabs (адрес и телефон на #linux.iplabs.ru)
Офис Vinchi Group (адрес и телефон на #www.vinchi.ru)
Офис Bolero (ул. Кедрова, 14, вход со двора, этаж 3, комн.319. Телефон 124-6455).
Ростов-на-Дону: диски с дистpибутивами можно купить в фиpме "Proga" - ул. Большая Садовая 188, офис 320. Тел.53-41-22.
Другие города: ?
#www.freshmeat.net. Там есть все.
На #www.opennet.ru есть целый комплекс средств для отслеживания версий софта ( #www.opennet.ru/lastsoft/ - автоматическая система, #www.opennet.ru/news/ - "ручная")
Первым делом надо сходить на веб или фтп cайт производителя вашего дистрибутива или его ближайший миррор и посмотреть, нет ли update'а к пакету, вызывающему проблему. Если нет, тогда уже надо искать другие пути решения проблемы. И очень желательно сообщить разработчикам дистрибутива о ней. Для RedHat это можно сделать, зайдя на #bugzilla.redhat.com/bugzilla/
Когда проблемы возникают еще при установке, можно обратиться в службу поддержки производителя дистрибутива (если дистрибутив не пиратский, на нем как правило указываются координаты этой службы) или описать свою проблему в его списке рассылки, на который можно выйти через веб-сайт производителя. Учтите, что в случае, если у вас пиратский дистрибутив, причина проблем может быть в том, что он криво записан на компакт-диск.
Прочесть ru.books.computing faq ( #alexm.here.ru/rbcfaq.html).
Посмотреть на книгу "Linux. Руководство по операционной системе". BHV, 1997, ISBN 5-7315-0002-9 , но лучше ее (и в особенности прилагающийся к ней дистрибутив 96го года) не покупать. Для начинающих хорошими книгами являются "Путь к Linux" Владимира Водолазского (печатное издание 99го года, а не электронное 97го) и "UNIX: универсальная среда программирования" Б.Кернигана и Р.Пайка, а для более продвинутых (и желающих таковыми стать) - "UNIX: Руководство системного администратора" Эви Hемет. Кернигана-Пайка можно попробовать найти в библиотеке вашего вуза. Для _пользователей_ (не для чайников!) еще рекомендуется найти кинжку Дж.Армстронга "Секреты UNIX", (первое издание - Киев, Диалектика, 1996, ISBN 966-506-043-0, второе - Вильямс, май 2000). Очень хорошая книжка, только везде, где там написано "unix", надо читать "linux". Автор хотя и гордо демонстрирует останки соляриса на своей машине и вспоминает как в молодости работал с какими-то древними монстрами, но очень хорошо видно, что его познания в настоящих юниксах малость заржавели. Следует серьезно подумать, прежде чем покупать недавно (осень 1999) переведенную "Unix Power Tools" от O'Reilly - единственным известным авторскому коллективу могучим тулзом является shell. Остальное - буквально в трех словах или вовсе проигнорировано. А для заменителя man bash она дороговата.
Обратиться в существующую Linux Users Group, или создать свою. С.-Пб LUG (spblug) доступна через #www.spb.lug.ru/ Московская (mlug) -- через #www.moscow.lug.ru Более подробная информация и полный список lug имеется на htpp://www.lug.ru.
Подписаться на список рассылки, посвященный вашему дистрибутиву. Как правило, этот список ведется производителем дистрибутива, а информация о подписке доступна через веб-сайт производителя
Пpочесть паpу книжек от Linux Documentation Project.
Переводы на русский, возможно, устаревшие, есть на #www.linux.org.ru/books/.
Вот неполный список сайтов с документацией на русском языке:
Начните с Red Hat Reference Guide (/doc/ref-guide на компакт-диске). Особенно стоит обратить внимание на главы Package Management with RPM и System Administration. Также полезно прочесть cодержимое /usr/doc/initscripts-x.xx. Очень многие вопросы, которые сюда стоило бы включить, не включены именно потому, что на них есть ответы там.
Два последних источника являются частичной компенсацией отсутствия Linux-специфичных вещей в книге Немет, издание 94го года.
Linux - система, целиком и полностью разрабатывающаяся в интернете. Поэтому, нравится вам такое положение вещей или нет, но если вы не хотите сидеть на версиях программ, с глюками которых все уже давно позабыли, как бороться, мучаться с поисками документации и платить пиратам и халтурщикам за CD с кучей устаревшего и глючного мусора, то для нормальной жизни в линуксе вам необходимо хоть какое-то интернет-подключение (вполне сгодится, на первое время, и вариант "попросить приятеля скачать что-нибудь нужное" - но чем сложнее этот процесс, тем меньше удовольствия и больше проблем вы получите от линукса). И никто, увы, не жаждет сперва за свои деньги что-то скачивать, а потом выкладывать вам для халявной раздачи. Да, это делалось где-то, когда-то, когда интернет был дорог и малодоступен, а качали все, в общем, одно и то же - но сейчас те, кто этим занимался, давно потеряли и интерес, и технические возможности. Поэтому об'единяйтесь с такими же страдальцами, покупайте интернет вскладчину, публикуйте свои адреса для freq, восстанавливайте файлэхи U*, но не ждите, что кто-то сделает это за вас. Тем не менее, некоторое количество ббс c юниховым софтом существует, они перечиселены в следующем вопросе.
Желающие могут присылать свои координаты для включения в FAQ.
BBS с софтом для юникса:
В Москве: Quasi-BBS 702-52-49 23:00-08:00
Ultrix BBS, 00:00-07:00, 462-8291, Sysop - Arthur Komarov (5020/943.17) (TNSDrive 2.0b1)
unitrecordHQ, 0:00-7:30, 162-9286, только фреки, sysop - tim kondratyev (2:5020/1989.1)
В Петербурге: 2:5030/902 (по нодлистовому времени)
2:5030/763 TMA BBS, по нодлистовому времени (файл-реквесты).
И станции в Харькове - 2:461/220
Spezvuz BBS CM 0572-123313 Kostya Belous (2:461/1024) (TNSDrive 2.0b1)
2:463/57 в Киеве (только файл-реквесты)
Алма-Ата: ISP BBS CM 3272-638796 Alexander Uskov (2:5083/21) (TNSDrive 2.0b4)
info gcc,libc,gdb
/usr/doc/LDP/lpg и другие книжки от LDP, лежащие на их сайте. ( #www.linuxdoc.org)
Ccылки на гайд по программированию при помощи curses и много другого полезного: #www.linuxprogramming.com/
Раздел "Юниксоидам всех стран" на #lib.ru Обратите внимание на книжку Морриса Баха #lib.ru/BACH/
Она же выходила и в печатном виде. Еще на бумаге издавались:
"Системное программирование на C++ для Unix" Теренс Чан, BHV
"ОС UNIX" Андрея Робачевского - это почти общепризнанно сборник плохих переводов хороших оригиналов. К сожалению, альтернативы этой книге нет, пока не будут переведены и/или (пере)изданы сами оригиналы, перечисленные в конце книжки: Бах, Стивенс, Лефлер. Книгу можно получить бесплатно - взяв в библиотеке вашего вуза.
Вопросы програмирования под Unix обсуждаются в ru.unix.prog.
Если поместить ядpо Линукса на 1-й hd, в пpеделах доступности bios (1024 цилиндpа), то ядpо _гаpантиpованно загpузится_, а остальные части Линукса можно пpоизвольно pазбpосать по pазным дискам/pазделам. Ядpо можно записать в ДОСовский pаздел и загpужать его пpогpаммой loadlin.exe. Также полезно почитать man rdev.
Последние версии lilo умеют загружать ядро и с цилиндров, больших, чем 1024. При этом BIOS должен быть не слишком старым и поддерживать lba32.
Прежде всего: другую операционку, в особенности win'95/98 или dos, очень желательно ставить первой, а значит, начальное разбиение диска проводить ее средствами. Дело в том, что в некоторых случаях (в каких - выяснить пока не удалось) этим ОС или их инсталляторам не нравится MBR, созданный средствами Linux.
Затем вам нужно решить: что вы будете использовать в качестве основного загрузчика ? Если NT Loader, то этот вариант подробно расписан в HOWTO/mini/Linux+NT-loader. Если LILO, то нужно учесть следующие вещи:
other = /boot/bootsect.dos label = winbootsect.dos берется из корневого каталога того диска, на котором стоит NT Loader
(Alexander Pevzner, 2:5020/59.9) IMHO, в сомнительных и сложных случаях лучше вообще сначала раздать каждой операционке по партиции, причем начиная не с линуха и доверяя откусывание места на диске собственному fdisk-у каждой ОС. А потом уже продолжать инсталляцию.
( Andrey Terebecky) Hужно начать с того, что задуматься каких функций из DN, FAR, etc - Вам не хватает в MC. После этого внимательно изучить все, что mc рассказывает по клавише F1 (документация идущая с ним довольно скудная), обычно это решает большинство вопросов. Hе нужно искать функции типа CD-проигрывателя, запуска нескольких копий редактора в разных окнах - таких возможностей в MC нет. В DN эти функции введены для преодоления недостатков операционной системы (однозадачность, однопользовательность, отсутствие нужных утилит). Линукс таких недостатков лишен и поэтому такими вещами занимаются внешние программы, а MC это просто файловый менеджер.
Строго говоря, MC и ему подобные программы в Unix\Linux вообще не нужны. Все их функции обычно решаются гораздо быстрее с помощью shell (zsh, tcsh, bash, etc). Конечно для этого потребуется достаточно подробно изучить документацию к Вашему любимому shell и приобрести некоторые навыки работы с ним, но результат себя оправдает. В защиту MC часто говорят, что в shell не удобно работать с архивами - возможно это действительно так, а возможно говорящие это, никогда не видели AVFS ( #www.inf.bme.hu/~mszeredi/avfs/)
В Unix\Linux есть и аналоги MC - deco ( ftp://ftp.cronyx.ru/cronyx/), а также его модификация от Nickolay N. Parfenov ( #usrsrc.chat.ru), VFU ( #www.biscom.net/~cade/vfu), ytree ( #www.han.de/~werner/).
Если же Вы и после этого убеждены в необходимости DN, FAR под Linux - портируйте если можете. Hо помощников в этом будет найти сложно, те кто могут - не захотят это делать по выше перечисленным причинам, а те кто захочет скорее всего не смогут.
(Viktor Krapivin 2:450/102.1 и Dmitry Chernyak 2:503/983.998)
В самом начале 90х был такой теpмин - "интегpатоp". Вот DN им и является (почти). А полуночный командиp - нет. Точно так же, как XEmacs пpетендует на это же "звание", а вот vim - нет 8-) Гpань тонка, но она есть. И дело не в набоpе всякого баpахла. "Интеграторы" имели смысл в однозадачном ДОСе, иотсутствие необходимости выходить из редактора, чтобы потаскать файлы было их основным достоинством.
В многозадачном юниксе "интегрирование" может быть с успехом заменено использованием нескольких консолей, телнетов, команд bg/fg, программы screen и, наконец, X-Window. Кроме того, мало кому нужен такой "интегрированный редактор", который не дотягивает до уровня vi. А он никогда до него не дотянет, просто потому, что vi - _редактор_, а "редактор" в DN - просто заплатка, которой времени уделено не больше, чем всем остальным компонентам. Такова цена интегрирования.
Как заметил Victor Wagner, написание писем в эху есть самовыражение, написание писем нетмейлом есть техническая поддержка. Первое бесплатно, второе платно. Подумайте об этом.
Обратитесь в RU.LINUX.CHAINIK. Правда, при этом есть риск получить совсем чайниковый ответ.
Значительная часть этого раздела написана Alexander Voropay.
Проблему русификации можно разделить на несколько частей :
Довольно подробно все описано в Cyrillc-HOWTO, однако он довольно долго не обновлялся, поэтому отнеситесь к нему критически (Last version : v4.0, 23 January 1998 ) #linuxdoc.org/HOWTO/Cyrillic-HOWTO.html, перевод: #www.linux.org.ru/books/HOWTO/Cyrillic-HOWTO.html.
Лучше всего сперва искать решение проблемы здесь и лишь потом - в Cyrillic-HOWTO. Практически все, что написано ниже, написано в том числе и потому, что соответствующий раздел в Cyrillic-HOWTO либо отсутствует, либо дает устаревшие или неправильные рекомендации.
В системе Linux существуют два конкурирующих пакета управления шрифтами и клавиатурой : kbd и consoletools.
ftp://ftp.win.tue.nl/pub/linux/utils/kbd/ или ftp://ftp.kernel.org/pub/linux/utils/kbd/
#www.altern.org/ydirson/en/lct/
В разных дистрибутивах применяются или один, или другой. Например, в RedHat 4.х и 5.x для русификации консоли применялся пакет kbd. Однако в RedHat 6.x применяется уже другой пакет - consoletools.
Есть еще русский пакет Easy-Cyrillic. #www.compulink.ru/cdrom/unix/download/easy-cyrillic.html. Используйте Easy-Cyrillic осторожно, во время инсталляции он меняет довольно много файлов.
Существует Keyboard-and-Console-HOWTO, автор этого HOWHO является также автором пакета kbd, поэтому естественно, всех склоняет к использованию kbd. ;-) #linuxdoc.org/HOWTO/Keyboard-and-Console-HOWTO.html
На "низком уровне" для русификации консоли достаточно выполнить следующие команды (пакет kbd):
$ setfont Cyr_a8x16 $ mapscrn koi2alt $ echo -ne "\033(K" $ loadkeys ru1См. man на соответствующие команды и 'man console_codes'. Если поставлены console-tools -- man loadkeys, man consolechars. Описание, что есть что, у console-tools в /usr/doc/console-tools*, довольно внятное.
Как правило, настройка шрифтов и клавиатуры скрыта среди стартовых скриптов, а ключевые уравляющие параметры вынесены в отдельные файлики. Иногда существуют даже специальные программы настройки. "Идеологически правильно" не нарушать системную архитектуру дистрибутива, а всего лишь поменять настройки в этих файликах.
К сожалению, в Linux только один загружаемый фонт на все виртуальные консоли.
Речь идет о настройке системной locale. Проверить установки можно, просто сказав locale:
$ locale LANG=ru_RU.KOI8-R LC_CTYPE="ru_RU.KOI8-R" LC_NUMERIC="ru_RU.KOI8-R" LC_TIME="ru_RU.KOI8-R" LC_COLLATE="ru_RU.KOI8-R" LC_MONETARY="ru_RU.KOI8-R" LC_MESSAGES="ru_RU.KOI8-R" LC_ALL= $Если результат именно такой, значит настроена русская locale (ru_RU) в кодировке KOI8-R. Проверить можно командами 'cal' или 'date' - даты должны быть на русском.
На самом деле, для настройки locale достаточно всего лишь установить переменную окружения LANG= из стартовых скриптов (например /etc/profile) или руками.
$ export LANG=ru_RU.KOI8-RВ RedHat-based дистрибутивах это делается путем редактирования файла /etc/sysconfig/i18n где, кроме прочего, должна быть строчка
LANG=ru_RU.KOI8-R
Прежде всего - подробная дока о locale имеется на #www.sensi.org/~alec/locale. Обращайтесь туда, если вам нужны нестандартные варианты (например, отключение русскоязычного интерфейса с сохранением правильной сортировки и т.д.)
Доки по иксовой locale (XLOCALE) - #www.tsu.ru/~pascal/x_locale/
Хотя в принципе допустимо задавать короткое именование, вроде LANG=ru_RU или даже LANG=ru, лучше использовать _полное_ имя : LANG=ru_RU.KOI8-R . Совершенно недопустимо задавать LANG=ru_SU, такой страны больше нет :-)
К сожалению, не все дистрибутивы "от рождения" позволяют использовать ru_RU.KOI8-R . Воспользуйтесь 'locale -a' для получения списка допустимых значений. Если в списке нет значения ru_RU.KOI8-R, его нужно добавить, а то LANG= будет указывать "в пустоту" :
$ localedef -c -i ru_RU -f KOI8-R ru_RU.KOI8-R Computing table size for character classes might take a while... done Computing table size for collation information might take a while... done $ $ cd /usr/share/locale $ mv ru_RU.koi8r ru_RU.KOI8-RНекоторые дистрибутивы неправильно включают
LANG=ru LC_ALL=ru_RU.KOI8-RЭто НЕПРАВИЛЬНО. Лучше не устанавливать переменную окружения LC_ALL вообще (достаточно полного LANG= ). Подробнее смотрите на #www.sensi.org/~alec/locale/ в главе "Как включить..."
Хотя для большинства программ вполне достаточно установки LANG=ru_RU.KOI8-R чтобы начать распознавать русские буквы, многие программы, основанные на библиотеке readline (например bash), все равно считают символы с кодами больше 128 особыми META-символами (пищит при вводе).
Чтобы отучить библиотеку readline от этого, необходимо определить переменную
INPUTRC=/etc/inputrcКроме того, создать файл /etc/inputrc
set meta-flag on set convert-meta off set output-meta onПосле этого библиотека readline (и bash) начнет воспринимать русские буквы.
Еще один вариант : Не задавать INPUTRC=, а прописать те же значения в файл ~/.inputrc (в home-каталоге). Но тогда придется заводить такой файл в домашнем каталоге каждого пользователя.
См. man readline.
Cоздаем файлик /etc/sysconfig/i18n. Внутри должно быть что-то вроде:
SYSFONT=Cyr_a8x16 SYSFONTACM=koi2alt.trans LANG=ru_RU.KOI8-RРаскладка клавиатуры выбирается утилитой kbdconfig и прописывается в файл /etc/sysconfig/keyboard, в виде:
KEYTABLE=ru1Эти файлы используются в скриптах /etc/rc.d/rc.sysinit, /sbin/setsysfont. Ознакомьтесь с ними, а также с /usr/doc/initscripts-x.xx/, если возникли вопросы или проблемы.
Прочтите #www.tsu.ru/~pascal/other/xkb/, особенно последний раздел.
Для vfat примерно так (cтрочка из /etc/fstab/):
/dev/hda5 /mnt/d vfat noexec,rw,umask=002, codepage=866, iocharset=koi8-r, gid=100 0 0(в одну строчку)
Потом mount /mnt/d. Еще в ядро (>=2.0.36) должны быть включены соответствующие кодовые страницы (возможно, в виде модулей /lib/modules/`uname -r`/fs/nls_*) - CP866 и KOI8-R, так что возможно (хотя скорее всего нет) ядро придется перекомпилировать.
Для CD, содержащего файлы с русскими именами:
$ mount -t iso9660 -o iocharset=koi8-r /dev/cdrom /mnt/cdromПараметр codepage для isofs не нужен, в файловой системе JOLIET имена файлов хранятся в UNICODE.
Смысл этих опций можно узнать в 'man mount' или в документации исходников ядра /usr/src/linux/Documentation/filesystems/ или /usr/doc/kernel/filesystems/
Перекодировщиков CP1251 и CP866 --> KOI8-R просто огромное количество. Не надо писать новых ;-) Наиболее широко распространены iconv (входит в поставку glibc) и GNU recode ( ftp://prep.ai.mit.edu/pub/gnu/recode/)
$ iconv -f866 -tKOI8-R -o<outfile> infile $ recode CP1251..KOI8-R winfile.htmlЕще один URL для recode - #www.iro.umontreal.ca/~pinard/recode/.
В конце концов сгодится обычный lynx :
$ lynx -assume_local_charset cp866 file.html
Во-первых, нужно взять GoldEd+ c #asa.i-connect.ru. Библиотека uulib, необходимая для его сборки, лежит на #www.uni-frankfurt.de/~fp/uudeview/
Кроме того, нужно взять таблицы перекодировки (например из пакета русификации, проходившего по файлэхе aftnged и лежащего на #collage.etel.ru/fileechos/ftn/ и прописать их в golded.cfg, примерно так:
AREAPATH /mnt/c/fido/fecho/ AREAFILE FastEcho XLATPATH /home/ak/.golded/chars XLATLOCALSET KOI8 XLATIMPORT IBMPC XLATEXPORT IBMPC XLATCHARSET KOI8 IBMPC koi_866.chs XLATCHARSET IBMPC KOI8 866_koi.chs IGNORECHARSET
Можно. F9 - options - display bits - Full 8 bit Кроме этого, могут оказаться необходимыми еще некоторые действия.
Просмотр файлов в mc запускается через nroff (по крайней мере, в mc, идущем с Slackware'96). В неправленном файле /usr/lib/mc/mc.ext мы имеем запуск nroff'а с ключами -Tascii В Slackware'96 при таком положении вещей русских букв вы не увидите, а вот если исправить на -Tlatin1 тогда увидите.
Та же проблема и с man'ом. Если у меня есть файл с русскими буквами, то вызов, скажем man ar приводит к ерунде на экране несмотря на LESSCHARSET=koi8-r. Приходится править /usr/lib/man.config
Yuriy.Kaminskiy@p21.f517.n5020.z2.fidonet.org пишет:
при настроенной локали указывать LESSCHARSET _HЕ HАДО_. Более того, в ~/.lesskey надо добавить
#env LESSCHARSET=чтобы он игнорировал установку LESSCHARSET= глупыми программами (к примеру, man :) [после этого надо запустить lesskey для получения бинарного файла ~/.less] В противном случае он не будет вызывать setlocale(LC_CTYPE,"") и, как следствие, не будет icase search для русских букв.
Если возникают проблемы с вводом русских символов, надо написать файлик ~/.telnetrc со следующей строкой:
DEFAULT set outbinaryВы можете встретить проблемы при работе в кодировке Win-1251 -- не передается маленькая русская буква "я" 0xff. У протокола TELNET 0xff -- это первый символ управляющей последовательности. Дабы передать собственно "я", нужно его удваивать : 0xff, 0xff. В KOI8-R такой проблемы нет.
Скорее всего на консоль был скопирован какой-то двичный файл, где случайно встретилась переключающая ESC-последовательность. Тогда :
Сброс терминала :
$ echo -ne "\033c"набрать вслепую, или с работающей консоли :
# echo -ne "\033c" >/dev/ttyXПереключение на downloaded font
$ echo -ne "\033(K"(возможно, еще прйдется перегрузить фонты, но это смотря как консоль сорвало...)
Если вывалилась какая-то программа, которая использует curses, то проще
$ stty saneВ RedHat все это делают reset; setsysfont <ctrl-j>
reset - из ncurses
См. 'man console_codes' и 'man stty'
Есть пакет для KOI8 pуссификации TeTeXа, лежит на ftp://shade.msu.ru. Надо бpать 2 файла - один с собственно pуссификацией (скpипты+конфиги), дpугой со шpифтами. Занимает все удовольствие меньше 1мег.
В Debian 2.1 и, если не ошибаюсь, в Mandrake 5.3 TeX русифицирован out-of-box. Признаком русифицированности TeX'а out-of-box является наличие директории $TEXMF/tex/latex/t2, $TEXMF обычно равно /usr/lib/texmf. Русификация, как нетрудно догадаться, T2.
Alex Nikiforov:
Если уж о последних версиях, то в RH-6.0 с tetex 0.9 у меня получилось так:
$ texconfigвыбрать
hyphenation -> latexраскомментировать russian
Добавить в LaTeX файлах
\usepackage[T2A]{fontenc} \usepackage[koi8-r]{inputenc} \usepackage[english,russian]{babel}и в файле можно переключаться между русским и английским командами \Russian и \Engish
Что бы добавить форматы из cyrplain набора в texconfig выбрать FORMATS и добавить
cyrtxinf tex language.dat cyrtxinf.iniдля русского texinfo. Аналогично для cyrblue и cyramstx.
Что бы добавить формат cyrtex ( русский TeX ) проще в каталоге web2c выполнить:
initex '\input cyrtex.ini \dump'и бросить символическую ссылку с именем cyrtex на tex ( например в /usr/bin )
Что бы переключится на русский в этих plain форматах использовать команду
\language Nгде N - номер, под которым числится русский язык в получившейся раскладке.
В принципе можно заменить в конфигурации ruhypen на ruenhyp и оставить только совместные русско-английские правила переноса, но детально это не проверял и подробно описать не могу.
Все вопросы по TeX рекомендуется задавать в ru.tex
Современные Type1 фонты поддерживают UNICODE и содержат русские символы с именами глифов типа "afii10049".
К сожалению, многие приложения видят только первые 256 символов Type1 шрифта (Latin1 или ISO_8859-1). Именно для таких приложений нужны "отхаканные" шрифты, где в дипазоне 0-255 расположены символы KOI8-R. Взять можно например с :
ftp://ftp.kapella.gpi.ru/pub/cyrillic/psfonts/
Прочитайте README.
"Нормальные" Type1 шрифты есть в Adobe Type Manager (ATM) или в поставке OS/2.
#www.inp.nsk.su/~bolkhov/files/fonts/cyr-rfx/
Берем iso8859-5 шрифты с #www.inp.nsk.su/~bolkhov/files/fonts/cyr_rfx/. Подключаем их к иксам, и выбираем в меню Mule нужную кодировку.
Очень благородные изовые шрифты можно взять на любом зеркале GNU в каталоге intlfonts. конкретно, например, ftp://ftp.chg.ru/pub/gnu/intlfonts/intlfonts-1.2-split/European.tar.gz (131Кб). В Debian они уже есть.
Клавиатуpа - любым досовым pусификатоpом. Фонты : в консольном dosemu тем же pусификатоpом, в X-овом - поставить фонт с 866-ой кодиpовкой. Взять можно фонт от pедактоpа ted, напpимеp по адpесу ftp://lpcs.math.msu.ru/pub/ran/Xfonts/tedx11.cp866.bdf.tgz (пришлите пожалуйста новую ссылку, эта не работает).
Там же вы найдете и фонт с "правильным" для dosemu именем - vga.pcf
Почитайте замечательную страничку Леона Кантера по адресу - #www.blackcatlinux.com/StarOffice/
echo 'Netscape*documentFonts.charset*koi8-r: iso-8859-1' | xrdb -mergeпосле чего koi8-шрифты появляются в списке шрифтов для "Western". (отныне ваша кодировка по умолчанию именно она, а про koi забудьте.) Netscape 3.x берется с ftp://archive.netscape.com
Login:archive Password:oldiesdir там не работает, качайте /archive/index.html
а) Метод грубого хака. Нужно взять русские шрифты с ftp://ftp.relcom.ru/pub/x11/cyrillic/fonts/, там есть шрифты adobe-*-koi8-1 (c fonts.alias, делающим из них -iso8859-1), но реально содержащие кириллицу в кои8-р.
При этом шрифты с теми же именами и настоящими символами iso8859-1 становятся недоступны. Стандартных шрифтов из XFree86-cyrillic-fonts недостаточно.
Кроме того, пути к русским шрифтам в конфиге иксов или фонт-сервера должны быть впереди всех прочих.
б) Постарайтесь выяснить, откуда приложение берет название шрифта. Часто оно прописывается в конфиг-файле, иногда можно выяснить через man (ищите слова font, resources). Загляните в /usr/X11R6/lib/X11/app-defaults. Русификация GNOME/Gtk таким способом описана чуть ниже.
Если gtk не находит нужных шрифтов, он режет 8-й бит. Шрифты задаются в /etc/gtk/gtkrc.$LANG. Поэтому нужно создать файл gtkrc.ru или поправить существующий. Внутри должно быть примерно следующее (названия шрифтов, размеры и прочие атрибуты можно исправить по вкусу, но эти шрифты должны содержать кириллицу в koi8-r):
style "gtk-default-ru" { fontset = "-cronyx-helvetica-medium-r-normal--*-*-*-*-*-*-koi8-r,\ -cronyx-courier-medium-r-normal--*-*-*-*-*-*-koi8-r,\ -cronyx-fixed-medium-r-normal--*-*-*-*-*-*-koi8-r,\ -cronyx-times-medium-r-normal--*-*-*-*-*-*-koi8-r" } class "GtkWidget" style "gtk-default-ru"И скопировать этот файл в 'gtkrc.ru_RU.KOI8-R' или сделать symlink:
$ cd /etc/gtk/ $ ln -s gtkrc.ru gtkrc.ru_RU.KOI8-RПодробности см. #www.gtk.org/tutorial/gtk_tut-21.html, а также #www.linux.org.ru/gnome/
Добавить в /etc/smb.conf
[global] character set = koi8-r client code page = 866 preserve case = yes short preserve case = yes
(Alex Kanavin, адрес выше, Alexey Mahotkin)
Начнем с официальной серии ядер, выпускаемых непосредственно Линусом Торвальдсом. Прежде всего, надо разобраться, что такое стабильные и нестабильные ядра (stable и development) и как они нумеруются. Пусть имеется ядро версии a.b.c
Официальные ядра в виде исходных текстов можно скачать с ftp://ftp.kernel.org и его многочисленных мирроров (российский: ftp://ftp.ru.kernel.org, но он весьма крив, см. чуть ниже). Кроме полных исходных текстов ядра там же можно найти патчи - значительно меньшие по размеру файлы, позволяющие превратить исходники версии a.b.c в исходники версии a.b.c+1 c помощью команды patch. Эти же патчи ходят по файлэхе usyslnx.
Стабильные ядра предназначены для широкого использования и проблемы при их использовании или компиляции встречаются нечасто. Как правило в стабильных сериях от версии к версии только исправляются ошибки и добавляются драйвера, не требующие изменений в самом ядре и хорошо себя зарекомендовавшие. Стабильные ядра можно безбоязненно обновлять, не трогая прочий софт - если вы остаетесь в рамках одной серии, проблем возникнуть не должно. (По крайней мере в теории, на практике, возможно, придется вернуться к старому ядру и подождать выхода еще одной версии.) Новые версии выходят нечасто - примерно раз в месяц, и реже.
Нестабильные ядра, наоборот, не предназначены для использования массами. Это полигон для тестирования множества разнообразных возможностей, только появившихся и еще не готовых для использования никем, кроме их собственных разработчиков и людей, чье хобби - забавляться с нестабильными ядрами. Здесь от версии к версии может меняться очень многое и правильную работу никто не обещает (впрочем, то же относится и к стабильным ядрам, но в менее "жестком" смысле). При их использовании нужно быть готовым ко всему. Прежде всего к тому, что ядро просто не скомпилируется. Потом оно может не загрузиться, зависать, портить файловую систему и вообще всячески глючить. Кроме того, может начать глючить софт, взаимодействующий с ядром напрямую. Нестабильные ядра выходят гораздо чаще стабильных - иногда несколько новых ядер в неделю.
Как нестабильная серия становится стабильной и наоборот ? Очень просто: в какой-то момент 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, ну и так далее и тому подобное). Кроме того, многие производители дистрибутивов распространяют ядро с определенными патчами, которые они считают необходимыми и которые лучше вписываются в инфраструктуру дистрибутива).
Каким же ядром все-таки пользоваться? Простейший ответ: тем, которое входит в используемый вами дистрибутив. Этот ответ приемлем для большинства пользователей Линукса. Если же вы оказались в ситуации, когда, например, нужное вам железо поддерживается только в каком-то патче, который не вошел ни в одну из основных ветвей, значит, вам придется брать исходники оригинального ядра, патчи, которые использовали создатели дистрибутива, патчи, которые необходимы лично вам, прикладывать все эти патчи друг к другу, компилировать и устанавливать ядро вручную (ну, или создать свой собственный пакет на основе дистрибутивного). Вам также придется отслеживать выход новых версий патча, контактировать с его автором, сражаться с его глюками и прилагать всяческие усилия к тому, чтобы оный патч, наконец, приобрел официальный статус. Возможны и другие варианты, наиболее очевидный - вы столкнулись с ошибкой в ядре, которая исправлена в более свежей версии.
Итак, вы решили самостоятельно скомпилировать/установить ядро. Если оно development - очень рекомендуется подписаться на список рассылки linux-kernel. В любом случае желательно просматривать глазами патчи перед установкой (особенно на предмет добавления новых опций и изменений в каталоге Documentation). Еще крайне рекомендуется оставлять старое ядро и делать в lilo отдельный target типа oldlinux, на него показывающий. При смене стабильной серии на более новую стабильную надо прочесть Documentation/Changes - как минимум. А лучше - все из этого каталога, что относится к вашему железу и софту.
cd /usr/src/linuxОпции, с которыми компилируется ядро (тип процессора, драйверы которые нужно включить (возможно в виде модулей) и еще сотни других вещей), задаются в файле /usr/src/linux/.config. Так вот, желательно не создавать его самому с нуля (особенно, если вы собираете ядро первый/второй/третий раз в жизни или наложили патч на исходники из которых уже что-то компилировали), а взять за основу .config с которым было собрано старое, работающее ядро. При этом вам прежде всего надо выдать команду make oldconfig - она используется, когда есть .config от _другой_ (обычно, более старой) версии ядра, и нужно просто получить точно такой же для текущей (возможно, ответив на пару вопросов о тех фичах, которых в старом не было), не отвечая заново на все три сотни вопросов. Затем выдайте make menuconfig и исправьте те опции, ради которых вы собственно и решили пересобрать ядро.
Если вы используете RedHat и хотите воспользоваться теми .config, c помощью которых были собраны ядра в этом дистрибутиве, то возьмите их из kernel-sources-*.i386.rpm/usr/src/linux/configs/
Затем:
make dep make clean make zImage (make bzImage для ядер версий > 2.2) make modulesЕсли у вас раньше стояла эта же версия ядра, то удалите старые модули от этого ядра (/lib/modules/версия).
make modules_install/usr/src/linux/arch/i386/boot/(b)zImage - и есть свежесобранное ядро. Его теперь можно поинсталировать на место старого. Хотя лучше сначала попробовать, работает ли оно. Нужно добавить в lilo.conf еще один выбор - например, linux.test, - который берет ядро прямо из /usr/src/linux/arch/i386/boot/zImage.
Я пpедлагаю дpугой метод - пpовеpен только для RedHat'а.
cd /usr/src/linux-нужная_веpсия vi Makefile и заменить extraversion на свой - напpимеp, EXTRAVERSION = -vasya1после этого все то же самое, но
Тем, кто отважился на сборку ядра лично под себя, советуем обратить внимание на следующие факты:
В ядрах 2.2.10 и более новых:
echo 30000 > /proc/sys/fs/file-max echo 30000 > /proc/sys/fs/inode-maxи сделать ulimit -n 2000 перед запуском нужного демона. Цифры подбираются под задачу.
(Yuriy Kaminsky 2:5020/517.21)
И не забыть, что если программа использует select, то будет большой-большой облом. Вплоть до затирания стека и падения (at least glibc-2.0 - см. /usr/include/gnu/types.h - и иже с ним; исправления
#define __FD_SETSIZE 1024на нужное число и пересборки всех приложений и библиотек , которые могут заюзать select для дескрипторов выше 1024 будет достаточно [т.е., скажем, если X'овому приложению нужно открывать более 1024 файлов, то необходимо пересобирать Xlib и Xt как минимум]; ах, да, саму libc пересобирать, вроде, не нужно).
#www.linuxdoc.org Hа русском языке - посмотрите на #xtalk.price.ru/linux
ftp://ftp.yggdrasil.com/private/hjl - если кому-то понадобилась тухлятина. В частности, именно там надо искать libc5 последних версий) Сейчас все это лежит на ftp://ftp.kernel.org/pub/linux/software/ и его локальных миррорах. [а теперь все дружно: ftp://ftp.ru.kernel.org и ftp://ftp.chg.ru - У-Р-О-Д-Ы! Поскольку не миррорят .bz2 архивы, а многое из этого в .gz не выкладывается. Ребята - может, мне вам винт на несчастный гигабайт подкинуть, на бедность? Взялись быть русским миррором - так делайте это как следует. Hе можете - откажитесь, по крайней мере, майнтейнеры не будут ошибочно уверены, что в России нормальный миррор. (Alex Korchmar) Добавка от Alex Kanavin: если уж вы миррорите, например, redhat, то делайте это целиком и каждый день, а не раз в месяц кусочками. А то апдейты у вас появляются через месяц после того, как они были выложены на ftp.redhat.com, да и то - только к последней версии. Ну и кому нужен такой "официальный" mirror? ]
Очень коротко, подробнее можно прочесть в вышеназванных источниках: ядро монтирует корневую файловую систему, и запускает первый процесс init, разыскав его исполняемый файл в нескольких стандартных местах. Этот процесс читает свой конфигурационный файл /etc/inittab (man inittab) и запускает все остальные процессы согласно инструкциям из этого файла. Обычно в inittab прописывается запуск процессов *getty, управляющих терминалами, виртуальными консолями и последовательными линиями (то есть именно *getty ответственны за запуск login (сравниваюий имя и пароль, указанные пользователем, с тем, что прописано в /etc/passwd и в случае успеха запускающего соотв. shell), pppd, ifcico и т.д., что именно запускается и в каком случае - зависит от конкретного getty, наиболее универсальным считается mgetty).
Кроме того, здесь же прописываются скрипты, запускающиеся на различных т.н. "уровнях выполнения", из которых в свою очередь запускаются все остальные системные сервисы, осуществляется настройка сети, проверка файловой системы и т.д. Существует два подхода к организации этих уровней и скриптов: BSD и SysV. Оба они описаны в книжке Э. Немет (см. выше), а про SysV можно еще прочесть на #www.sensi.org/~alec/unix/redhat/sysv-init.html.
Медленно и печально идем на #diald.sourceforge.net, сливаем diald, разворачиваем, читаем README, совершаем _минимальные_ телодвижения на предмет конфигурации и инсталляции, и получаем эмулятор выделенной линии. Как только требуется выйти во внешний мир, diald дозванивается до провайдера, устанавливает роутинг и можно работать. Внимание: учтите, что с ядрами 2.2.x нормально работает diald-1.99 и выше. 0.16, лежащий везде, в том числе и в некоторых дистрибутивах, предназначен только для 2.0. (почему-то эта информация пропущена в Changes) Да, еще... Рекомендации лучших линуксоводов: в файле /etc/resolv.conf надо размножить строчки nameserver xxx.xxx.xxx.xxx раза по три, чтобы он по таймауту не отваливался раньше, чем diald дозвонится. Полезно также удалить default route на eth0.
А еще можно так: в diald.rc пишем
ip-up "cp /etc/resolv.conf.connected /etc/resolv.conf" ip-down "cp /etc/resolv.conf.local /etc/resolv.conf",где в resolv.conf.connected написано:
search yourdomain nameserver xxx.xxx.xxx.xxx (я предпочитаю 127.0.0.1)а в resolv.conf.local написано:
domain yourdomainХорошо настроить и использовать локальный DNS-cервер в режиме caching-only. Его можно поднимать и опускать через ip-up и ip-down как сказано чуть выше, или через /etc/ppp/ip-up.local и ip-down.local. Как его настроить: раньше вариант был только один - почитать книжку и настроить таки bind. Теперь есть более простой вариант: к редхату прилагаются готовые настройки для cache-only bind'а (в пакете caching-nameserver)
А еще можно сходить посмотреть на #alexm.here.ru
Логи могут быть от syslog'а и от отдельных демонов. syslog'овые логи чистятся так:
mv $log ${log}.old (или rm если не нужен, но лучше сохpанить) touch $log kill -1 `cat /var/run/syslogd.pid`Процесс автоматизируется с помощью logrotate.
Как чистить не-syslog'овые логи - только RTFM на конкpетную тулзу и никак иначе.
Надо ставить su не из gnu sh_util, которая в принципе этого не умеет (RTFmanpage на предмет, по чьей милости), а какую-нибудь другую. Но ежели su пользует pam (в RedHat, напpимеp и основанных на нем дистрибутивах, а также в Debian 2.2), подобное поведение достигается добавлением стpочки:
su auth required pam_wheel.soв /etc/pam.conf, если pam дpевний, или:
auth required pam_wheel.soв /etc/pam.d/su, если поновее.
Такой механизм получше будет, поскольку поведение можно ваpьиpовать на ходу. Hапpимеp, манипулиpуя паpаметpами 'group' и 'deny', pазpешить это делать всем, кpоме одной гpуппы:
pam_wheel.so group=guest denyПpавда, модуль этот стpанный, забывает смотpеть на gid, а смотpит только на groups... А может так и надо...
В Debian 2.1 надо поставить пакетик secure-su и посмотреть на файл suauth.
В Slackware от 3.3 (гаpантиpовано) это pешается путем pедактиpования /etc/login.defs Hужно, что бы было
SU_WHEEL_ONLY yesтогда su смогут использовать только входящие в гpуппу root. В слаквари от 3.4 (до 4.0, где su опять из другой банки) лучше прочесть сперва man 5 suauth - там возможна гораздо более гибкая настройка su, чем тупая "группа ноль".
Если память не вpет, то это же спpаведливо в SuSe 6.x. В SuSE 5.3 su из sh_util, со всеми вытекающими. К сожалению, su, понимающая login.defs и suauth, страдает другими болезнями - в частности, не имеет удобных ключиков -m и -s. Если секьюрити важнее удобства...
man setrlimit
Я так понимаю, что вполне отнесли, но в стандаpтных набоpах, как пpавило, дают гнусный. Если кто хочет себе gated собpать, то хоpошо бы ему пеpед этим поставить bsd-шный sed.
Или его безумную конфигуpу пеpеписать, что ИМХО пpавильнее будет. Если sed запускать не с дикой цепочкой -е '...', а по-человечески -- с пpогpаммой в file, то он не фоpкуется, а все исполняет в одном пpоцессе. Патч для последней ноpмальной веpсии gated-R3_5Beta4 для сбоpки под линукс лежит на ftp://ftp.redline.ru/pub/linux/net/ Что до sed-а -- если много памяти и свопа, то можно и обычным линуксовым sed-ом собpать.
Во-первых, они должны использовать одно и то же имя файла для доступа к порту, скажем, /dev/modem. Если одна программа использует /dev/ttyS0, а другая /dev/cua0 (а третья -- /dev/modem, который линк на один из этих двух :), - то они точно передерутся.
Во-вторых, они должны использовать механизм lock-файлов. Hаверное, все известные программы его используют, но все же.
В-третьих, они должны видеть локи друг друга. То есть, в их конфигурации должен быть указан один и тот же каталог для создания локов, они должны использовать один и тот же формат имен файлов (обычно LCK..<имя файла порта>), один и тот же формат самих файлов (обычно десять символов -- PID программы в ASCII), и иметь привилегии, достаточные для создания и удаления своих лок-файлов.
Hе надо пользовать cua*. То есть вообще. Они в ядре - только для обратной совместимости со схемой, принятой в BSD. В BSD /dev/cuXX -- это "Call Up" порты, т.е. для исходящих звонков -- на них всегда есть CD. В Linux /dev/cuaXX не применяется и новые ядра даже выдают предупреждение.
Для установки времени в CMOS используется утилита hwclock из свежего комплекта util-linux.
Если на вашей машине стоит только Linux, то очень удобно записать в CMOS время по Гринвичу, а в одном из стартовых скриптов сказать
/sbin/hwclock --hctosys --utcЕсли на машине стоит, кроме Linux, какая-то другая операционная система, то в CMOS пишется местное время, а в стартовом скрипте пишется просто
/sbin/hwclock --hctosysДля того, чтобы программы правильно определяли местное время (с учетом летнего времени и тому подобных обстоятельств), надо:
rm -f /etc/localtime ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Проверить правильность задания времени можно, запустив сначала ``date'' (должна показать правильное местное время), а затем ``date --utc'' (должна показать правильное время по Гринвичу).
Для того, чтобы синхронизировать время с часовыми серверами в Internet, сходите на #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)
port type pipe port command /bin/telnet -8E hostname
Попробуйте fdmount /dev/fd[0-9] mountpoint, ну и не забыть почитать man fdmount, или root мог написать 'user' в /etc/fstab, и обычный пользователь может говорить "mount <mountpoint>". man 8 mount. Еще лучше вовсе не монтировать дискеты, а пользоваться mtools.
Hадо заглянyть в директорию /var/log и посмотреть, нет ли в логах сообщений от этой программы. Для sendmail - 99% воплей пpо долгое думанье объясняется попыткой pезолвинга адpесов локальных интеpфейсов. Hадо эти адpеса занести в /etc/hosts. Альтеpнативный ваpиант - O DontProbeInterfaces=True в /etc/sendmail.cf.
PRINTCAP / Begin my_favourite_printer:\ lp=/dev/lp1:\ sd=/var/spool/lpd/my_favourite_printer:\ sh:lf=/dev/tty10:ff=: PRINTCAP / End
(Zahar Kiselev, 2:5030/382)
Вот что достаточно сделать чтобы работало:
Взять вот этот патч. Взять ядро 2.0.38 с ftp.kernel.org - он к нему подходит без исправлений. Прочитать текст внутри самого патча на предмет команда echo в некие файлики в файловой системе /proc. Патч применить, командочки вписать куда-нибудь в старовый скрипт.
Version 8.04.2 - for linux-2.0.37
This patch (and it's updates are available from #www.linux.org.za/filehandle.patch.linux and ftp://ftp.is.co.za/linux/local/kernel/filehandle.patch.linux The following patch allows you to increase the maximum number of files/network sockets openable to any number. The default kernel only allows 256 filehandles
Если у кого-то руки чешутся использовать ядро 2.2 (а зачем?), то пойти на dejanews и рыться в архиве ру.линукс за прошедшее лето (1999) - тут пробегали несколько рецептов переделки лимита в этом ядре, причем один был весьма корректный, а другой, наиболее понятный для повторения, проходил 4 августа.
Взять Самбу >=2.0.5a, вожно, чтобы она понимала параметр в smb.conf "ole lock compatible", установить его в "no". Остальное настроить в соответствии с любой из многочисленных рекомендаций по установке Самбы, главное - не запрещать ей работать с блокировками(я знаю одного человека, который до этого додумался). Запустить и все будет работать. Чтобы несколько пользователей могли лезть в одну базу - поместить их в одну юниксовую группу и поставить права на файлы так, чтобы был доступ на запись для группы. Вобщем-то по-моему все. Остальные настройки Самбы влияют только на скорость, и то незначительно. Да, если кто-то решит собирать Самбу из исходников, например чтобы отучить ее от авторизации через PAM, то могут вылезти две вещи - в зависимости от версии GCC возможно придется выключить оптимизацию(изничтожить как минимум из двух мест флажок -O, на скорость работы 1С это не влияет - проверено), и проверить что написало configure в файле config.h - оно там любит почему-то некоторые системные типы (ino_t,pid_t,еще штук пять) переопределять по-своему - после этого у меня вылез интересный эффект - все файлы на самбовом диске были видны с длинной 4к :) Признаком этого явления могут служить предупреждения, выдаваемые при сборке относительно empty declarations. Закомментировать эти определения - и все собирается нормально.
Если кто-нибудь все вышесказанное повторит и у него не заработает - можно спросить у меня что еще может влиять. Я на своей машине конфигурацию системы полностью руками ставил, причем давно, так что могут быть какие-то мелкие особенности. Hапример Самба при работе хочет создать файлики browse.dat, wins.dat - так вот надо поставить права так, чтобы она могла их читать в том числе и тогда, когда работает от имени виндового пользователя - иначе могут быть большие таймауты при выполнении команды net use в виндах, и может не работать столь любимое многими чайниками "сетевое окружение".
Поставить ядро поновее. Помогает еще от тридцати болезней.
Сообщите вашему ядру (через командную строку или конфигурационный файл LILO) следующие параметры (замените hdc на правильное устройство для вашего CD-ROMа): hdc=cdrom hdc=noprobe
Для начала прочтите /usr/doc/HOWTO/Security-HOWTO.
Hа #www.openwall.com можно найти патч Solar Designer-а, который помогает от исполняемого стека и еще восмидесяти восьми болезней. Кроме того, рекомендуется придирчиво изучать #rootshell.com #packetstorm.securify.com, #www.linuxsecurity.com , и подписаться на списки рассылки bugtraq, linux-security, и список по безопасности того дистрибутива, которым вы пользуетесь. Еще одна, хотя и несколько радикальная ссылка: #www.infowar.co.uk/thc/files/thc/anonymous-unix.html
Sticky bit (chmod +t) на каталоге означает, что файлы в этом каталоге могут стирать только их владельцы или суперпользователь. Обычно на /tmp и /var/tmp этот бит включен.
Setgid бит (chmod +g) на каталоге означает, что файлы, созданные в этом каталоге, будут иметь ту же группу-владельца, что и сам этот каталог. Также, если в setgid-каталоге создаются другие каталоги, то они также будут иметь setgid-бит.
По словам ДиДжея Бернстайна, "есть три метода задания групп-владельцев файлов: BSD-шный, бесполезный и SVR4-й. При BSD-шном методе файлы всегда получают ту же группу-владельца, что и каталог, в котором они были созданы. Это очень удобно с точки зрения администратора.(*) При бесполезном методе новые файлы принадлежат основной группе, на правах которой выполняется текущий процесс. Этот случай моментально приводит к настоящему кошмару. SVR4-й метод почти совпадает с бесполезным, но если на каталоге есть setgid-бит, то включается BSD-шный метод."
Заметьте, что с помощью флага монтирования bsdgroups можно включить BSD-шный метод работы с группами-владельцами. Подробности -- mount(8).
(*) Объяснение, почему удобно, можно найти в руководстве RedHat - rhref/s1-sysadmin-usr-grps.htm, Users, Groups and User-Private Groups)
Есть mars -- netware server для линукса (эмуляция нетваpевского сеpвеpа) ipx*, ncp*, nw* (из дистpибутива mars) - клиент.
Посмотрите Caldera Open Linux ( #www.caldera.com) - компания Caldera владеет исходными текстами Novell и переносит их на Linux. Netware for Linux - #www.calderasystems.com/support/docs/netware/.
Первые два устраняются добавлением в /etc/conf.modules строчек
alias net-pf-4 off alias net-pf-5 offПоследнее - см. стартовые скрипты на предмет удаления/комментирования строки cat /proc/scsi/scsi.
Добавьте в /etc/conf.modules:
alias ppp-compress-21 bsd_comp alias ppp-compress-24 ppp_deflate alias ppp-compress-26 ppp_deflate
hylafax - есть все, что в подобных случаях может понадобиться и сказано, где взять "клиентов" под DOS, Windows, etc. HО! принимать по одной линии (тел) и факсы и фидо не получится. :( Можно использовать mgetty, но факс-сервер придется делать самому, как делать можно подглядеть в hylafax. :)
#www.moretonbay.com/vpn/pptp.html
Нужно настроить маскарадинг. Предположим, что внутренняя локалка имеет адреса 192.168.0.0 (как и положено по RFC-1918). Тогда :
#!/bin/sh /sbin/insmod ip_masq_autofw /sbin/insmod ip_masq_user /sbin/insmod ip_masq_cuseeme /sbin/insmod ip_masq_ftp /sbin/insmod ip_masq_irc /sbin/insmod ip_masq_mfw /sbin/insmod ip_masq_portfw /sbin/insmod ip_masq_quake /sbin/insmod ip_masq_raudio /sbin/insmod ip_masq_vdolive /sbin/ipchains -F /sbin/ipchains -P forward DENY /sbin/ipchains -A forward -j MASQ -s 192.168.0.0/16 -d 0.0.0.0/0Если Linux имеет адрес 192.168.0.1, то этот ip должен быть определен на хостах внутренней сети как default gateway.
Также полезно прочитать HOWTOs:
Firewall #linuxdoc.org/HOWTO/Firewall-HOWTO.html
IPCHAINS #linuxdoc.org/HOWTO/IPCHAINS-HOWTO.html
IP-Masquerade #linuxdoc.org/HOWTO/IP-Masquerade-HOWTO.html
Русская дока есть на #www.fima.net/masquerade.html
В 2.0 ядрах вместо ipchains используется ipfwadm, в 2.4 - netfilter, про который также есть HOWTO на #netfilter.kernlenotes.org
Если ничего не работает - проверьте, что находится в /proc/sys/net/ipv4/ip_forward :
$ echo "1" > /proc/sys/net/ipv4/ip_forward(в Red Hat 6.2 и выше - не забудьте поправить /etc/sysctl.conf)
Утилиты для графического управления firewall-ом : fBuilder #www.innertek.com/ Mason #users.dhp.com/~whisper/mason/
Cофт лежит на #www.socks.nec.com
Предположим, что у вас есть машина с двумя интерфейсами (PPP/Ethernet или Ethernet/Ethernet). На внутреннем Ethernet-e адрес : 192.168.0.1. Самый простой вариант - аутентификация клиентов локалки только по адресу.
/etc/socks5.conf
permit - - 192.168.0. - - - set SOCKS5_BINDINTFC 192.168.0.1:1080 set SOCKS5_NOIDENTICQ 99/2000 работает. Подробнее 'man socks5', 'man socks5.conf', #www.socks.nec.com. [там есть FAQ]
Простейший способ - занесение соответствующих хостов - поставщиков рекламы в /etc/hosts с фиктивными ip адресами.
Более сложный, но и более гибкий - при помощи прокси-сервера Squid. Чаще всего для фильтрации используют ACL (Access Control List) типа "url_regex" (squid.conf, раздел ACCESS CONTROLS) типа:
acl Reclama_Banners url_regex ^#www1\.reklama\.ru/cgi-bin/banner/* http_access deny Reclama_BannersИли из файла :
acl Banners url_regex "/etc/squid/banners" http_access deny BannersВ /etc/squid/banners вписываешь своих врагов (в виде регулярных выражений), например:
^#banners\.rambler\.ru/advert/.*\.gif ^#kulichki.rambler.ru/reklama/banners/.*\.gif ^#www.*\.yandex\.ru/cgi-bin/banner/* ^#www1\.reklama\.ru/cgi-bin/banner/* ^#www\.reklama\.ru/cgi-bin/banner/* ^#www\.reklama\.ru/cgi-bin/href/* ^#www\.100mb\.net/images/ban/banner.*\.gif ^#www\.bizlink\.ru/cgi-bin/irads\.cgi.* ^#www\.linkexchange\.ru/cgi-bin/rle\.cgi ^#www\.linkexchange\.ru/users/.*/goto\.map ^#www\.netcq\.com/banners/banner\.gif ^#1000\.stars\.ru/cgi-bin/1000\.cgiА для вставки заглушки (скажем, прозрачного gif'а размером 1x1) можно использовать опцию deny_info.
Еще лучше с задачей фильтрации справляется специальная программа-фильтр squidguard #www.squidguard.org, ставится в дополнение к squid.
Более полный список баннеродержателей можно получить на #pail.pu.ru/
Можно сделать Transparent Proxy #www.lexa.ru/lexa/transparent-proxy.html
Поискать название вашей карточки в #www.xfree86.org/FAQ/ или /usr/X11R6/lib/X11/doc/
Взять последнюю версию иксов, собранную производителем вашего дистрибутива, или, если производитель ее еще не собрал, то на ftp://ftp.xfree86.org. Стоит сперва ограничиться _только_сервером_ под эту самую карточку, и, как правило, лучше на этом и остановиться (вот если он работает, но ищет конфиги где-нибудь не там, где они у вас лежат - можно подумать о замене всего остального.) Hамек: если вы не видите сервера с именем вашей карты - проверьте, не поддерживает ли ее сервер SVGA. Он не так прост, как можно подумать по названию. В XFree 4 остался единственный сервер, а поддержка конкретных карточек вынесена в подгружаемые модули. Поэтому (теоретически), если у вас четвертые иксы, то нужно найти только модуль для вашей карточки.
По идее, если вы правильно указали максимальные возможности вашего монитора в утилите настройки иксов (XF86Config, xf86setup, Xconfigurator), то эта утилита должна сама прописать в файле конфигурации ModeLine, выжимающий максимум из вашего монитора. Если вы не хотите полагаться на ее интеллект, то можно посмотреть готовые стандартные Modeline через strings `which xf86setup` и найти подходящую. Если по каким-то причинам с этой ModeLine возникают проблемы, то вопсользуйтесь советом от Alexei Dets:
Для начала находите Modeline с требуемым вам разрешением, но не устраивающей вас частотой, т.е. слишком низкой, например. Hайти такую строчку можно, например, в XF86Config, сгенеренным инсталлятором дистрибутива.
Проверяете работоспособность данного видеорежима на вашем мониторе. Если видеорежим устанавливается, пусть даже с некоторым смещением картинки от центра экрана, чуть-чуть другим размером и т.п. можно идти дальше. Иначе рекомендуется выбрать другую Modeline или подогнать эту при помощи xvidtune. Скажем, у нас имеется строчка:
Modeline "640x480" 25.175 640 664 760 800 480 491 493 525Какая здесь сейчас установлена частота развертки?
Ответ: 25175000/800/525=59,9 Гц.
Т.е. необходимо первую цифру, умноженную на миллион, разделить на пятую и на последнюю. Соответственно, как получить требуемые нам, например, 120 Гц?
Ответ: 800x525x120/1000000=50,4
Соответственно, результирующая строчка:
Modeline "640x480" 50.4 640 664 760 800 480 491 493 525Можете пробовать :-) Скорее всего, картинка будет неправильно центрирована и будет иметь неверный размер, но это легко лечится при помощи xvidtune. Полученная при помощи него строчка будет уже окончательной. Владельцы современных мониторов могут просто подстроить размеры и центровку из меню :-)
Примечание: все данное "шаманство" подробно объяснено в /usr/X11R6/lib/X11/doc/VideoModes.doc или на русском в #knot.pu.ru/faq/xfaq.html.
Примечание 2 от Alex Kanavin: в XFree86 4.x произошли некоторые изменения. Во-первых, в X cервере теперь определен набор стандартных VESA режимов, из которых подбирается оптимальный, исходя из параметров конфигурационного файла HorizSync и VertRefresh. То есть очень возможно, что вы получите наилучший результат, вовсе не прописывая ModeLine в конфиге, но только если интересующая вас частота развертки - одна из 60, 70, 75, 85 Hz. Имена у этих режимов традиционные - "640x480" и т.д., вплоть до "1920x1444" :-)
Во-вторых, в будущем X сервер сможет получать информацию о возможностях монитора непосредственно от него самого через VESA DDC. Для некоторых чипсетов она печатается при загрузке сервера, но пока не используется. Неясно также, как можно будет выбирать из режимов с одинаковым разрешением, не полагаясь на интеллект сервера.
При работающем X сервере уже не переключиться, но можно запустить рядышком еще один - если это XFree, а не какой-нибудь коммерческий сервер (через startx -- :1 -bpp 8 или добавив аналогичную строку в /etc/X11/xdm/Xserver, если используется xdm). В XFree 4 глубину цвета можно переключать на лету через DGA2, но подробности пока неизвестны.
X, XF86_SVGA и т.п. - скорее сервер, чем клиент. Клиенты - это xterm, xeyes, netscape и т.п. Запускают их как обычные программы, т.е. с командной строки, из midnight comander'а и т.п. Можешь еще попросить свой window manager, чтобы он сочинил тебя на экране такую штуку с иконками, в которую тыкаешь и запускаются новые иксовые програмки. Кстати, они не обязаны быть иксовыми. В юниксе нет такого жесткого деления между графическими и текстовыми программами, как в Windows или OS/2. С точки зрения системы нет разницы между иксовой программой и обычной. Иксовая программа сама коннектится к X-серверу (через TCP/IP в общем случае, и через локальный сокет в частном, когда X-сервер и X-клиент живут на одной машине). Делает она это не с помощью специальных отношений с системой, а обычными вызовами socket(), connect() etc. Занимается всем этим библиотека xlib, которая линкуется к каждому иксовому клиенту. Все, что ей надо от жизни, это знать, где искать x-сервер (для этого используется либо переменная environment'а DISPLAY, либо опция в командной строке). Более того, существуют даже программы, которые умеют работать и с x-сервером и с обычным текстовым терминалом (например - emacs) и сами разбираются при старте, как именно им работать в данном случае.
Да, Ctrl-Alt-F# (из иксов в текстовый режим) или Alt-F# (обратно, только нужно найти первую свободную от getty консоль, обычно седьмую).
man XF86Config на предмет DefaultColorDepth
Нужно запустить (запретить запуск) Display Manager, например xdm (поставляется с cамими иксами), gdm (из GNOME), kdm (из KDE). Он может запускаться из rc скриптов или как сервис SysV, но чаще всего его прописывают в /etc/inittab:
x:5:respawn:/etc/X11/xdm -nodaemonПоэтому там же нужно поменять runlevel по умолчанию:
id:3:initdefault:В RedHat display manager грузится на пятом runlevel, а обычный "текстовый" runlevel - 3, в других дистрибутивах это может быть не так. Изучите содержимое /etc/inittab, прочтите man inittab и действуйте по обстоятельствам.
Display manager можно настроить так, чтобы он позволял входить не только в локальную систему, но и в удаленные, если там также работает Display Manager, отвечающий по протоколу xdmcp - получается эмуляция аппаратного икс-терминала. Подробности в man xdm.
Hаиболее оптимальным решением является установка патченого XFree86 со встроенной поддержкой TrueType шрифтов. В последнее время большинство дистрибутивов поставляется именно с таким вариантом XFree. Вы можете и сами собрать для себе патченные X-сервер и фонт-сервер, для этого вам необходим набор патчей xfsft ( #www.dcs.ed.ac.uk/home/jec/programs/xfsft/). Единственным отличием TrueType шрифтов от остальных в данном случае является то, что файл fonts.dir генерится при помощи программы ttmkfdir, а не mkfontdir.
В случае, если у вас нет возможности или желания доставать новый X-сервер или исходники XFree, то неплохим вариантом является использование сервера шрифтов xfstt. Подробная документация по его использованию есть в его исходниках. Hедостатком данного подхода является отсутствие поддержки fonts.alias.
Оба варианта отлично работают как с обычными, так и с юникодными TrueType шрифтами.
Будет. Вот подробности от Ivan Pascal
Если посмотреть по исходникам XFree86 4.0, то можно заметить, что
Попробуйте запустить top во время проигрывания - увидите, что очень много ресурсов отъедают сами иксы, то есть программно выполняется гораздо больше операций чем в Windows. Дело в том, что до недавнего времени в иксах отсутствовала поддержка двух совершенно необходимых для качественного вопроизведения видео вещей - прямого доступа к видеопамяти и аппаратного масштабирования и сглаживания. В XFree 4 появились расширения, обеспечивающие эти функции - DGA2 и Xv. Поэтому для качественного вопроизведения мпегов необходимы следующие условия:
#www.csn.ul.ie/~caolan/docs/MSWordView.html
word2x про неанглийские языки ничего не знает.
man lilo.conf на предмет password и restricted.
Берете ближайшее ядро и загружаете его с параметром root=устройство-где-у-вас-корневой-раздел. Входите в систему как root и выдаете команду lilo.
(Совместный ответ Alexander Pevzner и Alex Korchmar)
Если вам это удастся (вдруг ;) - имейте в виду, вы собираетесь выкинуть в free source то, за что многие производители не-вынь модемов платят мегабаксы. Я очень сильно подозреваю, что на свете существует ровно одна хоть за дикие деньги продающаяся реализация v.42/42bis и ровно четыре не продающихся ни за какие деньги реализации v.34. (авторы драйверов под вынь, скорее всего, получают только .obj без права лазить внутрь, так что не думайте, что они писали код с нуля или хотя бы имели к нему доступ - это противоречит самой идее "дешевых" модемов)
Обращайтесь на #www.linmodems.org за более подробной информацией.
#www.linux-usb.org/USB-guide/book1.html
Прога называется wget
Фидософту под юниксы посвящена отдельная эха ru.unix.ftn. Полный список этого фидософта c URL появляется там, в ru.linux и в ru.unix (ищите по словам FidoSoft URL Mini-FAQ), а также лежит на #www.sensi.org/download/fidosoft.html. Готовые пакеты лежат на #donlug.dn.ua/~aks/.
Есть несколько вариантов:
Если у вас RedHat-based система, то можно запусить утилиту sndconfig. Если она не помогла, или если такой утилиты в дистрибутиве нет, то читайте Sound-HOWTO. Многие новые карточки можно заставить работать с помощью драйверов ALSA #www.alsa-project.org
Читайте #www.nitek.ru/~igor/pppd/ или #nitek.east.ru/~igor/pppd/.
Информация с #www.penguin.cz/~mhi/fs/Filesystems-HOWTO/Filesystems-HOWTO-6.html
Windows NT: (read/write) #www.chat.ru/~ashedel
Windows 9x: (r/o) #www.yipton.demon.co.uk
Windows 95/98/NT/2000: (write experimental): #uranus.it.swin.edu.au/~jn/linux/
OS/2: (R/W) на хоббесах, ext2_240.zip
Все остальное не умеет соединяться с серверами версии 2 (которыми лучше не пользоваться из-за лицензии и сырости).
Но если на той стороне стоит сервер первой версии, то лучше взять TeraTerm ( #www.vector.co.jp/authors/VA002416/teraterm.html) с ssh-пагином ( #www.zip.com.au/~roca/download.html), а еще лучше PuTTY ( #www.chiark.greenend.org.uk/~sgtatham/putty/, умеет делать перекодировку KOI8-R --> Win-1251, с исходными текстами, в комплект входит scp).
#www.blackdown.org/ там же можно найти и некоторые средства разработки и прикладные программы на Java
Сравнение benchmarks JAVA: #www.volano.com/report.html
На все вопросы по ораклу под линуксом отвечают в fido7.ru.rdbms.oracle. Еще есть замечательный список рассылки ORACLE-LINUX@fatcity.com
Еще рекомендуется пойти на #www.freshmeat.net -> application index -> multimedia... Сразу с последними версиями и кнопкой download.
В юниксоподобных операционках текущий каталог отнюдь не является путем поиска по умолчанию. Можно или набирать что-нибудь вроде ./a.out, или добавить '.' к $PATH, хотя для пользователя root наличие текущего каталога в пути является опасным. (а для всех остальных - нежелательным)
Hадо выйти из mc перед тем как.
Да. В простейшем случае - сочетание mkisofs и cdwrite или cdrecord. Если нужна графическая оболочка - xcdroast или BurnIT. Существует также соответсвующий HOWTO.
Начните с #www.rpm.org
в качестве образца для .spec очень хорошо подходит авторский .spec от nmap. если вы хотите сделать binary rpm не пересборкой из source, а имея в руках дерево уже установленной программы - просто напишите spec из одних %files - rpm достаточно сообразителен, чтобы не делать install, если нет %install. наиболее простой способ сгенерить список для %files -
find /usr/src/test-install -type d \! -path \*/usr \! -path \*/usr/local \ \! -path \*/usr/local/bin \! -path \*/usr/local/sbin | \ sed -e 's|^/usr/src/test-install/|%dir /|' >> file.spec find /usr/src/test-install -type f | sed -e 's|^/usr/src/test-install/|/| >> file.specестественно, если ты ставился в /usr/local/эта-программа а не использовал BuildRoot, то извращения с sed не нужны, если запускал make install от рута - то не нужна возня с %attr, и, наконец, %files умеет -f. (извращения с -path - чтобы не включать не относящиеся к твоему пакету каталоги /usr, /usr/local и т.д. Hа самом деле там гораздо больше)
ну и rpm -bb этот.spec в зубы. (результат найдешь в $RPMROOT/RPMS/${ARCH}/ )
X Window System пишется именно так. Никакой s в слове Window нет и пишется оно отдельно от X. Другие варианты написания - man X. Услышать, как Linus Torvalds произносит свое имя и cлово Linux, можно, сгрузив файл english.au или swedish.au с ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/SillySounds/ Этот же файл проигрывается при настройке звуковой карты с помощью sndconfig.
Это "Вопрос" в виндовой кодировке. Насколько мне (ak) известно, это cлово первым употребил Владимир Бутенко.
Last-modified: Fri, 07 Jul 2000 04:21:12 GMT
Проект Либмонстра, партнеры БЦБ - Украинская цифровая библиотека и Либмонстр Россия https://database.library.by