Archlinux+KDE安装

How to install archlinux on your computer

Posted by JenI on 2016-10-14 00:00:00+08:00

前言

Archlinux作为最受用户欢迎的十大发行版之一,其最大的特点就是高度定制和滚动更新,并且拥有简单易用的包管理软件和十分活跃的社区。但由于其使用可定制化的二进制命令式安装方法,使得安装步骤相对于Ubuntu、Rethat等发行版要复杂一些,尽管官方的wiki写的十分详细,但许多刚接触Linux的人面对一条一条命令还是一头雾水。

有些人认为Archlinux并不适合新手使用,但其实这个因人而异,如果真的想深入了解linux系统,我更建议起步高一点,哪怕最开始大部分命令都看不懂,对照着wiki或网上的教程完整安装完一个系统,使用一段时间后就会发现,自己已经逐渐可以接受用键盘代替鼠标操作了,而且大部分命令也都熟悉了,此时便对linux系统有了一个基本认识。

当然,我也只是个新手,对于玩转linux系统还差的远,大部分的操作也要阅读帮助文档或谷歌,之所以写这篇文章,主要是想对安装过程做一个完整的记录,方便以后查阅,如果能对后来人起到帮助作用,那更好。

过程中出现错误或疏漏的步骤,欢迎指正。

建议先在虚拟机安装,成功后再在物理机上安装。

准备

到archlinux的官网下载镜像,下载完成后烧到一个空白U盘内,windows下推荐使用rufus或者UltraISO,linux下在镜像所在目录执行如下命令(假设电脑只有一块硬盘,u盘挂载后为/dev/sdb)

dd if=xxx.iso of=/dev/sdb

重启电脑进入bios,在启动项中调整u盘到首位,保存后重启。

安装

进入Archlinux的livecd后,首先进行分区(刚接触的用户建议cfdisk工具,具有互动式操作界面而非传统fdisk的问答式界面,可以轻易地利用方向键来操控分区操作。)

cfdisk /dev/sda

以下为我的硬盘分区方式,livecd中是英文界面,可对照下图操作。因为是双系统,所以分区较多,请忽略window系统所在分区,只看linux分区。

磁盘:/dev/sda
尺寸:931.5 GiB,1000204886016 字节,1953525168 个扇区
标签:gpt,标识符:A6C43A92-A959-4027-81C1-B2A46457A764
设备                   起点         末尾        扇区     大小 类型
/dev/sda1              2048       204799      202752      99M EFI 系统
/dev/sda2            204800       466943      262144     128M Microsoft 保留
剩余空间             466944       468991        2048       1M
/dev/sda3            468992    346903025   346434034   165.2G Microsoft 基本数据
/dev/sda4         346904576    348596223     1691648     826M Windows 恢复环境
剩余空间          348596224    348598271        2048       1M
/dev/sda5         348598272    977745919   629147648     300G Microsoft 基本数据
/dev/sda6         977745920   1607491583   629745664   300.3G Microsoft 基本数据
/dev/sda7        1607491584   1674600447    67108864      32G Linux root (x86-64)
/dev/sda8        1674600448   1682989055     8388608       4G Linux swap
/dev/sda9        1682989056   1953525134   270536079     129G Linux home
┌───────────────────────────────────────────────────────────────────────────────────┐
│ Partition name: EFI system partition                                              │
│ Partition UUID: CF298F48-DD73-426C-B828-11B8285B0996                              │
│ Partition type: EFI 系统 (C12A7328-F81F-11D2-BA4B-00A0C93EC93B)                   │
│     Filesystem: vfat                                                              │
│Filesystem UUID: 0004-32A3                                                         │
│     Mountpoint: /boot (mounted)                                                   │
└───────────────────────────────────────────────────────────────────────────────────┘
[ 删除 ]  [ 退出 ]  [ 类型 ]  [ 帮助 ]  [ 写入 ]  [ 转储 ]

一般分区方式为boot分区+root分区+home分区+swap分区,home分区也可不创建。强烈不建议使用root作为日常用户,因为root用户拥有系统的完全控制权,容易误操作导致对系统或文件造成不可恢复的错误。

boot:用于存放系统的启动引导文件,100M-200M足够,存在EFI分区无需创建此分区

root:根目录,文件系统的起点。如果有普通用户的话不同分太多,无普通用户时大小为剩余空间

home:家目录,普通用户的数据存放地,建议创建,重装系统时可避免数据丢失。其他分区创建完成时的剩余空间

swap:内存交换空间。尽管现在计算机的内存大多足够使用,但仍然建议创建swap分区,除了作为物理内存不足以支撑应用程序(进程)运作时的备用内存,还可以避免有发生内存泄漏几率的应用程序(进程)占满物理内存导致系统崩溃。

分区成功后写入退出,此时分区结构如下

/dev/sda

/dev/sda1 -->boot分区
/dev/sda2 -->root分区
/dev/sda3 -->home分区
/dev/sda4 -->swap分区

格式化分区并挂载

boot分区、root分区、home分区:

mkfs.ext4 /dev/sda1
mkfs.ext4 /dev/sda2
mkfs.ext4 /dev/sda3
mkswap /dev/sda4
swapon /dev/sda4
mount /dev/sda2 /mnt
cd /mnt
mkdir boot home
mount /dev/sda1 /mnt/boot(当存在efi分区时将boot目录挂载到efi分区)
mount /dev/sda3 /mnt/home

linux不同与windows,windows是把硬盘上的分区映射到盘符上,但linux没有盘符的概念,它只有树状结构的目录,简单的理解,挂载就是将目录指向不同的分区,之后你对这个目录下的文件进行操作都相当于对该目录所指向的分区内的文件进行操作

安装基本系统

先联网,如果是有线网(需要路由器自动分配IP,路由器默认开启了dhcp服务),执行

systemctl start dhcpcd

无线网用户执行

wifi-menu

方向键选择自己的无线网络,回车两次,输入密码。连接网络成功后执行以下命令安装系统。安装之前可以将源改为国内源,这样安装速度会快一点,更换国内源方法下文有写

pacstrap -i /mnt base base-devel vim

安装需要一点时间,base是基础软件包组,base-devel是基础开发包组,vim是世界上最好的编辑器。(刚接触linux的朋友可以先使用nano代替vim,等到熟悉vim操作时再使用vim)

配置基础系统

生成fstab

genfstab -U -p /mnt >> /mnt/etc/fstab

如果创建了交换分区,执行

echo "$(blkid -o export /dev/sda3|grep '^UUID') swap swap defaults 0 0" >> /mnt/etc/fstab

change root 到新安装的基本系统,简单理解就是从U盘里的系统进入刚刚安装的新系统里,之后的操作都是针对硬盘内系统的

arch-chroot /mnt /bin/bash

配置更新源

nano /etc/pacman.d/mirrorlist

在文件头部加入以下两行,清华大学维护的镜像源,速度比较快,

Server=http://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
Server=https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch

pacman -Syy

设置主机名

echo 这里填你的主机名字,只能是字母、横线和数字 > /etc/hostname

修改时区

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

更改语言环境

nano /etc/locale.gen
找到以下四行,去掉行首的#

en_US.UTF-8
zh_CN.UTF-8
zh_CN.GBK
zh_CN.GB2312

ctrl+x 摁y,再回车退出,之后执行
locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf

更改root用户的密码

passwd

密码要敲两次,而且屏幕上不会有显示,没关系,尽管设置就是了

生成启动要用的ramdisk

mkinitcpio -p linux

执行以下命令确保新系统可以联网

pacman -S iw wpa_supplicant dialog
pacman -S net-tools dnsutils inetutils iproute2

安装启动引导器,有很多引导器可以选择,如grub,syslinux,systemd-boot等

UEFI用户可以systemd-boot,首先确认启动方式是UEFI模式,并可以正确访问EFI变量

bootctl --path=$esp install
nano /boot/loader/entries/arch.conf

加入如下内容

title          Arch Linux
linux          /vmlinuz-linux
initrd         /initramfs-linux.img
options        root=/dev/sda2 rw
ctrl+x 摁y,再回车退出

传统启动方式的电脑可以使用grub

pacman -S grub
grub-install --target=i386-pc --recheck --debug /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

或者使用syslinux

pacman -S syslinux gptfdisk xf86-video-vesa
syslinux-install_update -i -a -m
nano /boot/syslinux/syslinux.cfg

#找到下面两行,第一行加#,第二行去#
#UI menu.c32
UI vesamenu.c32
#找到所有标有root字符的行,将后面sdax中的x改为自己根目录对应分区
root=/dev/sda2

退出chroot环境,重启电脑,重启时进入bios将应该改为第一启动项

exit
reboot

重新启动后以root用户登录,联网

创建一个普通用户并使用zsh作为默认shell。以普通用户执行没有权限的操作时,可以使用sudo命令进行临时提权

pacman -S zsh grml-zsh-config
useradd -m -g users -G wheel -s /bin/zsh zhangsan(假设创建一个名为zhangsan的普通用户)
passwd zhangsan(为zhangsan用户设置密码)
ln -sf /etc/skel/.zshrc /home/zhangsan/.zshrc
nano /etc/sudoers

找到root ALL=(ALL) ALL下面加一行,如下,注意格式一定不要错

root ALL=(ALL) ALL
zhangsan ALL=(ALL) ALL
安装X服务

首先安装,Archlinux默认提供了vesa,它兼容大多数的显卡,如果对图形化有高要求的人可以根据自己系统的显卡品牌安装不同厂商各自的开源或闭源显卡驱动,详见:xorg

安装xorg

pacman -S xorg-xinit xorg-twm xorg-xclock xterm
cp /etc/X11/xinit/xinitrc /home/zhangsan/.xinitrc

安装桌面环境

常见桌面环境有Gnome、KDE、LXDE、Xfce等,前两个属于较重量级的,后两个属于轻量桌面环境。对于接触时间较短的用户更推荐前两个桌面环境,虽然他们比较大,并不是十分符合Archlinux K.I.S.S(Keep It Simple,Stupid)的原则,但也正因为功能比较丰富,所以更适合刚从windows转来的用户。这里选择安装KDE

KDE在4代时bug比较多,桌面经常崩溃,但是发展至今已经是个十分完善且稳定的桌面环境了,而且近期更新的KDE Plasma 5.8为一个LTS版本,十分适合长期使用。下面开始安装

pacman -S plasma kdebase qt4 phonon-qt4-gstreamer phonon-qt4-vlc

这里说明一下,为什么要把这几个qt4的包和plasma同时安装,其实我也并不清楚原理,只是如果不在这里安装qt4的话,今后的使用中部分应用可能会导致桌面环境卡死或崩溃。

pacman -S kde-l10n-zh_cn ttf-dejavu wqy-zenhei wqy-microhei wqy-microhei-lite adobe-source-han-sans-cn-fonts konsole dolphin kate

后端选择vlc版本,其它默认,安装时间较长

添加环境变量

如果想开机后通过startx命令进入桌面环境,编辑.xinitrc文件

nano /home/zhangsan/.xinitrc

注释掉下面内容

#twm &
#xclock -geometry 50x50-1+1 &
#xterm -geometry 80x50+494+51 &
#xterm -geometry 80x20+494-0 &
#exec xterm -geometry 80x66+0+0 -name login
在文件最后加入以下内容
export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN:en_US
export LC_CTYPE=en_US.UTF-8
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
exec startkde
如果想开机直接进入桌面环境

pacman -S sddm sddm-kcm
systemctl enable sddm
sddm --example-config > /etc/sddm.conf
nano /etc/sddm.conf

对应行修改如下

[Theme]
Current=breeze
CursorTheme=breeze_cursors

编辑.xprofile

nano /home/zhangsan/.xprofile

即使文件不存在也要加入以下几行

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
增加社区源

nano /etc/pacman.conf

在文件末尾加入以下几行,依然是中科大维护的镜像源

[archlinuxcn]
SigLevel=Optional TrustedOnly
Server=https://mirrors.ustc.edu.cn/archlinuxcn/$arch

pacman -Syy
sudo pacman -S yaourt archlinuxcn-keyring

安装输入法

pacman -S fcitx-im kcm-fcitx

上面命令安装输入法支持和输入法图形化管理区,具体输入法看自己喜好下载

pacman -S fcitx-googlepinyin (谷歌拼音)

其他还有fcitx-sunpinyin、fcitx-libpinyin、fcitx-rime等,自行替换上面命令安装

yaourt -S fcitx-sogoupinyin (搜狗拼音)

安装结束

pacman -Syu
reboot

如果使用sddm显示管理器的用户此时开机后应该已经进入桌面了,直接输入普通用户用户名和密码即可登录

如果没有使用sddm的用户重启后应该在命令行下登录,登录成功后执行以下命令即可进入桌面

startx

其他设置

如果不习惯命令行联网,可以执行

systemctl enable NetworkManager

更新系统(普通用户加sudo)

pacman -Syu

安装软件

pacman -S 软件名(要善于使用tab补全)

卸载软件

pacman -R 软件名

pacman仓库没有的软件可以尝试在社区找一下,基本都会有。命令语法与pacman相同。

yaourt -S 软件名

最后

安装过程就这些了,第一次写博客,啰里啰嗦的写了一大堆,其实没什么干货,以后会逐渐改进。另外博客目前只能查看,其他如分类、评论等功能会陆续添加。

参考:       archlinux wiki


作者:   JenI   转载请注明出处,谢谢


Comments !