25 декабря 2011 г.
Автомонтирование NTFS
Устанавливаем драйвер ntfs-3g:
$ sudo apt-get install ntfs-3g ntfs-config
Для автомонтирования при загрузке нужно отредактировать файл /etc/fstab. Но сначала нужно узнать идентификатор устройства и UUID раздела. Идентификатор устройства узнаем командой
$ mount
В моем случае это /dev/sda2. Теперь нужно узнать UUID диска:
$ sudo blkid
В моем случае UUID=363C991F3C98DAE7. Почему мы используем UUID вместо привычного /dev/sd**? Дело в том, что при подключении дополнительных носителей или при смене их местами (или еще по какой-либо загадочной причине) идентификатор устройства может меняться, тогда как UUID останется прежним.
Теперь нужно создать директорию, куда будем монтировать. Например в папке /media:
$ sudo mkdir /media/share/
Открываем файл fstab:
$ sudo nano /etc/fstab
И дописываем в конец файла строки для монтирования нашего ntfs-раздела:
UUID=363C991F3C98DAE7 /media/share/ ntfs-3g users,defaults,umask=0 0 0
Рассмотрю параметры строки монтирования подробнее:
/media/share/ – директория для монтирования. Она должна существовать и быть пустой, иначе ничего не получится;
ntfs-3g – это файловая система ntfs; для cd и dvd приводов это iso9660, udf, для FAT32 – vfat;
users – позволяет членам группы user (т.е. пользователям системы) монтировать и отмонтировать раздел
noexec – запрещает запуск исполняемых файлов с диска
auto – автоматическое монтирование раздела при загрузке системы (можно не указывать, срабатывает по умолчанию)
noauto – не монтировать раздел при старте системы
ro – с раздела можно будет читать, а писать нельзя
rw – можно и писать и читать
locale=ru_RU.UTF-8 – определение кодировки файловой системы
Два нуля в конце – это не удивление, а тоже полезные параметры. Первый из них читает dump-utility. Если 0 – резервная копия раздела делаться не будет. И 1 заставит делать резервную копию раздела. Второй ноль говорит о приоритете раздела во время проверки дисков. 1 – приоритет высочайший (чаще всего для рутового раздела), 2 – нормальный приоритет и 0 – проверка на данном разделе не требуется.
В принципе этого достаточно для нормальной работы ntfs-раздела.
Runtu LXDE 10.04, автоматическое включение эффектов OpenBox
Идём в Меню - Параметры - Автозагрузка программ, два раза тыкаем "Визуальные эффекты" и ставим галочку "активировать", ОК - Сохранить - Закрыть.
7 ноября 2011 г.
НеДебиан и вечное лето
А вот как вручную изменить часовой пояс (в системах, где нету dpkg-reconfigure и tzdata).
0. Входим в систему как root.
1. На всякий случай перемещаем куда-нибудь файл с текущими настройками часового пояса:
# mv /etc/localtime /etc/localtime-old
2. Создаём символическую ссылку на нужный нам timezone:
# ln -sf /usr/share/zoneinfo/Etc/GMT-4 /etc/localtime
(опять же, вместо GMT+4 надо выбрать GMT-4, и наоборот)
3. Всё. Проверяем текущий часовой пояс командой date, и поправляем при необходимости время.
Теперь мы в часовом поясе GMT+4, а на летнее время часы переводиться не будут.
5 ноября 2011 г.
Дебиан и вечное лето
В связи с отменой перехода на зимнее время появилась необходимость изменить часовой пояс (Московское время теперь круглый год GMT+4), а также отменить автоматический переход на летнее время.
В Дебиане (а также ему подобных системах) это делается так:
sudo dpkg-reconfigure tzdata
Здесь нужно выбрать Etc/GMT-4 (это пример для московского времени, нужно выбрать свой часовой пояс). Заметьте, что для пояса GMT+4 нужно выбирать не GMT+4, а GMT-4.
Тем самым мы навечно оказываемся в поясе GMT+4, а демон NTP будет прибавлять по 4 часа к Гринвичу при синхронизации часов.
Изменение таймаута меню загрузчика GRUB
Применимо к Debian/Ubuntu и т.п.
В файле /etc/default/grub меняем значение параметра GRUB_TIMEOUT на желаемое число секунд. Сохраняем, а затем запускаем команду update-grub с правами суперпользователя, чтобы обновить конфигурацию grub.
24 августа 2011 г.
Пакетное конвертирование FLAC в MP3
#!/bin/bash # flac-tracks-to-mp3 # Usage: flac-tracks-to-mp3 [-b BITRATE] if [ "$1" ] && [ "$2" ] && [ "$1" = "-b" ] then BITRATE=$2 else BITRATE=320 fi for a in *.flac do OUTF=`echo "$a" | sed s/\.flac$/.mp3/g` ARTIST=`metaflac "$a" --show-tag=ARTIST | sed s/.*=//g` TITLE=`metaflac "$a" --show-tag=TITLE | sed s/.*=//g` ALBUM=`metaflac "$a" --show-tag=ALBUM | sed s/.*=//g` GENRE=`metaflac "$a" --show-tag=GENRE | sed s/.*=//g` TRACKNUMBER=`metaflac "$a" --show-tag=TRACKNUMBER | sed s/.*=//g` DATE=`metaflac "$a" --show-tag=DATE | sed s/.*=//g` # flac: # -c: write output to stdout # -d: decode flac -c -d "$a" | lame --noreplaygain -b $BITRATE --add-id3v2 --pad-id3v2 --ignore-tag-errors --tt "$TITLE" --tn "${TRACKNUMBER:-0}" --ta "$ARTIST" --tl "$ALBUM" --ty "$DATE" --tg "${GENRE:-12}" - "$OUTF" done
Ureadahead main process terminated with status 5...
init: ureadhead main process (PID) terminated with status 5.
Немного погуглив, нашёл решение. Помогло выполнение следующей команды:
sudo sed -i 's+^start on starting mountall+start on mounted MOUNTPOINT=/var+' /etc/init/ureadahead.conf
25 июня 2011 г.
Проблема с samba и testparm
sudo apt-get remove samba4-common-bin sudo apt-get install samba-common-bin
14 июня 2011 г.
Настройка МФУ Brother DCP-115C
Устанавливаем csh:
sudo apt-get install csh
У меня (на 10.10) вылезла ошибка
touch: невозможно выполнить touch для `/usr/share/cups/model/brmfc210c_cups.ppd': Нет такого файла или каталога
поэтому сначала я создал каталог:
sudo mkdir /usr/share/cups/model/
Затем ставим драйвера, сначала lpr, затем cupswrapper:
sudo dpkg -i mfc210clpr-1.0.2-1.i386.deb
sudo dpkg -i cupswrapperMFC210C-1.0.2-3.i386.deb
После этого принтер определяется как MFC210C и отлично работает!
Осталось настроить на нём сканер. Опять идём на сайт производителя и смотрим драйвер. Для нашего сканера это brscan2. Скачиваем и ставим.
Для работы сканера в 64-битной системе необходимо сделать следующее:
6. FOR 64 bits!: The scan of the DCP-115c only will work after write these lines in terminal:
sudo cp /usr/lib64/libbrscandec2.so.1.0.0 /usr/lib/x86_64-linux-gnu/
sudo cp /usr/lib64/libbrcolm2.so.1.0.1 /usr/lib/x86_64-linux-gnu/
sudo cp /usr/lib64/libbrcolm2.so /usr/lib/x86_64-linux-gnu/
sudo cp /usr/lib64/libbrscandec2.so.1 /usr/lib/x86_64-linux-gnu/
sudo cp /usr/lib64/libbrscandec2.so /usr/lib/x86_64-linux-gnu/
sudo cp /usr/lib64/libbrcolm2.so.1 /usr/lib/x86_64-linux-gnu/
sudo cp /usr/lib64/sane/libsane-brother2.so.1.0.7 /usr/lib/x86_64-linux-gnu/sane/
sudo cp /usr/lib64/sane/libsane-brother2.so.1 /usr/lib/x86_64-linux-gnu/sane/
sudo cp /usr/lib64/sane/libsane-brother2.so /usr/lib/x86_64-linux-gnu/sane/
http://forum.ubuntu-fr.org/viewtopic.php?id=889791
(UPDATED 4 янв 2019: в современных системах нужно копировать библиотеки в /usr/lib/x86_64-linux-gnu/ и /usr/lib/x86_64-linux-gnu/sane/ вместо /usr/lib/ и /usr/lib/sane/ соответственно.)
Сканирует, но только от рута... Чтобы сканировал не от рута:
- В Ubuntu 10.10+ решается установкой пакета brother-udev-rule-type1-1.0.0-1.all.deb.
Скачать пакет + инструкции для других ОС: https://support.brother.com/g/s/id/linux/en/instruction_scn1c.html?c=us_ot&lang=en&comple=on&redirect=on.
- В Ubuntu 9.10-12.10 нужно прописать правило udev:
sudo gedit /lib/udev/rules.d/40-libsane.rules
(в Debian Wheezy у меня /lib/udev/rules.d/60-libsane.rules)
и перед LABEL="libsane_usb_rules_end" добавляем по аналогии:
ATTRS{idVendor}=="413c", ATTRS{idProduct}=="5250", ENV{libsane_matched}="yes"
# Brother DCP-115C
ATTRS{idVendor}=="04f9", ATTRS{idProduct}=="018c", ENV{libsane_matched}="yes"
VendorId и ProductId можно проверить по lsusb:
Bus 003 Device 002: ID 04f9:018c Brother Industries, Ltd DCP-115C
Перезагружаемся, проверяем от юзера.
Вот ещё хороший мануал, сохраню на всякий случай.
И драйвера, пожалуй, отзеркалю. В архиве (tar.gz, 2МБ) все пакеты с brother.com под данный принтер и сканер.
И ещё по теме:
Официальная инструкция по настройке сканера:
http://welcome.solutions.brother.com/bsc/public_s/id/linux/en/instruction_scn1a.html (http://www.peeep.us/f0c16cef)
Ещё хорошая инструкция:
http://manoftherambla.wordpress.com/2012/06/17/install-brother-dcp-115c-printer-in-lubuntu-12-04/ (http://www.peeep.us/dfc1d674)
И форумы:
http://ubuntuforums.org/showthread.php?t=1592489 (http://www.peeep.us/fcaa5871)
https://www.kubuntuforums.net/showthread.php?60589-Brother-DCP-115C-scanner-not-identified-in-Kubuntu-12-10-64-bit
http://forum.ubuntu-fr.org/viewtopic.php?id=889791 (http://www.peeep.us/35db75d4)
13 июня 2011 г.
Как закодировать музыку в FLAC
# apt-get install flac
Кодируем:
$ flac --best audio.wav
--best означает наивысший уровень сжатия.
Уровень сжатия определяется ключами -0 ... -8 или
--compression-level-0 ... --compression-level-8.
Ключ --best – синоним --compression-level-8.
По умолчанию уровень сжатия 5.
Чтобы раскодировать FLAC, запускаем flac с ключом -d:
$ flac -d audio.flac
Подробнее о FLAC читаем:
man flac
Как закодировать музыку в MP3
# apt-get install lame
Кодируем:
$ lame sound.wav
Ключ -b указывает битрейт, по умолчанию 128kbps:
$ lame -b 320 sound.wav
12 июня 2011 г.
Как скопировать музыку с Audio CD в WAVE
# apt-get install cdparanoia
Копируем все треки в отдельные wav-файлы:
$ cdparanoia -BZ
Ключ Z отключает функции корректировки. Если диск потертый и заезженный, этот ключ можно убрать, тогда команда будет выглядеть так:
$ cdparanoia -B
Копируем весь диск в один файл:
$ cdparanoia -Z "[::]-" CDImage.wav
Копируем с 3-го по 5-ый треки:
$ cdparanoia -BZ "3-5"
15 января 2011 г.
PyICQt - транспорт ICQ в ejabberd
Я уже рассказывал, как установить jabber-сервер ejabberd. Теперь попробуем прикрутить к нему ICQ-транспорт, чтобы общаться с пользователями аськи из своего джаббер-клиента.
Прикручивать будем icq-транспорт PyICQt.
Установка транспорта
Для начала скачаем и распакуем PyICQt:
cd /opt wget http://pyicqt.googlecode.com/files/pyicqt-0.8.1.1.tar.gz tar -xzvf pyicqt-0.8.1.1.tar.gz ln -s pyicqt-0.8.1.1 pyicqt
Зависимости: (см. файл /opt/pyicqt/INSTALL)
— Python (>= 2.2.0)
— Twisted (www.twistedmatrix.com)
— optional: epoll (>= 0.4)
Установка зависимостей
В системе должны быть установлены Python (>= 2.2.0) и написанный на нем фреймворк Twisted.
Установка:
Для Fedora: sudo yum install python-twisted
Для Ubuntu: sudo apt-get install python-twisted
Настройка взаимодействия PyICQt и ejabberd
В секцию «listen» файла ejabberd.cfg (допустим, в ее начало) добавляем cтрочку:
{5347, ejabberd_service, [{host, "icq.test.ru", [{password, "secret"}]}]},
Создаем файл /opt/pyicqt/config.xml с таким содержимым:
<pyicqt> <jid>icq.test.ru</jid> <spooldir>./spool</spooldir> <pid>./pyicqt.pid</pid> <mainServer>test.ru</mainServer> <mainServerJID>test.ru</mainServerJID> <port>5347</port> <secret>secret</secret> <encoding>cp1251</encoding> <icqServer>login.icq.com</icqServer> <icqPort>443</icqPort> <admins> <jid>admin@test.ru</jid> </admins> <disableAvatars/> <reactor>epoll</reactor> <usemd5auth/> </pyicqt>
Перезапускаем ejabberd и стартуем транспорт:
ejabberdctl restart
python /opt/pyicqt/PyICQt.py > /opt/pyicqt/log 2>&1 &
На всякий случай можно посмотреть, стартовал ли процесс и все ли чисто в логе:
cat /opt/pyicqt/log
ps ax |grep py
Это все!
Теперь можно в вашем любимом клиенте сделать «Service Discovery», опросить сервер test.ru, найти icq.test.ru и зарегистрироваться с указанием UIN и пароля.
P.S. Мой сервер не смог соединиться с icq-сервером по доменному имени, поэтому в /opt/pyicqt/config.xml в директиве icqServer я тупо указал IP-адрес сервера login.icq.com:
<icqServer>64.12.202.116</icqServer>
Хабрахабр: Установка Ejabberd + PyICQt в Linux
OpenNET: Установка ejabberd и транспорта в icq-сеть. Руководство к действию.
7 января 2011 г.
Jabber-сервер ejabberd под Ubuntu
Компьютер под управлением Ubuntu 10.10. Пробуем установить Jabber-сервер.
Ставить будем сервер ejabberd.
Устанавливаем пакет ejabberd из репозитария:
apt-get install ejabberd
Редактируем конфиг сервера - /etc/ejabberd/ejabberd.cfg.
Указанный пользователь будет записан в администраторы сервера:
{acl, admin, {user, "andrew" }}.
Хост, на котором будет работать сервер:
{host, "test.ru"}.
Ejabberd с версии 0.9 поддерживает виртуальный хостинг, так что хостов может быть много. Если нужно поддерживать несколько хостов, используйте опцию hosts.
Язык, на котором будут выдаваться сообщения сервера:
{language, "ru"}.
Проверяем, чтобы нужные порты были открыты:
[{5222, ejabberd_c2s, [{access, c2s}, % это соединение клиент-сервер, достаточно для организации нешифрованных соединений. {5269, ejabberd_s2s_in, % соединение сервер-сервер, для общения с клиентами других серверов. {5280, ejabberd_http, % веб-интерфейс
Чтобы разрешить пользователям самостоятельно регистрироваться в системе, находим строчку
{access, register, [{deny, all}]}.
и меняем deny на allow
{access, register, [{allow, all}]}.
Пробуем перезапустить (или запустить) сервер.
/etc/init.d/ejabberd restart
Смотрим лог /var/log/ejabberd/ejabberd.log (возможно, /var/log/ejabberd/sasl.log).
Если всё нормально, регистрируем пользователей.
ejabberctl Usage: ejabberdctl node command command: ... register user server password -- register a user ...
Регистрируем пользователя, которого указали как админа (andrew).
ejabberdctl register andrew test.ru password
Заходим браузером по адресу http://localhost:5280/admin, вводим полный JID администратора (andrew@test.ru) и пароль и администрируем.
Для Windows есть простой jabber-клиент jajc, под Ubuntu можно использовать Empathy, для мобильников есть клиент Bombus.
Ссылки по теме:
Обсуждение на русскоязычном форуме Ubuntu
Подробная инструкция на lissyara.su: ejabberd + mysql + icq transport
Установка ejabberd на Gentoo Linux
Записки старого сисадмина: если не получается зарегистрировать администратора
Установка и настройка сервера jabberd