LXF118:Отыеты
Строка 112: | Строка 112: | ||
Переустановка для этого не нужна. Откройте ''Synaptic Package Manager'' и выберите '''Settings > Repositories'''. Перейдите на вкладку '''Updates''' и установите '''«Release Upgrade»''' в '''«Normal Releases»'''. Закройте ''Synaptic'' и откройте '''Update Manager''', который скажет вам '''«New distribution release 8.10 is available»'''. Нажмите '''Upgrade''' и следуйте инструкциям для обновления системы до последней версии 8.10. '''НБ''' | Переустановка для этого не нужна. Откройте ''Synaptic Package Manager'' и выберите '''Settings > Repositories'''. Перейдите на вкладку '''Updates''' и установите '''«Release Upgrade»''' в '''«Normal Releases»'''. Закройте ''Synaptic'' и откройте '''Update Manager''', который скажет вам '''«New distribution release 8.10 is available»'''. Нажмите '''Upgrade''' и следуйте инструкциям для обновления системы до последней версии 8.10. '''НБ''' | ||
+ | |||
+ | ===6 Причуды ротации=== | ||
+ | |||
+ | '''B''' ''Я использую '''ClamAV''' для сканирования входящей электронной почты. Чтобы повысить его эффективность, я привлек демон службы '''clamd'''. Недавно я заметил, что файл журнала '''clamd''' не в меру разбух (я знаю, что есть возможность ограничить его размер в КБ или МБ в настройках, но это не совсем то, что мне надо). Я решил создать задание в каталоге '''/etc/logrotate.d/'''.'' | ||
+ | |||
+ | /var/log/clamd.log { | ||
+ | missingok | ||
+ | notifempty | ||
+ | daily | ||
+ | rotate 4 | ||
+ | create 0620 clamav clamav | ||
+ | } | ||
+ | |||
+ | ''Подразумевается ротация файлов '''clamd.log''' и '''clamd.log.1'''. К моему изумлению, оказалось, что новый '''clamd.log''' пуст, а запись журнала продолжается в файл '''clamd.log.1'''! Я заметил, что при перезапуске демона используется новый файл журнала, поэтому добавил в скрипт следующие строки:'' | ||
+ | |||
+ | postrotate | ||
+ | /sbin/service clamd restart | ||
+ | endscript | ||
+ | |||
+ | ''Теперь все работает как ожидалось, ротация журналов идет и '''clamd''' каждый раз использует новый файл. Зато при каждом запуске я получаю по электронной почте сообщения:'' | ||
+ | |||
+ | /etc/cron.daily/logrotate: | ||
+ | Stopping clamd: [ OK ] | ||
+ | Starting clamd: [ OK ] | ||
+ | |||
+ | ''Можно ли делать ротацию файлов без перезапуска демона, а также убрать вывод сообщений при рестарте?'' | ||
+ | |||
+ | '''Марк, с форумов''' | ||
+ | |||
+ | '''О''' ''Clamd'' держит файл журнала открытым, и хотя вы его переименовали, обращение к нему продолжается. Файл заблокирован по его индексному дескриптору, и сколько его ни переименовывай, процесс, который его заблокировал, по-прежнему будет иметь дело именно с ним. При остановке и рестарте демон «отпускает» файл и открывает новую блокировку, на сей раз для нового файла с тем же именем. Но можно обойтись и без рестарта, хотя точный рецепт зависит от параметров дистрибутива. Вместо строки '''restart''' в '''postrotate''' попробуйте добавить | ||
+ | |||
+ | /bin/kill -HUP $(cat /var/run/clamd.pid 2>/dev/null) 2>/dev/null | ||
+ | |||
+ | Эта команда считывает идентификатор процесса ''clamd'' из '''/var/run/clamd.pid''' (в разных системах расположение может отличаться) и использует его как аргумент для ''kill'', который посылает сигнал '''SIGHUP''' этому процессу. '''SIGHUP''' велит программе перезагрузить ее конфигурацию, что должно привести к освобождению и переоткрытию файлов журнала. Два перенаправления – это для вывода от ''cat'' и от ''kill'': оба отосланы в '''/dev/null''', чтобы вам не шли бесполезные сообщения от ''Cron''. | ||
+ | |||
+ | ''Cron'' посылает письма, когда программа выдает что-либо в стандартный вывод, и если вам надо пользоваться услугами служебных команд, перенаправьте '''stdout''' и '''stderr''' в '''/dev/null'''. | ||
+ | |||
+ | /sbin/service clamd restart >/dev/null 2>&1 | ||
+ | |||
+ | '''ПХ''' | ||
+ | |||
+ | ===7 Как надуть ''APTonCD''=== | ||
+ | |||
+ | '''B''' ''В Ubuntu в разделе '''Administration > Software Sources > Third-Party Software''' можно добавлять пакеты с CD — очень полезная вещь, так как я лишь изредка подключаю мой ноутбук к Интернету и не могу скачивать пакеты напрямую, а могу только просматривать их с компьютеров на работе или в общественной библиотеке и копировать для себя. Но на моем старом ноутбуке Dell Laptop Latitude C840 привод CD-ROM умеет только читать | ||
+ | (и допускает загрузку), и мне никак его не обновить. Я добавил внешний пишущий DVD-привод USB, но BIOS ноутбука изменить нельзя, и этот привод не распознается как загрузочный.'' | ||
+ | |||
+ | ''Пусть я не могу загрузиться с DVD-дисков LXF, но все же хотел бы использовать USB DVD для добавления разнообразных пакетов ПО в '''Software Sources''' с помощью '''APTonCD'''. Проблема в том, что кнопка '''«Add CD-ROM»''' ведет на стандартный CD-ROM-привод — старый, только читающий '''/dev/scd0''' ('''/media/cdrom0'''). И вот мой вопрос: как заставить '''Software Sources''' и '''APTonCD''' читать с большого USB-диска DVD '''/dev/scd1''' ('''/media/cdrom1''')?'' | ||
+ | |||
+ | ''Нет ли способа решить проблему командной строкой? Может быть, в какой-нибудь файл в '''/etc''' нужно добавить некую запись?'' | ||
+ | |||
+ | '''Филипп Грэм [Philip Graham]''' | ||
+ | |||
+ | '''О''' По части добавления дисков в качестве добавочных репозиториев, мы обнаружили, что в Ubuntu 8.10 все работало с внешним, вторым приводом. Подключите устройство и подождите, пока смонтируется диск, а затем попробуйте добавить его. Если структура диска соответствует стандарту дисков с пакетами Debian, а с LXFDVD часто так и есть, то вам даже не нужно запускать ''Synaptic'' – всплывающее сообщение спросит, хотите ли вы использовать пакеты на этом диске. Кроме того, можно «надуть» ''APTonCD''. | ||
+ | |||
+ | При запуске ''APTonCD'' на подключенном компьютере он создает ISO-образ, который затем обычно записывают на CD или DVD. Если он уместится на CD, то ваша проблема решена: вы сможете прочитать CD с внутреннего привода. Если же ISO-образ больше 700 MБ, запишите его на DVD в виде файла. Иначе говоря, создайте на DVD файловую систему, содержащую только один файл – ISO-образ. Вы можете сделать это в вашей любимой программе записи CD/DVD с графическим интерфейсом, или напрямую, с помощью ''growisofs'': | ||
+ | |||
+ | growisofs -Z /dev/dvd -dvd-compat -R aptoncd-nnnnnnnn-CD1.iso | ||
+ | |||
+ | Вставив этот диск в целевой компьютер и запустив ''APTonCD'', при запросе источника выберите '''«ISO Image»''' и укажите на свой ISO-образ на DVD. Это стандартный диалог выбора файла, и ему все равно, откуда брать ISO-образ. Таким способом легко обойти ограничение на один привод для указания CD в ''APTonCD''. Проследите, чтобы объем получаемого ISO-образа не превышал 4 ГБ, иначе ''mkisofs'' (программа, используемая для создания файловой системы ''growisofs'') создаст порченый образ. '''НБ''' | ||
+ | |||
+ | ===8 Nvidia 8800 без драйвера=== | ||
+ | |||
+ | '''B''' ''В декабре 2007 года я собрал себе новый компьютер — круче я и позволить себе не мог. Я надеялся, что с Linux он будет летать — при 2 ГБ оперативной памяти на двухъядернике 1066 с 3,4 ГГц, 4 ТБ для хранения данных и видеокартой BFG Nvidia 8800GT. Но… перепробовал Ubuntu, Mandriva и SUSE, и ни один из них не установился и не заработал в режиме Live.'' | ||
+ | |||
+ | ''Пробовал я и другие методы, и все свелись к тому, что в Linux нет подходящего драйвера для видеокарты. Так что весь прошлый год я использовал Vista вместо Linux. Но очень хочется вернуться в отчий дом. Не решена ли проблема | ||
+ | с драйвером? если да, то какие дистрибутивы сейчас включают его?'' | ||
+ | |||
+ | '''Дэн Хилл [Dan Hill]''' | ||
+ | |||
+ | '''О''' Nvidia, против обычного, чуть задержалась с выпуском драйвера для 8800 GT под Linux. Этот чипсет отличается от GTS и 8800 GTX. Но драйвер вышел почти сразу после карты. У большинства дистрибутивов шестимесячный цикл обновления, плюс заморозка пакетов для тестирования перед релизом – может пройти до девяти месяцев, прежде чем ваш любимый дистрибутив освоит новое оборудование. | ||
+ | |||
+ | Поддержка этой видеокарты была добавлена в релизе 169.07 драйверов Nvidia, хотя эта версия содержала ошибку, заставляющую вентиляторы видеокарты все время крутиться на полной скорости. В нынешнем релизе 180.29 видеокарта 8800 GT указана как поддерживаемая. Любой свежий дистрибутив должен иметь подходящую версию этого драйвера. Mandriva и Ubuntu точно ее предоставляют. Даже если ваш любимый дистрибутив приотстал, всегда можно скачать драйверы с http://www.nvidia.com и установить их вручную. '''НБ''' | ||
+ | |||
+ | ===9 Не идет Fedora с USB=== | ||
+ | |||
+ | '''B''' ''Я попробовал создать загрузочный USB-брелок с Fedora, используя скачанный ISO-образ Fedora 10. Однако при попытках загрузиться с этого USB-брелка получаю сообщение'' | ||
+ | Could not find kernel image: Linux | ||
+ | |||
+ | ''Есть мысли по этому поводу?'' | ||
+ | |||
+ | '''Майк Лукас [Mike Lucas]''' | ||
+ | |||
+ | '''О''' А правильный ли у вас ISO-образ? Это должен быть образ Live CD, а не стандартного установочного диска. USB-брелок, возможно, уже содержал другой загрузочный дистрибутив, использующий ''Syslinux'', и отказался переписать некоторые файлы, а в результате получилась смесь из Fedora и предыдущего дистрибутива. Удалите все с флэшки, а потом уж запустите Fedora Live USB Creator. '''НБ''' | ||
+ | |||
+ | ===10 Выйти из строя!=== | ||
+ | |||
+ | '''B''' ''Я хочу перевести ряд компьютеров с Windows XP на Linux (Runtu или RussianFedora), но есть одна проблема: под Windows я написал один скрипт, который запускается при входе пользователя в систему и проверяет по базе '''MS SQL''' некое условие. если оно не выполняется, то сеанс завершается. Я могу подключиться к '''MS SQL''' из '''PHP''' и примерно знаю, куда добавить скрипт автозапуска. Остался один вопрос: как завершить из него сеанс Gnome или KDE?'' | ||
+ | |||
+ | '''Борис Головченко''' | ||
+ | |||
+ | '''О''' Все зависит от того, какой рабочий стол вы используете. В Gnome (выбор Runtu и RussianFedora по умолчанию) достаточно вызывать команду ''gnome-session-save --kill''. Этим вы сохраните текущую сессию в Gnome | ||
+ | и завершите ее. | ||
+ | |||
+ | В KDE для подобных целей служит демон ''ksmserver'', так или иначе предоставляющий метод '''logout(int confirm, int sdtype, in sdmode)'''. В версии 3.x он доступен через ''DCOP''. Вам нужен интерфейс ''ksmserver'' по умолчанию (впрочем, он так и называется: ''ksmserver''), и вызов можно сделать командой | ||
+ | |||
+ | dcop ksmserver default logout 0 0 3 | ||
+ | |||
+ | Числа '''0 0 3''' – это те самые '''confirm, sdtype''' и '''sdmode'''; значения можно посмотреть на http://api.kde.org/4.2-api/kdebase-workspace-apidocs/libs/kworkspace/html/namespaceKWorkSpace.html (это | ||
+ | API версии 4.2, но совместимость с 3.x сохранена). | ||
+ | |||
+ | При необходимости можно добавить к команде ключи '''--all-users''' и '''--all-sessions''', чтобы вызвать метод '''logout()''' для всех пользователей и сессий на DCOP-сервере локальной машины. | ||
+ | |||
+ | В KDE 4 для этих же целей используется ''D-BUS'' и интерфейс '''org.kde.KSMServerInterface'''. Команда | ||
+ | |||
+ | dbus-send --session --type=method_call --dest=org.kde.ksmserver /KSMServer org.kde. | ||
+ | KSMServerInterface.logout int32:0 int32:3 int32:3 | ||
+ | |||
+ | должна решить задачу. | ||
+ | '''ВС''' | ||
+ | |||
+ | ===11 Озадаченный Linux=== | ||
+ | |||
+ | '''B''' ''Я впервые купил [[LXF113-114|LXF113/114]], позарившись на Ubuntu 8.10 с обложки. Установив его на мой второй старый ПК на AMD XP1800+, я прочел все ваши статьи из серии «Новичок в Linux», поскольку я и есть этот новичок, и у меня возникла пара вопросов.'' | ||
+ | |||
+ | ''Многие компьютерные журналы, включая LXF, предполагают, что пользователи Linux имеют широкополосное подключение. Я 72-летний пенсионер, и у меня есть только dial-up. если мне нужно новое ПО для Windows, я просто скачиваю файлы по широкополосному каналу в библиотеке на USB-брелок, а затем устанавливаю их дома.'' | ||
+ | |||
+ | ''Но как сделать это в Ubuntu? Не могли бы вы привести конкретный пример? Каким образом можно удалить (или размонтировать?) Ubuntu (или любой другой Linux) с жесткого диска с двойной загрузкой?'' | ||
+ | |||
+ | ''Наконец, знаете ли вы модель телефонного модема, внутреннего или последовательного/внешнего USB, и провайдера, подключающего к Интернету из Ubuntu 8.10? Я два года боролся с этой проблемой, пытаясь получить электронную почту с помощью Linux, и все безуспешно.'' | ||
+ | |||
+ | '''Роберт Готт [Robert Gott]''' | ||
+ | |||
+ | '''О''' «Монтировать» означает «сделать доступным содержимое устройства хранения данных». USB-устройство монтируется, когда вы подключаете его к компьютеру, и должно быть отмонтировано (в терминологии Windows, «безопасно удалено»), прежде чем вы его извлечете. Удаление Linux элементарно – просто уничтожьте разделы, содержащие его – но надо будет загрузиться с вашего Windows CD и запустить ''fixmbr'' для восстановления загрузчика Windows. Более подробно мы писали об этом в прошлом месяце в статье «Чиним Linux». | ||
+ | |||
+ | Ubuntu позаботился об обновлении компьютеров, не имеющих подключения к Интернету, хотя этот процесс проходит гораздо легче при наличии хотя бы dial-up-соединения. Запустите менеджер пакетов ''Synaptic'' и нажмите на кнопку '''Reload''', чтобы обновить ваш список репозиториев. | ||
+ | |||
+ | Выберите пакеты, которые намерены установить, и нажмите на кнопку '''Mark All Upgrades''', а затем выберите пункт '''«Generate package download script»''' из меню '''File'''. Создастся скрипт, который можно запустить на другом компьютере и загрузить все необходимые пакеты. Список команд ''wget'' можно конвертировать в набор HTML-ссылок, который открывается в браузере. Затем нажмите на каждую ссылку, чтобы загрузить ее на свой USB-диск. | ||
+ | Преимущество данного метода в том, что для него достаточно иметь только web-браузер. | ||
+ | |||
+ | Скопируйте содержимое скрипта в электронное письмо и отправьте его самому себе, а затем используйте почтовый сервис вашего провайдера, чтобы прочитать сообщение. Конечно, если ваша библиотека настолько продвинутая, что | ||
+ | использует Linux, ничего этого не нужно: тогда просто скопируйте скрипт на ваш USB-брелок и запустите его в библиотеке. | ||
+ | |||
+ | Принесите USB-брелок с пакетами домой, подключите к компьютеру и снова запустите ''Synaptic''. Выберите '''«Add downloaded packages»''' из меню '''«File»''' и укажите папку, содержащую пакеты на USB-брелке. | ||
+ | |||
+ | Один из дружелюбных к Linux провайдеров – UKFSN (UK Free Software Network); его сайт – http://www.ukfsn.org. Спросите его рекомендации по модемам. Любые последовательные (не USB) внешние модемы должны прекрасно работать. | ||
+ | |||
+ | ===* Разрешения в FAT=== | ||
+ | |||
+ | '''B''' ''Я решил попробовать поместить Ubuntu на USB-брелок. Но дополнительная область, которую я выделил для моих файлов с данными, оказалась только для чтения и исполнения. Все директории и файлы принадлежат root. Раздел USB-брелка для '''/dev/sdb1''' смонтирован в '''/cdrom''' и имеет тип '''W95 FAT32 (LBA).''''' | ||
+ | |||
+ | ''От имени root, я скопировал в настольной системе мои файлы данных на этот раздел. Но я не могу изменить владельца директорий для моей пользовательской учетной записи, даже от root, поскольку у меня нет прав. Почему?'' | ||
+ | |||
+ | '''Дэвид Таттон [David Tutton]''' | ||
+ | |||
+ | '''О''' '''FAT32''' не поддерживает права доступа к файлам и владельцев. Вы можете задать владельца или права группы на всё по умолчанию через команду ''mount'' или в '''/etc/fstab'''. | ||
+ | |||
+ | Можно использовать опцию '''umask''' – она влияет на права, или '''uid/gid''' – для установки владельца. | ||
+ | Добавьте '''umask=000''' в опции ''mount'' или измените строку в '''/etc/fstab''' на что-то вроде | ||
+ | |||
+ | /dev/sdb1 /cdrom vfat umask=000 0 0 | ||
+ | |||
+ | '''Umask''' вычитается из '''666''' для файлов и из '''777''' – для директорий, чтобы дать фактические разрешения, так что все каталоги будут '''rwxrwxrwx''', а все файлы – '''rw-rw-rw-'''. Альтернатива – указать пользователя или группу владельца: | ||
+ | |||
+ | /dev/sdb1 /cdrom vfat uid=david 00 | ||
+ | |||
+ | '''UID/GID''' могут быть именами или числами. Можно также комбинировать параметры: | ||
+ | |||
+ | /dev/sdb1 /cdrom vfat gid=users,umask=002 0 0 | ||
+ | |||
+ | В этом случае записывать файлы смогут все члены группы '''users''', которым они и принадлежат. | ||
+ | |||
+ | Ни одно из этих метаданных не хранится в файловой системе: они нужны только для того, чтобы файловые системы, в которых нет прав и владельцев, стали доступны для нормальной работы с ОС, ожидающей таких атрибутов. Измените эти параметры для смонтированной файловой системы – например, так: | ||
+ | |||
+ | mount /cdrom -o umask=000,remount | ||
+ | |||
+ | '''НБ''' | ||
+ | |||
+ | ==Часто задаваемые вопросы: Компилируем ядро== | ||
+ | |||
+ | * '''Ядро у меня уже есть, зачем мне компилировать новое?''' | ||
+ | *: Ядра, поставляемые с дистрибутивами, поддерживают широкий спектр оборудования, но вам может потребоваться добавить поддержку того, что есть именно у вас (или убрать поддержку того, чего у вас нет). Сборка вашего ядра из исходников с kernel.org, как правило, снабдит вас самой последней его версией, а это может быть важно. | ||
+ | |||
+ | * '''Где брать исходники ядра?''' | ||
+ | *: Типовые ядра ['''их еще называют «ванильными», – прим. пер.'''] имеются на http://www.kernel.org, да и на наших дисках. Большинство дистрибутивов вносят правку в исходные коды, и некоторые инструменты могут зависеть от этой правки. Пакет с исходными кодами, соответствующий вашему текущему ядру, можно установить через стандартный инструмент управления пакетами вашего дистрибутива. Ищите пакет с названием ''kernel-source'' или ''linux-sources''. Совместимые версии доступны в тестовых [testing] репозиториях вашего дистрибутива. | ||
+ | |||
+ | * '''И какие использовать?''' | ||
+ | *: Отпимальным вариантом обычно бывают исходные коды, приспособленные под ваш дистрибутив. При желании применить собственные заплатки или использовать самые современные ядра, возможно, будет лучше использовать исходные коды с kernel.org. | ||
+ | |||
+ | * '''С чего начинать компиляцию и установку ядра?''' | ||
+ | *: Для установки из tar-архива с kernel.org, скачайте архив и введите от имени root следующие команды: |
Версия 15:03, 5 марта 2010
|
|
|
Содержание |
Ответы
- Есть вопросы по Open Source? Пишите нам по адресу answers@linuxformat.ru!
1 Зачем Windows?
B Я унаследовал старый ноутбук Gateway Solo, модель 2550, c Windows 2000 Professional — в нем есть CD- и флоппи-дисковод. Если верить прочитанному, на нем можно попробовать Linux. Я слишком стар, чтобы становиться хакером, и хотел бы просто получить указания о том, какие версии или дистрибутивы взять и где их берут.
Кроме того, все, что я прочел, вроде бы предписывает загрузить Linux на Windows-машине и использовать обе системы. Моя версия Windows очень устарела, и почему я не могу стереть ее с жесткого диска и установить Linux с нуля? Буду признателен за любую помощь.
Брайан Смит [Brian Smith]
О Выбор дистрибутива Linux – дело очень личное, и лучший совет будет таким: попробуйте их несколько и решите, какой Вам больше нравится. Однако на старой аппаратуре последние версии рабочих столов будут работать медленнее, если вообще будут. Исключая дистрибутивы с окружениями KDE или Gnome, вы сможете запустить большинство разновидностей Linux, но для старого оборудования, особенно со скромным объемом ОЗУ, хороший выбор – Puppy Linux (http://www.puppylinux.org). Bаш ноутбук потянет также Xubuntu (http://www.xubuntu.org) – версию Ubuntu с легковесным рабочим столом Xfce, если у вас достаточно оперативной памяти. Также проглядите другие диски к журналу, для поиска альтернатив. На большинстве дисков имеется необычный, легкий или иной альтернативный дистрибутив на пробу, в дополнение к более популярным тяжеловесам.
Для запуска Linux вам совсем не нужен Windows: очистка диска и начало «с нуля» вполне приемлемо (кое-кто сказал бы, что даже поощряется), и в инсталляторах большинства дистрибутивов имеется возможность занять весь диск, уничтожив все установленное ранее. Двойная загрузка популярна, поскольку позволяет иметь Windows и Linux на одном компьютере и выбирать систему для работы во время старта, но вовсе не обязательна. Например, на компьютере, на котором я это пишу, Windows нет, не было и не будет. НБ
2 Права сканера
B После весьма хвалебного обзора Fedora 10 в LXF115 я решил нарушить свое «правило 18 месяцев» и обновить Fedora 8 до Fedora 10. Сначала скачал LiveCD и загрузился с него. KDE 4 вызвал легкий шок, но в целом мои первые впечатления были очень хорошими. Тут я уперся в проблему. Мой HP PSC1410 требует hplip, не включенный на CD. Ну, я установил hplip через Yum, хотя это и выглядело странно для Live-системы. А принтер и сканер я смог создать и использовать только от имени root. Вот такое произошло с моим Acer One. Пытался повозиться с правилами udev для изменения разрешений, но сумел только все поломать, так что восстановил исходные настройки. Принтер я получил, а сканер – нет. Для нетбука это не так страшно, но на основной рабочей машине было бы реальной проблемой.
Произошли какие-то значительные сдвиги между Fedora 8 и Fedora 10? Или это всего лишь эфемерные проблемы «установки» в Live-режиме, которые исчезнут при полноценной инсталляции?
Кен Уилсон [Ken Wilson]
О Похоже, устройство вашего сканера создалось с неподходящими правами. Простой тест этого заключается в за- пуске двух команд, и от имени root, и как обычный пользователь:
sane-find-scanner -q scanimage -L
Первая команда лишь обнаруживает сканер, и неважно, кто ее запустил; а вторая предоставляет доступ к устройству только при наличии полномочий. Если она дает сбой от вашего пользователя, значит, у вас проблемы с правами.
Для USB-сканеров имя устройства изменяется при каждом подключении, и нельзя просто выполнить chown или chmod из вашего стартового скрипта. Придется повозиться с udev, но это не очень трудно. Сначала определите ваш сканер – это можно сделать с помощью dmesg, которая выведет нечто вроде этого:
usb 2-1: New USB device found, idVendor=04a9, idProduct=221c usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 usb 2-1: Product: CanoScan usb 2-1: Manufacturer: Canon
Или воспользуйтесь lsusb:
Bus 002 Device 002: ID 04a9:221c Canon, Inc. CanoScan LiDE 60
Или инструментом, поставляемым с Sane:
% sane-find-scanner -q found USB scanner (vendor=0x04a9 [Canon], product=0x221c [CanoScan], chip=GL842) at libusb:002:002
Все эти способы дадут вам код изготовителя продукта и код сканера. Примеры приведены для сканера Canon, и для HP готовьтесь получить другие значения. Теперь создайте правило udev в /etc/udev/rules.d/10-scanner.rules. Имя файла должно заканчиваться на .rules, а начальная цифра 10 обеспечивает его обработку перед правилами по умолчанию. Подставьте свой номер здесь:
ATTR{idVendor}==“04a9”, ATTR{idProduct}==“221c”, GROUP:=”scanner”, MODE:=”0660”
Узел устройства сканера сделается доступным для чтения и записи членам группы scanner. Затем нужно создать такую группу и добавить к ней себя (действуя от имени root) c помощью
groupadd -r scanner gpasswd -a USERNAME scanner
А если вы – единственный пользователь компьютера, вставьте в правило udev имя собственной группы. Udev принимает изменения сразу: чтобы новые настройки заработали, нужно только переподсоединить или выключить/включить сканер. Если вы сделали изменения в группе, вам придется выйти из рабочего стола и зайти обратно, чтобы они вступили в силу. МС
3 Обновляем Ubuntu
B В моем ноутбуке установлен Ubuntu 7.04, а хотелось бы обновить его до Ubuntu 8.10 с использованием LXFDVD от LXF113/114. Возможно ли это? если да, то как это сделать?
Исса Карамбаль [Issa Karambal]
О Обновление на месте, предоставляемое Update Manager, рекомендуется только при переходе на одну версию выше, а с 7.04 на 8.10 вы перепрыгиваете три релиза. Самым безопасным вариантом будет переустановка с DVD. Если вы следовали расхожему совету использовать отдельный раздел /home, можно переустановить ОС, не касаясь ваших личных данных и настроек в вашем домашнем каталоге.
Даже если у вас нет отдельного раздела /home, в инсталлятор Ubuntu 8.10 добавили хитрый трюк для сохранения вашей домашней директории при переустановке. Загрузитесь с LiveCD и запустите инсталлятор. Когда он дойдет до разметки диска, выберите вариант Manual. Вы можете настроить разделы как и раньше, выбрав один корневой / с файловой системой ext3 и другой, поменьше, как раздел подкачки. Если у вас есть раздел Windows, оставьте его как было. Главное, не выбирайте опцию форматирования раздела /. Вы получите предупреждение, что корневой раздел не помечен для форматирования. Если вы продолжите, системные директории /etc, /bin, /usr и т.п. будут удалены перед установкой новой версии, а /home будет оставлен в покое [на самом деле этот "хитрый трюк" возможен в любом дистрибутиве Linux, позволяющем ручную разметку диска при установке].
При любой важной операции, какой является и обновление ОС, прежде всего надо сделать резервную копию, если содержимое вашей домашней директории для вас ценно; но это всего лишь мера предосторожности. Существующая установка должна замениться на Ubuntu 8.10, не затронув ваших личных файлов. НБ
4 Sudo или su?
B На этапе перехода к Linux мои машины использовали двойную загрузку. Я нашел, что в общем, Ubuntu — самый полный и дружелюбный дистрибутив, но есть мелкие вопросы. Во-первых, в релизах после 6.06 возникают проблемы с экраном моего ноутбука (я наблюдал аналогичную картину со многими дистрибутивами на моем компьютере, когда перешел на ЖК-панель).
Но главная беда в том, что я не любитель sudo и хотел бы заставить систему работать по-другому, через root и обычных пользователей, только не пойму, как этого добиться.
Джо Марком [Joe Marcom]
О Без дополнительной информации дать консультацию по аппаратным вопросам насчет вашего дисплея невозможно, однако странно, что старый дистрибутив работает, а более поздняя версия – нет. Обычно бывает наоборот, ведь с каждым выпуском поддержка оборудования улучшается. Ubuntu 6.06 почти три года, и он вот-вот перестанет поддерживаться для настольных ПК. Так что вы не будете получать новые версии ПО, а главное, не будете получать никаких исправлений безопасности. По мере обнаружения новых уязвимостей ваш компьютер постепенно будет становиться все менее надежным инструментом.
Получение входа от root в терминале в Ubuntu выполняется легко – введите sudo bash для запуска оболочки root. Закончив, либо наберите logout, либо нажмите Ctrl+D, чтобы выйти в сессию обычного пользователя. Находясь в root-оболочке, вы можете установить пароль root, чтобы в будущем использовать su. Однако вы, похоже, движетесь в неверном направлении. Если вам не по душе один из ключевых принципов работы Ubuntu, являющийся частью философии дистрибутива, да дистрибутив еще и не поддерживает ваше оборудование, то точно ли это лучший выбор для вас?
Fedora 10, как и Ubuntu, использует по умолчанию рабочий стол Gnome, имеет хорошую поддержку оборудования, имеет учетную запись root и получила 10/10 в нашем недавнем обзоре. Рекомендую вам попробовать ее или одну из многих альтернатив, с тем чтобы поддерживать вашу систему в актуальном состоянии и работать в свое удовольствие. НБ
5 Смена имени дисков
B Перекомпилируя ядро 2.6.22 для моего Mythbuntu 8.04.1, наткнулся на проблему. Я использую TV-карту Hauppauge HVR-1300 и обнаружил, путем проб и ошибок на Debian Etch, что все ядра старше 2.6.22 имеют проблемы с цифровой настройкой при приеме на 506 и 562 Мгц с передатчика Crystal Palace в Великобритании. Поэтому я не могу нормально принимать каналы BBC и Five: звук заикается, а картина распадается на квадратики. А все другие частоты принимаются нормально.
Mythbuntu 8.04.1 использует ядро 2.6.24, но когда я компилировал ядро 2.6.22, используя исходники с kernel.org и Ubuntu, система не смогла загрузиться, поскольку Ubuntu использует для определения своих жестких дисков схему именования sda, sdb, а перекомпилированное ядро ожидает видеть hda, hdb и так далее. Я попытался изменить root=/dev/sdb3 на hdb3 в файле меню Grub menu.lst, исправить записи fstab и выбрать новое ядро для загрузки, но тогда во всех ТВ-приложениях оказывается невозможным ухватить сигнал! Попробовал использовать root=UUID=<hexnumber> для определения корневого диска — тоже не помогло.
Можно ли перекомпилировать ядро, чтобы оно понимало схему нумерации Ubuntu? Или Ubuntu правит свои исходники так, что типовое ядро уже не годится?
Крис Смит [Chris Smith]
О Ядро 2.6.22 должно бы допускать sd*-именование ваших жестких дисков, ведь эта возможность появилась где-то в 2.6.19, при добавлении опции CONFIG_ATA. Поэтому вы сможете найти ее в драйверах Device Drivers > Serial ATA (prod) and Parallel ATA (experimental). Включите данную опцию и выберите драйвер для чипсета материнской платы. Также надо отключить поддержку ATA/ATAPI/MFM/RLL (CONFIG_IDE), обрабатывающую IDE-диски по старой схеме. Начните настройку ядра путем копирования файла .config из директории существующего ядра в каталог нового и запуска
make oldconfig
Это сообщит вам обо всех измененных настройках и оставит остальные как есть, обеспечивая максимальную совместимость. Потом вы всегда сможете запустить make menuconfig или make xconfig для настройки параметров.
Вот вам встречный вопрос: а последнее ли ядро вы пробовали? В ядре 2.6.28 выполнены исправления, связанные с DVB (используется в цифровом ТВ). Были и изменения в V4L-части ядра (Video4Linux), способные влиять на аналоговую составляющую вашей карты. Также, может быть, стоит обновиться до Mythbuntu 8.10, чтобы получить последние, возможно, более совместимые версии всего.
Переустановка для этого не нужна. Откройте Synaptic Package Manager и выберите Settings > Repositories. Перейдите на вкладку Updates и установите «Release Upgrade» в «Normal Releases». Закройте Synaptic и откройте Update Manager, который скажет вам «New distribution release 8.10 is available». Нажмите Upgrade и следуйте инструкциям для обновления системы до последней версии 8.10. НБ
6 Причуды ротации
B Я использую ClamAV для сканирования входящей электронной почты. Чтобы повысить его эффективность, я привлек демон службы clamd. Недавно я заметил, что файл журнала clamd не в меру разбух (я знаю, что есть возможность ограничить его размер в КБ или МБ в настройках, но это не совсем то, что мне надо). Я решил создать задание в каталоге /etc/logrotate.d/.
/var/log/clamd.log { missingok notifempty daily rotate 4 create 0620 clamav clamav }
Подразумевается ротация файлов clamd.log и clamd.log.1. К моему изумлению, оказалось, что новый clamd.log пуст, а запись журнала продолжается в файл clamd.log.1! Я заметил, что при перезапуске демона используется новый файл журнала, поэтому добавил в скрипт следующие строки:
postrotate /sbin/service clamd restart endscript
Теперь все работает как ожидалось, ротация журналов идет и clamd каждый раз использует новый файл. Зато при каждом запуске я получаю по электронной почте сообщения:
/etc/cron.daily/logrotate: Stopping clamd: [ OK ] Starting clamd: [ OK ]
Можно ли делать ротацию файлов без перезапуска демона, а также убрать вывод сообщений при рестарте?
Марк, с форумов
О Clamd держит файл журнала открытым, и хотя вы его переименовали, обращение к нему продолжается. Файл заблокирован по его индексному дескриптору, и сколько его ни переименовывай, процесс, который его заблокировал, по-прежнему будет иметь дело именно с ним. При остановке и рестарте демон «отпускает» файл и открывает новую блокировку, на сей раз для нового файла с тем же именем. Но можно обойтись и без рестарта, хотя точный рецепт зависит от параметров дистрибутива. Вместо строки restart в postrotate попробуйте добавить
/bin/kill -HUP $(cat /var/run/clamd.pid 2>/dev/null) 2>/dev/null
Эта команда считывает идентификатор процесса clamd из /var/run/clamd.pid (в разных системах расположение может отличаться) и использует его как аргумент для kill, который посылает сигнал SIGHUP этому процессу. SIGHUP велит программе перезагрузить ее конфигурацию, что должно привести к освобождению и переоткрытию файлов журнала. Два перенаправления – это для вывода от cat и от kill: оба отосланы в /dev/null, чтобы вам не шли бесполезные сообщения от Cron.
Cron посылает письма, когда программа выдает что-либо в стандартный вывод, и если вам надо пользоваться услугами служебных команд, перенаправьте stdout и stderr в /dev/null.
/sbin/service clamd restart >/dev/null 2>&1
ПХ
7 Как надуть APTonCD
B В Ubuntu в разделе Administration > Software Sources > Third-Party Software можно добавлять пакеты с CD — очень полезная вещь, так как я лишь изредка подключаю мой ноутбук к Интернету и не могу скачивать пакеты напрямую, а могу только просматривать их с компьютеров на работе или в общественной библиотеке и копировать для себя. Но на моем старом ноутбуке Dell Laptop Latitude C840 привод CD-ROM умеет только читать (и допускает загрузку), и мне никак его не обновить. Я добавил внешний пишущий DVD-привод USB, но BIOS ноутбука изменить нельзя, и этот привод не распознается как загрузочный.
Пусть я не могу загрузиться с DVD-дисков LXF, но все же хотел бы использовать USB DVD для добавления разнообразных пакетов ПО в Software Sources с помощью APTonCD. Проблема в том, что кнопка «Add CD-ROM» ведет на стандартный CD-ROM-привод — старый, только читающий /dev/scd0 (/media/cdrom0). И вот мой вопрос: как заставить Software Sources и APTonCD читать с большого USB-диска DVD /dev/scd1 (/media/cdrom1)?
Нет ли способа решить проблему командной строкой? Может быть, в какой-нибудь файл в /etc нужно добавить некую запись?
Филипп Грэм [Philip Graham]
О По части добавления дисков в качестве добавочных репозиториев, мы обнаружили, что в Ubuntu 8.10 все работало с внешним, вторым приводом. Подключите устройство и подождите, пока смонтируется диск, а затем попробуйте добавить его. Если структура диска соответствует стандарту дисков с пакетами Debian, а с LXFDVD часто так и есть, то вам даже не нужно запускать Synaptic – всплывающее сообщение спросит, хотите ли вы использовать пакеты на этом диске. Кроме того, можно «надуть» APTonCD.
При запуске APTonCD на подключенном компьютере он создает ISO-образ, который затем обычно записывают на CD или DVD. Если он уместится на CD, то ваша проблема решена: вы сможете прочитать CD с внутреннего привода. Если же ISO-образ больше 700 MБ, запишите его на DVD в виде файла. Иначе говоря, создайте на DVD файловую систему, содержащую только один файл – ISO-образ. Вы можете сделать это в вашей любимой программе записи CD/DVD с графическим интерфейсом, или напрямую, с помощью growisofs:
growisofs -Z /dev/dvd -dvd-compat -R aptoncd-nnnnnnnn-CD1.iso
Вставив этот диск в целевой компьютер и запустив APTonCD, при запросе источника выберите «ISO Image» и укажите на свой ISO-образ на DVD. Это стандартный диалог выбора файла, и ему все равно, откуда брать ISO-образ. Таким способом легко обойти ограничение на один привод для указания CD в APTonCD. Проследите, чтобы объем получаемого ISO-образа не превышал 4 ГБ, иначе mkisofs (программа, используемая для создания файловой системы growisofs) создаст порченый образ. НБ
8 Nvidia 8800 без драйвера
B В декабре 2007 года я собрал себе новый компьютер — круче я и позволить себе не мог. Я надеялся, что с Linux он будет летать — при 2 ГБ оперативной памяти на двухъядернике 1066 с 3,4 ГГц, 4 ТБ для хранения данных и видеокартой BFG Nvidia 8800GT. Но… перепробовал Ubuntu, Mandriva и SUSE, и ни один из них не установился и не заработал в режиме Live.
Пробовал я и другие методы, и все свелись к тому, что в Linux нет подходящего драйвера для видеокарты. Так что весь прошлый год я использовал Vista вместо Linux. Но очень хочется вернуться в отчий дом. Не решена ли проблема с драйвером? если да, то какие дистрибутивы сейчас включают его?
Дэн Хилл [Dan Hill]
О Nvidia, против обычного, чуть задержалась с выпуском драйвера для 8800 GT под Linux. Этот чипсет отличается от GTS и 8800 GTX. Но драйвер вышел почти сразу после карты. У большинства дистрибутивов шестимесячный цикл обновления, плюс заморозка пакетов для тестирования перед релизом – может пройти до девяти месяцев, прежде чем ваш любимый дистрибутив освоит новое оборудование.
Поддержка этой видеокарты была добавлена в релизе 169.07 драйверов Nvidia, хотя эта версия содержала ошибку, заставляющую вентиляторы видеокарты все время крутиться на полной скорости. В нынешнем релизе 180.29 видеокарта 8800 GT указана как поддерживаемая. Любой свежий дистрибутив должен иметь подходящую версию этого драйвера. Mandriva и Ubuntu точно ее предоставляют. Даже если ваш любимый дистрибутив приотстал, всегда можно скачать драйверы с http://www.nvidia.com и установить их вручную. НБ
9 Не идет Fedora с USB
B Я попробовал создать загрузочный USB-брелок с Fedora, используя скачанный ISO-образ Fedora 10. Однако при попытках загрузиться с этого USB-брелка получаю сообщение
Could not find kernel image: Linux
Есть мысли по этому поводу?
Майк Лукас [Mike Lucas]
О А правильный ли у вас ISO-образ? Это должен быть образ Live CD, а не стандартного установочного диска. USB-брелок, возможно, уже содержал другой загрузочный дистрибутив, использующий Syslinux, и отказался переписать некоторые файлы, а в результате получилась смесь из Fedora и предыдущего дистрибутива. Удалите все с флэшки, а потом уж запустите Fedora Live USB Creator. НБ
10 Выйти из строя!
B Я хочу перевести ряд компьютеров с Windows XP на Linux (Runtu или RussianFedora), но есть одна проблема: под Windows я написал один скрипт, который запускается при входе пользователя в систему и проверяет по базе MS SQL некое условие. если оно не выполняется, то сеанс завершается. Я могу подключиться к MS SQL из PHP и примерно знаю, куда добавить скрипт автозапуска. Остался один вопрос: как завершить из него сеанс Gnome или KDE?
Борис Головченко
О Все зависит от того, какой рабочий стол вы используете. В Gnome (выбор Runtu и RussianFedora по умолчанию) достаточно вызывать команду gnome-session-save --kill. Этим вы сохраните текущую сессию в Gnome и завершите ее.
В KDE для подобных целей служит демон ksmserver, так или иначе предоставляющий метод logout(int confirm, int sdtype, in sdmode). В версии 3.x он доступен через DCOP. Вам нужен интерфейс ksmserver по умолчанию (впрочем, он так и называется: ksmserver), и вызов можно сделать командой
dcop ksmserver default logout 0 0 3
Числа 0 0 3 – это те самые confirm, sdtype и sdmode; значения можно посмотреть на http://api.kde.org/4.2-api/kdebase-workspace-apidocs/libs/kworkspace/html/namespaceKWorkSpace.html (это API версии 4.2, но совместимость с 3.x сохранена).
При необходимости можно добавить к команде ключи --all-users и --all-sessions, чтобы вызвать метод logout() для всех пользователей и сессий на DCOP-сервере локальной машины.
В KDE 4 для этих же целей используется D-BUS и интерфейс org.kde.KSMServerInterface. Команда
dbus-send --session --type=method_call --dest=org.kde.ksmserver /KSMServer org.kde. KSMServerInterface.logout int32:0 int32:3 int32:3
должна решить задачу. ВС
11 Озадаченный Linux
B Я впервые купил LXF113/114, позарившись на Ubuntu 8.10 с обложки. Установив его на мой второй старый ПК на AMD XP1800+, я прочел все ваши статьи из серии «Новичок в Linux», поскольку я и есть этот новичок, и у меня возникла пара вопросов.
Многие компьютерные журналы, включая LXF, предполагают, что пользователи Linux имеют широкополосное подключение. Я 72-летний пенсионер, и у меня есть только dial-up. если мне нужно новое ПО для Windows, я просто скачиваю файлы по широкополосному каналу в библиотеке на USB-брелок, а затем устанавливаю их дома.
Но как сделать это в Ubuntu? Не могли бы вы привести конкретный пример? Каким образом можно удалить (или размонтировать?) Ubuntu (или любой другой Linux) с жесткого диска с двойной загрузкой?
Наконец, знаете ли вы модель телефонного модема, внутреннего или последовательного/внешнего USB, и провайдера, подключающего к Интернету из Ubuntu 8.10? Я два года боролся с этой проблемой, пытаясь получить электронную почту с помощью Linux, и все безуспешно.
Роберт Готт [Robert Gott]
О «Монтировать» означает «сделать доступным содержимое устройства хранения данных». USB-устройство монтируется, когда вы подключаете его к компьютеру, и должно быть отмонтировано (в терминологии Windows, «безопасно удалено»), прежде чем вы его извлечете. Удаление Linux элементарно – просто уничтожьте разделы, содержащие его – но надо будет загрузиться с вашего Windows CD и запустить fixmbr для восстановления загрузчика Windows. Более подробно мы писали об этом в прошлом месяце в статье «Чиним Linux».
Ubuntu позаботился об обновлении компьютеров, не имеющих подключения к Интернету, хотя этот процесс проходит гораздо легче при наличии хотя бы dial-up-соединения. Запустите менеджер пакетов Synaptic и нажмите на кнопку Reload, чтобы обновить ваш список репозиториев.
Выберите пакеты, которые намерены установить, и нажмите на кнопку Mark All Upgrades, а затем выберите пункт «Generate package download script» из меню File. Создастся скрипт, который можно запустить на другом компьютере и загрузить все необходимые пакеты. Список команд wget можно конвертировать в набор HTML-ссылок, который открывается в браузере. Затем нажмите на каждую ссылку, чтобы загрузить ее на свой USB-диск. Преимущество данного метода в том, что для него достаточно иметь только web-браузер.
Скопируйте содержимое скрипта в электронное письмо и отправьте его самому себе, а затем используйте почтовый сервис вашего провайдера, чтобы прочитать сообщение. Конечно, если ваша библиотека настолько продвинутая, что использует Linux, ничего этого не нужно: тогда просто скопируйте скрипт на ваш USB-брелок и запустите его в библиотеке.
Принесите USB-брелок с пакетами домой, подключите к компьютеру и снова запустите Synaptic. Выберите «Add downloaded packages» из меню «File» и укажите папку, содержащую пакеты на USB-брелке.
Один из дружелюбных к Linux провайдеров – UKFSN (UK Free Software Network); его сайт – http://www.ukfsn.org. Спросите его рекомендации по модемам. Любые последовательные (не USB) внешние модемы должны прекрасно работать.
* Разрешения в FAT
B Я решил попробовать поместить Ubuntu на USB-брелок. Но дополнительная область, которую я выделил для моих файлов с данными, оказалась только для чтения и исполнения. Все директории и файлы принадлежат root. Раздел USB-брелка для /dev/sdb1 смонтирован в /cdrom и имеет тип W95 FAT32 (LBA).
От имени root, я скопировал в настольной системе мои файлы данных на этот раздел. Но я не могу изменить владельца директорий для моей пользовательской учетной записи, даже от root, поскольку у меня нет прав. Почему?
Дэвид Таттон [David Tutton]
О FAT32 не поддерживает права доступа к файлам и владельцев. Вы можете задать владельца или права группы на всё по умолчанию через команду mount или в /etc/fstab.
Можно использовать опцию umask – она влияет на права, или uid/gid – для установки владельца. Добавьте umask=000 в опции mount или измените строку в /etc/fstab на что-то вроде
/dev/sdb1 /cdrom vfat umask=000 0 0
Umask вычитается из 666 для файлов и из 777 – для директорий, чтобы дать фактические разрешения, так что все каталоги будут rwxrwxrwx, а все файлы – rw-rw-rw-. Альтернатива – указать пользователя или группу владельца:
/dev/sdb1 /cdrom vfat uid=david 00
UID/GID могут быть именами или числами. Можно также комбинировать параметры:
/dev/sdb1 /cdrom vfat gid=users,umask=002 0 0
В этом случае записывать файлы смогут все члены группы users, которым они и принадлежат.
Ни одно из этих метаданных не хранится в файловой системе: они нужны только для того, чтобы файловые системы, в которых нет прав и владельцев, стали доступны для нормальной работы с ОС, ожидающей таких атрибутов. Измените эти параметры для смонтированной файловой системы – например, так:
mount /cdrom -o umask=000,remount
НБ
Часто задаваемые вопросы: Компилируем ядро
- Ядро у меня уже есть, зачем мне компилировать новое?
- Ядра, поставляемые с дистрибутивами, поддерживают широкий спектр оборудования, но вам может потребоваться добавить поддержку того, что есть именно у вас (или убрать поддержку того, чего у вас нет). Сборка вашего ядра из исходников с kernel.org, как правило, снабдит вас самой последней его версией, а это может быть важно.
- Где брать исходники ядра?
- Типовые ядра [их еще называют «ванильными», – прим. пер.] имеются на http://www.kernel.org, да и на наших дисках. Большинство дистрибутивов вносят правку в исходные коды, и некоторые инструменты могут зависеть от этой правки. Пакет с исходными кодами, соответствующий вашему текущему ядру, можно установить через стандартный инструмент управления пакетами вашего дистрибутива. Ищите пакет с названием kernel-source или linux-sources. Совместимые версии доступны в тестовых [testing] репозиториях вашего дистрибутива.
- И какие использовать?
- Отпимальным вариантом обычно бывают исходные коды, приспособленные под ваш дистрибутив. При желании применить собственные заплатки или использовать самые современные ядра, возможно, будет лучше использовать исходные коды с kernel.org.
- С чего начинать компиляцию и установку ядра?
- Для установки из tar-архива с kernel.org, скачайте архив и введите от имени root следующие команды: