Журнал LinuxFormat - перейти на главную

LXF106:Ответы

Материал из Linuxformat
Версия от 12:50, 28 октября 2010; Romanakabm (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Содержание

Ответы

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

Притворяемся XP

В: Я, наконец, заполучил почти приличную машину с Ubuntu. Но моя подруга не притронется к компьютеру, если на нем не стоит Windows XP, поэтому пришлось смириться с двойной загрузкой. Я давным-давно читал в Linux Format о «киосках», которые загружаются в Firefox и завершают работу при выходе из браузера. Могу ли я сделать то же самое с виртуальной машиной, и насколько это трудно?

Решение видится мне таким: моя подруга вводит свои реквизиты в окне GDM (оформленном под XP), a после этого запускается виртуальная Windows, так что на ее рабочем столе не будет ничего от Linux – даже панелей. Компьютер выключается вместе с виртуальной машиной, поскольку объяснить, что «сначала – Windows, потом – Ubuntu» будет трудновато – девушка вечно куда-то спешит.

tuxmando, с форумов LXF

О: Это возможно как с VirtualBox, так и с VMware Workstation. Чтобы проделать все в VirtualBox, сначала создайте виртуальную машину в обычном режиме и убедитесь, что она работает. Потом проверьте, что она запускается из командной строки:

VBoxSDL -fullscreen -vm “Имя ВМ”

Имя виртуальной машины можно взять из списка в графическом интерфейсе VirtualBox – здесь нет необходимости указывать путь. Данная команда должна запустить виртуальную машину Windows XP и вернуться в терминал при закрытии Windows. Теперь нужно заставить ее выполняться автоматически при входе пользователя.

Первый шаг, если вы еще этого не сделали – это создание пользователя через меню Система > Администрирование > Пользователи и группы. Так как вы запускаете виртуальную машину в полноэкранном режиме, то вам не нужно ничего сверх самого минимального оконного менеджера: тяжеловесы вроде Gnome излишни, особенно когда запущена жадная до памяти Windows. Мой фаворит – EvilWM; его можно установить с помощью Synaptic. Затем создайте в домашнем каталоге пользователя файл .xsession следующего содержания:

 #!/usr/bin/env bash
 /usr/bin/evilwm &
 sleep 3
 exec VBoxSDL -fullscreen -vm “имя VM”

Выйдите и введите имя другого пользователя в GDM. Прежде чем набрать пароль, нажмите на меню в нижнем левом углу и вызовите окно выбора сессий. Укажите Xclient Script и нажмите, когда спросят, кнопку Использовать по умолчанию. Теперь всякий раз, когда пользователь войдет в систему, будет запускаться файл .xsession, загружающий VirtualBox в полноэкранном режиме, как если бы вы вошли в Windows. При закрытии Windows, VBoxSDL закончит работу и скрипт .xsession завершится, возвратив вас к экрану входа GDM. МС

Не подскажете, который час?

В: У меня есть небольшая личная сеть для тестирования VoIP, где каждая машина имеет статический IP в диапазоне 192.168.254.x. Хост с адресом 192.168.254.200 выделен под NTP-сервер. NTPD был установлен и нормально запустился, но стоит попробовать синхронизировать с ним другую машину посредством ntpdate, как мне говорят: «нет серверов, пригодных для синхронизации». Это происходит с двумя Linux-серверами и на моем Mac, так что проблема, как представляется, в настройках NTP-сервера, а не клиентов.

Имеющиеся у меня IP-телефоны Cisco, которые используют Simple NTP вместо полноценного NTP, «забирают» время с сервера без проблем.

Процесс конфигурирования NTP, на мой взгляд, плохо документирован. Файл ntp.conf на сервере содержит следующее (я просто хочу, чтобы машины сети имели возможность получать время):

 restrict 192.168.254.0 mask 255.255.255.0
    nomodify notra

Это, как я понимаю, должно позволить любой машине с IP в диапазоне 192.168.254.x получить время сервера для себя, но не изменять его на сервере. Я также попытался установить уровень страты, но безрезультатно.

Дэйв Айлинг [Dave Ayling]

О: Первый шаг в диагностике этой проблемы состоит в запуске ntpdate с ключом -d (отладка). Она заставит утилиту выводить детали общения с сервером без изменения системных часов. Я подозреваю, вы увидите что то вроде

192.168.254.200: Server dropped: strata too high

Причиной обычно является рассинхронизация данного NTP-сервера с вышестоящими; искусственно высокое значение страты устанавливается специально, чтобы потерять доверие других компьютеров сети. То есть сервер говорит: «Вот время, но я не уверен что оно правильное», а ему отвечают: «Ладно, спасибо, мне тогда не надо». Более простые клиенты могут не обратить на это внимание.

Оставьте сервер работать но несколько часов, дав ему возможность синхронизироваться с вышестоящими серверами с http://pool.ntp.org или другими, которые вы задали в ntp.conf. Запуск ntpq -p 192.168.254.200 предоставит более подробную информацию, выдав известные узлы и их точность. Вам нужно, чтобы большинство из них имело * или + в первой колонке и низкое значение в колонке st (stratum). Настройки в ntpd.conf могут только повысить страту, а потому бесполезны.

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

MySQL Administrator

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

Виноват точно не сервер, – я перебрал их несколько; кроме того, Mac-версия MySQLAdmin прекрасно со всем справляется. Когда же я запускаю Linux-версию из терминала, она вылетает при входе на сервер и выдает следующее:

/home/andrew/mysql-gui-tools-5.0/mysql-administrator-bin: symbol lookuperror: /usr/lib/
libbonoboui-2.so.0: undefined symbol:g_type_ register_static_simple

Я использую Ubuntu 7.04 «прямо из коробки». Не стоит ли попробовать другую версию libbonoboui?

Эндрю Вуд [Andrew Wood]

О: Вы установили mysql-gui-tools с сайта MySQL или mysql-admin из Synaptic? Похоже, имеет место старая проблема, которая проявляется только в первом случае. Она зарегистрирована в системе отслеживания дефектов MySQL с июня 2007 года. Большинство сообщений касались Ubuntu версии 7.04, где и была обнаружена ошибка, но она также присутствует и в 7.10. Причина кроется в конфликте между версиями библиотек, включенных в фирменный дистрибутив и установленных в системе, поэтому она не проявляется при использовании стандартных пакетов Ubuntu. Если возможно, удалите текущую версию и установите ее снова через Synaptic.

Если вы все же хотите использовать фирменный вариант, могу предложить несколько решений; к сожалению, они работают не везде. Самое правильное – собрать пакет из исходных текстов, что объясняет, почему программа прекрасно работает на моих системах с Gentoo. Менее экстремальный способ – удалить библиотеки из директории, где установлен MySQL Admininstrator, вынудив его использовать то, что есть в системе. Перед тем, как вы сделаете это, не забудьте сохранить удаляемые библиотеки. Они могут потребоваться позднее, так что вместо удаления имеет смысл ограничиться переименованием.

Первый кандидат – /opt/mysql-gui-tools-5.0/lib/libgobject-2.0.so.0: переименуйте его и попробуйте запустить приложение. Если сбой не исчезнет, проделайте то же самое со всеми библиотеками в /opt/mysql-gui-tools-5.0/lib (или переименуйте всю директорию). В результате вы можете получить сбой из-за отсутствующих библиотек, так что заменяйте их по порядку, пока все не заработает. В этом случае вы будете использовать минимум встроенных библиотек, отсутствующих в системе. Некоторые утверждают, что создание каталога /etc/mysql/conf.d/helps решает проблему в Ubuntu – попробуйте и этот путь.

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

Точка преткновения

В: Будучи полным чайником в Linux, я проникся идеей свободного ПО и его манящей независимостью, однако, был остановлен первой же серьезной проблемой. Установив Mandriva Powerpack 2008 единственной операционной системой на мой старый Packard Bell, где ранее без проблем работала XP Pro, я не смог настроить соединение с Интернетом. У нас беспроводная сеть от Talk-Talk, которая благополучно поддерживает один компьютер, ноутбук и Wii. Когда я вставляю диск для загрузки ПО в Linux, он опознается, но я не могу понять, как его запустить. Я не понимаю что-то очевидное, или мне нужна какая-нибудь другая программа для установки ?

Ник Найколс [Nic Nichols]

О: Этот CD предназначен только для Windows, и здесь он не нужен. Подобные диски лишь конфигурируют модемы и иногда устанавливают фирменные версии программ вроде Internet Explorer. Вся настройка может быть выполнена в браузере, но для этого вам потребуется проводное соединение – на многих маршрутизаторах административный web-интерфейс недоступен по Wi-Fi из соображений безопасности. Убедитесь, что ваша проводная сеть настроена на использование DHCP для автоматического получения адреса – вы можете сделать это в секции Сеть Центра управления Mandriva. Подключите кабель, загрузите Firefox и наберите в адресной строке http://192.168.1.1. Это предоставит вам доступ к странице администрирования маршрутизатора, где у вас спросят имя пользователя и пароль – по умолчанию это ‘admin/admin’, и вам следует сразу же их сменить. Предполагая, что маршрутизатор уже подключен к Интернету, больше настраивать нечего, так что вы можете выходить в Сеть через проводное соединение.

Настройка беспроводной сети чуть сложнее, но, судя по описанию, маршрутизатор у вас работает исправно. Есть два возможных варианта: вы не настроили шифрование (сделайте это в секции Сеть и Интернет Центра управления Mandriva) или же драйвер для вашего беспроводного адаптера не включен в дистрибутив по умолчанию, и вам нужно установить его отдельно. К несчастью, вы не приложили информацию о вашем оборудовании. Вывод lshw поможет идентифицировать карту и подобрать подходящий драйвер – все просто. ГМ

Почта из командной строки

В: Я помню, что существует программа, которая может использовать SMTP-сервер провайдера для отправки почты из командной строки. Не могли бы вы напомнить мне ее имя?

tedius, с форумов LXF

О: Это по плечу любому стандартному агенту передачи почты (MTA) вроде Postfix или Sendmail, но вы, вероятно, не захотите устанавливать полномасштабный MTA для такой простой задачи. Стандартная программа mail требует наличия локального MTA. Если же вы хотите использовать сервер провайдера, лучшим решением будет утилита ssmtp (http://packages.debian.org/stable/mail/ssmtp). Хотя это программа Debian, Fedora, Mandriva и Ubuntu также содержат ее в своих репозиториях, а Gentoo устанавливает ее как часть базового системного набора. Тем не менее, это одна из тех утилит, которые необходимо настроить перед использованием, отредактировав /etc/ssmtp/ssmtp.conf как root. Ключевым параметром является mailhub', который должен быть настроен на SMTP-сервер вашего провайдера.

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

mailhub=smtp.myisp.com:587

Другими параметрами, которые может потребоваться установить, в зависимости от настроек вашего провайдера, являются UseTLS для обеспечения взаимодействия с сервером и AuthUser/AuthPass, если вам необходима авторизация перед отправкой почты. Идея проста: все неумолчательные настройки вашего стандартного почтового клиента должны быть продублированы и здесь.

Применение ssmtp аналогично использованию sendmail. На самом деле, ssmtp даже добавляет команду с таким именем, поэтому любая программа, которая умеет отправлять почту через локальный MTA, может посылать ее через вашего провайдера посредством ssmtp. Отправка почты через ssmtp осуществляется «скармливанием» ей тела сообщения через стандартный ввод и передачей адреса назначения в командной строке.

/usr/sbin/ssmtp -t <<EOF
From: My Name <me@myisp.com>
To: Your Name <you@yourisp.net>
Date: $(date -R) Subject: Just a test
This is a test of ssmtp
EOF

В данном случае, адрес получателя включен непосредственно в заголовки – это возможно благодаря опции -t. Все, что находится между <<EOF и EOF, передается на стандартный ввод программы – запомните этот полезный прием.

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

myprogram | ssmtp me@myisp.com

Программа mail, которой необходим MTA, предоставляет больше возможностей, например, позволяет указывать тему сообщения в командной строке. Так как ssmtp эмулирует sendmail, вы можете воспользоваться всеми этим функциями. Никаких дополнительных настроек не требуется – просто установите пакет mailx и просмотрите man-страницы на предмет соответствующих параметров – но, для затравки, попробуйте

myprogram | mail -s “Output from myprogram” me@myisp.com

Исходники к дистрибутиву

В: Недавно я купил выпуски LXF102 и LXF103. Пожалуйста, не могли бы вы подсказать, существует ли исходный код для дистрибутивов на их DVD-дисках? Я только что купил USB-модем Zoom 3095, на CD которого имеются файлы tar и rpm, и им требуется исходный код дистрибутива, чтобы скомпилировать драйвер. У меня Mandriva 2008 Free, но я не могу найти каталог c исходными текстами.

Можете ли вы также сообщить мне, где в дистрибутиве Mandriva 2008 Free находится меню KDE/ПО для дозвона, так как у меня в данный момент нет широкополосного доступа.

Гэри Хауес [Gary Howes]

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

Пакеты с исходными текстами ядра включатся в любой дистрибутив Linux, но обычно не устанавливаются по умолчанию. Исходный код должен совпадать по номеру версии с ядром, которое вы используете, так что если у вас стоит стандартный kernel-desktop-2.6.22-1mdv2008.0, который поставляется вместе с Mandriva 2008 Free, нужно добавить kernel-source-2.6.22-1mdv. Также хорошей идеей будет установить пакет kernel-source-latest, который всегда «содержит» последнюю версию исходных текстов ядра, поскольку его собрат, kernel-desktop-latest, присутствует в системе по умолчанию. Таким образом, всякий раз, когда служба обновлений пожелает установить новое ядро, вы автоматически получите соответствующий исходный код. Все это делается в секции Управление программами Центра управления Mandriva. Помните, что обновление ядра нарушит работу вашего модема и вам придется перекомпилировать драйвер, поэтому следует поддерживать исходные тексты в актуальном состоянии.

Чтобы установить ПО для дозвона, наберите ‘kppp’ в строке поиска менеджера программ. Вы можете настроить соединение в секции Сеть и Интернет Центра управления Mandiva. НБ

3G – Go, Go, Go!

В: У меня есть три USB-модема Huawei E220, которые автоматически настраиваются в Windows и Mac, но не в Linux. Пожалуйста, подскажите мне дистрибутив, который содержит драйверы для них, чтобы я мог их использовать.

Кейт Браун [Keith Browne]

О: Данный модем поддерживается ядром Linux, начиная с версии 2.6.20, поэтому любой современный дистрибутив должен уметь с ним работать. При подключении он появляется как устройство /dev/ttyUSB0, которое вы можете использовать в качестве модема в любом ПО для дозвона. По сообщениям, следующая конфигурация работает в WvDial.

[Dialer mobile]
Modem = /dev/ttyUSB0
Baud = 460800
Init2 =AT
Init3 = AT&FE0V1X1&D2&C1S0=0
ISDN = 0
Modem Type = Analog Modem
Phone = *99***1#
Username = username
Password = password

Huawei E220, фактически, включает в себя две части: непосредственно модем и запоминающее устройство USB, работающее в режиме только для чтения. Последнее содержит драйверы для Windows и позволяет сэкономить на прилагаемом компакт-диске, но так как вы работаете в Linux, вам это не нужно. Ядро должно настроить модемную часть устройства при его обнаружении, но некоторые люди сообщают о проблемах, когда модем появляется в виде карты памяти. Существует программа под названием HuaweiAktBbo, которая переключает модем между двумя режимами. Вы найдете ее в пакете vodafone-mobile-connect-card-driver-for-linux, который вы можно скачать с https://forge.vodafonebetavine.net/frs/?group_id=12&release_id=11. Хотя название содержит слово Vodafone, другие провайдеры используют то же оборудование, и программа работает со всеми ними. Ее запуск после вставки брелка переключает последний в режим модема. Вы можете вызывать ее автоматически при подключении модема с помощью соответствующего правила udev. Поместите это в /etc/udev/rules.d/10-local.rules (создайте файл, если он не существует)

SYSFS{idVendor}==”12d1”, SYSFS{idProduct}==”1003”,
RUN+=”/usr/sbin/huaweiAktBbo”

Производитель и идентификатор продукта вашего устройства могут быть другими; lsusb покажет вам правильные значения. Теперь модем должен появиться как модем на /dev/ttyUSB0 всякий раз, когда вы его подключите. Некоторые люди говорят об успешной работе на 921600 бит в секунду (что позволяет потратить ваш ежемесячный лимит гораздо быстрее), но сперва заставьте его работать на 460800 бит/сек, а потом уж применяйте всяческие ухищрения. ПХ

Невидимый USB

В: Я пытаюсь получить доступ к USB-брелку. Поиск по USB в выводе dmesg с помощью grep выдает следующее:

USB Universal Host Controller Interface v3.0
 uhci_hcd 0000:00:1f.2: new USB bus registered,
 assigned bus number 1hub 1-0:1.0: USB hub found

То есть, система распознает USB. Однако я не могу получить доступ к брелку с рабочего стола. Как же его смонтировать?

А Брэдли [A Bradley]

О: Хотя dmesg показывает информацию о вашем USB-интерфейсе, какое-либо упоминание о самом устройстве подозрительно отсутствует. Для его поиска зачастую бывает проще взглянуть в системный журнал. Обычно это /var/log/messages или /var/log/current, в зависимости от используемого демона (вы не упомянули ваш дистрибутив, поэтому мы не можем сказать точно). Запустите

tail -f /var/log/messages

как root перед тем, как воткнете USB-брелок, а затем поищите информацию о нем в выводе команды. Вы должны увидеть что-то вроде этого

usb 7-5: new high speed USB device using ehci_hcd and address 16
usb 7-5: configuration #1 chosen from 1 choice
scsi14 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 16
usb-storage: waiting for device to settle before scanning
scsi 14:0:0:0: Direct-Access Generic USB Flash Disk PMAP PQ: 0 ANSI: 0 CCS
sd 14:0:0:0: [sde] 2007040 512-byte hardware sectors (1028 MB)
sd 14:0:0:0: [sde] Write Protect is offsd 14:0:0:0:
[sde] Mode Sense: 23 00 00 00
sd 14:0:0:0: [sde] Assuming drive cache: write through
sd 14:0:0:0: [sde] 2007040 512-byte hardware sectors
sd 14:0:0:0: [sde] Write Protect is offsd 14:0:0:0:
[sde] Mode Sense: 23 00 00 00
sd 14:0:0:0: [sde] Assuming drive cache: write through
sde: sde1
sd 14:0:0:0: [sde] Attached SCSI removable disk
sd 14:0:0:0: Attached scsi generic sg6 type 0
usb-storage: device scan complete
hald: mounted /dev/gigabyte on behalf of uid 1000

В данном случае устройство распозналось как /dev/sde с одним разделом, который был автоматически примонтирован. Если вы не видите ссылок на usb-storage, убедитесь что модуль usb-storage загружен, исследовав вывод lsmod:

sudo lsmod | grep storage

Если модуль не загружен, попытайтесь сделать это с помощью sudo modprobe usb-storage и вставьте устройство снова. Попробуйте подключить его к другому компьютеру: флэш-память имеет ограниченное число циклов записи, и FAT-таблица – часто первое, что перестает читаться на отформатированном в FAT разделе; это также могло привести к наблюдаемому вами поведению. НБ

Назад, в Windows

В: Как мне вернуться к Windows XP после установки на моем ноутбуке Ubuntu?

Рэй Харт [Ray Hart]

О: Вы спрашиваете, как загрузить Windows XP вместо Ubuntu, или о том, как убрать Ubuntu и вернуться к Windows? На первый вопрос ответить очень легко. Во время инсталляции, Ubuntu должен был предложить вам изменить размер раздела Windows и, при условии, что вы согласились, «пододвинуть» хранящиеся там данные, чтобы установиться «по соседству». Выбор между операционными системами осуществляется через загрузочное меню, которое в Ubuntu спрятано. При старте системы, вы увидите строку “Press ESC to enter the menu” [Нажмите ESC для входа в меню] – сделайте это, и сможете загрузить Windows. В противном случае запустится ОС по умолчанию, то есть, Ubuntu.

Если вы хотите уничтожить Ubuntu, используйте какую-нибудь утилиту для удаления разделов Linux и расширьте раздел Windows на весь диск. Это можно сделать с помощью Partition Magic в Windows, или использовать установочный диск Ubuntu. Загрузитесь с него и откройте меню Система > Администрирование > Редактор разделов. Отсюда вы сможете удалить разделы Linux. Ubuntu обычно использует два: маленький раздел подкачки и большой – для всего остального.

Убедитесь, что вы удаляете только разделы, которые помечены как swap или ext3 – любые FAT или NTFS-разделы предназначены для Windows.

Это удалит данные Ubuntu с компьютера, но оставит загрузчик Grub. Вам нужно загрузиться с вашего Windows CD и стереть его. Выберите опцию восстановления и запустите fixmbr. Так вы восстановите код загрузчика Windows, и ваш компьютер при включении будет загружаться прямо в нее.

Все вышесказанное предполагает, что вы согласились изменить размер раздела Windows при инсталляции Ubuntu. Если же вы приказали установщику использовать весь диск, то он стер ваш Windows с винчестера. В таком случае, единственный способ получить обратно Windows – это переустановить ее. НБ

Докопаться до истины

В: Я наконец-то заменил свой Radeon 9200 на GeForce 7600. Драйверы из репозитория к моей Mandriva 2006 не подошли, и я установил NVIDIA-Linux-x86-100.14.19-pkg1.run, который нашел на диске LXF. Установщик поправил /etc/xorg.conf, и при загрузке X теперь появляется логотип NVIDIA, Blender и другие 3D-приложения работают прекрасно, glxinfo пишет: «direct rendering: Yes», но есть одна проблема: частота обновления, судя по стандартной утилите настройки дисплея, составляет всего 50 Гц, с возможностью увеличения до 52 Гц.

В xorg.conf написано:

Identifier “monitor1”
  VendorName “Generic”
  ModelName “1280x1024 @ 76 Hz”
  HorizSync 31.5-82
  VertRefresh 50-90

Я поменял число 82 на 105, а 90 – на 200 (нечто похожее было указано для Radeon), но после перезагрузки все осталось по-прежнему. Может, NVIDIA хранит настройки где-нибудь еще? Визуально мне кажется, что частота развертки не 50, а 75 Гц, так как изображение на мерцает... Посоветуйте, как быть?

Андрей Кондратьев

О: Дело в том, что драйверы NVIDIA сами определяют частоту вертикальной развертки, фактически игнорируя то, что написано в xorg.conf. Взаимодействие с монитором происходит по протоколу EDID – [Extended Display Identification Data, расширенные данные идентификации дисплея]. Настройки рабочего стола здесь ни при чем, однако, существуют специализированные утилиты с графическим интерфейсом: nvidia-settings и nvidia-xconfig, включенные в состав драйвера NVIDIA для Linux – они и решают поставленную задачу. После установки драйвера и старта Х-сервера, вы можете запустить утилиту командой:

nvidia-settings

в окне терминала, и там уже вполне свободно выставить желаемые настройки.

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

nvidia-settings -q RefreshRate

Ее вывод будет примерно таким:

Attribute ‘RefreshRate’ (asu-107-3:0.0; display device: CRT-0): 85,02 Hz.
‘RefreshRate’ is an integer attribute.
‘RefreshRate’ is a read-only attribute.
‘RefreshRate’ is display device specific.
‘RefreshRate’ can use the following target types: X Screen, GPU.

Как видите, реальная рабочая частота указывается в конце первой строчки. ЮД

Бремя выбора

В: Я недавно перешел с Windows на Linux и столкнулся со следующей проблемой. На моем компьютере установлены две сетевые карты. При загрузке системы обе они активируются, а мне необходимо, чтобы компьютер был подключен только к одной сети. Сейчас я просто отключаю один из адаптеров после старта системы. Возможно ли настроить все так, чтобы запускалась только одна сетевая карта, а вторую можно было активировать вручную? Я использую Mandriva 2007, но в ближайшем будущем намерен перейти на текущую версию Kubuntu.

KOD SIM

О: Чтобы отключить сетевой интерфейс в Mandriva Linux, можно воспользоваться Центром управления, а точнее – Сетевым центром, расположенным в секции Сеть и Интернет. Выберите в нем нужную вам сетевую карту и нажмите Отключить – тогда при загрузке устройство не будет активировано. Чтобы включить устройство вручную, повторите ту же последовательность действий.

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

Достичь того же в Kubuntu можно через стандартный Центр управления KDE [K Menu > System Settings] – выберите в нем Настройки сети [Network Settings], перейдите в режим администратора и нажмите кнопку Отключить интерфейс [Disable interface]. ВС

Безопасность своими руками

В: Я хочу создать брандмауэр, но не знаю, с чего начать. Стандартные межсетевые экраны в дистрибутивах, которые я опробовал, кажутся слишком простыми – мне нужно нечто с большим контролем. Я слышал, что мой путь лежит через Iptables, но он выглядит очень сложным, с правилами типа колдовских заклинаний. Есть ли что-то, дающее мне достаточный контроля за тем, что не разрешено, но в более доступной форме?

Дункан, Гринвич [Duncan, Greenwich]

О: Вся фильтрация происходит в ядре Linux с использованием модулей netfilter. Они умеют гораздо больше, чем просто отбрасывать соединения, и влияют на маршрутизацию, переадресацию и отслеживание сетевых пакетов. Iptables – пользовательская утилита, контролирующая netfilter, обычно применяется в сочетании с файлом, содержащим ряд правил. Можно составить его в текстовом редакторе, и многие люди так и поступают, но это требует приличного знания различных опций и последствий их применения. Помните, что компьютеры будут делать то, что вы скажете, а не то, что вы хотите. Можно создать набор правил, оставляющий систему открытой для атаки, в то время как вы будете полагать, что она не не имеет доступных извне портов. Тут-то и приходят на помощь различные оболочки для брандмауэров, которые помогут вам определить ваши потребности и создадут правила Iptables за вас. Результат их работы читается Iptables при старте, и можно даже создать правила на одной машине, чтобы потом перенести их на другую.

Одной из популярных оболочек является Guarddog (http://www.simonzone.com/software/guarddog). Guarddog работает с зонами, изначально заданными для локального компьютера и Интернета. В зонах группируются хосты или сети, поэтому первым шагом должно быть создание зоны локальной сети для других ваших компьютеров. Если у вас есть только один ПК, хватит локальной и интернет-зон. После этого на вкладке Protocols [Протоколы] задайте, какие типы входящих и исходящих соединений дозволены между зонами. Например, вы можете разрешить NFS или SMB из локальной сети, чтобы другие компьютеры могли видеть ваши папки общего доступа, но едва ли пожелаете открыть их для Интернета. Протоколы сгруппированы по категориям, а их описание приводится на панели слева внизу. По умолчанию, весь доступ из других зон к локальной машине запрещен, поэтому отметьте нужные вам сервисы и нажмите кнопку Применить. Теперь попробуйте использовать сервисы, которые вы не включили, и сравните желаемое с действительным.

Вкладка Logging [Журналирование] служит для записи информации о заблокированных и отброшенных пакетах в системный журнал. Это может быть полезно при тестировании, но также способно переполнить файловую систему, на которой расположен /var/log.

В разделе Advanced [Расширенные] можно отключить брандмауэр: хороший тест, когда что-то не работает. Если после его выключения проблема исчезает, виноваты заданные вами правила. Вы также можете включить DHCP – это будет полезно тем, кто следует учебнику LTSP данного номера – и экспортировать набор правил для использования на другом компьютере. Последняя вкладка, Port Reference [справка по портам], позволяет узнать, какой сервис обычно соответствует данному номеру. НБ LXF

По стопам Шаттлворта

В: У меня есть принтер Epson R300, который я подключил к компьютеру с Edubuntu 7.10. Устройство нормально определилось и печать на бумаге проходит без проблем, чего нельзя сказать о дисках. В Windows для этих целей используется специальное ПО, а в Linux, разумеется, его нет. Когда я выбираю Print to CD в диалоге печати, полдиска остаются неокрашенными. Как можно разрешить эту проблему? Я раздаю диски с Linux и хочу оформить их подобающим образом, но привлекать для этого Windows кажется мне неправильным.

Павел Сметанин

О: Чтобы разобраться с проблемой, для начала давайте пройдем на http://linuxprinting.org и посмотрим, как обстоят дела с вашим принтером. Вот ссылка на его описание и информацию по драйверам: http://openprinting.org/show_printer.cgi?recnum=Epson-Stylus_Photo_R300. Можно видеть, что устройство имеет статус «Works Partially», то есть «работает частично». На странице также говорится: «6-color CMYKcm printing, printing on inkjet-printable CDs and DVDs possible (not yet supported by Gimp-Print).», или, по-русски: «... печать на CD/DVD с покрытием для струйной печати возможна (еще не поддерживается Gimp-Print).». Кроме того, рекомендуется использовать драйвер gutenprint. Можно предположить, что во всем виновата частичная поддержка вашего принтера в Linux. Для получения хоть какой-то информации будет полезно посмотреть журналы демона печати – это файл /var/log/cups/error_log, правда, при отсутствии поддержки данной возможности в драйвере, там может и не быть никаких полезных сообщений.

Хорошим выходом может стать запуск специализированной Windows-программы из-под Wine. Открыв ссылку: http://appdb.winehq.org/objectManager.php?sClass=version&iId=3700&iTestingId=8773, вы обнаружите, что приложение Epson Print CD версии 1.10E поддерживается Wine и, таким образом, доступно для Linux. ЮД

* Запись на NTFS

В: Я администрирую ПК с двойной загрузкой Vista и Slackware. Он имеет общий раздел, отформатированный в NTFS. Из-под Linux, я могу получить к нему доступ только для чтение, но не могу создавать файлы. Мне не нужно замысловатых прав доступа на общем разделе, так как он будет содержать файлы только одного пользователя.

JS, с форумов

О: Есть три подхода к работе с NTFS в Linux. Сейчас вы используете драйвер, включенный в ядро, который надежно поддерживает только чтение – вы можете писать в существующий файл до тех пор, пока его размер не меняется. Создание файлов или каталогов невозможно.

Второй вариант – NTFS-3G (http://www.ntfs-3g.org), файловая система FUSE. Она, хоть и выполняется в пространстве пользователя, надежна и достаточно быстра, а также доступна в большинстве дистрибутивов.

Третий вариант – это Paragon NTFS для Linux, который мы рассматривали в прошлом году. Это коммерческое ПО, которое поставляется вместе с рядом утилит и доступно на http://www.ntfs-linux.com. Как всегда, выбор остается за вами, но встроенный в ядро драйвер на сегодняшний день наиболее ограничен, и я бы порекомендовал попробовать NTFS-3G.

Часто задаваемые вопросы... Чтение файловых систем Windows

Узнайте больше о работе с FAT и NTFS
  • Можно ли смонтировать мои Windows-диски в Linux?

Да. Старые системы FAT и VFAT MS-DOS поддерживаются с незапамятных времен. Большинство установщиков дистрибутивов могут находить и настраивать их автоматически. Для монтирования раздела вручную, скомандуйте

mount -t vfat /dev/hda1 /mnt/windows
  • Как насчет файловой системы NTFS, используемой в Windows XP?

Поддержка NTFS до недавнего времени была неполной, причем в большинстве дистрибутивов предлагался в лучшем случае доступ только для чтения. Ядро Linux до сих пор отмечает возможность записи как «экспериментальную», но сейчас есть FUSE-драйвер, называемый NTFS-3G, который обеспечивает полный доступ на чтение/запись к файловым системам NTFS; вы можете найти его на http://www.ntfs-3g.org. Для монтирования раздела, наберите:

 ntfs-3g /dev/hda1 /mnt/windows

а для размонтирования

 fusermount -u /dev/hda1
  • Я добавил мой Windows раздел в /etc/fstab. Почему только root может писать на него?

FAT не имеет понятия о владельце и правах доступа, так что все файлы и каталоги являются собственностью пользователя, который подмонтировал раздел; при загрузке это делает root. Опция uid в fstab решает проблему, но по-прежнему ограничивает доступ только для одного пользователя.

Альтернатива – umask, контролирующая доступ к каждому файлу. Слудеющая запись в /etc/fstab делает все существующие файлы общедоступными и принадлежащими пользователю fred и группе users.

 /dev/hda1 /mnt/windows vfat umask=000,uid=fred,gid=users 0 0
  • В чем отличие FAT, VFAT и FAT32?

FAT – это оригинальная файловая система MS-DOS. VFAT – Windows 95 расширение FAT, котрое поддерживает длинные имена. FAT32 – еще более позднее расширение, поддерживающее большие диски. Разделы на винчестере почти всегда используют FAT32, а флеш-носители – FAT16 [в настоящее время обычно применяется FAT32, – прим. перев.]. Вам не нужно беспокоиться об этом (за исключением случаев форматирования устройства), так как модуль VFAT поддерживает их все.

  • Как насчет чтения файловых систем Linux из Windows?

Иногда возможно и это. Существует драйвер для ext2/3, который можно скачать с http://www.fs-driver.org – он монтирует файловую систему ext2 как отдельный диск. Он не обрабатывает права доступа в полном объеме, потому что Windows ничего не знает о ваших Linux-пользователях. Новые файлы имеют того же владельца, что и их родительский каталог, но это не должно вызывать слишком много проблем. Для доступа к разделам ReiserFS из Windows существует утилита rfstool (http://p-nand-q.com/download/rfstool.html).

Краткая справка. X-проброс

X (основа всей графики в Linux) – сетевой протокол. Чаще всего ваш дисплей подключается к X-серверу на локальной машине, но это совершенно не обязательно. Для удаленного доступа существуют VNC или NX, но они отображают рабочий стол второго компьютера целиком.

Однако, вы можете запустить лишь одну нужную программу через защищенное SSH-соединение. Наберите следующее:

ssh -X user@remote.computer someprogram

Если someprogram – графическое приложение, то его окно откроется на вашем рабочем столе. Правда, кое о чем нужно помнить. Во-первых, у вас должен быть SSH-доступ к другому компьютеру через пароль или по ключу. Кроме того, на его SSH-сервере должен быть настроен проброс X (X forwarding). Последний обычно активируется по умолчанию, но на всякий случай проверьте, что /etc/ssh/sshd_config содержит строку

X11Forwarding yes

У ssh есть и другие полезные функции. Например, можно использовать вместо -X опцию -Y. Этот параметр доступен, если SSH-сервер настроен на Trusted X11 Forwarding [Доверительный проброс X11-соединения], и он существенно ускоряет процесс передачи данных. Другая опция, полезная при подключении по медленным линиям – это -C, включающая сжатие. Впрочем, X здесь уже не очень подходит – лучше возьмите NX или TightVNC.

Персональные инструменты
купить
подписаться
Яндекс.Метрика