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

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

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




Скрипт читается локально, и выполняется построчно

#!/usr/bin/expect -f

spawn ssh root@server

expect "root\@server\:\~\# "
set infile [open "myfile.sh" r]
while { [gets $infile line] >= 0 } {
send "$line\n"
expect "root\@server\:\~\# "
}
close $infile



Заголовок окна -> Advanced -> Special window settings ->
       Workarounds -> Block global shortcuts -> Force temporarily -> Ок



/etc/sysconfig/network/ifcfg-wlan0 в этот  файл добавить

POST_UP_SCRIPT=wlan_nat_up

/etc/sysconfig/network/scripts/wlan_nat_up :

#!/bin/sh
  sysctl -w net.ipv4.ip_forward=1
  iptables -t nat -A POSTROUTING -s 10.1.2.0/24 -j MASQUERADE
  service dhcpd restart
# в DHCPD назначить себя в качестве default-router


Origin:  http://www.linlap.com/wiki/hp+elitebook+8740w

/sys/devices/platform/hp-wmi/als

To prevent kacpid consuming 100% CPU on one thread, had to upgrade to kernel
2.6.35-020635rc6-generic and add the following to /etc/rc.local:

echo disable > /sys/firmware/acpi/interrupts/gpe01

HOWTO get s2ram working, is obsolete since kernel-2.6.37 (gentoo).


to get suspend to ram working, you can try to unload the
xhci_hcd (usb3 driver) module before suspending.

 rmmod xhci_hcd
 s2ram -f
 modprobe xhci_hcd

Логин по сканеру отпечатков (finger print, fprint)

Необходимы пакеты: libfprint0 - поддержка FP,
     fprint-demo - тест работоспособности
     libpam-fprint(убунта), pam_fp(openSUSE) - pam-модуль для FP-авторизации
     yast2-fingerprint-reader
     bioapi ?

zypper install fprint-demo pam_fp libfprint0 yast2-fingerprint-reader

В файле /etc/pam.d/common-auth

auth sufficient pam_fprint.so
auth [success=1 default=ignore] pam_unix.so nullok_secure

pam_fprint_enroll --enroll-finger 7 # сканировать правый указательный


server:  /etc/ssh/sshd_config
X11Forwarding yes

client: /etc/ssh/ssh_config
ForwardX11 yes

А если это не помогает, и в syslog'е "Failed to allocate internet-domain X11"
Значит sshd запутался в IPv6, и sshd надо запускать с ключом -4

server:  /etc/sysconfig/sshd
SSHD_OPTS="-4"


На одной машине запускаем сервер с максимальными настройками
iperf -s             -m -w 1M -l 24K -M 100000

На другой - клиента изменяя размер пакета (-M) (-t 10 = на 10 минут)
iperf -c server.name -m -w 1M -l 24K -M 1500


Статически:
Section "Device"
  BoardName    "GeForce Go 7900 GS"
  Option       "Rotate" "Inverted"
  . . .

Динамически:
Section "Device"
  BoardName    "GeForce Go 7900 GS"
  Option       "RandRRotation" "on"
  . . .

затем выполнять команды

xrandr -o inverted
xrandr -o normal


Графический менятель партиций gparted

Размер NTFS меняют пакетом ntfsprogs

       ntfsresize  --info /dev/hdb2
       ntfsresize --forced --size 40G  /dev/hda2




Можно попробовать запретить парковку головок

   hdparm -B 255 /dev/sda



tune2fs -O extents,uninit_bg,dir_index /dev/sdf2
e2fsck -fpD /dev/sdf2
e2fsck -fD /dev/sdf2



Слушать порт, коннекты сливать в файл:

nc -l -p 3333 > file.txt

Толкнуть данные в порт

nc 192.168.1.1 3333 < file.txt



eject -x 2 /dev/cdrom



dmidecode



paste -d " " stolbi1.txt stolbik2.txt



ifconfig eth0 hw ether ee:ee:ee:ee:ee:ee


 Постоянка для Debian

/etc/network/interfaces :
    pre-up ifconfig eth0 hw ether 00:00:00:00:00:00


xset b off
xset b on

  иногда помогает

setterm -bfreq 10

  иногда помогает

rmmod pcspk



ls -al /usr/share/gnome/autostart/



libata.dma=0 в параметры ядра при загрузке



setterm -blank 0 -powerdown 0 -powersave off



1. файловая система должна быть смонтирована с опцией mand

2. файл должен иметь sgid бит и не иметь group-exec бита
(chmod g+s,g-x filename)

при соблюдении обоих условий другие процессы не смогут писать в файл



Для этого надо перекомпилировать все пакеты под свой процессор
http://community.livejournal.com/ru_linux/2078221.html



# убеждаемся, что дравер запускается
lsmod | grep -i snd_hda_intel

# если нет - в /etc/modprobe.conf добавляем:
options snd-hda-intel model=auto         # автоопределение, или
options snd-hda-intel model=3stack-dig   # конкретны йподтип для eepc 701

alsactl  # единоразово для настройки звуковой подсистемы

alsamixer # дефолтные уровни звука

1. Установить i-Mic как Input source
2. Настройте Capture и i-Mic Boost по вкусу
3. Отредактируйте /etc/asound.state - в секции 'Capture Switch'
       значения value.0 и value.1  true

alsactl restore

# если USB-видеокамера разпознается дравером, возникает /dev/video0
# skype и другие приложения подберут его по умолчанию

# Просмотр потока с видеокамеры
mplayer -fps 15 tv://



На SSD-диске файловую систему лучше делать нежурналируемую - напр. ext2

В опциях монтажа в /etc/fstab  добавляем noatime
/var/log монтируем на TMPFS

tmpfs /var/log tmpfs size=10M 0 0




Ищем свой сканер
http://www.sane-project.org/sane-mfgs.html
выясняем название дравера для sane-backend - например hp3900

# sane-find-scanner -q
found USB scanner (vendor=0x03f0 [hewlett packard], product=0x4305 [hp scanjet], chip=RTS8822L-01H) at libusb:005:007

ls -al /dev/bus/usb/005/007
файл должен принадлежать группе lp. если нет - добавляем productId в /etc/udev/rules.d/55-libsane.rules

SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="4305", MODE="0664", GROUP="lp", ENV{libsane_matched}="yes"

Задаем какой дравер использует SANE:
echo hp3900 >> /etc/sane.d/dll.conf

Драверу hp3900 указываем, на каких USB-девайсах сидит "его" сканер
/etc/sane.d/hp3900.conf

usb 0x03f0 0x4305

Проверяем:

# scanimage -L
Если нарвались на
No scanners were identified. - то пытаемся отладиться

# SANE_DEBUG_DLL=255 scanimage -L

Дальше действуем по обстановке
возможно, требуется проинсталлировать более свежую версию backend'а sane-hp3900

http://sourceforge.net/projects/hp3900-series/



Теперь конфигурим сетевой доступ к своему сканеру
подробности см. в man saned

Сервер сканера:
 /etc/sane.d/saned.conf
Прописывает сетки и хосты, которым разрешен доступ к скаneru

Активируем службу saned через xinetd

# grep sane /etc/services
sane-port       6566/tcp   # SANE Control Port
sane-port       6566/udp   # SANE Control Port

# cat /etc/xinetd.d/sane-port
service sane-port
{
        socket_type = stream
        port        = 6566
        wait        = no
        user        = root
        group       = root
        server      = /usr/sbin/saned
        disable     = но
}

# service xinitd restart

в firewall'e открываем IN доступ к порту sane-port



Удаленный клиент сканера

# echo net >> /etc/sane.d/dll.conf

В файл /etc/sane.d/net.conf вписываем хост-сервер сканера



http://smartmontools.sourceforge.net/badblockhowto.html



WinXP хорошо грузится только с загрузочного диска (hd0)

####### GRUB-секция для Win на 1-й партиции 3-го диска (hd3,0)
title Windows
    # "переделать" 4-й диск в как-бы 1-й
    map (hd3) (hd0)
    rootnoverify (hd3,0)
    makeactive
    chainloader +1

Мапить можно как диск целиком, так и отдельный раздел
#    map (hd1,0) (hd3,0)

Кстати,  в  SUSE  11.1  заменили  grub-install, и он перестал понимать опции
перед запуском придется редактировать /etc/grub.conf

А порядок именования-нумерации дисков задается в
/boot/groob/device.map

Номера в нем должны соответствовать тому, что о нумерации думает BIOS




клиент, подключеный по ВПН (ppp0) из локалки и получивший IP 10.1.0.11
правилами iptables

*mangle
-A FORWARD -j USERS
-A INC_TARIFF_1 -j MARK --set-xmark 0x1/0xffffffff
-A USERS -d 10.1.0.1/32 -j INC_TARIFF_1
*nat
-A POSTROUTING -s 10.1.0.11/32 -j SNAT --to-source 94.25.11.182
*filter
-A FORWARD -j ULOG --ulog-prefix "FORWARD" --ulog-cprange 48 --ulog-qthreshold 50

далее лимитирую входящий трафик клиенту:
/sbin/tc qdisc  del dev ppp0 root
/sbin/tc qdisc  add dev ppp0 root handle 1: htb
/sbin/tc class  add dev ppp0 classid 1:1 htb rate 256kbit ceil 256kbit
/sbin/tc filter add dev ppp0 protocol ip handle 1 fw classid 1:1


 From: LJ user br0ziliy

Одну локалку пускаем как обычно.
Для второй в файрволл добавляем такое правило:
iptables -t mangle -I PREROUTING -s $LAN2_NET -j MARK --set-mark 0x70

Маскарадинг для каждого ppp-интерфейса отдельно:
iptables -t nat -I POSTROUTING -o ppp1 -s $LAN2_NET -j MASQUERADE
iptables -t nat -I POSTROUTING -o ppp0 -s $LAN_NET -j MASQUERADE

Далее iproute'ом разруливаем вс? хозяйство:
ip ru add fwmark 0x70 lookup 115
ip r  add default dev ppp1 t 115

Ну, и в /etc/sysctl.conf добавить
net.ipv4.conf.default.rp_filter=0
net.ipv4.conf.all.rp_filter=0

и потом sysctl -p



	http://ubuntuforums.org/showthread.php?t=502864

This  explains  how  you  could  run  a  script  made  by  you
(say /usr/local/my_script) when you plug a specific USB device.

1. First run lsusb to identify your device. Example:
$ lsusb
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 040a:0576 Kodak Co.
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000

2. After doing this you know that
- the vendor ID of your device is 040a
- the product ID of your device is 0576

3. Now is time to create your UDEV rule:
Code:

vi /etc/udev/rules.d/85-my_rule.rules

4. And add the text
Code:

ACTION=="add", SUBSYSTEM=="usb_device", SYSFS{idVendor}=="040a", SYSFS{idProduct}=="0576", RUN+="/usr/local/my_script"

Параметр SUBSYSTEM=="usb_device" иногда нужно заменить на SUBSYSTEM=="usb" а
можно и вообще опустить. Если  SYSFS  не  установлен  и  не  используется  -
применяется ATTRS{idVendor}=="040a"


Explanation:  When  the usb_device product identified as 0576 of vendor 040a
is added, run /usr/local/my_script Note that '==' and "!=" are  comparators,
while = and += are assingments


     x x x

1.  if  you  had GROUP="dialout", the device will belong to that group. This
means that all users in the dialout group have special permissions  to  work
with the device.  Code:

ACTION=="add", SUBSYSTEM=="usb_device", SYSFS{idVendor}=="040a", SYSFS{idProduct}=="0576", GROUP="dialout"

2.  if  you had SYMLINK+="ladys_camera", a ladys_camera device will be added
to your /dev.  This could be very usefull if you use several usb devices (as
most  of us do), because their device (/dev/ttyUSB[0-9]) is set depending on
plug order.  This way /dev/ladys_camera will always be your lady's camera.

Code:

ACTION=="add", SUBSYSTEM=="usb_device", SYSFS{idVendor}=="040a", SYSFS{idProduct}=="0576", SYMLINK+="ladys_camera"

3.  Also  notice that udev rules work with all king of devices: usb, serial,
pcmcia, ...  udev rules is a simple and easy way to  configure  all  devices
(it  can  configure, load modules, run scripts, set permissions for all your
hardware).


Final notes:

A. Each line is a device. If you want to break a line add \ at the end
Code:

ACTION=="add", SUBSYSTEM=="usb_device", \
SYSFS{idVendor}=="040a", SYSFS{idProduct}=="0576", \
SYMLINK+="ladys_camera"

B.  You can add simultaneous actions in the same line (like group assignment
and symbolic link)
Code:

ACTION=="add", SUBSYSTEM=="usb_device", SYSFS{idVendor}=="040a", SYSFS{idProduct}=="0576", GROUP="dialout", SYMLINK+="my_modem"


C.  The rules file must be in /etc/udev/rules.d/. Restart udev service (sudo
/etc/init.d/udev restart) after changes.

D.  The rules filename must start with two digits, plus a dash (-), and must
end with .rules The two digits have a reason. See /etc/udev/rules.d/README




# вторая карта (или алиас на первой), которая глядит в интернет:
 ifconfig eth1:1 192.168.0.1 netmask 255.255.255.0 up
 route add default gw 192.168.0.254
# разрешение гонять трафик через себя
 sysctl -w net.ipv4.ip_forward="1"
# NATирование трафика всем страждущим из внутренней сетки (eth0)
 iptables -t nat -A POSTROUTING -o eth1:1       -j MASQUERADE
  или
 iptables -t nat -A POSTROUTING -s 10.12.1.0/24 -j MASQUERADE



Скорее всего видеокарта - Nvidia. Ставим дравер

1. Yast - Software repository - добавляем Community repository "NVidia"

2. zypper search nvidia
   zypper install x11-video-nvidiaG02
   # либо x11-video-nvidia - если видеокарточка старых моделей

3. Активируем дравер

   nvidia-xconfig  # познавательно потом запустить его с --help и -A
   CTRL+ALT+BackSpace

По  умолчанию  TV  конфигурится  в  режиме  TwinView  No  (т.е. на телевизор
показывается индивидуальный X-screen (а не дубляж основного) PAL-D,  SVHS  -
при необходимости эти режимы можно подправить руками в xorg.conf или ключами
команды nvidia-xconfig, либо графическим настройщиком nvidia-settings

nvidia-xconfig --tv-standard=PAL-D --tv-out-format=SVIDEO --twinview --no-logo

Чтобы окошко показывалось на телевизор - надо отправлять его на :0.1

   xterm -display :0.1

Показывать видео - надо конечно же с помощью MPlayer. Ставим его

1. Yast - Software repository - добавляем Community repository "Packman"

2. zypper search mplayer
   zypper install MPlayer

   mplayer -display :0.1  -fs   file.avi

 При  показе  в  TV-Out  дравер  nvidia  забирает изображение в 1024x768.
Однако у меня дравер слегка резал картинку - выводя ее на  TV  расширенной
и  со  смещением,  пришлось  сдвигать  и поджимать картинку ключами.

  Для точного попадания в TV видеоокно должно иметь габарит 920x724
(обращаем внимание, что 920*3/4=690 !) и сдвиг 60x25

    mplayer -display :0.1 -stop-xscreensaver \
    -geometry +60+25 -x 920 -y 724 Sherlok_Holms.avi

  Если aspect кадра не 4/3, то кадр придется дополнительно пересчитать.
  Скажем, для фильма 704x384 получаем:

    mplayer -display :0.1 -stop-xscreensaver \
    -geometry +60+124 -x 920 -y 526 Wse_umrut_a_q_ostanus.avi

  Последним штрихом: в /etc/mplayer/mplayer.conf добавляем

stop-xscreensaver=yes # во время просмотра не запускать Screensaver

  Копируем кириллический verdana.ttf в /etc/mplayer/subfont.ttf

  Прописываем кодировку субтитров в файл ~/.mplayer/config

subcp=koi8-r          # кодировка субтитров. Или у вас cp1251 ?



hdparm -i /dev/sda

-----------------------
#include 
int fd;
struct hd_driveid id;
fd = open ("/dev/hda", O_RDONLY);
ioctl (fd, HDIO_GET_IDENTITY, &id);
close (fd);
printf ("%s\n", id.serial_no);
-----------------------


    Кодировки в смонтированном NTFS

Не видны файлы, в имени которых есть русские буквы. Лечится указанием локали в /etc/fstab: /dev/sda7 /d ntfs-3g locale=ru_RU.UTF-8,...

    Работа с двумя мониторами

(Не проверено) xorg.conf Option "UseDisplayDevice" "DFP-0" или Option "UseDisplayDevice" "CRT-0" включить: xrandr --output _output_name_ --mode 1680x1050 выключить: xrandr --output _output_name_ --off

    CIFS шары перестали обрабатывать симлинки

Отключаем unix-extensions: [global] unix extensions = No follow symlinks = Yes wide links = Yes

    Подстройка Десктопа и менюшек в KDE

kcontrol # Control Centre (AKA Persona setting) Desktop --> Behavior->MouseButton action=>Left=No Middle=WinList Right=ApplMenu Desktop --> Multiple Desctops => 4 штуки Desktop --> Panels => Size=33 Desktop --> Windows behavior => Focus Policy=FollowMouse AutoRaise=No Для запуска автостартовых приложений - создать application-пункт в каталоге ~/.kde/Autostart

    Разблокировать CTRL и CTRL+Shit Fункциональные

kcontrol # Control Centre (AKA Persona setting) Regional&Accessibility -> Keyboard Shortcuts Затереть или заменить все ключи вида C-F1, S-F1 и C-S-F1... А так же переключатель клавиатуры не должен сидеть на Ctrl+Shift, а назначен, скажем, на Alt+Shift: setxkbmap -option "grp:alt_shift_toggle,grp_led:scroll"

    Отключение у ноутбука тачпада если подключена мышка

Варианты: золотинка от шоколада, сложенная вдвое x11-input-synaptics или xserver-xorg-input-synaptics содержит syndaemon , который отключает тачпад, если юзер набирает на клавиатуре. # опция -t запрещает tapping и scrolling syndaemon -d -t -i 2.5 # возвращать тачпад чере 2.5 сек по окончании печати Или настройка через gsynaptics Или заменить в описании мышки/точпада Option "Device" "/dev/input/mice" на соответственно Option "Device" "/dev/input/mouse0" Option "Device" "/dev/input/mouse1" (можно так же применить event1 event2) и ненужный девайс просто закомментировать Или через sysclient (работает при активированном SHMConfig lsusb | egrep -i 'Mouse|03f0:2003.*Hewlett-Packard|046d:c521.*Logitech' > /dev/null && synclient TouchpadOff=1 || synclient TouchpadOff=0 Естественно, в xorg.conf должен быть описан тачпад с дравером synaptic Section "InputDevice" Driver "synaptics" Identifier "Mouse[3]" Option "Device" "/dev/input/mice" Option "Emulate3Buttons" "on" Option "Name" "Touchpad" Option "SHMConfig" "on" # Option "SHMConfig" "true" есть версии, что "true" Option "Vendor" "Synaptics" Option "ZAxisMapping" "4 5" # MaxTapTime отключает тач-клик Option "MaxTapTime" "0" # левый клик, средний клик, правый клик по прикосновениям # одного, двух и трех пальцев соответственно. Option "TapButton1" "1" Option "TapButton2" "2" Option "TapButton3" "3" EndSection Section "ServerLayout" Identifier "Layout[all]" . . . InputDevice "Mouse[1]" "CorePointer" InputDevice "Mouse[3]" "SendCoreEvents" . . . EndSection создать /etc/udev/rules.d/99-mouse.rules - в нем написать: ENV{ID_CLASS}="mouse", ATTRS{manufacturer}=="Logitech", ACTION=="add", RUN+="/usr/bin/synclient touchpadoff=1" ENV{ID_CLASS}="mouse", ATTRS{manufacturer}=="Logitech", ACTION=="remove", RUN+="/usr/bin/synclient touchpadoff=0" будет выключать/включать тачпад при втыкании/вытаскивании USB-мышки Настройки чувствительности тачпада: Option "VertScrollDelta" "100" Option "HorizScrollDelta" "100" Option "FingerLow" "25" Option "FingerHigh" "30" Option "MaxTapTime" "180" Option "MaxTapMove" "220" Option "MinSpeed" "0.09" Option "MaxSpeed" "0.18" Option "AccelFactor" "0.015"

    NAT-маршрутизатор

echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -s IP-NAT-клиента -d 0/0 -j MASQUERADE если ppp интерфейс, то не мешает добавить iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

    Завуковые настройки через alsamixer

ALSA sound http://crulman.livejournal.com/11223.html

    Как померять температуру

Температура диска (и много дополнительной info) smartctl --all /dev/sda |grep -i temp Температура системы cat /proc/acpi/thermal_zone/THM/temperature

    Как понизить скорость DVDROM

hdparm -E 8 /dev/dvd setcd -x

    CentOS. Сборка rpm ядра из оригинального src.rpm

http://www.centos.org/modules/newbb/viewtopic.php?topic_id=403 http://www.howtoforge.com/kernel_compilation_fedora Поставляемый пакет kernel-devel для сборки ядра непригоден. Надо скачать и установить src.rpm rpm -ivh kernel-*.src.rpm cd /usr/src/redhat/SPECS/ vi kernel-2.6.spec можно поменять например версию ядра, отключить часть патчей (попарно) rpmbuild -bp --target=i686 kernel-2.6.spec после этого обязательно отредактировать Kernel Identification String cd ../BUILD/kernel-2.6.18/linux-2.6.18.i686 vi Makefile EXTRAVERSION = -17.0-custom далее make xconfig Загрузить "Alternate Configuration File" и выбрать .config make make install # Хотя initrd и инсталляция модулей теперь делается автоматически, # лучше повторить ее ручками. Ибо... make modules_install mkinitrd /boot/initrd-2.6.18-17.0-custom.img 2.6.18-17.0-custom

    RHEL3. Сборка rpm ядра из оригинального src.rpm

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 make rpm cd ../RPMS/i386 rpm -ivh kernel-2.6.18custom2.6.18.2-1.i386.rpm mkinitrd /boot/initrd-2.6.18-custom-2.6.18.2.img 2.6.18-custom-2.6.18.2 vi /boot/grub/menu.lst

    RedHat 8-9, FC, Advanced server

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

    RedHat 5.1

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

    Как посмотреть Ь-ресурсы приложения

appres XTerm

    Как бороться за понижение температуры процессора

cpufreq-set -g powersave

    Переустановить дефолтные установки xterm

В файл .Xdefaults XTerm*foreground: grey XTerm*background: black XTerm*scrollBar: true XTerm*saveLines: 1000 XTerm*font: -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1 XTerm*Font2: -cronyx-fixed-medium-r-normal--10-*-*-*-*-*-koi8-r XTerm*Font3: -cronyx-fixed-medium-r-normal--13-*-*-*-*-*-koi8-r XTerm*Font4: -cronyx-fixed-medium-r-normal--15-*-*-*-*-*-koi8-r XTerm*Font5: -cronyx-fixed-medium-r-normal--20-*-*-*-*-*-koi8-r XTerm*Font6: -cronyx-fixed-medium-r-normal--24-*-*-*-*-*-koi8-r

Популярность: 63, Last-modified: Sat, 11 Feb 2012 17:05:53 GMT