建议:在开始安装之前,请简要通读全文一遍;
本文目录:
● 本文的目的
● 第一步,U盘启动电脑
● 第二步,安装前准备:测试网络/挂载分区
● 第三步,安装:修改安装源/安装并配置基本系统
● 第四步,添加普通用户
● 第五步,安装配置中文字体/输入法/防火墙/杀毒软件
● 第六步,调试声音
● 第七步,安装其它应用
● 附注:安装命令列表
本文附录:
● 附录1、联网
● 附录2、下载并验证ISO文件
● 附录3、制作启动U盘/设置启动盘/多系统
● 附录4、分区
● 附录5、忘记 root 密码
● 附录6、KVM vs VirtualBox
● 附录7、Virt-manager 安装 Windows7 虚拟机
● 附录8、用 Samba 实现 host 与 guest 文件共享
● 附录9、关于杀毒软件/防火墙
因为文章有点长,所以附录部分内容,全部放在另一个地址,如下:
//www.greatytc.com/p/a082f6e400d6
下面开始正文
首先,本文的目的:
本文目的是尽量让阅读的人可以仅依照本文就能独立完成整个安装过程,来回来去找教程真的很麻烦,先装好用上再说;
依照本文安装好的 Arch Linux 系统,基本上可以当作一个工作站,日常使用完全没问题,可以实现以下所述功能 (附软件名称) :
1、办公:LibreOffice
2、上网浏览:Firefox
3、查病毒/防火墙:ClamAV/Gufw
4、图形图像:Gimp,Inkscape,Gwenview
5、本地音/视频:VLC media player
6、在线音/视频:flashplugin
7、Windows (QQ/股票等):KVM 虚拟机 (这个有限定条件,请参考 KVM 部分)
8、KVM host 与 guest 文件共享:Samba (参考附录部分)
也就是说,本文相当于是一本傻瓜书,旨在让阅读者可以快速无误的完成 Arch Linux 系统的安装,达到能够日常使用的程度。
其次,为了简化安装过程,本文假设阅读者具备以下条件/能力:
1、电脑可以通过有线网络直接连接 internet ,无需拨号;
2、能够自行从 Arch Linux 官方网站 下载 iso 文件 (最好做SHA1验证-参考附录2 ;本文以2017.07.01版本的 iso 为例进行安装);
3、能够把下载的 iso 文件制作成U盘启动盘,并能够用这个U盘成功启动电脑;(参考附录3 )
4、能够为即将进行的 Arch Linux 系统安装提前准备好硬盘空间 --- 具体请参考附录4 ;
5、本文假设你当前正在使用的是 Windows 系统,内容稍多;如果你当前使用的是 Linux 系统,那很多内容都可以跳过;
以上条件的相关说明,请参考附录1-附录4 。
=============== 下面开始安装 ===============
第一步,U盘启动电脑
先用Arch Linux 启动U盘启动电脑(U盘制作请参考附录3 ),正常的话,U盘启动后应该显示下面内容:
上面这张图是BIOS模式的启动界面;
如果电脑是UEFI模式启动,看到的内容会和上面不一样,应该类似下面这张图:
无论你的电脑是哪一种模式,都请用上下方向键选择第一行 (默认就是第一行):比如 Boot Arch Linux (x86_64), 或者 Arch Linux archiso x86_64 UEFI CD ;确认选择第一行后直接按回车键确认,U盘里的 archiso 系统将开始启动;
启动成功的话,屏幕会滚动提示很多内容,等屏幕完全停下来以后,提示应该像下面一样:
到这里,说明Arch Linux 启动U盘成功启动了你的电脑;启动U盘的制作,请参考附录3 ;下面继续~
刚才提到,启动时有可能碰到两种情况:BIOS模式或者 UEFI模式 ,从启动界面上就可以分辨出来;如果你已经清楚自己电脑用的是哪一种启动模式,请直接跳到下一步;如果刚才操作太快导致你没有记住,那么可以运行下面的命令再做一下确认 (1/54) :
ls /sys/firmware/efi/efivars
如果你的电脑是 BIOS 启动模式,那么会得到报错的提示,应该像下面这样:
红色方框里的报错信息,证明电脑不是UEFI启动模式,而是BIOS启动模式;
如果是UEFI模式,那么不会有报错信息,只会提示一些字母数字,像下面:
绿色方框里面是命令运行并给出的信息,没有报错;
好了,对照上面说明,你应该已经知道你的电脑是哪一种启动模式了,请记住它,后面会用到。
(额外提示:如果你对所敲的命令不是很熟悉,请慢一些,务必保证输入的命令100%正确:区分大小写,该有的空格不能少敲,不该有的空格也不要多敲;每一条命令最后都需要敲回车键来确认执行;)
(额外提示:上面运行命令之前括号里有一个数值1/54,这表示命令编号,即本次安装演示过程一共需要执行命令54次,这是第1次,下面类推;)
第二步,安装前准备:测试网络/挂载分区
Arch Linux 安装过程需要连接到互联网下载数据,所以,必须保证网络畅通;如果没有连通网络,就无法完成安装;请用网线连接电脑以后,输入以下命令来测试网络连接 (2/54):
ping -c 3 archlinux.org
如果网络连接是通的,那么,显示的内容应该与下面相类似:
具体数字有可能不同,那无关紧要;但如果网络连接不通,就需要排除网络故障;更详细的说明,可以参考附录1 ;
确认网络连通以后,请继续~
本文假设你之前使用的是 windows 系统,并且已经在 windows 系统里把 Arch Linux 需要的分区准备好;无论你是准备的单独的整个硬盘全部给 Arch Linux ,还是某个硬盘的部分空闲空间 (也许想与 windows 系统共存),都请按照下面的提示给 Arch Linux 系统提供四个分区,分别是:
1、引导分区:/boot --- 容量:300M,用来引导 Arch Linux 系统;
2、根分区:/ --- 容量:20G,用来安装 Arch Linux 系统本身;个人用的话,20G足够了;这个分区兴用来存放系统本身,不存储个人数据;
3、home分区:/home --- 容量:请尽量大一些,示例用40G;这个分区是用来存储个人数据;重度使用KVM虚拟机时你就会发现,40G的大小会很快就消耗一空;
4、交换分区:swap --- 容量:4G;
分区数量与大小其实不是必须要和上面保持一致,但上面这个方案相对更稳健,所以在本文中,我们使用上面这个方案为例来进行安装演示;
下面查看一下电脑上当前的硬盘和分区信息,请输入下面命令并回车 (3/54):
lsblk
屏幕提示内容应该类似下面:
图片上显示有sda和sdb两个硬盘,并且sdb已经提前按前面的规划完成4个分区的准备;你的电脑很可能与图片不同,请务必确认你的 Arch Linux 硬盘/分区;上面图片中 TYPE 那一列,disk 表示硬盘,part 表示分区;sdb 部划分给 Arch Linux 的四个分区也都提前在 windows 里面分好了:
sdb2 --- 容量300M,分区用途:启动分区 /boot
sdb3 --- 容量20G,分区用途:根分区 /
sdb5 -- 容量4G,分区用途:交换分区 swap
sdb6 --- 容量40G,分区用途:home分区 /home
下面需要把分区格式化(重要提示:请一定在分区操作之前备份好重要数据!);四个分区的格式化命令我一起贴上来,你需要分四次执行,看下面 (4-7/54):
mkfs.vfat -F32 /dev/sdb2
mkfs.ext4 /dev/sdb3
mkfs.ext4 /dev/sdb6
mkswap /dev/sdb5
对应/boot的sdb2分区格式化成FAT32格式,根分区 / 以及 /home分区格式化成ext4格式,swap分区用专门的mkswap命令;请同样操作;另外,别直接照抄,需要把sdb2/sdb3/sdb5/sdb6改成你自己电脑上的分区名;
格式化后就可以挂载分区;根分区必须最先挂载,因为其它分区都是挂在根分区的下面 (注意这条命令有两个空格) (8/54):
mount /dev/sdb3 /mnt
我这里挂载的是sdb3,因为sdb3用途是 / ;你的分区中哪个用途是 / ,就用它替换 sdb3;
根分区挂载好以后,建立启动目录 (BIOS模式) (9/54):
mkdir /mnt/boot
(额外提示:还记得我们前面说过吧,电脑启动模式分BIOS和UEFI两种;如果你的电脑是BIOS启动模式,用上边这条命令就可以;但如果你的电脑是UEFI启动模式,那上边的命令就不行了,请改用下面这条命令)
建立启动目录 (UEFI模式) (9/54):
mkdir -p /mnt/boot/efi
两种启动模式对应的命令不一样,请务必确认对应的命令正确无误以后,再输入运行;
下面建立 /home 目录 (10/54):
mkdir /mnt/home
好了,/boot目录和/home目录建立好以后,下面挂载/boot分区和/home分区 (注意这里也要区分BIOS模式和UEFI模式) ;
BIOS模式挂载命令如下 (11/54):
mount /dev/sdb2 /mnt/boot
或者 (UEFI模式)如下 (11/54):
mount /dev/sdb2 /mnt/boot/efi
下面挂载 home 分区 (12/54):
mount /dev/sdb6 /mnt/home
下面激活交换分区swap(13/54):
swapon /dev/sdb5
我这里 sdb3 用途是 /home ,你把sdb3 换成自己电脑上对应/home的分区;
三个分区都已经挂载好了,这时候输入下面命令确认一下 (14/54):
lsblk
应该有类似下面的提示:
这张图片是BIOS模式的结果;如果是UEFI模式,只是在sdb2那一行后面多了 “/efi” 四个字符,其它完全一样;
这张图片与前一张图片对比,MOUNTPOINT 那一列,多出来了/mnt/boot、/mnt、/mnt/home、[SWAP],这表示相应的分区已经被成功挂载了,并且与 sdb2, sdb3, sdb5, sdb6的对应关系也和之前所规划的方案相同;
好了,分区弄好了,下面继续~
第三步,安装:修改安装源/安装并配置基本系统
Arch Linux 系统安装时需要联网从服务器下载数据,所以需要提前知道服务器的地址,这个地址是由本地的源文件提供的;默认的源文件并不是专门针对中国的,所以下载速度通常会不理想;为了让下载速度最佳,我们需要指定国内的安装源,这样下载的速度会比较快,请用下面命令来编辑源文件(15/54):
nano -w /etc/pacman.d/mirrorlist
打开的源文件中,找几个中国国内的源,把它们移到文件的最顶端 (移动光标到你想用的源那一行,按Ctrl+k,再把光标移动到文件最顶端,然后按 Ctrl+u);或者在文件的最顶端直接输入也可以,比如把下面这一行放到文件最顶端:
Server = http://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
记住,是放在文件最顶端;编辑好以后,按“Ctrl+x”,再按“y”,再按回车,就可以保存并退出源文件编辑界面;
退出后,运行下面命令来更新软件包数据库 (16/54):
pacman -Syy
更新成功的话,应该有类似下面的提示:
如果没成功,有可能是网络问题也有可能是选择的源有问题,如果是源的问题,可以换一个源试试;
现在我们可以开始安装 Arch Linux 基本系统,运行下面命令 (17/54):
pacstrap /mnt base linux linux-firmware nano
敲回车后可以看到在不停的下载数据,也能看见安装过程,这些细节基本不用管,屏幕停止以后,在“(2/7)”开头那一行的上面应该能找到下面的字样:
==> Image generation successful
这个信息表示基本系统安装成功! Arch Linux 官方建议一定要确认这个信息。
基本系统安装好以后,还需要做一些配置,继续~
运行下面命令生成fstab文件,这条命令稍微有点复杂,有四个空格,还有大写字母,别敲错了 (18/54):
genfstab -U /mnt >> /mnt/etc/fstab
运行下面命令确认 fstab 文件成功生成 (19/54):
cat /mnt/etc/fstab
正常的话,屏幕显示类似下面内容就对了:
以上所有的操作都是在启动U盘的系统环境里操作的;下面要切换到刚刚新安装的系统,运行下面命令 (20/54):
arch-chroot /mnt
好了,现在已经进入到新安装的系统了,下面设置时区 (21/54):
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
这条命令有点长,有大小写,还有三个空格,别敲错了;
设置本地时间,请按下面命令操作 --- 命令里有两个空格 (22/54):
hwclock --systohc --localtime
下面修改本地化环境 (23/54):
nano -w /etc/locale.gen
打开的文件中,移除下面三行内容对应的行的最左边的注释符号 “#” 即可:
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_TW.UTF-8 UTF-8
然后按 “Ctrl+x” ,再按“y”,再按回车,保存并退出 nano 界面;
然后执行下面命令生成 locale 信息 (24/54):
locale-gen
下面创建 locale.conf 文件并向文件写入 locale 信息 (25/54):
echo LANG=en_US.UTF-8 > /etc/locale.conf
这里一定要用 en_US.UTF-8 ,否则可能会导致终端出现乱码;
下面配置主机名 --- 命令有三个空格 (26/54):
echo zhao > /etc/hostname
主机名是你的电脑在网络上的名字,如果没有,就像身份证上只有身份证号没有名字一样;我在这里把主机名设定为 zhao ,你可以自行设定;
下面添加主机名信息到 hosts 文件,运行命令 (27/54):
nano -w /etc/hosts
请改成类似下面这样:
其实就是添加 127.0.1.1 zhao ... 那一行内容就行了;第26条命令与第27条命令,主机名请保持一致!我这里都用zhao;
系统默认网络服务不启动,下面设置网络服务随系统同时启动 (28/54):
systemctl enable dhcpcd
设定 root 密码 (29/54):
passwd
密码需要输入两次以确认;这个密码很重要,千万别忘记了,建议记在手机上;如果忘记,请参考附录5 ;
下面安装引导程序 GRUB。
安装引导程序 GRUB ,BIOS 模式和 UEFI 模式使用的命令不太一样,先看 BIOS 模式命令,共三条 (30-32/54):
pacman -S grub os-prober
grub-install --target=i386-pc /dev/sdb
grub-mkconfig -o /boot/grub/grub.cfg
我这里是 sdb ,因为启动分区 /boot 是 sdb1,把数字1去掉,所以就用 sdb;你自己启动分区假设是sda2,去掉数字2就是sda,上面中间的命令就应该用=i386-pc /dev/sda;这一点请务必确认,不能直接照抄;
如果是 UEFI 模式请看下面命令 (30-32/54):
pacman -S grub efibootmgr os-prober
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub
grub-mkconfig -o /boot/grub/grub.cfg
上面有一条命令(31)很长,仔细别敲错了;
下面我们准备重启,先从当前的新系统环境退出到U盘系统环境 (33/54);
exit
退出后卸载新安装系统的分区 (34/54):
umount -R /mnt
重启 (35/54):
reboot
这时候电脑会开始重启,别忘记把电脑上的U盘拿掉,要不然又从U盘启动了。
到这里,基本配置已经完成,系统已经可以初步使用了,但因为是字符界面,并且也不支持中文,还没安装应用软件,所以没什么太大意义;下面我们会进一步配置系统,安装应用,把这个 Arch Linux 从基本系统变为工作站;具体包括添加普通用户及设置提权,安装中文字体/中文输入法,配置中文显示,安装图形界面,安装防病毒/防火墙等;
第四步,添加普通用户
系统重新启动起来以后,请输入默认的根用户登录名 (36/54):
root
再输入密码并回车,就成功登录新系统;密码在第29个命令时做过设置;
如果希望与 windows 并存 (双引导) ,需要先挂载windows分区,然后运行下面命令 (37/54):
grub-mkconfig -o /boot/grub/grub.cfg
挂载windows分区后,再运行上面的命令,就可以看到grub提示找到windows分区的信息,再一次重启后,在启动菜单里就能看到 windows 启动选项了。
(额外提示:有些人不清楚如何挂载windows分区,这里提示一下,可以输入 mount /dev/sdNX /mnt ;其中N是硬盘号,X是分区号,在命令3/35应该可以显示,具体哪个是windows分区,可以从分区容量上来区分;此命令不收在本文最后的附注中)
现在系统只有一个root用户,而root的权限太大,经常使用容易出问题;为安全起见,平时我们应该使用普通用户操作,所以现在我们添加一个普通权限用户 (38/54):
useradd -m -G wheel -s /bin/bash user01
我这里是添加了名称为 user01 的用户,名称你完全可以自行命名;这个用户同时给到 wheel 组,方便使用 sudo 临时提升权限,减少root用户使用频率;
下面为用户user01设定密码 (39/54):
passwd user01
与root一样,密码需要输入两次确认;
sudo权限赋予 (40/54):
nano -w /etc/sudoers
在打开的界面,用 PgDn 键翻页,在文件的后面部分可以找到 "wheel ALL=(ALL) ALL" 这行,把前面的 "#" 号去掉,然后 "Ctrl+x" "y" ,再回车,保存退出;
第五步,安装配置中文字体/输入法/防火墙/杀毒软件
下面安装中文字体/中文输入法/防火墙/杀毒软件 (41/54):
pacman -S wqy-microhei fcitx-im kcm-fcitx gufw clamav
这里选的字体是文泉驿细黑,你也可以装其它中文字体,比如思源黑体;gufw是防火墙;clamav是杀毒软件;
下面安装桌面环境,我们这里装的是 KDE (42-44/54):
pacman -S xorg sddm
systemctl enable sddm
pacman -S plasma
下面设置一下user01的配置文件,主要是中文输入法,在桌面任意空处点击鼠标左键 (不会有任何提示),输入konsole再回车,可以打开终端,在终端里输入下面命令 (45/54):
nano -w .xprofile
上面的命令里,在字母 x 前面有一个符号 “.” ,不要省略;
在打开的界面中,输入下面内容:
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
三行全输进去,注意换行,仔细对比别敲错了;输入好以后,按“Ctrl+x”,再按“y”,再按回车保存退出;
好了,现在重启动一下看看效果 (46/54):
reboot
请选择用户名 ,我的是 user01 ,你的是自己设定的那个;输入密码,回车,桌面就应该出现了,好难看~
没问题的话,重启应该会进入图形界面,并提示输入密码;
重启登录后,点击左下角的KDE图标 (相当于 Windows7的开始):
然后点击 System Settings,再点击 Regional Settings,可以看到左右两个方框,左边方框滚动条拉到最下边,找到简体中文,用鼠标点击选中,再点击中间的右箭头,简体中文就会移到右边方框,这表示图形界面语言从默认的英文切换为简体中文;注销,然后再登录,界面就是中文了:
中文显示设置完成后,设置一下输入法:在屏幕右下角可以找到键盘图标,在键盘图标上点击鼠标右键,选择“配置”,然后能看到左下方的方框里有很多输入法,把滚动条拉到最下边,可以找到中文输入法,有好几个,选择适合自己用的,点击中间的右箭头,选中的输入法就会移动到右边的方框里,表示启用:
切换输入法的快捷键与 Windows7一样,都是 Ctrl+空格;另外,输入法配置里面,管理皮肤可以调整颜色,全局配置可以调整候选词个数,外观里可以设置候选词横排还是竖排,其它选项比较少用到,可以自行摸索;
第六步,调试声音
调试声音请安装下面工具 (47/54):
sudo pacman -S alsa-utils
然后输入下面命令 (48/54):
alsamixer
在打开的声音控制界面中,如果有多个声音输出设备,需要按F6键来选择正确的设备;纵向的长条下面如果有 “00” 的字样,表示未静音;“MM”表示静音,静音状态可以按 "m" 键切换;用左右键可以选择相应的长条,按 "m" 键改 “MM” 为 “00” 就可以去掉静音,用上下键调整音量高低,调整的时候能看到下面的数字在变化;调整好以后直接按 "ESC" 键退出;
然后运行下面命令 (49/54):
speaker-test -c 2
应该可以听到测试的声音,我的是一片噪音~
第七步,安装其它应用
下面安装一些应用 (50/54):
sudo pacman -S firefox gimp inkscape gwenview libreoffice vlc flashplugin
下面安装KVM虚拟机 Virt-manager ,这个与上面分开来单独说;不使用虚拟机的人不用装,直接跳过就可以;
安装KVM虚拟机之前需要先确认一下电脑是不是支持虚拟化,可以到intel/AMD官方网站查看,也可以输入下面的命令来做确认 (51/54):
grep -E "(vmx|svm|0xc0f)" --color=always /proc/cpuinfo
运行后会在屏幕上显示很多东西,有 “vmx” 或者 “svm” 字样,肯定就可以了;如果没有“vmx” 或者 “svm” 的字样输出,那就别装KVM虚拟机了,因为 CPU 不支持;不过可以考虑安装 VirtualBox,因为它不要求必须有硬件虚拟化支持,但性能上可能会差一些,详情请参考附录6 ;
Linux 系统内核支持KVM,所以KVM不需要安装,我们这里其实是安装虚拟机管理器 Virt-manager,如果 CPU 支持 vt-x (或 AMD-V) 的话,运行下面命令来安装 Virt-manager (52/54):
sudo pacman -S virt-manager qemu ebtables dnsmasq bridge-utils libvirt
除了 Virt-manager 以外,还安装了另外几个东东,都是配合 Virt-manager 使用的,不要省略;
然后再运行下面的命令让系统开机后自动启动 libvirtd 服务,这样就不用每次手动启动了 (53/54):
sudo systemctl enable libvirtd
然后重启 (54/54):
reboot
好了,可以用了,大功告成!!!
=========================
=========================
附录地址://www.greatytc.com/p/a082f6e400d6
注:安装命令列表
上面的安装过程看起来比较杂乱,如果对 Linux 系统有一些了解的话,那么直接用下面的命令列表来安装,应该更方便一些;这个列表的命令顺序严格按照安装顺序排列下来,只不过去掉了那些解释说明部分的文字,请参考:
01/54:ls /sys/firmware/efi/efivars
02/54:ping -c 3 archlinux.org
03/54:lsblk
04/54:mkfs.fat -F32 /dev/sdb2
05/54:mkfs.ext4 /dev/sdb3
06/54:mkfs.ext4 /dev/sdb6
07/54:mkswap /dev/sdb5
08/54:mount /dev/sdb3 /mnt
09/54:mkdir /mnt/boot
(09/54:mkdir -p /mnt/boot/efi)
10/54:mkdir /mnt/home
11/54:mount /dev/sdb2 /mnt/boot
(11/54:mount /dev/sdb2 /mnt/boot/efi)
12/54:mount /dev/sdb6 /mnt/home
13/54:swapon /dev/sdb5
14/54:lsblk
15/54:nano -w /etc/pacman.d/mirrorlist
16/54:pacman -Syy
17/54:pacstrap /mnt base linux linux-firmware nano
18/54:genfstab -U /mnt >> /mnt/etc/fstab
19/54:cat /mnt/etc/fstab
20/54:arch-chroot /mnt
21/54:ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
22/54:hwclock --systohc --localtime
23/54:nano -w /etc/locale.gen
24/54:locale-gen
25/54:echo LANG=en_US.UTF-8 > /etc/locale.conf
26/54:echo zhao > /etc/hostname
27/54:nano -w /etc/hosts
28/54:systemctl enable dhcpcd
29/54:passwd
30/54:pacman -S grub os-prober
31/54:grub-install --target=i386-pc /dev/sdb
32/54:grub-mkconfig -o /boot/grub/grub.cfg
(30/54:pacman -S grub efibootmgr os-prober)
(31/54: grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub)
(32/54: grub-mkconfig -o /boot/grub/grub.cfg)
33/54:exit
34/54:umount -R /mnt
35/54:reboot
36/54:root
37/54:grub-mkconfig -o /boot/grub/grub.cfg
38/54:useradd -m -G wheel -s /bin/bash user01
39/54:passwd user01
40/54:nano -w /etc/sudoers
41/54:pacman -S wqy-microhei fcitx-im kcm-fcitx gufw clamav
42/54:pacman -S xorg sddm
43/54:systemctl enable sddm
44/54:pacman -S plasma
45/54:reboot
46/54:nano -w .xprofile
47/54:sudo pacman -S alsa-utils
48/54:alsamixer
49/54:speaker-test -c 2
50/54:sudo pacman -S firefox gimp inkscape gwenview libreoffice vlc flashplugin
51/54:grep -E "(vmx|svm|0xc0f)" --color=always /proc/cpuinfo
52/54:sudo pacman -S virt-manager qemu ebtables dnsmasq bridge-utils libvirt
53/54:sudo systemctl enable libvirtd
54/54:reboot