LXF93:Ответы

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

Перейти к: навигация, поиск

Содержание

Ответы

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

Инсталляция с DVD

В: Я полный новичок в Linux, но cумел установить OpenSUSE 10.2 с DVD LXF89. Это нечто! До сих пор под впечатлением от увиденного. Возможно, мой вопрос выдаст мое невежество: как перенести другие программы с DVD (например, FLPhoto) на мой ПК, чтобы они работали? Инструкций по перемещению, установке, встраиванию и другим методам сделать программу «инсталлированной» и работающей я не нашел, наверняка потому, что это известно всем,кто пользуется DVD и Linux. Дайте же и мне ниточку. Михаэль Мюллер [Michael Mueller]

О: Инсталлировать программу можно по-разному, в зависимости от способа ее упаковки. В Вашем случае существуют два файла, содержащих FLPhoto: FLPhoto-1.3-source.tar.gz и FLPhoto-1.3-linux-intel.rpm. SUSE использует формат пакетов RPM, поэтому Вам нужен второй файл. Инсталлировать его можно с помощью Yast – инструмента администрирования SUSE на все случаи жизни – двойным щелчком на файле. У Вас спросят пароль администратора (установка программы предполагает запись в системные каталоги), затем появится инсталлятор, и останется лишь нажать кнопку «Install» (Установить).

Если RPM-файла нет, то остается возможность установить программу из архива с исходными текстами (эти файлы обычно оканчиваются на .tar.gz или .tar.bz2) – см. далее. Такая инсталляция предусматривает наличие компилятора, который SUSE по умолчанию не устанавливает. Но он все же присутствует на DVD: все, что Вам нужно – запустить Yast, выбрать пункт Software Management (Управление программами), набрать в поле поиска gcc, выбрать пакет gcc и нажать кнопку «Install». Вместе с пакетом gcc будут установлены все компоненты, необходимые для сборки программ из исходных кодов. НБ

Оптимизация Optus

В: Я из Австралии, у меня широкополосное подключение к Интернету через Optus. Не мог заставить Linux подключиться к модему (Siemens SpeedStream 4200), пока не поставил Gentoo 2006.1. Когда все заработало, я заметил такую разницу: Gentoo использует dhcpcd, а другие работают через pump либо dhclient. Mandriva 2007 предлагает все три, но работает лишь dhcpcd. Начав разбираться, я увидел, что dhcpcd применяет параметр –h hostname.

Добиться работы других программ я не смог, зато заработали другие дистрибутивы (DSL-N, Knoppix и Ubuntu): я монтировал на них раздел Gentoo и запускал dhcpcd, который тут же выдавал сеть. Другие программы получали вроде бы корректный IP-адрес, но не могли подключиться, либо обрывали соединение, прежде чем я мог им воспользоваться. Я думал, что Optus нужен особый модем, но он работает и с другими марками модемов. До того, как я нашел Gentoo, приходилось пользоваться фирменным установочным диском в Windows XP. В чем различие этих программ? Питер Соренсен [Peter Sorensen]

О: Похоже, эта проблема характерна для данного модема. При работе с некоторыми DHCP-программами он ведет себя в точности как Вы описали: получает IP-адрес, а затем обрывает подключение. Решений здесь два, и одно из них Вы уже нашли: пользуясь dhcpcd, можно передать модему hostname с параметром -h. Эквивалент для pump – это -u или --hostname, а вот для dhclient нет ничего. Может оказаться, что Ваш провайдер или Ваш модем чересчур придирчивы к формату направляемых Вами DHCP- запросов.

Поскольку поддержка DHCP этим модемом откровенно неустойчива, более надежным может оказаться другое решение: постоянный IP-адрес. Необходимо узнать IP-адрес, назначаемый вашему модему – это можно сделать, подключившись через dhcpcd, из-под Windows или путем проб и ошибок. Конкретный адрес зависит от провайдера, но по умолчанию для OptusNet обычно 10.1.1.1. Узнав IP-адрес, несложно настроить Ethernet-интерфейс Вашего компьютера на использование статического адреса. Возьмите адрес одной подсети с модем (скажем, 10.1.1.2) и назначьте шлюзу и DNS-серверу адрес модема (10.1.1.1). Маску подсети необходимо установить в 255.255.255.0.

С такой настройкой проблемы должны исчезнуть. DHCP здорово сберегает время при работе в крупных сетях или при перемещении от одной сети к другой с ноутбуком. А в небольшой домашней сети лучше выделить каждому устройству постоянный адрес. НБ

Почта отовсюду

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

  • Хочу забирать почту с сервера ISP разом (оставлять ее там ни к чему).
  • На всех машинах я хочу использовать Thunderbird в качестве почтового клиента.
  • Все компьютеры должны иметь доступ ко всем моим почтовым ящикам, чтобы, например, отправив сообщение с одного из ноутбуков, я мог видеть отправленное сообщение на втором ноутбуке и на настольном ПК.
  • Все это должно работать как в Linux, так и в Mac OS X 10.4.
  • Мне нужно открытое ПО.

Пробовал просто открыть общий доступ к почтовой директории через Samba, но – не сработало, файлы индекса оказались испорчены. sfinnie, из форумов LXF

О: Вы можете добиться своего двумя способами. Один из них – забирать почту с сервера через POP3 и синхронизировать почтовые директории на двух машинах. Unison (http://www.cis.upenn.edu/~bcpierce/Unison) превосходно справляется с такими задачами, а также с синхронизацией любой части Вашей домашней директории, которую Вам хотелось бы обновлять на нескольких компьютерах. Unison – лучший выбор для непрерывной синхронизации двух компьютеров: с его помощью мой ноутбук идет в ногу с настольным ПК. Unison использует протокол rsync для экономии трафика и времени, но, в отличие от rsync, обрабатывает еще и ситуации, когда после последней синхронизации файлы обновились на каждом из компьютеров. Настройка работы с тремя машинами потребует, вероятно, некоторых дополнительных усилий, но определенно возможна.

Другой вариант, относящийся лишь к почте – это установка собственного IMAP-сервера на Вашем настольном ПК. Для доставки сообщений с сервера провайдера и их локального хранения можно воспользоваться Fetchmail, затем указать почтовым программам на каждом компьютере на IMAP-сервер на Вашем настольном ПК (на самом ПК следует проделать то же самое, присвоив серверу localhost). Ваша почта хранится на сервере вместе с информацией о статусе, т.е. когда Вы прочтете сообщение на одном компьютере, оно получит отметку о прочтении на всех остальных. В отличие от POP3, IMAP позволяет хранить почту на сервере и читать ее отовсюду через Интернет. Большинство почтовых клиентов могут синхронизировать локальное хранилище с сервером, поэтому можно будет получить локальные копии сообщений для чтения оффлайн.

Я предпочитаю Dovecot (http://dovecot.org), хотя лучше, вероятно, воспользоваться сервером, устанавливаемом в Вашем дистрибутиве по умолчанию: большая часть работы по настройке уже проделана во время инсталляции, к тому же вам помогут форумы и списки рассылки дистрибутива. Чтобы выполнить Ваши несложные требования, не нужно особо отклоняться (если это вообще понадобится) от стандартной настройки. Dovecot wiki, по приведенному адресу, содержит множество полезной информации. Еще одно преимущество такой системы – если в Вашей семье несколько пользователей, можно предписать Fetchmail (возможно, с помощью Procmail) раскладывать почту по их индивидуальным почтовым ящикам. Тогда каждый сможет получить доступ к своей почте через один и тот же IMAP-сервер (под разными учетными записями, конечно). НБ

Switchdesk или su?

В: Инсталлировал Fedora Core 6 и загрузил 200 с лишним обновлений. Хотел выйти из режима администратора, но не нашел команды switchdesk. Не переустанавливать же все только из-за этого! Рон Уайт [Ron White]

О: Прежде всего, вообще не следовало запускать рабочий стол от имени администратора! Никакой нужды в этом нет: некоторые дистрибутивы даже намеренно затрудняют загрузку рабочего стола в режиме root. Все программы для системного администрирования можно запускать с рабочего места обычного пользователя. Если понадобятся особые привилегии, у Вас попросят пароль администратора, и сбросят эти привилегии сразу же, как только в них отпадет необходимость. Если Вам понадобилось запустить любую другую привилегированную программу, откройте терминал, станьте администратором при помощи команды su – и запускайте ее на здоровье. Это гораздо безопаснее, чем запускать от имени администратора целый рабочий стол (при условии, что вы завершите root-сессию, начатую su, как только в ней отпадет необходимость).

Впрочем, switchdesk никуда не делась. Выберите Add/Remove programs (Добавить/Удалить программы) из меню Applications (Приложения) и наберите в строке поиска switchdesk – вероятно, вместе с switchdesk Вы получите switchdesk-gui. Установив программу, можно будет запустить ее через System > Preferences > More Preferences > Desktop Switching Tool (Система > Параметры > Дополнительно > Переключение рабочих столов). Но это не метод запуска программ от имени администратора: switchdesk предназначена для того, чтобы пользователь мог переключаться между рабочими столами, отсюда и название. Держите администратора в подобающем месте: заприте его в дальний ящик и извлекайте лишь в случае крайней нужды.

Необходимость в переустановке дистрибутива Linux возникает нечасто. На моем трехлетнем компьютере постоянно работает Linux – система неоднократно обновлялась, но ни разу не переустанавливалась. Переустановка не снимает проблему, она лишь удаляет среду, в которой проблема возникла… пока она не возникнет снова. Если Вы устраните проблему сами, не сметая всю систему, она уйдет навсегда (или, как минимум, ее будет проще устранить в следующий раз). НБ

Из исходников

В: В Linux я совсем зеленый, хотя она напоминает мне Amiga прошлых лет. После нескольких попыток, наконец, установил Fedora Core 5 (двойная загрузка с Win XP). Пробовал инсталлировать FreeBasic, следуя вашим инструкциям, но безуспешно! Похоже на то, что не распознается ./configure и некоторые другие ваши инструкции. Гордон Оутрим [Gordon Owttrim]

О: Одно из существенных различий между оболочками Linux и Amiga – Linux не включает текущую директорию в путь поиска по умолчанию, как это делала AmigaDOS. Поведение Linux безопаснее, но тогда при запуске скрипта или программы из текущей директории необходимо указывать полный путь. Текущая директория обозначается как ‘.’, поэтому ./configure означает «запустить программу или скрипт под названием configure, находящийся в текущей директории». Отсюда ясно, что команда ./configure срабатывает лишь в том случае, если файл configure в данной директории имеется.

Компиляция из исходных текстов обычно включает в себя распаковку архива, переход в каталог, созданный на предыдущем шаге, и запуск ./configure, сопровождаемый make и make install – например, вот так:

 tar xf foo-1.2.3.tar.gz
 cd foo-1.2.3
 ./configure
 make
 make install

Хотя это справедливо для 90% приложений Linux, есть немало исключений. После cd загляните в файлы README или INSTALL. Там содержатся специальные инструкции по компиляции и установке данного приложения. Так, если Вы хотите установить FreeBasic из исходных текстов, понадобится станцевать configure – make – make install несколько раз после загрузки двух архивов. Альтернатива – воспользоваться скомпилированным бинарным архивом, FreeBASIC-v0.16b-linux.tar.gz, для которого необходим совершенно иной метод инсталляции, через собственный скрипт. Прочтите readme.txt внутри этого архива, чтобы ознакомиться с деталями инсталляции. Настоятельно просим Вас прочесть файл, а не воспроизводить наши инструкции, так как между версиями могут появиться некоторые различия. Файл readme.txt следует считать непреложным.

При инсталляции из исходных текстов всегда следует внимательно ознакомиться с инструкциями (в противоположность использованию менеджера пакетов), так как Вы отдаете команды от имени администратора, а это может неблагоприятно отразиться на состоянии системы в случае ошибки. НБ

OOo, как сложно!

В: По поводу OpenOffice.org 2.1 с DVD от LXF90: в Linux я недавно, поэтому не знаю ответа на свой вопрос, да и любой ответ мне, наверное, нужно будет «разжевать». Следуя инструкциям журнала, я попробовал установить OpenSUSE 10.2. Все шло гладко до тех пор, пока я не ввел

su -c “rpm -ivh *”

что выдало сообщение:

‘desktop-integration: not an rpm package (or package manifest): Is a directory’

Тут мои скудные познания и кончились. Проделал то, что казалось мне логичным, и перемещал папку desktop-integration повсюду, но ничего не помогало. Пробовал обойти проблему со всех сторон, пока не понял, что просто блуждаю во мраке. Николас Кейтер [Nicholas Cater]

О: Если оболочка замечает в командной строке *, то она заменяет эту звездочку на все под ходящие файлы – звездочка означает «соответствие любой строке»; в вашем случае, всем RPM-файлам и директории desktop-integration. Будьте конкретнее и используйте

 su -c “rpm -ivh *.rpm”

Теперь это соответствует всему, что оканчивается на .rpm, а вам другого и не надо. Если вы хотите инсталлировать RPM-файлы из директории desktop-integration, разверните команду следующим образом:

 su -c “rpm -ivh *.rpm desktop-integration/*.rpm”

Заметьте, что простая добавка desktop-integration/* не сработает, так как не все файлы в этой директории являются RPM-пакетами, и вы вернетесь к первоначальному сообщению об ошибке. МС

Модем занемог

В: С вашего диска [LXF87] установил Mandriva 2007 на Dell 5150. На Dell нет ни параллельного, ни последовательного портов, только USB. У меня Sitecom 56k V.92 USB-модем, модель DC-009, но я не смог подключить к нему Mandriva. USB-мышь и клавиатура работают прекрасно. Командой modprobe я загружаю модуль cdc_acm, но он не подключается к tty, хотя KPPP видит ttyS0 и ttyACM0 и сообщает ‘modem busy’ [модем занят], когда я запрашиваю модем по ttyS0 или по ttyACM0.

Напрасно я прочесывал Сеть, в том числе http://www.linux-usb.org. А на Windows XP модем без проблем заработал. Разве эти проблемы не ушли в прошлое? Мартин Лоуренс [Martin Lawrence]

О: Может оказаться, что модем либо не полностью поддерживается, либо требует некоего firmware. Вы не смогли найти сведения о нем в Сети – но это неудивительно. Многие из таких устройств производятся одним изготовителем, а выпускаются под маркой другого. Но чтобы получить право на продажу в США, все они нуждаются в утверждении FCC (Federal Communications Commission, Федеральной комиссии по связи), поэтому узнать о том, что они из себя представляют, можно по их ID-коду FCC. Введите код в поле внизу страницы http://www.hardwaresecrets.com/page/fcc, и вы узнаете, кем изготовлен Ваш модем. Подкрепленный добытой таким образом информацией, поиск на сайтах вроде http://www.linux-usb.org окажется гораздо более плодотворным.

Еще одна сложность вашей ситуации – USB-модемы недостаточно стандартизованы, лишь немногие из них соответствуют спецификации CDC-ACM. Ваши клавиатура и мышь хорошо работают именно потому, что отвечают требованиям стандарта (USB HID). Один из вариантов обхода проблемы состоит в использовании последовательного модема через специальный USB-адаптер. У меня есть пара таких штучек, с разными чипсетами (обе недорого куплены на eBay), и они хорошо работают со всеми последовательными устройствами, которые я пробовал (за исключением ИБП). Таким способом можно использовать не только модем, но и любое необходимое Вам последовательное устройство. Мы-таки избавились от параллельного порта и трехдюймового дисковода, но старый последовательный порт упорно не желает сдаваться. НВ

Вопрос Qemu

В: Меня интересует эмулятор Qemu, но он не работает так, как описано в вашем журнале. Сообщает, что ему нужен GCC 3, а на OpenSUSE 10.2 есть только GCC 4. Могу я узнать, опробует ли хоть кто-то еще из вашего коллектива различные ваши программы и идеи, прежде чем публиковать их в журнале? Джозеф Лэм [Joseph Lamb]

О: Qemu – одна из очень немногих программ, пока не работающих с GCC 4, и досадно, что новые дистрибутивы вроде OpenSUSE больше не включают пакетов GCC 3. Но Вы можете установить GCC 3 как из исходных текстов, так и из пакетов от Fedora Core 5, которые, по нашим сведениям, работают с OpenSUSE 10.2.

Однако для единственной программы это слишком трудоемко, проще найти готовые пакеты. Один из пользователей OpenSUSE 10.2 скомпилировал Qemu и выложил его по адресу http://www.hasanen.com/files/linux/qemu.tar.gz. Есть пакеты и на сайте SUSE. Укажите браузеру на http://download.opensuse.org/distribution/SL-OSS-factory/inst-source/suse/i586 и щелкните на файле Qemu (текущее название qemu-0.9.0-3.i586.rpm, но к моменту выхода журнала оно может измениться). В ответ на вопрос браузера о том, как поступить с этим файлом, выберите «инсталлировать» и «дождаться, пока файл будет загружен и инсталлирован» (введите пароль администратора, когда потребуется).

Можно установить Qemu и из командной строки:

 su -c “rpm -ihv http://download.opensuse.org/distribution/SL-OSS-factory/inst-source/suse/i586/qemu-0.9.0-3.i586.rpm”

Мы всячески заботимся о достоверности нашей информации, не исключая тестирования инструкций разными людьми. Но нет никакой гарантии, что любое действие сложнее echo Hello World безупречно сработает на любой конфигурации, и это печальное следствие огромного количества дистрибутивов и бесконечных мутаций различных пакетов на них. Добрая весть – новые версии Qemu должны быть совместимы с GCC 4. МС

cron: чистит до блеска

В: Устав вычищать следы спам-атак на мой сервер, я задумал построить cron-процесс для автоматизации работы, но не могу найти подходящей команды для этого. Буду благодарен за любой комментарий к моему коду:

 mysql -h hostname -u username -ppassword -e‘delete from table_name where pn_cid > x’

На моем сервере не одна база данных, а строка моего кода не содержит упоминания об использовании конкретной базы – так, может быть, это холостой выстрел?

SwissMac, из форумов LXF

О: Указывать название базы данных все-таки необходимо (пусть она у вас и одна), иначе MySQL не будет знать, как применить команду. Название базы можно передать либо в качестве последнего параметра командной строки, либо среди других команд, передаваемых MySQL. Вот эквиваленты:

 mysql -u user -ppword -e “delete from table_name where pn_cid > x” database_name
 mysql -u user -ppword -e “USE database_name; delete from table_name where pn_cid > x”
 mysql -u user -ppword - “delete from database_name. table_name where pn_cid > x”

Первый вариант проще, зато остальные более гибкие. Можно передавать команды клиенту MySQL конвейером вместо использования параметра -e. Это полезно, если нужно запустить несколько команд, так как можно поместить их в файл и делать так:

 mysql -u user -ppword <cmdfile

Следует учесть, что программы, запускаемые в cron, попадают в среду, отличную от установленной в вашей оболочке. Имя пользователя отсутствует, поэтому переменные окружения, перечисленные в вашем профиле, не настраиваются. Это можно обойти, поместив следующие команды в небольшой скрипт:

 #!/bin/sh
 source /etc/profile #или ~/bash_profile или ~/.bashrc
 mysql -uuser -ppword ...

Укажите файл, содержащий настройки вашей среды, во второй строке, и настройте cron так, чтобы он вызывал скрипт вместо непосредственного запуска MySQL. Использование скрипта немного облегчает тестирование, так как есть уверенность в том, что используемые команды действуют одинаково как в терминале, так и из-под cron.

Помещение пароля в командную строку считается небезопасным, так как при работе программы любой пользователь машины может узнать пароль, просто взглянув на вывод ps. Безопаснее будет поместить пароль в ~/.my.cnf, вот так:

[client]
password=your_pass

и затем выполнить

chmod 600 ~/.my.cnf

Теперь этот файл сможет прочесть лишь Ваш пользователь. НБ

От меня к тебе

В: Как изменить адрес ‘from’ (от) при использовании Linux-команды mail? Она настаивает на пометке сообщения как user@user-laptop (user-laptop – это мое имя хоста). hubris, из форумов LXF

О: Со стандартной командой mail это невозможно без игры с переменными окружения USER и HOSTNAME, которая может повредить другим программам, работающим в той же оболочке. Зато есть много других программ, способных исполнить Ваше желание. Если у Вас установлена Mutt, то она может взять адрес «от» из переменной окружения EMAIL. Но если нет, и Вам нужно лишь настроить отправку сообщений, Mutt чересчур громоздка. Альтернатива попроще – SMTPClient (http://www.engelschall.сom/sw/smtpclient), в работе она напоминает mail, но принимает аргумент --from для установки адреса «от». SMTPClient отправляет сообщения на соответствующий SMTP-сервер, по умолчанию – на localhost. Если нужен другой сервер, то его имя можно указать в параметре командной строки --smtp-host, а можно настроить переменную окружения SMTPSERVER.

 echo “Hello world - what else?” | smtpclient
   --smtp-host=my.mail.server
   --from=hubris@wherever
   --subject «Hello World»
    someone@someplace

ПХ

Спам достал

В: У меня небольшая офисная сеть со своим почтовым сервером, на котором работает Sendmail в паре со SpamAssassin. Fetchmail забирает почту со всех POP3-серверов, затем она раскладывается по папкам пользователей, откуда они загружают ее к себе через qpopper. Вопрос касается SpamAssassin (у меня стоит последняя версия, т.к. я постоянно обновляю ее через CPAN): я хочу добиться того, чтобы письма от определенных отправителей (whitelist) никогда не воспринимались как спам, независимо от их содержания. Но SpamAssassin работает по принципу начисления «очков», а опция whitelist дает их слишком мало для того, чтобы повлиять на окончательное «решение». Я хотел было изменить принятое по умолчанию число очков для whitelist, но это оказалось невозможным. Получается, если члены списка whitelist отправят письмо и оно будет идентифицировано как спам, то whitelist «не помогает». Нет ли каких-то обходных путей? Я хочу добиться, чтобы SpamAssassin «пропускал» указанных мною отправителей или уж пускай вообще не проверяет письма от них. Какие возможны решения? Константин

О: Согласно описанию, опция whitelist_from дает коэффициент -100, что само по себе более чем достаточно – надо очень сильно постараться, чтобы легитимный клиент набрал более чем 100 баллов и был принят за спам. Для SpamAssassin, настроенного на индивидуальных пользователей (~/.spamassassin/user_prefs) можно указать опцию

whitelist_from d.cary@sparkingwire.com

Для общей настройки следует проделать то же самое в /etc/mail/spamassassin/local.cf (в зависимости от системы путь может меняться). Альтернативный метод – написать собственные правила вида:

header NOSPAMFROM From =~ /notaspamer\@
example\.com/i
score NOSPAMFROM -100.0

Подробности можно найти по адресу http://wiki.apache.org/spamassassin/ManualWhitelist. Андрей Тусеев

Бесплатный сыр...

В: С тех пор, как у нас появился безлимитный GPRS-интернет, я постоянно ставлю телефон (в связке Bluetoth + KPPP) на закачку на ночь. Но иногда демон PPP «вылетает» с ошибкой, а так как я в это время обычно сплю, то обнаруживаю это только утром. Можно ли сделать автоматическое восстановление соединения при его разрыве или крахе демона ? Казанцев А.С.

О: Конечно, можно. Однако, способ решения этой задачи зависит от первопричины – т.е. от того, из-за чего именно «вылетает» pppd. Если соединение (случайно или намерено) обрывает оператор, можно воспользоваться средствами самого pppd – т.е. опциями persist (не выходить при обрыве соединения, пытаться перезвонить), holdoff (время ожидания перед следующей попыткой дозвона) и maxfail (число неудачных попыток, после которых демон все же завершит работу). Все они описаны в man и вы можете передать их (вместе с соответствующими параметрами) посредством KPPP – для этого в окне свойств учетной записи предусмотрена специальная кнопка «Customize pppd Arguments».Если же обрыв происходит локально (например, прерывается Bluetooth-канал или «подвисает» телефон, что тоже случается), придется писать специальный скрипт, который проверяет доступность аппарата и, в случае необходимости, производит повторную инициализацию. Валентин Синицын

Избавляемся от проводов

В: Я загрузил и установил OpenSUSE 10.2, все работает прекрасно, кроме моей беспроводной сети. Я новичок, и хотел бы найти руководство по настройке для начинающих. frostyuk, из форумов LXF

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

Поиску драйвера для карты поможет Google. Большой список USB-устройств и драйверов для них имеется на http://www.qbik.ch/usb/devices. Узнав, какой драйвер Вам нужен, убедитесь, что он установлен: некоторые драйверы включены в ядро Linux, некоторые нужно устанавливать отдельно. Наберите /sbin/modprobe --l в терминале для просмотра списка «ядерных» драйверов. Если нужного Вам там нет, воспользуйтесь полем поиска в разделе управления программами Yast. Не обнаружив нужного драйвера через Yast, перейдите на домашнюю страницу драйвера и следуйте инструкциям по его сборке из исходных текстов. Если драйвер в системе присутствует, а карта не распознается, то Вам, вероятно, нехватает файла прошивки (firmware). Обычно они извлекаются из драйверов для Windows. В этом случае тоже нужно следовать инструкциям с сайта драйвера.

Например, lsusb определяет мое USB-устройство Edimax как устройство ZyDAS. Вышеуказанный сайт подтверждает, что оно использует драйверы zd1211 (включенные во все новейшие ядра), но для устройства необходимы также прошивки, доступные на http://sourceforge.net/project/showfiles.php?group_id=129083. SUSE считает, что прошивка находится в /lib/firmware/zd1211 (другие дистрибутивы могут использовать просто /lib/firmware), поэтому создайте эту директорию, распакуйте архив с прошивкой и скопируйте все файлы в /lib/firmware/zd1211.

Теперь вернитесь в раздел сетевых карт Yast – а если ваша карта уже была опознана, пора браться за дело. Беспроводное устройство должно появиться в списке; выберите его и нажмите кнопку Edit (Изменить). На вкладке Address (Адрес) выберите Automatic Address Setup (Автоматическая установка адреса), а на вкладке General (Общие) установите Device Activation (Активацию устройства) на On Hotplug (При подсоединении), если это сменное USB-устройство или имеется выключатель (тогда беспроводная сеть создастся при подсоединении или включении устройства); иначе, пользуйтесь настройкой Manual (Ручной) и управляйте устройством через значок менеджера сети в панели задач. Нажмите Next (Далее) и Finish (Готово) для выхода из настройки.

Перейдите к менеджеру сети в панели задач, он должен предъявить список доступных сетей. Выберите свою. Если сеть защищена WEP- или WPA-шифрованием, будет запрошен пароль. Постарайтесь снять шифрование на время настройки подключения: пока устройство не заработало, смысла в нем нет, есть только усложнение! Как только сетевое подключение состоится, отключитесь, включите шифрование и подключитесь снова. Система спросит у Вас пароль WEP или WPA, и подключение станет безопасным. НБ LXF

* Автомонтирование

В: В настоящий момент у меня есть только одна проблема, которая мешает переводу всего и вся под Linux. Это авторазмонтирование съемных носителей. Люди, привыкшие к работе с Windows, не видят ничего зазорного в выдергивании дискет и «флешек» в любой момент времени. Это приводит к печальным потерям данных. Есть ли способ приблизиться к решениям Microsoft и в этом вопросе? Виталий Токаренко

О: Вам может помочь опция sync команды mount, которая предписывает ядру сохранять данные мгновенно, а не через некоторый промежуток времени, как это обычно делается. С ней вы можете быть уверены, что к тому моменту, когда погаснет индикатор записи на устройстве, все данные будут зафиксированы в постоянной памяти. Таким образом можно сократить потери информации при внезапном выдергивании носителя, а заодно и срок его жизни, если речь идет о «флешках» (как известно, они выдерживают вполне опре- деленное число циклов чтения/записи, а механизм кэширования, реализуемый ядром, позволяет избежать ненужных обращений). Кстати, выдергивать USB-брелок, на который только что производилась запись, не рекомендуется даже в Windows: там для этого есть специальный пункт в контекстном меню – «Безопасное извлечение устройства». ВС

* Прямиком в тюрягу

В: Я хочу так настроить мою систему SUSE 10.2, чтобы пользователи подключались через OpenSSH, а я, даже подключившись в качестве обычного пользователя, мог бы видеть любую папку системы. Как можно ограничить доступ таким образом, чтобы пользователи видели лишь папки внутри домашней директории, которую я создаю для них при настройке учетной записи? Можно ли оставить им лишь функции SFTP или SCP? Кевин Винтер [Kevin Winter]

О: SSH-вход виртуально не отличается от обычного локального входа, только действует через зашифрованный тун- нель, и подключающиеся через SSH пользователи обладают теми же правами, которые они имеют, сидя за вашим компьютером. Обычно это означает, что они могут читать системные директории (иначе они не смогут запустить ни одной программы) но не изменять их. Можно настроить систему на chroot пользователя к его домашней директории при входе, но это далеко не простая задача. Если вы все же возьметесь за ее решение, то, по-моему, вам пригодится набор программ, способных упростить это занятие: Jailkit [jail – тюрьма] с http://olivier.sessink.nl/jailkit.

С помощью Jailkit можно также ограничить подключение пользователей только SFTP или SCP, но если это все, что Вам надо, было бы проще применить программу scponly (http://sublimation.org/scponly). Она замещает оболочку и запрещает обычный вход, но принимает SFTP- и SCP-подключения. Простейший путь ее использования – заменить оболочку пользователя на scponly в /etc/passwd. Это предотвратит вход через оболочку, но позволит передвигаться по файловой системе в соответствии с правами доступа к папкам и файлам. Параметр chroot для scponly тоже имеется, но это на порядок усложняет задачу – если вам без этого не обойтись, лучше уж придерживаться Jailkit.

Трудность настройки chroot-входа состоит в том, что нужно обеспечить пользователю нормальную работу внутри домашней директории и одновременно запретить читать то, что ему не полагается. Программы вроде Jailkit в некоторых ситуациях хорошо справляются с такими задачами – например, при настройке chroot для сервера – но с интерактивными подключениями они работают гораздо хуже. В зависимости от ваших требований к безопасности, в большинстве случаев лучше укрепить систему на локальном уровне, скрыв критические системные файлы от не-администраторов, а затем распространить эту настройку на все SSH-, SFTP- и SCP-подключения. НБ

Краткая справка про… Использование памяти

Куда девалась память?

Вы замечали, что через пару часов работы на компьютере счетчик памяти свидетельствует, что свободными остаются лишь несколько килобайт? Вы можете подумать, что нужно добавить памяти, но на самом деле, сколько бы ее ни было, через несколько часов после загрузки (а то и раньше) вся она окажется занятой.

В чем дело? Просто ядро отдает часть памяти, которая не используется процессами, другим нуждающимся, например, кэшу файловой системы, что ощутимо повышает производительность. Взгляните на количество буферов в выводе top и убедитесь, например:

Mem: 1028092k total, 1018704k used, 9388k free,
49760k buffers

Мы видим, что из 1 ГБ ОЗУ на данном компьютере свободны всего 10 MБ. Половину используемой памяти занимают буферы. Они здорово сокращают время доступа, кэшируя данные в памяти и считывая сверх того, что вам нужно, в предвидении дальнейшего использования. Если память понадобится для чего-то поважнее, например, данных программы, она будет немедленно освобождена.

В памяти остаются не только данные файловой системы. Проследите за ее использованием при запуске и закрытии крупного приложения вроде Firefox: вы увидите, что объем свободной памяти уменьшается. Теперь снова запустите Firefox и отметьте, насколько быстрее программа загрузилась на этот раз: ядро сохранило данные в памяти для повторного использования. То же относится к общим библиотекам – вот почему смешанный запуск приложений KDE и Gnome не всегда оправдан.

Часто задаваемые вопросы… Что такое DHCP?

О плетении сетей.

Я знаю, что DHCP означает Dynamic Host Configuration Protocol (Протокол динамической конфигурации хостов), но что это такое?эээ

Компьютер, подключаемый к традиционной или беспроводной сети, нужно снабдить некоторой информацией, как то: IP-адрес; место, куда следует направлять запросы для неизвестных компьютеров; адреса DNS-серверов. Ручная работа такого рода называется статической адресацией, но для получения таких сведений от сервера компьютер может использовать DHCP. Это существенно облегчает работу в крупных сетях, а также упрощает перемещение от одной сети к другой, с ноутбуками такое часто случается.

DNS? А что это?

Domain Name Service (Служба доменных имен). Эта служба переводит доменное имя, например, http://www.linuxformat.co.uk, в сетевой адрес, например 212.113.202.71.

Как это работает?

Подключившись, клиент – ваш компьютер – рассылает по сети запрос ‘discover’ (поиск). Запрос получают все компьютеры, но только DHCP-серверы отвечают на него. Каждый сервер посылает в ответ ‘offer’ (предложение). Клиент выбирает, на какое предложение ответить (если оно не одно), и запрашивает IP-адрес для компьютера, один или больше DNS-серверов, и адрес шлюза.

Шлюза? Компьютеры сплавлять?

Это не тот шлюз. Стандартный шлюз сети – это адрес, на который направляется трафик для компьютеров чужой сети, таких как Интернет-серверы. Далее шлюз передает трафик по адресу, а ответы пересылает вам.

А где взять DHCP-сервер?

Как правило, для этого не требуется установка отдельного пакета. Большинство маршрутизаторов, включая широкополосные и беспроводные модемы/маршрутизаторы, имеют встроенный DHCP-сервер, который выдает адреса для локальной сети. Интернет-провайдеры тоже пользуются DHCP, когда вы включаете свой компьютер и модем. Если для вашей сети нужен собственный сервис DHCP, то он почти наверняка имеется в вашем дистрибутиве – как сервер, так и клиент. Поищите DHCP в менеджере пакетов. Или возьмите http://www.thekelleys.org-uk/dnsmasq, которым пользуюсь я.

Я где-то читал о DHCP leases (арендах) – что это такое?

Когда закрывается сетевое подключение, на DHCP-сервер уходит запрос ‘release’ (освободить), с помощью которого сервер узнает о том, что выданный адрес больше не нужен и его можно использовать снова. Если же подключение оборвалось неожиданно (погас свет, скажем, или ноутбук вышел из зоны покрытия сети), то сервер не сможет повторно использовать адрес. Время аренды – это тайм-аут для выделенного адреса. DHCP-клиент знает об этом, и до истечения аренды периодически посылает запрос о сохранении подключения. Если клиент вовремя не выслал этот запрос, то адрес может быть передан другому компьютеру.

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