olemskoi.ru

Архив тега ‘runix.org’

Настройка ИБП Ippon Back Comfo Pro (перепечатка)

Комментариев нет

С выходом Ubuntu 10.04 настройка бесперебойного источника питания Ippon Back Comfo Pro стала проходить почти без всяких танцев с бубнами.

Ставим пакет nut и добавляем в /lib/udev/rules.d/52-nut-usbips.rules строчки (для вашего ИБП возможно надо будет поменять значения idVendor и idProduct, посмотрите через lsusb):

# Ippon
#  Ippon Back Comfo Pro 800
ATTR{idVendor}=="06da", ATTR{idProduct}=="0003", MODE="664", GROUP="nut"

Вытыкаем-втыкаем USB-кабель, чтобы пересоздать файл устройства.

Пишем в /etc/nut/ups.conf:

[ippon]
        driver = blazer_usb
        port = auto
        desc = "Ippon Back Comfo Pro 800"

sudo invoke-rc.d nut restart и проверим что выдаст команда upsc ippon:

$ upsc ippon
battery.voltage: 13.60
battery.voltage.nominal: 12.0
beeper.status: enabled
device.type: ups
driver.name: blazer_usb
driver.parameter.pollinterval: 2
driver.parameter.port: auto
driver.version: 2.4.3
driver.version.internal: 0.03
input.current.nominal: 3.0
input.frequency: 50.1
input.frequency.nominal: 50
input.voltage: 222.3
input.voltage.fault: 222.3
input.voltage.nominal: 220
output.voltage: 222.3
ups.delay.shutdown: 30
ups.delay.start: 180
ups.load: 18
ups.productid: 0003
ups.status: OL
ups.temperature: 25.0
ups.type: offline / line interactive
ups.vendorid: 06da

Profit! Остальное настраиваем по собственному вкусу и желанию.

SFTP: Chroot в домашнюю папку (перепечатка)

Комментариев нет

В новых версиях openssh (хотя не таких уж и новых, >= 4.9 если не ошибаюсь) есть возможность ограничить доступ пользователя в подсистеме sftp. Т.е. задать ему ChrootDirectory, как в proftpd. Например в домашнюю папку (ибо нефиг лазить за её пределами). Рассмотрим, как это можно реализовать.

Для начала, создадим группу sftpusers. Ограничения будут действовать только на пользователей из этой группы (мы ведь не хотим ограничивать пользователя root?):

addgroup --system sftpusers

Далее заменим подсистему sftp в /etc/ssh/sshd_config:

-Subsystem sftp /usr/lib/openssh/sftp-server
+Subsystem sftp internal-sftp

Ну и наконец запишем ограничения в тот же файл:

Match Group sftpusers
        ChrootDirectory %h
        ForceCommand internal-sftp
        AllowTcpForwarding no

Не забываем перечитать конфиг:

invoke-rc.d ssh reload

Теперь разберемся с пользователями. При создании пользователя не надо указывать ему шелл, так как он все равно не сможет им воспользоваться (см. ForceCommand internal-sftp). Поэтому указываем в качестве шелла /bin/false. Домашняя папка (точнее папка, которую мы указали в ChrootDirectory) обязательно должна иметь владельцем пользователя root. Иначе будем получать ошибку:

fatal: bad ownership or modes for chroot directory "/home/%username%"

А вот группу-владельца chroot-папки можно задать любую. Но главное условие – chroot-директория должна быть доступна на запись только для пользователя root и никого больше. В противном случае получим вышеприведенную ошибку.

Рассмотрим пример создания пользователя:

useradd -G sftpusers -s /bin/false -d /home/user1 user1
mkdir /home/user1
chown root:user1 /home/user1
chmod 750 /home/user1

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

ChrootDirectory /home

А внутри /home разруливать доступ к папкам, используя обычные права доступа.

Печатаем по 2 страницы на лист (перепечатка)

Комментариев нет

В связи с покупкой принтера, озаботился проблемой распечатки книжек. Так как книги обычно верстают под размер бумаги letter, а печатаю я на А4, то встает проблема, как уместить 4 страницы книжки на одном листе бумаге (по 2 страницы с каждой стороны) и как наименее безгеморно распечатать это.

Для нашей нелегкой задачи нам нужен пакет psutils.

Делаем раз — разбиваем нашу книжку по 2 страницы на лист:

psnup -2 book.ps book-2.ps

Делаем два — разбиваем файл на два. В первом будут нечетные страницы в обратном порядке, во втором – четные в прямом:

psselect -o -r book-2.ps book-2-odd-reverse.ps
psselect -e book-2.ps book-2-even.ps

Делаем три — вставляем в принтер побольше бумаги и запускаем на печать файл book-2-odd-reverse.ps. Между постановкой файла на печать и началом печати может пройти много времени, если postscript-файл большой и сложный. Например, у меня сейчас 80 страниц рендерятся уже больше часа (потому что в них растр отсканированной книги).

Делаем четыре — распечатанные листы снова закладываем в принтер и пускаем на печать файл book-2-even.ps, чтобы распечатать четные страницы с обратной стороны листов.

Если вы хотите распечатать книжку по всем канонам, сшивая листы в тетрадки, посмотрите на утилиту psbook.

Если оригинальный файл в pdf, то можно поставить пакет pdfjam с аналогичными утилитами для pdf, а можно сконвертировать pdf в ps.

Firefox 3.5 и Ubuntu 9.10 (перепечатка)

Комментариев нет

Граждане, будьте бдительны! В Ubuntu 9.10, Firefox 3.5 работает под профайлом apparmor. Что в свою очередь может приводить к разным малообъяснимым глюкам. Например, у меня он напрочь отказывался сохранять файлы в папку /data/ (причём молча).

Если вы столкнулись с подобным поведением, откорректируйте файл /etc/apparmor.d/usr.bin.firefox-3.5 и перезагрузите конфигурацию командой invoke-rc.d apparmor reload.

Правильная установка GRUB на Software-RAID1 (перепечатка)

Комментариев нет

Если у вас RAID1 средствами ОС Linux и вы хотите, чтобы при «вылете» одного диска, система нормально загружалась, grub нужно установить с одной маленькой хитростью:

# grub
grub> root (hd0,0)
grub> setup (hd0)
grub> device (hd0) /dev/sdb
grub> root (hd0,0)
grub> setup (hd0)

Только что опробовал на практике — работает.

Внутреннее устройство реляционных баз данных (перепечатка)

Комментариев нет

Случайно наткнулся на серию статей, ознакомиться с которыми будет полезно, как сисадминам, так и программистам.

  1. Кортежи. Разбор запроса, построение AST, оптимизация AST. Построение плана выполнения
  2. Выполнение плана запроса
  3. Кэширование планов выполнения запроса
  4. Управление оперативной памятью
  1. Типы индексов: B-Tree, R-Tree, GiST, Bitmap, Hash, GIN

Segmentation fault в ET:QW под Linux (перепечатка)

Комментариев нет

Если у вас нативная линуксовая Enemy Territory: Quake Wars вылетает с Segmentation fault, проверьте, что в ~/.etqwcl/base/etqwconfig.cfg стоит строчка:

seta r_useIndexBuffers "1"

а не:

seta r_useIndexBuffers "0"

Я ненавижу MySQL (перепечатка)

Комментариев нет

Я ненавижу MySQL. Сегодня на ровном месте у него сломалась таблица mysql.user. В итоге, сотни повисших коннектов в состоянии login и никаких диагностических сообщений в логах. Мне понадобился час, чтобы догадаться сделать на всякий случай REPAIR TABLE user. Я ненавижу MySQL.