binblog

Tips & tricks

Установка .deb для i386 под amd64

man dpkg
dpkg -i --force-architecture package_i386.deb

Управление доступом в nginx

Презабавнейшую вещь обнаружил вдруг ни с того ни с сего. Имеем связку nginx+mongrel+некоторое количество rails приложений. Приложения деплоятся естестественно через SVN и в результате в каждом из них имеем некоторое количество каталогов .svn с очень интересным содержимым, которое доступно кому угодно :) Лечится это просто - в конфиг nginx необходимо добавить следующее правило:

location ~* ^.*?(\.svn).*$ {
    return 404;
}

© Partizan

Сборка gnupg 1.4.3 под QNX

Почему-то configure которая идет в поставке gnupg работает некорректно, половину файлов не создает, другую создает некорректно. Для восстановления работоспособности этого скрипта требуется его пересоздание с помощью autoconf. Может, конечно, они и идут где-то в виде пакетов для QNX, но мне таковых обнаружить не удалось, поэтому их нужно сборать из исходников. Сначала собирается m4, потом собственно autoconf. Оба собираются как обычно

./configure; make; make install

в соответствующих директориях. В общем-то на этом этапе у меня все прошло успешно. После требуется пересоздать сам скрипт configure для gnupg. Для этого нужно зайти в директорию, куда распаковано дерево исходников и последовательно выполнить две команды

autoheader
autoconf

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

http://ftp.gnu.org/gnu/m4/m4-1.4.4.tar.gz

ftp://alpha.gnu.org/gnu/autoconf/autoconf-2.59c.tar.gz

ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-1.4.3.tar.bz2

tnx to gr_buza за идею

Русская консоль в Gentoo

В общем-то настройка русской консоли в gentoo легка и непринужденна. Необходимо исправить три строчки в двух два файлах и иметь нужные шрифты. Те что идут в стандартной поставке некрасивые, поэтому рекомендуется скачать пакет console-tools-cyrillic уважаемого Вагнера. Этот файл так же лежит в приложении к этому посту. Содержимое каталога psf в этом архиве нужно скопировать в /usr/share/consolefonts.

Правки в файлах:

В файле /etc/conf.d/consolefont

Заменить

CONSOLEFONT="default8x16"

на

CONSOLEFONT="UniCyr-sans-8x16"

раскоментировать и привести к следующему виду строки

CONSOLETRANSLATION="koi2alt"

В файле /etc/conf.d/keymaps строку

KEYMAP="us"

заменить на

KEYMAP="ru-ms"

Это даст переключение раскладок по ctrl+shift и символы точку и запятую разместит возле правого шифта. В принципе возможны еще фарианты ru1, ru2, ru3, ru4, ru-win. Все, можно перезапускать сервисы /etc/init.d/consolefont и /etc/init.d/keymaps. Удостоверьтесь что эти сервисы запускаются при старте системы.

Расшифровка Seagate Date code

Hello

The fiscal year 2004 (04), fiscal quarter (02) and fical week (32)

Rick B.

Seagate Technical Support

Программа для визуализации pipes

NAME
      bar - show information about a data transfer

DESCRIPTION
      Bar  is a simple tool to process a stream of data and print a display for the user on stderr showing (a)
      the amount of data passed, (b) the throughput of the data transfer, and, if the total size of  the  data
      stream is known, (c) estimated time remaining, percent complete, and a progress bar.
      Bar  was  originally  written  for the purpose of estimating the amount of time needed to transfer large
      amounts (many, many gigabytes) of data across a network.  (Usually in an SSH/tar pipe.)

Перекодирование имен директорий и файлов.

Иногда возникает необходимость массово перекодировать имена директорий и файлов, напримаер из cp1251 в koi8-r. Можно конечно подумать, да написать скрипт, а можно воспользоваться уже готовой программой, например convmv.

Ошибка при использование wget во FreeBSD

Если вы решили использовать wget в качества основной команды для закачки исходников (считаем что он уже собран), то нужно добавить следующие опции в файл make.conf

FETCH_CMD=wget
FETCH_BEFORE_ARGS=     --passive-ftp
FETCH_RESUME_ARGS=     -c
FETCH_OUTPUT_ARGS=     -O

Если вываливается ошибка:

wget: invalid option --
Usage: wget [OPTION]... [URL]...

то добавьте строку:

DISABLE_SIZE=yes

Ошибка при авторизации squid в Active Directory ‘BH NT STATUS ACCESS DENIED’

Необходимо удостовериться чтобы каталог winbindd_privileged был доступен для пользователя, от которого запускается прокси-сервер, например добавив пользователя, от которого работает прокси в группу, которая имеет доступ к этому каталогу. Для Debian это можно сделать следующей командой:

gpasswd -a proxy winbindd_priv

И перезапустить squid

Если xorg или xfree не подхватывают изменения в xorg.conf

В этом случае проверьте, не завлялся ли где-нибудь неучтенный конфигурационный файл икcов.

Traceroute и firewall

 ## TRACEROUTE
 # Outgoing traceroute anywhere.
 # The reply to a traceroute is an icmp time-exceeded which is dealt with by the next rule.
 iptables -A OUTPUT -o eth0 -p udp --sport 32769:65535 --dport 33434:33523  -m state --state NEW -j ACCEPT

MPI и гипертрединг (hyperthreading)

Если на многопроцессорной машине с гипертредингом задачи mpi складываются на виртуальные процессоры вместо того, что бы разноситься на физические, то проблему можно решить добавив при запуске параметр –mca mpi_paffinity_alone 1

mpirun  --mca mpi_paffinity_alone 1 -np 3 mpi.programm

Glibc 2.0 error

Если возникает следующее сообщение при запуске программ:

symbol h_errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference

То возможным решением может быть следуующее:

export LD_ASSUME_KERNEL=2.4.1

Данный рецепт работает только для glibc 2.3, в glibc версий 2.4 и более поздних, этот параметр отсутствует.

DISPLAY is not set

Если при попытке форвардинга иков через ssh постоянно вылазит ошибка:

DISPLAY is not set

то во-первых, нужно убедиться что в sshd_config прописано:

X11Forwarding yes
X11DisplayOffset 10

и во-вторых что стоит программа xauth

CUPS Problem “426 Upgrade Required”

Для решения этой проблемы, нужно добавить в cupsd.conf следующее:

DefaultEncryption IfRequested

Взято с http://www.ubuntuforums.org/showthread.php?t=185987

Apt-get через прокси

Для apt-get Поместить следующие опции в /etc/apt/apt.conf

Acquire::http::Proxy "http://proxy.host:port/";
Acquire::Proxy "true";

Wget (и другие программы, которые используют переменные http_proxy и ftp_proxy) Для того, чтобы установить эти переменные для всех пользователей (предполагается что используется bash), нужно добавить следующие строки в /etc/profile:

export http_proxy=http://proxy.host:port/
export ftp_proxy=ftp://proxy.host:port/

”/” в конце важен.

APT::Force-LoopBreak

Ошибку:

E: This installation run will require temporarily removing
the essential package perl-base due to a Conflicts/Pre-Depends
loop. This is often bad, but if you really want to do it,
activate the APT::Force-LoopBreak option.
E: Internal Error, Could not early remove perl-base

Можно разрешить добавив

APT::Force-LoopBreak "true";

в /etc/apt/apt.conf

comments powered by Disqus