Arch Linux安装与配置
必要条件
- 具有至少86M RAM的x86_64兼容计算机
- 可以正常使用的Internet连接
- USB存储器
-
ArchWiki Installation guide
准备Arch Linux的iso镜像
- 根据您要引导的方式,从Arch Linux官方网站获取ISO文件或网络引导映像。
- 在镜像站下载相应的PGP签名,然后使用gpg验证签名确保镜像完整性以及安全性,命令如下:
gpg --keyserver-options auto-key-retrieve --verify archlinux-version-x86_64.iso. sig
- 使用磁盘烧录工具将镜像写入你的USB存储器,Linux系统可以使用dd
Windows系统可以使用开源软件rufus或者UltralISO。
Arch Linux的iso镜像文件自2020.06.01开始更改一些东西,比如:
- archiso默认的shell是zsh,不再是bash。
- archiso改为使用iwd来管理网络,不再是wifi-menu。
- 用reflector进行管理镜像源,不用手动更改镜像源,使用reflector一条命令即可。
安装系统
- 验证启动模式
ls / sys / firmware / efi / efivars
如果命令显示的目录没有错误,则系统以UEFI模式启动。如果该目录不存在,则系统可能BIOS(或CSM)模式启动。
- 连接到互联网
本文为连接无线网络,有线网络连接参考其他资料。
iwctl #在终端中输入iwctl进入iwd提示符[iwd#]
device list #在[iwd#]中输入device list查询机器的网卡设备
station devicename connect wifi-ssid #在[iwd#]中连接wifi网络,如果wifi加密,会提示你输入密码:示例:station wlan0 connect xxxx
exit #退出[iwd#]
ping www.xxxx.com #可以使用ping验证连接,例如:ping www.jianshu.com
- 更新系统时间
使用timedatectl命令来确保时间是同步的:
timedatectl set-ntp true
timedatectl status #确保设置成功
- 磁盘分区
首先使用lsblk或者其他磁盘工具(例如fdisk)查看磁盘设备:
lsblk
fdisk -l
然后使用fdisk或者cfdisk创建磁盘分区。在创建分区的时候, 必需要确保有一个root分区/ ,对于以UEFI模式引导的需要一个EFI系统分区。我的分区方式如下:
挂载点 | Partition | 分区类型 | 大小 |
---|---|---|---|
/mnt/efi | /dev/sda1 | EFI系统分区 | 512M |
/mnt | dev/sda2 | Linux root | 64G |
SWAP | /dev/sda3 | Linux swap | 8G |
/mnt/home | /dev/sda4 | Linux home | 设备的剩余部分 |
推荐cfdisk,易用。
cfdisk
cfdisk
Note:文中图片为已安装完毕的系统截图。
- 格式化分区
mkfs.ext4 /dev/sda2
mkfs.ext4 /dev/sda4
mkfs.fat -F32 /dev/sda1 #如果你的机器是UEFI启动模式,使用此命令初始化EFI系统分区
mkswap /dev/sda3
swapon /dev/sda3
- 挂载分区
mount /dev/sda2 /mnt
mkdir /mnt/efi
mount /dev/sda1 /mnt/efi
mkdir /mnt/home
mount /dev/sda4 /mnt/home
- 选择镜像源
现在在live环境中使用reflector进行镜像的管理,连接网络后,live系统会自动执行reflecto选择镜像源,默认的是根据下载速率进行排序。
reflector -c China -a 5 --sort rate --save /etc/pacman.d/mirrorlist #使用reflector来获取速度最快的5个镜像,并保存至/etc/pacman.d/mirrorlist
文件/etc/pacman.d/mirrorlist定义了软件包会从哪个镜像源下载。在 Live 启动的系统上,所有的镜像都被启用。镜像在列表中的位置越靠前,下载软件包时它的优先级越高。你可以相应的修改文/etc/pacman.d/mirrorlist,并将地理位置最近的镜像源挪到文件的头部来保证下载速度。
nano /etc/pacman.d/mirrorlist
中国的镜像源:
##
## Arch Linux repository mirrorlist
## Generated on 2020-07-24
##
## China
Server = http://mirrors.163.com/archlinux/$repo/os/$arch
Server = http://mirrors.bfsu.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.bfsu.edu.cn/archlinux/$repo/os/$arch
Server = http://mirrors.cqu.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.cqu.edu.cn/archlinux/$repo/os/$arch
Server = http://mirrors.dgut.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.dgut.edu.cn/archlinux/$repo/os/$arch
Server = http://mirror.lzu.edu.cn/archlinux/$repo/os/$arch
Server = http://mirrors.neusoft.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.neusoft.edu.cn/archlinux/$repo/os/$arch
Server = http://mirrors.nju.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.nju.edu.cn/archlinux/$repo/os/$arch
Server = http://mirror.redrock.team/archlinux/$repo/os/$arch
Server = https://mirror.redrock.team/archlinux/$repo/os/$arch
Server = https://mirrors.sjtug.sjtu.edu.cn/archlinux/$repo/os/$arch
Server = http://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
Server = http://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.xjtu.edu.cn/archlinux/$repo/os/$arch
Server = http://mirrors.zju.edu.cn/archlinux/$repo/os/$arch
- 安装基本系统
pacstrap /mnt base linux linux-firmware
- 生成fstab文件
genfstab -U /mnt >> /mnt/etc/fstab
cat /mnt/etc/fstab #检查是否正确(每个分区占一行)
- 进入到安装的系统
arch-chroot /mnt
- 安装文本编辑器
pacman -S nano #根据自己需要选择文本编辑器,此处为nano
- 设置时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
- 同步硬件时钟
hwclock --systohc #生成/etc/adjtime文件
- 设置locale
nano /etc/locale.gen
Ctrl+W 输入 #en_US 回车 找到UTF-8那一行 删掉前面的#(取消注释)
Ctrl+W 输入 #zh_CN 回车 找到UTF-8那一行 删掉前面的#(取消注释)
保存退出
locale-gen
创建locale.conf文件并编辑LANG这一变量(将系统locale 设置为en_US.UTF-8,系统的Log就会用英文显示,这样更容易问题的判断和处理。)
nano /etc/locale.conf
LANG=en_US.UTF-8 #这里最好不要设置为中文locale,会导致TTY乱码。
- 网络设置
创建并写入hostname
nano /etc/hostname
配置/etc/hosts文件
nano /etc/hosts
将以下内容添加进去:
127.0.0.1 localhost
::1 localhost
127.0.1.1 myhostname.localdomain myhostname
保存退出
建议上述编辑的内容都用cat输出检查一下
- 设置root密码
passwd
- 安装及配置引导程序
pacman -S grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=<EFI 分区挂载点> --bootloader-id=Arch Linux
grub-mkconfig -o /boot/grub/grub.cfg
如果你的系统非UEFI启动
pacman -S grub os-prober
grub-install --recheck /dev/<目标磁盘>
grub-mkconfig -o /boot/grub/grub.cfg
- 安装基本的软件
pacman -S networkmanager network-manager-applet dialog wireless_tools wpa_supplicant mtools dosfstools ntfs-3g base-devel linux-headers reflector git
- 无线网卡驱动
Broadcom BCM43142 必须要在安装完Arch Linux后再安装额外的驱动,否则重启后无法连接无线网
lspci -vnn | grep 14e4 #或者lspci -k | grep -A 2 -i network查看网卡
pacman -S broadcom-wl-dkms #安装驱动,如果查日志发现有No kernel 4.5.4-1-ARCH headers. You must install them to use DKMS!错误,你有可能是没有安装头文件,使用pacman -S linux-headers安装好头文件后再安装一次,大概就好了
systemctl srart NetworkManager
systemctl enable NetworkManager #启动网络服务
- 重启
exit #输入exit或按Ctrl+d退出chroot环境
umount -R /mnt #用umount -R /mnt手动卸载被挂载的分区
reboot #执行reboot重启系统
配置系统
重启后以root来进入系统
设置WiFi
nmtui
nmtui
nmtui
nmtui
- 新建用户并授权
useradd -m -G wheel username #wheel后面是你的用户名,把username改为你的用户名
passwd username #为用户创建密码
输入并确认密码
授权
EDITOR=nano visudo
Ctrl+W 输入 # %wheel 回车(#与%之间有空格),找到这行,删除前面的 #(取消注释)
EDITOR=nano visudo
- 安装显卡驱动
pacman -S xf86-video-intel #安装intel集显驱动
pacman -S xf86-video-amdgpu #安装AMD集显驱动
pacman -S nvidia nvidia-utils #安装NVIDIA独显驱动
- 安装蓝牙驱动
pacman -S bluez bluez-utils
systemctl start bluetooth.service
systemctl enable bluetooth.service
pacman -S broadcom-bt-firmware-git
modprobe -r btusb
modprobe btusb
sudo pacman -S pulseaudio-bluetooth #安装蓝牙音频
nano /etc/pulse/system.pa
增加以下内容
load-module module-bluetooth-policy
load-module module-bluetooth-discover
- 安装声卡驱动
pacman -S alsa-utils
- 安装触摸板驱动
pacman -S xf86-input-synaptics
- 安装Display Server
pacman -S xorg
- 安装Display Manager
这里需要按你要安装的桌面环境而定
Gnome:
pacman -S gdm
KDE:
pacman -S sddm
Xfce/DDE:
pacman -S lightdm lightdm-gtk-greeter
设置开机自动启动,以gdm为例:
systemctl enable gdm #如果是其他请将这里的gdm替换
- 安装Desktop Environment
以Gnome为例:
pacman -S gnome gnome-tweaks #若只想安装基础的桌面环境,选择gnome-shell
reboot
后续配置
- 配置源
nano /etc/pacman.conf
在末尾加上
[archlinuxcn]
SigLevel = Optional TrustAll
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch #或者Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
然后安装 key
sudo pacman -S archlinuxcn-keyring
sudo pacman -Sy
- 安装中文字体
sudo pacman -S wqy-microhei ttf-dejavu wqy-zenhei wqy-microhei wqy-bitmapfont
fc-cache -fv #刷新字体
也可以把ttf字体文件复制到 /usr/share/fonts/ 下,然后刷新字体缓存。
- 安装ibus输入法
sudo pacman -S ibus ibus-libpinyin
ibus-setup
nano ~/.bashrc
加入以下内容:
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
在设置的区域与语言里面,设置输入源
区域与语言
常用软件
音频
- Audacious - 开源音频播放器,按你想要的方式播放你的音乐,不占用你其它任务的电脑资源。
- Audacity - 免费,开源,跨平台的声音录制、编辑软件。
- Rhythmbox - 来自 GNOME 的音乐播放器。
通讯客户端
- Pidgin - 一款通用聊天客户端。
- Skype - Skype 让世界保持沟通,免费的。
数据备份与恢复
- Timeshift - TimeShift 是一款系统还原工具,它用 rsync 和硬链接创建系统的增量快照。快照可以在一段时间后用于恢复,撤销快照生成以来所做的所有更改。快照可以手动生成或用定时任务自动生成。
桌面个性化
- Gnome Extensions - Gnome 桌面环境扩展插件。
- Gnome Look - 大量社区创建的图标,shell 主题,字体,以及其他更多的可用来个性化你的 Gnome 桌面环境的资源,都在这一个站点。
开发
- Clion - 一款强大的跨平台 C 以及 C++ IDE。
- Eclipse - Eclipse 以 Java 集成开发环境而闻名,但它的 C/C++ IDE 和 PHP IDE 同样出色。
- Git - Git 是一款免费和开源的分布式版本管理系统,被设计用来快速和高效地处理从小项目到大项目的一切内容。
- Oh-my-zsh - 一个由社区驱动,优雅的 zsh 配置管理框架。
- Zsh - 一款强大的命令行 shell。
电子书工具
- Evince - Evince 是一款支持多种格式的文档查看器。Evince 的目标是用一个简单的应用取代已经存在于 GNOME 桌面的多种文档查看器。
- Foxit - Foxit Reader 8.0——获得殊荣的 PDF 阅读器。
- FBReader - 最流行的电子阅读应用之一。
- Okular - Okular 由 KDE 原始开发的通用文档查看器。Okular 可以在多个平台上工作,包括但不限于 Linux,Windows,Mac OS X,*BSD 等等。
编辑器
- Atom - 21 世纪的可 hack 文本编辑器。
- Gedit - gedit 是 GNOME 文本编辑器。尽管以简单易用为目标,gedit 仍然是个强大的多功能编辑器。
- Kate - Kate 是一个多文档编辑器,从 KDE 2.2 开始就是 KDE 的一部分了。
- Sublime - 有史以来最好的编辑器之一。
- VSCode - Visual Studio Code 是一款轻量但强大的代码编辑器,提供 Windows,OS X 以及 Linux 版本。它内置了 JavaScript,TypeScript 以及 Node.js 支持,并且对其它语言(C++,C#,Python,PHP)还有丰富的插件系统和运行环境。
- Vim -Vim 是一个高级文本编辑器,寻求以更完整的功能集提供事实上的 -
- Unix 编辑器“Vi”的强大功能。无论你已经在使用 vi 或其它编辑器,它都十分有用。
教育
- Geogebra - 图形计算器,支持函数,几何,代数,微积分,统计以及 3D 数学。
- Google Earth - Google Earth 是一款虚拟地球,地图以及地理信息程序。
- MAPLE - Maple 是一款数学软件,它结合了世界上最强大的数学引擎以及一个让它十分易于分析,探索,可视化以及解决数学问题的界面。
- MATLAB - MATLAB 平台专为剞劂工程和科学问题优化。MATLAB 让你的想法不仅仅停留在桌面。你可以在巨大的数据集上进行你的分析并按比例增加你的集群和云。
电子邮件
- Evolution - Evolution 是一款个人信息管理应用,集成了邮件,日历以及地址簿功能。
- Geary - Geary 是一款为 GNOME 3 构建的电子邮件应用。它让你可以在一个简单,现代的界面上阅读和发送邮件。
- Thunderbird - Thunderbird 是一款免费的电子油价客户端,设置以及个性化简单方便,功能强大。
文件管理器
- 7Zip - 解压任何压缩文件
- Nautilus - Nautilus(Files)鹦鹉螺是为适配 Gnome 桌面设计和行为所设计的文件管理器,给用户一个简单的方式导航和管理文件。
- Ranger - Ranger 是一款使用 VI 快捷键的终端文件管理器。
- Thunar - Thunar 被设计成为 Xfce 4.6 的默认文件管理器,为快速和易用设计。
游戏
- Steam - 超赞的游戏平台,打开众多游戏的大门。
图形
- Blender - 面向艺术家和小团队的免费开源的完整 3D 创作流水线。
- GIMP - GIMP 是一个自由分发的程序,可以进行照片修版,图像合成,图像编辑等操作 。
- gThumb - gThumb 是一款图片查看和浏览器(它还包含一个导入工具,用于从相机导入照片)。
- Inkscape - 不管你是插画家,设计师,web 设计师还是仅仅是需要创建一些矢量图像,它都是一款强大,免费的设计工具 。
- Shotwell - Shotwell 是 GNOME 3 的图片管理器。
浏览器
- Chrome - 一款流行的浏览器,有着无数插件和应用。
- Chromium - Chromium 是一个开源浏览器项目,专注于为所有用户带来更安全、快速和稳定的 web 体验。
- Firefox - 一款流行的浏览器,有着无数插件和应用。
- Opera - Opera 浏览器是你畅游网络所需的一切。
- Vivaldi - 一款新兴的浏览器,有着许多的个性化配置。
办公
- LibreOffice - Linux 上的最佳办公套件之一。
- WPS office - Linux 上的最佳办公套件之一。
生产力
- Go For It - Go For It! 是一款简单又时尚的生产力工具,主打待办清单,结合定时器让你专注于当前的任务。
- Cairo-Dock - Cairo-Dock 是一个可自定义 dock,插件,面板等的桌面界面。
- Notes - 一款干净又简单的 Linux 笔记应用。
- Simplenote - 跨平台笔记软件。
- WizNote - 一个跨平台云笔记客户端。
- Xmind - 脑图工具。
安全
- Fail2ban - Fail2ban 扫描日志文件(例如 /var/log/apache/error_log)并将有恶意气息的 IP 封禁——过多的错误密码尝试,寻找可利用漏洞等行为。
- GuFW - Linux 世界中最简单的防火墙之一。
文件共享
- aria2 - aria2 是一个轻量级的多协议以及多来源命令行下载工具。
- Filezilla - 免费的 FTP 解决方案。
- Transmission - 简单,轻量级,多平台的 torrent 客户端。
- uGet - Linux 下最好的下载管理器之一。
- uTorrent - 优雅,高效的 torrent 下载。
终端
- GnomeTerminal - Linux 世界广泛预装的终端模拟器。
- Guake - Guake 是 Gnome 下的一款顶部下拉式的终端。
- Konsole - KDE 桌面环境的最佳终端。
- Terminator - 很明显 Linux 上最强大的终端模拟器是功能丰富的 Terminator。
- Yakuake - 一款基于 KDE Konsole 技术的 Quake 风格的终端模拟器。
实用工具
- Indicator-SysMonitor - 一款可显示 cpu 温度,内存,网速,cpu 使用率,公网 IP 地址以及联网状态的应用指示器。
- Sushi - Sushi 是 GNOME 桌面文件管理器鹦鹉螺(Nautilus)的快速预览工具。
- TLP - 优化 Linux 下的电池表现。
- Virtualbox - VirtualBox 是一款通用的 x86 硬件虚拟机软件,面向服务器,桌面以及嵌入式。
视频
- MPlayer - MPlayer 是一款支持多种系统和各种视频的视频播放器。
- SMPlayer - 内置解码器的免费媒体播放器。可播放所有的音频和视频格式。
- VLC - VLC 是一个免费且开源的跨平台媒体播放器以及框架,可以播放大多数格式的多媒体文件以及 DVS,音频 CD,VCD,以及各种流媒体协议。
其它
- GrubCustomizer - Grub Customizer 是一个让你可以配置 GRUB2/BURG 设置和启动项的图形化界面。