четверг, 21 июля 2011 г.

Второй день с Gentoo. Свои записки

Уже успел 2 раза пересобрать ядро: первый раз вообще с лоадером налажал, второй - все пошло ок (даже запустился не с бутсиди), но не стали некоторые дрова.
Повезло, что нашелся http://en.gentoo-wiki.com/wiki/Asus_P52Jc , где конфигурация подобна моей и расписано, где какие дрова подключать нужно

Upd: с третьего раза цель достигнута: инет есть и включается автоматически :)

Не забыть следующий раз потестить
http://ru.gentoo-wiki.com/wiki/%D0%A3%D1%81%D0%BA%D0%BE%D1%80%D0%B5%D0%BD%D0%B8%D0%B5_portage_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_tmpfs

Запишу-ка тут, чтоб не забыть
use: nano -w /etc/make.conf
nano /etc/portage/package.use






Sometimes you want to declare a certain USE flag for one (or a couple) of applications but not system-wide. To accomplish this, you will need to create the /etc/portage directory (if it doesn't exist yet) and edit /etc/portage/package.use. This is usually a single file, but can also be a directory; see man portage for more information. The following examples assumepackage.use is a single file.
For instance, if you don't want berkdb support globally but you do want it for mysql, you would add:

Code Listing 2.3: /etc/portage/package.use example
dev-db/mysql berkdb
You can of course also explicitly disable USE flags for a certain application. For instance, if you don't want java support in PHP:

Code Listing 2.4: /etc/portage/package.use 2nd example
dev-php/php -java





****
Мои разделы:

1 - swap
 mkswap /dev/sda1
 swapon /dev/sda1
2 - boot
 mke2fs \dev\sda2
3- lin
 mke2fs - t ext4 \dev\sda3

****
Софт:

Если вы устанавливаете систему на ноутбук, то есть смысл использовать демон ifplugd, который автоматически проверяет, подключен ли кабель локальной сети к сетевой карте.
# emerge ifplugd

mc - коммандер
unetbootin - создание загрузочных ЮСБ
wgetpaste - постит вывод на pastebin.com и подобные


Устанавливаем шрифты:
# emerge terminus-font intlfonts freefonts cronyx-fonts corefonts

bluez - блутус
amarok - плеер
 kmix - просто регулятор громкости
gwenview- просмоторщик картинок
okular- пдф и дежавю глядеть
kate текстовик
k3b - болванки писать
libreoffice - офис
ccache - ускорит компиляцию
openrdate - синхронизация часов
(/etc/init.d/openrdate start
rc-update add openrdate default)
Ufed - редактирование флагов
Abiword - аналог офиса
KOffice - офис для КДЕ
o install mplayer and win32codecs together, type "emerge win32codecs mplayer". If you'd like to use a frontend for mplayer, you can choose from many frontends available like 'smplayer' or 'kmplayer'.


emerge epm
epm -qa
спиок установленых пакетов


emerge -av elogviewer
Вьювер логов. для работы требует

PORTAGE_ELOG_CLASSES="info warn error log"
PORTAGE_ELOG_SYSTEM="save"



emerge @kdebase
emerge eix // если нет  emerge @kdebase

[18:14:41] VeTaL: eix-update

eix kdebase



/etc/make.conf

emerge nvidia-drivers

****

cannot open consolekit session
[22:42:03] Дмитрий Сбойчаков: ставишь consolekit
[22:42:16] Дмитрий Сбойчаков: если нету что странно
[22:42:26] VeTaL: нету) ставлю)
[22:42:35] Дмитрий Сбойчаков: дальше rc-update add consolekit boot


****
- smth (masked by: ~amd64 keyword)

/etc/portage/package.keywords
=smth ~amd64


*****

At the time of this writing, this camera was not included in the list of "flipped" cams in media-libs/libv4l-0.8.3. If the version you are using shows "flipped" image, you have to add two lines in the source code and rebuild the package.
Code: media-tv/v4l-utils/lib/libv4lconvert/control/libv4lcontrol.c
{ 0x04f2, 0xb1e5, 0, "ASUSTeK Computer Inc.        ", "P52Jc",
   V4LCONTROL_HFLIPPED | V4LCONTROL_VFLIPPED },
and rebuild media-tv/v4l-utils package with USE=qt4 flag to be able to change camera settings using the qv4l2.





****http://ru.gentoo-wiki.com/HOWTO_Полное_обновление_системы
* Если обновляется хотя-бы один из linux-headers, glibc, binutils или gcc, то рекомендуется пересобрать их дважды, после чего весь system, после чего весь world.

Примечание: Цель двойной компиляции toolchain - получить гарантированно стабильный и корректный toolchain не зависящий от предыдущего. Перекомпилировать system/world после этого жёсткой необходимости нет, по крайней мере если остальной софт продолжает работать (возможно даже используя библиотеки из старого toolchain - см. предыдущие пункты об апгрейде).

Цель перекомпиляции system/world - чтобы весь софт получил потенциальное преимущество от установки нового toolchain. system перекомпилируется перед world из тех-же соображений, т.к. при компиляции программ из world используются утилиты из system.

# первая сборка toolchain
emerge linux-headers glibc binutils gcc-config gcc
# выбрать новый gcc если он установился в новый слот
gcc-config имя_или_номер_нового_gcc
# см. "gcc-config -l"
source /etc/profile
# компиляция toolchain с созданием бинарных пакетов
emerge -b glibc binutils gcc portage
# не компилить glibc, binutils и gcc
emerge -bke system
# не компилить предыдущие пакеты (включая system)
emerge -bke world


****

Насколько я понял, при установке дистрибутивов "из коробки" все необходимые скрипты для управления питанием ставятся автоматически. В случае же с джентой их придётся создавать самостоятельно. Первый скрипт, который мне понадобился: настройка включения экрана после закрывания/открывания крышки ноутбука.
Поставить acpid, если ещё не стоит:
# emerge sys-power/acpid
# /etc/init.d/acpid start
# rc-update add acpid default

Размаскировать и поставить vbetool (Run real-mode video BIOS code to alter hardware state (i.e. reinitialize video card)):
# echo sys-apps/vbetool ~x86 >> /etc/portage/package.keywords
# emerge sys-apps/vbetool

Создать файл:
# nano /etc/acpi/events/lid

event=button[ /]lid.*
action=/etc/acpi/lid.sh

# chmod 644 /etc/acpi/events/lid

Создать скрипт:
# nano /etc/acpi/lid.sh

#!/bin/sh
if grep -q open /proc/acpi/button/lid/*/state
then vbetool dpms on
else vbetool dpms off
fi

# chmod 755 /etc/acpi/lid.sh










Как создать бинарный пакет для последующей установки?

Создать бинарный пакет из уже установленного приложения можно посредством утилиты quickpkg. Пример:
quickpkg --include-config=y bash
--include-config=y позволяет сохранить измененные конфигурационные файлы, относящиеся к приложению, включаемому в пакет.
Для того чтобы создать бинарный пакет из приложения, которое еще не установлено в системе, необходимо воспользоваться ключом emerge --buildpkg(или --buildpkgonly, если необходимо только создать пакет без его установки в текущую систему).

Как ставить бинарные пакеты?

Gentoo, прежде всего, является source-based дистрибутивом. Это порождает как некоторые недостатки, так и преимущества. Существует множество замечательных бинарных дистрибутивов - пользуйтесь ими, если не можете или не хотите собирать основную часть ПО из исходников. Тем не менее, некоторое количество прекомпилированных пакетов идет в составе stage3-образов и GRP-диска.
PKGDIR=/mnt/cdrom emerge -k packet_name
Создавать собственные бинарные пакеты при установке можно передавая параметр --builpkg при emerge, или из уже установленных утилитойquickpkg.
И на десерт смотрим сюда - [1]


6 комментариев:

  1. Geeqie - просмотрщик картинок

    ОтветитьУдалить
  2. http://www.iml.ece.mcgill.ca/~stephan/autounmask

    ОтветитьУдалить
  3. http://blog.calindora.com/series/why-i-use-gentoo-linux/

    ОтветитьУдалить
  4. vetal@VeTaL ~ $ gcc-config -l
    * gcc-config: Active gcc profile is invalid!

    [1] x86_64-pc-linux-gnu-4.5.3

    надо было фигануть
    vetal@VeTaL ~ $ gcc-config 1

    типа переключиться на первый профайл) тогда система заподозривает что-то неладное, где-то в недрах что-то меняет и теперь можно заново емерджнуть гцц ))))


    gentoo * gcc-config: Active gcc profile is invalid!

    GCC 4.5: “checking whether the C compiler works… no”

    ОтветитьУдалить
  5. configure: error: C compiler cannot create executables

    ОтветитьУдалить
  6. Заменить в тексте
    # cp usr/src/linux/arch/x86_64/boot/bzImage /boot/kernel-2.6.39

    на
    # cp /usr/src/linux/arch/x86_64/boot/bzImage /boot/kernel-2.6.39

    ОтветитьУдалить