上方科技技术交流 2018-06-11
前言
在使用Arch前,已经使用过Ubuntu、Mint、OpenSUSE。前段时间心血来潮,尝试安装了Arch,瞬间迷上了。
作为重度强迫症患者,一直希望完美安装Arch,所以以下是我重装多次的总结。
PS:部分步骤直接复制wiki上的步骤,不得不说,Arch的wiki超棒!
镜像下载,启动盘制作略过
启动
机器成功从准备好的安装介质中启动后,屏幕将呈现出一个菜单。请使用 [↑]/[↓](方向键)进行选择,[↩] (回车键)确认
当屏幕上出现命令行提示符及闪烁的光标时即启动完毕
设置 ArchISO
设置键盘布局
ArchISO 默认键盘布局为 US(美式键盘)。
如需修改键盘布局请使用 loadkeys 命令。
如需修改字体请使用 setfont 命令。
网络连接
ArchISO 在启动时会尝试连接网络,可通过命令 ping 查看连接是否已建立。
# ping -c 4 www.baidu.com
若网络尚未连接,请先接入网络。若使用 WiFi 连接,请使用 wifi-menu 命令。
# wifi-menu
同步时间
同步时间以确保时间准确无误:
# timedatectl set-ntp true
选择软件仓库服务器
该配置不仅会应用到安装环境,也会应用至新系统中。
选择地理位置最为接近的镜像服务器以获得更高的下载速度。pacman 优先使用位置靠前的镜像地址。将选定的镜像地址置于最前以便 pacman 使用。
# nano /etc/pacman.d/mirrorlist
1. [F6] 搜索 china
2. [方向键] 移动光标至 Server 行
3. [CTRL+K] 剪切该行
4. [方向键] 移动光标至其他 Server 行前
5. [CTRL+U] 粘贴至此行
6. [CTRL+O] 保存,[回车键] 确定
刷新列表
# pacman -Syy
环境检查
UEFI/BIOS 检测
# ls /sys/firmware/efi/efivars
若该目录不存在,则 ArchISO 是以 BIOS/CSM 模式启动,否则是以 UEFI 模式启动。
分区
通常而言,UEFI 系统须使用 GPT 分区才能引导,BIOS 系统须使用 MBR 分区才能引导。
分区方案
Arch Linux 要求至少一个分区分配给根目录 /。
在 UEFI 系统上,需要一个 UEFI 系统分区。
实施分区
首先使用 lsblk 或 fdisk -l 确定目标磁盘及目标分区。
# fdisk -l
然后使用分区工具如 parted、cfdisk 进行分区。本文推荐 cfdisk。
# cfdisk /dev/sdX # sdX 为目标磁盘
•select label type
因为需要用到双系统,而UEFI在我的电脑上对window10支持有问题,所以我选择的MBR分区,这里就需要选择dos。
•新建分区:
1. [↑]/[↓](方向键)选中 Free space(空闲空间)
2. [←]/[→](方向键)选中 New 新建分区
3. [←]/[→](方向键)选中 Type 选择分区类型(默认为 Linux filesystem;对于 EFI 系统分区选择 EFI System)
4. 输入分区大小(默认单位为字节,可以加上后缀K、M、G),[回车键] 确认
•写入分区表:
1. [←]/[→](方向键)选中 Write
2. 输入 yes [回车] 确定写入
分区格式化(创建文件系统)
首先使用 lsblk 或 fdisk -l 确定目标磁盘及目标分区。
# lsblk
然后使用格式化工具进行格式化。推荐 EXT4 文件系统,其格式化工具为 mkfs.ext4。
# mkfs.ext4 /dev/sdXY # sdXY 为目标分区
挂载分区
请注意挂载次序。
# mount <分区> <挂载点>
# mount /dev/sdXY /mnt #挂载根目录
其他目录需要先创建在挂载
# mkdir -p /mnt/home
# mount /dev/sdXY /mnt/home
格式化swap区并启用
# mkswap /dev/sdXY
# swapon /dev/sdXY
安装基础包
# pacstrap /mnt base
配置基础系统
生成分区表
若生成的 fstab 有误,请手动修正。
# genfstab -U /mnt >> /mnt/etc/fstab
接着使用 arch-chroot 进入新系统。
# arch-chroot /mnt
时区
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
硬件时间设置
# hwclock --systohc
主机名
# echo <主机名> > /etc/hostname
接着向 /etc/hosts 文件添加 hosts 条目。
127.0.0.1 localhost.localdomain localhost
::1 localhost.localdomain localhost
127.0.1.1 <主机名>.localdomain <主机名>
设置网络连接
•有线连接:
# systemctl enable dhcpcd
•无线连接:
# pacman -S iw wpa_supplicant dialog
•ADSL 宽带连接:
# pacman -S rp-pppoe
# pppoe-setup # 配置
# systemctl enable adsl
为 root 用户设置密码
# passwd
安装引导程序
安装NTFS系统识别(如果使用win+Arch双系统,并且先安装win的话,不安装此项,grub无法识别win启动器)
# pacman -S ntfs-3g
本文推荐 GRUB 作为引导程序。安装其他引导程序请点这里。
•BIOS 系统:
# pacman -S grub os-prober
# grub-install --target=i386-pc /dev/sdX # sdX 为目标磁盘
# grub-mkconfig -o /boot/grub/grub.cfg
•UEFI 系统:
# pacman -S dosfstools grub efibootmgr
# grub-install --target=x86_64-efi --efi-directory=<EFI 分区挂载点> --bootloader-id=grub
# grub-mkconfig -o /boot/grub/grub.cfg
完成安装
使用命令 exit 或 [CTRL+D] 退回安装环境
卸载新分区:
# umount -R /mnt
重启:
# reboot
重启之后就可以使用root用户登录安装好的系统了,不过暂时还是命令行,图形界面安装还得往后看。
用户管理
创建用户
日常使用 root 用户存在风险。
创建一个用户,指定登录 shell 为 bash,所属主用户组 users,并在 /home 下创建同名用户文件夹。
# useradd -m -g users -s /bin/bash <username>
为用户设置密码。
# passwd <username>
安装vim神器
# pacman -S vim
安装sudo
•安装
# pacman -S sudo
•配置
# vim /etc/sudoers
...
root ALL=(ALL) ALL
<username> ALL=(ALL) ALL
...
安装yaourt
使用yaourt不要使用sudo哦,当然你要是乐意也可以,只是出于安全性考虑。
添加yaourt源
# vim /etc/pacman.conf
[archlinuxcn]
SigLevel = Optional TrustAll
Server = http://mirrors.163.com/archlinux-cn/$arch
更新源并安装yaourt
# pacman -Syy
# pacman -S yaourt
配置通用项
安装显卡驱动
确定显卡品牌及型号:
# lspci -k | grep -A 2 -E "(VGA|3D)"
安装驱动:
# pacman -S <驱动包>
官方支持的驱动包:
•通用:xf86-video-vesa
•因特尔系:xf86-video-intel
•AMD/ATI 系:xf86-video-ati
•nVidia 系: ◦GeForce 400 及更新系列:nvidia
◦2006 至 2010 年间 GeForce 8000/9000、ION 和 100-300 系列 [NV5x, NV8x, NV9x and NVAx]:nvidia-340xx
◦2004 至 2006 年间 GeForce 6000/7000 系列 [NV4x and NV6x]:nvidia-304xx
安装声卡驱动
# pacman -S alsa-utils
安装X管理器
# pacman -S xorg
安装图形界面
安装Budgie图形界面
个人感觉很不错的桌面,简洁不卡顿
•安装
# pacman -S gnome
# pacman -S budgie-desktop
•配置Budgie(在/root目录下)
# touch ~/.xinitrc
# chmod +x ~/.xinitrc
# vim ~/.xinitrc
export XDG_CURRENT_DESKTOP=Budgie:GNOME
exec budgie-desktop
安装桌面主题
# pacman -S arc-gtk-theme
# pacman -S materia-gtk-theme
安装登录器
lightdm
# pacman -S lightdm
配置greeter
自己使用了lightdm-gtk-greeter样式,很简单,甚至有点low,还没研究优化。
•lightdm-gtk-greeter
# sudo pacman -S lightdm-gtk-greeter
•lightdm-kde-greeter
•lightdm-webkit2-greeter // AUR
•lightdm-unity-greeter // AUR
•lightdm-mini-greeter // AUR
# sudo vim /etc/lightdm/lightdm.conf
[Seat:*]
greeter-session=lightdm-yourgreeter-greeter
设置自动启动lightdm
# systemctl enable lightdm.service
安装中文字体
•思源黑体
# pacman -S adobe-source-han-sans-cn-fonts
•文泉骈
# yaourt -S wqy-microhei
•安装等宽字体:
# pacman -S ttf-dejavu //没有此字体,会使某些符号不够漂亮,建议在安装桌面环境时选择此字体作为桌面环境的默认依赖字体
# pacman -S adobe-source-code-pro-fonts //adobe出品的一款很适合编程的等宽字体
区域设置
进行区域设置以正确显示本地文字、货币、时间与时期格式以及其它本地相关标准。
编辑 /etc/locale.gen,去掉需要的 locale 的注释(行头的字符 #)。
# vim /etc/locale.gen
1. [F6] 搜索 zh_CN.UTF-8
2. [←]/[→](方向键)移动光标至字符 # 处
3. [DELETE]/[BACKSPACE] 删除字符 #
4. [CTRL+O] 保存,[回车键] 确定
然后使用 locale-gen 生成 locale。
# locale-gen
接着使用以下命令设置默认 locale。
# echo LANG=zh_CN.UTF-8 > /etc/locale.conf
系统安装到这步,图形界面就已经安装完成了,reboot重启之后就可以看到成果了。
重启之后使用创建的用户登录就可以了,毕竟Linux不推荐root登录。
安装输入法
安装fcitx
# sudo pacman -S fcitx
# sudo pacman -S fcitx-configtool
#### 其他安装项 ####
# sudo pacman -S fcitx-ui-light // light UI for fcitx.
# sudo pacman -S fcitx-table-extra // extra table.
# sudo pacman -S fcitx-table-other // tables for Latex, Emoji and others.
# sudo pacman -S kcm-fcitx // KDE configuration module for fcitx.
fcitx支持安装
# sudo pacman -S fcitx-gtk2 fcitx-gtk3 fcitx-qt4 fcitx-qt5
安装搜狗拼音
# yaourt -S fcitx-sogoupinyin
配置fcitx
# cp /etc/xdg/autostart/fcitx-autostart.desktop ~/.config/autostart/
# touch ~/.xprofile
# vim ~/.xprofile
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
fcitx环境检查命令
如果fcitx安装之后,不可以使用,可以重启尝试一下,如果还不能使用,就需要调用下面的命令检查一下。
还有fcitx的默认输入法貌似不能是sogoupinyin,得用英文输入。
# fcitx-diagnose
安装常用软件
因为本人是个程序猿,所以安装一些常用软件和开发软件
•guake
超好用的一款终端,一键开关。
# sudo pacman -S guake
•wget
# sudo pacman -S wget
•Git
# sudo pacman -S git
•chrome
两个都可以,只不过一个是chrome,另一个是chromium,除了图标颜色,其他也感觉不出来。
# sudo pacman -S chromium
# sudo pacman -S google-chrome
•wps
# sudo pacman -S wps-office
•VSCode
# yaourt -S visual-studio-code-bin
•thunderbird
# sudo pacman -S thunderbird thunderbird-i18n-zh-cn
•nvm
第一步可以忽略,但是安装的nvm就会在$HOME/.nvm里面,作为强迫症,这是不能忍的,所以有了第一步,而且放到全局的环境变量里。
安装前最好重启一下系统,保证生效。
下面的pyenv一个意思。可以翻看github上的项目文档。 1.编辑环境变量
# sudo vim /etc/profile
export NVM_DIR="/opt/soft/nvm" // nvm路径,安装的node也会放在这个目录里面,自定义路径,大家随意
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
2.安装nvm
# wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
•pyenv
这个在安装的时候出现一点小状况,安装完成后,pyenv目录里面没有可执行程序,所以我使用pacman安装了一下,然后将pyenv(一般在/opt下)的文件拷贝到自己的目录下边,记录了一下/usr/bin下的软链(ls -l /usr/bin |grep pyenv),然后链到自己的目录,再使用pacman删掉pyenv,再次建立软链,完美解决(记得重启终端)。 1.编辑环境变量
# sudo vim /etc/profile
export PYENV_ROOT="/opt/soft/pyenv"
export PATH=$PYENV_ROOT/bin:$PATH
export CFLAGS="-I/usr/include/openssl-1.0"
export LDFLAGS="-L/usr/lib/openssl-1.0"
2. 安装pyenv
# curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
总结
这一通操作下来,Arch已基本成型,但是还有很长的路要走。
桌面美化,字体选择,还有其他软件的安装,我们时时刻刻在路上。