четверг, 29 января 2009 г.

lame. скрипт

Бухгалтерша озадачила меня просьбой сконвертировать wav файлы в mp3.
Нашел lame, который работает так:
$ lame -h --mp3input pesnya.wav
Выйдет файл с сжатием mp3, без уничтожения wav файла. Но lame упорно не хотел работать с кучей файлов за раз.
Написался скрипт:
#!/bin/sh
do lame -h --mp3input ${i%};
done
Это первый мой скрипт. Поэтому есть некоторая издержка. При выходе выдает файлы вида pesnya.wav.mp3. Это будет происходить и без скрипта, если не указывать явное имя файла.
Скрипт сделать исполняемым, переложить в /bin

smbclient

Войти на расшаренный ресурс на самбе
$ smbclient //Serv/obmen -U user password

Сканер Epson 1670 в Ubuntu

По работе пришлось срочно поставить сканер. Сделал это по англоязычным описаниям.
Скачал какой-то бинарник по адресу http://leroybrown.glassmelter.com/binaries/ESFW30.BIN
Потом закинул его в /ets/sane.d
Открыл файл /etc/sane.d/snapscan.conf и поменял в начале строку firmware /path/to/your/firmware/file.bin на /etc/sane.d/ESFW30.BIN
Немного подумал, на всякий случай права 777. Нужно ли было?
Все. Xsane заработал.
Думаю, что бинарник виндовый. Хотя могу ошибаться.

вторник, 20 января 2009 г.

Автодополнение по таб в bash

В Ubuntu не работало автодополнение по tab. Оказывается отсутствовал файл ~/.bashrc со следующим содержимым:
if [ -f /etc/bash_completion ]; then
./etc/bash_completionfi
Кроме этого в системе должен присутствовать пакет bash-completion

пятница, 16 января 2009 г.

Proxy-сервер в терминале

Часто приходится что-либо делать через прокси-сервер (emerge, aptitude для дебианов). В гуевых настройках все ясно.
А в терминале делается так
$ export http_proxy="http://10.0.0.5:8080"
Это для http трафика. Для ftp трафика
$ export ftp_proxy="ftp://10.0.0.5:8080"
Работает под OpenBSD, Gentoo, Debian. Думаю для всех.

пятница, 9 января 2009 г.

Что такое initrd?

Гуглил, спрашивал в чатах, потом гуглил еще и для закрепления получившегося результата погуглил еще раз.
Значит, вкратце, что я понял об initrd. Это такой виртуальный образ диска, который необходим на некоторое время во время загрузки ядра, как связующее звено между ядром и файловой системой, расположенной на диске. Это в том случае, если ядро не умеет это делать само.
Не все еще ясно. Надо погуглить еще.

uuid или root?

В grub лучше прописывать пути разделов по uuid, чем по root, так как при добавлении еще одного винчестера все может полететь. Каким образом? Допустим я указал путь /dev/sda1 как раздел для /boot. Если я вставлю еще один диск и он определится в системе как sda, а мой старый диск естественно сдвинется, став каким-нибудь sdb, то раздел с /boot у меня окажется на разделе sdb1. Система, таким образом, перестанет грузиться.

Подробно про uuid можно прочитать в википедии

среда, 7 января 2009 г.

Gentoo и VirtualBox

В конце-концов установить полностью и правильно мне не удалось. Не могу припомнить причину. Но помню что ошибка шла уже после загрузки GRUB. Не думаю, что причина в VirtualBox, скорее, я сам чего-то не доглядел.
Несмотря на неудачу, я много что понял в установке Gentoo. Решил ставить уже непосредственно на жесткий диск.

суббота, 3 января 2009 г.

Как проверить архитектуру своего процессора?

Просто пишем
$ uname -m
Полезно при заполнении make.conf

Откудого брать stage3?

Вся моя вчерашняя работа коту под хвост. Дело в том, что на зеркале fido.online.kz/gentoo не было последнего стейджа. А я установил, имеющийся последний 2007.0, вместо вышедшего 2008.0 Из-за этого у меня были проблемы с Portage.
Сейчас использую mirror.yandex.ru

четверг, 1 января 2009 г.

Конфигурирование make.conf

Важный момент при установке Gentoo. Хотя можно все оставить как есть. Но мой пытливый ум просил разъяснений.

По сути, редактирование этого файла, есть настройка параметров компиляции в дальнейшем, влияющие на поведение Portage.

CHOST="i686-pc-linux-gnu" Эта строчка не подлежит редактированию. В handbook говорится, что если вы обнаружили тут ошибку, то это означает что вы используете не тот stage3

CFLAGS="-march=prescott -O2 -pipe" Здесь мы указываем параметры для оптимизации компиляции программ на Си."-march" - это тип процессора, архитектура. Под каждый процессор своя переменная. Посмотреть разные варианты оптимизации для разных процессоров Intel можно по ссылке. Там же, можно найти для AMD. Буква -O определяет класс оптимизации. Есть оптимизация по размеру "s", а есть по скоростям (если я правильно понял). В данном случае, под мой процессор оптимально ставить 2. -pipe - очень сложная для "непрограммисткого" понимания вещь. Попробую понять и объяснить. Есть разные этапы компиляции. И вот эти разные этапы в процессе должны общаться между собой. Обычно, этапы создают временные файлы, к которым могут обращаться уже другие этапы. А с указанием этой опции, скорость увеличивается за счет использования специальных "труб-каналов".

CXXFLAGS="${CFLAGS}" Здесь все просто. Это парамерты для C++. Параметры импортируются с CFLAGS=

MAKEOPTS="-j2" Тут указывается сколько процессов компиляции можно запустить при установке пакета. Чаще всего (рекомендуется) ставить значение равное количеству процессоров+1.

Есть еще опция -fomit-frame-pointer. Ее ставить не рекомендуется в большинстве случаев, хоть это увеличит скорость на несколько процентов и меньший размер файла. Эта опция означает не создавать пролог функции (?), там где это не требуется. Не рекомендуется ставить эту опцию для x86 архитектуры. На x86_64 эта опция включается автоматически. Хорошо и более подробно об этом написанно здесь

Сложновато. Но приятно, что хоть что-то начало проясняться.

Проверка целостности файла с md5sum

Теперь я знаю как проверить целостность файла с помощью MD5. По мне, это удобнее чем с помощью GnuPG ключа.

Качается файлик с окончанием *.DIGESTS. В моем случае, это stage3-x86-2007.0.tar.bz2.DIGESTS Думаю, что он должен лежать в том же месте, куда я положил stage3-x86-2007.0.tar.bz2
Потом проверяем
$ md5sum -c stage3-x86-2007.0.tar.bz2.DIGESTS

Выйдет сообщение, что все ОК.

UPD: Оказывается можно проверять еще с помощью файлов *.md5sum. И такой вид как бы более популярнее чем *.DIGESTS

Сеть в Virtualbox

Я два дня мучался с настройками сети в виртуальной машине. По ходу дела, снес дебиан. Думал что по каким-то причинам перестала работать сеть. Второпях поставил убунту, на него Virtualbox.

Ужасная приблудина Network Manager 0.7.0 очень сильно глючила. При перезагрузке сбрасывала мои настройки для статики на DHCP. Снес, настроил все руками. Подозреваю что в дебиане была такая же проблема. Некогда было разбираться.

Итак о сети в Virtualbox. Ее оказывается настраивать и не нужно. Я имею в виду для доступа в интернет. Все подхватывается по DHCP. При этом не будет работать ping, и еще что-то. Не помню.

В данный момент качается stage3 с виртуальной машины, с links-браузера. Пока все просто.

Настроение посленовогоднее.