View difference between Paste ID: ATh57WCJ and U3Lg1pCp
SHOW: | | - or go back to the newest paste.
1
ВВЕДЕНИЕ
2
3
Что такое Gentoo Linux и в чём его плюсы-минусы?
4
Гента - это метадистрибутив Linux на базе открытых исходников. Сие означает:
5
1. После установки вы получите только консоль с выходом интернет, всё остальное пользователь допиливает сам.
6
2. При установке приложений скачивается не готовый бинарник, а исходный код, из которого собирается само приложение. 
7
После закачки кода приложение собирается автоматически на основе установленных пользователем локальных и/или глобальных параметров.
8
9
Плюсы:
10
1. Из исходного кода можно собрать идеальную конфетку для себя любимого, отбросив ненужности.
11
2. Код оптимизируется под ваше железо. 
12
3. Единый репозиторий для всего вообще. Например, чтобы скачать firefox или chromium вам не нужно ковырять файлы данных и вписывать дополнительные репозитории, достаточно просто написать "emerge firefox" или "emerge chromium" 
13
4. Наверное, самый тонконастраиваемый дистрибутив из всех.
14
5. Система очень стабильна и надёжна: достаточно один раз настроить и всё будет работать как атомные часы. Хоть целую вечность.
15
16
Минусы:
17
1. Компиляция бинарников - иногда дело долгое, а иногда даже очень долгое.
18
2. Чтобы собрать идеальную конфетку нужен опыт и знания. И копипаста тут бессильна.
19
20
21
Гайд предназначен для малоопытных пользователей Linux, которые хотят установить Генту посредством копи-пасты. 
22
Тут следует уточнить, что данный дистрибутив не сильно дружелюбен к копипасте вообще, поэтому мы очень сильно сократим и упростим некоторые "сложности", чтобы у нас всё получилось. Кое-где всё же придётся применить и свой интеллект, поэтому никаких гарантий идеальной установки я не даю.
23
24
Задача: установить Gentoo С НУЛЯ с графической средой, минимальным набором программ для удобства и перевести всё на русский язык. 
25
Проще говоря, вы получите систему с рабочим столом, браузером, файловым менеджером. Это будет основа, всё остальное вы сможете настроить и перенастроить ещё не раз. Когда угодно.
26
27
ВНИМАНИЕ: Инструкция расчитана на установку Gentoo amd64 на загрузочную USB-флешку с подключённым проводным интернетом.
28
29
Примерное время на установку всего: ~4-5 часов (здесь и далее ориентировка примерного времени сборки на процессор i7, менее производительные затребуют больше времени)
30
Непосредственное участие пользователя: около 20-30 минут.
31
32
НАЧАЛО
33
34
0. Готовим чистую, отформатированную в FAT32 флешку минимум на 4 Gb ёмкостью.
35
1. Качаем Hybrid ISO (LiveDVD) образ отсюда: https://www.gentoo.org/downloads/
36
2. Качаем Universal USB Installer отсюда http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/
37
3. Открываем Universal USB Installer, в Step1 выбираем Gentoo, далее указываем путь к скачанному ISO, указываем на какую флешку записывать и жмём Create.
38
39
40
УСТАНОВКА
41
42
Здесь и далее при установке пакетов используется алгоритм "emerge пакет", например "emerge firefox". Как только вы введете команду и нажмете ENTER сразу же пойдет загрузка.
43
Если вы хотите, чтобы программа спрашивала у вас подтверждение используйте ключ -av пример: "emerge -av пакет".
44
45
1. Загружаемся с установочного диска, на рабочем столе тыкаем ярлык Konsole и первым делом проверяем есть ли интернет:
46
ping -c3 ya.ru
47
48
Пакеты пошли? Всё хорошо, идём дальше.
49
50
ВНИМАНИЕ! Если вы выбрали Hybrid ISO (LiveDVD) образ, как я и советовал сделать, в консоле вбиваем команды
51
passwd ваш_пароль
52
попросит повторить - повторяем, запоминаем
53
su
54
вводим тот самый пароль и дальше работаем уже как SuperUser
55
56
2. Открываем программу cfdisk и смотрим, что имеем
57
cfdisk
58
59
3. Ограничимся тремя разделами: boot, swap, / 
60
Выбираем Free Space (свободное место) и жмём [ Write ]
61
Создаём раздел с 128М
62
Создаём раздел с 2G
63
Создаём раздел со всем оставшимся местом
64
На раздел с 128 мегабайтами ставим * [ Bootable ]
65
66
Предположим, что у нас это разделы
67
/dev/sda1
68
/dev/sda2
69
/dev/sda3
70
НО У ВАС ЭТО МОГУТ БЫТЬ СОВСЕМ ДРУГИЕ ЦИФРЫ (не sda1,sda2,sda3, а sda5,sda6,sda7, например), ЗАПОМНИТЕ ИХ
71
72
Нажимаем [ Write ] и выходим [ Quit ]
73
74
4. Создаём файловые системы, подключаем свап
75
mkfs.vfat /dev/sda1
76
mkfs.ext4 /dev/sda3
77
mkswap /dev/sda2
78
swapon /dev/sda2
79
cd /mnt/gentoo
80
81
5. Монтируем разделы на диск
82
mount /dev/sda3 /mnt/gentoo
83
mkdir /mnt/gentoo/boot
84
(если EFI) mkdir /mnt/gentoo/boot/efi
85
mount /dev/sda1 /mnt/gentoo/boot
86
(если EFI) mount /mnt/gentoo/boot/efi
87
88
6. Скачиваем stage 3 и дерево портажей
89
links http://mirror.yandex.ru/gentoo-distfiles   там идём к    /releases/amd64/autobuilds/current-stage3-amd64/stage3-amd64-20150924.tar.bz2
90
links http://mirror.yandex.ru/gentoo-distfiles   там идём к    /snapshots/portage-latest.tar.bz2
91
После скачивания выходим кнопкой Q
92
------------------------------------------------------------
93
94
7. Распаковываем. Это может занять порядка 5-10 минут.
95
tar xvjpf stage3-*.tar.bz2 && tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr
96
97
7.1 (необязательный, но желательный пункт) Указываем немного параметров для оптимизации. Это ускорит процесс компиляции.
98
nano /mnt/gentoo/etc/portage/make.conf
99
В самом верху добавляем строку:
100
MAKEOPTS="-jx" 
101
Вместо х укажите кол-во ядер вашего процессора +1, например, если у вас 8 ядер (или 4 с гипертредингом) то пишите MAKEOPTS="-j9" 
102
Выходим ctrl+x жмём y для сохранения
103
104
8. Настраиваем портаж
105
----------------СТАРЫЙ СПОСОБ (проверенно)----------------
106
mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf
107
Выбираем Yandex
108
----------------------------------------------------------
109
110
--------------НОВЫЙ СПОСОБ (не проверялся)----------------
111
mkdir /mnt/gentoo/etc/portage/repos.conf
112
cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf
113
----------------------------------------------------------
114
cp -L /etc/resolv.conf /mnt/gentoo/etc/
115
116
9. Монтируем разделы proc, sys, dev
117
mount -t proc none /mnt/gentoo/proc
118
mount -o bind /dev /mnt/gentoo/dev
119
mount -t sysfs none /mnt/gentoo/sys
120
121
10. Переходим в нашу систему через chroot и обновляем дерево портажей
122
chroot /mnt/gentoo /bin/bash
123
env-update && source /etc/profile
124
export PS1="(chroot) $PS1"
125
emerge --sync
126
127
11. Читаем новости и выбираем профиль
128
eselect news read
129
eselect profile set 3
130
131
12. Настроим кодировку, раскладку и время
132
nano /etc/locale.gen
133
Стираем всё и добавляем:
134
en_US.UTF-8 UTF-8
135
ru_RU.UTF-8 UTF-8
136
Выходим ctrl+x жмём y для сохранения
137
138
cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime
139
nano /etc/conf.d/keymaps
140
KEYMAP="us" меняем на KEYMAP="ru"
141
Выходим ctrl+x жмём y для сохранения
142
143
nano /etc/conf.d/clock
144
Откроется пустое окно, пишем туда:
145
CLOCK="local"
146
TIMEZONE="Europe/Moscow"
147
Выходим ctrl+x жмём y для сохранения
148
149
13. Качаем программы для сборки ядра и собираем ядро (займет ~10-15 минут)
150
emerge gentoo-sources genkernel
151
genkernel all
152
153
14. Качаем модули и добавляем их в автозагрузку (займёт ~15-20 минут)
154
emerge dhcpcd vixie-cron udev syslog-ng
155
rc-update add dhcpcd default
156
rc-update add syslog-ng default
157
rc-update add vixie-cron default
158
rc-update add udev boot
159
160
15. Правим fstab
161
nano /etc/fstab
162
Меняем 
163
/dev/BOOT на /dev/sda1 
164
/dev/ROOT на /dev/sda3
165
/dev/SWAP на /dev/sda2
166
(Если EFI) меняем в BOOT строке /boot на /boot/efi и файловую систему (след параметр) меняем на vfat
167
ПОМНИТЕ, У ВАС ЭТО МОГУТ БЫТЬ ДРУГИЕ ЦИФРЫ! 
168
/dev/cdrom - ставим # перед этой строкой (#/dev/cdrom) или просто стираем строку
169
170
171
16. Настраиваем сеть
172
ifconfig
173
Смотрим имя своего адаптера (смотрим в самом начале будет eth0 либо enp3s0 либо что-то в этом духе). Допустим, что наш адаптер это eth0
174
nano /etc/conf.d/net
175
Откроется пустое окно, пишем туда 
176
config_eth0="dhcp"
177
178
Если у вас не eth0 то вместо него впишите имя своего адаптера
179
Выходим ctrl+x жмём y для сохранения
180
181
17. Создаём сетевую службу и ставим её в автозапуск
182
cd /etc/init.d
183
ln -s net.lo net.eth0
184
rc-update add net.eth0 default
185
Если у вас не eth0 то вместо него впишите имя своего адаптера
186
187
18. Ставим загрузчик grub2 и os-prober (займёт ~10-20 минут)
188
emerge grub os-prober
189
190
--------------------ЕСЛИ BIOS------------------
191
grub2-install /dev/sda
192
grub2-mkconfig -o /boot/grub/grub.cfg
193
-----------------------------------------------
194
195
--------------------ЕСЛИ UEFI------------------
196
echo GRUB_PLATFORMS="efi-64" >> /etc/portage/make.conf (если у вас 32 битка то заменяем efi-64 на efi-32)
197
grub2-install --target=x86_64-efi --efi-directory=/boot
198
grub2-mkconfig -o /boot/grub/grub.cfg
199
-----------------------------------------------
200
Смотрим, если он определил системы, значит всё хорошо.
201
202
18. Ставим пароль для суперпользователя
203
passwd ваш_пароль
204
205
19. Перезагружаемся
206
exit
207
cd
208
reboot
209
210
20. Проверяем, всё ли хорошо?
211
Login: root
212
Password: ваш_пароль
213
ping -c3 ya.ru
214
Если пинг пошёл - мы молодцы, всё сделали правильно и самая сложная часть уже позади, можно передохнуть.
215
216
НАСТРОЙКА
217
218
1. Настройка видеокарты.
219
Посмотреть какая у вас видеокарта можно командой
220
lspci | grep -i VGA
221
---------------------------------------------------------------------------
222
а) Если у вас Radeon то сперва нужно сходить https://wiki.gentoo.org/wiki/Radeon и посмотреть там табличку Feature support. В зависимости от вашей карты вписывавем параметры
223
nano /etc/portage/make.conf
224
225
Допустим, у нас видеокарта R9. Тогда самом низу добавляем 
226
VIDEO_CARDS="radeon radeonsi"
227
Если другая, то добавляйте данные в VIDEO_CARDS="" на основании таблицы с сайта (столбик VIDEO_CARDS). Если это слишком сложно, попробуйте добавить просто VIDEO_CARDS="radeon"
228
229
Обновляем систему
230
emerge --ask --changed-use --deep @world
231
232
Качаем драйвер
233
emerge radeon-ucode
234
Если будет ругаться, попробуйте 
235
emerge linux-firmware
236
---------------------------------------------------------------------------
237
238
b) Если у вас Nvidia, то вам повезло - делать почти ничего не надо.
239
nano /etc/portage/make.conf
240
В самом низу добавляем 
241
VIDEO_CARDS="nouveau"
242
Выходим ctrl+x жмём y для сохранения
243
Обновляем систему
244
emerge --ask --changed-use --deep @world
245
---------------------------------------------------------------------------
246
247
c) Если у вас Intel (встроенная видеокарта), то как и в случае с Radeon нам нужны таблицы и данные. Идём https://wiki.gentoo.org/wiki/Intel и смотрим таблицу, данные берем из столбика VIDEO_CARDS.
248
nano /etc/portage/make.conf
249
В самом низу добавляем 
250
VIDEO_CARDS="данные из таблицы"
251
Выходим ctrl+x жмём y для сохранения
252
253
Обновляем систему
254
emerge --ask --changed-use --deep @world
255
---------------------------------------------------------------------------
256
257
Перезагружаемся. Консоль должна поменять разрешение на разрешение вашего экрана.
258
259
2. Установка X-Server и Cinnamon (займёт ~3 часа)
260
nano /etc/portage/make.conf
261
Найдите строку USE и смените её на:
262
USE="icu pulseaudio X glamor bindist python NetworkManager consolekit infinality minizip sqlite gnome-keyring"
263
Выходим ctrl+x жмём y для сохранения
264
265
nano .xinitrc
266
Откроется пустое окно, пишем туда
267
exec cinnamon-session
268
Выходим ctrl+x жмём y для сохранения
269
270
271
272
Вбиваем эти команды, жмём Enter и идём спать/на работу/на учёбу. К вашему приходу как раз всё будет готово.
273
emerge xorg-server cinnamon 
274
Далее
275
emerge gtk+extra xf86-video-modesetting sudo terminator
276
rc-update add dbus default
277
rc-update add consolekit default
278
rc-update add NetworkManager default
279
rc-update del net.eth0 default (вместо eth0 имя своей сетевой карты, которое вводили ранее)
280
reboot
281
3. Скрещиваем пальцы и пишем заветное
282
startx
283
284
Если всё хорошо, вы войдёте в Cinnamon. Если вылетела ошибка и краш, попробуйте обновить систему: emerge -uDNav world
285
(!) После каждой перезагрузки, чтобы попасть в систему вам нужно будет вбивать логин, пароль и вводить команду "startx". Это дело можно автоматизировать с помощью разных логин менеджеров, но об этом позже.
286
287
4. Первым делом зайдите в настройки и создайте нового пользователя, добавте его во все возможные группы и придумайте пароль от 6 символов, одни только цифры нельзя, обязательно добавте символ или букву.
288
В меню найдите терминал Terminator и вбейте команду
289
visudo
290
291
Ищём там строки и убираем значок # перед ними. Это называется "раскомментировать" опцию.
292
 %wheel ALL=(ALL) ALL
293
 %wheel ALL=(ALL) NOPASSWD: ALL (Я бы не советовал трогать эту строку т.к. она полностью отключит необходимость вводить пароль после sudo. Это как бы небезопасно, лучше оставьте # перед ней)
294
295
Выходим ctrl+x жмём y для сохранения
296
297
298
5. Заходим с нового пользователя
299
Либо ищем в меню Logout/End-Session (или как-то так)
300
Либо жмём ALT+CTRL+F1, выходим в консоль и нажимаем CTRL+C, если процесс не завершился
301
Выходим из root:
302
exit
303
304
Логинимся под новым пользователем, как только вы это сделали, добавьте сессию Cinnamon:
305
nano .xinitrc
306
Откроется пустое окно, пишем туда
307
exec cinnamon-session
308
Выходим ctrl+x жмём y для сохранения
309
startx
310
311
6. По желанию можно установить браузер. Для этого жмём меню, ищем там программу Terminator, это наша виртуальная консоль.
312
Бинарник файрфокса (быстрая установка):   sudo emerge firefox-bin
313
Сорц файрфокс (медленная установка):      sudo emerge firefox
314
Хром:                                     sudo emerge chromium
315
316
317
318
РУССИФИКАЦИЯ
319
320
nano /etc/env.d/02locale
321
Откроется пустое окно, пишем туда
322
LC_ALL=""
323
LANG="ru_RU.UTF-8"
324
Выходим ctrl+x жмём y для сохранения
325
326
nano /etc/conf.d/consolefont
327
Меняем consolefont="default8x16" на consolefont="cyr-sun16"
328
Выходим ctrl+x жмём y для сохранения
329
330
eselect locale list
331
Ищем ru_RU.utf8 (обычно под номером 4)
332
eselect locale set 4
333
334
Перезагружаемся
335
336
UPD: Рекомендую установить пакет шрифтов Noto, они очень хорошо смотрятся как системные шрифты и включают в себя поддержку многих языков т.е. в браузере большая часть языком будет отображаться не крокозябрами
337
sudo emerge noto
338
339
340
341
АВТОЛОГИН
342
343
1. Если хотите запускать десктоп без вводов логинов и паролей то качаем SLIM:
344
sudo emerge slim
345
346
2. Настраиваем XDM.
347
sudo nano /etc/conf.d/xdm
348
Меняем строку DISPLAYMANAGER="xdm" на DISPLAYMANAGER="slim"
349
Выходим ctrl+x жмём y для сохранения
350
351
3. Делаем ему автозагрузку
352
rc-update add xdm default
353
354
4. Настраиваем автологин
355
sudo nano /etc/slim.conf
356
Ищем строки и меням их значение, а так же убираем перед ними #:
357
default_user        ваш логин
358
auto_login          yes
359
360
Ищем строки и меняем # делай вот такой вид:
361
# login_cmd           exec /bin/sh - ~/.xinitrc %session
362
login_cmd           exec /bin/bash -login ~/.xinitrc %session
363
# login_cmd           exec /bin/bash -login /usr/share/slim/Xsession %session
364
365
Выходим ctrl+x жмём y для сохранения
366
367
368
369
370
371
372
КРАТКИЙ ВВОД В КОНСОЛЬКУ
373
Если вы работаете под обычным пользователем, перед этими командами ставим sudo (sudo emerge итд)
374
375
emerge пакет                                 установка
376
emerge --autounmask-write =пакет-версия      разрешить устанавливать версии пакетов не по-умолчанию (пример emerge --autounmask-write =firefox-40.0.3). Имеющиеся версии пакетов можно легко нагуглить "gentoo имя программы, в первых ссылках будет оф репозиторий там смотрим какие есть версии". Либо сразу искать тут https://packagestest.gentoo.org/
377
378
dispatch-conf                                просмотреть (l) измененные конфиги и подтвердить (u) либо опровергнуть (z) изменения. Вводите эту команду после использования команды выше, чтобы подтвердить изменения и после этого уже скачивайте нужную вам версию.
379
380
emerge -C пакет                              удаление 
381
emerge --sync                                синхронизация 
382
emerge -uDN world                            обновление всего
383
emerge -uDN system                           обновление только системных пакетов
384
emerge --depclean                            удаление лишних зависимостей после чистки системы или удаления какой-либо программы
385
emerge -e world                              полная пересборка ВСЕЙ СИСТЕМЫ (это не просто долго, это ОЧЕНЬ долго)