Nordrel

Gentoo Linux : Установка для домохозяек

Sep 28th, 2015
5,284
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 22.79 KB | None | 0 0
  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 полная пересборка ВСЕЙ СИСТЕМЫ (это не просто долго, это ОЧЕНЬ долго)
Advertisement
Add Comment
Please, Sign In to add comment