Домой

Извращения с пингвином Линуксом

По счастью, иногда меня посещают приступы зоофилии, и тогда я начинаю насиловать пингвина со странным именем Линукс, а точнее, Линух. Задачи, которые ему ставятся, тривиальны. Но когда-то я этого не знал... Может, и кому-нибудь из читателей будет полезно.


Как автоматически форвардировать свою почту?


Любезный NWGSM предоставляет желающим отличный сервис - уведомление о доставке почты. Проблема в том, что ящик @nwgsm.ru вряд ли основной, а все пишут на адрес pupkin@kontora.ru или типа того. На mail.ru, конечно, есть такой форвардер, так mail.ru тоже не основной... В общем, хочется странного - чтобы почта, приходящая на работу, падала и на трубу тоже. Причем на сервере на работе она бы оставалась.

Все просто. В каталоге /home/pupkin делаем файл .forward (с точкой!), в который пишем две строчки:
\pupkin@kontora.ru
vasyapupkin@nwgsm.ru
Бэкслэш в начале первой строчки говорит, что почта должна КОПИРОВАТЬСЯ на сервер nwgsm.ru, т.е. оставаться и на сервере kontora.ru.


Как автоматически удалять свою почту с сервера nwgsm.ru?


crontab -e 19 03 * * * /home/pupkin/deletemail.pl
Команды редактора vi:
i - начать вставлять печатаемое
d (стрелка) - удалить один символ в этом направлении
:wq - выйти, сохранив изменения
:q - выйти, не сохраняя изменения
А вообще, есть команда man vi, там все написано.
Файл deletemail.pl надо поправить, записав туда свои логин и пароль.
Чтобы все это работало, на пингвине должен быть поставлен perl.

Как собирать свою почту с других серверов?


fetchmail /home/pupkin/.fetchmailrc Содержимое
Чтобы все это работало, на пингвине должен быть поставлен fetchmail.

Как автоматически посылать почту в заданное время?


Мне надо было, чтобы каждую пятницу я получал напоминание о том, что пора написать и представить директору план работ на следующую неделю. После нескольких раз получения по башке за склероз я сделал вот что.
1. Запускаем crontab -e.
2. Добавляем туда строчку вида
20 15 * * 5 mail pupkin@kontora.ru -s 'Напиши план!' </home/pupkin/texttosend
(Обращаем внимание на одинарные кавычки!)
3. Создаем в каталоге /home/pupkin файл texttosend с содержимым письма, можно даже по-русски.

И получаем: каждую пятницу (5) в 15 часов 20 минут мне автоматически отправляется письмо с напоминанием, содержащимся в файле texttosend.
Чтобы все это работало, на пингвине должен быть поставлен cron.

Если винт не форматируется


Приспичило как-то раз собрать малюсенький пингвин и поставить его на старую машину, чтобы сделать простенький роутер. В эту машину (386) я собирался воткнуть 40-метровый винт Conner, мать его.
Оказалось, что этот винт бодро говорил о себе, что он совсем не типа 17, и голов у него не 5, а 2, и цилиндров не 977. В результате при форматировании посредством mkfs.ext2 пингвин заорал:
read_intr error=0x10 и так далее.
Из чего следовало, что тупая железка не может найти сектор на винте.

Вылечил я это дело так:
1. Посмотрел в BIOS setup'е размеры (CHS) винта номер 17 (каким он вроде бы всю жизнь и работал) 2. Вопреки howto, загрузил пингвин так:
Boot: linux hdc=977,5,17
(он у меня был secondary master, после форматирования и установки пингвина я его, естественно, переткнул в primary master). HOWTO, зараза, говорит, что в опциях нельзя писать hda, hdb..., а только hd. (Это проходило с ядром 2.2.5-22 из RedHat 6)
Полезные утилиты, которыми я пользовался в процессе:
hdparm - показывает параметры винта с точки зрения как винта, так и пингвина
fdisk - редактирует разделы, как обычно
mkfs.ext2 - создает файловую систему (типа DOS format)
e2fsck - проверяет файловую систему на наличие ошибок

Как поставить Linux на 40-мегабайтный HDD


Задача - сделать роутер, который из локальной сети гоняет пакеты по модему Zelax M-160 через выделенку в другую локальную сеть и через нее - в интернет (ну и, соответственно, два сегмента сети объединить между собой). На том конце стоит такой же пингвин и pppd. Задача решается на 386 машине с 8М RAM, древнем 40-мегабайтном винчестере, 10-мегабитной сетевой карточке, модеме, pppd и ядре Linux 2.2.5-22 (ядра 2.4 на чем-то хуже Celeron уже не ворочаются физически, особенно на AMD K5 - перестраивать, что ли, надо? А лень...)
Маленький пингвин действительно поместился на 40-метровый винт. Этого удалось добиться путем выборочного копирования работающей системы "с того конца" (чтобы было где компилять) на 200-метровый винт (естественно, не копировались ненужные пакеты типа bind, squid, samba, Apache и т.д. Как переносить систему с винта на винт, написано в HARD DISK UPGRADE MINI HOW-TO где-то в инете) и последовательного удаления оттуда всякой ненужной дряни с контролем работоспособности системы. Доудалялся до 38 метров, наверное, еще метра 3-4 можно очистить за счет модулей из /usr/lib, но оттуда безболезненно удалился только libm*.so с математикой.
(сейчас этим и заниМАЮСЬ, сделаю - допишу)

Для писем