Оцените этот текст:


Текст будет пополняться.

Я  знаю  единственный  дистрибутив  Linux,  который  можно было
использовать  сразу,  не  ковыряясь  в  его  конфиг-файлах,   в
пользовательском окружении, и т.п. - Slackware 1.0 образца 1994
года.

Все  последующие  релизы  Slackware,  а  тем  паче RedHat перед
употреблением требуют хирургического вмешательства.




     rpmbuild --rebuild bla-bla.src.rpm

    Больше тонкостей открывается при
    rpm -ivh kernel-*.src.rpm
    vi /usr/src/redhat/SPECS/kernel-2.6.spec
    ... [custom]
    rpmbuild -ba /usr/src/redhat/SPECS/kernel-2.6.spec






lockkit --disable -q   # отключить файрволл





 From: Сергей Богомолов.
 Глючит, сил нет. Но мой SoundBlaster только в нем работает.
 From: Дмитрий Волошин
 Глючный.
 From: Максим Мошков
 Глюки,  а  какие  -  сам  не пойму, вроде и не впомнишь на что
жаловаться. А на firewall я опять поставил 4.2  (с  заплатками,
естественно).
 From: Юрий Васильевич Коваленко 
     1.)  если не установил LILO именно с этого дистрибутива (а
у меня на машине есть еще и RH-4.2) rc.sysinit не  может  найти
модули.
     2.)  После  установки  в resolv.conf появилась только одна
строка с одним словом "search", информацию о сети просил узнать
по  bootp.   Следствия  - ругань на неправильный формат файла и
отсутствие доступа к nameserver.
     3.)  При  сборке  ядра  34-1  из /updates ручками пришлось
делать link asm - asm-i386
     4.)  Glint  завис  при  появлении  в  /updates  директории
(/jpeg).   Это  то,  что  вспомнилось  сразу,  особенно   яркие
впечатления  от  1  пункта.   По  сравнению с 4.2 - очень сыро,
очень плохо реагирует на любой шаг в сторону  от  представлений
авторов  об  конфигурации  машины.  RH-4.2  использую 5 часов в
сутки на он лайн обработке эксперимента, 5.0 и 5.1  не  внушают
доверия для этой цели, жду 5.2.

    RedHat 5.0

From: Сергей Кузовков Установил RedHat 5.0 - нет графической конфигурялки для Иксов, пропала удобная программа statnet, а программа GhostView при выборе пункта "print" вместо имени принтера требует теперь ввести команду печати...

    Несовместимый cpio

Архив cpio -ov в RedHat 5.0 не читается на других платформах. А совместимый cpio -ovca - НЕ ЧИТАЕТСЯ на самом Linux!!! Снести "родной" cpio, и заменить его "старым" из 4.2 В явной форме задавать ключ -H crc

    RedHat 4.2, 5.0

Проблема: Инсталляция по NFS - наглухо зависает. "Permition denied" Лечение: Вы ведь этот дистрибутив сftpили? А право "execute", которое ftp сбросил, восстановить не забыли? cd redhat ; chmod -R a+x .

    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 -X" 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 Продолжение следует. Рекомендую так же посмотреть: Начало работы в системе ()

    Команда man по завершении просмотра стирает экран с мануалом

Проблема: Команда man по завершении просмотра стирает экран с мануалом Называется "а у тебя ведь хорошая память? Isn't it?" Лечение: man использует для просмотра команду less. У less есть ключ "-X" - "не деинициализировать экран по окончании. Поэтому добавьте его к дефолтным ключам в переменную окружения LESS в своем профайле. LESS="-e -r -X" export LESS Лечение: другой метод - поправить в описании терминала строку деинициализации (ах, как там она называется?), и убрать из нее команду стирания экрана.

    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=''

    Конфигурация XDM

Поставляемый с 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 #############################

    Разное. Нерешенные проблемы

После перекомпиляции ядра ВСЕ модули, пришедшие с дистрибутивом перестают работать. Их остается только уничтожить. Но iBCS уничтожать жалко - а он скомпилирован почему-то под версию ядра 2.0.13 вместо 2.0.18. Приходится искать исходник iBCS и перекомпилировать.

    * SECURITY *

Штатная поставка 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

    Несколько рекомендаций по безопасности

Вольный перевод с http://www.corbina.net/~ppinpro/alx/gen-rule.html Если ваш дистрибутив старее 3-5 месяцев - смело выкидывайте его на свалку. Он содержит массу известных всему миру security holes и не имеет массы полезных утилит. Обязательно перекомпилируйте ядро, выкинув из него все не нужные сейчас дравера. Не забудьте сделать chmod 400 /vmlinuz. Добавьте в /etc/lilo.conf возможность загрузки предыдущego ядра. Отредактируйте /etc/inetd.conf. Закомментируйте в нем ВСЕ строчки, которых не понимаете. Если что-то осталось незакомментированно, поместите строку ALL : ALL в файл /etc/hosts.deny И индивидуальные строчки разрешений на доверенные хосты в файле /etc/hosts.allow ВСЕ версии sendmail, кроме САМОЙ СВЕЖЕЙ позволяют взломать ваш компьютер из сети. Уничтожте файл со старой версией. wu-ftp демон ненадежен и опасен. Никто не поклянется, что в нем исправлены все security holes.

    Конфигурирование 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

    Securные параметры ядра

При реконфигурации ядра не забудьте взвести флажки: > * 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.

    Имеющий доступ к консоли Linux может стать суперюзером

0. Загрузка со своей загрузочной дискеты 1. Booting to single-user mode LILO: linux single Debian обходит это поправками в /etc/initab, а RedHat - пропускает # What to do in single-user mode. ~~:S:wait:/sbin/sulogin 2. Указать альтернативную программу init LILO: linux init=/bin/bash 3. Задать другой root-partition LILO: linux root=/dev/hda1 Если создать в отдельной партиции всю положенную для корня структуру, то можно будет с нее загрузиться. Эту возможность можно получить, например, если /tmp монтируется в отдельную партицию. Или машина поддерживает UMS­ DOS и имеет досовский раздел. Лечение Закрыть паролем BIOS-setting и отключить возможность загрузиться с дискеты. Закрывайте возможность перехвата LILO-prompt A workaround can be achieved by using PASSWORD and RESTRICT options in /etc/lilo.conf. Внимание: /etc/lilo.conf должен быть root.root 600, чтоб никто не смог этот пароль подсмотреть.

    kerneld and ifconfig загрузят любой kernel-модуль

Команда /sbin/ifconfig module-name позволяет _любому_ пользователю загрузить модуль из каталога /lib/modules используя kerneld. Лечение: Пока не залечено в промышленном масштабе. Отключайте kerneld или явно указывайте модули, которые можно грузить, уберите все лишние модули доставшиеся вам после инсталляции.

    * ПРОЧЕЕ *

    /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

    /etc/sysconfig/network-scripts/ : Некорректные скрипты

From: Roman (mrv@fia.volga.ru) Проблема: Припекло установить два PPP интерфейса. пользовался стандартной конфигурялой в иксах. Глюк - при выставлении у одного интерфейса признака Default gateway, таблица роутинга строится с двумя default Лечение: Анализ показал - при запуске демона PPPD, если ему явно не указать отказ от Default gateway, то по умолчанию он поставится сам. Необходимо в файле /etc/sysconfig/network-scripts/ifup-ppp найти строку: if [ "${DEFROUTE}" = yes ] ; then opts = "$opts defaultroute" fi И добавить в нее: if [ "${DEFROUTE}" = yes ] ; then opts = "$opts defaultroute" else opts = "$opts -defaultroute" fi Проблема: При использовании Alias на сетевые карты не отрабатывается Static-route Пример: Есть адаптер eth0 , делаем алиас на него eth0:0 При попытке постройки статического роутинга в файле /etc/sysconfig/static-routes для сети на интерфейсе eth0:0 после перезагрузки компьютера ничего не произойдет. Лечение: Готового решение пока нет, но причина в скрипте который инициализирует запуск сети В нем анализ интерфейсов в файле /etc/sysconfig/static-routes идет до знака "двоеточие" Лечение2: Кардинальное - горбатого могила исправит. Выкинуть GUI-control-panel и конфигурить руками и вставлять команды под'ема интерфейсов и роутинга в /etc/rc.d/rc.local

    Расположение ядра /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 4090 /* On x86 Max 4092, or 4090 w/APM configured */ #define MAX_TASKS_PER_USER (NR_TASKS/2) #define MIN_TASKS_LEFT_FOR_ROOT 16 Число файлдескрипторов и открытых файлов. /usr/src/linux/include/fs.h #define NR_FILE 4096 #define NR_INODE 3072

    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

    Если не работает сетевая карта

http://www.scyld.com/network/rtl8139.html http://www.scyld.com/expert/modules.html Компиляция модуля с дравером: gcc -DMODULE -D__KERNEL__ -O6 -c driver.c Инсталляция в /lib/modules/kernel-version/net/driver.o install -m 644 driver.o /lib/modules/`uname -r`/net/ /etc/modules.conf: ########################### alias eth0 driver options driver full_duplex=1,0,1 debug=0 # включить full-duplex на 1 и 3-й карте ###########################

    Возможные поправки в TCP-конфиге

если слишком много time_wait netstat -na -f inet | grep ^tcp4 | awk '{print $(NF)}'|sort |uniq -c echo 1600 >/proc/sys/net/ipv4/tcp_keepalive_time echo 20 >/proc/sys/net/ipv4/tcp_fin_timeout echo 1 > /proc/sys/net/ipv4/tcp_keepalive_probes echo 0 > /proc/sys/net/ipv4/tcp_window_scaling echo 0 > /proc/sys/net/ipv4/tcp_sack echo 0 > /proc/sys/net/ipv4/tcp_timestamps echo 393213 > /proc/sys/net/core/rmem_max echo 393213 > /proc/sys/net/core/rmem_default echo 393213 > /proc/sys/net/core/wmem_max echo 393213 > /proc/sys/net/core/wmem_default

    Изготовление emergensy boot floppy

# mke2fs /dev/fd0 # mount /dev/fd0 /mnt/fd # mkdir /mnt/fd/boot # mkdir /mnt/fd/boot/grub # cp /boot/grub/stage1 /mnt/fd/boot/grub/stage1 # cp /boot/grub/stage2 /mnt/fd/boot/grub/stage2 # cp /boot/grub/menu.lst /mnt/fd/boot/grub/menu.lst # umount /mnt/fd # /sbin/grub --batch --device-map=/dev/null <<ЕОF device (fd0) /dev/fd0 root (fd0) setup (fd0) quit ЕОF Старый GRUB: # cd /boot/grub/ # dd if=stage1 of=/dev/fd0 bs=512 count=1 # dd if=stage2 of=/dev/fd0 bs=512 seek=1 А так же см. apt-cache search bootable livecd mkbootdisk mkinitrd-cd

Last-modified: Fri, 28 Apr 2006 08:23:52 GMT
Оцените этот текст: