среда, 27 января 2010 г.

Русификация Slackware 13

Полезная заметка

Вкратце:

1. копируем http://mlclm.narod.ru/ru-utf.map.gz в /usr/share/kbd/keymaps/i386/qwerty

2. в /etc/rc.d/rc.font пишем:
#!/bin/sh
#
# This selects your default screen font from among the ones in
# /usr/share/kbd/consolefonts.
#
unicode_start LatArCyrHeb-16
for i in 1 2 3 4 5 6;do
echo -ne "\033%G" >/dev/tty$i
done

3. в /etc/rc.d/rc.keymap пишем:
#!/bin/sh
# Load the keyboard map. More maps are in /usr/share/kbd/keymaps.
if [ -x /usr/bin/loadkeys ]; then
/usr/bin/loadkeys /usr/share/kbd/keymaps/i386/qwerty/ru-utf.map.gz
fi

4. в /etc/profile.d/lang.sh пишем:
export LANG=ru_RU.UTF-8

5. в /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi правим параметры:
<merge key="input.xkb.options" type="string">terminate:ctrl_alt_bksp,grp:ctrl_shift_toggle,grp_led:scroll</merge>
<merge key="input.xkb.rules" type="string">base</merge>
<merge key="input.xkb.model" type="string">evdev</merge>
<merge key="input.xkb.layout" type="string">us,ru</merge>
<merge key="input.xkb.variant" type="string">,winkeys</merge>

5'. UPD 2012-10-31:
В Slackware 14 всё оказалось проще:
создаем, если его нет, файл /etc/X11/xorg.conf.d/90-keyboard-layout.conf, в котором прописываем следующее:
Section "InputClass"
Identifier "keyboard-all"
MatchIsKeyboard "on"
Driver "evdev"
Option "XkbLayout" "us,ru(winkeys)"
Option "XkbOptions" "terminate:ctrl_alt_bksp,grp:alt_shift_toggle,grp_led:scroll"
EndSection

6. Если же в страницах man выводятся вместо русских букв непонятные символы, то следует поправить /usr/lib/man.conf:
NROFF /usr/bin/iconv -f utf8 -t koi8r -c | /usr/bin/nroff -Tlatin1 -mandoc | /usr/bin/iconv -f koi8r -t utf8 -c

понедельник, 25 января 2010 г.

vi - ужас, летящий на крыльях ночи











iПерейти в режим вставки
<esc>Перейти в командный режим
:xЗаписать файл и выйти
:wЗаписать файл
:qВыйти


upd 2010-11-09: ой, гоню - вполне себе нормальный редактор. Давеча хотел слегка изменить подсветку синтаксиса в vim, всё оказалось не сильно сложно.
1. можно почитать :help highlight
2. можно посмотреть расцветочку групп командой :hi
3. можно очистить раздражающую группу командой :hi AnnoingGroup NONE
4. но лучше создать файл ~/.vimrc и прописать в нем что-то подобное:
hi AnnoingGroup term=bold cterm=bold ctermfg=7 ctermbg=0

Кстати, можно посмотреть файл в кодировке, отличной от utf-8:
:e! ++enc=cp1251 ++ff=dos

А тут - небольшой справочник команд: http://www.lagmonster.org/docs/vi2.html

Debian: Установка pure-ftpd

Хорошая статья про настройку pure-ftpd:
http://opennet.ru/base/net/linux_pureftp.txt.html
(а тут много интересных нюансов:
http://pureftpd.sourceforge.net/FAQ)

У меня, правда, дебиан, но тоже помогло. Вкратце:

1. Устанавливаем pure-ftpd. Из коробки эта штука будет пускать только под учетками, заведенными в системе, соответственно, в домашние каталоги этих учеток. Правда, это не помешает им шариться по всей файловой системе. Чтобы запереть пользователей в своих домашних каталогах, нужно создать файл /etc/pure-ftpd/ChrootEveryone со словом yes внутри (если же требуется запереть всех, кроме какой-то выделенной группы, следует вместо этого прописать её идентификатор в файле /etc/pure-ftpd/TrustedGID). Вообще, похоже, все настройки у этой штуки лежат по разным файлам с соответствующими именами(*). Непривычно как-то...

2. Для анонимного доступа нужны следующие вещи: учетная запись с именем ftp и слово no в файле /etc/pure-ftpd/NoAnonymous. С учетной записью я поступил следующим образом: создал, как это заведено в культурных домах, папки на чтение и запись:
mkdir /home/ftp/pubmkdir /home/ftp/incoming
раздал им права:
chmod -R 0777 /home/ftp/incomingchmod -R 0755 /home/ftp/pub
и создал пользователя с домашним каталогом /home/ftp:
/usr/sbin/useradd --home /home/ftp ftp

3. Для пассивного режима ещё можно указать интервал портов, по которым клиенты будут стучаться за данными, примерно так:
echo "40110 40210" > /etc/pure-ftpd/conf/PassivePortRange
Ну и не забываем прописать эти порты на роутере 8-)

4. Под дебианом не требуется, а вот под слакварью ещё приходилось запускать сервер командой:
pure-ftpd -4 -A -B -M -l unix -U 022:022 -O clf:/var/log/pureftpd.log
и добавлять эту команду в автозагрузку (/etc/rc.d/rc.local) с полным путем.

(*) Вот отсюда вытащил список этих имён. Ниже представлены они и соответствующие им параметры командной строки (полный список лежит тут):
-A     ChrootEveryone              no  # запереть всех, кроме рута в домашней директории
-a TrustedGID 10 # доверенная группа с этим номером может шариться везде по ФС
-b BrokenClientsCompatibility no # говорят, помогает клиентам, некорректно придерживающимся стандартам
-c MaxClientsNumber 10 # максимальное число клиентов
-B Daemonize yes # запуск в виде демона
-C MaxClientsPerIP 3 # максимальное число подключений с одного клиента
VerboseLog no
-z AllowDotFiles yes # разрешить читать файлы, начинающиеся с точки
-D DisplayDotFiles yes # показывать файлы, начинающиеся с точки
-e AnonymousOnly no # позволять только анонимный доступ
-E NoAnonymous yes # позволять доступ только зарегистрированным пользователям
SyslogFacility ftp
DontResolve no
-I MaxIdleTime 3600 # максимальное время простоя, после которого клиент отрубается
-l pam PAMAuthentication yes # способ аутентификации (есть ещё unix)
-L LimitRecursion 2000 8
-M AnonymousCanCreateDirs no # анонимные пользователи могут создавать каталоги
-m MaxLoad 4 # не позволяет перегружать сервер анонимными загрузками
-s AntiWarez yes # запрещает скачку файлов, загруженных анонимами (определяет такие файлы по их владельцу. если ftp, то считает его загруженным анонимом)
-u MinUID 100 # запрещает коннект пользователям с идентификатором меньше заданного (видимо, чтобы под рутом не коннектились)
-w AllowUserFXP yes # позволяет FXP протокол аутентифицированным пользователям
-W AllowAnonymousFXP no # позволяет FXP протокол анонимным пользователям
-x ProhibitDotFilesWrite yes # никто, кроме доверенной группы, не может писать файлы, начинающиеся с точки
-X ProhibitDotFilesRead no # запретить читать файлы, начинающиеся с точки
-r AutoRename no # переименовывает файл загружаемый файл (*.1, *.2 и т.п.), если файл с таким именем уже есть
-i AnonymousCantUpload yes # запрет анонимам загружать
-O AltLog clf:/var/log/pureftpd.log # записывает передачи файлов в заданный файл определенного формата (clf, stats и т.п.)
-R NoChmod no # запрещает делать команду chmod
-j CreateHomeDir yes # создает домашний каталог вновь создаваемым пользователям
-k MaxDiskUsage 99 # указывает в процентах, до какой степени может быть заполнен диск
-G NoRename no # запрет переименования файлов
-Z CustomerProof yes # не позволяет пользователем выстрелить себе в ногу chmod-ом
-4 IPV4Only yes # использовать только IPv4

Настройка LILO

После попытки установить линукс на компьютер с остатками винды в lilo появился лишний пункт. Чтобы его удалить воспользовался этим:
http://www.linux.org.ru/books/Distro/Slackware/html/conf_4.html

Вкратце:
Отредактировать /etc/lilo.conf
Выполнить /sbin/lilo

пятница, 22 января 2010 г.

Ошибка печати из Outlook Express

Проблема: При попытке распечатать почтовое сообщение выдается ошибка с упоминанием res://ieframe.dll/preview.dlg

Решение: почему-то помогло regsvr32 ole32.dll

среда, 20 января 2010 г.

Чтение-запись NTFS с использованием драйвера ntfs-3g

Полезная заметка: Чтение-запись NTFS с использованием драйвера ntfs-3g в Debian.

вкратце:
1. Устанавливаем пакет ntfs-3g
2. sudo mount -t ntfs-3g /dev/sda1 /mnt/win -o umask=0

вторник, 12 января 2010 г.

Проблема с php_curl.dll

Проблема: после попытки раскомментировать extension=php_curl.dll под апачем выдаётся пара ошибок вида "не найден указанный модуль".
Решение: утащил libeay32.dll и ssleay32.dll в %WINDIR%\system32

пятница, 8 января 2010 г.

Настройка Oracle instant client

1. Ему зачем-то нужны файлы tnsnames.ora (ну, это еще понятно) и sqlnet.ora. При этом ищет он их в директории, указанной в переменной среды TNS_ADMIN. Попытка прописать данную директорию в виде строкового параметра в реестр (HKLM\SOFTWARE\ORACLE\) успехом не увенчалась. Ладно, пусть будет переменная среды.

2. Для правильного отображения русских букв под виндой понадобился строковый параметр HKLM\SOFTWARE\ORACLE\NLS_LANG = RUSSIAN_CIS.CL8MSWIN1251

среда, 6 января 2010 г.

Напильник для rdesktop

rdesktop "из коробки" как-то странно себя ведет - нажатия некторых клавиш обрабатываются совсем не так, как ожидалось. Выход подсказали такой:

Заменить содержимое файлов /usr/share/rdesktop/keymaps/ru и /usr/share/rdesktop/keymaps/en-us одинаково на следущее:

# generated from XKB map ru
include common
map 0x419
grave 0x29
asciitilde 0x29 shift
asciicircum 0x07 shift
backslash 0x2b
bar 0x2b shift
apostrophe 0x28
greater 0x34 shift
less 0x33 shift

После этого для подключения к консоли вполне работает команда:
rdesktop -0 -g 800x540 host:port

вторник, 5 января 2010 г.

Изменение порта RDP

Если вдруг когда-нибудь придет такая мысль (отказаться от 3389), то можно прочитать тут, как это сделать.
Вкратце: поправить ключик HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber

понедельник, 4 января 2010 г.

Принудительное обновление wsus

к слову сказать, команда wuauclt /detectnow сильно помогает...
Интересный факт про firefox:
Если набрать about:config в адресной строке, то попадаем в настройки.
Но забавно не это, а то, что после какого-то обновления этот браузер перестал запрашивать пользователя-пароль для ntlm-авторизации на прокси. Вылечилось это установкой параметра network.automatic-ntlm-auth.allow-proxies в false.