Советы по администрированию
Материал из База знаний 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 секунд данные и говорит какая производительность сети
Браузеры
- Для обеспечения работы chromium-browser в контейнере OpenVZ нужно выполнить при остановленном контейнере
vzctl set VEID --save --capability sys_admin:on
(см. багу 22703). - Для chromium решения для ссылок с кириллицей пока нет. Вот заявка для Chromium.
- Чтобы ссылки с кириллицей не отображались и копировались в firefox так: http://ru.wikipedia.org/wiki/%D0%A3%D1%82%D0%B8%D0%BD%D0%B0%D1%8F_%D1%82%D0%B8%D0%BF%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F, открываем страничку about:config и ставим network.standard-url.escape-utf8 в false. Получаем в результате более понятную ссылку http://ru.wikipedia.org/wiki/Утиная_типизация. Начиная с версии firefox 53 за данное поведение отвечает параметр :
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
- Остановка зависшего контейнера OpenVZ.
- Настройка bridge в OpenVZ (vznetaddbr и # vzctl set 501 --netif_add breth0,,,,breth0 --save)
Загрузка
- 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 освоить.