- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
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]
О /etc/modprobe.d/aliases – файл с данными, а не программа, и его нельзя запустить: нужно его отредактировать. Это можно сделать с помощью команды, найденной на сайте Ubuntu, но вы допустили в ней ошибку. Правильная команда –
gksudo gedit /etc/modprobe.d/aliases
Отметьте для себя пробел после gedit. Команда не открывает браузер; она запускает текстовый редактор Gedit и загружает файл aliases для редактирования. Утилита gksudo используется для запуска программ от имени root, потому что только суперпользователь вправе изменять подобные системные файлы. Стоит заметить, старое доброе sudo делает это также хорошо. Когда все загрузится, добавьте строки
alias net-pf-10 off alias ipv6 off
перезагрузитесь, и вы сможете использовать сеть.
IPv6 и вправду используется не очень широко, но провайдеры готовятся переключиться на него очень скоро. Лучшим решением будет исправление сломанной части системы, которой не является поддержка IPv6 в вашем дистрибутиве и ваш провайдер, также его не использующий. Ответственность лежит на вашем маршрутизаторе, который неверно обрабатывает отказы. Многие изготовители выпустили обновления микропрограмм для своих маршрутизаторов, которые решают эту проблему, не вынуждая Вас проникать в настройки вашей операционной системы. НБ
9 Где винчестер?
В Пытаясь установить Red Hat Enterprise Linux 4 WS на ноутбук Dell Inspiron 1501, я столкнулся со странной проблемой: система не видела жесткий диск (инсталлятор выдавал сообщение No hard drive found). Я воспользовался данным мне советом и передал ядру параметр all-generic-ide=1, после чего инсталляция прошла успешно, однако после перезагрузки все вернулось на круги своя:
Uncompressing Linux... Ok,booting the kernel. PCI: BIOS BUG #81[00000282] found audit(1215771943.181:0): initialized Red Hat nash version 4.1.18 starting File description left open Reading all physical volumes. No volume group found mount: error 6 mounting ext3 mount : error 2 mounting none umount /initrd/dev failed :2 Kernel panic - not syncing : Attempted to kill init!
Пожалуйста, подскажите, в чем может быть причина? Я понимаю, что RHEL 4 – устаревшая версия, но это все, что мне удалось найти в нашем городе.
Вячеслав Бойченко
О Это достаточно известная проблема. В частности, Linux Laptop Wiki (http://www.linlap.com/wiki) сообщает о вашем ноутбуке следующее
HDD Partial Yes, if kernel version greater than 2.6.20
То есть для нормальной работы требуется ядро выше 2.6.20 – сравнительно свежее. Альтернативный вариант (без гарантии успеха) – обновить BIOS. Это помогает пользователям SUSE, и косвенно данный путь подсказывается строкой:
PCI: BIOS BUG #81[00000282] found
Однако обновление BIOS (тем более на ноутбуке) – потенциально опасная операция, и я бы рекомендовал просто взять дистрибутив посвежее. На каждом диске к журналу их как минимум два. При необходимости можно заказать систему и на http://www.linuxcenter.ru, а Canonical пришлет Ubuntu на CD и вовсе бесплатно. Попробуйте также поспрашивать на http://unixforum.org – наверняка там есть ваши земляки, у которых можно скопировать Linux. АМ
10 Хочу все знать!
В Позвольте задать вам сразу несколько вопросов. Недавно купил я ноутбук Lenovo ThinkPad R61 и установил на него Kubuntu 8.04. Оказалось, что Airbag Hard Drive Protection Technology реализована на программном уровне и требует специального драйвера. Официально Lenovo выпускает его только для Windows, однако я нашел в Интернете описание, как задействовать эту систему под Linux: на ядро предполагается наложить патч и отключить встроенный модуль hdaps. Не приведет ли ручная компиляция ядра к тому, что после прихода очередного обновления моя система будет разрушена? Может быть, в репозиториях уже есть готовое ядро с указанным патчем? Кроме того, предложенная в статье заплатка – для ядра 2.6.24 из Gentoo 2007.0, то есть мне, по-видимому, придется использовать именно его. Насколько оно совместимо с Kubuntu?
Второй вопрос касается спящих режимов. После выхода из suspend2disk монитор «показывает» нечто неудобоваримое; переключение на виртуальные консоли (типа Alt+F1 или Ctrl+Alt+F1) не помогает, спасает только перезагрузка. У меня видеокарта NVIDIA Quadro NVS 140M, а я читал, что на сегодня они самые проблемные в этом плане. Сейчас существуют как минимум два suspend-проекта: uswsusp и TuxOnIce. Какой лучше реализован в Kubuntu? Какой более совместим с моим оборудованием?
И, наконец, третий вопрос касается редактора vim. У меня не получается включить в нем подсветку синтаксиса. Использование :syntax enable, как описано в LXF96, приводит к сообщению об ошибке: команда не поддерживается. Как решить эту проблему?
Денис Марков
О Принимая во внимание тот факт, что Kubuntu и Gentoo – кардинально отличающиеся друг от друга дистрибутивы (что в значительной степени относится и к ядрам), можно, конечно, попробовать собрать и поставить Gentoo-ядро вручную, скопировав нужные файлы в /boot и отредактировав файлы настройки Grub. Не удаляйте ядро Kubuntu и оставьте пункт для него в menu.lst: если система не подружится с ядром Gentoo, вы сможете вернуться к нормальным условиям еще до потряхивания ноутбука с целью проверки hdapsd (не забудьте, кстати, снять резервные копии ценных данных). Вопрос, не относится ли ваш жесткий диск к категории тех, с которыми использование этого драйвера небезопасно, остается на ваш страх и риск, и меня бы он беспокоил больше, чем сохранность системы, которую, на худой конец, можно и переустановить. Информации о том, есть ли уже готовое ядро с этим патчем для Kubuntu, пока нет, и в любом случае подобный эксперимент представляется все-таки сомнительным. Но, в конечном итоге, выбирать Вам, ибо жесткие рекомендации – это не Linux-way.
В случае с проблемой спящих режимов попробуйте проставить
Option “NvAGP” “1”
в секцию Screen или Device файла /etc/X11/xorg.conf, соответствующую драйверу видеокарты. В официальной документации, идущей вместе с драйвером, NVIDIA ссылается на http://www.suspend2.net, хотя это не означает, что с другим пакетом что-то будет работать хуже:
“If you enable ACPI S4 support via suspend2 patches, you will need to tweak the Linux kernel such that it dynamically determines the amount of pages needed by the drivers that will be suspended in the system.
This is done by issuing the following command from root:
echo 0 > /proc/suspend2/extra_pages_allowance
---Конец цитаты---
Или, в переводе:
«Включая поддержку ACPI S4 с помощью патчей от suspend2, необходимо настроить ядро Linux таким образом, чтобы оно динамически определяло нужное драйверу количество страниц, которые будут переведены в состояние ожидания.
Это делается при помощи следующей команды, выполняемой из-под root:
echo 0 > /proc/suspend2/extra_pages_allowance.
---Конец цитаты---
Также, памятуя о возможных (исторических) недоразумениях драйверов NVIDIA при работе с фреймбуфером, можно попробовать отключить его. Для этого можно просто найти в /lib/modules/ваше_ядро/ и удалить файл с названием rivafb.ko, выполнить команду depmod -a, после чего перегрузиться.
По умолчанию в Kubuntu ставится урезанная версия Vim в виде пакета vim-tiny. Для того, чтобы получить полноценную версию, со встроенной справкой и многими другими возможностями, нужно установить пакет vim-full:
sudo apt-get install vim-full
ЮД
11 Контроль удаленной машины
В Я видел, что продаются камеры слежения с ПО для Windows для обнаружения движения, записи видео и подачи предупреждения по электронной почте или SMS. Можно ли использовать эти камеры с Linux? Какие программы позволяют записывать видео, какие еще возможности доступны в Linux и какой тип камер я должен использовать?
Рэй Борелла [Ray Borella]
О Мы Вас порадуем: все это можно делать в Linux. Есть несколько программ, которые позволяют записывать поток с камер, включая такой швейцарский армейский нож для видео, как MPlayer; но есть и специализированные программы, предоставляющие возможности охраны: обнаружение движения, предупреждения, поддержку нескольких камер и т.п. Самая навороченная из них, наверное, ZoneMinder (http://www.zoneminder.com). Использовать можно несколько видов камер; в основном это обычные камеры безопасности, имеющие композитный выход. Они подключаются через штекеры композитного входа – такой есть на многих TV-тюнерах и картах видеозахвата. ZoneMinder работает и с ними, и с USB-устройствами – например, web-камерами. Сгодится любая камера, поддерживаемая Video4Linux. Также можно использовать IP-камеры, подключаемые напрямую к сети, как проводами, так и по радиоканалу, но они намного дороже.
ZoneMinder умеет работать с любым числом камер, но принципы едины как для одной, так и для дюжины. Установив ZoneMinder, вы должны будете модифицировать конфигурацию Apache. Откройте терминал и запустите
sudo ln -s /etc/zm/apache.conf /etc/apache2/sites-enabled/010-zm sudo /etc/init.d/apache2 restart
для включения предоставляемой конфигурации и перезапуска Apache для ее использования. Это команды для Ubuntu 8.04; в других дистрибутивах они могут отличаться. Теперь запустите Firefox и откройте адрес http://localhost/zm, затем щелкните на Add New Monitor – каждый монитор ассоциирован с камерой. Дайте монитору имя во вкладке General. Для проводных камер или web-камер типом должен быть local; включите также функцию Modect (Motion Detection). Задайте имя устройства камеры и номер на вкладке source, обычно это /dev/video и 0 для первой камеры. Закройте все остальные вкладки, если они были открыты, и нажмите Save. Если функции и исходные параметры показаны зеленым в основном окне, ваша камера работает. Щелкните на ее имени и смотрите вывод.
Всякий раз, когда ZoneMinder обнаруживает изменения между кадрами с камеры, он начинает запись. Эти «события» перечислены в окне, открывающемся при нажатии на название камеры, и вы можете просмотреть их как видео или стоп-кадры.
Ясно, что камере незачем реагировать на любое движение – если в поле обзора находится листва, то в ветреный день она переполнит жесткий диск. ZoneMinder различает зоны в поле зрения, которые надо наблюдать или игнорировать. Более подробно об этой программе можно прочитать в документации на Wiki ZoneMinder по адресу http://ww.zoneminder.com/wiki.html, чтобы понять, насколько она многогранна. НБ LXF
Шаг за шагом: Стерегите свой сад
- 1 Web-контроль
- Абсолютно все в ZoneMinder может управляться через web-браузер, так что вы можете наблюдать за событиями издалека.
- 2 Добавляем монитор
- Для новых мониторов или камер документирована масса опций, но чтобы начать работу, понастоящему нужны только первые две вкладки.
- 3 Новый монитор…
- ...настраивается, чтобы я был уверен: никто не стырит сорняки, которые я взлелеял в моем саду! Каждое событие отображено в списке обнаруженных движений.
- 4 Выборочное наблюдение
- Можно отбраковать зоны, не требующие наблюдения – например, деревья и небо (это если вы не ждете десанта инопланетян).
- 5 Несколько камер
- ZoneMinder легко управляется со множеством устройств, и вы можете переключаться между камерами или выбрать для просмотра несколько из них.
- 6 Список событий
- Полный список событий с мониторов покажет все засеченные движения в зоне обнаружения – щелкните на любом из них для просмотра видео или слайд-шоу.
* Упрямый раздел
В Моя мама только что завела новую цифровую камеру, и я создал раздел на /dev/hda2 для фотографий, с помощью GParted, и все было прекрасно, но при попытке открыть раздел я получаю сообщение от Nautilus:
libhal-storage.c 1401 : info: called libhal_free_dbus_error but dbuserror was not set. process 5222: applications must not close shared connections - see dbus_connection_close() docs. This is a bug in the application. error: device /dev/hda2 is not removable error: could not execute pmount
Это второй раздел на диске, и я пытался сделать это много раз, и в Ubuntu 8.04, и в 64 Studio, но так и не получил доступ к разделу. Вдобавок ко всему мне не попасть даже в раздел Ubuntu на первом разделе hda1: ошибка та же.
P.S. Моя подружка думает, что Linux – это нудно. Пожалуйста, дайте мне хороший повод переубедить ее!
Джеймс Ваплс [James Waples], 14 лет
О Здесь целых два сообщения. Первые две строчки обычно означают, что вы – не член группы с правами на автомонтирование, plugdev. Проверьте, к какой группе вы относитесь, запустив group в терминале. Если plugdev нет в списке, добавьте себя в эту группу с помощью команды:
sudo gpasswd -a имя_пользователя plugdev
Ее необходимо запустить с именами пользователей, принадлежащих Вам и вашей маме. Если вы уже состоите в группе plugdev, возможно, это только предупреждение, и сбой произошел из-за второй ошибки.
Для монтирования внешних устройств большинство систем сейчас используют Pmount, потому что эта утилита позволяет решить данную задачу, не имея прав root. Так как это чревато проблемами с безопасностью, то Pmount ограничивается съемными накопителями. Если устройство не сообщает, что оно внешнее, как, например, жесткий диск, Pmount откажется его монтировать. Вы можете переопределить его поведение, добавив имя устройства в файл /etc/pmount.allow. Создайте его, если он не существует, и добавьте в него /dev/hda2. Можете указать столько устройств, сколько Вам нужно, по строке на каждое.
Но если это внутренний диск, зачем вообще использовать автомонтирование? Было бы гораздо проще монтировать раздел куда-нибудь в общее дерево директорий. Создайте директорию, которую будете использовать как точку монтирования, скажем, /mnt/photos, и добавьте строку в /etc/fstab типа такой:
/dev/hda2 /mnt/photos ext3 defaults 0 0
затем убедитесь, что Вам как пользователю разрешены чтение и запись, с помощью команды
chmod имя_пользователя: /mnt/photos
P.S. Вам 14; я уверен, что вы можете найти другие способы произвести впечатление на вашу подругу. Эх! Нет в наше время у детей фантазии! НБ
Часто задаваемые вопросы LDAP
- Алло, барышня, мой e-mail адрес, пожалуйста...
- Опять какое-то сокращение? Ну и что оно означает?
Оно означает Lightweight Directory Access Protocol (Облегченный протокол доступа к каталогам).
- Как обычно, это мне ни о чем не говорит. Поясните!
LDAP – протокол для обслуживания и изменения информации в каталогах через сетевое подключение.
- Типа «Желтых страниц» в Интернете?
Вроде того. Каталог LDAP может быть любым набором логически и иерархически организованных данных. Телефонный справочник – самый популярный пример: данные там состоят из имен, адресов и телефонных номеров, упорядоченных по алфавиту. Или по категориям, как в «Желтых страницах».
- Так это онлайн-телефонная книга?
Может, и она, а может, и любой другой набор упорядоченных данных; например, число компьютеров в сети, товары и цены на них, каталоги документов… словом, все, что поддается структурной организации. Это даже не обязательно онлайн-структура. Большинство LDAP-серверов работает в локальных сетях или на отдельных машинах. Вряд ли ваша компания захочет распространять сведения о себестоимости продаваемой продукции через Интернет.
- Похоже, каталог LDAP – один из видов базы данных.
Да, это частный случай. LDAP не годится для работы со сложными наборами данных и запросами, отсюда и термин «Облегченный». Продолжая тему, PostgreSQL или Oracle тяжеловаты для хранения списка офисных сотрудников и их добавочных телефонных номеров. Для таких вещей и создан LDAP.
- Полагаю, его и настроить проще?
Верно полагаете. Особенно после некоторой тренировки. LDAP – не база данных SQL, поэтому кое-что придется изучить; но документация подробна и снабжена множеством шаблонных схем.
- Стоп! Что еще за схемы?
Схема определяет строение каталога, атрибуты, которые может иметь каждая запись. Похоже на описание таблицы в SQL.
- Ну, создал я каталог LDAP, и как им пользоваться? Небось, нужно специальное ПО?
Никакого. Многие популярные программы способны использовать LDAP-каталоги как источник информации. Например, некоторые почтовые клиенты используют LDAP для своей адресной книги.
- А как же встроенные адресные книги, которыми обычно пользуются почтовые программы?
Они и есть встроенные: работают лишь с одним почтовиком. А можно иметь централизованный источник информации, где почтовые программы будут искать адреса, через Samba можно будет проводить авторизацию пользователей… словом, это единый источник сведений, используемый по вашему усмотрению (или – как велит сисадмин).
Краткая справка. Пересборка ядра
Часто ли вы слышали в ответ на свой вопрос небрежное: «Пересоберите ваше ядро с опцией X»? Звучит пугающе, но фактически за этой фразой стоит простая задача по модификации существующего ядра. Настройка его с нуля несколько сложнее. Прежде всего, убедитесь, что у вас установлен правильный пакет с исходными кодами ядра, то есть его версия совпадает с вашим установленным ядром. Кроме того, вам понадобится компилятор GCC со товарищи, и чтобы не мучить вас зависимостями, многие дистрибутивы держат пакет типа build-essentials: он устанавливает все, что нужно для сборки программного обеспечения.
Откройте root-терминал (или запустите sudo bash в Ubuntu) и запустите следующие команды
cd /usr/src/linux make menuconfig
Тут вам явно захочется увеличить окно своего терминала, так как откроется программа настройки ядра с хрентиллионом опций. Пакет с исходным кодом ядра должен включать файл конфигурации, содержащий те же настройки, что были использованы для сборки текущего ядра, и вам нужно лишь найти, что менять. Если же такого файла нет, поищите в /boot. Скопируйте файл в /usr/src/linux/.config, затем нажмите / для вызова строки поиска и наберите имя нужного вам элемента. Так вы обнаружите путь к нему; выйдите из результатов поиска и, используя клавиши курсора и Enter, перейдите к нужному пункту, затем нажмите Пробел для его выбора. Повторите это для всех остальных опций; затем, выбрав exit, сохраните настройки, когда спросят.
Теперь скомпилируйте и установите ядро с помощью команды
make all modules_install install
Она все соберет, установит модули ядра, затем скопирует ядро в /boot, а также настроит символьные ссылки для текущего ядра из vmlinuz и предыдущего из vmlinuz.old. Если ваше меню Grub содержит опции для загрузки этих двух ядер, то ничего менять не надо, и вы всегда сможете откатиться к прежнему рабочему ядру.