2023年11月25日发(作者:)

ArchLinux安装、配置、美化和优化

国庆假期玩了下Arch Linux,发现这货跟Ubuntu之流相差甚远,甚难调教,⽽且安裝过程全命令⾏,会有各种问题,各种知识。。。

--- 安装引导器

--- ---------------------------

GRUB

BIOS

# pacman -S grub os-prober

# grub-install --recheck /dev/<⽬标磁盘>

# grub-mkconfig -o /boot/grub/

UEFI---如果BIOSUEFI的,就要⽤下⾯的命令安装grub

# pacman -S dosfstools grub efibootmgr

# grub-install --target=x86_64-efi --efi-directory=分区挂载点> --bootloader-id=arch_grub --recheck

# grub-mkconfig -o /boot/grub/

+++ 分区

+++ +++++++++++++++++

在本节,⽤户须在 MBR GPT 之间做出选择。通常建议在 UEFI 系统中使⽤ GPT,在 BIOS 系统中使⽤ MBR。注意部分 UEFI 系统不⽀

MBR 引导,部分 BIOS 系统不⽀持 GPT 引导。

1. ---

--- 分区⽅案

--- ---------------------------

基本要求:

⾄少⼀个分区(类型代码:8300

特殊要求:

BIOS + GPT + GrubBIOS 引导分区(类型代码:ef02;⼤⼩ ≥ 1 MiB

UEFIUEFI 系统分区(类型代码:ef00;⼤⼩ ≥ 256 MiB

系统休眠:交换分区(类型代码:8200;⼤⼩ ≥ 2×内存⼤⼩)

⼀般建议:

若安装⽬标内存 ≤ 2GB,添加⼀个交换分区

/home 分配⼀个分区

⼀个例⼦:

$ lsblk /dev/sda -o NAME,FSTYPE,SIZE,MOUNTPOINT # 名称,⽂件系统,⼤⼩,挂载点

NAME FSTYPE SIZE MOUNTPOINT

sda 120G

├─sda1 vfat 512M /boot/EFI

├─sda2 ext4 36G /

├─sda3 ext4 79.5G home

└─sda4 swap 4G [SWAP]

2. ---

--- 分区

--- ---------------------------

确定⽬标磁盘及⽬标分区:

# lsblk

分区⽤软件:

通⽤:partedcfdisksfdisk

GPTcgdisksgdisk

MBRfdisk

具体⽤法:

1.利⽤ fdisk 创建 MBR 分区:

$ fdisk /dev/sda

2.利⽤ cgdisk 创建 GPT 分区:

$ cgdisk /dev/sda

3.利⽤ parted创建 GPT 分区:

parted是⼀个可以分区并进⾏分区调整的⼯具,他可以创建,破坏,移动,复制,调整ext2 linux-swap fat fat32 reiserfs类型的分区,可以创

建,调整,移动MacintoshHFS分区,检测jfsntfsufsxfs分区。

使⽤⽅法:parted [options] [device [command []...]]

options

-h 显⽰帮助信息

-l 显⽰所有块设备上的分区

device

对哪个块设备进⾏操作,如果没有指定则使⽤第⼀个块设备

command []

check partition

对分区做⼀个简单的检测

cp [source-device] source dest

复制source-device设备上的source分区到当前设备的dest分区

mklabel label-type

创建新分区表类型,label-type可以是:"bsd", "dvh", "gpt", "loop","mac", "msdos", "pc98", or "sun" ⼀般的pc机都是msdos格式,如果分

区⼤于2T则需要选⽤gpt格式的分区表。

mkfs partition fs-type

partition分区上创建⼀个fs-type⽂件系统,fs-type可以是:"fat16", "fat32", "ext2", "linux-swap","reiserfs" 注意不⽀持ext3格式的⽂件系

统,只能先分区然后⽤专有命令进⾏格式化。

mkpart part-type [fs-type] start end

创建⼀个part-type类型的分区,part-type可以是:"primary", "logical", or "extended" 如果指定fs-type则在创建分区的同时进⾏格式化。

startend指的是分区的起始位置,单位默认是M

分区⼯具⽐较多,推荐 或者 ,后者有个类似图形化⼀样的界⾯很⽅便。我⽤的是 ,表问我为什么,逼格⾼==

partedcfdiskparted

parted /dev/sda

(parted) mklabel msdos

(parted) mkpart primary ext4 1M 500M

(parted) set 1 boot on

(parted) mkpart primary ext4 500M 50G

(parted) mkpart primary linux-swap 50G 54G

(parted) mkpart primary ext4 54G 100%

解释⼀下,先说⼀下 的基本⽤法

parted

(parted) mkpart part-type fs-type start end

进⼊ 交互界⾯后使⽤ 创建,后⾯跟上 4 个参数,分别是 分区类型、⽂件系统类型、起始点、结束点,分区类型就主分区还是逻

partedmkpart

辑分区,起始结束点使⽤ MBGB ⽅便计算你懂的。

使⽤ 设备进⾏分区,分区表 分区结构。共分了4个区,个⼈习惯~

parted/dev/sdaMS-DOSMBR

挂载点 ⼤⼩ 说明

------------------------------------------------------------------

/boot 1-500M ⽤于挂载 /boot 分区,设置为 Bootable

/ 500M-50G ⽤于挂载 / 分区

swap 50G-54G ⽤于交换分区(Swap)

/home 54G-100% 剩余空间⽤于挂载 /home分区

分完区后进⾏格式化

4 /dev/sda1

4 /dev/sda2

4 /dev/sda4

mkswap /dev/sda3

挂载分区

mount /dev/sda2 /mnt

mkdir /mnt/{boot,home}

mount /dev/sda1 /mnt/boot

mount /dev/sda4 /mnt/home

swapon /dev/sda3

分区⽅案:

类型 ⼤⼩ 类型代码

/dev/sda1 EFI 系统分区 512M ef00

/dev/sda2 Linux ext4 任意 8300

/dev/sda3 Linux 交换分区 适量 8200

4.利⽤ cfdisk创建 GPT 分区:

cfdisk有⼀个终端图形界⾯,本质和parted⼀样,详细⽤法如下:

安装并配置 bootloader

我的主板是BIOS主板,这⾥采⽤的 bootloader Grub;安装 grub 包,并执⾏ grub-install 已安装到 MBR

# pacman -S grub

# grub-install --target=i386-pc --recheck /dev/sdb

注意:须根据实际分区⾃⾏调整 /dev/sdb, 切勿在块设备后附加数字,⽐如 /dev/sdb1 就不对。

由于我的硬盘上还有另外⼀个操作系统windows 7,为了检测到该系统并写到grub启动项中,还需要做下⾯的操作。

# pacman -S os-prober

# grub-mkconfig -o /boot/grub/

卸载分区并重启系统

离开 chroot 环境并重启操作系统

# exit

# reboot

安装图形界⾯

桌⾯环境我⽤的是XFCE4,在安装之前需要装⼏个其它的东西。

安装xorg-server

# pacman -S xorg-server xorg-server-utils xorg-xinit

# pacman -S xf86-video-intel

# pacman -S xf86-video-nouveau

安装LXDM

LXDM是个桌⾯管理器,⽤来登录系统及启动XFCE桌⾯。

# pacman -S lxdm

# systemctl enable e

安装XFCE4

# pacman -S xfce4

经过以上步骤,可以通过下⾯的命令来启动XFCE4了:

startxfce4

设置 root ⽤户密码

passwd root

添加⽤户

虽然你也可以直接⽤ root ⽤户,但是毕竟不安全,貌似有些软件还不能直接⽤ root

useradd -m -g users -G wheel -s /bin/bash ikke

passwd ikke

安装 sudo

要使⽤ sudo 命令提权的话需要安装 sudo 并且做相应配置

pacman -S sudo

打开 /etc/sudoers ⽂件,找到 root ALL=(ALL) ALL 并依葫芦画瓢添加 ikke ALL=(ALL) ALL 即可。

图形界⾯安装

下⾯开始安装图形界⾯

Xorg

⾸先是装Xorg

1.

pacman -S xorg-server xorg-xinit

触摸板驱动

1.

pacman -S xf86-input-synaptics

显卡驱动

下⾯安装显卡驱动

intel

1.

pacman -S xf86-video-intel

英伟达

1.

pacman -S xf86-video-nv

ATi

1.

pacman -S xf86-video-ati

我这⾥是双显卡,我只安装了intel的驱动

这个时候startx是不能进⼊x界⾯的,不过不⽤担⼼,请继续看后续教程。

GNOME桌⾯

gnome桌⾯只要安装gnome包即可,还有⼀个gnome-extra包可以提供额外的常⽤软件和⼏个游戏,你可以安装时选择你要的软件,没有必

要全选,当然也可以不装这个包,我这⾥只选了gnome-tweak-tool这个⼯具

1.

pacman -S gnome gnome-extra

然后安装gdm登录管理器

1.

pacman -S gnome gdm

gdm设置为开机⾃启动,这样开机时会⾃动载⼊桌⾯

1.

systemctl enable gdm

Deepin 桌⾯

Deepin 桌⾯安装:

5.

最简安装(仅有桌⾯软件)

6.

pacman -S plasma-desktop

然后是登录管理器SDDM

1.

pacman -S sddm

SDDM设置为开机⾃启动

1.

systemctl enable sddm

XFCE4桌⾯

安装LXDM

LXDM是个桌⾯管理器,⽤来登录系统及启动XFCE桌⾯。

# pacman -S lxdm

# systemctl enable e

安装XFCE4

# pacman -S xfce4

经过以上步骤,可以通过下⾯的命令来启动XFCE4了:

startxfce4

LXDE桌⾯

安装LXDM管理器和LXDE桌⾯:

# pacman -S lxdm lxde

设置lxdm开机启动:

# systemctl enable lxdm

startx 启动图形界⾯

如果你不想开机⾃动进⼊桌⾯,可以使⽤startx启动桌⾯,如果要使⽤startx,就不⽤安装登录管理器。

1.

pacman -S xorg-xinit

创建新⽤户

1.

useradd -m -G wheel -s /bin/bash ⽤户名

⽤户密码

1.

passwd ⽤户名

安装sudo

为安全期间,我们可以⽤sudo来使⽤root权限

1.

pacman -S sudo

将⽤户加⼊sudo

加⼊这个:

/etc/sudoers

1.

⽤户名 ALL=(ALL) ALL

也可以去掉这⼀⾏前⾯的#

#%wheel ALL=(ALL) ALL

中⽂字体

你需要中⽂字体才能使⽤gnome-terminal

1.

pacman -S wqy-microhei

现在你已经可以使⽤你的系统了,输⼊重启后系统即可⾃动进⼊gdm界⾯,然后进⼊桌⾯

reboot

安装常⽤字体:

# pacman -S ttf-dejavu wqy-zenhei wqy-microhei

后续优化

yaourt

Yaourtarchlinux⽅便使⽤的关键部件之⼀,但没有被整合到系统安装中的⼯具。建议在装完系统重启之后,更新完pacman和基本系统之

后,就安装这个⼯具。

最简单安装Yaourt的⽅式是添加Yaourt源⾄您的 /etc/,在⽂件最后加⼊:

1.

[archlinuxcn]

2.

#The Chinese Arch Linux communities packages.

3.

SigLevel = Optional TrustAll

4.

Server = /archlinuxcn/$arch

1.

export GTK_IM_MODULE=fcitx

2.

export QT_IM_MODULE=fcitx

3.

export XMODIFIERS=“@im=fcitx”

然后执⾏

1.

gsettings set

2.

ngs overrides

3.

"{'Gtk/IMModule':<'fcitx'>}"

安装搜狗输⼊法

1.

yaourt -S fcitx-sogoupinyin

然后进⼊fcitx设置进⾏配置即可

chrome

前⾯已经安装了yaourt,这⾥只要

1.

yaourt -S google-chrome

解压软件

需要图形化的解压软件可以这样:

1.

sudo pacman -S p7zip file-roller unrar

⽂件系统⽀持

要⽀持制作fat⽂件系统,安装dosfstools,默认内核只能读取ntfs,要⽀持ntfs读写,安装ntfs-3g

1.

sudo pacman -S ntfs-3g dosfstools

⽆线AP

需要安装create-ap才能使⽤gnome3设置⾥的创建热点选项

1.

sudo pacman -S create_ap

###

美化

此处仅为gnome美化

这⾥先展⽰⼀下美化后的样⼦

gnome-tweak-tool

如果你安装了gnome-extra,那么这个⼯具已经被安装了,否则的话

1.

然后安装主题,这⾥我是⽤的贴吧的@Air_WaweiAir主题,并⾃⼰做了些修改。

⾸先 然后解压,将Air⽂件夹放到⽂件夹⾥,在gnome-tweak-tool⾥启⽤主题

/usr/share/themes/

gdm背景

输⼊以下指令

1.

curl -L -O /sh/archibold

2.

chmod +x archibold

3.

./archibold login-backgroung 你的背景的地址

重启后gdm就会变成你要的背景

gnome-shell拓展

screenfetch

screenfetch可以在终端⾥输出你的系统logo和状态。

可以⽤pacman安装:

1.

pacman -S screenfetch

要让screenfetch在打开终端是⾃动输出,在~/.bashrc⾥加⼊

1.

screenfetch

dock

⼀些优化

SATA 启⽤ AHCI 模式

SATA 有两种⼯作模式:原⽣的 模式提供更好的性能(如热插拔和 ⽀持)、模拟的 IDE 模式提供更好的兼容性。⼀般主板出⼚默认将

SATA 模式设置为 IDE 模式,但如今先进的 Linux Windows 都早已原⽣⽀持 AHCI,所以我们最好打开 AHCI 模式以优化性能。

Arch Linux 在安装好以后,内核镜像默认没有载⼊ AHCI 驱动模块。修改 ,添加 变量:

/etc/ahciMODULES

MODULES="ahci"

然后重建内核镜像,重新启动后 AHCI 驱动就会加载:

$ mkinitcpio -p linux

在主板 UEFI BIOS 中,将 SATA 模式从 (或 等等),设置为 (或 等等)。需要注意的是,如果你还在⽤

IDEPATA EmulationAHCINative

Windows XP,它需要安装 AHCI 驱动才⾏。Windows Vista 及以后的版本则不需要担⼼这个问题(但如果你是在 Windows 安装完成后才启

AHCI 模式,因为安装期间 Windows 会⾃动禁⽤未使⽤的存储驱动程序,你需要参考 Windows Vista/7)或(Windows 8)来启⽤

AHCI 驱动程序)。

设置好以后,你可以从 命令的输出⾥,找到 AHCI NCQ 成功启⽤的证据:

dmesg

$ dmesg

...

SCSI subsystem initialized

libata version 3.00 loaded.

ahci 0000:00:1f.2: version 3.0

ahci 0000:00:1f.2: irq 24 for MSI/MSI-X

ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 6 ports 6 Gbps 0x10 impl SATA mode

ahci 0000:00:1f.2: flags: 64bit ncq led clo pio slum part ems apst

scsi host0: ahci

scsi host1: ahci

scsi host2: ahci

scsi host3: ahci

scsi host4: ahci

scsi host5: ahci

...

ata5.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA

...

优化系统启动速度

Arch Linux 是个很不错的⼯具,利⽤它你可以很直观地观察到系统启动的时间都花到哪⼉去了:

systemd-analyze

$ systemd-analyze

Startup finished in 6.857s (firmware) + 3.157s (loader) + 1.870s (kernel) + 8.157s (userspace) = 20.044s

我注意到打开 AHCI 后,内核和⽤户空间的载⼊速度明显提⾼了,总启动时间从约 30 秒缩短到 20 秒,效果⾮常明显。

⽤下⾯这个命令,可以了解到是什么东西启动最慢:

$ systemd-analyze blame

此外,还可以把启动过程绘制成 SVG 图表供你审阅(⽤ GNOME 的图⽚预览或 Chrome 浏览器都可以打开),这个图表中你还可以观察到

是否有启动慢的组件影响到了依赖它的组件的启动:

$ systemd-analyze plot >

---zsh 就是传说中超级强⼤,要⽤来替代Bash shell的存在