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

LXF124:Ответы

Материал из Linuxformat
Версия от 11:01, 20 октября 2010; Crazy Rebel (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Содержание

Ответы

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

1 Быстрая консоль

В Дома я частенько запускаю свою 64‑битную Ubuntu 8.10 только для того, чтобы зайти куда-нибудь из консоли по SSH. Нет ли способа сделать простое загрузочное меню с пунктами для старта в штатном режиме и быстрого — сразу в консоль — но с теми же сетевыми настройками?

Джастин [Justin]

O Способ есть, и реализуется он очень просто. Вам нужна обычная загрузка, но без менеджера дисплея. Ubuntu предоставляет такую возможность посредством запуска в текстовом режиме: во время старта компьютера нажмите клавишу Esc, чтобы попасть в меню загрузчика, затем E (edit) для редактирования его первого пункта, спуститесь вниз к строчке с ‘kernel’, снова нажмите E, введите слово text в конце строки, нажмите клавишу Enter и затем B (boot) для загрузки. Это доставит Вас прямиком в консоль.

Чтобы зафиксировать изменение, отредактируйте /boot/grub/menu.lst с правами root, удалите (или закомментируйте) опцию hiddenmenu, затем скопируйте и отредактируйте первый пункт меню, добавив опцию text и удалив quiet и splash. (Последний шаг необязателен, но при загрузке в консоль незачем прятать пугающие загрузочные сообщения.) Возможно, Вы также захотите изменить значение времени ожидания (timeout), чтобы иметь для выбора варианта загрузки больше трех секунд.

Это стандартный метод, но в Ubuntu используется автоматически обновляемый файл menu.lst: он берет закомментированную информацию и составляет пункты меню для всех ядер (экономя время на ручном редактировании после обновления ядра). Если Вам по душе автоматизированный подход, то сначала закомментируйте, как и раньше, опцию hiddenmenu, затем найдите раздел, описывающий altoptions, то есть опции, используемые при добавлении других пунктов загрузочного меню для каждого ядра. Сейчас там должна иметься только одна строка с altoptions:

# altoptions=(recovery mode) single

которая добавляет пункты меню для восстановления системы. Добавьте перед ней такую:

# altoptions=(text mode) text

В скобках находится название добавляемого пункта меню, остальное – опции, которые нужно использовать. Параметры quiet и splash находятся в разделе defoptions, они применяются только для пункта загрузочного меню по умолчанию. Сохраните изменения в menu.lst и запустите updategrub. Затем снова откройте menu.lst и найдите новый пункт с текстовым режимом, добавленный для каждого из Ваших ядер.

У этого метода есть один недостаток: он работает, поскольку стартовый сценарий GDM проверяет наличие опции text в параметрах загрузчика, и при ее обнаружении прекращает выполнение и не запускает X-сервер. А значит, Вы не сможете скомандовать

/etc/init.d/gdm start

если позже захотите загрузить графический рабочий стол. Вместо этого нужно будет запустить startx после консольной авторизации того пользователя, чей рабочий стол вам нужен. НБ

2 Linux на флэшке

В Я хотел бы узнать, можно ли использовать Knoppix 6 на USB-флэшке в виртуальной машине? Если да, то какой самый простой способ сделать это?

Армандо Альварадо [Armando Alvarado], Венесуэла

O Если Вы хотите работать с Knoppix в виртуальной машине, то его необязательно помещать на USB-флэшку, поскольку виртуальная машина будет загружаться либо с настоящего CD, либо с ISO-образа. Создать образ CD можно следующим способом:

cp -p /dev/cdrom knoppix.iso

При старте с ISO-образа Knoppix или любой другой Live-дистрибутив работает быстрее, чем при запуске с физического CD или DVD. Если Вы хотите сделать его мобильным, то ISO-образ можно записать на USB-флэшку.

Если смысл Вашего вопроса – как именно разместить виртуальную машину и Knoppix на флэшке, чтобы запускать их на машине с Windows без перезагрузки, то это возможно с помощью Portable VirtualBox, который можно раздобыть по адресу http://www.vbox.me. Скачайте файл, соответствующий Вашей системе – нам подошел Portable-VirtualBox_v3.0.2‑Starter_v3.1.0‑Win32.exe; скопируйте архив и ISO-образ Knoppix на флэшку и запустите EXE-файл на машине с Windows. Это самораспаковывающийся архив, создающий на флэшке папку Portable-VirtualBox. Запустите VirtualBox из этого каталога и создайте в нем новую виртуальную машину. Knoppix не входит в список дистрибутивов, известных VirtualBox, поэтому в качестве типа ОС для него укажите Debian. Создайте на флэшке загрузочный диск, следуя подсказкам, но не выбирайте размер 8 ГБ, поскольку он будет использоваться только для данных. Пройдите по ссылке CD/DVD-ROM только что созданной виртуальной машины, отметьте галочкой опцию Подключить [Mount] и укажите там ISO-образ файла, помещенного на флешку. Теперь стартуем машину – она загрузится с Вашего образа CD.

Выйдя из Portable VirtualBox, дайте некоторое время на выгрузку временно установленных драйверов и перед отключением флэшки подождите, пока не исчезнет сообщение ‘Exit Portable-VirtualBox’.

Ввиду нынешней дешевизны USB-флэшек большого объема можно разместить на одном брелке несколько Live-CD, а то и один-два Live-DVD, но не забудьте об ограничении в 4 ГБ файловой системы FAT – если Вы захотите загрузить полновесный образ DVD в Portable VirtualBox, придется переформатировать флэшку в NTFS, чтобы Windows смогла прочитать файлы образов с объемом больше 4 ГБ. Для чтения и записи на NTFS можно использовать драйвер NTFS-3G, который устанавливается по умолчанию в большинстве дистрибутивов Linux. НБ

3 Нелогические тома

В У меня сейчас Kubuntu Jaunty, но я попробовал на параллельной машине Fedora 11 с ваших дисков и собираюсь переходить на нее.

На пробной установке Fedora я сохранил старое форматирование в ext3, чтобы сохранить файлы в домашней директории, но мне хотелось бы иметь возможность создать LVM, оставив нетронутыми домашние каталоги, перенести их в новую LVM-установку Fedora и затем, когда старые домашние каталоги будут в сохранности, расширить LVM на старый раздел /home.

Хайвел Джонс [Hywel Jones], вопрос с форумов

O Такое возможно, но хлопотно, поскольку установщик Fedora выделяет под корневой раздел весь логический том целиком. Измените размер корневого раздела и логического тома (именно в этом порядке), затем создайте домашний том и разместите на нем файловую систему. Только затем можно будет скопировать содержимое уже существующего /home на новый логический том и перезагрузиться. Убедившись, что все работает, превращайте старый домашний раздел в новый логический том и добавляйте его в группу.

Поскольку здесь требуется изменение размера корневой файловой системы, Вы не сможете проделать это из загруженной Fedora 11: понадобится Live CD. Последовательность действий такая:

resize2fs /dev/vg_f11/lv_root 9G
lvresize -L 10G dev/vg_f11/lv_root
resize2fs /dev/vg_f11/lv_root
lvcreate -L 15G -n home vg_f11
mke2fs -j /dev/vg_f11/home
mount /dev/vg_f11/home /mnt/tmp
rsync -a /home/ /mnt/tmp/
#добавляем новый том home в /etc/fstab и перезагружаемся
pvcreate /dev/sdaX #это старый /home
vgextend vg00 /dev/sdaX

Первые три команды ужимают файловую систему на логическом томе до меньшего размера, чем предполагаемый размер логического тома (в нашем примере – 10 ГБ), сжимают том и затем расширяют файловую систему так, чтобы она заполнила его целиком (это более надежный способ, чем попытки выставить нужный размер с самого начала). После этого мы создаем новый логический том на 15 ГБ с именем home, файловую систему на нем и временно монтируем его куда-нибудь перед тем, как прибегнуть к rsync для копирования на него содержимого старого каталога /home.

После внесения изменений в /etc/fstab и перезагрузки, когда Вы убедитесь, что все нормально, последние шаги можно проделать уже из работающей F11, пометив старый домашний раздел как физический том для LVM и добавив его в группу томов F11.

Будь установщик Fedora достаточно умен для создания корневой файловой системы именно того размера, какой необходим (и не больше), нам не пришлось бы столько маяться, поскольку увеличение размера файловой системы логического тома – это простейшая задача, которая выполняется из собственной программы управления LVM в Fedora. ГМ

4 Незваные гости

В Мой широкополосный доступ в Интернет организован через беспроводной маршрутизатор Linksys. На моем настольном ПК, подключенном по кабелю, установлена Mandriva 2008.1. Остальные домашние машины — ноутбуки с беспроводным соединением. На одном из них стоит Windows XP, еще есть нетбук с PCLinuxOS, а мой внук работает в OS X на MacBook Pro.

На настольном ПК запущена Samba, чтобы гостевая Windows XP в VMware видела файфайлы Linux. Я попробовал запретить доступ к моему диску, установив права Not Shared, и думал, что это решит вопрос. Тем не менее мой внук может просматривать файлы, каким-то образом авторизуясь со своего MacBook как «гость».

Если у него это получается, значит, и кто-то другой сможет прорваться через настройки безопасности Wi-Fi. Скажите, я чего-то не понимаю в настройке разделяемых ресурсов? И как предотвратить нежелательный доступ?

Алан Секер [Alan Secker]

O Наиболее вероятное объяснение – в Вашем конфигурационном файле Samba стоит опция guest ok = yes (в разделе globals или конкретно для этого разделяемого ресурса). Эта настройка разрешает беспарольный гостевой вход и, как правило, дает ограниченный доступ. Гость авторизуется как особый Linux-пользователь – обычно он называется «nobody» – и имеет право только на чтение файлов, доступных «для остальных». Очевидно, что настройка guest ok = no запретит такое поведение, и для авторизации потребуются имя и пароль зарегистрированного пользователя.

Как вариант, можно запретить доступ отовсюду, кроме виртуальной машины VMware. Директива hosts allow принимает список IP-адресов или имен хостов. Указав ей IP-адрес гостевой ОС, мы заблокируем доступ отовсюду, кроме данного адреса. Это не отменяет правила «пользователь/пароль», и каждый, кто попытается зайти с этого адреса, все равно должен будет предоставить правильные реквизиты, а доступ с других компьютеров будет невозможен независимо от имен пользователей. Способ достичь этого для единственной виртуальной машины – назначить статический IP-адрес и указать его в списке hosts allow. Этот список может включать любое количество IP-адресов, диапазонов или имен хостов, разделенных пробелом. Например:

hosts allow = 192.168.0.5 192.168.1. Grunthos

Простейший способ настроить Samba в любом дистрибутиве – это воспользоваться Swat, встроенным инструментом с web-интерфейсом. Чтобы задействовать Swat, отметьте его в менеджере системных служб Вашего дистрибутива или отредактируйте /etc/xinetd.d/swat, установив значение no для опции disable. Затем направьте браузер на порт 901, то есть наберите в адресной строке http://localhost:901 на том же локальном компьютере. У Swat есть подробнейшая справка, описывающая каждую из опций настройки, так что это еще и очень полезное учебное пособие. НБ

5 Ubuntu снаружи

В Я вполне доволен Ubuntu Jaunty Jackalope DVD, который прилагался к LXF120, но хочу установить его не на внутренний жесткий диск, а на внешний диск Firefly. Как указать Ubuntu использовать при инсталляции именно его?

Джозеф Андерсон [Joseph I Anderson]

O До загрузки с CD подключите внешний диск, затем выполняйте установку как обычно, пока не дойдете до момента разбивки дисков. Выберите опцию «Использовать диск целиком» и укажите в списке, расположенном сразу под ней, свой внешний диск. Будьте внимательны, не то уничтожите все содержимое Вашего внутреннего диска. Внешний привод, скорее всего, будет обозначен как sdb, но проще всего будет различить диски по их указанному объему.

Достигнув страницы «Все готово к установке», нажмите кнопку «Дополнительно», чтобы выбрать, куда установить загрузчик. Обычно при установке на второй диск загрузчик ставится на первый, чтобы получить загрузочное меню с перечнем всех установленных систем. Но если это проделать с внешним диском и потом попробовать загрузиться, не подключив его, может произойти ошибка, поскольку загрузчик потребует файлы, находящиеся на внешнем диске. Избежать этого можно, установив загрузчик непосредственно на внешний привод. Загрузчик на внутреннем диске останется нетронутым, но отсюда следует, что при обычном старте Вы не сможете выбрать Ubuntu.

Тем не менее, у большинства BIOS есть опция выбора способа загрузки, поэтому прочтите инструкцию для Вашего компьютера или просмотрите сообщения, пробегающие по экрану на начальном этапе загрузки, чтобы узнать, какую клавишу нужно нажать для входа в меню (обычно это F12 или F5 или F11 или F8). Если проделать все таким образом, то компьютер будет вести себя как и раньше, без внешнего диска, но при необходимости Вы сможете загрузиться с внешнего диска с помощью загрузочного меню BIOS.

Вы не упомянули, какая система установлена на внутреннем диске, но если это только Windows, то вышеописанный способ является наилучшим. Если же у Вас на внутреннем диске уже установлены Linux и загрузчик Grub, то действуйте указанным способом и добавьте пункт для загрузки с внешнего диска в существующее меню. Загрузитесь в ранее установленный дистрибутив Linux и из-под root отредактируйте файл /boot/grub/menu.lst (в некоторых дистрибутивах нужно редактировать /boot/grub/grub.conf), добавив в конец строки

title Ubuntu
root (hd1,0)
chainloader +1

Строчка с root говорит, где именно установлен Ubuntu; отсчет в Grub идет с нуля, поэтому (hd1,0) – это первый раздел второго диска, или /dev/sdb1 в терминах Linux. Команда chainloader передает контроль загрузчику на данном разделе. Выбор этого пункта меню вызывает короткое загрузочное сообщение Ubuntu перед стартом самой системы. Попытка загрузиться без подключенного внешнего диска не вызовет проблем, если, конечно, вы не выберете пункт меню для загрузки Ubuntu! ПХ

6 Тайны tar-архива

В Я скачал файл с расширением .tar.gz и распаковал его содержимое в каталог на рабочем столе. Если можно, опишите самый простой способ, с помощью которого я теперь мог бы установить эти файлы.

Гилби [Gilbie], вопрос с форума

O Файл с расширением .tar.gz, часто называемый tar-архивом или «тарболом», представляет собой просто сжатый архив, наподобие файла в формате Zip. Его содержимым может быть что угодно, от исполняемых программ и исходного кода до рецептов приготовления карри. В мире Linux такие архивы чаще всего содержат исходные коды программ, хотя некоторые драйверы и проприетарные приложения тоже распространяются в таком виде. Заглянув в список разархивированных файлов, Вы наверняка найдете файлы с именами README или INSTALL – там-то и изложено все, что Вам нужно знать. В случае исходных кодов понадобится установить некоторый набор утилит, с помощью которых обычно собирают программы из исходных текстов. В некоторых дистрибутивах, например в Ubuntu, существуют отдельные пакеты, устанавливающие все необходимое для компиляции. В случае Ubuntu (и его близких родственников) этот пакет называется build-essentials. По умолчанию он не устанавливается, но его можно отыскать в менеджере пакетов Synaptic.

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

Существуют общие инструкции по установке, подходящие минимум для 90 % tar-архивов с исходными кодами, но тогда сам tar-архив их и содержит, и воспроизводить их здесь смысла нет, тем более что для Вашего случая они могут не пригодиться. Поэтому прочитайте инструкции, идущие в составе архива, а если это не поможет, просмотрите сайт, откуда Вы их скачали, или поищите помощи на форуме или в списках рассылки, посвященных этой программе. Но прежде чем все это затевать, поищите программу в менеджере пакетов Вашего дистрибутива! МС

7 Обновление с сюрпризом

В Я был совершенно счастлив с Kubuntu 8.04 LTS, но Adept уведомил меня, что доступны кое-какие обновления. Подумав: «желаю свежатины!», я нажал OK и дал ему волю. Отработав, Adept спросил, не хочу ли я обновиться до новой версии (как раз только что вышел Jaunty Jackalope), и я терпеливо дождался конца закачки пакетов и установил их. Однако после перезагрузки радоваться оказалось нечему. Я знал, конечно, что обновление версии изменит часть моих настроек, но что большинство установленных мной программ вообще перестали запускаться или работать, меня в восторг не привело — уж извините за иронию.

Должен ли я переустановить Intrepid Ibex и больше ни о чем не беспокоиться, или мне обновиться и попробовать исправить все, что было сломано? Если я сделаю откат, будет ли безопасно использовать старую версию?

Эоин Уолш [Eoin Walsh]

O Считается, что менеджер обновлений Ubuntu вполне безопасен в плане обновления дистрибутива до следующей версии, но Jaunty Jackalope имеет номер версии 9.04, то есть после 8.04 прошло целых два релиза. Если Вы решили чинить систему, сперва определите, почему «падают» программы. Попробуйте запустить их из терминала вместо графического меню – просто наберите имя приложения. Скорее всего, программы по-прежнему будут падать, но в консоли Вы получите информацию, которая укажет на причину ошибки. Вероятнее всего, сообщения почти от всех рухнувших программ будут одинаковы, что даст нам общую причину проблемы и натолкнет на ее решение. В Kubuntu 8.04 по умолчанию устанавливается KDE 3.5, а в 9.04 идет KDE 4.2, так что это просто может быть отказ программ работать с новым KDE.

Можно попробовать создать нового пользователя – не забудьте включить его в группу администраторов – и запустить программу от его имени. Если это сработает, то проблема в Ваших настройках, возможно, в каталоге ~/.kde4, влияющем на огромное количество программ. Переименуйте его, чтобы заставить KDE заново создать базовые настройки для существующего пользователя.

Если у Вас нет на это времени, создайте резервную копию Вашего домашнего каталога и установите Jaunty Jackalope с нуля. С помощью K3b можно сделать резервную копию на DVD или, если у Вас есть внешний жесткий диск, можно просто скопировать каталог целиком, отключить внешний диск и затем установить Jaunty. Когда новая система заработает, скопируйте нужные данные назад. Не поддавайтесь искушению вернуть весь домашний каталог скопом: если проблема крылась в пользовательских настройках, то Вы вернете и ее.

Функция обновления дистрибутива целиком обычно срабатывает гладко, и это одно из главных преимуществ Debian-производных дистрибутивов перед системами на базе RPM, но производить обновление нужно пошагово. Когда Jaunty Jackalope у Вас заработает, вскорости выйдет Karmic Koala, обновление до которого не должно стать проблемой. Как всегда при обновлении системы, советы сделать вначале резервную копию данных и настроек даются чаще, чем им следуют. НБ

8 Прячем Linux

В Я ваш подписчик уже года два, и всегда нахожу в журнале что-то интересное для себя. Мне больше не нужна XP в качестве основной ОС, но другие пользователи компьютера будут в шоке, если не обнаружат там Windows. Нет ли способа установить VMware Player с Linux так, чтобы после включения компьютера в нем запускался XP и никто бы не почувствовал разницы?

Элиас Иберия [Elias Iberia]

O Это можно сделать и с VirtualBox, и с VMware Workstation, но возможности VMware Player более ограниченны, особенно по части создания виртуальных машин. Поскольку VirtualBox так же бесплатен, как и VMware Player, в смысле «бесплатного пива» и еще более свободен «как слово» (хотя и не является полностью открытым ПО), это более приемлемая отправная точка – и с практической, и с философской точки зрения. Чтобы получить желаемое с помощью VirtualBox, создайте сначала обычную виртуальную машину и убедитесь, что все работает как надо; затем проверьте, запускается ли она из консоли, при помощи такой команды:

VBoxSDL -fullscreen -vm “VM имя”

«VM имя» – это название машины из списка в графическом интерфейсе VirtualBox; путь указывать не нужно. Таким образом Вы можете запускать в виртуальной машине Windows, а после завершения работы система вернет Вас в консоль. Теперь настроим автоматический старт программы сразу после авторизации пользователя.

Сперва создадим нового пользователя, если Вы еще этого не сделали, из меню Система > Администрирование > Пользователи и группы [System > Administration > Users And Groups]. Поскольку мы запускаем виртуальную машину в полноэкранном режиме, нам не нужно ничего в фоне, кроме самого минимального оконного менеджера, иначе какой-нибудь увесистый Gnome съест всю память, так необходимую Windows. Я бы предложил Evilwm, установить который можно через Synaptic.

Теперь в домашнем каталоге пользователя создадим файл .xsession с таким содержимым:

#!/usr/bin/env bash

/usr/bin/evilwm &

sleep 3
exec VBoxSDL -fullscreen -vm “VM имя”

Завершите свою сессию и введите в GDM имя другого пользователя. Прежде чем набирать пароль, щелкните по меню сессий в левом нижнем углу. Выберите там пункт «Выполнить скрипт Xclient» [Xclient Script] и по появившемуся запросу щелкните по кнопке «Установить по умолчанию» [Make Default]. Теперь при каждом входе этого пользователя в систему будет запускаться файл .xsession, стартуя VirtualBox в полноэкранном режиме как если бы пользователь запустил Windows. После выключения Windows, VBoxSDL и файл .xsession будут заканчивать работу, и система возвратит Вас в экран входа GDM. Задержка sleep может не понадобиться на Вашей машине – она дает оконному менеджеру время на запуск, так что этот промежуток можно сократить или вообще убрать. МС

9 Ой-ёй-ёй!

В Признаюсь, я совершил большой промах. У меня появились проблемы c Ubuntu, и я решил переустановить систему (у меня еще установлена XP). На беду, во время установки я, видимо, нажал не на ту кнопку (сильно устал) и развернул новый Ubuntu на весь диск размером в 500 ГБ. Теперь мне нужно восстановить файлы, поскольку там была очень важная университетская работа. Диск был разбит на раздел для Ubuntu (96 ГБ), XP на 160 ГБ, еще один раздел для хранения данных (он самый важный) и два других раздела.

Marcanator, вопрос с форума

O Из этого случая можно вынести пару полезных уроков. Первый – Linux не похож на Windows: лучший способ разобраться с проблемой – решить ее, а не сносить все с диска в надежде, что она исчезнет сама.

Второй урок: все, что представляет хоть какую-то ценность для Вас, должно сохраняться в резервной копии. Даже простых CD/DVD или флэшки было бы достаточно, чтобы почувствовать себя увереннее. Удаленное хранилище, например, Amazon S3 (http://aws.amazon.com/s3) стоит копейки, а душевный покой – бесценен.

Главное для Вас сейчас – перестать работать с этим диском. Ничего больше на него не записывайте! Если повезет, то область диска, содержащая Ваш раздел с данными, особенно его начало, останется нетронутой. Вам нужна утилита под названием TestDisk, которая найдет начало удаленного раздела и позволит восстановить его в таблице разделов, а Вы потом сможете смонтировать его и прочитать. Утилита входит в состав большинства LiveCD, но вместо обычных Live-дистрибутивов общего назначения лучше взять System Rescue CD (http://www.sysresccd.org) или GRML (http://grml.org).

TestDisk – консольная программа, и это очень хорошо, поскольку все восстановительные Live-диски загружаются прямо в командную строку. Запустите testdisk, выберите опцию для создания нового файла журнала, и программа просканирует Ваш диск на наличие признаков раздела(ов). Если потерянные разделы обнаружатся, программе можно велеть записать новую таблицу разделов. Тогда Вы сможете смонтировать эти разделы (после записи таблицы нужно будет перезагрузиться). Это может привести диск в некорректное состояние, поэтому скопируйте нужные данные, а затем переустановите систему заново, отформатировав диск целиком. Если хотите сохранить и Windows, и Ubuntu, поставьте сначала Windows. НБ

10 Переплетаем книжку

В У меня Mandriva 2008. Я отсканировал книгу программой SX SCANE и получил на выходе множество PDF-файлов. Как собрать их в один PDF-документ? Я читал о том, что поможет программа PDF Creator, но поиск в Google выводит только на одноименное Windows-приложение. Подскажите, пожалуйста, может быть, есть какие-то другие варианты?

Алексей Дьяконов

O Вам поможет программа pdftk (http://www.accesspdf.com/pdftk/), созданная Сидом Стюардом [Sid Steward], автором книги «Взломы PDF. 100 профессиональных советов и инструментов» (в оригинале: «PDF Hacks: 100 Industrial-Strength Tips & Tools»), выпущенной издательствами O’Reilly Media/Эком. Аннотация на сайте pdftk гласит: «Если PDF – электронная бумага, то pdftk – электронный удалитель скрепок, дырокол, переплетчик...». Вам нужен последний, и чтобы склеить несколько PDF в один, достаточно дать команду:

pdftk page1.pdf page2.pdf output mybook.pdf

или просто

pdftk *.pdf cat output mybook.pdf

если Вам надо объединить все файлы в текущем каталоге.

Кроме того, если Вы используете KDE, для pdftk доступно расширение для Konqueror. Скачайте файл http://www.accesspdf.com/pdftk/service_menus/pdftk.desktop, скопируйте в ~/.kde/share/apps/konqueror/servicemenus, затем выделите нужные файлы в Konq, щелкните правой кнопкой мыши и выберите Merge [Слить].

Вы можете найти pdftk в репозиториях Mandriva Linux. Кстати, мы сами используем эту программу при обработке PDF нашего журнала. ВС

11 Torrent удаленно

В Хочу запустить на своем домашнем сервере, управляемом FreeBSD, полноценный (web-интерфейсы мне не нравятся) клиент BitTorrent — KTorrent и Jabber — Psi. Управлять ими думаю удаленно, через SSH:

ssh -X ojiu4@адрес.сервера

Это возможно? Нужно ли будет установить на стороне сервера X Window System, KDE, Gnome?

Ojiu4, Арзамас

O Да, предложенный вами способ будет работать. -X означает X-проброс (X Forwarding); при этом соединение с X-сервером, открываемое программой на удаленной машине, автоматически передается на X-сервер, запущенный на локальном компьютере. Естественно, X.Org (или аналогичное ПО) должно выполняться на каждой из сторон. Если на вашем ПК стоит Windows, это не очень удобно, и Вы можете воспользоваться каким-нибудь инструментом для удаленного доступа к рабочему столу, скажем, TightVNC (http://www.tightvnc.com). Помимо X (и, при необходимости, vncserver), на FreeBSD потребуется также установить библиотеки, от которых зависят KTorrent и Psi (то есть kdelibs и Qt); сам рабочий стол не обязателен.

Однако вопрос в другом: зачем использовать настольный KTorrent на сервере? Пусть вам не нравятся web-интерфейсы, они – не единственный вариант. Например, возьмите Deluge (http://dev.deluge-torrent.org/) – он имеет клиент-серверную архитектуру, и можно запустить демон deluged на Вашем сервере, а обращаться к нему через графический GTK-интерфейс, доступный для многих платформ. Web-клиент в нем тоже есть – попробуйте: может, он не так уж и плох?

Сказать по правде, я не вижу особых причин держать на сервере клиент Jabber, но если Вы почему- либо хотите сделать именно так (и вас не устраивают консольные и web-клиенты), то X-проброс или VNC, пожалуй, единственный выход. ВС

12 Синхронное плавание

В У меня два компьютера, ноутбук и настольный, оба с Linux. И хотелось бы как-то синхронизировать их домашние каталоги, чтобы иметь свежие версии важных файлов на обеих системах. Кроме того, у настольной машины гораздо больший объем жесткого диска, и не все поместится в домашний каталог на ноутбуке, поэтому мне нужна возможность исключить некоторые каталоги из процесса синхронизации. Что бы вы порекомендовали – rsync?

Роджер Кеймерон [Roger Cameron]

O Самая подходящая для Вас программа – Unison (http://www.cis.upenn.edu/~bcpierce/unison). Это двунаправленный инструмент, то есть если Вы изменили файл foo.txt на компьютере А и файл bar.png на компьютере Б, оба они будут скопированы в правильных направлениях. Если один и тот же файл будет изменен на обоих компьютерах, программа узнает об этом (ведутся журналы, отражающие, что и когда было синхронизировано) и уточнит, какую из версий нужно скопировать.

При первом запуске Unison спросит, какие каталоги Вы хотите синхронизировать. Первым каталогом должен быть локальный, вторым может быть каталог на удаленном хосте, с подключением по SSH. Поскольку Вы хотите синхронизировать домашние директории, оставьте незаполненными поля для ввода их названий и укажите только имя хоста во втором поле для ввода. Во время первого запуска для сканирования обоих каталогов понадобится некоторое время, затем можно будет выбрать, какие каталоги и файлы игнорировать, и все это запишется в профиль по умолчанию.

Настройки для каталогов, хостов и любых путей, которые Вы хотите исключить из процесса синхронизации, сохраняются в профиле по умолчанию в каталоге ~/.unison. Ознакомьтесь с его форматом, если хотите создать другие профили. Можно явно велеть Unison использовать конкретный профиль, указав его название в аргументе, или выбрать нужный в графическом диалоговом окне.

Unison также может работать в консоли. Это поведение по умолчанию, когда программа запускается не из графического терминала, но его можно форсировать с помощью опции -ui text. Этим можно воспользоваться для поддержания Ваших компьютеров в синхронизированном состоянии, храня на каждом из них резервную копию данных с другого.

Для связи между компьютерами Unison использует SSH, и каждый раз, когда Вы захотите выполнить синхронизацию, у Вас запросят пароль пользователя на другом компьютере. Если Вам хотелось бы избежать этого, особенно если надо запускать Unison автоматически, настройте SSH-ключи. Запустите ssh-keygen на каждом компьютере – ответы по умолчанию на каждый из вопросов вполне подойдут, но не задавайте ключу парольную фразу. В результате в каталоге ~/.ssh создадутся два файла с именами id_dsa и id_dsa.pub (названия будут немного отличаться, если Вы предпочтете RSA-ключи). Теперь на каждом компьютере запустим:

ssh другой_компьютер cat .ssh/id_dsa.pub >>~/.ssh/authorized_keys 

Это помещает содержимое публичного SSH-ключа другого компьютера в authorized_keys на Вашей машине, а пользователь на другом компьютере сможет установить SSH-соединение, при условии, что у него есть правильные файлы ключей.

Шаг за шагом: Синхронизируем две машины в Unison

Шаг 1

  • 1 Рейс в один конец
Хотя для программы rsync существуют графические интерфейсы, например, Grsync, это приложение работает только «в одни ворота», и годится тогда, когда изменения происходят только на одной стороне.

Шаг 2

  • 2 Выберите пути
При первом запуске Unison спросит о путях источника и назначения. В случае с домашними каталогами эти поля заполнять не нужно.

Шаг 3

  • 3 Требуется время
Unison производит начальное сканирование домашних каталогов, что займет довольно много времени при первом запуске, но в дальнейшем все будет происходить быстрее.

Шаг 4

  • 4 Помогите советом
Во время первого сканирования программа будет задавать вопросы по поводу того, какую версию файла вам хотелось бы сохранить, так что решать вам.

Шаг 5

  • 5 Помощь онлайн
Вместо привычных man-страниц или пособий в формате HTML, в Unison встроена справка по ряду вопросов, а также очень полезное руководство пользователя.

Шаг 6

  • 6 Подробные профили
Сэкономьте время, настроив профиль, где указаны только те каталоги, которые вы хотите синхронизировать.

Коротко про... Псевдонимы оболочки

Автодополнение может сэкономить время при наборе команд или имен файлов, но нам все равно необходимо помнить правильные флаги или же искать их в man-страницах. При постоянном использовании команды с одними и теми же аргументами не проще ли настроить их сразу по умолчанию? Или еще лучше: как насчет различных команд, запускающих одну и ту же программу, но с разными аргументами? Все это, и более того, реализуется с помощью псевдонимов (алиасов) оболочки.

Возможно, по умолчанию у Вас уже настроены некоторые псевдонимы. Введите ll (две L в нижнем регистре), и, возможно, увидите листинг файлов в подробном формате, с указанием их размеров, датами и владельцами, потому что во многих дистрибутивах ll является псевдонимом для ls -l. Чтобы узнать все настроенные псевдонимы, ведите команду alias без аргументов.

Для создания псевдонима, наберите:

alias la=«ls -lhA -- color=auto»

Теперь, после ввода la («list all», «показать все») в текущей оболочке, выведется список с подсветкой, подробной информацией и скрытыми файлами. Введенный псевдоним перед выполнением заменяется строкой с его значением; однако если запустить новый сеанс оболочки, его там не будет – для каждой новой оболочки нужно вводить alias заново. Казалось бы, здесь работы еще больше, чем при запоминании команд, но все можно автоматизировать, потому что при каждом запуске оболочки считываются некоторые конфигурационные файлы. Общесистемные настройки хранятся в файле /etc/profile – в нем, как правило, настраиваются псевдонимы по умолчанию в большинстве дистрибутивов. Отдельные пользователи могут настраивать собственные алиасы в конфигурационном файле оболочки. Для Bash это файлы ~/.bashrc или ~/.bash_profile. Первый работает в случае запуска интерактивной оболочки, например, окна Konsole или Xterm, а второй – если Bash выполняется в качестве «входной» оболочки (login shell). Как правило, пользовательские псевдонимы прописываются в ~/.bashrc.

Алиас может выполнять более одной команды, например:

alias foobar=«foo --foo-opts; bar --bar-opts»

таким образом можно автоматизировать простые последовательности команд, не прибегая к скриптописанию.

Часто задаваемые вопросы: Доступ к файловой системе Windows

  • Могу ли я смонтировать мои диски с Windows в Linux?
    Да, легко. Поддержка старых файловых систем FAT и VFAT MS-DOS существует уже многие годы, и большинство установщиков обнаружат и автоматически настроят ваши разделы с FAT и VFAT. Смонтировать их можно вручную, вот так:
  mount -t vfat /dev/hda1 /mnt/windows
  • А что с NTFS, используемой в Windows XP?
    До недавнего времени поддержка NTFS была неполной: большинство дистрибутивов в лучшем случае предоставляли доступ только для чтения. В ядре Linux возможность записи на нее все еще отмечена как экспериментальная и часто бывает отключена, но зато теперь существует драйвер FUSE под названием NTFS-3G, и он предоставляет полноценный доступ на чтение/запись к файловой системе NTFS; информацию про него можно получить по адресу http://www.ntfs-3g.org. Драйверы FUSE работают иначе, чем драйверы ядра, поэтому монтируется раздел вот так:
  ntfs-3g /dev/hda1 /mnt/windows
а отмонтируется так:
  fusermount -u /dev/hda1
  • Я добавил раздел Windows в /etc/fstab, но почему писать туда может только root?
    В файловой системе FAT нет понятия «владельца файла», и все файлы и каталоги принадлежат пользователю, который смонтировал их; если раздел подключается во время загрузки, то владельцем будет root. Изменить это можно с помощью опции uid в соответствующей строке /etc/fstab, но тогда доступ будет у одного-единственного пользователя. Как вариант, можно изменить настройку umask, контролирующую права доступа для каждого файла. Следующая строка в /etc/fstab делает доступ на запись в файлы глобальным и делает их владельцем пользователя fred, состоящего в группе users:
  /dev/hda1 /mnt/windows vfat umask=000,uid=fred,gid=users 0 0
  • В чем различие между FAT, VFAT и FAT32?
    FAT изначально использовалась в MS-DOS, а VFAT – это расширение Windows 95 для FAT, для поддержки длинных имен файлов. FAT32 – следующее расширения для поддержки дисков с большими объемами. На разделах больших дисков почти всегда используется FAT32, а на флэш-устройствах, типа USB-брелков, карт памяти и цифровых камер, как правило, используется FAT16.
  • А есть ли доступ к файловым системам Linux из-под Windows?
    Для некоторых файловых систем Linux это возможно. Драйвер для ext2/3, монтирующий ext2 как диск с отдельной буквой, доступен по адресу http://www.fs-driver.org. Он не полностью поддерживает права доступа, поскольку система Windows ничего не знает о ваших Linux-пользователях. Новые файлы наследуют владельцев у родительских каталогов, поэтому особых проблем возникнуть не должно.
Для доступа к разделам ReiserFS из-под Windows есть rfstool (http://p-nand-q.com/download/rfstool.html)
Персональные инструменты
купить
подписаться
Яндекс.Метрика