- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF139:Ответы
Материал из Linuxformat.
- Есть вопрос по открытому ПО? Пишите нам по адресу answers@linuxformat.ru.
Содержание |
Ответы
- Мы найдем ответы на любой вопрос — от проблем с установкой системы или модемом до сетевого администрирования; главное — спросить!
1 Админ, но без прав
В Родители моей жены, намучившись в Vista с проблемами из-за вредоносного ПО, созрели для перехода на Linux. Я решил создать отдельный раздел с Linux Mint Isadora, чтобы они сначала познакомились с этой ОС, а уж потом полностью удалить Vista. Компьютер им нужен только для просмотра Internet и об-мена электронной почтой, так что все просто.Беда в том, что они — печально знаменитые авантюристы и очень любят менять настройки, в которых ничего не понимают. Раньше это создавало кучу проблем, и чтобы предотвратить такое в будущем, я решил просто не сообщать им пароль sudo.
Однако этот пароль нужен для установки обновлений ОС. А нет ли какого-нибудь способа обойтись без него?
Тревор Диппер [Trevor Dipper]
О Вообще-то с sudo можно работать и без пароля, но это отнюдь не безопасно. К решению Вашей проблемы есть два подхода: либо не требовать пароля для установки обновлений, либо создать еще одну учетную запись пользователя для Ваших тестя с тещей, предоставив этой записи лишь ограниченные административные права. При таком подходе пароль у них будет, но они смогут только выполнять обновления и устанавливать ПО. Оба варианта требу ют редактирования файла /etc/sudoers. Не следует редактировать его непосредственно, потому что ошибка может заблокировать для Вас всю систему, особенно в дистрибутивах на базе Ubuntu, где sudo – единственный путь редактирования системных настроек.
Для редактирования файла /etc/sudoers пользуйтесь командой visudo. Она загружает файл в выбранный Вами редактор, чтобы Вы внесли изменения, но перед перезаписью файла проверяет его правильность. Вызывать ее следует из терминала:
sudo visudo
Если эта команда открывает файл /etc/sudoers в Vim, то Вы, вероятно, не установили переменную окружения, поэтому задайте ее следующей ко мандной строкой:
EDITOR=”/usr/bin/gedit” sudo visudo
В качестве меры предосторожности команду sudo можно настроить на игнорирование переменной EDITOR. В этом случае для модификации файла воспользуйтесь редактором по умолчанию, а чтобы в следующий раз по умолчанию использовался редактор Gedit, добавьте в файл такую строку:
Defaults editor=”gedit”
Теперь вы можете добавить строку, которая позволит пользователю выполнять некоторые команды, обходясь без пароля. Имеющаяся строка
%admin ALL(=ALL) ALL
позволяет всем пользователям из группы admin запускать все команды, но только после ввода пароля. Добавление строки
%admin ALL(=ALL) NOPASSWD: /usr/sbin/synaptic
позволит запускать без пароля Synaptic. При этом можно указать несколько команд, приводя их в виде списка, разделенного запятыми. Перечисляя команды, указывайте полные пути к ним. Альтернативный подход – создание нового пользователя с ограниченными правами; назовите его, допустим, “inlaws”, но не добавляйте в группу admin. Дайте этой учетной записи доступ к конкретным командам через sudo, например:
inlaws ALL = /usr/sbin/synaptic
Лично Вам по-прежнему будет можно регистрироваться от имени администратора, а родителям Вашей жены ограничит доступ к определенным задачам, сохранив преимущества защиты паролем. НБ
2 Еще раз о Twobuntu
В Комментарий Пола Хадсона в недавнем выпуске «Ответов» о безопасном удалении строки UUID и использовании вместо него имени раздела — именно то, о чем я давно мечтал услышать! При редактировании файлов конфигурации, можно ли заменить UUID именем раздела повсюду, где эта мерзкая строка поднимает свою безобразную голову? Или сказанное справедливо только в отношении редактирования fstab?
Леруа Дюваль [LeRoy Duvall]
О Строки UUID хороши для автоматически генерируемых конфигураций – таких, как файл fstab, генерируемый при установке Ubuntu, потому что они уникальным образом идентифицируют разделы. Напротив, система обозначений /dev/sdXY может внести в систему путаницу, если диски добавляются или удаляются, а также если почему-либо изменяется их порядок в настройках BIOS, поскольку узлы устройств при этом изменяются. Если у Вас статическая система, не подверженная такого рода переменам, можно использовать имена устройств повсюду, хотя в основном они фигурируют в файле fstab и файлах настройки Grub.
Есть и третий вариант, по крайней мере, для /etc/fstab: использовать метки файловой системы. К примеру, если Ваш раздел root находится на /dev/sda1, а раздел home – на sda2, и оба они используют одну из файловых систем ext, можно присвоить им метки командами
sudo e2label /dev/sda1 root sudo e2label /dev/sda2 home
Затем измените записи в файле /etc/fstab так, чтобы они использовали вместо имен устройств записи вида LABEL=format:
LABEL=root / ext4... LABEL=home /home ext4...
В результате Вы получите fstab, независимый от имен устройств (и, следовательно, от порядка обнаружения устройств), но остающийся в высшей степени удобочитаемым. Если Вы не хотите делать это в терминале, можно установить метки файловой системы из GParted'. В любом случае, это можно делать при работающей файловой системе. ПХ
3 Настырный Amarok
В Я начал эксперименты по подключению Amarok 2.3.0 к моему потоку Squeezebox Server, который работает вполне прилично. Но я заметил, что после первого использования Amarok он автоматически перезапускается при каждой регистрации с моей учетной записи. Это меня раздражает, потому что моего согласия никто не спрашивал. Я пытался найти в настройках Amarok параметр, который отключал бы эту опцию, но безуспешно. Я работаю с KDE 4.4.4 в OpenSUSE 11.3. Не подскажете ли вы, где найти настройку, отключающую автоматический перезапуск?
Марк Рот [Mark Roth]
О Этот эффект вызван комбинацией механизма управления сеансами KDE и способом реагирования Amarok на нажатие кнопки закрытия окна. По умолчанию KDE сохраняет параметры всех работающих программ при выходе из системы, и восстанавливает их, когда Вы регистрируетесь повторно. Для таких программ KDE, как Amarok, это затрагивает все файлы и URL, которые они открывали. Когда Вы закрываете окно Amarok, это действие не закрывает программу, а сворачивает ее до значка в системном лотке, и когда Вы выходите из системы, программа все еще работает, а при последующем входе в систему перезапускается.
Есть три способа запретить автоматический запуск Amarok. Вы можете закрыть программу либо через меню Amarok в главном окне, либо щелчком правой кнопкой мыши по значку в системном трее, и после этого выйти из KDE. После этого при последующих входах в систему Amarok не будет автоматически запускаться, кроме тех случаев, когда Вы запустите его снова, а перед выходом из KDE опять забудете закрыть.
Кроме того, можно выбрать из меню опции System Settings > System Administration > Startup and Shutdown > Session Management и установить опцию “Start with an empty session [Начать с пустой сессии]”. При этом не будут восстанавливаться никакие программы, но элегантного тут мало.
Альтернатива – указать в том же разделе системных настроек программы, которые не следует восстанавливать при последующей регистрации. Введите в это поле строку amarok, и программа не будет перезапускаться, даже если она работала перед выходом из KDE. Если Вы хотите исключить из списка восстановления несколько программ, перечислите их через запятую. Указывать нужно имя исполняемого файла программы, а не заголовок программы, вот почему следует писать amarok, а не Amarok. Чтобы узнать имя исполняемого файла работающей программы, запустите KSysguard и просмотрите имена процессов, запущенных Вашим пользователем. НБ
4 Где мой модем?
В Моя дочь уже некоторое время работает с Kubuntu, используя сервис широкополосного проводного подключения. Но сейчас она временно переехала туда, где нет подключения через телефонную линию, и ей нужен беспроводной доступ. Ее USB-модем поставляется в комплекте с автоматическими программами-установщиками для Windows и Mac, но не для Linux. Я пытался помочь ей настроить Linux, но безуспешно. Вынужденный признать свое поражение, я в порядке временной меры установил ей Windows 7.
Недавно я прочел несколько статей о сетях в LXF136, и теперь понимаю, что с помощью NdisWrapper я мог бы заставить ее систему заработать. Я поискал необходимые драйверы в ее системе Windows 7, нашел их и скопировал на диск USB, но не знаю, как применить NdisWrapper. Не могли бы вы дать пошаговую инструкцию, как настроить NdisWrapper в ее системе? Можно ли сделать это до подключения USB-модема, чтобы он сразу же был готов к работе, как только я поменяю системы? Моя дочь, понятно, хочет вернуться к привычной Linux-системе как можно скорее.
Тони Молони [Tony Moloney]
О NdisWrapper служит для адаптеров Wi-Fi, а не для USB-модемов 3G, применяемых в сотовых сетях. Этим нужен совершенно другой драйвер, и он есть в стандартном ядре большинства дистрибутивов. То есть модем должен настраиваться, как только система распознает его; здесь-то и заключается проблема. Как Вы уже знаете, эти устройства поставляются в комплекте с программами автоматической установки драйверов для Windows, и при первом подключении к системе они видимы как CD. При подключении к Windows с этого CD запускается программа autorun и загружает скрипт, который и устанавливает драйверы Windows. После загрузки драйверов они блокируют ту часть прошивки устройства, которая отображается как CD, и вместо CD почти магическим образом появляется модем. В Linux данный шаг надо проделать вручную, на что есть несколько способов. Мы рассматривали это в LXF113 – описание включено на LXFDVD – но с тех пор ситуация изменилась. Сейчас лучший способ решить проблему – применить пакет USB_ModeSwitch, скачав его с http://www.draisberghof.de/usb_modeswitch. Пакет использует базу данных доступных устройств для обнаружения команд, которые необходимо отправить для их подключения; правило udev, которое делает это автоматически при подключении модема. Кроме случая, когда у Вас супер-новый, еще не поддерживаемый модем, установки этого пакета и подключения модема достаточно, чтобы модем стал доступен системе.
После этого Вы сможете работать с любым ПО для PPP, включенным в состав Вашего дистрибутива – в Kubuntu это KPPP – для управления соединением, или использовать для этой цели NetworkManager. Комбинация USB_ModeSwitch и NetworkManager делает использование USB-модемов для сетей 3G таким же простым, как и в любой другой операционной системе. Единственная «муха в борще» – то, что не все дистрибутивы включают в свои репозитории пакет USB_ModeSwitch. К счастью, в составе репозиториев Ubuntu этот пакет есть, и Вы можете установить его через Synaptic: имя пакета – usb-modeswitch. Затем останется только подключить модем. МС
5 Соединения Wi-Fi
В Я работаю с OpenSUSE 11.3 на ноутбуке HP Presario, а в качестве сетевого ПО использую Wicd. Примерно 90% соединений, которые я использую, устанавливаются без проблем. Но иногда соединение-то устанавливается, а я в состоянии только отправлять команду ping на IP-адрес. Иными словами, отсутствует маршрут к хосту. Wicd настроено на глобальные IP-адреса DNS-серверов, и файл resolv.conf содержит три адреса. Я могу отправлять ping на шлюз и на любой из серверов DNS, но не могу отправлять команд ping с использованием доменных имен — да и браузер не подключается к URL вроде http://www.opensuse.com. Я попробовал использовать в Wicd auto, dhclient и dhcpd, но для этих проблемных сайтов ничто не работает. Интересно, что один из этих сайтов отлично работал с предыдущей версией — 11.2.
Дон Доллберг [Don Dollberg]
О Команда route при запуске зависнет, потому что она пытается разрешить IP-адреса маршрутов в доменные имена; запуск этой команды с ключом -n немедленно выведет числовые адреса маршрутизации. Однако вряд ли причиной Ваших проблем была маршрутизация, потому что команда ping, отправленная на DNS-серверы по IP-адресам, все-таки работает.
Доступны ли глобальные адреса DNS из проблемных сетей? Вы получаете отклик от посланной на них команды ping, но установлено ли с ними DNS-соединение? Поскольку Вы используете динамическую адресацию, Вы можете также отключить глобальные адреса DNS (статические адреса для любой сети, которой они нужны, можно установить в настройках этой сети), и предоставить шлюзу задавать адреса DNS за Вас. То, что сайт работал под Open SUSE 11.2, может увести Вас на ложный путь; вполне вероятно, что они внесли изменение, которое все и угробило (неважно, какое) в тот самый момент, когда Вы перешли на версию 11.3.
Чтобы проверить Ваши коммуникации с серверами DNS, воспользуйтесь командой dig:
dig www.google.com
Она использует DNS-сервер по умолчанию из файла resolv.conf и выводит некоторую информацию об указанном ей домене – например, IP-адреса, так что Вы протестируете разрешение DNS; к тому же она в конце своего вывода отображает данные о сервере, с которого информация получена. Вы также можете заставить ее использовать конкретный DNS-сервер, дав команду
dig @1.2.3.4 www.google.com
Вы тогда сможете просмотреть рекомендуемые DNS-адреса для Вашей сети и сравнить результаты с указанными на Вашем сервере по умолчанию. Может оказаться, что Вам надо переключить серверы для этой сети.
Наконец, не используете ли Вы в Wicd серверную часть IOCTL? Она быстрее, но пока в стадии эксперимента, и может ладить не со всеми сетями. В этом случае поможет переключение на External, использующий стандартные сетевые инструменты. НБ
6 Кросс-платформенность
В Я только что прочел статью о мультизагрузке Windows/Linux в LXF133. Насчет почтовых приложений вы упомянули, что почтовый ящик может быть предоставлен в общий доступ через сеть, но я подумал о другом решении: создать отдельный раздел для файлов данных, включая файлы электронной почты. После этого можно будет разрешить как Windows-, так и Linux-версиям Thunderbird получать доступ к файлам на этом разделе, и при этом все данные будут сохраняться локально в одном и том же месте. Будет ли это работать? Конечно, на обеих платформах должно использоваться одно и то же приложение, чтобы гарантировать, что форматы файлов Windows и Linux будут одинаковыми.
Можно ли применить эту же идею к установке и настройке других кросс-платформенных приложений?
Йорн Педерсен [Jorn Pedersen]
О Использование общего раздела данных для Windows и Linux допустимо, но тут есть риск. В частности, следует использовать одни и те же версии ПО и в Windows, и в Linux. Хотя более новая версия справится с файлами, полученными от более старой, обратное не всегда справедливо. Скажем, если Вы обновите Thunderbird для Windows, но новая версия еще не появилась в Вашем дистрибутиве, ждите неприятностей. Еще один потенциальный источник проблем – файловые системы. Если программа использует метаданные файла, то ее запуск на файловой системе, чужеродной для ОС, под которой она работает, может помешать этому. Лучший вариант для почты – использование IMAP: ведь именно для этого данный протокол и создавался. Тогда Вам незачем будет беспокоиться о совпадении версий почтовой программы. Если Вы хотите ускорить доступ к почте, хранящейся локально, и работаете с одним и тем же почтовым клиентом в обеих системах, можно предоставить в общий доступ каталог кэша. Почтовые клиенты кэшируют сообщения так, что почту требуется загружать только при первом прочтении. Предоставление кэша в общий доступ менее рискованно, так как он не содержит важных данных.
Те же оговорки применимы и к другим программам: хотя хранить документы в общем каталоге и безопасно, но еще безопаснее хранить отдельные конфигурации для соответствующих инсталляций, скажем, OOo. Этого добиться проще, чем предоставлять в общий доступ абсолютно все, потому что можно просто велеть OpenOffice.org использовать для документов каталог, предоставленный в общий доступ. НБ
7 Воспроизведение DVD
В Я работаю с Ubuntu 9.10, и не смог решить только одну проблему: воспроизведение DVD, защищенных авторским правом. Применял разные подходы, но всегда получал одно и то же сообщение, гласящее, что не установлен должный модуль расширения.
Рэй Хьюз [Ray Hughes]
О Обычная причина того, что зашифрованные DVD не воспроизводятся – отсутствие библиотеки libdvdcss. Она используется всеми проигрывателями мультимедиа для расшифровки DVD, созданных с применением системы защиты цифрового медиа-контента (Content Scrambling System, CSS). Законодательный статус этого ПО варьируется от одной страны к другой. Поэтому глобально распространяемые дистрибутивы типа Ubuntu в порядке меры предосторожности не включают эту библиотеку на установочный диск или в свои репозитории. Решение – использовать исключительно полезный репозиторий Medibuntu: он хранит библиотеку libdvdcss и некоторые другие в высшей степени ценные пакеты, не входящие в состав Ubuntu.
Зайдя на http://www.medibuntu.org и проследовав по ссылке Repository Howto, в разделе Adding the Repository Вы найдете команду. Убедившись, что менеджер пакетов Synaptic не запущен, скопируйте эту команду и вставьте ее в окне терминала. Затем запустите Synaptic, найдите имя dvdcss, после чего появится пакет, готовый к установке.
Поскольку Вы добавили репозиторий к Synaptic, а не сами загрузили и установили пакет с сайта Medibuntu вручную, любые обновления, доступные для пакета, будут обрабатываться менеджером обновлений и не потребуют Вашего вмешательства. НБ
8 Пассаж с SSH
В Мои ноутбук и настольный компьютер работают под Lucid Lynx в небольшой домашней локальной сети. Я пытаюсь установить соединение через SSH с ноутбука (клиент) к настольному компьютеру (сервер), но получаю сообщение об ошибке – разрыв соединения по таймауту (порт 22). В обеих системах одно и то же ядро и одинаковые версии OpenSSH.
Я проверил правила брандмауэров на обеих машинах, протестировал их с помощью ssh localhost и получил ожидаемые результаты. Настольный компьютер и ноутбук подключены к маршрутизатору (беспроводной D-Link 615) кабелями Ethernet.
Добавлю, что имена учетных записей на обеих машинах одинаковы (xxx), а имена машин – xxx-desktop и xxx-laptop, соответственно. Следует ли мне поискать еще что-нибудь в программной конфигурации, прежде чем перейти к настройке маршрутизатора?
Определяется ли отношение «клиент–сервер» первой машиной (ноутбук) при попытке подключения ко второй (настольный компьютер)? Не помню, чтобы я что-то менял в своих настройках с целью это указать.
Луиc-Гильермо Монтойя [Luis Guillermo Montoya]
О Вы привели немало информации, но один аспект не упомянули, а именно: как ведет себя Ваш сервер при попытке установить с ним соединение. Простейший метод это определить – просмотреть записи в системном журнале SSH на сервере, поэтому дайте на сервере следующую команду:
sudo tail -f /var/log/messages | grep ssh
Затем попробуйте соединиться с сервера с другого компьютера. Если поступит сообщение о невозможности установления соединения, станет ясно, что проблема вызвана конфигурацией Вашего сервера SSH; сообщение также предоставит Вам ключ к решению проблемы. Может помочь и запуск сервера в режиме подробного вывода [verbose mode]. Сделать это можно, отредактировав файл /etc/ssh/sshd_config и установив значение LogLevel в VERBOSE; или можно остановить сервис SSH и запустить его в окне терминала, где Вы увидите вывод, дав команду
sudo /usr/sbin/sshd -d
По этой команде sshd совершит только одну попытку установления соединения и отключится.
Однако, судя по предоставленной Вами информации, создается впечатление, что Вы используете в своей локальной сети не частные IP-адреса. Адресные блоки, резервированные для частного использования в локальных сетях – от 10.0.0.0 до 10.255.255.255, от 172.16.0.0 до 172.31.255.255 и от 192.168.0.0 до 192.168.255.255. При подключении к Вашему настольному компьютеру ноутбук пытается подключиться к адресу 81.200.64.50, принадлежащему Virgin Media. Получается, что Вы хотите использовать внешний IP-адрес Internet-соединения, которое, по всей вероятности, пытается пробиться через Ваш маршрутизатор. Вы получите больше информации, взглянув на свой IP-адрес и таблицу маршрутизации с помощью команд меню Administration > Network Tools или дав следующие команды в терминале:
sudo ifconfig eth0 sudo route -n
Первая из них возвратит Ваш IP-адрес, а вторая – таблицу маршрутизации, где показан шлюз, используемый для блока, который содержит Ваш IP-адрес. Шлюз для адресов локальной сети обычно 0.0.0.0, а для Internet-адресов это Ваш маршрутизатор. Кроме того, можно проверить маршрут, который Ваша система пытается использовать для конкретного хоста, командой traceroute, с указанием sudo traceroute xxx-desktop.
Если проблема в этом, Вам нужно поменять настройки, присвоив частные IP-адреса всем компьютерам локальной сети, потому что публичный IP-адрес должен иметь только выход маршрутизатора в Internet. Любая машина может быть и клиентом, и сервером (при условии, что на обеих установлен в полном объеме пакет OpenSSH). Машина, на которой Вы даете команду ssh — клиент; компьютер, к которому Вы подключаетесь – сервер. НБ
9 Восстановите MBR
В Пытаюсь установить OpenSUSE 11.3 и Mandriva с LXFDVD, чтобы загружать эти системы по выбору с моего внешнего жесткого USB-диска объемом 250 ГБ. BIOS моего ноутбука распознает этот диск. Я установил Mandriva, но когда я уже счел, что установил и OpenSUSE 11.3, оказалось, что установка Mandirva потеряна. Почему это произошло?
Крис Яркер [Сhris Yarker]
О Это старая проблема, уже исправленная в ряде дистрибутивов. Ваша инсталляция Mandriva никуда не исчезла, но через главную загрузочную запись (Master Boot Recored, MBR) Вашего жесткого диска теперь запускается загрузчик OpenSUSE. При установке можно обнаружить установленную копию другого дистрибутива и включить его в загрузочное меню. Mandriva умеет это делать, но OpenSUSE рассматривает только варианты двойной загрузки с Windows. Установив сначала OpenSUSE, а затем – Mandriva, Вы бы проблем не имели: загрузочное меню Mandriva содержало бы опции для загрузки обоих дистрибутивов.
Помимо переустановки обоих дистрибутивов в обратном порядке, есть еще два решения: либо скомбинировать две загрузочных конфигурации в одну, либо отредактировать одну из них так, чтобы она вызывала другую. Второй вариант проще, но он требует, чтобы при установке одного из дистрибутивов Вы указали, что загрузчик должен устанавливаться в корневой раздел, а не в MBR. Предполагая, что Вы сделаете это с Mandriva, отредактируйте файл /boot/grub/menu.lst в OpenSUSE и добавьте следующие строки в файл конфигурации:
title Mandriva root (hdX,Y) chainloader +1
Здесь числа X и Y ссылаются на диск и раздел, содержащие Mandriva. Отсчет Grub идет с нуля, и если Вы установили Mandriva на /dev/sda2, второй раздел первого жесткого диска, напишите (hd0,1). Тоже самое можно проделать в Yast, через меню System > Boot Loader. Нажмите кнопку Add, выберите опцию Other System, дайте новому пункту меню имя, а затем выберите раздел, на котором находится установленная копия Mandriva.
После перезагрузки Вы увидите загрузочное меню OpenSUSE, но там будет и опция для Mandriva. Этот подход чуть менее удобен, поскольку нужно будет два меню для загрузки Mandriva, зато вы получите все загрузочные опции Mandriva, и при обновлении ядра они останутся доступны.
Альтернатива (без переустановки) – скопировать запись загрузочного меню из конфигурации Mandriva в конфигурацию OpenSUSE. Правило здесь такое: в общем случае Вы получите загрузочное меню дистрибутива, установленного последним, если при установке установщик по умолчанию использовал MBR. Поэтому, уста-навливая второй дистрибутив, найдите и установите опцию, указывающую установщику поместить загрузчик в корневой раздел. Загрузившись в OpenSUSE, откройте файловую систему Mandriva через меню Places и откройте файл /boot/grub/menu.lst. Скопируйте три строки для основного элемента меню Mandriva, начиная с
title linux
и вставьте их в файл файл /boot/grub/menu.lst конфигурации OpenSUSE. Замените имя в первой строке на более осмысленное – например, на Mandriva, и сохраните файл. МС
Шаг за шагом: Добавим Mandriva в меню OpenSUSE
- 1 Добавление опции загрузки
- Раздел загрузчика Yast позволяет добавлять записи в меню загрузки. Опция Other System передаст эти записи системному загрузчику.
- 2 Импорт дистрибутива
- Под кнопкой Other прячется опция сканирования диска в поисках загрузочных меню других систем – Linux или Windows.
- 3 Настройка новой опции
- Добавив новую опцию меню, воспользуйтесь кнопкой Edit для изменения имени системы, добавленной в меню загрузки. Имя должно быть описательным. Можно изменить и другие параметры.
- 4 Успешная двойная загрузка
- После добавления новой опции загрузочное меню, кроме опции загрузки OpenSUSE, будет содержать опцию для запуска Mandriva,.
- 5 Редактирование меню
- Иногда бывает проще отредактировать сам файл menu.lst. Здесь мы просто копируем блок записей из меню Mandriva в меню OpenSUSE.
- 6 Корректное поведение
- Mandriva и некоторые другие дистрибутивы распознают другие дистрибутивы Linux и настраивают возможность их загрузки, без подобной мороки.
Часто задаваемые вопросы Wine
- М-мм, божественный Каберне Совиньон... Или вы про другое вино?
- Название Wine – аббревиатура от Wine is not an Emulator [Wine – это не эмулятор]. Эта программа включена в репозитории большинства дистрибутивов.
- А что это, если не эмулятор?
- На самом деле – разновидность эмулятора. Wine реализует интерфейс прикладного программирования Windows (Windows API) поверх X-сервера и UNIX.
- Даст ли мне Wine запустить Windows поверх Linux?
- Не совсем. Wine – это уровень совместимости между программами Windows и Linux. При запуске программы из Wine программа думает, что работает под Windows, но вызовы к функциям Windows переделываются в вызовы к функциям Linux.
- Нужно ли устанавливать Windows, чтобы пользоваться Wine?
- Нет, но Wine будет использовать DLL из состава существующей установки Windows (при их наличии). В противном случае Wine имеет и собственные альтернативы.
- У меня уже установлена Windows; зачем мне еще и Wine?
- Во-первых, это значит, что вы можете запустить программу Windows без перезагрузки компьютера в Windows и еще одной перезагрузки – обратно в Linux; вы можете запускать программы Windows вместе с ПО Linux. Кроме того, Wine позволяет использовать модули расширения Windows в Linux-программах, таких, как web-браузеры или мультимедиа-проигрыватели. Это предоставляет Linux-программам доступ к форматам, обрабатываемым исключительно патентованными кодеками, предназначенными для использования только под Windows.
- Эмуляторы обычно тормозят — а насколько быстр Wine?
- Wine эмулирует только API Windows, а не аппаратные средства. Это означает, что под Wine программы работают с той же скоростью, что и под Windows, а иногда и быстрее. Недостаток этого подхода в том, что Wine может работать только на том же оборудовании, что и Windows: Wine – не эмулятор процессора.
- Как получить Wine?
- Wine можно загрузить в большом количестве форматов пакетов с сайта Wine; кроме того, пакеты доступны через репозитории большого количества дистрибутивов. Есть еще два коммерческих варианта Wine. Пакет CrossOver Office от Codeweavers настроен на запуск офисных приложений Windows. А в ряде web-браузеров Linux, в том числе – Firefox и Konqueror, он может запускать модули расширения Internet Explorer.
- С офисными приложениями все хорошо, а как насчет игр?
- Второй коммерческий вариант – Cedega, ранее известный как WineX. Это улучшенный вариант Wine от TransGaming Technologies, включающий поддержку DirectX. Скачать Cedega можно бесплатно через CVS, но если вам нужны готовые сборки и поддержка, придется приобрести подписку. Как и у CrossOver Office, список наименований поддерживается солидный.
Краткая справка про… Initrd
Заглянув в каталог /boot или ваш файл меню загрузчика, вы увидите ссылки на файлы intitrd. Это – образы RAM-диска (а некоторые – образы ramfs, более новой версии, работающей по тому же принципу). RAM-диск, как и следует из имени – это устройство хранения данных, подобное диску, но целиком расположенное в ОЗУ, а файл initrd – образ этого диска, сохраненный в виде файла. Вот что такое файл initrd; а теперь поговорим, зачем он нужен.
Файл initrd, или исходный RAM-диск – это RAM-диск, загружаемый ядром при его запуске. Этот псевдодиск становится корневой файловой системой, и с него запускаются скрипты, настраивающие систему перед передачей управления реальному корневому разделу вашего жесткого диска. Основная функция псевдодиска – загрузка модулей ядра.
Дистрибутивы строят так, чтобы они работали на максимально широком диапазоне аппаратных средств, а это значит, что строится множество модулей драйверов. Если бы все они компилировались в образ ядра, ядро получилось бы огромным, загружалось медленно, требовало огромных объемов памяти и на 90 % было избыточным. Поэтому Linux имеет загружаемые модули ядра. Но модуль, необходимый для монтирования корневой файловой системы, с самой корневой файловой системы загрузить нельзя. Поэтому Linux нуждается в способе заблаговременной загрузки драйверов для контроллера жесткого диска и файловой системы и, возможно, некоторых других компонентов – скажем, LVM или dm-crypt. Именно это и делает псевдодиск; расположенный на нем скрипт linuxrc загружает модули, необходимые в данный момент времени, и запускает требуемые программы установки (например, для LVM или для зашифрованной корневой файловой системы), а после этого выполняет переключение на корневой раздел жесткого диска.
Образ initrd – это файловая система в файле CPIO, сжатая с помощью gzip, и вы можете распаковывать, монтировать, модифицировать и пере упаковывать эти файлы следующими командами:
cd /mnt/tmp zcat /path/to/initrd | cpio -id #modify files here find . -depth | cpio -o | gzip >/path/to/newinitrd