Tips & tricks

This article is protected by the Open Publication License, V1.0 or later. Copyright © 2005 by Red Hat, Inc.

Original article: http://www.redhat.com/magazine/019may06/departments/tips_tricks/

Red Hat Magazine, выпуск 19, май 2006

Перевод: © Иван Песин

Служба поддержки пользователей Red Hat получает технические вопросы со всего мира. Специалисты Red Hat ежедневно добавляют полученные вопросы и ответы на них в базу знаний Red Hat Knowledgebase. Доступ к ней свободен для всех. Каждый месяц Red Hat Magazine знакомит читателей с Red Hat Knowledgebase, публикуя несколько самых свежих вопросов и ответов.

Советы от RHCE

Продолжение совета: "Неубиваемые" процессы

До Red Hat Enterprise Linux 4 не было действительно удобных способов работы с процессами, находящимися в состоянии непрерываемого сна, ожидающими ответа недоступного NFS-сервера. Это особенно огорчало, потому что страница руководства команды umount обещала, что ключ '-f' обеспечивает "Принудительное размонтирование. Позволяет размонтировать файловые системы NFS, если NFS-сервер недоступен". С пояснением, что файловая система должна быть смонтирована с опцией "soft" или "intr". И всё. Теперь, хотя это и не отражено в странице руководства, umount -f придёт к нам на помощь и размонтирует файловые системы, смонтированные как "жёсткие" и "непрерываемые".


Как можно настраивать листинги каталогов, автоматически генерируемые веб-сервером Apache?

Для генерации листингов используется модуль mod_autoindex.

Все рассматриваемые опции можно указывать в секции виртуального хоста, каталога или основных настроек. Можно просто добавить их в конец файла /etc/httpd/conf/httpd.conf.

Чтобы добавить комментарий для файлов определённого типа, укажите:

AddDescription "This is a text file" .txt

Эта директива добавит описание "This is a text file" ко всем файлам с расширением .txt.

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

AddDescription "Our financial report" docs/finances.txt

Эта директива добавит описание "Our financial report" к файлу docs/finances.txt.

Чтобы исключить из листинга некоторые файлы, укажите:

IndexIgnore docs/hidden.txt

Теперь, при выводе каталога docs, файл hidden.txt показан не будет.

С другими доступными директивами вы можете ознакомиться по адресу: http://httpd.apache.org/docs/1.3/mod/mod_autoindex.html.

В каком конфигурационном файле задаётся значение по-умолчанию dpi шрифтов?

Проблема:
Необходимо сменить установленные по-умолчанию шрифты 75 dpi на новые шрифты 100 dpi.

Решение:
Конфигурационный файл: /etc/X11/fs/config.

Откройте в редакторе файл /etc/X11/fs/config и найдите строку:

default-resolutions=75,75,100,100

Замените её на такую:

default-resolutions=100,100,75,75

Сохраните файл. Новые установки активизируются после перезапуска xfs (X Font Server).

Как изменить разрешение экрана без перезапуска сервера X Window?

Эту функциональность предоставляет утилита xrandr. Чтобы получить список поддерживаемых разрешений, выполните команду xrandr.

Будет выведен приблизительно такой список:

 SZ: Pixels Physical Refresh
0 1600 x 1200 ( 363mm x 272mm ) 75
*1 1280 x 1024 ( 363mm x 272mm ) *85
2 1024 x 768 ( 363mm x 272mm ) 85
3 800 x 600 ( 363mm x 272mm ) 85
4 640 x 480 ( 363mm x 272mm ) 85
Current rotation - normal
Current reflection - none
Rotations possible - normal
Reflections possible - none

Текущее разрешение отмечено звёздочкой ('*'). Для данной системы, текущее разрешение — 1280x1024.

Чтобы изменить разрешение, выполните xrandr -s 0, где 0 это номер желаемого режима.

Например, команда xrandr -s 3 сменит разрешение в этой системе на 800x600. Номера доступных режимов не обязательно будут совпадать на разных системах. То есть, команда xrandr -s 2, выполненная на разных системах, может задавать разное разрешение.

Почему после настройки DSA-аутентификации для SSH система продолжает спрашивать пароль?

Определить причину проблемы с DSA аутентификацией могут помочь сообщения об ошибках в журнальном файле /var/log/secure сервера. После попытки установить SSH-соединение, посмотрите в журнальный файл сервера:

tail /var/log/secure

Часто можно увидеть такую ошибку:

sshd[11425]: Authentication refused: bad ownership or modes for directory /home/shadowman

В этом случае, права доступа к домашнему каталогу пользователя shadowman слишком открыты. Чтобы изменить их, выполните команду chmod 700 /home/shadowman.

Как увеличить число семафоров?

Система: Red Hat Enterprise Linux

Проблема:
Сервер Red Hat Enterprise Linux на котором запущен Lotus Domino падает после приблизительно дня работы. С помощью команды ipcs определили, что авария происходит когда Domino занимает 100 из 128 доступных семафоров.

Решение:
Сначала проверьте текущие значения, чтобы к ним можно было обратиться позже. Чтобы посмотреть параметры семафоров, воспользуйтесь командой cat:

# cat /proc/sys/kernel/sem
250 32000 32 128

Ниже приводится пример, как сохранить изменения в настройках семафоров.

Добавьте в файл /etc/sysctl.conf строку:

kernel.sem = 250 32000 32 256

Примечание: обратите внимание на пробелы вокруг знака '=' — они важны в этом файле. Пробел должен быть и перед, и после знака равно.

Выполните команду sysctl -pдля активации внесённых изменений. Задание значений в данном файле также обеспечивает их автоматическую установку при загрузке системы.

Как изменить поведение команды cp, если даже при указанном ключе "-f" она требует подтверждение на перезапись существующего файла?

Проблема:
Команда cp -f <filename> </path/to/some_existing_file> требует подтверждения перезаписи существующего файла несмотря на заданный параметр -f.

Решение:
Чтобы изменить это поведение, откройте файл /root/.bashrc в редакторе и закомментируйте (или удалите) строку с псевдонимом, который добавляет параметр -i к команде cp:

# alias cp='cp -i'

Изменения вступят в силу при следующей регистрации пользователя в системе или после пересчитывания файла /root/.bashrc в текущей сессии. 

Какова разница между устройствами /dev/st0 и /dev/nst0 при работе с ленточными накопителями?

Устройство /dev/nst0 — это ленточное устройство без авто перемотки, а /dev/st0 — с автоперемоткой.

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

С другой стороны, большинство систем резервного копирования на одну ленту пишут много файлов и, в таком случае, вам, вероятно, потребуется ленточное устройство без автоперемотки (т.е. /dev/nst0). В противном случае, лента будет перематываться после записи каждого файла и каждый следующий файл будет записан поверх предыдущего.

Как переименовать RAID-массив, если его нужно перенести на другую систему, где уже есть массив в таким же именем?

В следующем примере, /dev/md0 — исходное, а /dev/md6 — новое md-устройство. /dev/sda5 и /dev/sdb5 — это два раздела, из которых формируется  RAID-устройство. Для переименования выполните следующие команды:

 
# mdadm --stop /dev/md0
# mdadm -A /dev/md6 -m0 --update=super-minor /dev/sda5 /dev/sdb5

В результате их выполнения, массив /dev/md0 будет остановлен и пересобран как /dev/md6. В процессе пересборки ищутся устройства с существующим младшим номером устройства равным 0 (-m0) и обновляет их значение в суперблоке на новый номер.

Почему в Red Hat Enterprise Linux 3 производительность Clearcase при доступе к тому NFS значительно ниже, чем в Red Hat Enterprise Linux 4?

Эта проблема порождается функциональностью обеспечения непротиворечивости кэша "open to close cache consistency", которая была добавлена в ядро 2.4.20. Эта функциональность предназначена для обеспечения однородности кэша разных клиентов NFS. Когда приложение на NFS-клиенте открывает файл, расположенный на сервере, клиент проверяет существование файла и его права доступа, посылая вызов GETATTR. При закрытии файла, все изменения записываются на сервере, чтобы следующий клиент, который будет читать этот файл мог их увидеть. Функциональность "open to close cache consistency" реализуется сравнением результатов GETATTR возвращённых сразу после закрытия файла и непосредственно перед его открытием. Если результаты совпадают — кэш клиента достоверный, иначе кэш очищается.

Вызовы GETATTR негативно влияют на производительность вследствии большого сетевого трафика ими порождаемого. Этого можно избежать, указав при монтировании опцию nocto. Однако, ценой будет целостность данных, поскольку при совместном доступе к данным разных клиентов, непротиворечивость кэша будет нарушена. Другим вариантом решения данной проблемы является использование Red Hat Enterprise Linux версии 4. Ядро 2.6 использует другой механизм для обеспечения целостности данных.