zed.0xff.me

с переездом однако :)

Перетащил блог на ec2+gentoo+ruby19+rails3+nginx.
Чему несказанно рад ^________^
Ну и енку заодно тоже смержнул до последней.
Итого на всё ушло что-то около 2 дней.

Installing Gentoo Linux on Sony Vaio VPC-Z13 // Ставим Gentoo линукс на Sony Vaio VPC-Z13

  1. get the EASEUS Partition Manager Home Edition – it’s free and less than 10M in size
  2. shrink the windows main NTFS partition from 128G downto 70G (for example)
  3. create a new 58G partition on free space. type must be Unformatted, I made a Logical partition.
  4. get the System Rescue CD iso and burn to CD or DVD
  5. boot the laptop from CD you just burnt (use F2 to enter BIOS setup)
  6. get Gentoo’s stage3-amd64 and portage-latest archives
1
2
3
4
5
6
7
8
9
10
# ls -la /dev/mapper
total 0
drwxr-xr-x  2 root root     160 Dec  4 19:12 .
drwxr-xr-x 14 root root    3320 Dec  4 16:12 ..
crw-rw----  1 root root  10, 61 Dec  4 19:12 control
brw-rw----  1 root root 253,  0 Dec  4 19:12 isw_bdfiifejbd_Volume0
brw-rw----  1 root root 253,  2 Dec  4 19:12 isw_bdfiifejbd_Volume01
brw-rw----  1 root root 253,  3 Dec  4 19:12 isw_bdfiifejbd_Volume02
brw-rw----  1 root root 253,  4 Dec  4 19:12 isw_bdfiifejbd_Volume03
brw-rw----  1 root root 253,  5 Dec  4 19:12 isw_bdfiifejbd_Volume05

Volume0 is a whole Vaio’s RAID drive (128G)
Volume01 is a some kind of recovery partition (8G)
Volume02 is a Win7 boot partition (100M)
Volume03 is a 70G C: (NTFS)
Volume05 is a unformatted 58G partition – Gentoo will live here

TBC

не суйте в EC2 что попало

Решил завести себе гентушный облачный сервер в амазоне.
Нашел AMI-шку ami-30cb2059
А там вот такая вот фигня в `/root/.ssh/authorized_keys`:

1
ssh-dss AAAAB3NzaC1kc3MAAACBAMhFaleO5K ...(скипнуто)... xAO20dHNKJAs= rich@rich64

т.е. добрый дядя Rich собрал образ Gentoo, и положил туда руту в authorized keys свой public key.. ну мало ли что, помочь там чего наверное.. или просто забыл..

так что мойте продукты амазоновские образы перед употреблением.

An error occurred during a connection to light.webmoney.ru

Нашел решение проблемы когда фаерфокс не может подконнектиться к light.webmoney.ru с сабжевой ошибкой – тут.

Вкратце:

1
NSS_SSL_ENABLE_RENEGOTIATION=1 /usr/bin/firefox

Возможно снижение безопасности SSL.

как установить ДубльГис на Gentoo

1
2
3
4
5
emerge -tva layman autounmask
echo "source /usr/local/portage/layman/make.conf" >> /etc/make.conf
layman -a sunrise
autounmask -n app-misc/2gis-data-2009.12
USE="kur chel ekb" emerge -tva 2gis

перед последним шагом в USE указать те города, которые хотим ставить.
текущие поддерживаемые:
kur astr barn biysk chel ekb irk kaz kem kras nkuz nnov nsk nvar odes omsk perm sam tim tom ufa

лечим ConsoleKit и PowerDevil от Introspectable/Introspect

В настройках KDE power management появились такие сообщения:

There are some issues in your configuration. Please check the Capabilities page for more details.

ConsoleKit was not found active on your PC, or PowerDevil cannot contact it. ConsoleKit lets PowerDevil detect whether the current session is active, which is useful if you have more than one user logged into your system at any one time.

А также сообщения в логах вот такого вида:

Oct 26 11:36:30 localhost dbus-daemon: Rejected send message, 1 matched rules; type="method_call", sender=":1.32" (uid=1000 pid=6311 comm="/usr/bin/systemsettings) interface="org.freedesktop.DBus.Introspectable" member="Introspect" error name="(unset)" requested_reply=0 destination="org.freedesktop.ConsoleKit" (uid=0 pid=4771 comm="/usr/sbin/console-kit-daemon))

Лекарство:

1
2
3
4
5
6
7
8
9
10
11
12
--- /etc/dbus-1/system.d/ConsoleKit.conf.bk 2009-10-26 11:18:56.000000000 +0500
+++ /etc/dbus-1/system.d/ConsoleKit.conf 2009-10-26 11:36:53.000000000 +0500
@@ -21,6 +21,9 @@
<deny send_destination="org.freedesktop.ConsoleKit" send_interface="org.freedesktop.DBus.Properties" />
+ <allow send_destination="org.freedesktop.ConsoleKit"
+ send_interface="org.freedesktop.DBus.Introspectable"/>
+
<allow send_interface="org.freedesktop.ConsoleKit.Manager" send_member="Restart"/> <allow send_interface="org.freedesktop.ConsoleKit.Manager"

Ссылки: 1 2 3

Gentoo: ядро 2.6.31 + xorg 7.4 + xorg-server 1.6.4

завелось:

  1. kde-base/kdm-4.3.1-r1
  2. media-libs/mesa-7.6
  3. sys-apps/dbus-1.3.0
  4. sys-kernel/gentoo-sources-2.6.31-r1
  5. x11-apps/xtrap-1.0.2
  6. x11-base/xorg-drivers-1.6
  7. x11-base/xorg-server-1.6.4
  8. x11-base/xorg-x11-7.4-r1
  9. x11-drivers/xf86-video-intel-2.9.0

насчет нужности xtrap не уверен

текущие проблемы с линуксом на ноуте

  1. i915 KMS включает 16-битный видеорежим. за счет этого только градиенты некрасивые, но фильмы и фотографии показываются без заметных глазу искажений.
    fixed with kernel 2.6.30
  2. довольно часто после просыпания сбрасывается KDE-шная сессия. приходится логиниться заново.
  3. чуть реже, опять же после просыпания, ноут не реагирует на клавиатуру, и как будто залипает ALT. лечится нажатием 32 раза на любую клавишу :)))
  4. иногда “залипает” клавиатура, и последняя нажатая клавиша повторяется раз 50 и более.. особенно неприятно когда переключаешься на первый virtual desktop, где живет firefox, и получаешь 50 нажатий f1 в firefox-e – т.е. 50 вкладок с попыткой открытия сайта его помощи :-\
    но эта проблема проявляется и на десктопе тоже, но реже, потому что он быстрее. грешу на xorg.

PS: ноут ibm x40

Gentoo: nemerge (удобный скрипт для установки обновлений)

Наверное, у всех есть свой любимый способ обновления установленных пакетов в Gentoo.
Возможно, у кого-то еще нет.
Возможно, это запуск каждый раз “emerge -Nutva —deep —with-bdeps y world”, или чего-то подобного.
Прилагаемый скрипт призван несколько сократить синтаксис команды обновления до состояния достаточно легкой запоминаемости и набираемости.

Предлагаю назвать его “nemerge” и положить в ~/bin или другое удобное для вас место :)

Скрипт поддерживает два ключа запуска:
  —yes  – автоматически отвечать “да” на запрос emerge “Would you like to merge these packages? [Yes/No]
  —sync – перед установкой обновить portage и, если установлен, layman

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/bin/sh

# "nemerge" script from http://zed.0xff.me/nemerge
# call me with "-y" (or --yes ) to auto-merge, without confirmations
# call me with "-s" (or --sync) to sync a portage tree (and layman, if installed) before updating
# call me with both to auto sync & update

ARGS=""
DO_SYNC=0
DO_AUTO=0

if [ `whoami` != "root" -a -x /usr/bin/sudo ]; then
        SUDO_CMD="/usr/bin/sudo"
else
        SUDO_CMD=""
fi

for v in "$@"; do
        if [ $v = "-s" -o $v = "--sync" ]; then
                DO_SYNC=1
        elif [ $v = "-y" -o $v = "--yes" ]; then
                DO_AUTO=1
        elif [ $v = "-sy" -o $v = "-ys" ]; then
                DO_AUTO=1
                DO_SYNC=1
        else
                ARGS="${ARGS} $v"
        fi
done

if [ $DO_SYNC -eq 1 ]; then
        if [ -x /usr/bin/layman ]; then
                echo "[.] synching layman.."
                $SUDO_CMD /usr/bin/layman -S
        fi
        echo "[.] synching portage.."
        $SUDO_CMD emerge --sync
fi

if [ $DO_AUTO -eq 1 ]; then
        echo "[.] merging automatically.."
        $SUDO_CMD emerge -Nutv --deep --with-bdeps y $ARGS world 
else
        echo "[.] merging interactively.."
        $SUDO_CMD emerge -Nutva --deep --with-bdeps y $ARGS world 
fi

xorg-server-1.6.1.901-r5 is borken!

Upgraded today xorg-server to 1.6.1.901-r5..

And spent 2 hours trying to revive my KDE+Xorg.

Symptoms: Xorg starts, mouse cursor appears, and you can move it. Then kdm tries to start.. and everything hangs. No reaction to ctrl-alt-backspace, no reaction to ctrl-alt-del, only can reboot my laptop holding its “power” button for a few seconds.

/var/log/Xorg.0.log says:

Backtrace:
0: /usr/bin/X(xorg_backtrace+0x38) [0x8139f98]

Fatal server error:
Caught signal 11. Server aborting
Please consult the The X.Org Foundation support
at http://wiki.×.org
for help.
Please also check the log file at “/var/log/Xorg.1.log” for additional information.

and nothing more.
I tried to rebuild xf86-input-* – nothing changed.

Helped only downgrading to xorg-server-1.6.1.901-r4.

So, r5 is a good candidate for /etc/portage/package.mask :)

Gentoo: миграция no-multilib -> multilib

Если при устновке/конфигурации amd64 генты был установлен профиль no-multilib, то официальная документация говорит нам:
bq{background:#ffbbbb}. Warning: Currently you cannot switch from a no-multilib to a multilib-enabled profile, so think over your decision twice before you use the no-multilib profile.

Но при наличии навыка гугления можно нарыть следующую линку: Howto switch to multilib, где описывается следующий грязный хак:

  1. распаковка “родного” amd64 stage3
  2. chroot в него
  3. заворачивание “родных” gcc и glibc в бинарные пакеты
  4. chroot оттуда :)
  5. мерж бинарных пакетов в целевую систему
  6. обновление gcc и glibc до последних/нужных стандартным emerge’м

Чем мы сейчас и займемся :)

Шаг №1. Меняем профиль.

(старый профиль ссылался на ../usr/portage/profiles/default/linux/amd64/2008.0/no-multilib)

1
2
3
cd /etc
rm make.profile
ln -s ../usr/portage/profiles/default/linux/amd64/2008.0/server make.profile

Шаг №2. Разворачиваем stage3

(не забываем заменить /path/to/ на реальный путь к stage3)

1
2
3
4
5
6
7
8
9
mkdir /mnt/gentoo
cd /mnt/gentoo
tar xvjpf /path/to/stage3-amd64-2008.0.tar.bz2
mount -t proc none /mnt/gentoo/proc
mount -o bind /dev /mnt/gentoo/dev
mount -o bind /usr/portage /mnt/gentoo/usr/portage
cp -r /usr/portage /mnt/gentoo/usr
chroot /mnt/gentoo /bin/bash
env-update

(если всё прошло без ошибок – то мы находимся внутри chroot-а свежераспакованного stage3)

Шаг №3. Заворачиваем glibc и gcc в бинарные пакеты

1
2
3
quickpkg glibc
quickpkg gcc
exit

(если всё прошло без ошибок – то должны создаться пакеты /usr/portage/packages/sys-devel/gcc-4.1.2.tbz2 и /usr/portage/packages/sys-libs/glibc-2.6.1.tbz2)
(версии могут отличаться если stage3 был не 2008.0)

Шаг №4. Ставим gcc и glibc из бинарных пакетов в целевую систему

1
emerge -Ktva glibc gcc

Шаг №5. Обновляем gcc и glibc до свежих

1
emerge -tva1 glibc gcc

Шаг №6. Cleanup

(выполнять только если все предыдущие шаги прошли успешно :)

1
2
3
4
umount /mnt/gentoo/proc
umount /mnt/gentoo/dev
umount /mnt/gentoo/usr/portage
rm -rf /mnt/gentoo

Шаг №7. Profit!! :)

Можем себя поздравить, всё прошло успешно! :) справедливость multilibность восстановлена! :)

PS: перевод “Howto switch to multilib” не дословный! Отражены некоторые вещи, отражающие более современную действительность и (imho) более системный подход.