LXF96:Ответы

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

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

Содержание

Ответы

Удаленная печать

В: Я учитель в школе, и когда я занялся компьютерами в учительской, то на них всех стоял Windows. Сейчас я готов установить Ubuntu на один из них, но это осложняется одной «мелкой» деталью – принтером!

Имеется компьютер с Windows Server, подсоединенный к коммутатору. Сервер работает только как принт-сервер. Я запускаю Ubuntu Feisty Fawn, но не могу печатать. Ubuntu находит принтер, Samsung CLP- 500, я устанавливаю драйвера, но ничего не печатается. Может, надо использовать Samba? Эдуардо Рамальядейро [Eduardo Ramalhadeiro]

O: Согласно базе OpenPrinting (www.linux- foundation.org/en/OpenPrinting), этому принтеру необходимы драйверы SplitX, их можно найти на сайте http://splix.sourceforge.net. Хотя этот драйвер хорошо работает с некоторыми лазерными принтерами Samsung (например, мой монохромный лазерник работает отлично), для CLP-500 он помечен как работающий «частично». Это, повидимому, связано с ограничением разрешения до 600 dpi при печати. Samsung также предлагает Linux-драйвера, которые можно загрузить с http://short.zen.co.uk/?id=792 (полный URL до смешного длинный).

SplitX включен в состав текущей версии Ubuntu, так что весь вопрос заключается в его установке через Synaptic и выборе нужного драйвера в меню настройки принтера.

CUPS может «разговаривать» с Windows-принтерами – он использует клиентские библиотеки Samba, так что Вам нужна установленная Samba, но самому ее настраивать не надо: Ubuntu устанавливает Samba по умолчанию, и незачем совершать лишние движения. Все, что нужно сделать – это установить пакет SplitX через Synaptic, а затем запустить Новый принтер в Система > Администрирование > Печать и, когда спросят, выбрать корректный принтер. НБ

gHamachi gхамит

В: Пытаюсь настроить gHamachi, используя уроки вашего июньского номера [LXF93]. Я следовал инструкциям на стр. 63 до этапа 3, когда я нажал Yes и ввел пароль root. Тут появилось сообщение: «TAP/TUN NOT FOUND». У меня Ubuntu 6.06. В чем может быть проблема? Брайан Митчелл [Bryan Mitchell]

O:Эта проблема вызвана тем, что gHamachi не находит программу tuncfg, которая происходит от Hamachi, так что придется установить также и Hamachi. Сообщение об ошибке довольно-таки дезинформирующее: TAP/TUN не найден, потому что нет программы, используемой для его поиска. Похоже, gHamachi выдает одно и то же при любых ошибках запуска tuncfg, даже если попытка сорвалась из-за того, что tuncfg не найден.

Вам понадобится несколько дополнительных команд для установки Hamachi. Зайдите в Synaptic и установите пакет build-essential, содержащий все необходимое для установки пакетов вне Synaptic. Теперь загрузите Linux-версию Hamachi с http://hamachi.cc.

Если вы сохранили ее на вашем рабочем столе (Desktop), откройте терминал и наберите:

 cd Desktop 
 tar -xf hamachi-0.9.9.9-20-lnx.tar.gz 
 cd hamachi-0.9.9.9-20-lnx 
 sudo make install 

Теперь Вы готовы запустить gHamachi и продолжить действия по инструкциям. НВ

Визит к Vista

В: После проблем с Vista друг попросил меня установит на его компьютере Linux. На моем компьютере – FedoraCore 6, и я открыл для совместного доступа диск в Vista, чтобы сохранить необходимые файлы друга. Но мне нужна помощь в переносе файлов. Я могу получить доступ к общему диску, но когда я пытаюсь открыть папки, чтобы получить файлы, Linux выдает сообщение, что не может читать папки компьютера с Vista. Могу ли я получить доступ к общему диску в Vista и вытащить оттуда файлы через Linux? Проблем с доступом к общим дискам в Windows XP, 2000 или 98 из Linux у меня не было. JCFreak, c форума LXF

O: Уж сознайтесь, что Vista стоит на вашем компьютере – мы стараемся помочь всем, и не надо сваливать все на «друга»...

Лучший способ получить доступ – это использовать для монтирования дисков командную строку, тогда Вы сразу увидите, в чем причина сбоев. Сделайте это от имени суперпользователя:

 mkdir -p /mnt/windows 
 mount //ИМЯ_КОМПЬЮТЕРА//C /mnt/windows -o 
 user=ИМЯ_ПОЛЬЗОВАТЕЛЯ 

замените ИМЯ_КОМПЬЮТЕРА на сетевое имя ПК с Windows, а ИМЯ_ПОЛЬЗОВАТЕЛЯ на пользователя с правами администратора на данном компьютере. После этого введите пароль пользователя. Диск C будет подмонтирован (будем считать, что вы открыли доступ к нему). Не пытайтесь отключить требование пароля для сетевых дисков в Панели управления Windows: это только осложнит ситуацию. Зато вам надо включить Public Folder Sharing в секции Network And Sharing Панели управления Windows.

Но даже с этими настройками Вы не сможете зайти и скопировать любую директорию. Vista защищает директории, вложенные в пользовательские директории – вроде ИМЯ_ПОЛЬЗОВАТЕЛЯ\PrintHood. Однако сейчас Вы не должны иметь никаких трудностей для копирования документов и других файлов вашего друга.

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

В качестве альтернативы, можно использовать программу резервного копирования Windows для создания копии данных на DVD и копирования их на компьютер с Fedora Core 6. Резервная копия Windows представляет собой zip-архив, его можно распаковать в Linux командой unzip, которая есть в Fedora Core 6. НБ

Много мониторов

В: Пытаюсь установить подходящий Nvidia драйвер для одно-, двух- и трехмониторной конфигурации, и после долгих поисков сделал это прямым созданием файлов конфигурации xorg.conf (так как GUI Nvidia постоянно жалуется на перекрытие режимов и выдает неправильную частоту обновления).

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

Мне нужна возможность переключаться между этими тремя режимами на лету, в идеале бы еще с использованием комбинации клавиш. А так я вручную останавливаю X-сервер, меняю xorg.conf и перезапускаю X-ы. Я понимаю, что нужно объединить три моих файла xorg.conf в один, но как? И как перезапустить X-сервер в альтернативный режим нажатием клавиш на клавиатуре (или чем-то похожим: пунктом меню, скриптом или другим способом «в один клик»)?

Я использую KDE в Fedora Core 6 и хотел бы получить указания на этот счет, но будьте великодушны ко мне – я вскочил в поезд Linux только неделю назад. Jycle

O: Вы можете просто скомбинировать отдельные куски разных файлов xorg.conf в один, обеспечивая их разными именами. Секции Monitor могут быть расположены просто друг за другом, но вы должны быть уверены, что каждая из Ваших секций Screen имеет свое имя, с отдельными секциями для каждого из режимов. Большинство остальных записей в xorg.conf будут одинаковы для всех режимов – например, параметры клавиатуры, мыши, шрифтов. Затем вам необходимо создать различные секции ServerLayout для каждого режима, с различными именами – что-то вроде такого:

 Section "ServerLayout" 
   Identifier "SingleScreen" 
   Screen        0 "SingleScreen" 0 0 
   InputDevice "Mouse0" "CorePointer" 
   InputDevice "Keyboard0" "CoreKeyboard" 
 EndSection 
 Section "ServerLayout" 
   Identifier "TwinScreen" 
   Screen        0 "TwinScreen" 0 0 
   InputDevice "Mouse0" "CorePointer" 
   InputDevice "Keyboard0" "CoreKeyboard" 
 EndSection 

По умолчанию выбирается первая ServerLayout, но Вы можете указать это явно:

 Section "ServerFlags" 
   DefaultServerLayout "SingleScreen" 
 EndSection 

Теперь X-сервер по умолчанию загружается в режиме одного монитора, но может быть запущен в режиме вывода на два монитора командой:

 startx -- -layout TwinScreen 

«--» означает «конец опций startx, передайте серверу новую информацию». Чтобы привязать переключения к клавишам, Вам пригодится маленький скрипт – сохраните его где-нибудь, например, в /usr/local/bin/restartx:

 #!/bin/sh 
 if [ [ "$(/sbin/runlevel | cut -c3)" == "5" ] ] 
 then 
    sudo /sbin/telinit 3 
 else 
    sudo killall X 
 fi 
 sleep 2 
 startx -- -layout $1 

и сделайте его запускаемым командой chmod +x /usr/local/bin/restartx. Так как скрипт требует прав администратора для запуска, Вы еще должны отредактировать /etc/sudoers (также как администратор) и добавить туда следующее:

Ваше_имя_пользователя ALL = NOPASSWD: /usr/bin/ 
killallX,/sbin/telinit 3 

Теперь Вы сможете переключать режимы командой

nohup /usr/local/bin/restartx имя_нового_режима 

nohup небходим, иначе скрипт будет уничтожен, когда закроется рабочий стол. Раз вы используете KDE, можно привязать любые команды к клавишам во вкладке Региональные и специальные возможности/комбинации клавиш Центра управления, установив по одной для включения каждого режима в Вашем файле xorg.conf. В конце, Вам необходимо заставить KDE «помнить» ваши открытые приложения после переключения. Чтобы сделать это, зайдите в Центр управления > Компоненты KDE > Менеджер сеансов и выберите опцию «Восстанавливать сеанс, сохраненный вручную». Это добавит вам возможность сохранять свою сессию, и Вы можете заставить скрипт делать это автоматически, дописав вторую строчку:

dcop ksmserver ksmserver saveCurrentSession 

Это единственная часть, работающая только в KDE, и вы легко убедитесь, что все остальное годится и для других рабочих столов. НБ

Блокировки Samba

В: Я использую систему FedoraCore 1 и хотел обновить ее до Fedora Core 6. Перед этим загрузил Core 6 на отдельной машине, чтобы увидеть, как она выглядит «из коробки». Обнаружил, что sendmail настроен на доставку почты, но не смог ее принять. В Google я выяснил, что дистрибутив был выпущен с отключенной возможностью получения почты извне. Почему?

Я также настроил несколько разделяемых ресурсов в Samba и столкнулся со следующей проблемой: если я настраиваю директорию, скажем, /backup, с такими же правами доступа и владельцем, как /var, то я могу подключиться к нему с другой машины и обмениваться содержимым, создавать и обновлять его, а также удалять. Когда я изменил точку входа с /backup на /var, то не смог подключиться к директории. Думаю, надо изменить какие-то предустановленные параметры, но какие именно?

Чего я хочу, это открыть доступ к /var/www/html, чтобы «поиграть» с HTML- и PHP-файлами. Все это прекрасно работает на Core 1 и не требует изменений. Я могу перейти на Сore 6 в любое время, но не сделаю этого, пока не решу эту и другие проблемы на отдельной машине.

Еще один момент. Когда я модернизировал систему с Core 1 до Сore 5 или 6, понадобилось несколько часов, и я счел, что проще и быстрее будет выполнить новую установку и скопировать соответствующие файлы конфигурации и данные, но теперь я не так уверен в этом. Тони [Tony]

O: Похоже, что при установке Fedora Core 6 Вы выбрали режим повышенной безопасности. При этом установлен прием почты только с локальных ящиков, что легко можно изменить, и запрещено открытие доступа к «сугубо личным» директориям. Хотя после этого и возможно добиться открытия доступа к /var, Вам следует пересмотреть свой подход. Блокировка общего доступа к /var имеет понятную причину – слишком много важной информации там хранится, и очень легко сделать систему незагружаемой – по злому умыслу, некомпетентности или просто по неосторожности.

Вопрос следует задать не «как я могу поделиться содержимым /var?», а «нужно ли мне открывать общий доступ ко всему содержимому /var?» – в этом случае ответ «однозначно нет». Если Вам нужен дистанционный доступ к /var/www/html, то и откройте доступ к /var/www/html. Сделав это, Вы и снизите потенциальные риски, возникающие с открытием доступа к /var/log или /var/lib, и сможете делать то, что хотели. Есть также альтернативы использованию Samba. Если на обеих машинах запущен Linux, можно смонтировать /var/www/html на удаленной машине при помощи NFS. Если Вы используете KDE на редактируемой машине, можете избежать любой формы удаленного монтирования или открытия доступа, просто используя FISH от KDE. Этот метод использует SSH для обмена с удаленным компьютером: просто поместите fish://hostname/var/www/html в адресную строку Konqueror (или Krusader) для загрузки содержимого удаленной директории в окно файл-менеджера, где Вы сможете загрузить файлы в установленный в KDE редактор.

Переход с Fedora Core 1 на Fedora Core 6 – серьезный шаг. Многие ключевые компоненты будут изменены, поэтому обновление потребует гораздо больше времени, чем требуется менеджеру пакетов, когда Вы исправляете другие проблемы. Установка с нуля – наилучший вариант, но, скакнув на несколько лет вперед, Вы и обнаружили, что основные компоненты работают не так, как Вы привыкли. МС

BT без проводов

B: Я недавно переключился на BT Total Broadband [широкополосный канал от British Telecom в Великобритании, – прим. пер.] и пытаюсь подключить BT Home Hub, используя Wi- Fi. Установил драйвера Intel/PRO 3945abg, и iwconfig показывает, что сетевой интерфейс включен, но KNetworkManager не соединяется с хабом. Я установил шифрование на OpenSystem и ввел 40/104- битный ключ. Менеджер сети зависает после 28%, а затем переспрашивает WEP-ключ. В документации BT Home Hub говорится, что шифрование 128- битное. Буду благодарен за любые указания, как подключить хаб. Вот вывод iwconfig:

 eth2 IEEE 802.11g ESSID:cMode:Managed 
 Frequency:2.412 GHz 
 Access Point: 00:14:7F:BE:0D:9D 
 Bit Rate:54 Mb/s Tx-Power:15 dBm 
 Retry limit:15 RTS thr:off Fragment thr: off 
 Encryption key:xxxx-xxxx-xx Security mode:open 
 Power Management:off 
 Link Quality=77/100 Signal level=-57 dBm 
 Noise level=-58 dBm 
 Rx invalid nwid:0 Rx invalid crypt:65 Rx 
 invalid frag:0 
 Tx excessive retries:0 Invalid misc:126 
 Missed beacon:0 

Клифф Диас [Cliff Dias]

O: Вывод iwconfig выглядит правильным, кроме ключа шифрования: он слишком длинен для 64-битного, но слишком короток для 128-битного, и, вероятно, в этом и заключается проблема с шифрованием. Первым делом отключите шифрование как на Home Hub, так и на компьютере. Шифрование беспроводной передачи вещь в целом хорошая, но заставляет помучиться при настройке соединения. Гораздо проще сперва настроить незашифрованное соединение, а затем, когда соединение заработает, применить шифрование. вы можете выключить шифрование на BT Home Hub через web-интерфейс на странице администратора. Руководство скажет вам, какой адрес ввести в строке браузера, и назовет пароль по умолчанию. Кстати, вы получаете хороший шанс сменить пароль на ваш любимый.

Ваш вывод iwconfig показывает, что соединение работает без проблем. Проверив его работу соединением с внешней web-страницей (лучше www. linuxformat.co.uk, потому что Майк любит, когда накручивается счетчик посещений), можете включить WEP- шифрование снова. WEP использует так называемое 64-битное или 128-битное шифрование. «Так называемое» – потому что 24-бита из них Вам менять нельзя, отсюда и цифры 40 бит и 104 бита. 128-битный ключ вводится как 16-значная шестнадцатеричная строка, обычно разделенная дефисами для лучшей читаемости: XXXX-XXXX-XXXX-XXXX.

Если у Вас ничего не выйдет в KnetworkManager, попробуйте запустить iwconfig в терминале от имени администратора. Это может привести к выводу полезных сообщений об ошибке. Вам нужно ввести следующие команды:

 ifconfig eth2 up iwconfig eth2 key open XXXX-XXXX-XXXX-XXXX 
 iwconfig eth2 essid "BTHomeHub-8AF2" 
 dhcpcd eth2 

Когда все заработает в терминале, можете поместить детали в KNetworkManager или отключить NetworkManager в Yast и использовать стандартный конфигуратор сети Yast.

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

Тасуя карты

В: Как заставить сетевые карты помнить свои имена между перезагрузками в SUSE? У меня SUSE Enterprise 9 на моем Linux маршрутизаторе/брандмауэре, в котором установлено три сетевых карты: одна для выхода в Интернет, одна для нашей внутренней сети и еще одна для нашей DMZ [демилитаризованной зоны, – прим. пер.], они перекрывают все наши доступные извне ресурсы: web, e-mail и FTP-серверы. В основном все работает великолепно. Проблема в том, что Ethernet-имена устройств а) случайным образом меняются при перезагрузке (например, 'eth0' при следующей загрузке оказывается 'eth1') и б) любые постоянные имена, назначенные этим устройствам, вроде 'nic1' или 'nic2', часто игнорируются (хотя опция PERSISTENT_NAME="nic1/2/3" определена в файлах устройств /etc/sysconfig/network/ifcfg-eth-*).

В результате при перезагрузке маршрутизатора я почти всегда вынужден запускать ifconfig и исправлять ID устройств в правилах iptables с учетом текущей (практически случайной) конфигурации устройств. Это вызывает проблемы, потому что маршрутизатор редко восстанавливается сам при любых отключениях без вмешательства.

Прилагаю файл конфигурации DMZ сетевой карты из /etc/sysconfig/network/ifcfg-eth-id-00:02:96:00:3f:8e. Эта карточка обычно определяется как 'eth2', и (теоретически) ей было назначено постоянное имя 'nic2' в правилах iptables. Когда система загружается, она иногда говорит, что устройство имеет имя 'nic2', но чаще всего этого не происходит – система просто игнорирует строку PERSISTENT_NAME.

К несчастью, у меня нет других сетевых карт, чтобы попробовать что-то сделать на другой машине (с другим дистрибутивом), и я не могу остановить сервер для решения этого вопроса. Пол Вoдби [Paul Waudby]

O: Это довольно странно – ваш файл конфигурации выглядит правильным и у нас в SUSE это работает. То, что он иногда работает – показатель, что некоторые фундаментальные куски программного обеспечения все-таки присутствуют. Не обновляли ли вы систему так, что она перешла на udev? При этом имена могут задаваться принудительно, несмотря на настройки в /etc/ sysconfig/network. Если да, то самый простой и легкий способ решения этой проблемы заключается в установке правил именования для udev. Создайте файл /etc/udev/rules.d/10-network.rules от имени администратора и добавьте туда следующее:

 SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:02:96:00:3f:aa", NAME:="nic0" 
 SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:02:96:00:3f:bb", NAME:="nic1" 
 SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:02:96:00:3f:8e", NAME:="nic2" 

заменив строки после ATTRS{address} MAC адресами трех сетевых карт. Хотя у SUSE имеются проблемы с повторным использованием стандартных имен, udev они не касаются. поскольку он переименовывает устройства еще до назначения любых других имен, и если вы захотите, можете здесь использовать имена eth0/1/2.

Вы можете обнаружить, что у вас уже есть файл в /etc/udev/rules.d с правилами назначения сетевых имен; тогда отредактируйте его, добавив вышеприведенные строки.

Как альтернативное решение можно использовать команду nameif для переименования интерфейсов. Это нужно делать до подключения интерфейсов. Создайте файл /etc/mactab для хранения списков имен интерфейсов и их MAC-адресов, например, как здесь:

 nic0 aa:bb:cc:dd:ee:ff #internal 
 nic1 00:11:22:33:44:55 #external 
 nic2 66:77:88:99:00:aa #dmz 

Команда nameif прочитает этот файл и переименует интерфейсы согласно ему. Этот метод стоит принять во внимание, если вы не используете udev, так как правила udev предлагают лучший способ для управления постоянными именами сетевых интерфейсов , и не только. НБ

Которое ядро?

В: Пытаюсь заставить мою систему видеть мой беспроводной USB-адаптер Belkin, используя ndiswrapper. Примечания говорят мне, что я должен иметь как минимум определенное ядро. Я новичок, так что не могли бы вы подсказать мне, где найти эту информацию? А также, не посоветуете ли, как его установить? Барри Симпсон [Barry Simpson]

O:Существует множество GUI-инструментов, способных подсказать Вам, какое ядро Вы используете: Центр управления KDE показывает версию на стартовой странице, или Вы можете использовать менеджер пакетов дистрибутива для нахождения версии пакетов с ядром (некоторые дистрибутивы называют их 'linux'). Самый же легкий путь – это открыть терминал и набрать одну из команд:

  uname --kernel-release 
  uname -r 

До ndiswrapper дело может и не дойти: некоторые беспроводные устройства Belkin имеют родную поддержку. В этом случае запустите sudo lsusb в терминале, чтобы узнать больше о вашем устройстве. Затем поищите в Google или на форуме вашего дистрибутива [российские пользователи могу поискать на http://unixforum.org, – прим. пер.] информацию об этом устройстве. Вы также можете найти информацию о наилучшем драйвере для вашего устройства на http://qbik.ch/usb/devices. Если же родного драйвера нет, то без ndiswrapper не обойтись. При этом важно использовать драйвер, прилагавшийся к устройству: производители имеют привычку менять внутреннюю начинку устройства, оставляя один тот же номер модели, поэтому драйвер на вид идентичного устройства может оказаться бесполезным. Если в вашем дистрибутиве (вы не упомянули, какой он у вас) есть инструмент для настройки беспроводных устройств, лучше используйте его вместо ручной настройки. Некоторые из них, например, Yast от SUSE, также могут настроить ndiswrapper. МС

Любопытной Варваре...

В: У меня есть небольшая локальная сеть на 500 компьютеров с интернет-шлюзом на базе Linux (Ubuntu 6.06). На шлюзе работает биллинговая система и Jabber-сервер. В связи с тем, что пользователей достаточное количество, всегда находится какой-нибудь «умник», который страсть как желает перехватить передаваемые данные (пароли, файлы, личную переписку) каким-нибудь сниффером со своего рабочего места, а после использовать их в своих целях. Вопрос в следующем – каким образом можно отлавливать подобных личностей и как обезопасить сеть от перехвата данных на программном уровне? Денис Суханов

О: Защита от перехвата данных в Jabber (правильнее сказать – в XMPP), как и в других протоколах реализована стандартным способом – шифрованием (обычно SSL/TLS). Оно поддерживается большинством популярных клиентов (по крайней мере, Gajim и PSI), и с этой стороны не должно быть никаких проблем. Если же используемые dами протоколы не поддерживают шифрования напрямую, может пригодиться stunnel (www.stunnel. org). Его настройка была подробно рассмотрена Андреем Бешковым в статьях для журнала «Системный администратор», которые сейчас можно найти в сети: http://onix.opennet.ru/content/ view/34/26/.

Поиск работающих снифферов – более сложная задача, не имеющая 100%-но надежного решения. Один из методов использует тот факт, что сетевая карта злоумышленника переводится в беспорядочный режим (promiscuous mode), т.е. отлавливает все пакеты, идущие по сети. Заполнив ее кадрами для несуществующих MAC-адресов, можно вызвать перегрузку на машинах, где запущен сниффер (остальные узлы не будут обращать внимания на эти пакеты на аппаратном уровне, а снифферу придется декодировать и визуализировать их). Повышенная нагрузка скажется на среднем времени ICMP-ответа («пинга»). Я бы не рекомендовал писать служебную записку на основании такого анализа, но если какой-то компьютер начинает задыхаться под нагрузкой пакетов для несуществующих адресов, это лишний повод заглянуть к его хозяину и посмотреть, в чем дело. ВС

Puppy по-русски

В: Меня заинтересовал дистрибутив Puppy Linux, о котором вы писали в LXF93. Я испробовал все возможности, о которых указал в своей статье Сергей Супрунов, однако, мне не удалось настроить использование русского языка в тестовом редакторе Abiword и электронных таблицах. Хотелось бы узнать есть ли поддержка русского языка и как ее настроить. Сейчас я работаю в Windows, но хочу побольше узнать о Linux и со временем думаю перейти на него, а Puppy мне понравился тем, что хорошо работает на старых машинах. Сейчас у меня опыта работы в Linux практически нет. Иван Герасименко

O: Если я Вас правильно понял и под использованием русского языка подразумевается возможность вводить символы кириллицы, то вот инструкция по настройке русской раскладки:

  1. Щелкните на иконке Setup или выберите пункт Menu > Setup > Wizard Wizard.
  2. Перейдите в Change the mouse and keyboard.
  3. Щелкните Advanced Xorg keyboard configuration.
  4. В открывшемся окне XKB_Config_Main следует:

задать модель клавиатуры – Keyboard Model (при желании)

  • щелкнуть Layouts и задать основную раскладку (ru)
  • щелкнуть Layouts еще раз, указать, что хотите добавить (Add) раскладку, выбрать us
  • щелкнуть Layouts еще раз, указать, что хотите добавить (Add) раскладку, выбрать ru (с первого раза она почему-то не сохраняется, по крайней мере, в моей инсталляции)
  • щелкнуть Layout Variants и выбрать ru: Winkeys (вы должны видеть варианты как для us, так и для ru – иначе нужно вернуться в Layouts и в очередной раз добавить недостающую раскладку)
  • щелкнуть внизу кнопку Yes, чтобы изменения вступили в силу.
  • щелкнуть Group Shift/Lock behavior и выбрать желаемую комбинацию клавиш для переключения раскладок (мне больше по душе grp:alt_shift_toggle)
  • при желании здесь же можно настроить и другие интересные параметры
  • щелкнуть внизу кнопку Yes, чтобы изменения вступили в силу.
  • После этого никаких проблем с раскладками наблюдаться не должно. СС

Большой вопрос

На этом раздел заканчивается, но наши эксперты не расходятся по домам, пока не дойдут до сути общей проблемы

В: У моего сына PlayStationPortable. Я хочу конвертировать DVD и другое видео в MPEG4, чтобы он мог смотреть их в долгих путешествиях. Уверен, что Transcode или Mencoder на это способны, но их man-страницы – сплошной жаргон. Есть ли какой-нибудь простой способ конвертации видео для PSP? Льюис Берфорд [Lewis Burford]

O: Да, есть! Когда конвертируешь DVD, наипростейшей программой является dvd:: rip – графическая оболочка для Transcode, MPlayer и других. К сожалению, в ней нет поддержки варианта MPEG4, используемого в PSP, поэтому Вам понадобится FFmpeg, другая консольная программа, но без запутанных опций Transcode или Mencoder. Графический интерфейс к FFmpeg называется Vive, его можно найти по адресу http://vive.sourceforge.net.

Он существует только в виде исходных кодов, но очень легко устанавливается, при наличии установленных инструментов для компиляции. Скачайте последний tar-архив с сайта (сейчас это 2.0.0-beta1) и установите его, набрав в терминале

 tar xf vive-2.0.0-beta1.tar.gz 
 cd vive-2.0.0-beta1 
 ./configure 
 make 
 su -c "make install" 

При запросе, введите пароль администратора. Пользователи Ubuntu должны заменить последнюю команду на нижеследующую и использовать свой собственный пароль:

 sudo make install 

Vive теперь можно найти в меню KDE или Gnome или запустить его, набрав в командной строке vive. Vive использует предустановки для хранения настроек типов вывода. Пример файла конфигурации по умолчанию не ставится; сделайте это вручную, выполнив

 mkdir ~/.vive 
 cp /usr/share/doc/vive/examples/preferences 
 ~/.vive 

Этот файл уже содержит предустановки видео для iPod/PSP, но не позволяет генерировать PSP- совместимые файлы и не справляется с широкоформатным видео. Добавьте следующие строки к файлу настроек:

 [PSP] 
 format=psp 
 vcodec=mpeg4 
 maxrate=768000 
 bitrate=700000 
 bufsize=4096 
 aspect=4:3 
 width=320 
 height=240 
 acodec=aac 
 ab=64 
 ar=24000 
 comment=Encoded by Vive 

Для широкоформатного видео скопируйте блок, переназовите его, к примеру, PSPWide и измените значения aspect, width и height на 16:9, 368 и 208 соответственно.

Запустив Vive, Вы должны выбрать или главу DVD, или файл для кодирования – нажмите Load, и Vive прочитает заголовки с DVD. Затем выберите выходной файл и используемые установки. Вы так- же можете изменить значения аудио и видео декодирования по умолчанию, выбрав другие пресеты. Видеофайлы должны быть записаны в директорию /MP_ROOT/100MNV01 на карту памяти и названы M4V00001.MP4, M4V00002.MP4 и так далее.

За один раз Vive может конвертировать только один файл, но программу можно запустить из командной строки в режиме пакетной обработки. Для конвертации всех AVI файлов из директории используйте следующий скрипт:

 for FILE in *.avi 
 do 
 vive -p PSP -i $FILE -o ${FILE/.avi/.mp4} 

Шаг за шагом Конвертируем видео для PSP

1 Не сейчас

dvd::rip хорош для декодирования видео и DVD, но не может создавать файлы PSP... пока.

2 Выберите дорожку

Выберите главу вашего DVD, или выберите файл для декодирования. За раз Vive справляется только с одним.

3 Задайте установки

По умолчанию настройки Vive содержат установки для iPod/PSP. Но тут создаются два пресета для PSP.

4 Выберите предустановку

Здесь можно выбрать предустановку для PSP и изменить настройки по умолчанию до начала кодирования.

5 Дайте файлу имя

PSP привередлива к именам файлов – даже из- за лишнего 0 в номере файл станет невидим.

6 Любуйтесь работой

Вкладка Output показывает... угадали, вывод, но в ней можно также запускать команды

Вопрос-победитель (русская версия)

Гетерогенный вопрос

В: Помогите, пожалуйста, решить следующую задачу. Допустим, имеется сеть на 30 машин с Windows 2003 Server в качестве контроллера домена. Необходимо настроить Samba на клиентской машине под управлением Ubuntu 6.10 таким образом, чтобы был прозрачный доступ к ресурсам домена без запроса пароля. Кстати, есть ли возможность зайти Windows-пользователем на Linux-машину? Erlah

Доступ к файловым ресурсам сети Windows-машин осуществляется с помощью Samba. В частности, в состав Samba входит утилита smbmount, кроме того, в Linux в виде модулей VFS реализована файловая система SMBFS, позволяющая выполнять монтирование файловых ресурсов SMB стандартным для Linux способом.

В качестве механизма Single Sign On в Windows используется собственная реализация Kerberos. Чтобы доступ к ресурсам был прозрачен, необходимо настроить Linux-машину в качестве клиента Kerberos в домене (realm в терминологии Kerberos) Windows. Достаточно подробное описание этого процесса есть, например, здесь: http://barney.gonzaga. edu/~awithers/integration/.

После того, как Linux-клиент будет аутентифицирован в Windows-домене, можно пользоваться smbmount и smbclient с аутентификацией Kerberos – в этом случае пароль вводить не потребуется. Подробное описание работы с клиентом SMB есть на сайте Samba: http://pserver.samba.org/samba/ftp/cifs- cvs/linux-cifs-client-guide.pdf.

Пользователи Windows могут аутентифицироваться на Linux-машине со своими паролями, если в качестве PAM-модуля для соответствующего сервиса (SSH, IMAP и др.) использует- ся pam_krb5, проверяющий пароли через сервис Kerberos. Другим вариантом является использование так называемых Kerberized-сервисов, в этом случае пароль вводить вообще не придется. Каждый сервис подключается к системе аутентификации Kerberos посвоему, например, для OpenSSH процесс описан тут: http://www.tkk.fi/cc/ docs/kerberos/sso.html#openssh. Для правильной работы также требуется клиент SSH с поддержкой Kerberos, например, существует модифицированная версия PuTTY: http://rc.quest. com/topics/putty/.

Если речь идет о подключении пользователей Windows к файловым ресурсам Linux-машины, то это опять же реализуется средствами Samba, а подробное описание всего, что необходимо для работы этого программного обеспечения, находится в замечательной книге "Using Samba", бесплатно доступной на сайте проекта: http://us1.Samba.org/Samba/docs/ using_Samba/toc.html. ВИ

Вопрос-победитель (английская версия)

Apache homes

В: Хочу настроить Apache так, чтобы пользователи имели персональные web-сайты в своих домашних директориях / homes/user/website со ссылкой на www.blah.com/~user. Я знаю, что могу это сделать с помощью модуля userdir. Беда, однако, в том, что пользователи монтируют свои домашние директории с Windows- машин, и когда они кладут свои файлы в папку, то Apache не разрешено их читать.

Как мне его настроить, чтобы файлы, положенные пользователями в их публичные папки, были доступны для чтения Apache автоматически? Я видел упоминание о так называемом mod rewrite, но это не ответ на вопрос. Вовсе не хочу, чтобы пользователи имели возможность менять права (слишком умно для них!) или запускать какие-нибудь скрипты каждую пару часов для проверки их прав. Есть ли модуль Apache, который делает что-то типа этого? Jellyman_4eva, с форумов LXF

O: mod_rewrite – очень мощный инструмент, но для этой задачи использовать его неправильно, так как он переделывает переадресованные-запрошенные URL, базируясь на регулярных выражениях. А правильным выбором будет модуль userdir, который Вы упоминали. Ваша проблема сводится к обеспечению того, чтобы все HTML- и прочие файлы, которые пользователи скидывают в свое web-пространство, были читаемыми для сервера при невозможности чтения всего пользовательского каталога. Это можно легко сделать тщательным выбором владельцев и прав доступа.

При работе c модулем Apache userdir, http://hostname/~username/ отображается на /home/username/ public_html/. Первый шаг – это проверить, что директории пользователей открыты на чтение только для них самих:

 chmod 711 /home/* 

Затем необходимо директории public_html сделать доступными для чтения группе, под которой запущен Apache. Обычно это 'Apache', но некоторые дистрибутивы запускают сервер под 'nobody'. Посмотрите на параметр Group в файле httpd.conf:

 chgrp apache /home/*/public_html 
 chmod 750 /home/*/public_html 
 chmod g+s /home/*/public_html 

Теперь директории пользователей доступны для чтения только для них (chmod 711), а директория public_ html принадлежит группе 'Apache', и члены этой группы могут ее читать (но не писать в нее). Третья команда устанавливает директорию как setgid, поэтому любые файлы, созданные в ней, автоматически принадлежат группе 'Apache' вместо группы обычных пользователей. Владение же файлом остается за пользователем.

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

 UserDir public_html 

Измените ее на ту, где Вы хотите хранить HTML-файлы в домашних каталогах пользователей. ПХ

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