В этой статье описывается настройка RAID1-массива на уже установленном и запущенном Debian etch/lenny с конфигурацией загрузчика GRUB для корректной загрузки системы даже в том случае, если один из винчестеров поврежден.
Различные советы для *nix систем, найденные на просторах сети, либо выстраданые мною лично.
среда, 15 сентября 2010 г.
sendEmail - отправка почты с консоли
Небольшая утилита для отправки почты через внешний smtp.
Поможет, если вам лень поднимать собственный MTA.
Поможет, если вам лень поднимать собственный MTA.
lighttpd и аутентификация с помощью htpasswd
lighttpd не поддерживает файлы .htaccess, так что вам нужно указывать все настройки в файле lighttpd.conf, или в файлах, к нему подключенным. Он понимает файлы пользователей Apache для простой и общей аутентификации, но поддержка групповых файлов ещё не реализована.
Установка и настройка lighttpd+lightsquid
lightsquid - анализатор логов squid с подбором статистики пользования прокси-сервером, альтернатива SARG.
Так как ставить на шлюз тяжеловесный apache2 только ради статистики мне показалось неправильным, поднимать будем lighttpd.
Так как ставить на шлюз тяжеловесный apache2 только ради статистики мне показалось неправильным, поднимать будем lighttpd.
Установка и настройка OpenVPN
VPN – Virtual Private Network, Виртуальная Частная Сеть – технология, позволяющая соединять между собой локальные сети и отдельные компьютеры, находящиеся на расстоянии тысяч километров друг от друга; подключаться к локальной сети через Интернет, используя шифрованный канал связи, организовывать безопасный туннель для передачи важных данных... Возможности применения VPN безграничны! Вам необходимо соединить офисы в разных концах страны единой сетью, не прокладывая километры кабелей? Вы хотите подключаться к домашней локальной сети из Интернет-кафе? Требуется передать важные данные на большое расстояние без риска утечки информации? Может быть, большинство данных, которые вы передаете через Интернет, составляют тайну, и их необходимо обезопасить? Если вы хотя бы на один вопрос ответили утвердительно, VPN – это именно то, что вам нужно!
Настройка OpenSSH с авторизацией по паре ключей
Под обычным пользователем:
$ mkdir ~/.sshМы сгенерируем нашу пару ключей, публичный и секретный ключи.
$ chmod 700 ~/.ssh
$ cd ~/.ssh
rsnapshot - ошибки в debian lenny
rsnapshot в логах пишет что-то типа "... WARNING: Could not lchown() symlink ..."
Это происходит, потому что перл версии 5.10.x не может получить доступ к системному вызову lchown()
Решение проблемы:
Это происходит, потому что перл версии 5.10.x не может получить доступ к системному вызову lchown()
Решение проблемы:
# sudo cpanДолжен быть установлен пакет build-essential
[...]
> install Lchown
вторник, 14 сентября 2010 г.
Установка и настройка ntp-сервера
NTP-сервер нам нужен для синхронизации времени на компьютерах и серверах локальной сети.
Установка и настройка NFS
Вводные данные
- NFS Server: server.example.com, IP address: 192.168.0.100
- NFS Client: client.example.com, IP address: 192.168.0.101
NFS и проброс портов
Для открытия портов необходимо:
- Заставить NFS использовать статичные порты
- Открыть соответствующие порты в файрволе
MySQL и разрешение имён
Была проблема - mysql перед отдачей данных очень надолго задумывается (до нескольких минут).
Проблема наблюдается при подключении к MySQL-серверу более одного человека при отсутствии в локальной сети DNS-сервера. Решение заключается в запрещении MySQL резолвить имена.
Необходимо в /etc/mysql/my.cnf в секцию [mysqld] прописать строку:
Проблема наблюдается при подключении к MySQL-серверу более одного человека при отсутствии в локальной сети DNS-сервера. Решение заключается в запрещении MySQL резолвить имена.
Необходимо в /etc/mysql/my.cnf в секцию [mysqld] прописать строку:
skip_name_resolve
Основы создания и управления LVM
Менеджер логических томов (LVM – англ. Logical Volume Manager) — предоставляет собой дополнительный уровень абстракции между физическими/логическими дисками (привычными разделами, с которыми работает fdisk и аналогичные программы) и файловой системой. Это достигается путём разбивки изначальных разделов на небольшие блоки (экстенты, обычно 4—32 МБайт) и объединения их в единый виртуальный том, точнее группу томов (volume group), которая далее разбивается на логические тома (logical volume). Для файловой системы логический том представлен как обычное блочное устройство, хотя отдельные экстенты тома могут находиться на разных физических устройствах (и даже сам экстент может быть распределён подобно RAID). LVM увеличивает гибкость файловой системы, однако, являясь просто промежуточным слоем, не отменяет ограничения и использование других слоёв и усложняет работу. То есть, по-прежнему нужно создавать и изменять разделы, форматировать их.
Отключение IPv6 в Debian Lenny
Есть несколько способов отключить поддержку IPv6 в Debian Lenny:
modprobe: WARNING: not loading blacklisted module ipv6
Ничего страшного в этом нет.
P.S. Сейчас использую третий способ, т.к. при использовании второго логи становятся трудно читаемыми.
- Пересобрать ядро, отключив поддержку IPv6. Метод не слишком простой, поэтому можно воспользоваться другим решением.
- Добавить строку "blacklist ipv6" в файл /etc/modprobe.d/blacklist.
- Отредактировать файл /etc/modprobe.d/aliases, закомментировать строку "alias net-pf-16-proto-13 ip6_queue" и добавить две строки:
alias net-pf-10 off
alias ipv6 off
modprobe: WARNING: not loading blacklisted module ipv6
Ничего страшного в этом нет.
P.S. Сейчас использую третий способ, т.к. при использовании второго логи становятся трудно читаемыми.
Принудительный запуск fsck при следующей перезагрузке
В данной заметке я покажу как сделать чтобы ваша Linux система выполнила проверку раздела утилитой fsck во время следующей перезагрузки. По умолчанию это происходит автоматически, в зависимости от конфигурации файловой системы: либо один раз в определенное число дней, либо после определенного количества монтирования файловой системы.
Поиск файлов определённого пользователя с помощью find
Находит все файлы/каталоги пользователя в данном месте:
find <ГДЕ_ИСКАТЬ> -user <ИМЯ_ПОЛЬЗОВАТЕЛЯ>
Считает количество файлов пользователя в данном месте:
find <ГДЕ_ИСКАТЬ> -user <ИМЯ_ПОЛЬЗОВАТЕЛЯ> ! -type d | wc -l
find <ГДЕ_ИСКАТЬ> -user <ИМЯ_ПОЛЬЗОВАТЕЛЯ>
Считает количество файлов пользователя в данном месте:
find <ГДЕ_ИСКАТЬ> -user <ИМЯ_ПОЛЬЗОВАТЕЛЯ> ! -type d | wc -l
Поиск и удаление файлов по расширению
Рекурсивно находит файлы с расширением avi в текущем каталоге и удаляет их:
find . -name "*.avi" -exec rm -f {} \;
Отдельный лог для dhcpd
Не знаю где как, а в debian lenny по дефолту dhcpd пишет логи в syslog, что мне не очень нравится.
Итак, чтобы dhcpd не мусорил в логах необходимо
Итак, чтобы dhcpd не мусорил в логах необходимо
- создать файл /etc/rsyslog.d/dhcpd.conf с содержимым:
- Для ротации логов в файл /etc/logrotate.d/rsyslog вставить строку
local7.* /var/log/dhcpd.log
/var/log/dhcpd.logв секцию со списком файлов логов.
Установка и настройка dhcp3-server
Настроим dhcp3-server на debian lenny для автоматической раздачи IP-адресов, с возможностью привязки mac -> IP и передачей настроек подключения клиентам.
Удалённое обновление ядра
Иногда может возникнуть ситуация, когда при обновлении ядра на сервере, стоящем в дата-центре и последующей перезагрузке, сервер не поднимается. Как избежать этого, как обеспечить его перезагрузку в старое ядро в случае сбоев с новым ядром?
Настройка программ для работы через локальный прокси
Понадобилось мне сделать, чтобы apt-get и freshclam на шлюзе ходили в инет через прокси, установленный на нём же (с целью кеширования обновлений).
Не перезагружается компьютер под управлением linux
Система - debian lenny.
Симптомы: при команде reboot останавливает все службы и виснет.
Частенько при таком рекомендют запускать с параметром ядра "acpi=off". В моём случае это не помогло.
Лечение: в /boot/grub/menu.lst в параметрах ядра указать "reboot=bios".
Симптомы: при команде reboot останавливает все службы и виснет.
Частенько при таком рекомендют запускать с параметром ядра "acpi=off". В моём случае это не помогло.
Лечение: в /boot/grub/menu.lst в параметрах ядра указать "reboot=bios".
Безопасный рестарт при зависании linux-систем
Удерживая кнопки Alt+SysRq (PrintScreen) нажимайте последовательно следующие кнопки: R, E, I, S, U, B.
- R - возвращает управление мышке и клавиатуре.
- E - посылает сигнал SIGTERM всем запущенным процессам, кроме init. Другими словами производится попытка безопасного (с сохранением данных) завершения всех процессов, кроме процесса init.
- I - посылает сигнал SIGKILL всем запущенным процессам, кроме init. Это значит, что все процессы кроме init будут уничтожены и данные будут утеряны.
- S - переписывает все данные из кэш-памяти на жесткий диск, происходит синхронизация, уменьшает шанс повреждения данных.
- U - перемонтирует все примонтированные файловые системы в режиме только чтение. После использования этого ключа вы можете перезагружать систему нажатием Alt + SysRq + B без ущерба для системы.
- B - перезагрузка системы. Использование этого ключа без использования других ключей равноценно «холодной» перезагрузке.
BIND 9.5 и сообщение "too many timeouts resolving"
В версии BIND 2.5.0-P2 начал сыпать в логи много лишней информации. Например такой:
В конфигурационном файле сервера /etc/bind/named.conf , в раздел logging надо добавить следующее (если раздела нет, добавить его перед всем!):
Sep 8 05:23:15 cosmos named[20534]: too many timeouts resolving 'DNS1.MRSE.COM.AR/AAAA' (in 'MRSE.COM.AR'?): disabling EDNSРешение этой проблемы сводится к более точной настройке, что помещать в логи, а что нет.
В конфигурационном файле сервера /etc/bind/named.conf , в раздел logging надо добавить следующее (если раздела нет, добавить его перед всем!):
logging {Тут заодно запрещаются сообщения о lame-серверах.
category lame-servers {null; };
category edns-disabled { null; };
};
Настройка кеширующего DNS-сервера (BIND)
Если рассматривать функции кэширующего сервера с точки зрения архитектуры DNS то это "умный" resolver. А точнее, "умный" независимый resolver, который выполняет рекурсивные запросы прикладных программ.
Главное назначение - принимать запросы от клиентов и опрашивать другие (авторитативные) серверы доменных имен на предмет поиска необходимой клиентам информации и хранение найденной информации (записей описания ресурсов) к своем кэше в течение времени жизни этой информации. При этом в кэш должна попадать не только информация о конечном соответствии IP-адреса и доменного имени, но и информация найденная в процессе поиска конечного соответствия, например, информация об авторитативных серверах зон доменных имен.
При этом данный сервер не будет поддерживать никакой зоны, т.е. он не будет авторитативным для какой-либо зоны пространства доменных имен Интернет.
Главное назначение - принимать запросы от клиентов и опрашивать другие (авторитативные) серверы доменных имен на предмет поиска необходимой клиентам информации и хранение найденной информации (записей описания ресурсов) к своем кэше в течение времени жизни этой информации. При этом в кэш должна попадать не только информация о конечном соответствии IP-адреса и доменного имени, но и информация найденная в процессе поиска конечного соответствия, например, информация об авторитативных серверах зон доменных имен.
При этом данный сервер не будет поддерживать никакой зоны, т.е. он не будет авторитативным для какой-либо зоны пространства доменных имен Интернет.
Всплывающее сообщение после завершения консольной команды
Удобно, чтобы не смотреть каждые пять минут в терминал.
Добавить в ~/.bashrс
Пример использования:
Источник
Добавить в ~/.bashrс
alias alert='notify-send -i /usr/share/icons/gnome/32x32/apps/gnome-terminal.png "[$?] $(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/;\s*alert$//'\'')"'Как видно, требует только notify-send.
Пример использования:
wget www.webupd8.org; alert
Источник
Подписаться на:
Сообщения (Atom)