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

LXF84:Ответы

Материал из Linuxformat
Перейти к: навигация, поиск
Есть вопрос по Open Source? Пишите нам по адресу: answers@linuxformat.ru

Содержание

Ответы

Без паники...

В Я установил игру Pipepanic с DVD к LinuxFormat [HotPicks, LXF82] в свою домашнюю директорию и запускаю ее, набрав ./pipepanic в консоли:

cd Pipepanic-0.1.3-source
./Pipepanic

Но не могу добавить соответствующий пункт в меню KDE, поправив меню в Центре Управления KDE: не знаю, что набирать в поле команды. Если я помещаю туда /home/marrea/pipepanic-0.1.3-source/pipepanic, а затем выхожу и щелкаю на добавившемся пункте меню Pipepanic, то вижу лишь кувыркание песочных часов и кнопку на панели задач. Секунд через 30 все исчезает. Это потому, что я установил Pipepanic в свою домашнюю директорию? Marrea, с форума LXF

О Дело вот в чем: запуская игру из меню KDE, Вы находитесь не в директории Pipepanic. Программа должна запускаться из своей директории, чтобы найти нужные ей файлы. Это можно исправить, добавив /home/marrea/Pipepanic-0.1.3-source/ в поле рабочего каталога в редакторе меню KDE – по сути, добавив команду смены каталога перед запуском, которую вы выполняете в консоли. Возможно, также понадобится указать полный путь к файлу. Самый безопасный способ убедиться, что все правильно – воспользоваться диалогами выбора файлов, вызываемых по щелчку на пиктограммах справа от соответствующих полей. Если вы установите опцию запуска в терминале, вы увидите весь вывод программы и, возможно, поймете, в чем проблема. Именно так я узнал, что игре не удалось найти файл. В конец запускаемой команды добавьте что-нибудь вроде ; sleep 5, чтобы окно терминала оставалось открытым еще пять секунд после завершения программы:

/home/marrea/Pipepanic-0.1.3-source/Pipepanic; sleep 5

НБ

Скрупулезный скрипт

В Попытался написать скрипт для резервирования важных данных из домашней директории на USB-диск с помощью rsync, и теперь нахожусь в затруднении: озадачили опции --exclude-from и особенно --include-from. У меня Ubuntu 6.06 и rsync 2.6.6.

Вот приблизительно то, что мне нужно. Во-первых, скопировать нескрытые файлы и директории (включая вложенные), находящиеся в домашнем каталоге /home/dcoldric; исключение – /home/dcoldric/MyDownloads, где поддиректории копировать не надо, только обычные файлы. Еще одно исключение – не хочу резервировать кое-какие нескрытые каталоги, вроде /home/dcoldric/cxoffice.

Все скрытые файлы и директории должны быть проигнорированы, кроме нескольких. Например, я хочу сохранить /home/dcoldric/.netbeans со всеми поддиректориями, а также .bashrc и .bash_aliases. И, наконец, я бы хотел, чтобы структура директорий каталога резервных копий была такой же, как и в моем домашнем каталоге (не считая, конечно, игнорируемых директорий).

Я перепробовал все, что пришло в голову, но безрезультатно. Мой последний вариант выглядел так:

rsync -a --delete --safe-links --exclude-from=/home/dcoldric/bin/backupExcludes /home/dcoldric/ 
/media/USB/backup/dcoldric

– при следующем содержимом файла backupExcludes:

- /*
+ /dcoldric/
+ /dcoldric/.Creator/
+ /dcoldric/.java/
+ /dcoldric/.mozilla/
+ /dcoldric/.mozilla-thunderbird/
+ /dcoldric/.netbeans/
+ /dcoldric/.bashrc
+ /dcoldric/.bash_aliases
+ /dcoldric/MyDownloads/
- /dcoldric/MyDownloads/*/
- /dcoldric/.*
- /dcoldric/cxoffice
- /dcoldric/jdk*
- /dcoldric/sun
-/dcoldric/SUNW*

Однако ничего не работает.

Дэвид Колдрик [David Coldrick]

О Команда rsync по умолчанию копирует все, а опция --exclude задает то, что нужно пропустить. Проще думать, что --include – это --do-not-exclude. Указываемый параметр-файл --exclude-from – фактически файл фильтра. Фильтрация предоставляет контроль, но не имеет варианта --filter-from. Вот более корректный способ использовать фильтр:

--filter=”merge myfilterfile”

Ваш текущий фильтр не работает, поскольку начинается с -/*, то есть с указания игнорировать все. Вы говорите, что ничего не происходит – и Вы правы, но программа тоже права, поскольку делает то, что ей велено. Так как начинает она с первого вхождения, то перенесите -/* в конец. Когда фильтр начинается с /, он считает от указанного исходного пути (в данном случае получается ~/dcoldric), так что удалите /dcoldric из начала каждой строки, иначе rsync припишет это лишний раз и будет искать /home/dcoldric/dcoldric/.mozilla и так далее. Хотя это не относится к Вашему текущему фильтру, следует знать, что

+ /foo/bar/
- /*

ничего не найдет, поскольку /* исключит все каталоги из исходной директории и foo не будет проверяться никогда, значит, /foo/bar не будет найден. Вы должны явно указать сканирование foo:

+ /foo/
+ /foo/bar/
- /foo/*
- /*
+ /.netbeans/
+ /.bashrc
+ /.bash_aliases
- /MyDownloads/*/
- /.*
- /cxoffice
- /jdk*

Вызывается он такой командой:

rsync -a --delete --safe-links --filter=”merge ~dcoldric/bin/backupFilter” 
~dcoldric/ /media/USB/backup/dcoldric/

Обратите внимание на завершающий каталог назначения /, он может повлиять на результат. НБ

Которая Fedora?

В Я купил Fedora Core 4 и специальный выпуск LinuxFormat в 2005 году, и теперь хочу установить Fedora на VMWare (под WindowsXP). В VMWare есть несколько альтернатив для Red Hat, например, Red Hat Linux и Red Hat Enterprise Linux 2,3 и 4.

Я подозреваю, что могу отбросить чистый Red Hat Linux, но какой из других вариантов подойдет для моей версии Fedora? По идее, это важно, поскольку VMWare Tools очень улучшают работу видеокарты и мыши в гостевой ОС. Но во всех дистрибутивах, которые я пробовал, этого не произошло, и я не могу найти нужной информации в журнале.

Иэн Стенд [Ian Stand]

О Почти любой дистрибутив Linux, который я пробовал устанавливать в VMWare (а я пробовал много), инсталлировался нормально, даже если не был указан в списке. В большинстве случаев я выбирал Other Linux 2.6.x kernel, но для Fedora Core я выбрал «чистый» Red Hat Linux. Установка VMWare Tools описана на стр. 142 руководства по VMWare Workstation (его можно скачать с http://www.VMWare.com/support/pubs/ws_pubs.html) и пройдет без проблем, если следовать инструкции:

  1. Удалите все смонтированные CD/DVD-диски.
  2. Выберите VM > Install VMWare Tools из меню VMWare.
  3. Откройте CD-ROM в гостевой ОС.
  4. Дважды щелкните по RPM-файлу VMWare-Tools.
  5. Введите пароль root.
  6. Запустите VMWare-config-Tools.pl в консоли от имени root.

Для финального шага Вам может понадобиться установленный GCC, если потребуется сборка модуля для Вашего ядра. Это произойдет, если установщик не найдет уже готового модуля, как, например, для Fedora Core 5. НБ

Apache защищается

В Я недавно завел web-сервер на Apache для обслуживания нескольких сайтов. Можете ли вы мне дать несколько советов по укреплению его безопасности?

С.Монро [S. Monroe]

О Кроме защиты самих страниц с помощью HTTP-аутентификации или SSL, где только можно, кое-что надо сделать в файле http.conf, так как настройки по умолчанию могут помочь атакующему, предоставив ему некоторую специфическую информацию. Во-первых, убедитесь, что установили директорию ServerTokens в Prod. По умолчанию, этот параметр будет отображать номер Вашей версии Apache, состав используемых модулей и даже ОС. Хотя в пределах своей вотчины тут скрывать нечего, Вы вряд ли захотите сообщать такие данные посторонним лицам [эта рекомендация затруднит получение информации об ОС, но не сделает ее полностью невозможной, – прим. ред.].

Чтобы посмотреть, что именно показывает Ваш сервер, выполните

curl -I http://yourwebserver

Также убедитесь, что ServerSignature установлена в email – это предотвратит «засветку» номеа версии на страницах ошибок Apache. Хотите ли Вы предоставить Вашим пользователям собственные web-папки? Нет? Тогда отключите модуль userdir. Если Вы не используете CGI, удалите псевдоним cgi-bin из файла конфигурации.

Еще одна опасная штука – руководство по Apache, которое в некоторых сборках установлено как страница по умолчанию. Убедитесь, что у вас запрещены листинги каталогов, установив –Indexes в секции Options директив <Directory>. Если у Вас работает PHP, убедитесь, что директива expose_php в php.ini отключена (Off).

Если другие люди публикуют информацию на Вашем web-сервере, лучше позаботиться, чтобы они не могли менять настройки сервера через .htaccess. Для этого в пределах корневой директивы <Directory> установите параметр AllowOverride в None, AuthConfig или другое ограниченное значение, но ни в коем случае не All. КК

Терминал последовательно

В: Я поддерживаю некоторое древнее производственное оборудование, и у меня есть несколько тестовых программ, я написал их много лет назад на QuickBasic. Мониторинг результатов теста производит HyperTerminal, настроенный на эмуляцию DEC VT100 на COM1 (9600 бод). Еще я использую анализатор Thurlby LA160 и осциллограф Velleman. Все это работает под Windows.

Не расскажете ли вы, как получить такой же VT100 на Linux? Нужно ли мне изучить Wine для запуска Thurbly и Velleman под Linux? И что будет с моими QuickBasic-программами (откомпилированными)? У меня сейчас установлены Windows ME и SUSE 10.0.

Алан Киббл [Alan Kibble]

О Последовательные порты в Linux обозначаются, начиная с /dev/ttyS0, который соответствует COM1. Возможно, у Вас даже настроена ссылка с /dev/modem на /dev/ttyS0. Вместо HyperTerminal обычно используют Minicom, доступный для множества дистрибутивов, включая SUSE 10.0. Minicom имеет режим эмуляции VT100, как раз он Вам и нужен. Пакет SUSE не имеет глобальных настроек, так что после установки надо сперва запустить

minicom -s

от имени суперпользователя. Чтобы иметь право записи в последовательные устройства, Вы также должны входить в группу UUCP; можно это настроить в Yast > Security And Users > User Management, но изменения войдут в силу только после перезапуска KDE.

Для запуска любого проприетарного ПО Вам, скорее всего, потребуется Wine, и вместо COM1 для доступа к оборудованию будет использоваться /dev/ttyS0. Ваше ПО на QuickBasic тоже заработает под Wine, но в долгосрочной перспективе будет лучше портировать его на что-нибудь вроде Gambas (Linux-эквивалент Visual Basic) или какой-либо кросс-платформенный язык типа Python. НБ

Захват пространства

В Мне нужно добавить пространства подкачки в мою Linux-систему, но неразмеченного места на диске больше нет. Что тут можно сделать?

И. Уоллис [I Wallis]

О GNU/Linux значительно превосходит другие ОС гибкостью, в том числе и по части управления памятью. Во-первых, определите, какого размера файл подкачки Вам нужен – допустим, надо добавить гигабайт. Далее выберите раздел, где достаточно свободного места. На моей машине, например, в /opt-разделе размером 4 ГБ занято только 1,5 ГБ.

Теперь настало время создать файл, который будет использоваться для подкачки. Для этого вам нужна команда dd, среди ее аргументов – размер блока и их количество. Для создания гигабайтного файла используйте такую команду:

dd if=/dev/zero of=/opt/swapfile bs=1G count=1

Эта команда создаст файл размером в 1 ГБ и запишет его в /opt/swapspace. Параметр if указывает источ- ник записи, of – файл назначения. Отформатируйте этот файл:

mkswap /opt/swapfile

После этого можете активировать его следующей командой:

swapon /opt/swapfile

Активные источники подкачки вы можете увидеть, выполнив команду cat /proc/swaps или free. Чтобы подкачка подключалась при загрузке системы автоматически, добавьте в /etc/fstab соответствующую строку:

/opt/swap swap defaults 0 0

КК

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