Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Linux

Gentoo Linux là gì và cách cài đặt

Gentoo là một bản phân phối Linux mạnh mẽ và có khả năng mở rộng cao. Đây là một trong số ít hệ điều hành vẫn duy trì quản lý gói dựa trên mã nguồn gốc (source-based) như bản chất ban đầu của Linux. Trình quản lý gói Portage của nó là một công cụ mạnh mẽ cho phép bạn tinh chỉnh và tùy chỉnh từng khía cạnh của bản phân phối.

Tại sao nên dùng bản phân phối dựa trên mã nguồn?

Ngày nay, hầu hết các bản phân phối Linux cung cấp các gói đã được biên dịch sẵn (precompiled). Điều này nghĩa là các gói được build trên máy của nhà phát triển.

Mặc dù việc biên dịch gói không phải là vấn đề lớn trong thế giới băng thông cao hiện nay, nhưng có một số vấn đề cần cân nhắc trong mô hình phân phối này:

  • Các file nhị phân biên dịch sẵn nghĩa là bạn không kiểm soát được cách chương trình được biên dịch và tính năng nào được bao gồm.
  • Phụ thuộc vào file nhị phân nghĩa là bạn hoàn toàn tin tưởng các nhà phát triển bản phân phối rằng họ sẽ không đưa mã độc vào kho phần mềm.

Tại sao chọn Gentoo?

Lý do đơn giản: Gentoo là một bản phân phối Linux mạnh mẽ. Nó trao cho bạn quyền truy cập và tự do gần như không giới hạn để thay đổi và sửa đổi toàn bộ hệ thống.

Portage - Trái tim của Gentoo

Portage là thành phần chính quản trị hệ thống Gentoo Linux. Nó cài đặt, quản lý và tinh chỉnh các gói của bên thứ ba. Bên cạnh đó, Portage cũng quản lý các cấu hình hệ thống cơ bản.

Khác biệt lớn nhất của Portage là cho phép cài đặt gói từ mã nguồn. Mặc dù điều này có thể thực hiện được trên các bản phân phối khác, nhưng Portage đưa nó trở thành phương thức mặc định để lấy gói.

Lấy Gentoo

Bạn có thể tải bản sao của Gentoo từ trang web chính thức. Tại đó, bạn có thể chọn trình cài đặt cho nhiều nền tảng khác nhau. Gentoo hỗ trợ cả amd64 và arm64.

Với file ISO đã tải về, bạn có thể dùng chương trình ghi USB như balenaEtcher để tạo ổ flash khởi động.

Cài đặt Gentoo Linux

Trước khi tiếp tục cài đặt Gentoo, cần lưu ý rằng quy trình này hoàn toàn thủ công, nghĩa là nhiều lệnh sẽ được thực thi. Do đó, khuyến nghị bạn không chỉ tham khảo hướng dẫn này mà còn kiểm tra Handbook chính thức của Gentoo để được hướng dẫn chi tiết hơn trong quá trình cài đặt.

Cắm ổ flash vào máy tính và khởi động. Nó sẽ đưa bạn vào màn hình trình cài đặt Gentoo.

Thiết lập kết nối mạng

Để cài đặt Gentoo, bạn cần kết nối Internet. Trình cài đặt sẽ tự động kết nối nếu dùng dây mạng. Chạy lệnh sau để kiểm tra kết nối:

ping -c 5 maketecheasier.com

Nếu cần kết nối mạng không dây, bạn phải thiết lập wpa_supplicant để kết nối đến điểm truy cập không dây:

wpa_passphrase 'Your_SSID_Here' 'Your_Password_Here' >> /etc/wpa_supplicant/wpa_supplicant.conf

Sau đó, tải lại daemon dhcpcd để bắt đầu kết nối mạng:

rc-service dhcpcd restart

Phân vùng ổ cứng

Tiếp theo, bạn cần định dạng ổ đĩa muốn cài đặt Gentoo. Làm dễ dàng bằng lệnh fdisk.

Fdisk là công cụ phân vùng dòng lệnh đơn giản. Nó cho phép phân vùng ổ cứng và đặt dung lượng lưu trữ cho hệ thống. Khởi tạo bằng lệnh:

fdisk /your/disklabel

Nếu không chắc về cấu trúc phân vùng hiện tại, kiểm tra bằng cờ -l:

fdisk -l

Sử dụng fdisk để phân vùng ổ cứng

Trong fdisk, trước tiên xóa các phân vùng hiện có bằng cách nhấn G tại dấu nhắc.

Sau đó, tạo phân vùng mới:

  1. Nhấn N để tạo phân vùng mới. Fdisk sẽ hỏi số phân vùng, nhấn Enter để dùng mặc định.
  2. Fdisk hỏi sector đầu và cuối. Nhấn Enter cho sector đầu và chỉ định kích thước cho sector cuối. Cú pháp chung: +size(G|M|K)
    • Dấu + cho biết kích thước tương đối so với sector đầu tiên.
    • Kích thước là con số bạn tự chỉ định.
    • Tùy chọn cuối cho biết đơn vị: GB, MB hay KB.

Phân vùng cho hệ thống UEFI

Quá trình phân vùng tiếp theo phụ thuộc vào việc bạn dùng BIOS hay UEFI. Nếu dùng máy tính hiện đại với phần cứng gần đây, khả năng cao là UEFI.

Để tạo ổ đĩa tương thích UEFI, trước tiên tạo phân vùng "EFI System". Phân vùng này nên là phân vùng đầu tiên và khoảng 100-256MB.

Sau đó, đặt loại phân vùng thành "EFI System" bằng cách nhấn T. Fdisk sẽ hỏi loại muốn đặt, gõ 1.

Phân vùng phần còn lại của ổ đĩa

Phân vùng tiếp theo là "/boot" nơi lưu kernel Linux và bootloader. Lý tưởng khoảng 500M-1G (ví dụ đặt 1G).

Tạo phân vùng SWAP: phần ổ cứng mà RAM truy cập để hoán đổi bộ nhớ khi hết dung lượng. Quy tắc chung: 1/2 đến 2 lần dung lượng RAM. Ví dụ 8GB RAM thì đặt SWAP 16GB.

Đặt loại phân vùng này thành "19" để dùng làm SWAP.

Cuối cùng, tạo phân vùng root cho phần còn lại của hệ thống. Để cấp phát toàn bộ phần còn lại, chỉ cần nhấn Enter ở tùy chọn Last Sector khi tạo phân vùng mới.

Nhấn P để kiểm tra bảng phân vùng vừa tạo, sau đó nhấn W để lưu thay đổi.

Định dạng các phân vùng trong Gentoo

Bước tiếp theo là định dạng ổ cứng. Đầu tiên, định dạng phân vùng EFI System thành FAT:

mkfs.vfat /dev/sda1

Tạo filesystem cho phân vùng "/boot" bằng ext2 đơn giản:

mkfs.ext2 /dev/sda2

Tạo và kích hoạt phân vùng SWAP:

mkswap /dev/sda3
swapon /dev/sda3

Tạo filesystem ext4 cho phân vùng root:

mkfs.ext4 /dev/sda4

Tải xuống Gentoo Stage 3 Tarball

Mount phân vùng root vừa tạo vào thư mục "/mnt/gentoo" vì cài đặt sẽ diễn ra trên ổ cứng máy:

mount /dev/sda4 /mnt/gentoo && cd /mnt/gentoo

Tải Stage 3 tarball từ gentoo.org bằng wget:

wget https://bouncer.gentoo.org/fetch/root/all/releases/amd64/autobuilds/20220227T170528Z/stage3-amd64-desktop-openrc-20220227T170528Z.tar.xz

Tarball này chứa tất cả chương trình cần thiết cho cài đặt Linux tối thiểu. Giải nén bằng tar:

tar xpvf ./stage3-amd64-desktop-openrc-20220227T170528Z.tar.xz --xattrs-include='*.*' --numeric-owner

Chọn mirror tải xuống và sao chép thông tin DNS

Chỉ định nơi tải gói cho hệ thống này bằng lệnh mirrorselect:

mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf

Điều này mở chương trình TUI để chọn máy chủ gần bạn nhất.

Sao chép file kho lưu trữ Gentoo vào thư mục "/etc/portage" - file cấu hình chứa liên kết tải gói:

mkdir -p /mnt/gentoo/etc/portage/repos.conf && \
cp /mnt/gentoo/usr/share/portage/config/repos.conf \
/mnt/gentoo/etc/portage/repos.conf/gentoo.conf

Sao chép thông tin resolver từ USB cài đặt vào "/mnt/gentoo" để đảm bảo mạng vẫn hoạt động sau khi thay đổi thư mục root:

cp --dereference /etc/resolv.conf /mnt/gentoo/etc/

Mount các file thiết bị và Chroot

Mount các thư mục đặc biệt từ USB cài đặt vào ổ cứng để đảm bảo thiết bị ngoại vi vẫn hoạt động sau chroot:

mount --types proc /proc /mnt/gentoo/proc
mount --rbind /sys /mnt/gentoo/sys
mount --make-rslave /mnt/gentoo/sys
mount --rbind /dev /mnt/gentoo/dev
mount --make-rslave /mnt/gentoo/dev
mount --bind /run /mnt/gentoo/run
mount --make-slave /mnt/gentoo/run

Chạy lệnh chroot để chuyển thư mục root cơ sở từ USB sang ổ cứng:

chroot /mnt/gentoo /bin/bash
source /etc/profile
export PS1="[chroot] ${PS1}"

Mount phân vùng /boot và cập nhật Gentoo

Mount phân vùng "/boot" để kernel sau này được lưu đúng nơi:

mount /dev/sda2 /boot
mkdir /boot/efi
mount /dev/sda1 /boot/efi

Cập nhật kho Gentoo để lấy gói mới nhất:

emerge-webrsync

Lệnh này kết nối đến mirror đã chọn và tải xuống các EBUILD mới nhất.

Cập nhật hệ thống Gentoo đầu tiên

Cập nhật hệ thống để khớp với EBUILD mới nhất:

emerge --ask --verbose --update --deep --newuse @world

Lệnh này yêu cầu emerge kiểm tra gói Stage 3 so với kho Gentoo hiện tại và cập nhật các gói có phiên bản mới hơn. Quá trình này sẽ mất một thời gian vì emerge sẽ tải và biên dịch từng gói cần cập nhật.

Múi giờ và Locale

Thiết lập thông tin đặc thù khu vực: múi giờ và locale hệ thống. Để đặt múi giờ, tìm vị trí gần bạn nhất trong thư mục "/usr/share/zoneinfo". Ghi vào file "/etc/timezone". Ví dụ, vị trí gần tôi là "Asia/Ho_Chi_Minh":

echo "Asia/Ho_Chi_Minh" > /etc/timezone
emerge --config sys-libs/timezone-data

Đặt locale cho Gentoo xác định ngôn ngữ hệ thống mặc định. Chỉnh sửa file "/etc/locale.gen":

nano -w /etc/locale.gen

Thêm locale bạn muốn dùng. Xem danh sách đầy đủ tại "/usr/share/i18n/SUPPORTED". Ví dụ dùng locale tiếng Anh Mỹ:

en_US ISO-8859-1
en_US.UTF-8 UTF-8

Chạy locale-gen để tạo lại locale hệ thống.

Cài đặt Linux Kernel

Có nhiều cách cài đặt kernel trong Gentoo: tự cấu hình thủ công hoặc dùng kernel dựng sẵn từ nhà phát triển Gentoo. Ở đây chọn cách thứ hai.

Để cài kernel dựng sẵn, cài gói installkernel và kernel bản thân bằng lệnh:

emerge --ask sys-kernel/installkernel-gentoo sys-kernel/gentoo-kernel-bin

Cấu hình fstab

Với kernel đã cài, điền file fstab - file báo cho Gentoo khi khởi động phân vùng nào mount ở đâu. Chỉnh sửa bằng:

nano -w /etc/fstab

Chỉ định tất cả phân vùng tạo trong fdisk. Ví dụ cho hệ thống UEFI, fstab có thể trông như sau:

/dev/sda1 /boot/efi vfat defaults 0 2
/dev/sda2 /boot ext2 defaults,noatime 0 2
/dev/sda3 none swap sw 0 0
/dev/sda4 / ext4 noatime 0 1

Thiết lập mật khẩu Root

Đặt mật khẩu root cho hệ thống, vì mặc định tarball Stage 3 đặt mật khẩu ngẫu nhiên cho tài khoản root. Nếu không đặt mật khẩu ở đây, sẽ không thể truy cập sau khi reboot. Đổi mật khẩu root:

passwd

Cài đặt công cụ bổ sung

Cài thêm công cụ bên thứ ba cần thiết. Ví dụ, muốn cả kết nối Ethernet và không dây:

emerge --ask net-misc/dhcpcd net-wireless/iw net-wireless/wpa_supplicant
rc-update add dhcpcd default

Cài system logger để theo dõi hành vi hệ thống:

emerge --ask app-admin/sysklogd
rc-update add sysklogd default

Cài tiện ích filesystem cho các filesystem phổ biến:

emerge --ask sys-fs/dosfstools sys-fs/ntfs3g

Cài đặt Bootloader

Bước cuối cùng là cài bootloader - chương trình nằm giữa BIOS và kernel Linux, hướng dẫn BIOS tải kernel để boot hệ điều hành.

Để cài GRUB bootloader:

emerge --ask sys-boot/grub

Sau khi cài, chạy lệnh sau để khởi tạo và cấu hình GRUB:

grub-install --target=x86_64-efi --efi-directory=/boot/efi
grub-mkconfig -o /boot/grub/grub.cfg

Sau đó, unmount USB cài đặt và reboot hệ thống:

exit
cd
umount -l /mnt/gentoo/dev{/shm,/pts,}
umount -R /mnt/gentoo

Sau khi reboot, bạn sẽ được chào đón bởi hệ thống Gentoo Linux mới cài đặt. Từ đó, bắt đầu cài đặt phần mềm và gói cơ bản để xây dựng bản phân phối Linux tùy chỉnh của riêng bạn.

Nếu vẫn chưa chắc chọn môi trường desktop nào, xem bài viết về các môi trường desktop tốt nhất trên Linux.

Câu hỏi thường gặp

1. Có cách nào tăng tốc thời gian biên dịch trong Gentoo không?

Có! Bạn có thể tăng tốc đáng kể bằng cách thêm giá trị vào file "/etc/portage/make.conf". Ví dụ, đặt giá trị này để máy tính dùng hầu hết nhân CPU khi biên dịch:

MAKEOPTS="-j4" # Thay đổi số này dựa trên số nhân CPU của hệ thống.

2. Hệ thống không boot! Nó hiện GRUB nhưng sau đó chỉ màn hình trống.

Có thể do nhiều nguyên nhân. Phổ biến nhất là file fstab chưa được thiết lập đúng. Sửa bằng cách cắm USB cài đặt và làm lại các bước chroot vào ổ cứng.

3. Xorg không hiển thị font; có gì sai không?

Điều này có thể do Xft chưa được cài đặt đúng. Khi cài chương trình, cần thêm cờ USE "Xft" vào make.conf để các chương trình biên dịch dùng font tương thích X. Thêm dòng sau vào /etc/portage/make.conf:

USE="xft"