นี่เป็นคู่มือส่วนตัว ดังนั้นหากคุณหลงทางและเพิ่งพบคู่มือนี้จากที่ไหนสักแห่ง ฉันขอแนะนำให้คุณอ่าน wiki
อย่างเป็นทางการ ! คู่มือนี้จะมุ่งเน้นไปที่ systemd-boot
, UEFI
และคำแนะนำหากคุณต้องการเข้ารหัสพาร์ติชันของคุณด้วย LUKS/LVM
คู่มือนี้มีไว้เพื่อให้ฉันสามารถจดจำสิ่งต่างๆ ได้มากมายเมื่อติดตั้ง Archlinux
ใหม่
ก่อนการติดตั้ง ตรวจสอบให้แน่ใจว่า:
คีย์แมปคอนโซลเริ่มต้นคือ US เค้าโครงที่ใช้ได้สามารถแสดงรายการด้วย:
# ls /usr/share/kbd/keymaps/**/*.map.gz
หากต้องการแก้ไขเลย์เอาต์ ให้เพิ่มชื่อไฟล์ที่เกี่ยวข้องต่อท้ายคีย์โหลด โดยละเว้นพาธและนามสกุลไฟล์ ตัวอย่างเช่น หากต้องการตั้งค่ารูปแบบแป้นพิมพ์แบบสหรัฐอเมริกา ให้ทำดังนี้
# loadkeys us
หากเปิดใช้งานโหมด UEFI บนมาเธอร์บอร์ด UEFI Archiso จะบูต Arch Linux ตามนั้นผ่านทาง systemd-boot หากต้องการตรวจสอบ ให้แสดงรายการไดเร็กทอรี efivars:
# ls /sys/firmware/efi/efivars
หากคำสั่งแสดงไดเร็กทอรีโดยไม่มีข้อผิดพลาด แสดงว่าระบบบูตในโหมด UEFI หากไม่มีไดเร็กทอรี ระบบอาจถูกบูตในโหมด BIOS (หรือ CSM )
เราจำเป็นต้องตรวจสอบให้แน่ใจว่าเราเชื่อมต่อกับอินเทอร์เน็ตเพื่อให้สามารถติดตั้ง base
Arch Linux และแพ็คเกจ linux
ได้ มาดูชื่ออินเทอร์เฟซของเรากัน
# ip link
คุณควรเห็นสิ่งนี้:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp0s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff permaddr 00:00:00:00:00:00
enp0s0
เป็นอินเทอร์เฟซแบบมีสายwlan0
เป็นอินเทอร์เฟซไร้สาย หากคุณใช้การเชื่อมต่อแบบใช้สาย คุณสามารถเปิดใช้งานอินเทอร์เฟซแบบใช้สายได้โดย systemctl start dhcpcd@<interface>
# systemctl start dhcpcd@enp0s0
หากคุณใช้แล็ปท็อป คุณสามารถเชื่อมต่อกับจุดเชื่อมต่อไร้สายได้โดยใช้คำสั่ง iwctl
จาก iwd
โปรดทราบว่าระบบได้เปิดใช้งานไว้ตามค่าเริ่มต้นแล้ว ตรวจสอบให้แน่ใจว่าการ์ดไร้สายไม่ได้ถูกบล็อกด้วย rfkill
สแกนหาเครือข่าย
# iwctl station wlan0 scan
รับรายชื่อเครือข่ายที่สแกนโดย:
# iwctl station wlan0 get-networks
เชื่อมต่อกับเครือข่ายของคุณ
# iwctl -P "PASSPHRASE" station wlan0 connect "NETWORKNAME"
Ping เว็บไซต์ Archlinux เพื่อให้แน่ใจว่าเราออนไลน์อยู่:
# ping archlinux.org
หากคุณได้รับการตอบสนองที่ไม่สามารถเข้าถึงโฮสต์ที่ไม่รู้จักหรือโฮสต์ปลายทาง หมายความว่าคุณยังไม่ได้ออนไลน์ ตรวจสอบการกำหนดค่าเครือข่ายของคุณและทำซ้ำขั้นตอนข้างต้น
ใช้ timedatectl
เพื่อให้แน่ใจว่านาฬิกาของระบบถูกต้อง:
# timedatectl set-ntp true
หากต้องการตรวจสอบสถานะบริการ ให้ใช้ timedatectl status
เมื่อระบบถ่ายทอดสดได้รับการยอมรับ ดิสก์จะถูกกำหนดให้กับอุปกรณ์บล็อก เช่น /dev/sda
, /dev/nvme0n1
หรือ /dev/mmcblk0
หากต้องการระบุอุปกรณ์เหล่านี้ ให้ใช้ lsblk หรือ fdisk ไดรฟ์หลักที่พบบ่อยที่สุดคือ sda
# lsblk
ผลลัพธ์ที่ลงท้ายด้วย rom
, loop
หรือ airoot
อาจถูกละเว้น
ในคู่มือนี้ ฉันจะสร้างพาร์ติชันไดรฟ์ที่แตกต่างกันสองวิธี อันหนึ่งสำหรับการติดตั้งปกติ อีกอันคือการตั้งค่าด้วยการเข้ารหัส (LUKS/LVM) เริ่มจากอันที่ไม่ได้เข้ารหัสกันก่อน:
มาทำความสะอาดไดรฟ์หลักของเราเพื่อสร้างพาร์ติชันใหม่สำหรับการติดตั้งของเรา ใช่แล้ว ในคู่มือนี้ เราจะใช้ /dev/sda
เป็นดิสก์ของเรา
# gdisk /dev/sda
กด x เพื่อเข้าสู่ โหมดผู้เชี่ยวชาญ จากนั้นกด z เพื่อ ปะทะ ไดรฟ์ของเรา จากนั้นกด y เมื่อได้รับแจ้งเกี่ยวกับการล้างข้อมูล GPT และการลบล้าง MBR โปรดทราบว่าการดำเนินการนี้จะ ทำลาย ทั้งไดรฟ์ของคุณ ดังนั้นข้อมูลของคุณจะหายไป - ลดลงเหลือเพียงอะตอมหลังจากทำเช่นนี้ นี้. ไม่สามารถ เป็น. ยกเลิก
เปิด cgdisk
เพื่อเริ่มการแบ่งพาร์ติชันระบบไฟล์ของเรา
# cgdisk /dev/sda
กด Return เมื่อได้รับคำเตือนเกี่ยวกับ GPT ที่เสียหาย
ตอนนี้เราควรจะเห็นไดรฟ์หลักของเราที่แสดงหมายเลขพาร์ติชัน ขนาดพาร์ติชัน ประเภทพาร์ติชัน และชื่อพาร์ติชัน หากคุณเห็นรายการพาร์ติชั่น ให้ลบพาร์ติชั่นทั้งหมดก่อน
สร้างพาร์ติชัน boot
EF00
กด Enterboot
กด Enter สร้างพาร์ root
8300
)root
สร้างพาร์ root
home
สุดท้ายให้กด Write
ที่ด้านล่างของรายการ patitions เพื่อ เขียนการเปลี่ยนแปลง ลงดิสก์ พิมพ์ yes
เพื่อ ยืนยัน คำสั่งเขียน ตอนนี้เราเสร็จสิ้นการแบ่งพาร์ติชันดิสก์แล้ว กด Quit
เพื่อออกจาก cgdisk ไปที่ส่วนถัดไป
LUKS/LVM
มาทำความสะอาดไดรฟ์หลักของเราเพื่อสร้างพาร์ติชันใหม่สำหรับการติดตั้งของเรา ใช่แล้ว ในคู่มือนี้ เราจะใช้ /dev/sda
เป็นดิสก์ของเรา
# gdisk /dev/sda
กด x เพื่อเข้าสู่ โหมดผู้เชี่ยวชาญ จากนั้นกด z เพื่อ ปะทะ ไดรฟ์ของเรา จากนั้นกด y เมื่อได้รับแจ้งเกี่ยวกับการล้างข้อมูล GPT และการลบล้าง MBR โปรดทราบว่าการดำเนินการนี้จะ ทำลาย ทั้งไดรฟ์ของคุณ ดังนั้นข้อมูลของคุณจะหายไป - ลดลงเหลือเพียงอะตอมหลังจากทำเช่นนี้ นี้. ไม่สามารถ เป็น. ยกเลิก
สร้างพาร์ติชันของเราโดยการรัน cgdisk /dev/sda
# cgdisk /dev/sda
เพียงกด Return เมื่อได้รับคำเตือนเกี่ยวกับ GPT ที่เสียหาย
ตอนนี้เราควรจะเห็นไดรฟ์หลักของเราที่แสดงหมายเลขพาร์ติชัน ขนาดพาร์ติชัน ประเภทพาร์ติชัน และชื่อพาร์ติชัน หากคุณเห็นรายการพาร์ติชั่น ให้ลบพาร์ติชั่นทั้งหมดก่อน
สร้างพาร์ติชัน boot
EF00
กด Enterboot
กด Enter สร้างพาร์ติชัน LVM
8e00
กด Enterlvm
กด Enter สุดท้ายให้กด Write
ที่ด้านล่างของรายการ patitions เพื่อ เขียนการเปลี่ยนแปลง ลงดิสก์ พิมพ์ yes
เพื่อ ยืนยัน คำสั่งเขียน ตอนนี้เราเสร็จสิ้นการแบ่งพาร์ติชันดิสก์แล้ว กด Quit
เพื่อออกจาก cgdisk ไปที่ส่วนถัดไป
ใช้ lsblk
อีกครั้งเพื่อตรวจสอบพาร์ติชันที่เราสร้างขึ้น เรา? ฉันคิดว่าฉันกำลังทำคู่มือนี้เพื่อตัวเองฮ่าๆ
# lsblk
คุณควรเห็น สิ่งนี้ :
ชื่อ | พจ:นาที | RM | ขนาด | ร | พิมพ์ | จุดยึด |
---|---|---|---|---|---|---|
สดา | 8:0 | 0 | 477ก | 0 | ||
sda1 | 8:1 | 0 | 1 | 0 | ส่วนหนึ่ง | |
sda2 | 8:2 | 0 | 1 | 0 | ส่วนหนึ่ง | |
sda3 | 8:3 | 0 | 175ก | 0 | ส่วนหนึ่ง |
sda
เป็นดิสก์หลัก
sda1
คือพาร์ติชั่นสำหรับบู๊ต
sda2
คือพาร์ติชั่นสว็อป
sda3
เป็นพาร์ติชั่นโฮม
ชื่อ | พจ:นาที | RM | ขนาด | ร | พิมพ์ | จุดยึด |
---|---|---|---|---|---|---|
สดา | 8:0 | 0 | 477ก | 0 | ดิสก์ | |
sda1 | 8:1 | 0 | 1 | 0 | ส่วนหนึ่ง | |
sda2 | 8:2 | 0 | 1 | 0 | ส่วนหนึ่ง |
sda
เป็นดิสก์หลัก
sda1
คือพาร์ติชั่นสำหรับบู๊ต
sda2
เป็นพาร์ติชัน LVM
เซอร์ไพรส์! เซอร์ไพรส์! เราจะ ไม่ เข้ารหัสพาร์ติชัน /boot
ฟอร์แมตพาร์ติชัน /dev/sda1
เป็น FAT32
นี่จะเป็นของเรา /boot
# mkfs.fat -F32 /dev/sda1
จัดรูปแบบพาร์ติชัน /dev/sda3
และ /dev/sda4
เป็น EXT4
นี่จะเป็นพาร์ติชั่น root
และ home
ของเรา
# mkfs.ext4 /dev/sda3
# mkfs.ext4 /dev/sda4
ฟอร์แมตพาร์ติชัน /dev/sda1
เป็น FAT32
นี่จะเป็นของเรา /boot
# mkfs.fat -F32 /dev/sda1
สร้างคอนเทนเนอร์ที่เข้ารหัส LUKS
# cryptsetup luksFormat /dev/sda2
ป้อนข้อความรหัสผ่านของคุณสองครั้ง อย่าลืมสิ่งนี้!
เปิดคอนเทนเนอร์ที่สร้างขึ้นและตั้งชื่อตามที่คุณต้องการ ในคู่มือนี้ฉันจะใช้ cryptlvm
# cryptsetup open --type luks /dev/sda2 cryptlvm
ป้อนข้อความรหัสผ่านของคุณและยืนยัน
ขณะนี้มีคอนเทนเนอร์ที่ถอดรหัสแล้วที่ /dev/mapper/cryptlvm
สร้างฟิสิคัลวอลุ่มที่ด้านบนของคอนเทนเนอร์ LUKS ที่เปิดอยู่:
# pvcreate /dev/mapper/cryptlvm
สร้างกลุ่มวอลุ่มและตั้งชื่อเป็น volume
(หรืออะไรก็ได้ที่คุณต้องการ) โดยเพิ่มฟิสิคัลวอลุ่มที่สร้างไว้ก่อนหน้านี้:
ในคู่มือนี้ ฉันจะใช้ volume
เป็นชื่อกลุ่มวอลุ่ม
# vgcreate volume /dev/mapper/cryptlvm
สร้างโลจิคัลวอลุ่มที่จำเป็นทั้งหมดของคุณบนกลุ่มวอลุ่ม เราจะสร้าง root
และ home
โลจิคัลวอลุ่ม โปรดทราบว่า volume
คือชื่อของไดรฟ์ข้อมูลที่เราเพิ่งสร้างขึ้น
สร้าง root
ของเรา ในคู่มือนี้ ฉันจะใช้ 100GB
# lvcreate -L 100G volume -n root
/dev/mapper/volume-root
สิ่งนี้จะสร้าง
สร้าง home
แสนหวานของเรา ผมจะจัดสรรพื้นที่ที่เหลือให้กับมัน
# lvcreate -l 100%FREE volume -n home
/dev/mapper/volume-home
สิ่งนี้จะสร้าง
ฟอร์แมตโลจิคัลพาร์ติชันภายใต้วอลุ่ม LVM
ฟอร์แมตพาร์ติชั่น root
และ home
ของเรา
# mkfs.ext4 /dev/mapper/volume-root
# mkfs.ext4 /dev/mapper/volume-home
ติดตั้งพาร์ติชัน /dev/sda
ไปที่ /mnt
นี่คือของเรา /
:
# mount /dev/sda3 /mnt
สร้าง /boot
mountpoint:
# mkdir /mnt/boot
เมานต์ /dev/sda1
ไปยัง /mnt/boot
พาร์ติชัน นี่จะเป็นของเรา /boot
:
# mount /dev/sda1 /mnt/boot
สร้างจุดเมานท์ /home
:
# mkdir /mnt/home
เมานต์ /dev/sda4
ไปยัง /mnt/home
พาร์ติชัน นี่จะเป็นของเรา /home
:
# mount /dev/sda1 /mnt/home
ติดตั้งพาร์ติชัน /dev/mapper/volume-root
ไปที่ /mnt
นี่คือของเรา /
:
# mount /dev/mapper/volume-root /mnt
สร้าง /boot
mountpoint:
# mkdir /mnt/boot
เมานต์ /dev/sda1
ไปยัง /mnt/boot
พาร์ติชัน นี่จะเป็นของเรา /boot
:
# mount /dev/sda1 /mnt/boot
สร้างจุดเมานท์ /home
:
# mkdir /mnt/home
เมานต์ /dev/mapper/volume-home
ไปยัง /mnt/home
พาร์ติชัน นี่จะเป็นของเรา /home
:
# mount /dev/mapper/volume-home /mnt/home
เราไม่จำเป็นต้องเมานต์ swap
เนื่องจากมีการเปิดใช้งานอยู่แล้ว
ตอนนี้เรามาติดตั้งแพ็กเกจ base
, linux
, linux-firmware
และ base-devel
ลงในระบบของเรากันดีกว่า
# pacstrap /mnt base base-devel linux linux-zen linux-firmware
ฉันจะติดตั้ง linux-zen
เนื่องจากมีโมดูลที่จำเป็นสำหรับการเล่นเกม
แพ็ก base
ไม่รวมเครื่องมือทั้งหมดจากการติดตั้งแบบสด ดังนั้นการติดตั้งแพ็กเกจอื่นอาจจำเป็นสำหรับระบบฐานที่ทำงานได้อย่างสมบูรณ์ โดยเฉพาะ ให้พิจารณาการติดตั้ง:
ซอฟต์แวร์ที่จำเป็นสำหรับระบบเครือข่าย
dhcpcd
: daemon ไคลเอ็นต์ DHCP ที่สอดคล้องกับ RFC2131iwd
: ภูตไร้สายอินเทอร์เน็ตinetutils
: ชุดของโปรแกรมเครือข่ายทั่วไปiputils
: เครื่องมือตรวจสอบเครือข่าย รวมถึง ping
ยูทิลิตี้สำหรับการเข้าถึงพาร์ติชัน RAID
หรือ LVM
lvm2
: ยูทิลิตี้ Logical Volume Manager 2 ( หากคุณกำลังตั้งค่าระบบไฟล์ที่เข้ารหัสด้วย LUKS/LVM ให้รวมสิ่งนี้ไว้ใน pacstrap )ซแรม
zram-generator
โปรแกรมแก้ไขข้อความ
nano
vim
vi
แพ็คเกจสำหรับการเข้าถึงเอกสารในหน้าคนและข้อมูล
man-db
man-pages
ไมโครโค้ด
intel-ucode
/ amd-ucode
เครื่องมือ:
git
: ระบบควบคุมเวอร์ชันแบบกระจายอย่างรวดเร็วtmux
: เทอร์มินัลมัลติเพล็กเซอร์less
: โปรแกรมที่ใช้เทอร์มินัลสำหรับการดูไฟล์ข้อความusbutils
: ยูทิลิตี้อุปกรณ์ USBbash-completion
: สามารถตั้งโปรแกรมให้สมบูรณ์ได้สำหรับ bash shellยูทิลิตี userspace สำหรับการจัดการระบบไฟล์ที่จะใช้บนระบบ
ntfs-3g
: ไดรเวอร์ระบบไฟล์ NTFS และยูทิลิตี้unrar
: โปรแกรมคลายการบีบอัด RARunzip
: สำหรับการแยกและดูไฟล์ในไฟล์เก็บถาวร .zip
p7zip
: โปรแกรมจัดเก็บไฟล์บรรทัดคำสั่งที่มีอัตราการบีบอัดสูงunarchiver
: unar
และ lsar
: เครื่องมือ Objective-C สำหรับการบีบอัดไฟล์เก็บถาวรgvfs-mtp
: การใช้งานระบบไฟล์เสมือนสำหรับ GIO
(แบ็กเอนด์ MTP
; Android, เครื่องเล่นสื่อ)libmtp
: การใช้งานไลบรารีของ Media Transfer Protocolandroid-udev
: กฎ Udev เพื่อเชื่อมต่ออุปกรณ์ Android กับกล่อง linux ของคุณmtpfs
: ระบบไฟล์ FUSE ที่รองรับการอ่านและเขียนจากอุปกรณ์ MTP ใด ๆxdg-user-dirs
: จัดการไดเร็กทอรีผู้ใช้เช่น ~/Desktop
และ ~/Music
เครื่องมือเหล่านี้จะมีประโยชน์ในภายหลัง ใน อนาคตฉัน ติดตั้งสิ่งเหล่านี้
# genfstab -U /mnt >> /mnt/etc/fstab
ตรวจสอบไฟล์ /mnt/etc/fstab
ผลลัพธ์ และแก้ไขในกรณีที่เกิดข้อผิดพลาด
ตอนนี้ให้เปลี่ยนรูทเป็นระบบที่ติดตั้งใหม่
# arch-chroot /mnt /bin/bash
คุณสามารถดูเขตเวลาที่เลือกได้ภายใต้ /usr/share/zoneinfo/
เนื่องจากฉันอยู่ที่ฟิลิปปินส์ ฉันจะใช้ /usr/share/zoneinfo/Asia/Manila
เลือกเขตเวลาที่เหมาะสมสำหรับประเทศของคุณ:
# ln -sf /usr/share/zoneinfo/Asia/Manila /etc/localtime
รัน hwclock
เพื่อสร้าง /etc/adjtime
:
# hwclock --systohc
คำสั่งนี้ถือว่านาฬิกาฮาร์ดแวร์ถูกตั้งค่าเป็น UTC
locale
จะกำหนดภาษาที่ระบบใช้ และข้อควรพิจารณาในระดับภูมิภาคอื่นๆ เช่น สกุลเงิน ตัวเลขศาสตร์ และชุดอักขระ ค่าที่เป็นไปได้แสดงอยู่ใน /etc/locale.gen
ไม่ใส่เครื่องหมายข้อคิดเห็น en_US.UTF-8
รวมถึงการแปลเป็นภาษาท้องถิ่นที่จำเป็นอื่นๆ
ยกเลิกหมายเหตุ en_US.UTF-8 UTF-8
และโลแคลที่จำเป็นอื่น ๆ ใน /etc/locale.gen
บันทึก และสร้างด้วย:
# locale-gen
สร้างไฟล์ locale.conf
และตั้งค่าตัวแปร LANG ตาม:
# locale > /etc/locale.conf
หากคุณตั้งค่าเค้าโครงแป้นพิมพ์ไว้ก่อนหน้านี้ ให้ทำการเปลี่ยนแปลงแบบถาวรใน vconsole.conf
:
# echo "KEYMAP=us" > /etc/vconsole.conf
ไม่ได้ใช้เค้าโครง us
? เปลี่ยนเลย ขี้เหร่
สร้างไฟล์ชื่อโฮสต์ ในคู่มือนี้ ฉันจะใช้ MYHOSTNAME
เป็นชื่อโฮสต์ ชื่อโฮสต์คือชื่อโฮสต์ของโฮสต์ ทุกๆ 60 วินาที หนึ่งนาทีผ่านไปในแอฟริกา
# echo "MYHOSTNAME" > /etc/hostname
เปิด /etc/hosts
เพื่อเพิ่มรายการที่ตรงกันให้กับ hosts
:
127.0.0.1 localhost
::1 localhost
127.0.1.1 MYHOSTNAME.localdomain MYHOSTNAME
หากระบบมีที่อยู่ IP ถาวร ก็ควรใช้แทน 127.0.1.1
โดยปกติแล้วไม่จำเป็นต้องสร้าง initramfs ใหม่ เนื่องจาก mkinitcpio รันบนการติดตั้งแพ็คเกจเคอร์เนลด้วย pacstrap นี่เป็นสิ่งสำคัญ หากคุณกำลังตั้งค่าระบบด้วยการเข้ารหัส!
```
# mkinitcpio -P
```
DO NOT FORGET TO RUN THIS BEFORE REBOOTING YOUR SYSTEM!
เปิด /etc/mkinitcpio.conf
ด้วยโปรแกรมแก้ไข:
ในคู่มือนี้ มีสองวิธีในการตั้งค่า initramfs, udev
(ค่าเริ่มต้น) และ systemd
หากคุณกำลังวางแผนที่จะใช้ plymouth
(splashcreen) ขอแนะนำให้ใช้ initramfs แบบ systemd
initramfs ที่ใช้ udev (ค่าเริ่มต้น)
ค้นหาอาร์เรย์ HOOKS
จากนั้นเปลี่ยนเป็นดังนี้:
HOOKS=(base udev autodetect keyboard modconf block encrypt lvm2 filesystems fsck)
initramfs ที่ใช้ระบบ
ค้นหาอาร์เรย์ HOOKS
จากนั้นเปลี่ยนเป็นดังนี้:
HOOKS=(base systemd autodetect keyboard sd-vconsole modconf block sd-encrypt lvm2 filesystems fsck)
สร้างอิมเมจ initramfs ใหม่:
# mkinitcpio -P
อย่าลืมเรียกใช้สิ่งนี้ก่อนที่จะรีบูตระบบของคุณ!
# dd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress
ตั้งค่าการอนุญาตที่ถูกต้อง
# chmod 0600 /swapfile
หลังจากสร้างไฟล์ที่มีขนาดถูกต้องแล้ว ให้จัดรูปแบบเพื่อสลับ:
# mkswap -U clear /swapfile
เปิดใช้งานไฟล์สลับ
# swapon /swapfile
สุดท้าย แก้ไขการกำหนดค่า fstab เพื่อเพิ่มรายการสำหรับไฟล์สลับใน /etc/fstab
:
/swapfile none swap defaults,pri=10 0 0
# pacman -S zram-generator
มาสร้างไฟล์ปรับแต่งที่ /etc/systemd/zram-generator.conf !
ฉันชอบที่จะมี RAM ครึ่งหนึ่งของทั้งหมดเป็นขนาด zswap แล็ปท็อปของฉันมี 4 คอร์ ดังนั้นฉันจะแจกจ่ายให้กับอุปกรณ์ zram สี่เครื่อง ดังนั้นฉันจะใช้การกำหนดค่านี้:
[zram0]
zram-size = ram/8
compression-algorithm = zstd
swap-priority = 100
[zram1]
zram-size = ram/8
compression-algorithm = zstd
swap-priority = 100
[zram2]
zram-size = ram/8
compression-algorithm = zstd
swap-priority = 100
[zram3]
zram-size = ram/8
compression-algorithm = zstd
swap-priority = 100
ไม่จำเป็นต้องเปิด/เริ่มอะไรเลย มันจะเริ่มต้นอุปกรณ์ zram โดยอัตโนมัติ! เพียงรีบูตและรัน swapon -s
เพื่อตรวจสอบการแลกเปลี่ยนที่คุณมี
multilib
และ AUR
เปิดใช้งานที่เก็บ multilib และ AUR ใน /etc/pacman.conf
เปิดด้วยโปรแกรมแก้ไขที่คุณเลือก:
uncomment multilib
(ลบ # ออกจากจุดเริ่มต้นของบรรทัด) มันควรมีลักษณะเช่นนี้:
[multilib]
Include = /etc/pacman.d/mirrorlist
เพิ่มบรรทัดต่อไปนี้ที่ส่วนท้ายของ /etc/pacman.conf
เพื่อเปิดใช้งาน AUR repo:
[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch
pacman
คุณสามารถเปิดใช้งาน "ไข่อีสเตอร์" และสารพัดใน pacman
ซึ่งเป็นตัวจัดการแพ็คเกจของ archlinux
เปิด /etc/pacman.conf
จากนั้นหา # Misc options
หากต้องการเพิ่มสีให้กับ pacman
ให้ไม่ใส่เครื่องหมายข้อคิดเห็น Color
จากนั้นเพิ่ม Pac-Man
ลงใน pacman
โดยการเพิ่ม ILoveCandy
ใต้สตริง Color
หากต้องการเปิดใช้งานการดาวน์โหลดแบบขนาน ให้ยกเลิกการใส่เครื่องหมายข้อคิดเห็นด้วย:
Color
ILoveCandy
ParallelDownloads = 3
หากต้องการตรวจสอบว่าคุณเพิ่มที่เก็บสำเร็จและเปิดใช้งานไข่อีสเตอร์หรือไม่ ให้รัน:
# pacman -Syu
หากการอัปเดตส่งกลับข้อผิดพลาด ให้เปิด pacman.conf
อีกครั้งและตรวจสอบข้อผิดพลาดของมนุษย์ ใช่ คุณเบื่อหน่ายครั้งใหญ่
ตั้งรหัส root
:
# passwd
เพิ่มบัญชีผู้ใช้ใหม่ ในคู่มือนี้ ฉันจะใช้ MYUSERNAME
เป็นชื่อผู้ใช้ของผู้ใช้ใหม่นอกเหนือจากบัญชี root
(การใช้ถ้อยคำของฉันดูซ้ำซ้อนใช่ไหม) แน่นอน ให้เปลี่ยนชื่อผู้ใช้ตามตัวอย่างของคุณเอง:
# useradd -m -g users -G wheel,storage,power,video,audio,rfkill,input -s /bin/bash MYUSERNAME
สิ่งนี้จะสร้างผู้ใช้ใหม่และโฟลเดอร์ home
ตั้งรหัสผ่านของผู้ใช้ MYUSERNAME
:
# passwd MYUSERNAME
หากคุณต้องการสิทธิ์รูทในอนาคตโดยใช้คำสั่ง sudo
คุณควรให้สิทธิ์ตัวเอง:
# EDITOR=vim visudo
ยกเลิกการใส่เครื่องหมายบรรทัด (ลบ #):
# %wheel ALL=(ALL) ALL
ใช่ นี่คือที่ที่เราติดตั้ง bootloader เราจะใช้ systemd-boot
ดังนั้นจึงไม่จำเป็นต้องใช้ grub2
ติดตั้งบูตโหลดเดอร์:
เราจะติดตั้งมันใน /boot
mountpoint ( /dev/sda1
partition)
# bootctl --path=/boot install
สร้างรายการบูต /boot/loader/entries/arch.conf
จากนั้นเพิ่มบรรทัดเหล่านี้:
```
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=/dev/sda3 rw
```
If your `/` is not in `/dev/sda3`, make sure to change it.
Save and exit.
จำ initramfs สองประเภทก่อนหน้านี้ได้ไหม แต่ละประเภทต้องการพารามิเตอร์เคอร์เนลเฉพาะ มันมีรายการสองประเภทตรงนี้ด้วย โปรดจำไว้ว่า volume
คือชื่อกลุ่มวอลุ่มและ /dev/mapper/volume-root
เป็นพาธไปยัง /
initramfs ที่ใช้ udev
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options cryptdevice=UUID=/DEV/SDA2/UUID/HERE:volume root=/dev/mapper/volume-root rw
แทนที่ /DEV/SDA2/UUID/HERE
ด้วย UUID ของพาร์ติชัน LVM
ของคุณ blkid /dev/sda2
คุณสามารถตรวจสอบได้ด้วยการเรียกใช้ โปรดทราบว่าพลีมัธไม่รองรับพารามิเตอร์ cryptdevice
ดังนั้นจึงแนะนำให้ใช้ initramfs แบบอิง systemd หากคุณวางแผนที่จะใช้
เคล็ดลับ: หากคุณใช้ vim
คุณสามารถเขียน UUID ได้ง่ายขึ้นโดยพิมพ์ :read ! blkid /dev/sda2
จากนั้นกด Enter จากนั้นจัดการเอาต์พุตโดยใช้โหมดภาพ
initramfs ที่ใช้ระบบ
title Arch Linux
linux /vmlinuz-linux
initrd /intel-ucode.img
initrd /initramfs-linux.img
options rd.luks.name=/DEV/SDA2/UUID/HERE=volume root=/dev/mapper/volume-root rw
แทนที่ /DEV/SDA2/UUID/HERE
ด้วย UUID ของพาร์ติชัน LVM
ของคุณ blkid /dev/sda2
คุณสามารถตรวจสอบได้ด้วยการเรียกใช้
เคล็ดลับ: หากคุณใช้ vim
คุณสามารถเขียน UUID ได้ง่ายขึ้นโดยพิมพ์ :read ! blkid /dev/sda2
จากนั้นกด Enter จากนั้นจัดการเอาต์พุตโดยใช้โหมดภาพ
อัปเดตการกำหนดค่า bootloader
# vim /boot/loader/loader.conf
ลบเนื้อหาทั้งหมด จากนั้นแทนที่ด้วย:
default arch.conf
timeout 0
console-mode max
editor no
ผู้ผลิตโปรเซสเซอร์เผยแพร่การอัปเดตความเสถียรและความปลอดภัยให้กับไมโครโค้ดของโปรเซสเซอร์ การอัปเดตเหล่านี้มีการแก้ไขข้อบกพร่องที่อาจมีความสำคัญต่อความเสถียรของระบบของคุณ หากไม่มีสิ่งเหล่านี้ คุณอาจประสบปัญหาล่มปลอมหรือการหยุดระบบโดยไม่คาดคิดซึ่งอาจติดตามได้ยาก
หากคุณไม่ได้ติดตั้งโดยใช้ pacstrap ให้ติดตั้งไมโครโค้ดโดย:
สำหรับโปรเซสเซอร์ AMD:
# pacman -S amd-ucode
สำหรับโปรเซสเซอร์ Intel:
# pacman -S intel-ucode
หากการติดตั้ง Arch ของคุณอยู่บนไดรฟ์แบบถอดได้ซึ่งจำเป็นต้องมีไมโครโค้ดสำหรับโปรเซสเซอร์ของผู้ผลิตทั้งสองราย ให้ติดตั้งแพ็คเกจทั้งสอง
โหลดไมโครโค้ด สำหรับ systemd-boot
ให้ใช้ตัวเลือก initrd
เพื่อโหลดไมโครโค้ด ก่อน ramdisk เริ่มต้นดังต่อไปนี้:
# sudoedit /boot/loader/entries/entry.conf
title Arch Linux
linux /vmlinuz-linux
initrd /CPU_MANUFACTURER-ucode.img
initrd /initramfs-linux.img
...
แทนที่ CPU_MANUFACTURER
ด้วย amd
หรือ intel
ขึ้นอยู่กับโปรเซสเซอร์ของคุณ
หากต้องการเปิดใช้งาน daemons เครือข่ายในการรีบูตครั้งถัดไป คุณจะต้องเปิดใช้งาน dhcpcd.service
สำหรับการเชื่อมต่อแบบมีสาย และ iwd.service
สำหรับการเชื่อมต่อไร้สาย
# systemctl enable dhcpcd iwd
ออกจากสภาพแวดล้อม chroot โดยพิมพ์ exit
หรือกด Ctrl + d คุณสามารถถอนติดตั้งพาร์ติชันที่เมาท์ทั้งหมดได้หลังจากนี้
ในที่สุด reboot
ถ้าการติดตั้งของคุณสำเร็จแล้วล่ะ ก็ เย้!!! ถ้าไม่เช่นนั้น คุณควรเริ่มตั้งคำถามถึงการดำรงอยู่ของคุณเอง พ่อแม่ของคุณภูมิใจในตัวคุณไหม?