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

среда, 29 апреля 2009 г.

Debian GNU/Linux 5.0 Lenny и Eee PC 701 4G

Как можно понять из заглавия, не хватило у меня терпения на Xandros. Очень уж много там надо убирать лишнего и ставить своего. Конечно, не поспоришь, разработчики постарались на славу: для обычного неподготовленного пользователя Eee PC с Linux в стандартной настройке - это очень и очень удобно. Всё просто и понятно - ничего лишнего. Напоминает даже не ноутбук(путь и маленький), а какой-то большой КПК с его менюшками, стандартными кнопочками и т.д. Но если начать копать глубже, менять что-то, то нарываешься на множество раздражающих вещей. То сделать нельзя, это не получится, сюда смотреть не желательно, туда вообще не надо и т.д. Кеды, которые я туда поставил, быстро надоели. Да и подглючивали немного. Снести половину софта пакетный менеджер не дал, ругнувшись на зависимости(или предлагал снести слишком много). Последнее, что меня добило - это в режиме "Полноценного рабочего стола"(читай KDE) при загрузке нетбук не спрашивает логина с паролем. Нужно переключаться в стандартный режим. И, да. Добавлять других пользователей помимо стандартного бесполезно. Залогиниться не получится. Автоматом идёт загрузка в стандартного пользователя. В принципе, я нашёл, кто отвечает за такую загрузку, где идёт управление пользователями, но исправлять это и приводить систему в нормальный вид мне было уже неохота. Зачем, если можно поставить нормальную систему, которая 100% хорошо работает.
Отсюда берём образ инсталятора. Заливаем его на флешку:
dd if=debian-eeepc.img of=/dev/sda

И грузимся с флешки(при старте нетбука надо нажимать Esc, чтобы выбрать загрузочное устройство).
Далее идёт обычная всем знакомая установка Debian из сети. К слову, wi-fi-карточка определилась сразу и даже замечательно подхватила ключ шифрования. А так же без проблем прописались настройки прокси-сервера с авторизацией. В этот раз я впервые в жизни выбрал reiserfs и пункт "Окружение рабочего стола"(а так же выбрал пункт "Для ноутбуков"). Всё прошло замечательно.
Теперь на моём нетбуке Debian. Скинув туда бекапы моих отточенных временем конфигов, я получил привычную рабочую систему. При этом не пришлось настраивать ничего. С питанием работает нормально, заряд батареи показывает адекватно. Жаловаться нечего.
Единственное, что я ещё не проверял - web-камеру. По-моему не определилась. Но точно не знаю.
Вот man по установке(дублировать здесь не вижу смысла).

Updated: web-камера работает. Надо было просто включить её в /sys.
echo 1 > /sys/devices/platform/eeepc/camera

вторник, 28 апреля 2009 г.

Рекурсивное удаление файлов

рекурсивное удаление всех файлов в директории и её поддиректориях:
find ./ -type f -delete

Скрипт работы с cd/dvd-дисками в консоли.

Вот, роясь на просторах винта, откопал старый скрипт для записи/очистки и т.д. дисков в консоли. Писал во времена, когда не признавал почти никаких GUI-приложений.


#!/bin/bash
#
TMPFILE=/home/cppmm/wtmp/cdrom.iso

# Определение действия.

case $1 in
wr)
FUNC="f_write"
;;
cp)
FUNC="f_copy"
;;
cl)
FUNC="f_clear"
;;
ch)
FUNC="f_check"
;;
wi)
FUNC="f_write_iso"
;;
help)
FUNC="f_help"
;;
*)
FUNC="f_help"
;;
esac
shift

# Определение параметров.
until [ -z $1 ]
do
if [ "$1" = "-d" ]
then
DIR="$2"
shift
fi
if [ "$1" = "-s" ]
then
SPEED="$2"
shift
fi
if [ "$1" = "-o" ]
then
ODISK="$2"
shift
fi
if [ "$1" = "-i" ]
then
IDISK="$2"
shift
fi
if [ "$1" = "-f" ]
then
ISO="$2"
shift
fi
shift
done

# Функйия проверки наличия переменных и оповещения.
f_var_check() {
case "$1" in
v_help)
echo "Для справки: cd.sh help"
exit 0
;;
v_dir)
if [ -z "$DIR" ]
then
echo "Нужно указать директорию, подготовленную для записи."
f_var_check v_help
fi
;;
v_odisk)
if [ -z "$ODISK" ]
then
echo "Нужно указать устройство, производящее запись."
f_var_check v_help
fi
;;
v_idisk)
if [ -z "$IDISK" ]
then
echo "Нужно указать устройство, с которого производится копирование."
f_var_check v_help
fi
;;
v_speed)
if [ -z "$SPEED" ]
then
SPEED="4"
echo "Скорость записи не установленна. По-умолчанию 4"
echo "Продолжить? [Y/n]: "
read ANSWER
case $ANSWER in
[nN])
f_var_check v_help
;;
*)
;;
esac
fi
;;
v_eject)
eject -r /dev/${ODISK}
echo "Вставьте записываемый диск и нажмите Enter."
read ready
eject -t /dev/${ODISK}
;;
v_iso)
if [ -z "$ISO" ]
then
echo "Укажите файл образа."
f_var_check v_help
fi
;;
esac
}

# Функция записи дирректории на диск.
f_write() {
f_var_check v_odisk
f_var_check v_dir
f_var_check v_speed
mkisofs -V "Disk" -l -J -R -v -o ${TMPFILE} ${DIR}
f_var_check v_eject
cdrecord -v -dev=/dev/${ODISK} -speed=${SPEED} ${TMPFILE}
rm -f ${TMPFILE}
}

# Функция копирования диска.
f_copy() {
f_var_check v_odisk
f_var_check v_idisk
f_var_check v_speed
dd if=/dev/${IDISK} of=${TMPFILE} bs=2048
f_var_check v_eject
cdrecord -v -dev=/dev/${ODISK} -speed=${SPEED} ${TMPFILE}
rm -f ${TMPFILE}
}

# Функция очистки диска.
f_clear() {
f_var_check v_odisk
cdrecord dev=/dev/${ODISK} -blank=all
}

# Функция проверки размера будующего образа.
f_check() {
f_var_check v_dir
echo "Размерв байтах:"
expr `mkisofs -print-size -quiet $DIR` \* 2084

}

# Функция записи iso-образа.
f_write_iso() {
f_var_check v_odisk
f_var_check v_iso
f_var_check v_speed
cdrecord -v -dev=/dev/${ODISK} -speed=${SPEED} ${ISO}
}

# Функция помощи.
f_help() {
echo " Использование: cd.sh ДЕЙСТВИЕ ОПЦИИ"
echo " Действия:"
echo " wr запись директории на диск."
echo " cp копирование с диска на диск."
echo " cl очистка диска."
echo " ch проверка размера будущего образа диска из директории."
echo " wi запись на диск образа."
echo " Опции:"
echo " -d Директория, подготовленная для записи."
echo " -f Файл ISO."
echo " -i Исходный диск."
echo " -o Диск, подготовленный для записи."
echo " -s Скорость записи."
}

$FUNC

пятница, 24 апреля 2009 г.

Asus Eee Pc 701 4G

Ещё давно, прочитав на каком-то техническом сайте о том, что прогнозируется появления такой железки, мне почему-то сразу захотелось с ней поиграться. Тем более было анонсировано, что на борту устанавливается Linux. И вот, через несколько лет с того момента, я, наконец, приобрёл себе этот нетбук. Специально остановился на младшей модели из линейки, потому как характеристики железа тут всё-равно круче, чем у моего первого компа, а как плюс идёт более длительное время работы.

Итак, знакомство.

Первый взгляд снаружи.

В Томске найти поначалу не удавалось. Различные версии Eee PC встречал, но все они были старших моделей и все они были с виндой. Дошло то дого, что я, отчаявшись найти нетбук тут, начал искать его в online-магазинах. Затея с треском провалилась: во всех магазинах стояла пометка, нет на складе, а на письма с просьбой уточнить, можно ли заказать, либо вообще не было ответа, либо фраза "Нет и не будет". В конце концов я уже договорился с одним замечательным человеком из Москвы, знакомым по linux-форуму, что он там его купит и вышлет мне и буквально на следующий день увидел в одном из местных компьютерных магазинов желаемую машинку. Был даже выбор из разных моделей, но я всё-таки взял младшую. Единственный минус - цвет: первоначально хотел чёрный, но пришлось взять белый с розовой крышкой. :) Ну это, в принципе, не важно.

Первый взгляд изнутри.

Стандартный интерфейс напоминает больше какой-то КПК, а не полноценный ноутбук. Я перепробовал много разных оконных менеджеров, но тут сперва даже немного растерялся. Какие-то вкладки, какие-то кнопочки... Всё предельно просто и понятно, но неинтересно. Первый вопрос, который у меня возник - где же терминал? :) Гугл сказал, что он вызывается по Alt+Ctrl+T. Уже лучше. Так же играясь с настройками и бегая по менюшкам наткнулся на неработающую web-камеру. Оказалось, надо было в BIOS опцию "OS Installation" переключить в значение Finished. Так же удивил набор программ. В качестве проигрывателя аудиофайлов используется amarok(ага, т.е. там KDE), а мессенджера Pidgin(или всё-таки Gnome?). Остальной софт такой же раношёрстный, но, в принципе, приемлемый - полный комплект OpenOffice.org, Firefox в качестве браузера, набор каких-то простеньких игрушек и т.д. В общем, стандартная комплектация. И тут я нахоже первый момент, которыймне совершенно не понравился в стандартном интерфейсе - невозможность устанавливать свои программы. Так же нет привычного списка открытых окон(читай панели задач). Ну и вообще, как-то не привык я пользоваться чужими настройками. Хочу своё.


Копаем глубже.

Стандартная документация ничего внятного по поводу используемой DE и её смены ничего не сказала, поэтому в руки берётся гугл и начинается штурм.


Итак, на борту:

ОС: Xandros Linux специально допиленный для Eee PC.

WM: IceWM, с какой-то Asus'овской утилитой управления рабочим столом.

Первое, что удаётся найти - это возможность включить панель задач с кнопкой меню.

Копируем системный файл с настройками IceWM в домашнюю директорию и выставляем опцию TaskBarShowStartMenu в значение 1:

$ cat /etc/X11/icewm/preferences > /home/user/.icewm/preferences

Ребутаемся(или рестартим иксы, кому как удобнее) и радуемся работающей панельке.

Стало немного удобнее, но хотелось бы большего. В конце концов, поискав ещё немного в гугле, выясняется, что можно подключить нормальные человеческие репозитарии и поставить любой, нужный для работы софт. Так как Xandros основан на Debian, правим /etc/apt/sources.list(надо быть осторожным, потому что из всех, найденных мной в инете адресов репозитариев, половина не работала). Да, править надо с правами root'а. Это либо через sudo, либо, сделава sudo passwd и потом su.

Дальше, как обычно.

# apt-get update

# apt-get dist-upgrade

Вот тут и натыкаемся на первые грабли. Причём, судя по интернету не я первый. Видимо, из-за того, что пакетов много и все разные, получаем конфликт - keyboardmap-data не может установиться из-за мешающего ему пакета keyboardmap-data-ru-ru. Решилось удалением последнего спомощью apt-get remove и повторным запуском apt-get dist-upgrade.

В большинстве обзоров и статей предлагается в качестве стандартного DE использовать кеды. Я решил не выделяться пока и пошёл по проторенной дорожке:

# apt-get install advanced-desktop

Это мета-пакет с KDE и всем, что ему надо.

После установки, на вкладке настроек рабочего стола, выбираем пункт "Быстрое выключение" и там жмём на "Полноценный рабочий стол". После ребута мы видим KDE. :)

Ну а потом всё пошло совсем просто. Первым делом я удалил всё, что мне не нужно - игры, pidgin, amarok, половину OO.o, оставив только Writer и Calc и там ещё что-то по мелочи, полюбовался проделанной работой и установил набор, любимого мной софта: psi, xchat, audacious и т.д. Как практически в любом дистрибутиве понадобилось поставить кодеки. Через некоторое время у меня была полностью рабочая система, настроенная так, как мне нужно.

Итоги знакомства и первые впечатления.

Понравилось. После первого взгляда на xandros возникла идея сразу же его снести и поставить родной Debian. Пока что повременю. Да и к тому же надо разобраться с организацией файловой системы. Из-за некоторых особеннойстей работы с SSD-флешками(которая тут вместо винта) файловая система устроена несколько необычно - подробнее распишу, когда сам разберусь.

Батарейка, как и обещали, держит неплохо. Полноценного теста ещё не проводил, но, к примеру, 5-минутный клип на полном экране с максимальной яркостью и громкостью, работающим в фоне apt-get'ом, Firefox-ом, Psi и ещё парой терминалов, включённым wi-fi не отобрал у батареи ни одного процента заряда.

К слову о скорости работы и многозадачности - никаких тормозов. Ни у каждого так хорошо полноценные десктопы работают.

Остался только один минус, с которым пока не успел разобраться. При подключении флешек и SD-карт постоянно выскакивает противное окошко с предложением открыть флешку в файловом менеджере или ещё в чём-нибудь. Отвечает за это некий usbstorageapplet, который даже если убить его по kill -9 всё равно каким-то процессом воскрешается. Почему нельзя было сделать автомонтирование как у всех нормальных людей с помощью udev без привлечения лишних приблуд - не понимаю. Но скоро с этим разберусь. :)


Отдельно хочется отметить сайты:

eeeusers.org и eee-pc.ru

тут можно найти достаточно много грамотной документации.

пятница, 10 апреля 2009 г.

Монтирование образов жёстких дисков.

При работе с виртуальной машиной(qemu или VirtualBox) создаётся отдельный образ жёсткого диска со своей таблицей раздела и своими файловыми системами. Иногда нужно что-то быстро оттуда скопировать. Наладка сети между виртуальной машиной и хост-компом не всегда удобно, потому как если копировать надо много, занимает очень много времени. Расшаренные общие директории тоже не выход, так как для этого нужно устанавливать дополнительное ПО в хост-системе. Но выход есть.
Сперва надо переконвертировать образ диска в формат raw(как это сделать, надо смотреть в документации к используемой вирт-машине).
Далее подключаем образ к loop-устройству:
# losetup /dev/loop0 disk_image.raw

Разбиваем его на разделы:
# kpartx -av /dev/loop0

Проверяем, как всё прошло:
# ls -alF /dev/mapper
brw-rw—- 1 root disk 253, 4 2007-11-24 14:56 loop0p1
brw-rw—- 1 root disk 253, 5 2007-11-24 14:56 loop0p5

И, собственно, монтируем:
# mount /dev/mapper/loop0p1 /mnt/


Решение взято отсюда.