LXF102:Вторая жизнь старого ПК
Yaleks (обсуждение | вклад) (Новая: == Воскресим старый ПК == : ''Взгрустнули по старым бежевым блокам? Сотрите с них пыль! Проприетарные ОС в...) |
Версия 16:45, 18 марта 2009
|
|
|
Содержание |
Воскресим старый ПК
- Взгрустнули по старым бежевым блокам? Сотрите с них пыль! Проприетарные ОС вынуждают пользователей обновлять оборудование куда чаще, чем надо: Нейл Ботвик опишет несколько классных способов заработать на жизнь для ПК-пенсионеров.
Производительность оборудования неуклонно растет, а стремиться к лучшему – только естественно; и мы обновляем свои системы, списывая старые в утиль. Но позарез ли нам нужно это самое новое и лучшее? Ведь еще недавно люди прекрасно работали на системах с 500-МГц процессором, и перспективы скорого появления CPU на 1 ГГц приводили их в восторг. Так и вижу, как лет через десять некто пишет схожую статью: о том, что делать со старыми, неповоротливыми восьмиядерными 4-ГГц системами, которые собирают пыль в углу. Моя цель аналогична: я научу вас применять старое оборудование, чтобы оно приносило пользу, а не валялось на помойке.
Какие же системы мы обзываем старыми? Те, что были популярны на рубеже столетий. Может, это и правда, и на вид мы говорим о действительно старом оборудовании. Обычная машина начального уровня шесть-семь лет назад – 800-МГц процессор, Pentium 3 или наподобие, 128 МБ ОЗУ и 20–30-ГБ жесткий диск. Контрольное устройство, на котором мы будем тестировать большинство рассматриваемых программ, классом немного пониже – у него 700-МГц процессор Celeron: я откопал его у себя на чердаке в куче компьютерных устройств, которые никогда не выбрасываю, рядом с верным старым (хотя и не работающим) Amiga 4000. Мы запаслись 128 МБ ОЗУ (т.е. типовым объемом для старых машин), однако расширение памяти способно вызвать большой скачок производительности. Удвоение ОЗУ до 256 МБ дает больше пользы, чем более быстрый CPU, а обходится гораздо дешевле: сейчас мало кто покупает память такого объема, и ее можно добыть за гроши. Разыскивая 128 МБ (у меня стояло 256), я купил на eBay две новехоньких IBM-овских 64-МБ планки за 0,99 фунта. Там, где это уместно, мы также рассмотрим альтернативные программы, работающие на еще худшем оборудовании. Ранние дистрибутивы имеют меньше графических инструментов, и
порой придется использовать командные строки, но крайне элементарные. Одна из самых приятных вещей при работе со старыми компьютерами – свобода каких угодно экспериментов. Если вы все угробите, можно просто переустановить систему и начать заново, не потревожив свой главный компьютер с данными, накопленными годами трудов.
Что можно сделать со старым ПК?
Да все, что считалось применимым для мощной системы несколько лет назад. Мы были вполне счастливы, используя 500-МГц и 1-ГГц компьютеры для просмотра интернета, электронной почты, работы и даже для игр. Требования для игр ушли далеко вперед, но все прочее не требует больших мощностей, чем раньше, хотя 128 МБ памяти, когда-то считавшиеся изобилием, сейчас и не потянут некоторые программы Сначала мы подберем дистрибутив общего назначения, подходящий для использования на ограниченном оборудовании, и соответствующие приложения для решения основных задач. Затем рассмотрим более специальное использование старого оборудования – для тех из вас, кому уже не требуется другой настольный компьютер и кто довольствуется системой с четырехъядерным CPU для написания электронных писем.
Выбор дистрибутива
В ответ на вопрос о легковесной версии Linux вы, скорее всего, услышите про Damn Small Linux (DSL). Вот мы и упомянули про него; но использовать его мы не будем. DSL отлично потрудился, сумев впихнуть в 50-МБ CD массу программ, и это создало некоторые искусственные ограничения: например, применение ядра версии 2.4. А кого волнует размер установочного CD? Главное, чтобы система легко установилась и хорошо работала на нашем оборудовании. Ядро 2.6 для нас обязательно, так как некоторые устройства работают только с новыми версиями. Основное наше оборудование явно старше 2.4, но вдруг вам потребуется подключить какую-нибудь web-камеру, чьим драйверам подавай ядро версии 2.6? И надо ли расставаться с удобством автоматического монтирования USB-накопителей, CD и цифровых фотоаппаратов? Вряд ли вы всерьез захотите вернуться к треволнениям проб и ошибок и монтировать по принципу сработает/не сработает. Мы рассмотрели еще Puppy Linux: он примерно так же легковесен, и оба сойдут для оборудования похуже. Думали и о Xubuntu – это вариант Ubuntu, использующий рабочий стол Xfce; но он более требователен к памяти. Если у вас есть 256 МБ, то на Xubuntu, несомненно, стоит взглянуть.
Перебрав варианты, мы остановились на Vector Linux (http://www.vectorlinux.com), производный от Slackware: он идеален для владельцев не особо роскошного оборудования. На сайте так и сказано: «специально разработан для использования на старых компьютерах, с медленными процессорами и меньшим размером ОЗУ». Доступны разные версии Vector; мы использовали Standard edition, но есть и вариант SOHO. Оба имеют номер 5.8, хотя на момент написания статьи имелся кандидат версии 5.9 для Standard edition. Версия SOHO использует рабочий стол KDE, куда входит OpenOffice.org – это тяжеловато для нашей старой машины: такое сочетание может поставить ее на колени. Минимальные требования для стандартной редакции – P200 и 96 МБ ОЗУ, идеально для нашей тестовой системы. Мы взяли релиз-кандидат 5.9, хотя к моменту чтения этих строк он может быть готов полностью.
Версия Vector Standard использует рабочий стол Xfce, вместе с популярным файловым менеджером Thunar и полным набором приложений. Их названия могут быть вам незнакомы: некоторые программы являются альтернативами более ресурсоемких известных вам приложений, но для этого окружения они подходят идеально. Просмотрите врезку Низкокалорийное ПО на странице 49 , там приведены облегченные альтернативы общепринятых решений.
Установка
На DVD этого номера есть ISO-образ последней версии Vector. Запишите его на CD-R обычным способом, и загрузитесь с получившегося диска. Установка его очень напоминает установку Slackware – используется тот же текстовый инсталлятор на основе curses, только сообщения менее формальны (типа «INSTALL – come on mate, go for it! [Давай, кореш, устанавливай!]»). Может, ему и не хватает украшательств более модных графических установщиков, зато работает он эффективно, даже на скромном оборудовании. Во время установки возникает пара проблем, о которых лучше узнать заранее, чем по ходу процесса.
На двух системах установщик 5.8 завис во время проверки графического оборудования, потребовалась перезагрузка. Единственный способ избежать этого – пропустить данный этап. После загрузки вы увидите текстовый экран со входом, так как X не настроен, но это можно исправить, зайдя как администратор (root) и запустив xorgconfig. Удобно зайти под второй консолью, запустить в ней lspci и затем, переключаясь между консолями с помощью Alt+стрелка влево/вправо, получать там ответы на вопросы, задаваемые xorgconfig. В Vector 5.9 таких проблем не было, но полная установка потребовала больше места на жестком диске. Если у вас диск на 5 ГБ или меньше, либо используйте 5.8, либо будьте особо придирчивыми во время установки, выбирая группы пакетов, которые нужно установить.
Что внутри?
Попросите кого-нибудь перечислить классические современные приложения, в частности, GTK-альтернативы, и вы услышите такие названия, как OpenOffice.org, Firefox, Mozilla, Evolution и прочие. Это очень развитые программы, но расплатой за них служат потребление памяти, процессорного времени и, в меньшей степени, дискового пространства. Запуск OpenOffice.org на компьютере с 128 МБ и 700 МГц, по меньшей мере, мучителен: к тому времени, как он загрузится, вы, возможно, забудете, что за письмо вы хотели написать. Запуск KDE-приложений станет нагрузкой сверх меры – не из-за требовательности KDE, а из-за того, что Xfce уже использует GTK, так что вам придется одновременно держать загруженными два графических интерфейса.
Однако вряд ли вам потребуется абсолютно все, что предлагает OpenOffice.org, и уж конечно, не все сразу; и существуют куда более легкие альтернативы. Vector предоставляет AbiWord для обработки текстов, а Gnumeric – для электронных таблиц. Оба они могут загружать и сохранять файлы в форматах OpenOffice.org и Microsoft, так что у вас будет полная переносимость данных [имейте в виду, что фильтр AbiWord для документов MS Office несколько уступает таковому в OOo, – прим. ред.]. Это сложившиеся программы, с хорошим набором основных функций; отсутствуют только экзотические возможности, используемые в основном в документах маркетологов. Имеется Firefox, а также Opera. Да, он великоват и заметно дольше загружается, чем на современной машине, но если вас интересует большая часть web-страниц, ничто не подойдет вам лучше. Производительность на тестовой машине была приемлема, но если вы работаете на чем-нибудь более медленном, в особенности на меньшей памяти, то Vector предоставляет вам Dillo. Dillo – это браузер, используемый в Damn Small Linux, отсюда понятно, насколько он компактен; но он также весьма быстр. Dillo не поддерживает HTTPS, и его нельзя использовать для банковских операций онлайн, но для многих сайтов скорость компенсирует ограничения.
Известно, что управление пакетами в Slackware, мягко говоря, упрощенное. Пакетная система, используемая в Vector, примерно такая же, но включает утилиты slapt, которые работают с пакетами Slackware как программы Debian. Slapt-get – это управление пакетами из командной строки, а gslapt схожа с GUI системы управления пакетами Synaptic, знакомой пользователям Ubuntu. У нее уже имеется парочка онлайн-репозиториев; вам просто нужно нажать на кнопку Update, чтобы скачать последний список доступных пакетов. Затем можете выполнять поиск программ и их установку в стиле «выбери и щелкни». Диапазон доступных программ поменьше, чем у более известных (и лучше финансируемых) дистрибутивов, однако поскольку в основном это Slackware, вы можете устанавливать также из его источников, только отметьте несколько параметров в настройках gslapt. Или же, если программа имеет доступный пакет Slackware для скачивания, вы можете загрузить его обычным способом и установить с помощью installpkg – такие можно отыскать на http://www.linuxpackages.net. Если же специальный пакет отсутствует, то, в конце концов, в стандартной установке доступны средства разработки, так что сборка из исходников вполне возможна, хотя и более медленна, чем вы привыкли.
Почта управляется с помощью Mozilla Mail – несколько странный выбор, ведь есть прекрасные почтовые программы GTK, вроде Claws Mail и Sylpheed. Они быстры и легковесны, и не лишены многих функций – например, я использую Claws Mail и на своем двухъядерном настольном компьютере, и на своей Nokia N800: это сама гибкость.
Детям, детям, детям
Слабая машина – идеальный компьютер для самых маленьких членов вашей семьи, пока они не захотят играть в 3D-игры (в этом случае им все-таки понадобится игровая приставка): для ребенка процессор до 1 ГГц – более чем достаточно, чтобы изучать основы работы с компьютером и запускать образовательные программы. Вы, конечно, захотите пресечь доступ к системным каталогам; запретите su и sudo, и, возможно, ограничьте доступ в интернет. Отдельная учетная запись так-же позволит установить рабочий стол, более дружелюбный к ребенку, с большими красочными значками и средствами запуска его любимых программ.
Для добавления пользователей используется либо VASM (Vector Administrative and Services Menu), оригинальная программа системного администрирования Vector’а, либо чисто графический VASMCC. Создавая нового пользователя, ограничьте число групп, к которым он принадлежит. В частности, не делайте его членом ничего административного, ни adm, ни sys, ни wheel. Для каждого нового пользователя Vector создает новую группу, но домашние каталоги он делает доступными для чтения всеми, что вам может не понравиться, так что откройте root-терминал и наберите
chmod o-rwx /home/*
VASM позволяет создавать пользователя без пароля, что удобно для совсем маленьких детей, но не считайте это простым выходом из положения: навыки безопасности следует прививать ребенку как можно раньше. Если ваш компьютер предназначен только для одного ребенка, можете настроить автоматический вход этому пользователю. Vector использует kdm, менеджер дисплея KDE, но не содержит остальной инфраструктуры KDE, и вам придется редактировать файл конфигурации вручную. Файл /usr/share/config/kdm/kdmrc следует редактировать из-под root’а. Перейдите в раздел, озаглавленный [X-:0-Core] и найдите пункты AutoLoginEnable и AutoLoginUser. Удалите все знаки комментариев (#) в начале строки и установите значения на true и имя пользователя, соответственно. Также можно установить AutoLoginAgain, чтобы не дать выйти из системы и войти под другим пользователем. Это зависит от того, насколько любопытны или вредны, по вашему мнению, дети. По моему опыту, недооценивать эти свойства просто нельзя! Вы все еще сможете войти под своим пользователем, где вы сможете администрировать систему, либо переключаясь виртуальную консоль с помощью Ctrl+Alt+F1, либо убив X сочетанием клавиш Ctrl+Alt+Backspace. Затем войдите в консоль и, если нужен GUI, выполните startx.
Ограничение опций
Возможно, вы захотите ограничить опции, доступные для ребенка, в особенности маленького. Это можно сделать, убрав панель и меню и разместив на рабочем столе ярлыки для каждой программы, которая будет запускаться. Чтобы убрать панель, щелкните по ней правой кнопкой и выберите remove. Или же щелкните правой кнопкой по кнопке меню, выберите remove и повторите те же действия для значков, которые уже не нужны. Затем добавьте на панель приложения, которые вам требуются. Чтобы добавить значок на рабочий стол, перейдите в /usr/share/applications и перетащите оттуда все значки, которые должны будут отображаться на рабочем столе, в ~/Desktop. Вам потребуются какие-нибудь привлекательные значки и обои. На http://xfce-look.org можно найти множество приятных обоев и тем для Xfce, что сделает рабочий стол настолько дружелюбным к ребенку, насколько пожелаете.
Покончив с изменением настроек, вы, наверное, захотите закрепить это, что можно сделать под root’ом с помощью
chown -R adultuser: /home/childuser/.config/xfce4 chmod -R +r /home/childuser/.config/xfce4
После этого ребенок не сможет ничего записать в каталог настройки Xfce, где хранится большая часть настроек, но чтение этих параметров разрешено. Вы можете использовать тот же принцип для защиты настроек, хранящихся в других частях домашнего каталога.
Безопасный просмотр
Ограничение использования интернета будет похитрее, если вы не хотите просто запретить любой доступ к Сети с этой машины (для этого она всего-навсего блокируется в настройках маршрутизатора). При желании контролировать доступ к интернету, не блокируя его, потребуется фильтрующий прокси, запущенный на другой машине – например, на старом ПК, где стоит какой-нибудь подходящий дистрибутив, SmoothWall, ClarkConnect или IPCop (сколько там, говорите, у вас старых компьютеров завалялось?). В этом случае вы, возможно, используете комбинацию прокси-сервера Squid либо со SquidGuard, либо с DansGuardian. Оба они работают со Squid, обеспечивая фильтрацию, однако выполняют эту фильтрацию по-разному. SquidGuard использует список «неподходящих» сайтов, запросы к которым блокируются или переадресуются, а DansGuardian фильтрует по содержимому запрашиваемых страниц. Любая такая конфигурация может работать в фоновом режиме на вашем рабочем столе, но обычно их запускают на разных машинах. Их установка и настройка потребует времени.
Можно проступить иначе – запустить прокси попроще на вашем собственном настольном компьютере; правда, тогда ваш компьютер должен быть доступен на время подключения к интернету, что нормально, если у вас не двойная загрузка. Одна из таких программ – Willow, фильтр контента, доступный на http://www.digitallumber.net/software/willow. Скачайте архив и, под root, распакуйте его в /var с помощью
tar xf willow-3.18.tar.gz -C /var
Затем скопируйте подходящий стартовый скрипт в /etc/init.d и добавьте willow на уровень запуска по умолчанию. Если вам выдается ошибка о невозможности открыть модуль exefilter, уберите ссылку на exefilter, отредактировав /var/willow/willow.conf и изменив в нем
filters = [‘domainfilter’,’exefilter’,’contentfilter’]
на
filters = [‘domainfilter’,’contentfilter’]
Для защиты компьютера с Linux exefilter не является необходимым. Теперь все, что осталось сделать – это установить браузер по умолчанию и настроить его на использование прокси Willow. Запуск браузера в первый раз определит его как браузер по умолчанию; выберите Firefox, перейдите в Edit > Preferences > Advanced > Network > Connection Settings и вручную настройте HTTP Proxy на имя той машины, где запущен Willow, и порт 8000. На машине с запущенном willow выполните
tail -f /var/log/messages
и загрузите web-страницу в Firefox. Вы должны увидеть, что пробегают какие-то сообщения, по мере того, как Willow извлекает данные и передает их Firefox’у на другом компьютере. Содержимое этих сообщений не столь важно: если страница загружается, а Willow не выдает никаких очевидных ошибок, будьте уверены, что просмотр на старой машине защищен. Теперь следует обеспечить, чтобы он таковым и остался: сделайте файл настроек доступным только для чтения, с помощью
chmod -w .mozilla/firefox/XXXXXXXX.default/prefs.js
Здесь XXXXXXXX – это строка случайных символов; нужное имя вам следует отыскать в каталоге (или используйте завершение по Tab. Также можно выделить его из файла .mozilla/firefox/profiles.ini с помощью awk’а, или grep’а с sed’ом, но для одноразового применения проще просмотреть каталог, хоть это и добавит к вашему рейтингу хакера меньше баллов. ОК, если вам действительно нужны баллы, выполните
chmod -w .mozilla/firefox/$(awk -F \= ‘/^Path=/ {print $2}’ .mozilla/ firefox/profiles.ini)/prefs.js
Следует предупредить вас насчет Willow: чтобы эффективно фильтровать с самого начала, она поставляется с примерами хорошего и плохого содержимого и сайтов. Плохие сайты включают явное порно и столь же нежелательное содержимое (именно поэтому мы не включили его на наш DVD), так что устанавливайте его не на компьютер, предназначенный для ребенка, а только на тот, который будет служить прокси. Плохой контент нельзя просмотреть через прокси-сервер, можно только через файловую систему.
Вы, возможно, также захотите заблокировать в Firefox всплывающие окна – они не только раздражают и сбивают ребенка с толку, но часто и не подходят по содержанию. Зайдите на https://addons.mozilla.org и поищите там «Adblock»; среди результатов можно выбрать между исходным модулем расширения Adblock и более новым Adblock Plus. Каждый из них отгоняет нудные всплывающие окна, и будет полезен всем детям младше 195!
У вас на службе
Существует множество специальных применений старых компьютеров. Запуск X отнимает много ресурсов, поэтому все, что не требует графического дисплея, является хорошим кандидатом для медленной машины. На ней можно запустить один из множества серверов, либо ради удовлетворения какой-нибудь потребности, либо просто что-нибудь новенькое на пробу. В этом случае вы, возможно, захотите установить Vector без X, хотя установка с X без его использования отберет у вас только некоторое пространство на диске.
Если вы решили запустить что-нибудь вроде сервера, вам потребуется статический IP-адрес. Почти все дистрибутивы по умолчанию используют DHCP для получения адреса вашим модемом/маршрутизатором, что не есть хорошо, когда вы хотите подсоединиться с другого компьютера. Запустите VasmCC и перейдите в Network > Netconf. Выберите статическую конфигурацию и задайте неиспользуемый IP-адрес из диапазона вашего маршрутизатора. Его можно узнать со страницы настройки вашего маршрутизатора, однако сторонитесь диапазона, предназначенного для адресов DHCP. В общем случае DHCP использует большие номера для последней части адреса, скажем, от 192.168.1.100 до 192.168.1.200, так что во избежание конфликтов используйте меньшие номера. Шлюз и DNS должны быть установлены как адрес вашего маршрутизатора.
Почта без спама?
Запуск собственного почтового сервера может показаться стрельбой из пушки по воробьям, но есть разумные основания сделать это; вы сможете
- Получать доступ к электронной почте с нескольких компьютеров, скажем, настольного и переносного, держа обоих синхронизированными.
- Скачивать почту из нескольких учетный записей, вашего интернет-провайдера (ISP), Google Mail, и т.п., и помещать ее в одно место.
- Скачивать почту для всех членов семьи и сортировать ее по разным папкам. Скачивание почты происходит быстрее, так как медленная часть работы по извлечению ее для ISP уже проделана в фоновом режиме.
- Поставить приложения по фильтрации спама, чтобы отсеивать мусор еще до запуска почтовой программы.
Последнее особенно важно, когда вы предоставляете доступ к интернет ребенку, ведь иногда содержимое спама шокирует даже взрослых. Обслуживание почты имеет три аспекта: получение почты извне и доставка ее на локальные почтовые ящики, обслуживание почты на локальных ящиках почтовых клиентов и получение и передача почты с клиентов. Третий аспект большинству не нужен, но не стесняйтесь устанавливать что-нибудь типа Postfix, если хотите попробовать. Стандартная программа для первого аспекта – fetchmail. Установите ее и запустите fetchmailconf для создания файла конфигурации. Можно также, использовать следующее, проделав нужные замены:
set daemon 300 poll mail.myisp.com with proto POP3 user ‘myispuser’ there with password ‘mypass’ is ‘myuser’ here options keep mda ‘/usr/bin/procmail -d %T’
и с помощью
chmod 600 ~/.fetchmailrc
установить его только на чтение вашим пользователем. myispuser и mypass замените на регистрационное имя и пароль почтового ящика у вашего провайдера, а myuser – имя локального пользователя. Так вы велите fetchmail проверять ваш почтовый сервер каждые пять минут (300 секунд) и доставлять почту, используя procmail вместо локального почтового сервера, предусмотренного по умолчанию. Опция keep оставляет почту на сервере; убедившись, что все работает, можете ее удалить. Чтобы собирать почту из нескольких почтовых ящиков, можно вставить несколько строк «poll... user...». Сохраните это в вашем домашнем каталоге под именем .fetchmailrc. Настройте procmail для доставки почты, поместив
MAILDIR=/var/spool/mail DEFAULT=$MAILDIR/$LOGNAME/
в ~/.procmailrc (или /etc/procmailrc, если вы собираете почту для нескольких пользователей).
Завершающий символ / важен: он велит procmail использовать формат maildir, которое впоследствии требуется IMAP-серверу. Под root’ом создайте почтовый каталог с помощью
mkdir -p /var/spool/mail/myuser chown myuser:mail /var/spool/mail/myuser chmod 770 /var/spool/mail/myuser
Проверьте:
fetchmail --daemon 0 -v
Это отключит фоновый режим и покажет, что происходит. Если все работает, установите fetchmail на автоматическое выполнение, выбрав Settings > Autostarted Applications, нажав Add и введя fetchmail в поле Command; для других двух полей включите ваше воображение. Теперь fetchmail будет запускаться при каждой загрузке рабочего стола. Вы, однако, наверное захотите, чтобы он выполнялся все время, вне зависимости от рабочего стола, так что можете добавить строку в конец файла /etc/rc.d/rc.local
su myuser -c fetchmail
Все команды в rc.local выполняются под root, так что su используется для выполнения ее под вашим пользователем (запуск fetchmail под root считается плохой практикой). Вы можете повторить этот процесс для каждого пользователя почты, поместив их данные в файл .fetchmailrc домашних каталогов и строчку для старта fetchmail для них в rc.local.
Доставка почты
Итак, почта у вас на сервере, и нужно, чтобы пользователи могли ее забрать. На свете множество серверов IMAP и POP3; я предпочитаю Dovecot (http://dovecot.org). Его не найти в репозиториях Vector или Slackware, так что скачайте пакет с http://www.linuxpackages.net и установите его, используя команду
installpkg dovecot-1.0.7-i486-1kjz.tgz
После установки, настройте его, скопировав /etc/dovecot/dovecotexample. conf в /etc/dovecot/dovecot.conf и загрузив его в ваш любимый текстовый редактор. Найдите раздел «Mailbox locations and namespaces», добавьте туда строку mail_location = /var/spool/mail/%u измените строки
#ssl_disable = no
и
#disable_plaintext_auth = yes
на
ssl_disable = yes
и
disable_plaintext_auth = no
Если вы используете это только в домашней сети, то вам не потребуется SSL-идентификация. Если вы хотите иметь доступ к этому серверу извне, придется почитать документацию по SSL, чтобы обеспечить безопасный вход. Закомментируйте строку passdb pam { и последующую закрывающую скобку и раскомментируйте #passdb passwd { и ее закрывающую скобку, так как Vector не использует PAM-идентификации. Затем переместите стартовый скрипт в то место, что используется Vector’ом, выполнив
mv /etc/rc.d/rc.dovecot /etc/rc.d/init.d/dovecot
и велите VasmCC запустить сервис. Если для сбора почты, вдобавок к стоящему по умолчанию IMAP, вы захотите использовать POP3, следует изменить
#protocols = imap imaps
на
protocols = imap imaps pop3 pop3s
и установить
pop3_uidl_format = %v.%u
Теперь вы можете в почтовых клиентах указывать вашу машину с Vector Linux, с определенными там именем пользователя и паролем. Если вместо POP3 для соединения использовать IMAP, ваша почта останется на локальном сервере, то есть будет той же, с какого бы компьютера вы бы ее ни скачивали, и уже не надо будет тщетно искать почту на ноутбуке после того, как вы скачали ее на настольный компьютер, или помнить о синхронизации каталогов почты на двух машинах перед тем, как переключиться с одного на другой.
Деспамизация через dspam
Возможность скачивать и обслуживать электронную почту локально – это здорово, но ведь ее львиная доля – спам. Разве не хорошая идея – избавиться от спама еще до запуска почтовой программы? Настраивая fetchmail на сбор почты, мы указали ему использовать для доставки почты procmail. Если заставить его пропускать почту через фильтр спама, удаляющий мусор и пропускающий только хорошую (или не сильно плохую) почту на procmail, то это будет улучшением. Одна из самых популярных программ для этих целей – Spam Assassin, но я обнаружил, что dspam эффективнее. Обе они используют байесовскую фильтрацию, при которой происходит анализ содержимого почты, и выдают рейтинг спамовитости, основанный на нескольких критериях.
По умолчанию dspam настроен на помещение спама в область карантина, и вы скачиваете только почту, прошедшую тест. Карантин можно осмотреть с помощью web-браузера и извлечь любую из «ложных тревог», т.е. почту, помеченную как спам ошибочно, и удалить остальное. Dspam учится на своих ошибках: каждый раз, когда вы отмечаете ошибочные результаты, вы уменьшаете вероятность повторения ошибки. Аналогично, вы можете послать спам, просочившийся через фильтр, обратно dspam’у, обучив его для дальнейших действий. У меня сейчас очень мало протечек спама и практически нет ошибочных результатов, хотя иногда я получаю более тысячи писем со спамом за день. Похоже, пакетов Slackware для dspam не существует, так что скачайте его с http://dspam.nuclearelephant.com и установите при помощи
tar xf dspam-3.8.0.tar.gz cd dspam-3.8.0 less README ./configure --sysconfdir=/etc make su make install
Затем отредактируйте /etc/dspam.conf и удалите первый символ #, раскомментировав строки
#TrustedDeliveryAgent “/usr/bin/procmail” #UntrustedDeliveryAgent “/usr/bin/procmail -d %u”
и отредактируйте файл(ы) .fetchmailrc, изменив строку mda на
mda /usr/local/bin/dspam --deliver=innocent -- -d %T
Теперь fetchmail передает сообщение dspam’у, который проверяет спам и доставляет чистую почту посредством procmail. Письма со спамом хранятся в карантине, и к ним можно получить доступ через web-браузер. Из этого следует, что придется настраивать web-сервер с подходящими скриптами CGI и механизмами идентификации, а также то, что пользователям придется подключаться к web-серверу, чтобы проверять ложные срабатывания. Но существует другой способ: поменять --deliver=innocent на --deliver=innocent,spam, тогда все сообщения, и спам, и не-спам, попадут в почтовый ящик. Пока вы не заорали «За что боролись?!» своему экземпляру Linux Format (этого в особенности не следует делать при чтении в городском транспорте), спешу сказать, что к письмам добавятся заголовки, один из которых, X-Dspam-Result, принимает значения Innocent или Spam. Вы можете на их основании откинуть спам в отдельную папку, то есть быстро проверить и удалить ваш спам без необходимости запускать браузер.
Байесовские фильтры спама типа dspam обучаются на вашей почте. Вы можете дать ему пищу для ума, снабдив коллекцией хорошей почты и плохой почты (если вы не удалили таковую): выберите их в вашей почтовой программе и сохраните как отдельные файлы, в каталогах для спама и для не-спама (что-нибудь наподобие ‘ham’). Так как почтовые программы часто сохраняют почту в виде отдельных файлов, это будет не сложнее, чем скопировать ваши папки с почтой и со спамом.
Затем скопируйте эти файлы на сервер и обучите dspam с помощью
dspam_train username spam_dir nonspam_dir
Чтобы обучение было плодотворным, предъявите программе как спам, так и не-спам.
Цифровая перестраховка
Кто помнит жалобы о трудностях со сменой флоппи-дисков при создании резервных копий, поднимите руки! Сейчас DVD на 4 ГБ слишком малы, а ленточные накопители большой емкости стоят дороже резервируемого компьютера, хотя, может, и не дороже невоспроизводимых данных, которые вы можете потерять. Но альтернатива есть, и она у вас прямо перед носом (или на чердаке, если ваш старый ПК все еще там). Обслуживание файлов по сети требует очень мало памяти и мощности CPU: все, что вам нужно для создания резервирующего сервера (или любой разновидности файлового сервера) – это компьютер с достаточно большим жестким диском и сетевой картой.
Так как жесткие диски – один из немногих компонентов компьютера, работающих как физически, так и электрически, они подвержены износу, и 5–10 летний жесткий диск вряд ли будет самым надежным местом для хранения файлов из вашей сокровищницы. Однако жесткие диски дешевы: новый диск на 160 ГБ стоит примерно $60. Используйте старый диск для установки ОС, а новый зарезервируйте чисто для хранения; тем самым системные файлы и файлы данных будут разделены. Если системный диск – на /dev/hda, резервные копии размещайте на hdc или hdd, и два диска будут на разных контроллерах. Возможно, что hdc уже занят под CD-ROM, так что установите переключатели жесткого диска на slave и присоедините его к тому же контроллеру, что и CD-ROM.
Сделайте разбивку диска с помощью cfdisk или gparted. Во втором случае потребуется установить gparted, да еще и его зависимости; так что для одноразовой работы проще использовать cfdisk.
cfdisk /dev/hdd
Нажмите n для создания нового раздела, затем дважды Enter, чтобы принять установки по умолчанию и создать раздел, занимающий весь диск; если желаете создать раздел поменьше, введите другой размер. Нажмите W (именно заглавную W), чтобы записать изменения, и введите «yes» для подтверждения, затем q, чтобы выйти и перезагрузиться, убедившись в том, что ядро правильно считало таблицу разделов. Теперь создайте файловую систему, введя
mke2fs -j /dev/hdd1
Обязательно проверьте правильность имени раздела, иначе вы испортите не тот раздел! Потом добавьте в /etc/fstab строку
/dev/hdd1 /mnt/backup ext2 noatime 0 0
и примонтируйте раздел с помощью
mkdir /mnt/backup mount -a df -h /mnt/backup
Последняя команда должна показать, что раздел примонтирован и на 99% пуст. Теперь его можно экспортировать на другие компьютеры в вашей сети, добавив в /etc/exports следующую строку:
/mnt/backup 192.168.1.0/255.255.255.0(no_root_squash,no_subtree_check,rw,sync)
Первые три числа в IP-адресе должны быть такими же, как и во всей вашей сети, последнее – ноль. Зайдите в раздел служб в VasmCC и убедитесь, что portmap активирован на вашем уровне запуска. Затем сделайте /mnt/backup доступным остальной сети, используя
exportfs -a exportfs
Первая строка экспортирует общий каталог, вторая выводит список всех общих ресурсов, чтобы вы смогли увидеть, что все заработало. Теперь можете примонтировать каталог для резервирования к каждому компьютеру в сети, добавив в файл /etc/fstab на каждом из них такую строку:
192.168.1.N:/mnt/backup /mnt/backup nfs nosuid,rsize=8192,wsize=8192,soft 0 0
Здесь 192.168.1.N – это IP-адрес сервера. Создание резервных копий оставляем на ваше усмотрение: можете использовать любую программу, создающую файлы резервных копий. Напрмер, заведите на каждом компьютере каталог /mnt/backup и задание cron, выполняющее что-нибудь наподобие
tar czf /mnt/backup/$HOST/home-$(date -I)-.tar.gz /home
При этом домашний каталог архивируется в файл, имя которого содержит дату, предоставляя вам удалять старые архивы, если вы увидите совпадения. Или можно запустить что-нибудь вроде BackupPC (http://backuppc.sourceforge.net), тогда вся сеть машин зарезервируется на один сервер, выбираемый вами. Конечно, вы не обязаны использовать файловый сервер для хранения резервных копий. Существуют множество других применений совместного хранилища: например, хранение вашей коллекции музыки или видео. Лучше всего NFS работает с Unix-подобными ОС (включая Mac OS X). Если вы хотите совместно использовать файлы с Windows, лучше используйте Samba.
Web на дому
Компьютер также пригодится для запуска web-сервера. С обслуживанием коммерческого сайта онлайн он не справится, но вы можете использовать его для тестирования сайта перед загрузкой, или чтобы просто поглазеть, как работает web-сервер. Стандартом де факто для web-сервера является Apache, но это штука громоздкая; существуют более легкие альтернативы, с которыми можно поиграть – например boa, cherokee, lighthttpd и thpptd. Мы выбрали boa просто потому, что он доступен для установки посредством gslapt. После установки отредактируйте файл /etc/boa/boa.conf и измените DocumentRoot на /home/www, затем запустите boa через раздел Services в VasmCC, и вы сможете получить добавлять содержимое в /home/www и получать доступ к нему с любого браузера в вашей сети.
Мы всего лишь бегло очертили, что можно сделать с лишним оборудованием – включите ваше воображение! Новые идеи ищите в каком-нибудь специальном дистрибутиве на DistroWatch (http://www.distrowatch.com). Или установите систему домашней автоматизации с использованием модулей X10, все управляемо через web-браузер. Вы даже можете использовать шлюз text-to-email, чтобы, послав текстовое сообщение с мобильника, включить свет и телевизор перед тем, как зайти домой! Если есть идея, то, возможно, есть и способ ее воплотить – свяжитесь с нами, сообщите, какие проекты мы можем обозреть в будущих выпусках.