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 и создать виртуальные машины для каждого из дистрибутивов, которые вы хотите попробовать. И только убедившись, что вы точно хотите использовать дистрибутив всерьез и надолго, начинайте беспокоиться о разметке диска и установке. ГМ

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