Советы по администрированию

Материал из База знаний Etersoft
Перейти к навигацииПерейти к поиску

Советы по администрированию

Общие

  • Для форматирования однострочного XML-файла в построчный с отступами по тегам: xmllint --format <file>
  • Посмотреть дефолтные дефайны gcc: gcc -dM -E - < /dev/null
  • Пакет c-interpreter: C -e 'printf("Hello\n");'
  • Склеивание PDF: gs -q -sPAPERSIZE=a4 -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=output.pdf file1.pdf file2.pdf file3.pdf [...] lastfile.pdf
  • Добавление принтера CUPS на Windows: Указываем URL http://printer.host/printers/NAME. выбираем драйвер MS Publisher Imagesetter (версия 6.1.7600.16835) из раздела Generic.
  • Копирование большого файла на другую машину с докачкой и ограничением скорости в 50Кб: rsync -avP --progress файл server:/каталог --bwlimit=50
  • Узнать TTL для домена на кэширующем DNS-сервере: dig +noauthority +noquestion +noadditional +nostats @8.8.8.8 etersoft.ru SOA (в выводе будет $TTL IN ... после SOA — данные SOA)
  • Проверка сертификата SSL и просмотр цепочки: openssl s_client -connect skobkin.ru:443
  • Проверка скорости передачи: epmi iperf на двух машинах; iperf -s на одной и iperf -c other-host на другой. Передаёт 10 секунд данные и говорит какая производительность сети

Браузеры

browser.urlbar.decodeURLsOnCopy = true

Хостинг

  • Команда mysqlcheck -u root -p -r -A выполняет проверку на запущенной базе. Скрипт на eterhost.ru лежит в /root/bin/check_mysql.sh
  • Запуск mysql без проверки паролей: /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --skip-grant-tables --skip-networking
  • В ALT Linux используется chroot /var/lib/mysql, поэтому запускаем так: /usr/sbin/mysqld --basedir=/usr --datadir=/db --user=mysql --pid-file=mysqld.pid --skip-external-locking --skip-grant-tables --skip-networking
  • Установка полных прав и пароля для пользователя в MySQL: GRANT ALL PRIVILEGES ON *.* TO 'bob'@'%.loc.gov' IDENTIFIED BY 'newpass' WITH GRANT OPTION; FLUSH PRIVILEGES;
  • Напрямую в таблицу: UPDATE mysql.user SET Password=PASSWORD('пароль') WHERE User='root';
  • Для полного перенаправления через Apache пишем в .htaccess: Redirect permanent / http://new.server.ru. Но лучше через nginx.
  • Установить пароль для главного пользователя MediaWiki: php maintenance/changePassword.php --user=WikiSysop --password=newpassword
  • Включение статистики apache: <Location /apache-stat> SetHandler server-status </Location>, и включить через a2enmod модуль status
  • Изменение ограничения на размер загружаемых файлов в связке nginx+apache+php: Для ограничения в 25Мб установить в php.ini upload_max_filesize=25M, post_max_size=25M, также memory_limit должен быть больше 25M, в nginx.conf дописать client_max_body_size 25m;
  • Для установки ограничения на размер вложения в roundcube настройка меняется в /usr/share/roundcube/.htaccess.

Администрирование

OpenVZ

Загрузка

  • fastboot в параметрах ядра — загрузка с пропуском проверки дисков, файл /forcefsck в корне - принудительная проверка после перезагрузки
  • Выключение selinux: setenforce 0. Навсегда: в /etc/selinux/*
  • Использование SysRq через echo N > /proc/sysrq-trigger.
  • Восстановление загрузчика GRUB: http://www.whoopis.com/howtos/howto_restore_mbr_grub.php
  • Создание конфига для grub2: grub-mkconfig -o /boot/grub/grub.cfg
  • Настройка принудительной перезагрузки: http://portal.itauth.com/2007/10/29/linux-howto-emergency-reboot-remote-machine


Файловые системы и диски

  • Дефрагментация XFS. Посмотреть состояние: # xfs_db -c frag -r /dev/sda1 . Выполнить дефрагментацию: xfs_fsr /dev/sda1
  • Преобразование образа диска в образ для VirtualBox: VBoxManage converfromraw <input_file> <output_file> --format VDI
  • Вручную запустить LVM: # modprobe device-mapper ; vgchange -a y /dev/lvm0
  • Восстановление ext2/ext3/ext4 с повреждённым Super block. Смотрим, где находятся копии суперблоков: mke2fs -n /dev/xxx. Запускаем исправление: fsck.ext4 -b super_block /dev/xxx
  • Включение контроля целостности RAID областями (ускоряет восстановление): mdadm --grow --bitmap=internal --bitmap-chunk=131072 /dev/md0. См. http://romanrm.ru/mdadm-raid
  • Создание нового диска для RAID 1: Создаём дамп таблицы разделов # sfdisk -d /dev/sda > /tmp/p.dump ; На на новом диске: # sfdisk /dev/sdc < /tmp/p.dump

Добавляем новые разделы командами mdadm --add /dev/md0 /dev/sda1. Например, eterbug #9172.

  • Всё про смарт
  • Расширение раздела на диске: ptmax (пакет собран для ALT Linux).
  • Удаление TYPE linux_raid_member (при выводе blkid, при монтировании через mount): mdadm --zero-superblock [--force] /dev/sd?
  • HDD sector remap (см. mhdd под DOS). Под Linux не нашёл.
  • partclone для копирования разделов (только занятые блоки)

systemd

  • исправление service-файлов: systemctl edit nginx
  • включение логов в syslog при systemd: в /etc/systemd/journald.conf ForwardToSyslog=yes и serv systemd-journald restart
  • отключение завершения процессов пользователя (например, screen) при разлогинивании: в файле /etc/systemd/logind.conf установить KillUserProcesses=no или добавить нужного пользователя в KillExcludeUsers (или поставить пакет systemd-settings-disable-kill-user-processes); перезапустить serv systemd-logind restart


SSH

  • Для установления постоянного ssh-соединения для проброса портов используем autossh
  • Включение хэширования посещённых узлов в openssh: HashKnownHosts
  • Настройка VPN поверх ssh
  • Чтобы соединение ssh не замерзало: в конфиге /etc/openssh/sshd_config вписать KeepAlive yes ClientAliveInterval 60 (почему-то есть ещё TCPKeepAlive)
  • ---Упрощённое шифрование (для локальной сети): ssh -c arcfour (rsync -e "ssh -c arcfour" )---

Пакеты

  • Downgrade пакетов, но вообще-то просто epm downgrade
  • Отладка apt: # apt-get -o Debug::pkgProblemResolver=1
  • Как обновить filesystem при /home на NFS: mount /var/empty/ /home -o bind ; epmi filesystem ; umount /home
  • Ограничение устанавливаемых локалей: Вписать в /etc/rpm/macros строку с перечнем локалей: %_install_langs C:en_US:ru_RU. После этого удалить /usr/lib/locale и epm reinstall glibc-locales. Работает там, где не сломано.

Прочее

  • Проброс порта при обращении на localhost (iptables localhost redirect): работать не будет. Увы.
  • Проверка ntp: # ntpq -c peers ; ntptrace 192.168.0.1
  • Перезапуск очереди postfix, чтобы сообщения в очереди начали обрабатываться заново: postsuper -r ALL, и пр.
  • Выключение --nolisten tcp для X-сервера: см. Как отключить nolisten tcp для X-сервера
  • Перечитывание PCI-шины (PCI-E) (после добавления карты): echo "1" > /sys/bus/pci/rescan.
  • Для выключения PC Speaker (динамика): rmmod pcspkr и blacklist pcspkr в /etc/modprobe.d
  • Настройка в thunderbird внешних приложений для открытия ссылок
  • Разрешение ftp-логина в домашний каталог для vsftpd: allow_writeable_chroot=YES
  • Добавление строки в лог ядра, чтобы понять где мы: echo "SOME" >/dev/ksmg. А можно вообще dmeg -T освоить.

Оборудование


Советы по администрированию/устаревшие