Инсталиране на Gentoo от live CD или от друга дистрибуция.
С тази статия ше се запознаем с инсталационната процедура на Linux Gentoo от live диск на друга дистрибуция или директно от друга дистрибуция. Както се разбира ни е необходимо жив диск или действаща Линукс система. Избрал съм този вариант защото е удобен и лесен за по-начинаещи по простата причина че ше можем да ползваме интернет броузър и ше избегнем някои моменти от стандартната инсталационна процедура изложена в документацията на това чудесно дистро.
За един напълно начинаещ линукс потребител горещо препоръчвам да се запознае със следните неща тъй като по-надолу ше ги използваме и на сляпо или с практиката copy->paste (изключително позната от Windows) ще му бъде доста трудно:
Бърз поглед върху основните команди в Linux based Operating System - Основни команди
Тук много важно е да се запознаете с основните команди за работа с файлове като копиране, преместване, правене на папка в текстов режим. Обърнете особено внимание на командата man. Завбъдеще често ще ви се налага да я ползвате!!!
Как се работи с mount - цък
Какво е tar и как се работи с него - цък
Какво е wget и как да го ползваме - цък
Какво е и защо ни трябва linux kernel - цък
Работа с текстов едитор nano - цък
Как се работи с echo и какво представлява - цък
Едно отлично ръководство за пакетната система на Gentoo - цък
Какво е fstab - цък
Нека да не губим повече време и да започваме.
Както казахме вече ще ни трябва едно живо CD или ако вече имате действаща линукс дистрибуция. За първия вариант препоръчвам възможно най-комерсиално дистро като Ubuntu например по простата причина че ще ви разпознае всичкия хардуер и ще разполагате с графични приложения да си настроите връзката с интернет без която нищо няма да стане. Можем да си го изтеглим от тук
Първото нещо което трябва да направим е да си отделим дисково пространство за Gentoo. За целта препоръчвам parted и неговия GUI GParted. АКО МИСЛИТЕ ДА ПОЛЗВАТЕ РАЗНИ УИНДОУСКИ ПРОГРАМИ ЗА ЦЕЛТА СЕ ОТКАЖЕТЕ И СПРЕТЕ ДОТУК!!!!
Gparted има live cd което е препоръчително да ползваме за целта. Можем да си го изтеглим от тук
По въпроса с дяловете има много изприказвано и всякакви теории кое и как да се прави. Аз препоръчвам разделянето да е на два локални диска: виртуална памет (swap) - 2 пъти колкото РАМ-а ви, но НЕ повече от 512mb и един главен дял (/) не по-малко от 5Gb (за десктоп най-добре около 10)
Ако ползвате live CD-то което препоръчах разполага с GParted, а ако имате действаща линукс система можете да си го инсталирате.
Вече сме разделили твърдия диск и минаваме по-същество. Толкова беше с графичните приложения. Крайно време е да викнем терминала на помощ. Ако ползваме Ubuntu изпълнете:
- Код за потвърждение: Избери целия код
~$ sudo su
#
Монтираме главния дял на който ще инсталираме Gentoo:
Виждаме кой ни е дяла със:
- Код за потвърждение: Избери целия код
fdisk -l
И го монтираме:
- Код за потвърждение: Избери целия код
mkdir /mnt/gentoo
mount /dev/hdaX /mnt/gentoo
Сваляме си stage3 на вече монтирания от нас дял:
- Код за потвърждение: Избери целия код
cd /mnt/gentoo
wget ftp://gentoo.osuosl.org/pub/gentoo/releases/x86/current/stages/stage3-i686*tar.bz2
Съответно го разопаковаме:
- Код за потвърждение: Избери целия код
time tar xvjpf stage3*
Сега ни трябва пакетния мениджър. Ето как ше се сдобием с него:
- Код за потвърждение: Избери целия код
cd /mnt/gentoo/usr
wget http://gentoo.osuosl.org/snapshots/portage-latest.tar.bz2
И него разопаковаме:
- Код за потвърждение: Избери целия код
time tar xvjf portage*
Koлко много неща има в него нали.
Следва първата ни среща с Gentoo
Chroot-ваме:
- Код за потвърждение: Избери целия код
cp -L /etc/resolv.conf /mnt/gentoo/etc/
chroot /mnt/gentoo /bin/bash
mount -t proc none /proc
env-update && source /etc/profile
Оправяме си времевата зона:
- Код за потвърждение: Избери целия код
ls /usr/share/zoneinfo
(пример със Europe/Sofia)
cp /usr/share/zoneinfo/Europe/Sofia /etc/localtime
date
Настройваме host и domain name:
На примера въвеждаме host mybox и domain myplace. Разбира се всеки може да си зададе собствени такива!!!
- Код за потвърждение: Избери целия код
cd /etc
echo "127.0.0.1 mybox.at.myplace mybox localhost" > hosts
sed -i -e 's/HOSTNAME.*/HOSTNAME="mybox"/' conf.d/hostname
hostname mybox
Сверка какво сме направили:
- Код за потвърждение: Избери целия код
hostname -f
Идва най-трудната за начинаещите част от инсталацията. Aко ще ползвате системата си за десктоп и имате намерение да ползвате звук съответно ALSA слезте по-надолу в статията и прочетете кои модули ще са ви необходими!!!!
Компилиране на linux ядро:
- Код за потвърждение: Избери целия код
time emerge gentoo-sources
cd /usr/src/linux
make menuconfig
Конфигурираме си според нашия хардуер и:
- Код за потвърждение: Избери целия код
time make -j2
make modules_install
cp arch/i386/boot/bzImage /boot/kernel
Редактираме fstab:
- Код за потвърждение: Избери целия код
cd /etc
nano -w fstab
Някои редове може да са коментирани(#). Тези които ще ползваме си ги разкоментираме и трябва да се получи нещо такова:
- Код за потвърждение: Избери целия код
/dev/hda3 / ext3 noatime 0 1
/dev/hda2 none swap sw 0 0
Конфигуриране на мрежата. На примера е показана примерна конфигурация на мрежова карта eth0:
- Код за потвърждение: Избери целия код
cd conf.d
echo 'config_eth0=( "192.168.1.10/24" )' >> net
echo 'routes_eth0=( "default via 192.168.1.1" )' >> net
rc-update add net.eth0 default
Ако ползвате нет през pppoe ето една чудесна статия как да си го настроите след като завършим инсталацията и буутнете разбира се: цък
Задаваме си root парола:
- Код за потвърждение: Избери целия код
passwd
New UNIX password: парола
Retype new UNIX password: парола
Настройваме часовника:
- Код за потвърждение: Избери целия код
nano -w /etc/conf.d/clock
TIMEZONE="Europe/Sofia"
Тъй като аз имах доста проблеми с този момент препоръчвам да си го настроите без времеви зони а да си гледа BIOS-а. Това става така:
- Код за потвърждение: Избери целия код
/etc/conf.d/clock
CLOCK="local"
Инсталиране на някои полезни системни инструменти:
- Код за потвърждение: Избери целия код
time emerge syslog-ng vixie-cron
rc-update add syslog-ng default
rc-update add vixie-cron default
emerge xfsprogs (Ако ползвате XFS файлова система)
emerge jfsutils (Ако ползвате JFS файлова система)
emerge reiserfsprogs (Ако ползвате Reiser файлова система)
emerge dhcpcd (Ако имате нужда от DHCP клиент)
emerge ppp (Ако ползвате PPPoE ADSL връзка)
emerge ccache
emerge libtool
Инсталиране на bootloader. Примера е с grub. Мисля че е чудесен и с доста повече възможности от конкурентите му.
- Код за потвърждение: Избери целия код
time emerge grub
Редактираме конфига му:
- Код за потвърждение: Избери целия код
nano -w /boot/grub/grub.conf
Примерена конфигурация
- Код за потвърждение: Избери целия код
default 0
timeout 10
title=Gentoo
root (hd0,2)
kernel /boot/kernel root=/dev/hda3
Забележете че /dev/hda3 отговаря на (hd0,2). Това е защото груб брои от 0-ла. Имайте го в предвид. И да не забравите да смените стойностите с вашите!!!!! Отнася се и за следващата стъпка!!!!!
timeout е времето с което ще разполагате за избор на ОС - По ваш избор
title е името под което ше избирате съответната OС - По ваш избор
root - дяла където е разположен груб
kernel - кернела и дяла на който се намира
Инсталиране на grub:
- Код за потвърждение: Избери целия код
grub
grub> root (hd0,2)
grub> setup (hd0)
grub> quit
Добавяме си user:
- Код за потвърждение: Избери целия код
adduser -g users -G lp,wheel,audio,cdrom,portage,cron,video -m пешо
passwd пешо
Добавяме за начало няколко основни USE флагове. По-долу ше продължим тази процедура:
- Код за потвърждение: Избери целия код
echo 'USE="nptl nptlonly -ipv6 -fortran unicode"' >> /etc/make.conf
След всичко разбира се желателно е да обновим нашата нова система:
- Код за потвърждение: Избери целия код
emerge --sync
emerge -av portage
emerge -avuDN world
След като приключи ще бъдете уведомени за наличие на нови конфизи. Можете да ги/или да не ги актуализирате с:
- Код за потвърждение: Избери целия код
etc-update
Локализиране на системата. Примера е UTF-8
- Код за потвърждение: Избери целия код
cd /etc
nano -w locale.gen
И въвеждаме следното:
- Код за потвърждение: Избери целия код
bg_BG CP1251
bg_BG UTF-8
Създаваме си и този файл:
- Код за потвърждение: Избери целия код
nano -w /etc/env.d/02locale
В него слагаме това:
- Код за потвърждение: Избери целия код
LC_ALL="bg_BG.UTF-8"
LANG="bg_BG.UTF-8"
И изпълняваме:
- Код за потвърждение: Избери целия код
locale-gen
env-update && source /etc/profile
Идва ред на една от основната оптимизация в Gentoo система. Тя се извършва с т.н. флагове. Основния е на процесора - Safe flags. Можем да видим нашия какъв е тук и си го въвеждаме точно както е указано в /etc/make.conf.
Ето един пример
- Код за потвърждение: Избери целия код
nano -w make.conf
CFLAGS="-O2 -march=athlon-xp -pipe"
FEATURES="parallel-fetch ccache"
За по-добра производителност при компилиране можем да добавим:
- Код за потвърждение: Избери целия код
CCACHE_SIZE="2G"
Видео картата:
- Код за потвърждение: Избери целия код
VIDEO_CARDS="nvidia"
Примера е с nvidia. Ако ползвате ATI трябва да бъде fglrx.
Ето за всички останали които намерих:
- Код за потвърждение: Избери целия код
apm ark chips cirrus cyrix dummy epson fbdev glint i128 i740 i810 impact imstt mach64 mga neomagic newport nsc nv r128 radeon rendition s3 s3virge savage siliconmotion sis sisusb sunbw2 suncg14 suncg3 suncg6 sunffb sunleo untcx
tdfx tga trident tseng v4l vesa vga via vmware voodoo
Имайте предвид че в тях са включени и opensource драйвери като ati, nv които са си в ядрото НО не предлагат 3D ускорение. Ако желаете да ги ползвате няма да имате нужда от инсталиране на допълнителен драйвер за сметка на 3D ускорението.
Мишка и клавиатура:
- Код за потвърждение: Избери целия код
INPUT_DEVICES="keyboard mouse"
Всичко посочено след Safe flags е необходимо за Х сървър xorg който след малко ше компилираме.
Инсталиране на X Window System. Ако ще ползваме дистрибуцията за сървър не ни е необходимо. Ако ли ше бъде десктоп система продължавате да четете.
Добавяме някои основни USE флагове
- Код за потвърждение: Избери целия код
nano /etc/make.conf
- Код за потвърждение: Избери целия код
USE="unicode xv truetype jpeg2 jpeg2k X cyrillic fontconfig gif jpeg latin1 png v4l v4l2 xrandr xv gnome gtk gstreamer xfce"
- Код за потвърждение: Избери целия код
emerge -av xorg-x11
Преди да потвърдите разгледайте останалите USE флагове и ако решите че ще ви трябва си го добавете!
- Код за потвърждение: Избери целия код
env-update
source /etc/profile
За да го конфигурирате изпълнете:
- Код за потвърждение: Избери целия код
xorgconfig
и следвайте стъпките
Инсталиране на графична среда:
Ще дам за пример xfce. Процедурата е аналогична и за останалите:
Изпълняваме
- Код за потвърждение: Избери целия код
emerge -av xfce4
Гледаме си какви флагове се и не се изполват и си добавяме тези които ни трябват.
Тези които НЕ се използват са с - тирета
Ако желаем по-голяма функционалност:
- Код за потвърждение: Избери целия код
emerge -av xfce4-extras
Накрая изпълняваме:
- Код за потвърждение: Избери целия код
echo "exec startxfce4" >> /home/пешо/.xinitrc
След което можем да влезем под XFCE със:
- Код за потвърждение: Избери целия код
startx
Ето най-подробно как става:
Инсталиране на XFCE
Инсталиране на KDE
Инсталиране на GNOME
Във всяка една е посочено към края как да настроите и ползвате desktop manager. Аз не ползвам такова нещо, смятам го за безсмислено и съм го пропуснал в момента с инсталирането на xfce4!!!
Вече сме готови да заредим новата ни Gentoo система:
- Код за потвърждение: Избери целия код
umount /proc
exit
umount -a
reboot
Инсталиране на алса:
Първото нещо което трябва да направим е да сверим каква е нашата видеокарта:
- Код за потвърждение: Избери целия код
lspci -v | grep -i audio
И съответно да и компилираме модулите в линукс ядрото (ако не сме го направили вече).
- Код за потвърждение: Избери целия код
cd /usr/src/linux
make menuconfig
Device Drivers --->
Sound --->
(This needs to be enabled)
<M> Sound card support
(Make sure OSS is disabled)
Open Sound System --->
<Open>
<M> Advanced Linux Sound Architecture
(Select this if you want MIDI sequencing and routing)
<M> Sequencer support
(Old style /dev/mixer* and /dev/dsp* support. Recommended.)
<M> OSS Mixer API
<M> OSS PCM (digital audio) API
(You now have a choice of devices to enable support for. Generally,
you will have one type of device and not more. If you have more than one
sound card, please enable them all here.)
(Mostly for testing and development purposes, not needed for normal
users unless you know what you are doing.)
Generic devices --->
(For ISA Sound cards)
ISA devices --->
(IF you had the Gravis, you would select this option)
<M> Gravis UltraSound Extreme
(Move one level back and into PCI devices. Most sound cards today are
PCI devices)
PCI devices --->
(We now select the emu10k1 driver for our card)
<M> Emu10k1 (SB Live!, Audigy, E-mu APS)
(Or an Intel card would be)
<M> Intel/SiS/nVidia/AMD/ALi AC97 Controller
(Or if you have a VIA Card)
<M> VIA 82C686A/B, 8233/8235 AC97 Controller
(Move one level back and select in case you have an USB sound card)
USB Devices --->
- Код за потвърждение: Избери целия код
time make -j2
make modules_install
cp arch/i386/boot/bzImage /boot/kernel
Moжем да посочим нашата sound карта в /etc/make.conf.
Сверка как е именована:
- Код за потвърждение: Избери целия код
emerge -pv alsa-driver
И добавяме:
- Код за потвърждение: Избери целия код
ALSA_CARDS="вашата карта"
И компилираме:
- Код за потвърждение: Избери целия код
emerge -av alsa-driver alsa-utils
rc-update add alsasound boot
Ако след всичко нямате все още звук изпълнете:
- Код за потвърждение: Избери целия код
alsaconf
Вече би трябвало системата да отговаря на вашите първични нужди за един десктоп. Можем вече да демонтираме и рестартираме:
- Код за потвърждение: Избери целия код
umount /proc
exit
umount -a
Ще завърша с няколко полезни съвета за ползване на portage.
Как да инсталираме пакети? В най-общия случай става така:
- Код за потвърждение: Избери целия код
emerge --sync #Обновява информацията и наличието на софтуер в хранилищата
emerge -s пакет #Търсим пакет
emerge -av пакет #Гледаме за USE флагове и ако сме съгласни потвърждаваме и компилираме
emerge -C пакет #Премахваме пакет
emerge -avuDN world #Обновяваме всички налични пакети
За по-бързо и лесно търсене ви препоръчвам да ползвате eix:
- Код за потвърждение: Избери целия код
emerge -av eix
След всеки emerge --sync е необходимо обновяване на информацията на eix за пакетите:
- Код за потвърждение: Избери целия код
update-eix
Търсенето става много лесно:
- Код за потвърждение: Избери целия код
eix пакет
Един също много полезен инструмент за информация и работа с пакетите:
- Код за потвърждение: Избери целия код
emerge -av portage-utils
Ето и как се използва:
- Код за потвърждение: Избери целия код
q
Usage: q <applet> <args> : invoke a portage utility applet
Currently defined applets:
q <applet> <args> : virtual applet
qatom <pkg> : split atom strings
qcache <action> <args> : search the metadata cache
qcheck <pkgname> : verify integrity of installed packages
qdepends <pkgname> : show dependency info
qfile <filename> : list all pkgs owning files
qglsa <action> <list> : check GLSAs against system
qgrep <misc> : grep in ebuilds
qlist <pkgname> : list files owned by pkgname
qlop <pkgname> : emerge log analyzer
qmerge <pkgnames> : fetch and merge binary package
qpkg <misc> : manipulate Gentoo binpkgs
qsearch <regex> : search pkgname/desc
qsize <pkgname> : calculate size usage
qtbz2 <misc> : manipulate tbz2 packages
quse <useflag> : find pkgs using useflags
qxpak <misc> : manipulate xpak archives
Options: -[irmM:vqChV]
-i, --install * Install symlinks for applets
-r, --reinitialize * Reinitialize ebuild cache
-m, --metacache * Reinitialize metadata cache
-M, --modpath <arg> * Module path
-v, --verbose * Make a lot of noise
-q, --quiet * Tighter output; suppress warnings
-C, --nocolor * Don't output color
-h, --help * Print this help and exit
-V, --version * Print version and exit
За повече информация - HOWTO Use Portage Correctly
Ето и един удобен инструмент за информация относно необходимите USE флагове за даден пакет:
- Код за потвърждение: Избери целия код
emerge -av euses
И как да го използваме:
- Код за потвърждение: Избери целия код
euses -p пакет
Извежда информация относно флаговите му
Засега е това. Приемам всякакви забележки стига да са основателни. Приятно ползване на Gentoo.
Източници: gentoo.org
gentoo-wiki.com