Archlinux 是我最喜欢的 Linux 发行版,它小巧灵活,定制性强,又不像 Gentoo 那么折腾。最近我尝试了一下更为美观的Cinnamon桌面环境,现将安装过程记录如下:
安装基本系统
1.制作安装媒体: 在 archlinux 官网下载了 iso 后,可以刻录光盘或者使用优盘。如果要制作U盘,在 Linux 下可以用 dd if=xxx.iso of=/dev/sdb bs=4M ,在Windows下可以使用 USBWriter。
2.优盘或者光盘启动后,先用 “ip link” 指令查看网络设备的名称。如果使用有线网络,则如下操作:
ip link set <设备名> up # 启用网络设备(如enp3s0f1)
dhcpcd <设备名> # 自动获取IP地址
ip addr add /<子网掩码如24> dev <设备名> # 手动设置IP地址
ip route add default via <网关地址> #设置网关
如果是手动设置IP地址,需要编辑 /etc/resolv.conf,加入“nameserver xx.xx.xx.xx”
3.如果是使用无线网卡联网,则执行 wifi-menu -o <无线设备名> ,按照提示来配置无线网络即可。需要注意的是不要用 ip link set 设备名 up来启动,直接用 wifi-menu 来配置,否则会报错。
4.使用 fdisk 或 cfdisk 来分区,例如: fdisk /dev/sda ,分区完毕后用 mkfs 格式化普通分区,用 mkswap 制作交换分区,例如:
mkfs.ext4 /dev/sdaX
mkswap /dev/sdaY
swapon /dev/sdaY
5.挂载分区到 /mnt 目录下,需要首先挂载根分区,例如:
mount /dev/sdaX /mnt
mkdir /mnt/boot && mount /dev/sdaY /mnt/boot
#如果有用到UEFI分区,则需要挂载efi分区到 /boot/efi, 如
mkdir -p /mnt/boot/efi && mount /dev/sda1 /mnt/boot/efi
6.编辑 /etc/pacman.d/mirrorlist ,把自己喜欢的速度比较快的镜像放在前面,然后执行 pacstrap /mnt base base-devel 来安装基本系统。如果想要选择安装哪些包,则可以在 pacstrap 后加入 “-i” 参数。
7.安装完成后执行 genfstab -U -p /mnt >> /mnt/etc/fstab 生成fstab,然后编辑,只有根分区的最后一个字段为1,其余均为2或0。
8.执行 arch-chroot /mnt /bin/bash ,之后就可以用 pacman 来安装软件了。
9.编辑 /etc/locale.gen ,把需要的 locale 前面的#去掉,然后 locale-gen 。
10.设置默认 locale,通常设置为英文环境,例如:
echo LANG=en_US.UTF-8 > /etc/locale.conf
export LANG=en_US.UTF-8
11.设定时区并对时:
ln -sf /usr/share/zoneinfo/Asia/Chongqing /etc/localtime # 时区根据自己的需要来选择
hwclock --systohc --localtime # 如果装有 Windows 建议这么做
hwclock --systohc --utc # 如果没有 Windows 建议这么做
12.设定主机名,执行: echo 主机名 > /etc/hostname
13.由于我需要使用 yaourt 来访问 AUR ,因此需要编辑 pacman 的总配置文件 /etc/pacman.conf ,加入如下内容:
[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch
14.先执行 pacman -Syu 后,再执行 pacman -S yaourt customizepkg aurvote 。
15.编辑 /etc/mkinitcpio.conf ,在 MODULES 中加入 ahci ,然后执行 mkinitcpio -p linux 。
16.安装 Grub2 :
# 我是intel的CPU,因此需要ucode,有其他操作系统需要安装os-prober,如果是UEFI,则还需要安装 efibootmgr
pacman -S intel-ucode grub os-prober
# 使用 mbr 方式则执行下面的命令安装 Grub
grub-install --target=i386-pc --recheck /dev/sda
# 使用 uefi 方式则执行下面的命令安装 Grub
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=archlinux
# 不论那种方式,都用下面的命令来生成 Grub 菜单
grub-mkconfig -o /boot/grub/grub.cfg
很奇怪的是,archlinux 201706 的镜像第一次生成 grub 菜单会找不到 Windows ,重启以后再生成菜单才可以。
17.如果之前是通过无线网络来安装的,此时还需要 pacman -S iw wpa_supplicant dialog 以保证重启之后还可以使用 wifi-menu 来配置无线网络。
18.执行 passwd 修改 root 密码,执行 exit 退出 chroot 环境后卸载/mnt 挂载的分区,例如:
umount /mnt/boot
umount /mnt
reboot
如果第11步同步的是 localtime ,则重启的时候需要在BIOS里把系统时间改回正确的本地时间。
X 环境的安装
1.创建普通用户,执行命令:
useradd -m -G users,audio,lp,optical,storage,video,wheel,power -s /bin/bash 普通用户名
passwd 普通用户名
2.将该用户加入 sudo 名单:运行 visudo,取消掉 %wheel ALL=(ALL) ALL 这一行之前的注释井号。
3.执行 logout 注销后,用普通用户登录,执行 mkdir ~/.config,然后执行 aurvote --configure 来配置 AUR 。
4.安装声卡驱动:执行命令 pacman -S alsa-utils alsa-oss 。然后运行 alsamixer ,把静音 mute 取消掉。如果此时发现声卡不对,无法调整音量,那可能是因为声卡的选择顺序有问题,此时需要新建 /etc/modprobe.d/alsa-base.conf 文件,在其中定义声卡的索引,例如:
options snd_pcm index=0
options snd_hda_intel index=1
设置完成后重新启动。
5.安装X:
pacman -S xorg-server xorg-xinit dbus xf86-video-intel nvidia xf86-input-evdev xf86-input-synaptics
这里需要注意的是:需要根据自己的显卡类型来选择不同的安装包,例如我的机器是 nvidia 和 intel 双显卡,因此选择了闭源的 nvidia 驱动,如果想选择开源的,可以安装 xf86-video-nouveau ,如果是 amd/ati 的显卡,可以安装开源的 xf86-video-ati 或闭源的 catalyst 。
如果是双显卡,可以考虑安装 bumblebee ,然后将普通用户加入 bumblebee 组:
gpasswd -a user bumblebee
最后需要 systemctl enable bumblebeed.service 启动服务。
6.安装字体:
pacman -S ttf-dejavu ttf-bitstream-vera wqy-zenhei ttf-arphic-ukai ttf-arphic-uming opendesktop-fonts ttf-inconsolata ttf-ubuntu-font-family adobe-source-code-pro-fonts
安装 Cinnamon 桌面环境
1.安装基本桌面环境和 Display Manager,在这里我用 lightdm:
pacman -S gamin cinnamon lightdm-gtk-greeter accountsservice gvfs gvfs-mtp gvfs-afc faenza-icon-theme ntfs-3g exfat-utils
安装完成后执行 systemctl enable lightdm 来设置为开机进入桌面环境。
2.安装 fcitx 输入法:
pacman -S fcitx fcitx-configtool fcitx-googlepinyin fcitx-cloudpinyin fcitx-gtk2 fcitx-gtk3
安装完成后需要编辑 ~/.xprofile ,输入:
export LC_ALL="zh_CN.UTF-8"
export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
fcitx -d
3.安装网络管理器:
pacman -S networkmanager network-manager-applet gnome-keyring
完成后执行 systemctl enable NetworkManager.service 将其加入开机启动。如果不喜欢 NetworkManager ,还可以安装 wicd ,命令是:
pacman -S wvdial wicd-gtk
systemctl enable wicd.service
安装常用软件
cinnamon 默认的环境非常简单,一些非常常用的软件都没有,因此需要手动安装,不过这样也好,提供给我们更多的选择和定制的空间。
1.安装图片浏览器: 我选用 gpicview,也可以选择 eog 或 eom 。
2.安装解压缩软件: 我选用 p7zip 搭配 nemo-fileroller 。
3.安装终端模拟器: 我选用 lxterminal,也可以选择 gnome-terminal 。
4.安装文本编辑器: 我选用 mousepad gvim
5.安装pdf阅读器:我选用 atril 或者 epdfview 搭配 poppler-data 。
6.系统监控器:我选用 gnome-system-monitor
7.安装 mysql:
pacman -S mariadb
mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
mysql_secure_installation
8.安装 postgresql:
pacman -S postgresql pgadmin3
# 接下来切换到 postgres 用户执行
initdb --locale zh_CN.UTF-8 -E UTF8 -D '/var/lib/postgres/data'
9.安装 TexLive :
pacman -S texlive-bin texlive-core texlive-langchinese texlive-latexextra texlive-science
- 处理 ^@ 问题
最近在更新了 4.13.7 版本的内核后,突然出现了一个奇怪的现象:在终端会每隔一秒左右自动输出 ^@ 字符,导致很多操作无法进行,经过搜索 archlinux 论坛后,找到了一个解决方案,即编辑 /etc/modprobe.d/input_polldev.conf 文件,加入:
blacklist input_polldev
install input_polldev /bin/false
然后运行 mkinitcpio -p linux ,重启即可。
使用 archlinuxcn 仓库
archlinuxcn 是一个非常好用的软件仓库,包含 WPS 、Chrome、Sublime Text、Chez Scheme等好用的软件,要使用这个仓库,需要编辑 /etc/pacman.conf ,加入下面的内容:
[archlinuxcn]
SigLevel = Never
Server = http://mirrors.163.com/archlinux-cn/$arch
pacman -Syu 后就可以安装 wps-office google-chrome chez-scheme pepper-flash 等软件了。