LXF84:Ответы

Материал из Linuxformat.

Перейти к: навигация, поиск
Есть вопрос по Open Source? Пишите нам по адресу: answers@linuxformat.ru

Содержание

Ответы

Без паники...

В Я установил игру Pipepanic с DVD к LinuxFormat [HotPicks, LXF82] в свою домашнюю директорию и запускаю ее, набрав ./pipepanic в консоли:

cd Pipepanic-0.1.3-source
./Pipepanic

Но не могу добавить соответствующий пункт в меню KDE, поправив меню в Центре Управления KDE: не знаю, что набирать в поле команды. Если я помещаю туда /home/marrea/pipepanic-0.1.3-source/pipepanic, а затем выхожу и щелкаю на добавившемся пункте меню Pipepanic, то вижу лишь кувыркание песочных часов и кнопку на панели задач. Секунд через 30 все исчезает. Это потому, что я установил Pipepanic в свою домашнюю директорию? Marrea, с форума LXF

О Дело вот в чем: запуская игру из меню KDE, Вы находитесь не в директории Pipepanic. Программа должна запускаться из своей директории, чтобы найти нужные ей файлы. Это можно исправить, добавив /home/marrea/Pipepanic-0.1.3-source/ в поле рабочего каталога в редакторе меню KDE – по сути, добавив команду смены каталога перед запуском, которую вы выполняете в консоли. Возможно, также понадобится указать полный путь к файлу. Самый безопасный способ убедиться, что все правильно – воспользоваться диалогами выбора файлов, вызываемых по щелчку на пиктограммах справа от соответствующих полей. Если вы установите опцию запуска в терминале, вы увидите весь вывод программы и, возможно, поймете, в чем проблема. Именно так я узнал, что игре не удалось найти файл. В конец запускаемой команды добавьте что-нибудь вроде ; sleep 5, чтобы окно терминала оставалось открытым еще пять секунд после завершения программы:

/home/marrea/Pipepanic-0.1.3-source/Pipepanic; sleep 5

НБ

Скрупулезный скрипт

В Попытался написать скрипт для резервирования важных данных из домашней директории на USB-диск с помощью rsync, и теперь нахожусь в затруднении: озадачили опции --exclude-from и особенно --include-from. У меня Ubuntu 6.06 и rsync 2.6.6.

Вот приблизительно то, что мне нужно. Во-первых, скопировать нескрытые файлы и директории (включая вложенные), находящиеся в домашнем каталоге /home/dcoldric; исключение – /home/dcoldric/MyDownloads, где поддиректории копировать не надо, только обычные файлы. Еще одно исключение – не хочу резервировать кое-какие нескрытые каталоги, вроде /home/dcoldric/cxoffice.

Все скрытые файлы и директории должны быть проигнорированы, кроме нескольких. Например, я хочу сохранить /home/dcoldric/.netbeans со всеми поддиректориями, а также .bashrc и .bash_aliases. И, наконец, я бы хотел, чтобы структура директорий каталога резервных копий была такой же, как и в моем домашнем каталоге (не считая, конечно, игнорируемых директорий).

Я перепробовал все, что пришло в голову, но безрезультатно. Мой последний вариант выглядел так:

rsync -a --delete --safe-links --exclude-from=/home/dcoldric/bin/backupExcludes /home/dcoldric/ 
/media/USB/backup/dcoldric

– при следующем содержимом файла backupExcludes:

- /*
+ /dcoldric/
+ /dcoldric/.Creator/
+ /dcoldric/.java/
+ /dcoldric/.mozilla/
+ /dcoldric/.mozilla-thunderbird/
+ /dcoldric/.netbeans/
+ /dcoldric/.bashrc
+ /dcoldric/.bash_aliases
+ /dcoldric/MyDownloads/
- /dcoldric/MyDownloads/*/
- /dcoldric/.*
- /dcoldric/cxoffice
- /dcoldric/jdk*
- /dcoldric/sun
-/dcoldric/SUNW*

Однако ничего не работает.

Дэвид Колдрик [David Coldrick]

О Команда rsync по умолчанию копирует все, а опция --exclude задает то, что нужно пропустить. Проще думать, что --include – это --do-not-exclude. Указываемый параметр-файл --exclude-from – фактически файл фильтра. Фильтрация предоставляет контроль, но не имеет варианта --filter-from. Вот более корректный способ использовать фильтр:

--filter=”merge myfilterfile”

Ваш текущий фильтр не работает, поскольку начинается с -/*, то есть с указания игнорировать все. Вы говорите, что ничего не происходит – и Вы правы, но программа тоже права, поскольку делает то, что ей велено. Так как начинает она с первого вхождения, то перенесите -/* в конец. Когда фильтр начинается с /, он считает от указанного исходного пути (в данном случае получается ~/dcoldric), так что удалите /dcoldric из начала каждой строки, иначе rsync припишет это лишний раз и будет искать /home/dcoldric/dcoldric/.mozilla и так далее. Хотя это не относится к Вашему текущему фильтру, следует знать, что

+ /foo/bar/
- /*

ничего не найдет, поскольку /* исключит все каталоги из исходной директории и foo не будет проверяться никогда, значит, /foo/bar не будет найден. Вы должны явно указать сканирование foo:

+ /foo/
+ /foo/bar/
- /foo/*
- /*
+ /.netbeans/
+ /.bashrc
+ /.bash_aliases
- /MyDownloads/*/
- /.*
- /cxoffice
- /jdk*

Вызывается он такой командой:

rsync -a --delete --safe-links --filter=”merge ~dcoldric/bin/backupFilter” 
~dcoldric/ /media/USB/backup/dcoldric/

Обратите внимание на завершающий каталог назначения /, он может повлиять на результат. НБ

Которая Fedora?

В Я купил Fedora Core 4 и специальный выпуск LinuxFormat в 2005 году, и теперь хочу установить Fedora на VMWare (под WindowsXP). В VMWare есть несколько альтернатив для Red Hat, например, Red Hat Linux и Red Hat Enterprise Linux 2,3 и 4.

Я подозреваю, что могу отбросить чистый Red Hat Linux, но какой из других вариантов подойдет для моей версии Fedora? По идее, это важно, поскольку VMWare Tools очень улучшают работу видеокарты и мыши в гостевой ОС. Но во всех дистрибутивах, которые я пробовал, этого не произошло, и я не могу найти нужной информации в журнале.

Иэн Стенд [Ian Stand]

О Почти любой дистрибутив Linux, который я пробовал устанавливать в VMWare (а я пробовал много), инсталлировался нормально, даже если не был указан в списке. В большинстве случаев я выбирал Other Linux 2.6.x kernel, но для Fedora Core я выбрал «чистый» Red Hat Linux. Установка VMWare Tools описана на стр. 142 руководства по VMWare Workstation (его можно скачать с http://www.VMWare.com/support/pubs/ws_pubs.html) и пройдет без проблем, если следовать инструкции:

  1. Удалите все смонтированные CD/DVD-диски.
  2. Выберите VM > Install VMWare Tools из меню VMWare.
  3. Откройте CD-ROM в гостевой ОС.
  4. Дважды щелкните по RPM-файлу VMWare-Tools.
  5. Введите пароль root.
  6. Запустите VMWare-config-Tools.pl в консоли от имени root.

Для финального шага Вам может понадобиться установленный GCC, если потребуется сборка модуля для Вашего ядра. Это произойдет, если установщик не найдет уже готового модуля, как, например, для Fedora Core 5. НБ

Apache защищается

В Я недавно завел web-сервер на Apache для обслуживания нескольких сайтов. Можете ли вы мне дать несколько советов по укреплению его безопасности?

С.Монро [S. Monroe]

О Кроме защиты самих страниц с помощью HTTP-аутентификации или SSL, где только можно, кое-что надо сделать в файле http.conf, так как настройки по умолчанию могут помочь атакующему, предоставив ему некоторую специфическую информацию. Во-первых, убедитесь, что установили директорию ServerTokens в Prod. По умолчанию, этот параметр будет отображать номер Вашей версии Apache, состав используемых модулей и даже ОС. Хотя в пределах своей вотчины тут скрывать нечего, Вы вряд ли захотите сообщать такие данные посторонним лицам [эта рекомендация затруднит получение информации об ОС, но не сделает ее полностью невозможной, – прим. ред.].

Чтобы посмотреть, что именно показывает Ваш сервер, выполните

curl -I http://yourwebserver

Также убедитесь, что ServerSignature установлена в email – это предотвратит «засветку» номеа версии на страницах ошибок Apache. Хотите ли Вы предоставить Вашим пользователям собственные web-папки? Нет? Тогда отключите модуль userdir. Если Вы не используете CGI, удалите псевдоним cgi-bin из файла конфигурации.

Еще одна опасная штука – руководство по Apache, которое в некоторых сборках установлено как страница по умолчанию. Убедитесь, что у вас запрещены листинги каталогов, установив –Indexes в секции Options директив <Directory>. Если у Вас работает PHP, убедитесь, что директива expose_php в php.ini отключена (Off).

Если другие люди публикуют информацию на Вашем web-сервере, лучше позаботиться, чтобы они не могли менять настройки сервера через .htaccess. Для этого в пределах корневой директивы <Directory> установите параметр AllowOverride в None, AuthConfig или другое ограниченное значение, но ни в коем случае не All. КК

Терминал последовательно

В: Я поддерживаю некоторое древнее производственное оборудование, и у меня есть несколько тестовых программ, я написал их много лет назад на QuickBasic. Мониторинг результатов теста производит HyperTerminal, настроенный на эмуляцию DEC VT100 на COM1 (9600 бод). Еще я использую анализатор Thurlby LA160 и осциллограф Velleman. Все это работает под Windows.

Не расскажете ли вы, как получить такой же VT100 на Linux? Нужно ли мне изучить Wine для запуска Thurbly и Velleman под Linux? И что будет с моими QuickBasic-программами (откомпилированными)? У меня сейчас установлены Windows ME и SUSE 10.0.

Алан Киббл [Alan Kibble]

О Последовательные порты в Linux обозначаются, начиная с /dev/ttyS0, который соответствует COM1. Возможно, у Вас даже настроена ссылка с /dev/modem на /dev/ttyS0. Вместо HyperTerminal обычно используют Minicom, доступный для множества дистрибутивов, включая SUSE 10.0. Minicom имеет режим эмуляции VT100, как раз он Вам и нужен. Пакет SUSE не имеет глобальных настроек, так что после установки надо сперва запустить

minicom -s

от имени суперпользователя. Чтобы иметь право записи в последовательные устройства, Вы также должны входить в группу UUCP; можно это настроить в Yast > Security And Users > User Management, но изменения войдут в силу только после перезапуска KDE.

Для запуска любого проприетарного ПО Вам, скорее всего, потребуется Wine, и вместо COM1 для доступа к оборудованию будет использоваться /dev/ttyS0. Ваше ПО на QuickBasic тоже заработает под Wine, но в долгосрочной перспективе будет лучше портировать его на что-нибудь вроде Gambas (Linux-эквивалент Visual Basic) или какой-либо кросс-платформенный язык типа Python. НБ

Захват пространства

В Мне нужно добавить пространства подкачки в мою Linux-систему, но неразмеченного места на диске больше нет. Что тут можно сделать?

И. Уоллис [I Wallis]

О GNU/Linux значительно превосходит другие ОС гибкостью, в том числе и по части управления памятью. Во-первых, определите, какого размера файл подкачки Вам нужен – допустим, надо добавить гигабайт. Далее выберите раздел, где достаточно свободного места. На моей машине, например, в /opt-разделе размером 4 ГБ занято только 1,5 ГБ.

Теперь настало время создать файл, который будет использоваться для подкачки. Для этого вам нужна команда dd, среди ее аргументов – размер блока и их количество. Для создания гигабайтного файла используйте такую команду:

dd if=/dev/zero of=/opt/swapfile bs=1G count=1

Эта команда создаст файл размером в 1 ГБ и запишет его в /opt/swapspace. Параметр if указывает источ- ник записи, of – файл назначения. Отформатируйте этот файл:

mkswap /opt/swapfile

После этого можете активировать его следующей командой:

swapon /opt/swapfile

Активные источники подкачки вы можете увидеть, выполнив команду cat /proc/swaps или free. Чтобы подкачка подключалась при загрузке системы автоматически, добавьте в /etc/fstab соответствующую строку:

/opt/swap swap defaults 0 0

КК

ADSL

В Я купил LinuxFormat с диском Mepis [LXF79], потому что он превосходно определяет оборудование, а у меня с этим проблемы. К сожалению, соединение с Интернет не работает и здесь. Можете ли вы подсказать, как заставить работать ADSL в Linux? У меня Xircom Creditcard Ethernet 10/100 + Modem 56. В настройках соединения я нашел, что адрес дожен присваиваться по DHCP. Попытался скопировать другие настройки, включая IP-адреса, маска подсети, шлюз и DNS – ничего не помогает.

Джимми Янссен ван Раай [Jimmy Janssen van Raay]

О Сетевая сторона этой карты обрабатывается модулем xirc2ps-cs, в Mepis он включен. Во-первых, проверьте, была ли обнаружена карта. Откройте терминал и наберите

su -
# введите пароль root
lsmod | grep xirc

Если вывод пуст, значит, модуль не загружен, и надо его загрузить:

modprobe xirc2ps-cs

На сей раз пустой вывод будет значить, что все в порядке. Теперь запустите

ifconfig

для просмотра ваших сетевых интерфейсов. Их должно быть два: lo и ваш сетевой интерфейс, скорее всего eth0.

Запустите Mepis OS Centre из меню KDE, перейдите в секцию Network и выберите ваш сетевой интерфейс. Во вкладке DNS укажите Use DHCP For IP, а также выберите DHCP на вкладке DNS. Теперь Ваша сеть должна настроиться автоматически. Если карта при загрузке системы не запускается сама, выполните изпод root такую команду:

echo “xirc2ps-cs” >>/etc/modules

Она добавит имя модуля в список автозагружаемых. НБ

Какойтотам.rpm

В У меня два вопроса, и оба касаются забытых имен программ.

Первый касается удаления файлов по собственной глупости (компьютеры делают не то, что вы хотите, а то, что вы велите им сделать, и мне надо защититься от собственных ошибок). Я когда-то читал (может, даже и в вашем журнале) про демон undelete. Все команды удаления файлов перехватываются – наверное, переопределен системный вызов unlink или что-то вроде – и файлы вместо удаления перемещаются в корзину. А потом оказывается, что немедленно очистить корзину, как большинство и делает, вы не можете. Файлы не удаляются, пока размер корзины не превысит определенного порога или пока объем свободной памяти не упадет ниже другого порога.

Второй – я web-разработчик, и мне нужно тестировать страницы на как можно большем количестве браузеров. Я слышал о проекте браузера KHTML на GTK, он бы мне очень пригодился, да не могу вспомнить имя проекта. С Konqueror связываться не хочется: придется целиком загружать KDE, а полнофункциональный браузер мне ни к чему. Хватило бы и легкой альтернативы.

Дэйв Спейси [Dave Spacey]

О Что касается первой программы – это, наверное, Delsafe (http://delsafe.cjb.net). Она работает в точности как Вы описали, подменяя удаление файлов на перемещение их в корзину. Многократные удаления файла с одним и тем же именем ассоциируются с отметками времени, а программа undel восстанавливает файлы. Другой вариант – libtrash (http://pages.stern.nyu.edu/~marriaga/software/libtrash), имеющая похожие функции.

Я подозреваю, что, говоря про проект KHTML, Вы имели в виду GTK+ Webcore (http://GTK-webcore.sourceforge.net). Этот проект пока сыроват, и вряд ли он Вам подойдет. Я бы все-таки посоветовал взять Konqueror, особенно если на Ваших страницах используется JavaScript. Не так все плохо: устанавливать весь KDE не потребуется, нужны лишь пакет kdelibs и сам Konqueror. Во многих дистрибутивах пакет для KDE теперь расщеплен, и достаточно установить один Konqueror вместо всего kdebase, как было раньше. НБ

О чернухе

В Мой вопрос к вам по поводу черных списков DansGuardian. Что ни день появляется несметное количество сайтов, и системный администратор должен периодически обновлять эти списки. Не у всех хватает средств на оплату такой работы. Можно ли обновлять списки автоматически с помощью web-пауков? А если да, то как это сделать, что моя система может из-за этого выиграть или проиграть? Не могли вы привести необходимый минимум требований, чтоб запускать DansGuardian без проблем?

Гбенга Дада [Gbenga Dada]

PS: И что нужно делать, чтобы основать группу поль-зователей Linux (LUG) в Нигерии?

О Прежде всего учтите: DansGuardian занимается не только черными списками. Это фильтр содержимого, в основном работающий с контентом страниц. И он время от времени обновляет свой список «нехороших» фраз, так как создатели сайтов постоянно норовят обойти фильтрацию, а заодно волей-неволей и Ваш список обновит. Свежий вариант списка находится на http://contentfilter.futuragts.com/phraselists.

Использование пауков для обновления черных списков URL было бы очень затратно по трафику, поскольку они будут проверять и те сайты, которые Вы никогда не посетили бы, причем используя один и тот же список фраз. Можно скачивать обновляемые списки URL – некоторые из них распространяются на коммерческой основе, некоторые бесплатны. Коммерческие списки иногда просто склеивают несколько бесплатных; Вы платите за то, чтоб самим этого не делать. На сайте DansGuardian (секции xtras и Add-ons) есть скрипты, умеющие скачивать и устанавливать последние версии списков. Также Вы можете получить их с сайта Squidguard: http;//www.squidguard.org/blacklist.

Рекомендации по запуску программы зависят от ее использования. Для домашней сети требования минимальны. Основная нагрузка на систему происходит при начальной загрузке правил, так что большой объем памяти важнее быстрого процессора. Влияет также состав задач, работающих на Вашей машине

Все, что нужно для создания группы пользователей Linux – это люди и место встречи или сайт и список рассылки, если Ваша группа существует только в киберпространстве. Никаких формальных требований нет, нужны лишь люди, разделяющие Ваш интерес к Linux. Одни группы устраивают официальные встречи, с докладами участников, другие просто собираются поболтать про Linux, да и не только про Linux. Вы найдете их уставы на сайтах http://en.tldp.org/HOWTO/User-Group-HOWTO.html и http://linuxmafia.com/faq/Linux_PR/newlug.html. НБ

Плохая опция

В Я как-то попытался смонтировать один из моих внешних дисков, и получил следующее сообщение об ошибке:

mount: wrong fs type, bad option, bad superblock on /dev/hda1, or too many mounted file systems

Проверив диск с помощью fsck, я получил вот что:

fsck.ext3: No such file or directory while trying to open /dev/hda1

Суперблок не читается и не описывает правильную файловую систему ext2.

Диск я, допустим, заменю, но данные с него хотелось бы восстановить. Возможно ли это?

Д.Клингшотт [D Klingshott]

О К счастью, да! Файловые системы ext2 и ext3 создают резервные суперблоки, записывая их через определенные интервалы на диск, Вам просто нужно их найти и указать на них fsck после починки файловой системы. Местоположение суперблоков зависит от размера раздела. Простейший способ их обнаружить – перезапустить mke2fs с ключом -n. Делать mke2fs ничего не будет, но сообщит, что бы он предпринял:

mke2fs /dev/hda

Данная команда среди прочего выведет список суперблоков в файловой системе. Используя эту информацию, вы можете при помощи fsck восстановить суперблок с одного из этих мест.

fsck -b 8193 /dev/hda

Здесь 8193 – номер блока, полученный из вывода предыдущей команды. После этого можете смонтировать файловую систему как обычно. КК

Две головы лучше

В На работе у меня ПК с двумя мониторами и с дуальной загрузкой: Ubuntu или XP. Дома у меня тоже два монитора. Все работает замечательно (спасибо вашей статье об использовании двух мониторов), да только моя домашняя машина ужасно тормозит. На работе у меня «двухголовая» видеокарта (потому что PCIe), я установил драйверы Nvidia и получил комфортную работу с аппаратным ускорением.

Дома у меня карта AGP и карта PCI, на два источника видео. У них разные чипсеты: одна использует драйвер nvidia-legacy, другая – новую версию. Сначала я хотел установить оба набора и указать для каждой видеокарты свой драйвер в настройке X Window. К сожалению, оба драйвера называются nvidia, то есть мне приходится использовать официальный драйвер для одного из адаптеров вместе с открытым драйвером для другого. Не стоит и добавлять, что мой рабочий стол стал медленным и неуклюжим.

Ищу способ установить оба драйвера и как-то прописать в файле конфигурации, чтобы нужный драйвер использовался для нужного адаптера.

У меня GeForce FX 5200 (AGP) и Riva TNT2 Model 64 Pro (PCI).

Эндрю Фишер [Andrew Fisher]

О Это не разные драйверы, а разные версии одного и того же. Две различные версии модуля ядра заставить работать одновременно невозможно. Тем не менее, альтернативы имеются.

Можно, конечно, для одной из карт взять драйвер nv, но Вы и сами убедились, что он тормозит. Можно установить старую версию драйвера NVIDIA, одну из совместимых с TNT2 – подойдут 1.0.6629 или 1.0.7176, это последние версии, работающие с TNT2 и уже поддерживающие FX5200. На время это сойдет, однако с последними версиями ядер старые драйверы Nvidia имеют проблемы, так что будущее обновление ядра теоретически может все сломать. А можно поискать дешевую не-Nvidia карту для второго дисплея, или же более новую Nvidia, поддерживающую последние драйверы.

Самое же простое решение Вы использовали на работе. FX5200 – это двухголовая карта. К ней нужен лишь DVI-VGA-адаптер, если, конечно, у вас не DVI-монитор. Настройки будут те же, что и на работе. Включите в свой xorg.conf такие строки:

Section “Device”
Identifier “NVIDIA Corporation NV34 [GeForce FX 5200] (rev a1)-0”
VendorName “NVIDIA”
Driver “nvidia”
BusID “PCI:1:00:0”
Screen 0

НБ

Немецкая овчарка

В Я использую Linux уже более пяти лет. По роду работы мне приходится составлять много документов, вести переписку. Поэтому, когда появилась информация о beagle она меня сразу же очень заинтересовала. Установил FC5 с Вашего диска, KDE (в силу привычки), локаль koi8-r, попытался настроить beagle (beagle-0.2.6-1.fc5.1) и столкнулся с двумя проблемами:

  1. beagle не индексирует файлы с русскими названиями.
  2. нет поиска по файлам Microsoft Word (хотя по описанию программы вроде бы должен быть).

Вторая проблема решилась установкой внешнего фильтра

<filter>
  <mimetype>application/msword</mimetype>
  <extension>.doc</extension>
  <extension>.DOC</extension>
  <command>catdoc</command>
  <arguments>%s</arguments>
</filter>

Но проблему c файлами, названными кириллицей (системная локаль koi8-r) победить никак не удается. Можете ли вы помочь мне?

Константин Макуха

О Проблема кроется в том, что среда времени выполнения Mono, используемая Beagle, ожидает увидеть на диске имена файлов в кодировке UTF-8. FAQ Mono (http://www.mono-project.com/FAQ:_Technical) рекомендует просто сменить системную кодировку, но если это по каким-то причинам нежелательно, есть обходной путь – MONO_EXTERNAL_ENCODINGS. Эта переменная окружения содержит список кодировок, в которые Beagle (как приложение Mono) попытается «втиснуть» найденное имя файла. Команда

export MONO_EXTERNAL_ENCODINGS=”koi8-r”

добавленная перед запуском Beagle, решит Ваши проблемы. К сожалению, Beagle не предоставляет особых средств для настройки своего предстартового окружения, поэтому попробуйте добавить указанную выше команду прямо в rc-скрипт или сценарий-обертку beagled. Если Вы используете другие приложения Mono, которые запускаете из консоли, подумайте также о добавлении ее в свой файл .bashrc. ВС

* Нагрузка на всех

В В моей фирме несколько web-серверов, используемых для Интернет/Интранет-хостинга. Мы хотим регулировать нагрузку по трафику, однако не хотим покупать балансировщик или использовать round robin DNS. Можно ли это сделать с помощью Linux?

К.Дэвидсон [K Davidson]

О Можно! GNU/Linux пользуется Linux Virtual Server (http://www.linuxvirtualserver.org), код которого, ipvs, включен в последние версии ядра. А если Ваше ядро старше 2.4.28, нужно просто взять заплатки к ним и перекомпилировать. Вы можете узнать, включен ли ipvs, таким способом:

cat /proc/net/ip_vs

Если файл не существует, попробуйте загрузить модуль, выполнив

modprobe ip_vs

Если модуль успешно загружен или уже встроен в ядро, двигаемся дальше. На выбор есть три варианта реализации LVS: прямая маршрутизация, туннелирование или NAT. NAT настроить проще всего, но потребуется лишняя сетевая прослойка. Прямая маршрутизация работает быстрее всего, однако, она может вызвать проблемы у принимающего web-сервера.

Предположим, вы выбрали NAT. Вашему балансировщику загрузки нужны две сетевые карты: одна внутри сети, где находится web-серверы, другая в демилитаризованной зоне (DMZ) или внешней сети – в общем, там, куда посылаются ваши HTTP-запросы. Пусть это сеть 10.0.0.0, а сеть с web-серверами – 192.168.1.0. Присвойте машине свободные адреса, например, 10.1.0.1 и 192.168.0.1, после чего настройте таблицу маршрутизации по умолчанию для каждого web-сервера:

route add -net 0.0.0.0 mask 0.0.0.0 gw 192.168.1.1

Теперь предстоит настройка LVS: как направлять трафик по машинам. Есть несколько балансирующих алгоритмов, включая round robin, соединение с наименьшей нагрузкой и соединение с хэшированием назначения (узнать, как они работают, можно на сайте LVS). Например, выберем round-robin – при этом трафик просто отфутболивается всем серверам по очереди, прочие алгоритмы, в основном, такие же. Для операций с таблицей lpvs/LVS вам понадобится программа lpvsadm, вышедшая в июле 2003 г. В большинстве современных дистрибутивах она уже есть. Если ваш дистрибутив постарше, придется ее скомпилировать.

Первым делом надо настроить VIP-адреса, или виртуальные IP, где будут получать ваши запросы. Для описанной выше сети выполните следующее:

 /sbin/ipvsadm -A -t 10.1.0.1:http -s rr

Теперь добавьте ваши web-серверы в VIP (подставьте свои IP-адреса):

/sbin/ipvsadm -a -t 10.1.0.1:http -r 192.168.1.10:http -m -w 1
/sbin/ipvsadm -a -t 10.1.0.1:http -r 192.168.1.11:http -m -w 1
/sbin/ipvsadm -a -t 10.1.0.1:http -r 192.168.1.12:http -m -w 1

Добавятся три web-сервера с одинаковым «весом» 1 (см. опцию -w, weight). Если вы хотите переключить на один из серверов больший трафик, просто задайте для него больший вес. Чтобы сервер не принимал трафик вообще, установите его вес в 0. КК

* Украшаем Gnome

В Подскажите, пожалуйста, можно ли в GNOME сделать так, чтобы фон рабочего стола регулярно изменялся (в KDE такая функция называется “Слайд-шоу”)? И нельзя ли извлечь иконки из EXE-файлов Windows, чтобы затем использовать их как значки приложений в GNOME? Спасибо

Дмитрий Худорожков

О Насколько нам известно, встроенной функции слайд-шоу в Gnome нет, но это не значит, что ее нельзя смоделировать - например, простым shell-скриптом. Ключевой момент – вызов gconftool для обновления фона рабочего стола, все остальное вы легко можете подстроить под свои нужды. Самый простой сценарий может выглядеть следующим образом:

#!/usr/bin/bash
file_list=$1
delay=$2
while read picture; do
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type string 
--set /desktop/gnome/background/picture_filename $picture
sleep $delay
done < $file_list

Сохраните его куда-нибудь, например, в /usr/local/bin/gslideshow (потребуются права root) и сделайте исполняемым:

chmod +x /usr/local/bin/gslideshow

Скрипт принимает два параметра - имя файла со списком картинок и задержку в секундах. Файл-список в простейшем случае можно сгенерировать командой ls:

ls <каталог с картинками> | sort >~/backgrounds.lst

Тогда команда вызова скрипта может иметь следующий вид

/usr/local/bin/gslideshow /home/user/backgrounds.lst 60

Более продвинутый вариант сценария можно найти на форуме Ubuntu: http://ubuntuforums.org/archive/index.php/t-2801.html

Что же касается пиктограмм, сохраненных в ресурсах EXE-файлов, рекомендуем Вам извлечь их при помощи любого редактора ресурсов Windows (подойдет даже тот, что входит в состав MinGW) и затем сохранить в формате ICO – с ним работать гораздо проще. ВС

Часто задаваемые вопросы… Шифрование файлов

Способы сделать ваши файлы недоступными.
  • Опасаюсь, что правительство влезет в мой компьютер и изымет у меня свидетельства высадки инопланетян. Как мне себя защитить?

Можете зашифровать файлы с помощью, например, GnuPG. Тогда содержимое файлов будет недоступным, пока вы его не дешифруете с помощью пароля. GnuPG, или GPG – GPL-заменитель PGP, стандарта де-факто для шифрования файлов.

  • Нет ли способа попроще, чтобы обезопасить файлы?

Есть такой: с помощью зашифрованной файловой системы. Она автоматически шифрует файлы при записи и дешифрует при чтении. Вы набираете пароль только один раз, когда монтируется сама файловая система. Если ваш ноутбук будет потерян или украден, никто не сможет прочесть информацию с зашифрованных файловых систем (обычно это /home).

  • Почему только /home? А все зашифровать нельзя?

Нет, потому что будет невозможно получить доступ к ПО, необходимому для монтирования разделов. Да и какой смысл зашифровывать системные директории, если там только пакеты с бесплатно загружаемых дисков?

  • И что мне надо сделать?

Тут есть альтернативы. Ядро Linux содержит dm-crypt, который можно использовать для создания полностью зашифрованных файловых систем. Имеется несколько способов управления созданием и монтированием таких файловых систем. Я предпочитаю LUKS (Linux Unified Key Setup); другой вариант – EncFS. Это файловая система FUSE (см. LXF76). Вместо шифрования всей файловой системы, она шифрует индивидуальные файлы: их имена и содержимое. Это не самый безопасный вариант, поскольку размеры файлов и их права доступа все-таки видимы, но он более удобен.

  • А как насчет резервных копий?

Если вы шифруете всю файловую систему, нужно смонтировать ее перед снятием копий; для защиты резервных копий зашифруйте их с помощью GPG. Когда вы используете EncFS, сама файловая система стандартна, зато содержимое файлов выглядит как мусор. Можете использовать любую программу для сохранения их резервных копий, файлы останутся зашифрованными. Это удобно, если резервные копии хранятся на удаленном сервере.

  • Это спасет файлы, если я потеряю свой ноутбук?

Увы, нет, если его похитят спящим (suspend) при неразмонтированной зашифрованной файловой системе. EncFS автоматически выполняет размонтирование файловой системы, если она какое-то время не используется – но только при отсутствии открытых файлов. Если для шифрования раздела, например, /usr, вы используете dm-crypt, нужно выйти из системы и размонтировать /usr перед переводом в режим спячки.

Краткая справка по… top

Удостоверьтесь, что ресурсы системы распределены справедливо.

Казалось ли вам когда-нибудь, что ваш компьютер еле ползает, не реагирует на ваши действия или вгоняет в клинч жесткий диск? Если такое случится опять, наберите в терминале top. Эта программа вмещает много информации в малую площадь. По умолчанию в верхней строке отображается: время работы системы (uptime), число работающих пользователей, число выполняющихся задач и так далее. Здесь также отображается использование процессорного времени для пользовательских задач (us), системных операций (sy), неприоритетных задач (ni), бездействующих (id) и ожидающих (wa) процессов. Бездействие показывает, какой запас процессорных ресурсов у вас еще есть. Ожидающие процессы – это такие программы, которые ждут каких-то событий (обычно ввода/вывода).

top показывает, сколько используется памяти и циклов процессора.

На рисунке показан список задач, отсортированный по использованию процессорного времени – тут легко определить, кто сожрал львиную долю циклов вашего CPU. Для смены критериев сортировки, например, по использованию памяти, нажимайте F.

Top не просто отображает ваши процессы: вы можете влиять на их работу. Нажмите k, чтобы убить процесс, r – чтобы понизить его приоритет, если он отбирает слишком много ресурсов. Понизить приоритет – все равно, что сказать процессу «будь повежливей, пропускай других вперед». Убийство и понижение приоритета требуют указания идентификатора процесса (PID), помещенного в левой колонке. Чтобы по ошибке не угробить невиновного, после набора top в X-терминале просто щелкните дважды на нужном ID и вставьте его средней кнопкой мыши.

У top есть множество опций, большинство из которых имеют горячую клавишу. Самая нужная клавиша – h, она выводит справочную информацию.

[Вы также можете попробовать htop – улучшенную версию стандартного top, доступную по адресу http://htop.sourceforge.net, – прим. ред]

Личные инструменты
  • Купить электронную версию
  • Подписаться на бумажную версию