Что поправить в свеже-проинсталлированном Linux

Что поправить в свеже-проинсталлированном Linux

 
  • Что поправить в свеже-проинсталлированном Linux
  • Custom context menu for files and folders for konquerror KDE4
  • cryptsetup - шифрованное блочное устройство
  • encfs - шифрованная пользовательская fs
  • Как померить максимальную скорость сети до удаленного сервера
  • Как обеспечить туннелирование X11 при ssh-логине
  • Переключатель кириллицы для редактора VIM/VI
  • Подсчет трафика на сетевом интерфейсе
  • Подсчет трафика клиентов на linux-маршрутизаторе
  • Фиксация history у незавершенного bash
  • Сброс пароля root в mysql
  • OCR pdf-fajlow
  • Как прописать LABEL на партицию HD или флешки
  • Проблемы со звуком в skype на openSUSE 13.2
  • Как оживить угробленный GRUB
  • udev USB security
  • Как передернуть питание на USB-устройстве
  • Минимизация вреда Gnome 3
  • Upgrade openSUSE to 12.2 version
  • A way to get the output of a running process
  • Rescan a SCSI bus without Rebooting
  • Падает LibreOffice 3.5.4
  • Отработать локальный скрипт Expect'ом удаленно через ssh
  • Как пропустить ALT-клавиши в RDP-окно (и все остальные)
  • Как автоматически включать NAT при активации WLAN-интерфейса
  • Управления яркостью в HP elitebook 8740w
  • Как проверить скорость сети
  • Как перевернуть экран (не работает?)
  • Как увеличить размер файловой системы
  • Если диск стучит головками
  • Конвертация EXT3 в EXT4
  • Применение netcat
  • Понизить скорость чтения с CDROM
  • Распечатать информацию из BIOS
  • Слить по горизонтали два столбика
  • Временная смена MAC-адреса в Linux
  • Как отключить beep в xterm
  • Как отключить автозагрузку апплетов гномовской сессии
  • Как отключить dma при загрузке ядра
  • Чтобы экран терминала не гас
  • Чтобы mandatory locking работал
  • Оптимизация системы
  • Звук, камера, микрофон
  • Снижение нагрузки на SSD диск
  • Подцепляем сканер HP Scanjet G3110
  • Как бороться с бадблоками на диске
  • Борьба с многодисковым GRUB
  • Ограничение скорости интернет-соединения
  • Условный роутинг отдельной подсетки на другой гейтвей
  • Howto run a script when a USB device is pluged in
  • Промаршрутизировать своих wifi соседей NAT'ом в интернет
  • Показ видео на TV-out
  • Как узнать серийный номер HDD
  • Кодировки в смонтированном NTFS
  • Работа с двумя мониторами
  • CIFS шары перестали обрабатывать симлинки
  • Подстройка Десктопа и менюшек в KDE
  • Разблокировать CTRL и CTRL+Shit Fункциональные
  • Отключение у ноутбука тачпада если подключена мышка
  • NAT-маршрутизатор
  • Завуковые настройки через alsamixer
  • Как померять температуру
  • Как понизить скорость DVDROM
  • CentOS. Сборка rpm ядра из оригинального src.rpm
  • RHEL3. Сборка rpm ядра из оригинального src.rpm
  • RedHat 8-9, FC, Advanced server
  • RedHat 5.1
  • RedHat 5.0
  • Несовместимый cpio
  • RedHat 4.2, 5.0
  • fstab: Пропал диск C:, где дискетки A:, B:
  • startx: Экономим один виртуальный терминал и немного памяти
  • lpd: удаленная печать - permition denied
  • RedHat: отсутствует pcnfsd
  • profile: Проблемы с кирилицей из-за кривого окружения
  • /etc/inittab: RedHat стирает экран перед выводом Login:
  • profile: Как расправиться с неудобным приглашением bash
  • /etc/skel: Лажовое пользовательское окружение
  • Команда man по завершении просмотра стирает экран с мануалом
  • crontab: масса излишних работ
  • Конфигурация XDM
  • Разное. Нерешенные проблемы

    * SECURITY *

  • Несколько рекомендаций по безопасности
  • Конфигурирование tcp-wrapper'а
  • А какой версии sendmail на вашей машине?
  • httpd: дырявые cgi-скрипты
  • Securные параметры ядра
  • Имеющий доступ к консоли Linux может стать суперюзером
  • kerneld and ifconfig загрузят любой kernel-модуль

    * ПРОЧЕЕ *

  • /etc/rc.d : Лишние команды при начальной загрузке
  • /etc/sysconfig/network-scripts/ : Некорректные установки статического роутинга
  • /etc/sysconfig/network-scripts/ : Некорректные скрипты
  • Расположение ядра /vmlinuz или /boot/vmlinuz ?
  • Настраиваемые параметры ядра
  • Update RedHat 3.0.3 --> 4.0
  • Update RedHat 4.0 --> 4.1
  • Продолжение следует: xdm, uucp, startx-win95...
  • Если не работает сетевая карта
  • Возможные поправки в TCP-конфиге
  • Изготовление emergensy boot floppy
  • Как посмотреть Ь-ресурсы приложения
  • Как бороться за понижение температуры процессора
  • Переустановить дефолтные установки xterm

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

    Custom context menu for files and folders for konquerror KDE4


          а может быть и не только в нем Placing .desktop files in: KDE 3 ~/.kde/share/apps/konqueror/servicemenus/ KDE 4 ~/.kde/share/kde4/services/ServiceMenus/ KDE 5 ~/.local/share/kservices5/ServiceMenus/ ============ например Подменю CreateScript.desktop ================ [Desktop Entry] ServiceTypes=inode/directory Actions=CreateBashScript;CreatePythonScript X-KDE-Submenu=Create Script
    [Desktop Action CreateBashScript] Name=Create a bash script Icon=kfm Exec=/usr/local/bin/writeBashScript [Desktop Action CreatePythonScript] Name=Create a Python script Icon=kfm Exec=/usr/local/bin/writePythonScript


    ============ New File ABC =========== /usr/share/kde4/templates/ /usr/share/kde4/templates/.source .kde/share/templates/.source/new.abc .kde/share/templates/abc.desktop ============ New File URL =========== [Desktop Entry] Name=Custom Entry Comment=New custom entry: Type=Link URL=.source/new.abc Icon=application-vnd.oasis.opendocument.text ============ например chmodX.desktop ================ [Desktop Entry] Encoding=UTF-8 ServiceTypes=application/x-shellscript # ServiceTypes=all/allfiles # ExcludeServiceTypes=applicatin/x-zip Actions=MakeExecutable [Desktop Action MakeExecutable] Name=Make file executable Name[ru]=Izmenenie prav file executable Exec=chmod +x %f Icon=kfm ===================================================== %f A single filename %F Multiple selected files %u A single URL. %U Multiple URLs. %d The single directory that contains the selected file represented by %f. %D Multiple directoryes for every selected file in that directory (%F). %n A filename without a path. %N Multiple filenames without paths. %k A file represented as a URI.
    См. также http://archive.oreilly.com/pub/h/3156 https://kubuntu.ru/node/3610

    cryptsetup - шифрованное блочное устройство


    # подготовить раздел cryptsetup --verify-passphrase luksFormat /dev/sda10
    # при открытии автоматически создается спец-файл в dev-mapper cryptsetup luksOpen /dev/sda10 sechome cryptsetup luksClose sechome
    # расширить (в случае расширения базовой партиции cryptsetup resize [ --size 12345612 ] /dev/sda10 # размер в секторах
    # добавить/удалить ключ шифрования cryptsetup luksAddKey /dev/sda10 cryptsetup luksRemoveКey /dev/sda10
    mkfs -t esxt4 /dev/mapper/sechome
    /etc/crypttab # автоактивация раздела в /dev/mapper # ??? не проверил sechome /dev/sda10 none sechome2 /dev/sda11 /etc/secfilewithpassword
    /etc/fstab /dev/mapper/sechome /srv/secure_home ext4 defaults 0 0

    encfs - шифрованная пользовательская fs


    zypper install encfs # инсталлируем пакет encfs encfs ~/.enc-db ~/crypt # создать шифруемую директорию с бэкэндом в .enc-db
          -- > y, y, p, password, password
    Подключать/отключать
          encfs ~/.enc-db ~/crypt
          fuser -u ~/crypt
    Или через /etc/fstab:
          /home/petr/.enc-db /home/petr/crypt fuse.encfs noauto,user,uid=petr 0 0
    Подключать/отключать:
          mount ~/crypt
          sudo umount ~/crypt

    Как померить максимальную скорость сети до удаленного сервера


    ssh server2 "nc -l 1234 > /dev/null" & sleep 2 ; time dd if=/dev/zero bs=1024k count=1000 | nc server2 1234

    Как обеспечить туннелирование X11 при ssh-логине

    server: /etc/ssh/sshd_config X11Forwarding yes
    client: /etc/ssh/ssh_config Host *
          ForwardX11 yes
    А если это не помогает, и в syslog'е "Failed to allocate internet-domain X11" Значит sshd запутался в IPv6, и sshd надо запускать с ключом -4
    server: /etc/sysconfig/sshd SSHD_OPTS="-4"
    После логина автоматически будет взводится переменная DISPLAY
    ssh udalennyj.server
    echo $DISPLAY localhost:10.0
    Чтобы X-приложения запускались после SU - смены пользователя в файле /etc/pam.d/su и в файле /etc/pam.d/su-l должна присутствовать строка: session optional pam_xauth.so
    подробности смотреть в:
    man xauth

    Переключатель кириллицы для редактора VIM/VI


    https://habrahabr.ru/post/98393/#comment_3031341
    CTRL+^ - для переключения, таблица раскладки в /usr/share/vim/vim73/keymap/russian-jcukenwin.vim
    В файле ~/.vimrc set keymap=russian-jcukenwin # таблица раскладки set iminsert=0 # дефолтная раскладка для ввода set imsearch=0 # дефолтная раскладка для поиска highlight lCursor guifg=NONE guibg=Cyan ##################################################### Вариант с наворотами (смотреть в HTML-Source этого файла): cmap # переключатель мапится на CTRL+F imap X:call MyKeyMapHighlight()a nmap a:call MyKeyMapHighlight() vmap a:call MyKeyMapHighlight()gv # индикация раскладки - цветом статусной строки function MyKeyMapHighlight() if &iminsert == 0 hi StatusLine ctermfg=DarkBlue guifg=DarkBlue
          else
          hi StatusLine ctermfg=DarkRed guifg=DarkRed
          endif endfunction #####################################################

    Подсчет трафика на сетевом интерфейсе


    cat /proc/net/dev cat /proc/net/dev | grep ppp | sed 's/ */ /g' | cut -d' ' -f3,11
    # отвязанная статистика интерфейсов ifstat # посмотреть текущую скорость ifstat -rn # занулить счетчики # не тро

    Подсчет трафика клиентов на linux-маршрутизаторе


    # включаем на гейте форвардинг трафика и NAT echo 1 > /proc/sys/net/ipv4/ip_forward /etc/sysctl.conf:net.ipv4.ip_forward=1 iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
    # пропускаем нескольких локальных клиентов из eth0/* в интернет ppp0 for i in 13 14 15 19 21 22 ; do iptables -A FORWARD -s 192.168.1.$i -o ppp0 -j ACCEPT iptables -A FORWARD -d 192.168.1.$i -i ppp0 -j ACCEPT done
    # сам роутер пропускаем тоже iptables -A INPUT -i eth0 -j ACCEPT iptables -A OUTPUT -o eth0 -j ACCEPT
    # остальных не пускаем iptables -A FORWARD -o ppp0 -j DROP
    while sleep 60 ; do # А дальше в цикле
          iptables -L -vnx # Посмотреть трафик на всех заданных правилах
          iptables -Z # Обнулить счетчики done

    Фиксация history у незавершенного bash


    Команды введенные в bash показываются командой history, но в файле ~/.bash_history они сохраняются только по завершении bash. Чтоб получить их:
    Узнать PID bash, например 11517, и с помощью gdb сохранить history в файл
    echo $$ gdb
          attach 11517
          call write_history("/tmp/bash.11517.log")
          quit

    Сброс пароля root в mysql


    /etc/rc.d/init.d/mysqld stop # останавливаем mysqld ps awx | grep mysqld # Контроль, киляем если еще жив
    mysqld_safe --skip-grant-tables # Запускаем без проверки привилегий
    mysql -u root mysql > update user Password=PASSWORD('тут пароль') where User='root'; > flush privileges;
    mysqld restart

    OCR pdf-fajlow


    sudo apt-get install ghostscript tesseract-ocr tesseract-ocr-eng Scanned PDF convert to tex gs -dNOPAUSE -sDEVICE=tiffg4 -r600x600 -dBATCH -sPAPERSIZE=a4 \
          -sOutputFile=OUTPUT.tif PDFNAME.pdf
    tesseract OUTPUT.tif TEXTNAME -l eng # or the language you prefer

    Как прописать LABEL на партицию HD или флешки


          lsblk # список партиций
          blkid /dev/sdb1 # посмотреть информацию о партиции

          apt-get install mtools ntfsprogs e2fsprogs jfsutils reiserfsprogs xfsprogs
          zypper install mtools ntfsprogs e2fsprogs jfsutils reiserfsprogs xfsprogs

          mlabel -i /dev/sdb1 -s :: # прочитать LABEL vfat,fat16,fat32
          mlabel -i /dev/sdb1 -s ::UAZ # записать LABEL vfat,fat16,fat32
          ntfslabel /dev/sdb1 # NTFS
          ntfslabel /dev/sdb1 UAZ
          e2label /dev/sdb1 # ext2, ext3, ext4
          e2label /dev/sdb1 UAZ
          jfs_tune /dev/sdb1 # jfs
          jfs_tune -L UAZ /dev/sdb1
          xfs_admin -l /dev/sdb1
          xfs_admin -L UAZ /dev/sdb1

    Проблемы со звуком в skype на openSUSE 13.2



          Временное решение, запускать skype так: PULSE_LATENCY_MSEC=60 skype

    Как оживить угробленный GRUB


    Скопировать все нужные файлы в /boot и /boot/grub Определить партицию /boot, груб-нумерация меньше на единицу cat /boot/grub/device.map (hd0) /dev/sda (hd1) /dev/sdb
    /boot /dev/sda6 -- > (hd0,5) /boot /dev/sdb1 -- > (hd1,0)
    /usr/sbin/grub # инсталляция загрузчика в MBR
    root (hd0,5) setup (hd0) quit

    udev USB security


    Linux из коробки подключает USB-устройства сразу. Это может быть использовано для rogue HIDs.
    Готовый вредный совет для настройки udevs, чтоб он больше так не делал
    Но пользоваться им бездумно не следует, потому что мышки и клавиатуры нынче все больше USB-шные
    The BadUSB attack bases on the fact that computers allow and enable HID devices on all usb ports. Faked network adapters are no real danger. My answer tries do describe how to use udev to temporarily disable the addition of new HID devices. I'm no udev expert, but I've tested my approach, and it works for me.
    For preparation, create a file /etc/udev/rules.d/10-usbblock.rules with the content:
    #ACTION=="add", ATTR{bInterfaceClass}=="03" RUN+="/bin/sh -c 'echo 0 >/sys$DEVPATH/../authorized'"
    If you want to block other classes too, then look up the class number, and copy the line, and change the class.
    Now you can block all new HID devices using the command
    sed -i 's/#//' /etc/udev/rules.d/10-usbblock.rules; udevadm control --reload-rules
    and unblock with:
    sed -i 's/^/#/' /etc/udev/rules.d/10-usbblock.rules; udevadm control --reload-rules
    Before you shut down, always unblock, as the setting is persistent, and your "good" HID devices would be rejected on reboot.
    I don't know whether you can edit the temporary rules directory, but if changes there affect the behaviour, you should edit that instead, as then you don't need to unblock before shutdown.
    (from https://security.stackexchange.com/questions/64524/how-to-prevent-badusb-attacks-on-linux-desktop/64552#64552 )
    Block/unblock можно вставить в стартовые скрипты

    Как передернуть питание на USB-устройстве


    Помогает, если чипсет USB-контроллера поддерживает управление питанием
    echo "suspend" > /sys/bus/usb/devices/usb2/power/level echo "auto" > /sys/bus/usb/devices/usb2/power/level

    Минимизация вреда Gnome 3


    install gnome-session-fallback gnome-shell remove unity
    Выбрать тип десктопа gnome classic.
    Это сделает фальшивый gnome-2, он хуже настоящего, чтобы пользователь поверил, что он gnome 3 не хуже.

    Upgrade openSUSE to 12.2 version


    zypper modifyrepo --all --disable
    zypper addrepo --name "openSUSE-12.2-OSS" http://download.opensuse.org/distribution/12.2/repo/oss/ repo-12.2-oss zypper addrepo --name "openSUSE-12.2-Non-Oss" http://download.opensuse.org/distribution/12.2/repo/non-oss/ repo-12.2-non-oss zypper addrepo --refresh --name "openSUSE-12.2 Update-Oss" http://download.opensuse.org/update/12.2/ repo-12.2-update zypper addrepo --refresh --name "openSUSE-12.2-Update-Non-Oss" http://download.opensuse.org/update/12.2-non-oss/ repo-12.2-non-oss-update
    zypper refresh zypper dup
    # Верифицируем все установленные пакеты rpm -qa | sed -e 's/\.[^.]*$//' | sort | while read p ; do rpm --verify $p && echo -n + || zypper -n install -f $p ; done

    A way to get the output of a running process


    ps -axf | grep processname
    touch log gdb -p 22499 (gdb) p close(1) # Close the stdout of the running process (gdb) p open("/home/moshkow/log", 1) # Open the log-file with O_WRITE (gdb) c ^C quit
    $ gdb -p {pid} # или в одном флаконе (gdb) p open( "logfilename" , 0101, 0777) $n = {log file descriptor} (gdb) p dup2( {log file descriptor} , 1) (gdb) c

    Rescan a SCSI bus without Rebooting


    ls /sys/class/scsi_host # смотрим какие есть хост-адаптеры
          host0 host1 host2 host3
    cat /sys/class/scsi_host/host*/proc_name # и какого они типа sata_nv
    echo "- - -" > /sys/class/scsi_host/host2/scan # сканируем
    dmesg # смотрим fdisk -l

    Падает LibreOffice 3.5.4


    При запуске любые ЛибреОффисовские программы падали с кодом terminate called after throwing an instance of 'com::sun::star::uno::RuntimeException'
    Помогло sudo rm -rf .config/libreoffice
          (Интересно, почему у многих файлов в этом каталоге были выставл;ены владельцы root:root?)

    Отработать локальный скрипт Expect'ом удаленно через ssh


    Скрипт читается локально, и выполняется построчно
    #!/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

    Как пропустить ALT-клавиши в RDP-окно (и все остальные)


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

    Как автоматически включать NAT при активации WLAN-интерфейса


    /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

    Управления яркостью в HP elitebook 8740w

    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 # сканировать правый указательный

    Как проверить скорость сети

    На одной машине запускаем сервер с максимальными настройками 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

    Конвертация EXT3 в EXT4


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

    Применение netcat


    Слушать порт, коннекты сливать в файл:
    nc -l -p 3333 > file.txt
    Толкнуть данные в порт
    nc 192.168.1.1 3333 < file.txt

    Понизить скорость чтения с CDROM


    eject -x 2 /dev/cdrom

    Распечатать информацию из BIOS


    dmidecode

    Слить по горизонтали два столбика


    paste -d " " stolbi1.txt stolbik2.txt

    Временная смена MAC-адреса в Linux


    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

    Как отключить beep в xterm

    xset b off xset b on

          иногда помогает
    setterm -bfreq 10

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

    Как отключить автозагрузку апплетов гномовской сессии


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

    Как отключить dma при загрузке ядра


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

    Чтобы экран терминала не гас


    setterm -blank 0 -powerdown 0 -powersave off

    Чтобы mandatory locking работал


    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 диск


    На SSD-диске файловую систему лучше делать нежурналируемую - напр. ext2
    В опциях монтажа в /etc/fstab добавляем noatime /var/log монтируем на TMPFS
    tmpfs /var/log tmpfs size=10M 0 0

    Подцепляем сканер HP Scanjet G3110


    Ищем свой сканер 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

    Борьба с многодисковым GRUB


    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

    Howto run a script when a USB device is pluged in


    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

    Промаршрутизировать своих wifi соседей NAT'ом в интернет


    # вторая карта (или алиас на первой), которая глядит в интернет:
          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

    Показ видео на TV-out


    Скорее всего видеокарта - 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 ?

    Как узнать серийный номер HDD


    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


    Home | UK Shop Center |Contact | Buy Domain | Directory | Web Hosting | Resell Domains


    Copyleft 2005 ruslib.us