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

LXF110:Ответы

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

Содержание

Ответы

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

1 Eee.сети.net

В Я использую Linux всего неделю-две, но мне нужно кое-что улучшить на Eee PC. Последовал советам учебника LXF107 по добавлению репозитория, но у меня ничего не вышло. В чем я неправ? Когда я просматриваю структуру директорий на сайте, она не похожа на строки в sources.list. Вот что я добавил в sources.list:

deb http://xnv4.xandros.com/xs2.0/upkg-srv2 etch main contrib non-free

Затем, выполнив команду sudo apt-get update, я получил несколько сообщений вроде этих:

Failed to fetch http://update.eeepc.asus.com/p701/dists/p701/Release.gpg Could not resolve ‘update.eeepc.asus.com’
Failed to fetch http://xnv4.xandros.com/xs2.0/upkg-srv2/dists/etch/Release.gpg Could not resolve ‘xnv4.xandros.com’
Reading package lists... Done
W:Couldn’t stat source package list http://update.eeepc.asus.com p701/main Packages 
(/var/lib/apt/lists/update.eeepc.asus.com_p701_en_dists_p701_main_binary-i386_Packages) - 
stat (2 No such file or directory)
W:Couldn’t stat source package list http://xnv4.xandros.com etch/main Packages 
(/var/lib/apt/lists/xnv4.xandros.com_xs2.0_upkg-srv2_dists_etch_main_binary-i386_Packages) - 
stat (2 No such file or directory)
W:You may want to run apt-get update to correct these problems
E: Some index files failed to download, they may have been ignored, or old ones used instead.

Дэйв Хьювинс [Dave Hewins]

О Увиденная Вами ошибка касается всех репозиториев в sources.list, а не только добавленного Вами репозитория Xandros. Похоже, что ваш Eee не может подключиться ни к одному репозиторию, а это, в свою очередь, означает проблемы с интернет-соединением, или что ваш брандмауэр блокирует доступ к asus.com и xandros.com. Вы можете зайти на эти web-сайты с Eee? Если да, то проблема может быть в настройках прокси-сервера. Если ваша сеть требует установить прокси-сервер в вашем браузере, то необходимо добавить в /etc/apt/apt.conf следующую строку (естественно, указав адрес и порт вашего прокси-сервера):

Acquire::http::Proxy “http://proxy.server.address:port”;

Следующий синтаксис делает ровно то же самое – берите тот, какой Вам больше нравится:

Acquire {
   HTTP {
      Proxy “http://proxy.server.address:port”;
   };
};

Также хорошей идеей будет задать переменную окружения http_proxy, которая понадобится Вам при загрузке файлов с помощью Curl или Wget. Вы можете и не подозревать, что используете эти утилиты, но немало программ неявно применяют их для закачивания. Вы можете установить переменную http_proxy, добавив в /etc/profile следующую строку.

export http_proxy=”http://proxy.server.address:port”

МС

2 Заклинание не сработало

В Попытался повторить советы из статьи Криса Брауна «Магия SysRq» [[[LXF107:По рецептам д-ра Брауна|По рецептам д-ра Брауна, LXF107]]], наивно предполагая, что это будет легко и я запросто смогу это сделать. Нужно было лишь нажать четыре клавиши сразу. Увы, я оплошал, и ничего не заработало. У меня ноутбук Dell XPS M1719, и когда я нажимаю Fn+Alt+SysRq+B, выскакивает окно снятия экранных снимков (SysRq делит кнопку с Print Screen). Просмотрел настройки клавиатуры, но не нашел подходящей модели для моего XPS. Не подскажете ли, как это исправить? Я прямо в депрессию впал: инструкции-то простейшие, а я не смог их выполнить!

Брайн Ларкин [Brian Larkin]

О SysRq и Print Screen – часто одна и та же клавиша, даже на обычной клавиатуре, и не исключено, что кнопка Fn Вам не нужна. На большинстве клавиатур ноутбуков те функции, для которых нужно удерживать клавишу Fn, нанесены другим цветом. Если это – не ваш случай, попробуйте нажать три стандартные клавиши: Alt, SysRq и команды, которую вы хотите использовать. Кстати, о командах: B (reBoot [перезагрузка]) – явно не лучшая клавиша для тестирования. S (Sync [синхронизация]) безвредна, и результат можно увидеть, переключившись в виртуальную консоль с помощью Ctrl+Alt+F1. Нажмите Alt+SysRq+S – в консоли должно вывестись сообщение

SysRq : Emergency Sync

оно же запишется и в системный журнал. Если ничего не произойдет – скорее всего, дело в том, что ядро был собрано без необходимых опций; но сначала гляньте, существует ли файл /proc/sysrq-trigger. Если да, то ваше ядро поддерживает Magic Key. Этот файл является альтернативным интерфейсом для той же функциональности, и вы можете посылать команды, записывая их в него, что очень удобно для удаленных сессий.

echo s >/proc/sysrq-trigger

Если файла нет, значит, в вашем ядре не включена опция CONFIG_MAGIC_SYSRQ. Это более вероятно, чем предположение о неспособности клавиатуры послать корректную команду, так как такие же клавиши обеспечивают похожую функциональность в Windows. В этом случае единственным решением будет перекомпиляция ядра, задача не такая уж сложная.

Возможно и то, что ваше ядро имеет поддержку Magic Key, но она выключена в вашей системе. Запустите от имени суперпользователя-root sysctl kernel.sysrq. Если эта команда вернет ноль, отредактируйте /etc/sysctl.conf, добавив

sysctl kernel.sysrq=1

Изменения вступят в силу при следующей загрузке. НБ

3 Разные ОС, разные диски

В Я хотел бы установить Ubuntu на отдельный SATA-диск, так как текущий занят Windows XP. Провел исследования по этому вопросу, и процесс установки показался мне весьма простым. Но остался один большой вопрос, по поводу установки Grub. Можно ли установить Grub только на диск с Ubuntu, оставив нетронутым диск с XP?

Стефан Карл [Stephen Karl]

О Да, можно, но это не лучший вариант. Если вы установите Grub в главную загрузочную запись диска с Windows, он не затронет раздел с вашей ОС. Установщик Ubuntu позаботится об этом и создаст загрузочное меню с опциями для использования Windows или Ubuntu. Единственный недостаток данного метода – если вы удалите диск с Ubuntu, то не сможете загрузиться; это легко исправить с помощью команды fixmbr со спасательного CD Windows.

При желании разместить загрузчики по отдельности есть несколько вариантов. Можно установить Grub в MBR на диске с Ubuntu и использовать возможности вашего BIOS для выбора загрузочного диска. Большинство материнских плат показывают такое меню, если вы удерживаете некую клавишу при старте; что это за клавиша, указано в начальном окне загрузки BIOS или в инструкции. Преимущество здесь в том, что диск с Windows не затронут; но придется поторопиться, чтобы успеть нажать нужную клавишу в нужное время.

Также можно модифицировать загрузчик Windows, добавив в него опцию передачи управления Grub на другом диске. Инсталлируйте Ubuntu, загрузившись с CD, запустив установщик и приказав ему использовать второй диск в окне создания разделов. Когда появится окно ‘Ready To Install’ [Все готово к установке], нажмите кнопку Advanced [Дополнительно] и задайте /dev/sdb – второй диск – в качестве устройства для установки загрузчика. Эта мера также понадобится, если вы хотите использовать для переключения между дисками меню BIOS. Теперь запускайте установку, но не перегружайтесь в конце (иначе вы не сможете использовать Ubuntu, и придется повторять установку с диска заново).

Откройте терминал (Applications > Accessories > Terminal), переключитесь на root и смонтируйте вашу файловую систему Windows командой

 sudo -i
 mkdir /mnt/windows
 mount /dev/sda1 /mnt/windows

Затем создайте здесь файл, содержащий код загрузчика с вашей установленной Ubuntu:

 dd if=/dev/sdb of=/mnt/windows/ubuntu.img bs=512 count=1

Эта команда создаст файл с именем ubuntu.img (имя не важно), содержащий первые 512 байтов второго диска, где находится загрузчик Ubuntu. Теперь перегрузитесь в Windows и отредактируйте C:\boot.ini' в Блокноте или другой программе, добавив следующую строчку в конец:

 C:\ubuntu.img=”Ubuntu”

Этот файл можно отредактировать из Ubuntu, но Windows использует другой признак окончания строки, и ntldr может немного растеряться, так что сыграем по правилам и сделаем это в Блокноте. Снова перезагрузитесь, и в загрузчике Windows вы увидите меню, предлагающее Windows или Linux, на выбор. НБ

4 eth0 мое не видали?

В Я запускаю Ubuntu 8.04 на Dell e1505 с сетевой картой Broadcom. Некоторое время назад (тогда у меня, возможно, был 7.04 или 7.10) я установил Windows и обновил BIOS. Тут я заметил, что eth0 исчез, и вернулся к старой версии BIOS, но проблема осталась. Я отформатировал весь диск и переустановил Ubuntu. При запуске ifconfig интерфейс eth0 не появился. Я запустил lspci, и Ethernet-контролера не оказалось в списке (Network Controller продолжал отображаться). /etc/network/interfaces содержит закольцованный интерфейс, но это не то. Попытался вручную изменить файл, включив туда eth0, а затем запускал ifup -a, но безрезультатно. Я сбросил настройки BIOS к заводским установкам. Беспроводная сеть прекрасно работает с Ndiswrapper. Если воткнуть кабель в Ethernet-порт, огоньки на нем горят оранжевокрасным, но не зеленым. В чем проблема – в BIOS илиbдрайверах? И что мне делать?

Иэн Н. Кут [Ian N Coote]

О Если интерфейс не отображается в выводе lspci, скорее всего, его и нет. Даже если устройство не распознано системой (а для карты Broadcom это нередкий сюрприз), lspci должен показать код изготовителя и ID продукта. Нет ли у Вас других нераспознанных устройств в выводе lspci? Если есть, поищите в Интернете их номер PCI ID. Ifconfig показывает только сконфигурированные устройства; хотя опция -a покажет все интерфейсы, они будут ограничены картами, для которых существуют и загружены драйвера. Если нет никаких признаков устройства, вероятных причин может быть две: у Вас проблемы с оборудованием или устройство отключено в BIOS. То, что кабель не обнаруживается, также указывает на неисправность Ethernet-порта.

Шанс, что сбой оборудования совпал с обновлением BIOS, реален только для почитателей законов Мэрфи, поэтому я посоветовал бы начать с настроек BIOS. Обновление BIOS часто затирает все настройки, сбрасывая их в исходные. Если по умолчанию в этом обновлении BIOS отключается проводной Ethernet и оставлено только беспроводное соединение, то вот Вам и причина ошибки. Проверьте настройки BIOS и поэкспериментируйте со всем, что относится к сетевому контроллеру. Я бы также поинтересовался, нет ли более свежих обновлений BIOS, потому что установленное Вами вполне могло вызвать проблемы.

Если ваш Ethernet-контроллер действительно сломан, а ноутбук уже не на гарантии, простейший вариант – использовать Ethernet-контроллер USB или PC-Card. Ряд таких устройств поддерживается в последних ядрах Linux, так что выясните это, прежде чем идти в магазин, или найдите продавца, который позволит протестировать устройство на вашей машине до покупки. Если драйвер загружается, то lsusb должен показать устройство, а ifconfig -a – сетевой интерфейс, даже если сеть не настроена или вообще не подключена. НБ

5 Делим добро

В Я наконец-то собрал компьютер и установил Ubuntu с LXF100. Все прошло как по маслу. Ура и вам, и всему сообществу Linux! Я разбил мой 750-ГБ SATA-диск на следующие разделы: /boot, swap, /, /usr, /local, /var, /home, как рекомендует Практическое руководство по Ubuntu Linux. Но мне бы нужен еще один Linux, с ядром реального времени, типа 64 Studio или Ubuntu Studio, для видео- и аудиопроектов.

Можно ли использовать существующие разделы в дополнительной установке? Надо ли устанавливать пакеты, использующиеся в каждой установке, в каждом Linux отдельно? По-моему, хотя бы данные /home могут быть общими. Как насчет /usr, /local и /var? Возможно, это от моего невежества, но мне кажется, что разница дистрибутивов исчерпывается директорией /boot и каким-нибудь файлом настройки.

Брайан [Bryan]

О Между установками безопасно разделять только два раздела: /home и swap. Данные в разделе подкачки всегда временны и теряют актуальность после перезагрузки, поэтому общий раздел swap всячески приветствуется. Отдельный раздел /home задуман неплохо – с ним ваши данные уцелеют при переустановке; но делать его общим для разных дистрибутивов не стоит. Из-за различий в версиях программ и возможных конфликтов ID пользователей это не очень хорошая идея. Лучше будет использовать один домашний раздел, но различные домашние директории для каждого дистрибутива. Можно также использовать различные имена пользователей или одно и тоже имя, но разные директории. Обычай называть домашний каталог /home/имя_пользователя – просто принятая по умолчанию настройка, а не жесткое требование. Если ваше имя пользователя bryan, можно завести домашние директории /home/bryan-ubuntu, /home/bryan-studio и т.п.

Каждая установка дистрибутива ведет независимое существование: нельзя обобществить между ними установленные программы и файлы библиотек. Некоторые дистрибутивы модифицируют программы, подстраивая их под свои нужды, и обновления до новых версий крайне редко происходят одновременно. Теоретически, можно сделать общим /boot, но при этом придется тяжко поработать по настройке и поддержке, а при современном оборудовании отдельный раздел /boot в общем-то и ненужен. Использование множества разделов для каждого дистрибутива быстро приведет к превышению лимита системы на их количество. Здесь есть несколько вариантов.

Самый простой – иметь отдельный корневой раздел для каждого дистрибутива и общие разделы swap и /home. Каждый дистрибутив при этом будет обособлен в своем разделе. Более гибкий вариант (особенно если вы хотите иметь множество дистрибутивов) – использование Logical Volume Manager (LVM) [Менеджер логических томов]. Тогда у Вас будут маленькие разделы /boot для каждого дистрибутива и один большой раздел LVM. Он будет содержать логические «разделы» для различных дистрибутивов, а также /home и swap. При этом можно создавать тома, изменять их размер и удалять на лету, что очень подходит для экспериментов. Многие дистрибутивы имеют позволяют выбрать LVM в процессе установки.

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

6 ISOлятор ошибок

В Я пытаюсь выполнить установку на машину, которая не имеет DVD-привода, а только CD. Я сообразил, что мне нужно записать ISO-образ на CD на другой машине, где есть DVD-привод.

К сожалению, вашей информации по установке оказалось мало. Мой сын объяснил мне, что я могу использовать утилиту копирования Nero для «Прожига образа на диск». Я прочесал все директории на DVD, чтобы найти что-то похожее. На DVD LXF107 я нашел D:\Distros\Ubuntu\Alternate\ubuntu-8.04-alternate-i386.iso и скопировал его на CD. Но, попытавшись установить систему с диска, я получил следующую ошибку:

File :///cdrom/pool/main/l/langpack-locales/locales-2.7.9.4_all.deb was corrupt

а затем произошел сбой установки ядра. Я полностью застрял, и пришлось выключить компьютер. Не найдя ISO-образа для Ubuntu на DVD LXF103, я попробовал взять D:\Distro\Debian, но на сей раз получил

 File :///cdrom/pool/main/m/man-db_2.4.3-6_i386. deb was corrupt

и man-db не устанавливается. Система опять зависла.

Я, конечно, понимаю, что не все сообщения об ошибках в самом дистрибутиве у вас под контролем, но подумал, что вы могли бы посоветовать, что делать со сбоем установки. Я посмотрел также свои более старые DVD и обнаружил образ Ubuntu на DVD из LXF94, но он, похоже, для 64-битных систем AMD – стоит ли его пробовать?

Чарльз Бигли [Charles Bigley]

О При попытке установки ISO-образа с DVD может возникать ряд общих проблем. Первая заключается в выборе корректного образа для вашей системы: так, для 32-битных машин он имеет в названии i386 или i586, а для 64-битных помечен как x86_64 или amd64 (в определенный период времени только процессоры AMD поддерживали архитектуру x86_64, однако сейчас это сработает и на Intel Core 2 Duo).

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

Раз вы смогли загрузиться с CD в установщик, то у Вас нет проблем с этим шагом, но система сообщает, что файлы на записанном Вами CD повреждены. Очень маловероятно, что эта ошибка присутствует в файле образа. В процессе создания ISO-образа тестируется каждый файл; значит, проблема с диском, который вы записали. На это может влиять один (или оба) из двух факторов. Диск, который вы используете, поцарапан или поврежден – не настолько, чтобы мешать его чтению/записи на компьютере с DVD, но достаточно для сбоя на других приводах. Такое случается при использовании «заезженных» CD-RW. Возможное решение – писать на более низкой скорости; снизьте ее с 4х до 2х в вашей программе прожига. Но проще использовать диск поновее. CD-R в настоящее время так дешевы, что я почти не связываюсь с CD-RW, с их низкой скоростью и риском подобных проблем, доставляющих много хлопот.

Возможно также, что износился CD-привод на старом компьютере. Со временем мощность лазера привода снижается и его линзы загрязняются, усугубляя проблему. Особо это характерно для тех, кто курит за компьютером. В сочетании с грязным или обшарпанным диском неприятности обеспечены. Одно из возможных решений – чистка линз, хотя на настольном компьютере замена привода на новый также не будет обременительна – его сейчас можно купить где-то за 300–400 рублей. НБ

7 Опции модуля

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

Ilias, с форумов

О Lsmod показывает только модули, загруженные в настоящий момент. Для вывода списка всех модулей, доступных в текущем ядре, наберите modprobe -l. Каждая из этих команд работает только с загружаемыми модулями, и если вы хотите знать, какие модули встроены в ваше ядро, изучите файл его конфигурации, доступный как /boot/config-<версия>, /usr/src/linux/.config или, если в ядре включена эта опция, /proc/config.gz (здесь необходимо, чтобы было загружено именно то ядро, настройки которого вы хотите узнать). Просмотрите строки, заканчивающиеся на =y, они охватывают не только модули, но и функционал, который может быть включен или выключен. Используйте одну из двух команд:

 grep ‘=y$’ /usr/src/linux/.config
 zgrep ‘=y$’ /proc/config.gz

Так вы автоматизируете процесс поиска опций настроек в ядре. НБ

8 Возвращение к IPv6

В На странице 109 июльского номера 2008 года LXF107 вы привели три способа выключения IPv6. Один из них для браузера Firefox сработал, а остальные нет. Я попытался набрать /etc/modprobe.d/aliases' в терминале от root, но получил сообщение: ‘permission denied’. Можете ли вы мне сказать, почему?

У меня Ubuntu Studio 7.10, и мне надо, чтобы остальные способы тоже работали хорошо. Отключение IPv6 было сущим кошмаром. Мой модем – D-Link ADSL DSL-G624T, мой провайдер – Virgin. Я решил последовать инструкциям с сайта Ubuntu по выключению IPv6. От имени root я ввел в терминале

 gksudo gedit/etc/modprobe.d/aliases

Ничего не вывелось (я думал, появится список в web-браузере или типа того). Я – новичок в Linux, и мне действительно нужен ответ на этот кошмар. Такая проблема не у меня одного. Разве создатели Ubuntu не могут сделать подходящее обновление? Я думаю, IPv6 пока не используется и будет использоваться не скоро.

Стефан Рикардс [Stephen Rickards]

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