Что поправить в свеже-проинсталлированном Linux
Что поправить в свеже-проинсталлированном Linux
Текст будет пополняться.
Я знаю единственный дистрибутив Linux, который можно было
использовать сразу, не ковыряясь в его конфиг-файлах, в
пользовательском окружении, и т.п. - Slackware 1.0 образца 1994
года.
Все последующие релизы Slackware, а тем паче RedHat перед
употреблением требуют хирургического вмешательства.
fstab: Пропал диск C:, где дискетки A:, B:
Проблема: Как работать с досовскими дискетами? RedHat
предполагает, что настоящий unixоид пользуется дискетками
формата ext2, и не встречается с FAT-овскими досовскими флоппи.
Проблема: Не подключаются досовские разделы жесткого диска.
Потому что инсталлятор "забыл" сделать mount-point для них.
Проблема: Что делать с CDROM-ом?
Лечение:
Создать соответствующие каталоги
mkdir /a
mkdir /b
mkdir /cdrom
mkdir /dos
mkdir /dosd
В файле /etc/fstab добавить/исправить строчки:
/dev/fd0 /a msdos defaults,user,umask=000,noauto 0 0
/dev/fd1 /b msdos defaults,user,umask=000,noauto 0 0
/dev/cdrom /cdrom iso9660 defaults,user,ro,exec,dev,suid,noauto 0 0
/dev/hda1 /dos msdos defaults,user,umask=000 0 0
startx: Экономим один виртуальный терминал и немного памяти
Проблема: После запуска X, startx занимает один виртуальный
терминал, и оставляет за собой два sleeped процесса.
Лечение:
В файле /usr/bin/X11/startx исправить строчку
xinit $clientargs -- $serverargs
на
exec xinit $clientargs -- $serverargs &
lpd: удаленная печать - permition denied
Проблема: RedHat host по умолчанию не дозволяет печатать на
своем принтере удаленным lpr клиентам.
Лечение: (вообще-то так оно и должно быть - security)
В файл /etc/hosts.lpd вписать все хосты, которым дозволено
печатать.
RedHat: отсутствует pcnfsd
Проблема: PC с клиентами NFS не получают доступ к сетевому
диску.
Лечение:
то, что нужно вписать в /etc/exports хотя-бы такую строчку
/ (rw)
это, полагаю, особого удивления вызывать не должно. Но, в
RedHat не входит демон pcnfsd !
Скомпилируйте pcnfsd из исходников, или возьмите его из
RedHatовского Contrib'а или из Slackware, и добавьте запуск
rpc.pcnfsd в файл активизации nfsserver'а
/etc/rc.d/rc3.d/S60nfs
daemon rpc.mountd
daemon rpc.nfsd
+ daemon rpc.pcnfsd
echo
profile: Проблемы с кирилицей из-за кривого окружения
Проблемы: vi рисует русские буквы восьмиричными кодами. less
рисует русские буквы шестнадцатеричными кодами. Bash не
позволяет ввести в командной строке русских букв и мерзко пищит
при этом.
Лечение:
В /etc/profile добавьте команды
LC_CTYPE=iso_8859_1 export LC_CTYPE # Это спасает русские буквы в VI
LC_LOCALE=iso_8859_1 export LC_LOCALE # Это спасает русские буквы в VI
LESS="-e -r" export LESS # Чтоб less русские буквы не калечил
/etc/inittab: RedHat стирает экран перед выводом Login:
Проблема: перед тем, как вывести приглашение login, стирается
экран. Кстати, из-за этого сбрасывается русский алфавит и
перекодировку koi2alt приходилось восстанавливать ручками
echo -e '\033(K'
Лечение:
В /etc/inittab поправить строчки запуска getty (добавить "--noclear")
1:12345:respawn:/sbin/mingetty --noclear tty1
. . .
profile: Как расправиться с неудобным приглашением bash
Проблема: Приглашение командного интерпретатора bash во первых
невразумительно, а во вторых в разных окошках оно разное.
Лечение:
Приглашение задается переменной окружения PS1. Наивен, кто
считает, что достаточно установить ее в своем пользовательском
.profile . Увы, следы кривого окружения надо выкорчевывать с
корнем.
В файлах /etc/profile /etc/skel/.bashrc $HOME/.profile
добавьте/исправьте команду
PS1='\u@tty2:\w/\$ ' export PS1
Файл /etc/bashrc уничтожьте. Все что было в нем разумного
(IMHO - ничего в нем разумного нет) верните на свое законное
место в /etc/profile
/etc/skel: Лажовое пользовательское окружение
Проблема: Выставляется безумное значение переменной PS1.
Не отрабатывается пользовательский .profile
Лечение:
Удалить в домашнем каталоге файлы
.bash_logout
.bash_profile
Исправить файл .bashrc на
PS1='\u@tty2:\w/\$ ' export PS1
Чтобы прекратить "осчаствливливание" всех своих юзеров,
проделать ту же операцию в каталоге /etc/skel
Продолжение следует. Рекомендую так же посмотреть:
Начало работы в системе ()
crontab: масса излишних работ
crontab root'а лежит у RedHat в нестандартном месте -
/etc/crontab . Может быть для БОЛЬШОГО много пользовательского
internet-сервера и нужен такой огромный список планируемых
работ, но все равно, рекомендую на него посмотреть, сократить
частоту запуска раз эдак в 10, а кое-что совсем
закомментировать.
Конкретно: сократить частоту atrun
0,10,20,30,40,50 * * * * root /usr/sbin/atrun
# Trim log files
увеличить размер при котором log-файл удаляется с 16 до 256kb
Если используется uucp то добавить чистку uucp-ишых log-файлов.
В Redhat Linux ежедневно пускается команда updatedb, создающая
индекс для locate. Однако в этот индекс попадают файлы только
из корневого каталога.
Лечение: исправить ключи команды updatedb в файле
/etc/cron.daily/updatedb.cron
с
--localpaths='' --netpaths='/'
на
--localpaths='/' --netpaths=''
Поставляемый с RedHat файл Xsession неработоспособен.
Поправьте в /etc/X11/xdm/Xsession нижний фрагмент текста на
примерно такой:
################## moshkow #############################
sysprofile=/etc/profile
profile=$HOME/.profile
[ -f "$sysprofile" ] && . $sysprofile
[ -f "$profile" ] && . $profile
[ -f "$resources" ] || resources=$HOME/.Xdefaults
[ -f "$resources" ] || resources=$HOME/.Xresources
[ -f "$startup" ] || startup=$HOME/.xinitrc
[ -f "$startup" ] || startup=$HOME/.xsession
[ -f "$startup" ] || startup=/usr/lib/X11/xinit/xinitrc
if [ -f "$startup" ]; then
xrdb -load "$resources"
exec sh "$startup"
fi
################## moshkow #############################
Разное. Нерешенные проблемы
Команда man по завершении просмотра стирает экран с мануалом.
Называется "а у тебя ведь хорошая память? Isn't it?"
После перекомпиляции ядра ВСЕ модули, пришедшие с дистрибутивом
перестают работать. Их остается только уничтожить. Но iBCS
уничтожать жалко - а он скомпилирован почему-то под версию ядра
2.0.13 вместо 2.0.18. Приходится искать исходник iBCS и
перекомпилировать.
Штатная поставка sendmail 8.7.5 имеет security hole -
локальный юзер имеет возможность получить root права.
Штатная поставка sendmail 8.7.5 неработоспособна вообще -
примерно четверть всех писем недоставляется по причине delivery
errors
Единственный метод лечения - upgrade до версии 8.8.5, у
которого этот bug залечен
Поставляемый с RedHat 3.0 mount имеет security hole -
локальный юзер имеет возможность получить root права.
Произведите update на исправленную версию,
ftp://ftp.redhat.com/pub/redhat/redhat-3.0.3/i386/updates/RPMS/mount-2.5k-1.i386.rpm
или снимите setuid-бит с команд mount/umount
# chmod u-s /bin/mount /bin/umount
Конфигурирование tcp-wrapper'а
По умолчанию все сервисы в /etc/inetd.conf открыты.
Рекомендуется ограничить доступ к своей машине, оставив его
только доверенным хостам и своей локальной сети.
Перекрыть доступ снаружи на узловую машину:
В файл /etc/hosts.deny вставить строчку
ALL : ALL
Открыть доступ на узловую машину с машин локальной сети
195.0.1.0
В файл /etc/hosts.allow вставить строчки
ALL : \
127.0.0.1
ALL : \
195.0.1.0/255.255.255.0
А какой версии sendmail на вашей машине?
Date: 10 апр 97
Кстати CERT советует ставить Sendmail 8.8.5. Более ранние
версии позволяют удаленно выполнять любые команды от имени
суперпользователя на вашей машине.
httpd: дырявые cgi-скрипты
Штатная поставка Apach-httpd имеет cgi-скрипт
/home/httpd/cgi-bin/phf который позволяет выполнять
произвольные команды на вашей машине от имени юзера nobody
При реконфигурации ядра не забудьте взвести флажки:
> * Drop source routes pakets [Y]
Drop packets that have a source route flag set. This stops simpliest
redirection attacks and should be always set to yes.
> * always defragment [Y]
Reassemble packet from fragments first and only after that apply firewalling
rulesets. Unless you have a really good reason not to do this ( and I am yet
to hear one ), it should be set t yes.
/etc/rc.d : Лишние команды при начальной загрузке
Проблема: при начальной загрузке запускается большое количество
излишних сервисов (что особенно нервирует на домашних standalone
машинах)
Лечение:
Зайти в каталог /etc/rc.d/rc3.d
и переименовать "лишние" файлы:
mv S45pcmcia s45pcmcia
. . .
/etc/sysconfig/network-scripts/ : Некорректные установки статического роутинга
Если пытаться устанавливать статический роутинг сетей через
"control-panel -- Network" - то не работает.
Лечение:
Либо добавить команды
route add -net network.address gw your-host
в файл /etc/rc.d/rc.local
Либо исправить в конце /etc/sysconfig/network-scripts/ifup-routes
grep "$1 " /etc/sysconfig/static-routes | while read device args; do
route add -$args $device
done
на
grep "$1 " /etc/sysconfig/static-routes | while read device args; do
route add -$args # $device
##########
done
Расположение ядра /vmlinuz или /boot/vmlinuz ?
Проблема: заморочки с ядром. С инсталляции рабочее ядро
кладется в /boot/vmlinuz и /etc/lilo.conf затачивается под
него, а при перекомпиляции, по команде make zlilo ядро
забрасывается в /vmlinuz
Лечение:
Поправить /etc/lilo.conf ручками, и сказать lilo
Настраиваемые параметры ядра
На сильно загруженных системах начинается игра в нехватку:
cannot fork try again, no more filedescriptors, no more pty...
Лечение: Увеличьте настраиваемые параметры и перекомпилируйте ядро.
Число псевдотерминалов (а следовательно число xterm'ов,
телнетов...)
/usr/src/linux/include/linux/tty.h
#define NR_PTYS 256 /* этот параметр трогать не рекомендуется */
И не забудьте mknod для большего числа pty
Максимальное число процессов
/usr/src/linux/include/linux/tasks.h
#define NR_TASKS 512
#define MIN_TASKS_LEFT_FOR_ROOT 4
Число файлдескрипторов и открытых файлов.
/usr/src/linux/include/linux/fs.h
#define NR_OPEN 256
#define NR_FILE 1024
/usr/src/linux/include/linux/limits.h:
#define NR_OPEN 256
Update RedHat 3.0.3 --> 4.0
Нормально можно поставить RedHat с CD или по NFS.
А вот с локального жесткого диска...
#$%^#$&&^)#%$@$&^*%%^
а еще он стер мой файл /etc/hosts, /etc/httpd/conf/*,
переименовал /etc/sendmail.cf, /etc/lilo.conf
Короче, я-то поставил. А Вы?
Update RedHat 4.0 --> 4.1
1. Во время установки в самом конце спрашивается: "Keep current
network setting" Я сказал "No", машина неожиданно сделала re╜
boot, и потом ей было не здорово. Во второй раз я сказал ей
"Keep"
2. После update на начальной загрузке появляется сообщение
klog-daemon: ws unknown action
Причина: В файле syslog.conf разрезалось несколько строчек.
news.=crit /var/log/news/ne
ws.crit ^^^ склеить
3. В sendmail 8.8.5 не удается по нормальному настроить uucp-
delivering. Несмотря на Smart-relay-host, он тем не менее
пытается сделать на адреса DNS-resolving.
Отключить не удалось, FEATURE(nodns) не помогла. Пришлось взять
старый uucp_without_dns sendmail.cf из-под slackware 2.0
Продолжение следует: xdm, uucp, startx-win95...
Присылайте свои советы/замечания/дополнения по поводу всего
вышесказанного
Максим Мошков. moshkow@ipsun.ras.ru
Predstavlyaete, chto chuvstvuet chelovek, mirno spyaschij na lekcii na kotoruyu
prishel tol'ko chto by uslyshat' ot prepodavatelya pro to, kakim budet ekzamen,
kogda sosed emu govorit: "Poslushaj, a eto ved' poslednyaya lekciya na stepeni!"
- Rabinovich, pochemu Vy ne byli na poslednem partijnom sobranii?
- Esli by ya znal, chto ono poslednee...
Ya ne znal, no posetil.
Pozadi zaschita final project, vperedi esche odin doklad i odin ekzamen, no
v celom - stepen' zakonchena. B.Sc. Bakalavr nauk.
2.5 goda proleteli strashno bystro.
Po slovam mnogih priyatelej, za vremya zhizni v Izraile ya pochti ne izmenilsya,
chego o mnozhestve lyudej ne skazhesh'.
"Net, my ne stali luchshe ili starshe,
My govorim slova svoi kak prezhde,
I nashi pidzhaki temny vse takzhe,
I nas ne lyubyat zhenschiny vse tezhe."
Vprochem professional'nogo aspekta eto ne
kasaetsya. Osen'yu 94ogo ya byl uveren, chto znayu esli ne vse o programmirovanii
i kom'pyuterah, to polovinu vsego. A sejchas ya dumayu primerno tak:
"Imeya predstavlenie ob osnovah, ya za snosnoe vremya mogu do snosnogo urovnya
nauchitsya novoj dlya menya oblasti esli budut sily."
Dejstvitel'no klassicheskij sluchaj togo, chto kogda chto to uznaesh', vidish'
vse bol'she neizvestnyh tebe oblastej znanij.
Za eto vremya ya priobrel ujmu zvanij:
webmaster,unix sysadmin,turaj (ryadovoj v izrail'skoj armii).
Za eto vremya ya ni razu ne raskayalsya v tom chto v Har'kove uchil fiziku -
ya i sejchas ee schitayu edinstvennoj nastoyaschej naukoj. Computer Science zhe -
delitsya na matematiku i psevdonauku.
Za eto vremya ya ni razu ne raskayalsya, chto zdes' postupil na Computer Science
- mne eto dejstvitel'no interesno.
Za eto vremya ya nauchilsya obraschat'sya s avtomaticheskoj vintovkoj M-16.
Za eto vremya ya perestal byt' uveren, chto hochu pojti na vtoruyu stepen' -
bol'shaya nauka mne ne osobo interesna, vprochem chego ya zahochu posle
2h-letnego bega po pesku v ryadah Armii Oborony Izrailya - neponyatno.
Za eto vremya ya stal boyat'sya neinteresnoj programistskoj raboty.
Za eto vremya ya absolyutno uverilsya v svoem bezoblachnom v finansovom plane
buduschem - esli absolyutne debily, neponyatno kak zakonchivshie kafedru i
glupye devki horosho poluchayut, to uzh ya tem bolee ne propadu.
Za eto vremya ya priobrel izvestnost' v russkoyazychnom Internete - o moih
stranichkah pishut zhurnaly v Pribaltike, Izraile i Rossii, ya ezhednevno
poluchayu mail'y s razbrosom domejnov ot @president.ru do
@microsoft.com
Za eto vremya ya strashno ustal uchit'sya. Prichem oschutil eto lish' sejchas.
Global'no ustal. 17 let s pereryvom v 1 semestr. Rabotat', vprochem tozhe ne
osobo hochetsya - debil nachal'nik budet reshat' chto i kak nado delat' i t.d.
Vobschem s takimi nastroeniyami - armiya v samyj raz. Otdohnut'.
Chertovski hochetsya stat' na kakoe to vremya bezdumnym vintikom voennoj mashiny.
A neskol'ko znakomyh devok kak raz demobilizuetsya. Smena karaula svoego
roda.
Konechno cherez polgoda v armii ya strashno ustanu ot skuki ili ot marsh-broskov
(smotrya gde budu sluzhit') i ot otsutstviya intelligentnogo okruzheniya
(ne zavisit ot mesta sluzhby), no poka mne vidyatsya inye kartiny:
chto mozhet byt' luchshe pervogo chasa na vyshke na otshibe bazy srazu posle
zakata? Mozhet byt' tol'ko - upast' v postel' posle marshbroska?
Ili - dozhit' do vyhodnyh i zajti v avtobus iduschij domoj ...
Last-modified: Thu, 31-Jul-97 19:28:35 GMT