LXF82:Ответы

Материал из Linuxformat.

Перейти к: навигация, поиск

Если вы завязли в какой-то проблеме и чтение HOWTO не помогает, почему бы не написать нам? Наши эксперты помогут разобраться даже в самых сложных проблемах.

Содержание

NFS и Mepis

НАШИ ЭКСПЕРТЫ

Владея Интернет- провайдером, а заодно подрабатывая редактором дисков для LXF, Нейл Ботвик скромно зовет себя мастером на все руки.

Брэндон Калигари (Brendon Caligari) больше десяти лет работает с Linux, он администратор работающей системы в фирме Rackspace Managed Hosting.

Александр К. – сторонник Unix-way. Молодой, но перспективный член дружной команды экспертов.

Валентин Синицын Поддерживает проект Slackware Reiser4, интересуется настольными Linux-технологиями и рад помочь Вам разобраться с ними.

Вопрос: Мне понравилась версия Mepis из LXF79, с ней у меня даже впервые нормально заработал Skype под Linux. Однако, к моему разочарованию, не нашлось NFS, и я не могу пользоваться своей Linux-сетью. Сайт Mepis не помог, у других те же проблемы. Пришлось вернуться на Kubuntu, который довольно похож и всё хорошо делает (хотя, к сожалению, Midnight Commander недоступен в обеих системах). Можете ли вы дать мне инструкции, как заставить работать NFS в Mepis?

Ответ: Хотя в ядре Mepis включена поддержка NFS, в самом дистрибутиве нет Portmap, который нужен для монтирования NFS-разделов. Запустите Synaptic, перейдите в Настройки > Репозитарии (Settings > Repositories) и отметьте первый репо-зитарий, Debian. Щелкните по кнопке «Получить сведения» (Reload), чтобы обновить списки пакетов, а затем, воспользовавшись кнопкой Искать (Search), найдите и установите Portmap. Вам также нужно проверить, что сервис Portmap запущен, когда Вы загружаетесь – установка должна об этом позаботиться.

Теперь Вы можете смонтировать NFS-ресурс с помощью стандартной команды: mount -t nfs hostname:/exported/dir/mnt/somewhere Если Вы пытались смонтировать ресурс в этой же сессии, и у Вас ничего не вышло, может быть, надо просто перезагрузиться. NFS иногда капризничает.

Midnight Commander станет доступен для Mepis, когда Вы активируете репози-торий Debian, необходимый для установки Portmap. Вы найдете его, пошарив в Synaptic. Пакет называется mc.

В незнании – благо

Вопрос: В нашей интранет-сети около полутора тысячи компьютеров под Windows 2000 с доступом к нашему web-серверу под Debian Sarge и Apache 2.0.54. Похоже, на некоторых из них запущен сервис WebDav, подключающийся к интранет-серверу и забивающий информацией мои журналы. Есть ли способ заставить Apache просто не знать о запросах, сделанных этим сервисом? Его user-agent–'Microsoft-WebDAV-MiniRedir/5.1.2600'.

Дланни, с форума LXF [Dlunny]

Ответ: Вы можете блокировать (или разрешить) запросы с определенных агентов с помощью комбинации из директив SetEnvIf и Deny (или Allow), которые можно включить в секцию <Directory> конфигурационных файлов httpd.conf или .htaccess. Так как Вы хотите блокировать все запросы с этого агента, я бы посоветовал добавлять директивы в секцию <Directory> каталога DocumentRoot. Директивы для блокирования выглядят так:

SetEnvIf User-Agent Microsoft-WebDAV-MiniRedir BegoneWebDAV Order Allow,Deny
Deny from env=BegoneWebDAV

Первая строка настраивает переменную окружения BegoneWebDav для агентов, имена которых начинаются с 'Microsoft-WebDAV-MiniRedir', так что она будет продолжать работать, даже если номер версии сервиса изменится. Следующая переменная, будучи установленной, блокирует доступ. Комбинация SetEnvIf, Allow и Deny дает отличную возможность для контроля, кто или что может иметь доступ к определенным частям Вашего ресурса. Для дополнительной информации ознакомьтесь со следующими документами:

  • httpd.apache.org/docs/2.0/mod/mod_ setenvif.html#setenvif
  • httpd.apache.org/docs/2.0/mod/mod_ access.html#deny
  • httpd.apache.org/docs/2.0/mod/ mod_access.html#allow

НБ

Хочется радушия

Вопрос: Как можно настроить приглашение к авторизации? Хочу, чтобы оно выглядело примерно так, как на сайте http://alinux.org/linux-os/aLinux-step4.png, но без графики и статичного текста. Я хочу пингвина, информацию о ЦПУ, памяти, производительность процессора и приглашение. Вы можете помочь?

Майк86, с форума LXF [Mike86]

Ответ: Текст, выводящийся на терминал перед приглашением к авторизации, берется из файла /etc/issue. Поместите то, что Вы хотите видеть, включая ANSI-графику, в этот файл. В него можно даже добавлять, при помощи Cron, текущие напоминания вроде «Следующее воскресенье – день матери» или «Купить свежий Linux Format завтра».

Если Ваших художественных способностей маловато для создания ANSI-пингвина, поможет пакет Linux_logo, доступный на www.deater.net/weave/vmwprod/linux_logo и, возможно, в репозитариях Вашего дистрибутива. Man-страница для Linux_logo описывает множество опций для управления выводом. Приведённый Вами пример создан с помощью такой команды: linux_logo -c -y -k >/etc/issue Удачи! Окружающая текст графика – это фрейм-буфер, не имеющий отношения к приглашению авторизации.

НБ

Пропавший профиль

Вопрос: Я бы хотел создать резервные копии моих закладок, настроек и адресной книги Firefox и Thunderbird. В Windows у меня была для этого отдельная программа. Но в Fedora я не смог найти свой профиль. Пути, предлагаемые на сайте Mozilla, не похожи на место хранения моих закладок (хотя я нашел закладки Red Hat) или моей почты. Поиск по файловой системе ничего не дал. Видимо, я задавал системе неправильные вопросы...

Джон Х. Браун [John H Brown]

Ответ: Firefox хранит свои настройки в ~/.mozilla/firefox/ default.???, где ??? – случайная строка. Thunderbird использует ~/.thunderbird/default.???. Например, мои закладки, настройки и адресная книга хранятся соответственно в

  • ~/.mozilla/firefox/default.yyh/ bookmarks.html
  • ~/.thunderbird/default.piz/prefs.js
  • ~/.thunderbird/default.piz/abook. mab

Вероятно, простейший способ сделать резервные копии полных директорий такой:

tar czf FfandTBsettings.tar.gz ~/.mozilla/ firefox ~/.thunderbird

Вы можете воспользоваться Cron для автоматического ежедневного создания резервных копий, сохранив следующий скрипт в /etc/cron.daily/mozbackup:

#!/bin/sh
tar czf /somewhere/safe/FFandTBsettings-$(date -I).tar.gz /home/john/.mozilla/firefox /home/john/.thunderbird

Не забудьте установить его бит испол-няемости, иначе он не запустится:

chmod +x /etc/Cron.daily/mozbackup

НБ

Магия бессильна

Вопрос: Я купил ваш спецвыпуск про Fedora Core 5, и следовал инструкциям по установке, но наткнулся на проблемы. У меня установлена Windows XP, и с помощью Partition Magic я создал Linux-раздел на 10 ГБ.

Установка с диска шла хорошо до шестого этапа, после чего установщик принялся сообщать о невозможности продолжения. Я предупреждал Partition Magic, что хочу установить Linux – может, мне надо разбить этот раздел на три части, чтоб установить три директории?

Тим [Tim]

Ответ: Linux-разделы, созданные с помощью Partition Magic, иногда создают проблемы. В установочных программах многих дистрибутивов есть опция изменения размера Windows-раздела и создания Linux-разде-лов, предпочтительно ею и пользоваться. Fedora такую возможность не предоставляет, так что лучше будет с помощью Partition Magic изменить размер раздела Windows, но пространство Linux-раздела оставить неразмеченным.

А сейчас – удалите созданные Вами Linux-раздел(ы). После этого запустите установщик Fedora Core 5 и выберите «Использовать свободное пространство». Установщик создаст нужные разделы сам на свободном месте. Важно помнить, что под свободным местом понимается неразмеченное пространство, а не место в готовых разделах.

НБ

Пакости распаковки

Вопрос: Три недели назад я установил SUSE 10.0, и с тех пор мне незачем оглядываться. Надеюсь со временем полностью перейти на Linux. Одна проблема, не могу разобраться с установкой программ из архивов. Я так понял, их надо распаковать и перейти в их директорию, однако когда ввожу ./configure, получаю вот что:

bash: ./configure: No such file or directory

Я немного озадачен: всё делал по советам многих людей, пытался выполнить это как суперпользователь, но до сих пор ничего не выходит. Чувствую, я упустил что-то очень простое.

Джи М. Николсон [Gee M Nicholson]

Ответ: Часто говорят, что запуск ./configure является первом шагом после распаковки архива, а на самом деле он третий. Первые два:

1) Найдите файлы с инструкциями по установке. 2) Внимательно прочитайте их.

Большинство архивов с исходными кодами содержат файлы README и INSTALL, которые надо просмотреть и понять, как установить программу. Стандартный метод установки программ из исходных кодов

./configure
make 
make install

подходит в более чем 90% случаев, но есть и исключения. Иногда настройка не нужна – в частности, для очень простых программ. То есть Вы должны выполнить только make и make install. Бывает, что программа использует иной способ установки. В любом случае Вы должны предварительно ознакомиться с инструкциями.

Несмотря на нежелательность исполнения первых двух шагов от имени суперпользователя, его прав обычно требует make install для записи файлов в системные директории. Так как это потенциальная опасность, прочитайте инструкции обязательно.

Другой полезный шаг при использовании ./configure – запустить его сначала с параметром --help. Это даст Вам возможность контролировать сборку и установку программы (другие способы для этого отнюдь не просты).

НБ

Управлять движением

Вопрос: Моя система будет служить шлюзом в Интернет, а также файловым сервером для моей локальной сети, в ней две Ethernet-карты. Я собираюсь настроить Iptables; есть ли способ ограничить сервисы (Samba, NFS и т.д.), чтобы они работали только с одним интерфейсом, а именно, моей локальной сетью?

Это нужно делать для каждого сервиса отдельно, или есть способ глобальной настройки? Я буду использовать Fedora Core или SUSE.

Jellyman_4eva, с форума LXF

Ответ: Для этого есть три способа. Первый состоит в настройке каждого сервиса на работу только с одним сетевым интерфейсом. Если сервисов у Вас немного, этот способ может оказаться самым простым и гибким. Просмотрите man-страницы для каждого сервиса и добавьте подходящие опции в конфигурационные файлы. Пусть IP-адрес Вашего LAN-интерфейса 192.168.0.1, а у другого интерфейса – другой адрес; тогда Вы должны сделать следущее:

  • добавить Listen 192.168.0.1:631 в /etc/cups/cupsd.conf
  • добавить socket address =192.168.0.1 в /etc/samba/smb.conf
  • добавить Listen 192.168.0.1:80 в /etc/apache2/httpd.conf (местопоожение файла может быть другим).

NFS слегка отличается: ему нужно для аждого ресурса указать диапазон адресов, которым разрешено соединяться, в файле etc/exports: (path/to/export 192.168.0.0/24(rw,sync)

Второй способ – использовать Iptables ля полной блокировки доступа из глобальной сети к портам нужных сервисов. Вы можете сделать это для каждого порта отдельности, а заодно и добавить блокировку по первому способу. Альтернатива блокировать вообще весь входящий трафик, это, кстати, настройка по умолчанию для большинства брандмауэров в Linux. Тогда Вам останется лишь открыть порты для нужных сервисов, вроде SSH. Если Вы не слишком знакомы с Iptables, ручное редактирование правил может пробить серьезную брешь в безопасности системы. Поэтому эксперты рекомендуют использовать графические утилиты настройки, например, Guarddog или Shorewall. И в Fedora Core, и в SUSE есть удобные средства настройки правил брандмауэра.

Третий способ – блокировать доступ к сервисам на Вашем модеме или роутере. Это самый безопасный метод, поскольку Вы останавливаете трафик еще до того, как он попадет на Ваш компьютер. Однако это не всегда возможно – все зависит от Вашего роутера или модема. Способы не являются взаимоисключающими, Вы спокойно можете комбинировать их для обеспечения большей безопасности – так сказать, «поддержка штанов и ремнём, и подтяжками».

НБ

Способ Samba

'Вопрос: У меня есть Linux-машина на 192.168.1.1, соединенная с беспроводным роутером. На ней содержится резервная копия данных моего Windows XP-ноутбука, я её туда загружаю по FTP. Нет ли способа получше? Могу ли я хранить свои документы на Linux-машине и получать их оттуда через сеть?

Ричард Уоткинс [Richard Watkins]


Ответ: Простое решение – используя Samba, настроить CIFS-сервер на Linux-машине. Установите последнюю версию Samba (www.samba.org) и найдите конфигурационный файл: обычно это /etc/samba/smb.conf. Файл конфигурации разделен на две секции: глобальные настройки и установки разделяемых ресурсов. Глобальные настройки относятся к работе самого CIFS-сервера и используются для контроля всего – от сетевого интерфейса, через который работает сервер, до настроек Active Directory в Windows. В Вашем случае глобальные настройки можно не трогать.

Теперь настроим Ваш ресурс. Допустим, файлы располагаются в директории /export/share, именем ресурса в CIFS будет myshare, описанием – all my files. Теперь, так как в беспроводной сети множество пользователей, надо ограничить доступ к ресурсу, предоставив права на чтение и запись только пользователям Fred и Mary. Добавьте следующие строки в smb.conf:

[myshare]
 comment = all my files 
 path = /export/share 
 valid users = mary fred 
 public = no
 writable = yes
 printable = no
 create mask = 0765

Главное позади, но нужно ещё добавить пароли для Фреда и Мэри. Для этого запускайте smbpasswd от имени суперпользователя:

# smbpasswd -a fred New SMB password:
# smbpasswd -a mary New SMB password: 

Наконец, проверьте, запущена ли Samba – если нет, запустите. Теперь Вы можете получить доступ к CIFS-ресурсу с Вашего ноутбука через \\192.168.1.1\ myshare.

КК

Монтирование LVM

'Вопрос: Можно ли смонтировать LVM -разделы внешнего жесткого диска? Я хотел бы скопировать один файл с моего старого жесткого диска с установленной Fedora Core 3, избежав загрузки с него.

Зарфати [Zarfati], с форума LXF

Ответ: Если у Вас установлены утилиты LVM , Вы можете монтировать LVM-разделы с любого диска (мне случалось монтировать LVM-раздел, находящийся на флэш-брелке). Запустите от имени суперпользователя vgscan vgchange -a y После этого все обнаруженные разделы будут видны в системе как устройства /dev/volumegroup/logicalvolume, а значит, Вы сможете их смонтировать обычным способом: mount /dev/volumegroup/ logicalvolume /mnt/somewhere

НБ

Аварийная мигалка

'Вопрос:У меня на компьютере с двумя жесткими дисками установлена Mandriva 2006. Второй диск отведен под резервные копии. После загрузки KDE всё отлично, только индикатор жесткого диска принимается беспрерывно мигать – да так, что я и сосчитать не успеваю. То же самое – на старой машине, где я тестирую всякие программы.

Мне присоветовали удалить Kat, но это не помогло. Я попробовал на старой машине SUSE, и всё стало нормально, но хотелось бы сохранить Mandriva.

Не знаю, почему Mandriva так бомбит мой жесткий диск, но хочу это пресечь. С радостью приму любые советы.

Дэйв Притчард [Dave Pritchard]

Ответ: Удаление Kat – первое, что приходит в голову. Kat индексирует все файлы в Вашей домашней директории, а это значит, что самый первый его запуск опустит Ваш быстрый 64-разрядный компьютер до старичка Sinclair Spectrum. Однако есть и другие программы периодического сканирования жесткого диска, например, UpdateDB, которая строит базу данных для locate. Программа запускается через Cron - по умолчанию в Mandriva её запуск запланирован раз в неделю, рано утром, так что обычно активность диска проходит незамеченной А если у Вас установлен пакет anaсron, то он запускает все задачи Cron, не выполнявшиеся из-за того, что компьютер стоял выключенным - тут диск и может перевозбудиться. Заметив повышенную активность диска, запустите top и посмотрите, кто отъедает больше всего процессорного времени. Если это UpdateDB, Вам не о чем беспокоиться: база данных обновляется раз в неделю, обычно всего за несколько минут. Попробуйте на какое-то время оставить компьютер включенным. Если индикатор не перестанет бешено мигать, скажем, через четверть часа - что-то неправильно, нужно продолжить поиски виноватого через top.

Быть может, индикатор сообщает о деятельности шины IDE, а вовсе не жесткого диска: например, проверке наличия DVD-диска в приводе. Это может быть и безобидная утилита вроде Partmon, сообщающая об отсутствии свободного места на Ваших разделах. Её можно отключить через Центр Управления Mandriva (Система > Сервисы).

НБ

Ну, работай же!

'Вопрос: Linux я относительно недавно. Я установил свой первый дистрибутив с диска LXF и сильно захотел установить VMWare Player и попробовать другие дистрибутивы. Но инструкции из LXF78 по его установке в моем случае не сработали. Я успешно распаковал файл VMWare-player-1.0.1-19317.tar.gz, всё по журналу. Зато следующий шаг (./configure) явно не удался. Я уверен, что нахожусь в нужной директории (VMWare-player-distrib), однако набрав ./configure, получаю ошибку: bash: ./configure: No such file or directory Я думаю, что-то не в порядке с моей SUSE 9.1. Наверное, в системе нет команды configure.

Джим [Jim]

Ответ: Скрипт configure включен во множество пакетов с исходными текстами – ./ означает выполнение команды из текущей директории, так что Вы запускаете команду прямо из распакованного архива, и система тут ни при чём. Большинство Linux-программ используют этот скрипт для проверки наличия в системе всех необходимых зависимостей. В Вашем случае он не сработал по причине того, что VMWare Player – это уже скомпилированная программа, с другим методом установки.

Статья про VMWare в том же журнале указывала, что нужно запустить VMWare-install.pl. Возьмите за правило просматривать раздел «Диск Linux Format» и директорию самого диска, всегда содержащую инструкции по установке. Вот команды, необходимые для установки пакета после распаковки:

cd VMWare-Player-distrib 
./VMWare-install.pl

Вам может понадобиться компилятор С и исходные тексты ядра, поскольку в ходе установки VMWare инсталлирует в систему готовый модуль ядра, а если готового модуля не находится, то сам собирает подходящий. Все это Вы можете установить через Yast. Нужные Вам пакеты называются gcc и kernel-source.

НБ

Linux запоздалый

'Вопрос:Привет вам из США и огромное спасибо за отличный журнал! Я прямо наслаждаюсь, читая все статьи и обзоры. Жаль только, что приходится ждать, пока журнал появится в местных магазинах...

У меня всего один вопрос к экспертам: хотелось бы услышать ваши рекомендации по дистрибутиву для ноутбука IBM T22 с 256 МБ памяти. Я попробовал Damn Small Linux, он отлично работает с моим Win-модемом. Можно ли его установить на жесткий диск?

Даррелл Ноблс [Darrell Nobles]

Ответ: Ваша первая проблема решается легко оформите подписку, и получите журнал всего через несколько дней после его появления в наших магазинах.

Ноутбуки от IBM отлично поддерживают Linux, поскольку IBM предоставляет все спецификации и драйвера. Большинство LiveCD можно установить на жесткий диск, однако DSL – не лучший выбор для Вас. DSL предназначен сугубо для использования как LiveCD, и его обновление может вызвать трудности.

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

  • Knoppix Установив его, Вы получите модифицированную версию Debian.

www.knoppix.com

  • Ubuntu или Kubuntu Оба основаны на Debian: первый использует графическое окружение Gnome, второй – KDE.

www.ubuntu.com

  • PCLinuxOS LiveCD с возможностью установки и простым обновлением.

www.pclinuxos.com

  • Kanotix Еще один LiveCD на базе Debian с невероятно простой процедурой установки.

http://kanotix.com

НБ

Пауки в Сети

'Вопрос:У меня небольшой web-сайт, и похоже, что большинство его входящего трафика генерируется какими-то поисковиками. Как я могу защитить доступ к своему серверу Apache от потенциально вредоносных агентов, web-пауков и т.д.?

Р. Дэвидсон [R Davidson]

Ответ: Web-пауки могут быть использованы для кражи контента и информации о структуре вашего сайта, не предназначенной для посторонних глаз. Эти агенты также используются поисковыми движками для индексирования содержимого сайтов. Всё это неплохо, однако если Вы не хотите, чтобы Вас находили через поисковики, хорошо бы заблокировать агентам доступ. Большинство благонамеренных агентов не лезет дальше файла robots.txt в корневой директории сайта. Если они наглеют, нужны суровые меры.

В качестве первого шага можно сделать блокировку через HTTP-заголовок, это не непреодолимая преграда, но в большинстве случаев подойдет. Измените webcopier на строку, посылаемую пауком. Попробуйте так: setenvif User-Agent ^webcopier block <Limit GET POST> Order Allow,Deny Allow from all Deny from env=block </Limit>

Или вот так: RewriteEngine On RewriteCond %{HTTP_USER_ AGENT} ^WebCopier [NC,OR] RewriteRule ^.* - [F,L]

КК

Пропавшая библиотека

'Вопрос:При попытке сборки многих программ из исходных текстов команда ./configure выдает следующее сообщение о ошибке : checking for Qt... configure: error: Qt (>= Qt 3.2) (library qt-mt) not found. Please check your installation! For more details about this problem, look at the end of config.log. Make sure that you have compiled Qt with thread support!

Исследования Интернета показали, что это проблема встречается у многих, но чёткого ответа я не нашёл. Ясно, что конфигуратор не может найти библиотеку qt-mt, хотя всевозможные пакеты *.devel установлены, да и сами библиотеки присутствуют. Использование параметра --with-qt-libraries проблемы не решает. Я использую 64-битную версию OpenSUSE 10.1 на Athlon-64 3200+. Может быть, вы поможете решить эту проблему?

Владимир Синотов

Ответ: После длительной переписки с автором вопроса и проверки мыслимых и немыслимых предположений, обнаружилось, что ключ к разгадке лежал практически на поверхности. Исследование файла config. log показало, что компоновщик пытался использовать 32-битные версии библиотек, что, естественно, было обречено на провал Простой параметр --enable-libsuffix=64 переданный сценарию configure, полностью решает проблему.

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

ВС

И снова о Microsoft

'Вопрос:Как известно, большинство современных дистрибутивов позволяют обновлять и устанавливать программы через сеть, но иногда это сложно сделать из прокси-сервера компании. У нас, например, используется Microsoft ISA с NTLM-авторизацией, и если в Windows достаточно установить клиент ISA, то в Linux это представляет проблему, поскольку стандартным способом соединение с прокси-сервером не устанавливается. Подскажите, как же в Linux подключаются к прокси типа ISA с NTLM-авторизацией?

Анатолий Евдокимов

Во-первых, NTLM-авторизация поддерживается браузерами семейства Mozilla: Seamonkey и Firefox, то есть при обычном серфинге с использованием этих приложений Вы вообще не должны испытывать никаких проблем.

Если, по какой-то причине, браузер не может пройти авторизацию, или Вам необходимо использовать другую программу, существует универсальный способ. Наш соотечественник Дмитрий Розманов разработал NTLM Authorization Proxy Server - программу на Python, которая перехватывает обращения к прокси-серверу и дополняет их необходимыми заголовками. Сайт программы расположен по адресу: http://ntlmaps.sourceforge.net/. Поскольку Python наверняка включен в Ваш дистрибутив, маловероятно, что Вы испытаете какие-либо проблемы с зависимостями. NTLMAPS работает как локальный прокси-сервер (по умолчанию используется порт 5865) и перенаправляет запросы ISA-серверу. Скачайте с сайта архив с программой распакуйте его, затем откройте файл server.cfg и внесите необходимые изменения: в поле PARENT_PROXY и PARENT_PROXY_PORT укажите адрес и порт ISA-сервера, укажите параметры авторизации. Сервер запускается командой ./main.py (из каталога, в котором он распакован). После того, как сервер запущен, Вы можете открыть браузер/утилиту обновления дистрибутива, найти в ней настройки прокси-сервера и ввести туда 127.0.0.1:5865 (если Вы не меняли локальный прокси-порт в server.cfg).

Более подробное руководство по использованию NTLMAPS (на понятном английском) можно найти по адресу, приведенному в самом низу врезки.

ВС

ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ: WINE

Что такое Wine?

Это рекурсивный акроним: Wine Is Not Emulator.

Не особо полегчало!

Ну, на самом деле это такой вид эмулятора. Wine – открытая реализация программного интерфейса Windows (WinAPI), работающая поверх Х и Unix.

Wine позволяет запускать Windows из-под Linux?

Нет. Wine – некая прослойка между Windows-программами и Linux. Когда вы запускаете Windows-программу в Wine, она думает, что работает в родной среде, однако ее обращения к Windows-функциям транслируются в вызовы Linux-функций.

Надо ли для работы в Wine ставить Windows?

Нет, но Wine будет пользоваться DLL-библиотеками из существующей установки Windows, если она у вас есть. Если нет, он будет работать со встроенными альтернативными библиотеками.

Windows у меня уже есть. Зачем мне Wine?

Вы можете запускать Windows-приложения без перезагрузки, то есть можно одновременно использовать программы и под Windows, и под Linux. Wine также позволяет использовать подключаемые модули Windows [plugins] в Linux-программах, например, web-браузерах и плейерах. Это дает Linux-программам доступ к проприетарным форматам.

Эмуляторы часто тормозят. А Wine?

Он эмулирует только API, а не железо, поэтому программы работают с нормальной скоростью, а иногда и быстрее, чем в Windows; но поэтому Wine может быть запущен только на том же оборудовании, что и Windows.

Где его взять?

Вы можете скачать Wine в различных форматах с www.winehq.com или поискать пакеты в репозиториях к вашему дистрибутиву. Есть и коммерческие варианты Wine. CrossOver Office от Codeweavers позволяет запускать офисные приложения для Windows, а также подключаемые модули к Internet Explorer в нескольких Linux-браузерах, причём тяжкий труд конфигурирования выполняется автоматически. На сайте Codeweavers перечислено около 50 поддерживаемых приложений, но на самом деле их гораздо больше.

Как насчёт игр?

Другой коммерческий вариант Wine – Cedega – улучшенная версия с поддержкой DirectX. Она бесплатна через CVS. Если вы хотите получить готовые пакеты и поддержку, понадобится платная подписка.

КРАТКАЯ СПРАВКА: VOIP

VoIP (Voice over IP) – это использование время разговора, и за дистанцию. VoIP TCP/IP-соединения для двунаправленной приобретает все большую популярность в передачи голоса. Многие имеют дешевое офисной среде: для телефонии и Интернета высокоскоростное Интернет-соединение, а используется одна и та же инфраструктура при телефонных звонках надо платить и за (кабель и пр.), и обычный компьютер может служить коммутатором, сервером голосовой почты и шлюзом во внешний мир, используя VoIP-связи или даже обычные телефонные линии респондентов.

Идея не нова, однако сдерживающими факторами всегда были скорость соединения и его качество. Другая сложность – обеспечение связи через межсетевые фильтры. Однако Skype (www.skype.com) смог решить эти проблемы, создав приемлемое качество связи на хорошем коммутируемом соединении, а при использовании более высокоскоростного канала – близкое к телефонному. Он также может работать через стандартные web-порты 80 и 443 – многие брандмауэры их не запирают. Однако главная причина популярности Skype – тот факт, что он «просто работает» на множестве ОС (Linux x86, Windows, MacOS).

Есть открытые альтернативы Skype, использующие протокол SIP, например, KPhone и Linphone для Linux и SJPhone для Windows. Все они требуют регистрации у SIP-провайдера. Единожды подключившись, вы можете позвонить любому человеку, использующему SIP, даже если у него другой SIP-провайдер. Список провайдеров имеется на www.sipcenter.com/sip.nsf/html/Service+Providers.

Разговоры с другими пользователями Skype бесплатны, и у большинства SIP-про-вайдеров тоже. При звонках на стационарные телефоны VoIP дает заметную экономию. Поскольку трафик передается через Интернет до ближайшего к абоненту узла, звонки на другой континент обходятся по тарифу местного вызова.

ОТДЕЛЬНО – ОБ УСКОРЕНИИ САЙТОВ

'Вопрос: У меня есть web-сайт с динамическим содержимым , генерируемым из базы данных MySQL. Статические страницы открываются очень быстро, а вот динамические ужасно тормозят. Как я могу увеличить скорость работы сайта ?

Х . Брук [H Brooke]

Ответ: Разработчики MySQL включили несколько готовых образчиков файла my.cnf, оптимизированных под различное количество используемой оперативной памяти. Для их поиска выполните locate cnf|grep my- Использование одной из этих конфигураций может помочь увеличить скорость Но более важной является оптимизация Вашего SQL-кода. Для определения виновников замедления Вы можете создать отдельный файл журнала: touch /var/log/mysql-slow.log chown mysql:mysql /var/log/mysql-slow.log

Обратите внимание, что им должен владеть пользователь, запускающий mysqld Теперь добавим в секцию [mysqld] файла /etc/my.cnf следующую строку для слежения за медленными запросами (а потом перезапустим MySQL) log-slow-queries=/var/log/mysql-slow.log Вот пример записи в журнале:

  1. Time: 030207 15:03:33
  2. User@Host: wsuser[wsuser] @ localhost.localdomain [127.0.0.1]
  3. Query_time: 13 Lock_time: 0 Rows_sent: 117 Rows_examined: 234 use wsdb;

SELECT l FROM un WHERE ip='209.xx.xxx.xx';

Здесь видно, что wsuser обращался к базе wsdb через localhost (т.е. локально), и база рассмотрела 234 строки, это заняло 13 секунд. Попробуйте оптимизировать наиболее частые и медленные запросы. Проверьте значение Rows_examined для каждого медленного запроса. Если это число хотя бы в два раза больше суммы всех строк в каждой опрашиваемой таблице, нужно добавить индексирование. Правда, при этом возникают лишние операции сравнения, отрицательно влияющие на производительность.

КК

Объяснить и описать

'Вопрос: Ди нами че с ки е д анные на моем сайте обрабатываются слишком медленно. Я подключил слежение за медленным и запросами. Расскажите, что делать дальше и как их исправить.

Р. Трент [R Trent]

Ответ: Главное - определить причину медленности запросов и оптимизировать их. Если в Вашем журнале медленных запросов слишком много, скачайте mysql_ slow_log_parser (http://tinyurl.com/o2qek), чтобы выявить, какие из них повторяются чаще всего. Определив такие запросы, используйте explain (объяснить) и desc (describe, описать) для определения любой возможной оптимизации. Пусть у меня есть две одинаковые таблицы по два столбца, без индексов или ключей (см. вывод в Таблице 1) mysql> desc t1; Обе содержат по 10000 строк данных. У Вас в журнале может повторяться запрос

  1. Query_time: 29 Lock_time: 0 Rows_sent: 1 Rows_examined: 10000 use lxf;

select count(*) from t1, t2 where t1 jk= t2.jk; Используя запрос explain, давайте посмотрим, как работает SQL (вывод в Таблице 2) mysql> explain select * from t1, t2 where t1.jk = t2.jk;

Это значит, что проверено 7,191,637 строк в таблице t2. Потом эти же 7,191,637 строк проверяются в таблице t1. Далее, согласно describe (desc) по таблице (и полям NULL) можно заметить, что в таблицах нет ключей и индексов. Давайте добавим простой индекс в обе таблицы mysql> create index t1jk on t1(jk); mysql> create index t2jk on t2(jk); Теперь запрос describe покажет индекс (вывод в Таблице 3). Нам нужно опять посмотреть, сколько строк будет проверено в следующем запросе (вывод в Таблице 4) mysql> explain select count(*) from t1, t2 where t1 jk= t2.jk; Проверка таблицы t2 с использованием индекса t2j1 свелась к проверке 10000 строк. Теперь сравним их с 50 строками в таблице t1, возвращённых сортировкой по индексу t1j1. Мы можем очистить кэш и перезапустить запрос mysql> flush query cache; mysql> select count(*) from t1, t2 where t1 jk= t2.jk; mysql> select count(*) from t1, t2 where t1 jk= t2.jk; +-----------+ count(*) | +-----------+ 498167 | +-----------+ 1 row in set (0.66 sec)

Ранее занимавший 29 секунд, теперь он выполняется меньше чем за секунду. Этот несложный пример даёт метод, который может быть использован при оптимизации любых повторяющихся запросов без ключей и индексов для важных колонок.

КК

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