安装系统
一、下载介质
https://www.archlinux.org/download/
二、启动 ISO 到Live 环境
此步骤由很多种方式:
制作ISO为U盘启动工具,可以使用 Ultra ISO 或 大白菜
有Linux/Unix系统的,可以硬盘写入Grub,制作启动项
三、安装前的准备
启动 iso到 live 环境,登录后,在 /root, ArchLinux 贴心地 放置了 install.txt 文件供参考。
验证启动模式
如果以在 UEFI 主板上启用 UEFI 模式,Arch iso 将会使用 systemd-boot 来 启动 Arch Linux。
ls /sys/firmware/efi/efivars
如果目录不存在,系统可能以 BIOS 或 CSM 模式启动
连接到互联网
确保系统已经启用了 网络接口,用 ip-link(8) 检查:
ip link
连接到网络,连接网线或无线网络. https://wiki.archlinux.org/index.php/Network_configuration_(简体中文)/Wireless_(简体中文)
如果采用无线联网
# netctl 打开wifi
wifi-menu
如果采用ADSL 宽带连接
pppoe-setup
systemctl start adsl
ping 检查网络连接
ping archlinux.org
同步系统时钟
timedatectl set-ntp true
timedatectl status
建立硬盘分区
磁盘规划
安装过程的挂载点
安装过程的磁盘分区
安装后的分区
建议大小
/mnt/boot/efi/
/dev/nvme1n1p1
EFI系统分区
260-512MiB
/mnt/
/dev/nvme1n1p7
/
512MiB-50GiB
/mnt/var/
/dev/nvme1n1p8
/var/
大于 100GiB
/mnt/home/
/dev/sda2
/home
大于 1TiB
fdisk -l
fdisk /dev/sdX1
#输入:n 添加一个分区
#回车:
#提示让输入开始扇区(一个扇区512B,按自己要分区容量大小进行计算)
#输入2048,回车
#让输入结束扇区,由于一个扇区512B,要创建50g的分区,应该输入:+50g;
mkfs.xfs /dev/nvme1n1p7
#将根分区挂载到 /mnt (最先挂载)
mount /dev/nvme1n1p7 /mnt/
mkdir -p /mnt/boot/efi
mkdir -p /mnt/var
mkdir -p /mnt/home
mount /dev/nvme1n1p1 /mnt/boot/efi
mount /dev/nvme1n1p8 /mnt/var/
mount /dev/sda2 /mnt/home/
lsblk
四、安装
选择镜像
文件 /etc/pacman.d/mirrorlist 定义了软件包会从哪个 镜像源 下载
由于镜像站文件中有太多国外网址,网速慢,所以在镜像站文件开头添加国内镜像站 修改 /etc/pacman.d/mirrorlist 文件,将国内的镜像站置于最顶的几行
安装基本操作系统
pacstrap -i /mnt base base-devel linux linux-firmware
五、配置系统
配置fstab
genfstab -U /mnt >> /mnt/etc/fstab
cat /mnt/etc/fstab
切换新系统
arch-chroot /mnt
pacman -S vi vim
时区
设置系统的时区为东八区(上海)
timedatectl set-timezone Asia/Shanghai
timedatectl status
设置硬件时间,假定硬件时间已经被设置为 UTC 时间
hwclock --systohc
本地化
设置系统的本地语言
vim /etc/locale.gen
去除注释 en_US.UTF-8,以及中文zh_CN.UTF-8这两行
locale-gen
设置系统的 Log 用英文显示
echo LANG=en_US.UTF-8 > /etc/locale.conf
警告: 不推荐在此设置任何中文 locale,会导致 TTY 乱码
修改 键盘布局,并想让这个设置持续生效,编辑 vconsole.conf(5),例如:
vim /etc/vconsole.conf
KEYMAP=de-latin1
网络信息
创建 hostname 文件(注意替换myhostname为你希望的主机名)
hostnamectl set-hostname myhostname
hostnamectl status
添加对应的信息到 hosts
vi /etc/hosts
/etc/hosts(注意替换myhostname为你希望的主机名):
127.0.0.1 localhost
::1 localhost
127.0.1.1 myhostname.localdomain myhostname
如果系统有一个永久的 IP 地址,请使用这个永久的 IP 地址而不是 127.0.1.1
安装网络软件包 dhcpcd, netctl, networkmanager 三选一
pacman -S networkmanager nm-connection-editor network-manager-applet rp-pppoe
systemctl enable NetworkManager
network-manager-applet 是 NetworkManager 的前端UI管理工具,可以通过 nm-applet 启动。
https://wiki.archlinux.org/index.php/NetworkManager_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
初始化文件系统
mkinitcpio -P
引导系统
安装os-prober 如果你硬盘上还有别的系统,需要安装 os-prober
pacman -S os-prober
安装grub引导相关的工具包 (UEFI系统)
pacman -S dosfstools grub efibootmgr
安装grub
grub-install --target=x86_64-efi --efi-directory=/boot/efi --recheck
配置grub
grub-mkconfig -o /boot/grub/grub.cfg
设置 root 密码
passwd
六、重启
退出chroot环境
exit
重启系统
reboot
使用系统
开机输入root密码,进入系统
一、软件包管理
增加中文社区仓库
增加archlinuxcn库 Arch Linux 中文社区仓库 是由 Arch Linux 中文社区驱动的非官方用户仓库。包含中文用户常用软件、工具、字体/美化包等。
https://mirrors.tuna.tsinghua.edu.cn/help/archlinuxcn/
vim /etc/pacman.conf
/etc/pacman.conf 最后加上以下:
[archlinuxcn]
SigLevel = Optional TrustAll
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
更新镜像仓库
pacman -Syy
pacman -S archlinuxcn-keyring
安装 pamac 、yay 工具
更好用的软件包管理工具
pacman -S pamac
pacman -S yay
二、用户管理
添加用户(注意替换myusername为你希望的用户名)
useradd -m -g users -s /bin/bash myusername
务必添加一个 用户 ,否则通过界面无法登录,界面不会列出root用户
为用户设置密码
passwd myusername
为你刚才创建的用户 添加sudo权限
vim /etc/sudoers
在 root ALL=(ALL) ALL 下面添加
myusername ALL=(ALL) ALL
timedatectl set-timezone Asia/Shanghai
timedatectl set-ntp true
三、图形界面
安装X窗口系统
如果需要桌面环境,就需要前置安装X窗口系统
安装 x窗口系统
pacman -S xorg
安装中文字体: Dejavu 和 文泉驿微米黑字体
pacman -S ttf-dejavu wqy-microhei && fc-cache -fv
安装显卡驱动
如果需要桌面环境,就首先需要安装显卡驱动
确定显卡型号
lspci | grep VGA
安装显卡驱动
pacman -S 驱动包
显卡
驱动包
通用显卡
xf86-video-vesa
Intel英特尔
xf86-video-intel
AMD显卡
xf86-video-amdgpu
NVIDIA显卡Geforce7±
xf86-video-nouveau
NVIDIA显卡 Geforce6/7
xf86-video-304xx
ATI显卡
xf86-video-ati
pacman -S xf86-video-vesa xf86-video-intel xf86-video-nouveau
安装桌面环境
常用的2大桌面环境为GNOME和KDE。其中plasma为kde的最新版本。
桌面环境
简介
GNOME3
世界最为流行、基于GTK开发的桌面环境,默认设置简洁,美化需要折腾,安装内容很大
plasma
世界最为流行、KDE桌面环境最新版本,基于QT开发,美观、华丽,设置有点复杂,安装内容很大
xfce
轻量不失美观, Linus 目前使用的桌面环境
lxde
轻量级桌面, Linux Manjaro 发行版默认桌面环境
mate
GNOME2的分支, Linux Mint 发行版默认桌面环境
deepin
中国深度科技团队基于Qt和GO开发的全新桌面环境
安装xfce桌面环境 https://wiki.archlinux.org/index.php/Xfce_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
pacman -S xfce4 xfce4-goodies
pacman -S lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings
systemctl enable lightdm.service
安装kde桌面环境 https://wiki.archlinux.org/index.php/KDE_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)https://wiki.archlinux.org/index.php/Xfce_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
pacman -S plasma plasma-meta
pacman -S kde-applications kde-applications-meta
pacman -S sddm.service
systemctl enable sddm.service
中文环境
https://wiki.archlinux.org/index.php/Localization_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)/Simplified_Chinese_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
设置中文环境 (KDM、GDM、LightDM的配置文件为~/.xprofile,startx、Slim的配置文件为~/.xinitrc)
echo LANG=zh_CN.UTF-8 > .xinitrc
echo LANG=zh_CN.UTF-8 > .xprofile
中文输入法
sudo pacman -S --noconfirm fcitx-im fcitx-configtool fcitx-sogoupinyin fcitx-googlepinyin
配置fcitx
vim ~/.xprofile
~/.xprofile:
export LANG=zh_CN.UTF-8
export GTK_IM_MODULE=fcitx
export QT4_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
对于jetbrians系列fcitx无法跟随的情况 fcitx输入法配置>附加组件>勾选高级>xim前端>勾选on the spot
解除静音,爆发你的响亮
pacman -S alsa-utils
amixer sset Master unmute
amixer
pacman -S pulseaudio pavucontrol
systemctl --user start pulseaudio
systemctl --user enable pulseaudio
https://xlui.me/t/archlinux-xfce4-alsa/
四、完善系统配置
开机时打开 Num Lock键
大多数键盘都有一个Num Lock键,通过它控制小键盘的开关。用户可能希望在系统启动时打开Num Lock。
yay -S systemd-numlockontty
systemctl enable numLockOnTty.service
安装 ZSH
既然是用 Linux 当然没有忘记把 bash 换成 zsh 首先是安装 zsh:
sudo pacman -S zsh
接着配置 oh-my-zsh:
sh -c “$(wget -qO- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)”
最后更换默认的 shell:
sudo chsh -s /bin/zsh
重启之后就就可以愉快的使用 zsh 了~
系统优化
尽可能避免使用 swap分区而使用物理内存,提供系统性能
vim /etc/sysctl.d/90-swappiness.conf
90-swappiness.conf:
vm.swappiness=1
vm.vfs_cache_pressure=50
设置固态SSD定期TRIM (没有固态的跳过) 操作系统和 SSD 硬件的特性还有一个不匹配的地方。 那就是,操作系统在删除数据的时候,并没有真的删除物理层面的数据,而只是修改了 inode 里面的数据。可以通过启用TRIM命令避免以上问题。
mkdir -p /etc/cron.daily/
vim /etc/cron.daily/ssd-fstrim
ssd-fstrim:
#!/bin/sh
LOG=/var/log/trim.log
echo “*** $(date -R) ***” >> $LOG
fstrim -v / >> $LOG
fstrim -v /var>> $LOG
参考
安装指南:https://wiki.archlinux.org/index.php/Installation_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
一般推荐:https://wiki.archlinux.org/index.php/General_recommendations_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
中文支持:https://wiki.archlinux.org/index.php/Localization_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)/Simplified_Chinese_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
软件推荐
一、一般软件
文件管理器
nemo 一款很不错的文件管理器,某程度比 thunar 更好用。 wiki : https://wiki.archlinux.org/index.php/Nemo nemo-fileroller 增加fileroller,nemo提供解压,压缩的菜单。
sudo pacman -S --noconfirm nemo nemo-python nemo-fileroller nemo-preview nemo-terminal cinnamon-translations
设置nemo文件管理器中右键的“在终端中打开”为 xfce终端
gsettings set org.cinnamon.desktop.default-applications.terminal exec xfce4-terminal
桌面环境美化
xfce桌面环境美化
#在 设置》外观 中选择 对应样式、图标设置
#在 设置》窗口管理器 中选择 对应主题设置
yay -S paper-gtk-theme-git paper-icon-theme-git
#pacman -Sarc-gtk-theme arc-solid-gtk-theme
pacman -S --noconfirm gtk-theme-arc-git
pacman -S --noconfirm numix-circle-icon-theme papirus-icon-theme
kde桌面环境美化
sudo pacman -S papirus-icon-theme
pacman -S arc-kde kvantum-theme-arc
系统软件
yay -S --noconfirm glances smartmontools
glances 比 top 更强大,自动高亮利用最高系统资源的程序,并为 Linux/Unix 服务器提供尽可能多的信息。glances 比 top 更强大,自动高亮利用最高系统资源的程序,并为 Linux/Unix 服务器提供尽可能多的信息。 smartmontools 硬盘S.M.A.R.T检测工具。
yay -S --noconfirm bleachbit redshift screenfetch man-pages-zh_cn
bleachbit 快速释放磁盘空间并不知疲倦地守卫你的隐私。释放缓存,删除 cookie,清除互联网浏览历史,清理临时文件,删除日志,以及更多功能… redshift 根据你的周边调整你屏幕的色温。当你夜晚在屏幕前工作时,它也许能帮助你减少对眼睛的伤害; screenfetch 系统信息工具,终端使用screenfetch命令;
yay -S --noconfirm filelight tree mugshot alacarte
filelight 显示可互动的图像,用环状的饼图可视化磁盘使用情况。 tree 显示当前目录下的所有文件(树状); mugshot 编辑个人头像 ? alacarte 菜单管理器
yay -S --noconfirm freefilesync
freefilesync 文件夹比较和同步工具;
yay -S --noconfirm networkmanager- networkmanager-strongswan networkmanager-openconnect networkmanager-openv** networkmanager-pptp networkmanager-c
基于NetworkManager 的 V** 支持。https://wiki.archlinux.org/index.php/NetworkManager_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
常用软件
office办公软件,音乐,视频软件
yay -S --noconfirm wps-office ttf-wps-fonts wps-office-mui-zh-cn netease-cloud-music smplayer smplayer-skins smplayer-themes nomacs thunderbird thunderbird-i18n-zh-cn
wps-office 金山WPS Office;(可选) ; ttf-wps-fonts 金山WPS Office依赖的字体; netease-cloud-music 网易云音乐;smplayer 视频播放器; nomacs 图片浏览器,界面超级简单,但是提供了简单的图片编辑功能(可以调整色彩、亮度、大小和裁剪)。除此之外,它还支持全屏模式、直方图,以及可以切换显示元数据、编辑历史等信息的许多面板。 thunderbird 邮件客户端工具;
浏览器
yay -S --noconfirm google-chrome firefox firefox-i18n-zh-cn
google-chrome 谷歌浏览器;firefox 火狐浏览器;
文本编辑器
yay -S --noconfirm vim remarkable masterpdfeditor flameshot
vim 经典文本编辑器,在终端里全键盘很happy; remarkable 卓越且功能齐全的 Markdown 编辑器; masterpdfeditor 对linux用户免费的PDF浏览及编辑器,支持实时预览; pinta 类似Windows的画图工具; flameshot 火焰截屏工具;
yay -S --noconfirm sublime-text-dev-imfix-fcitx
sublime-text-dev-imfix-fcitx 强大的开发必备文本编辑器;(有能力采用付费许可证)
提升生产力的工具
yay -S --noconfirm wiznote meld galculator goldendict easystroke catfish peek kazam
wiznote 为知笔记; meld 文本比较; galculator 基于GTK+的科学计算器。 goldendict 词典软件; easystroke 鼠标手势; catfish 基于GTK+的非常快速,轻量级的文件搜索工具; peek 屏幕录像工具,小巧玲珑,可保存录像为gif动图和兼容于html5的webm视频; Kazam 简易的桌面屏幕录制工具,它只能录制整个屏幕,可以录制声音,并可以快速上传录制好的视频到 YouTube 及 VideoBin 视频分享网站上。 zeal 各种API文档可以下载。
密码管理器
yay -S --noconfirm keepassxc
keepassxc 密码管理器;
远程登录,下载工具
yay -S --noconfirm electerm-bin uget filezilla
electerm 免费开源的SSH桌面终端,像xshell、termius一样好用。 uget 媲美迅雷的下载工具; filezilla 强大的FTP工具; baidunetdisk-bin 百度云盘的客户端 obs-studio 跨平台的视频直播软件
思维导图
yay -S --noconfirm xmind graphviz
xmind 跨平台的思维导图工具,关键还是可以导入MindManage的文件; graphviz 由AT&T实验室启动的开源工具包,可以使用DOT语言,可以绘画各种关系图。
团队协作
sudo pacman -S qt5-quickcontrols
yay -S --noconfirm teamviewer
teamviewer 远程协作, 需要 qt5-quickcontrols
二、编程软件安装
编程开发
版本控制系统
yay -S --noconfirm git subversion mercurial bzr
git 是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 subversion 是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。 mercurial 类似GIT的分布式版本控制系统,比如OpenJDK就采用这种版本管理。 bzr Bazaar(bzr)是另一个开源的 DVCS(Distributed Version Control System,即分布式版本控制系统),它试图给 SCM(Source Code Management,即源码管理) 的世界里带来一些新的东西。 bzr 是 Canonical 公司支持的一个项目,也就是 Ubuntu Linux 的发行公司。简单来说,bzr 是用 python 编写的,用于版本控制。
编程语言(Java, C++, Golang, Python, PHP, NodeJS)运行环境
yay -S --noconfirm jdk-openjdk jre-openjdk-headless openjdk-doc openjdk-src visualvm
yay -S --noconfirm jdk8-openjdk jre8-openjdk-headless openjdk8-doc openjdk8-src jdk11-openjdk jre-openjdk11-headless openjdk11-doc openjdk11-srcjre-openjdk11 jre-openjdk11-headless openjdk11-doc openjdk11-src
yay -S --noconfirm jdk7-openjdk jdk10-openjdk
yay -S --noconfirm gcc go python erlang nodejs npm yarn php php-cgi php-fpm xdebug
openjdk8-doc openjdk8-src 针对OpenJDK8的文档和源码; nodejs 是Node.Js (Chrome V8)前端开发的引擎框架. npm \ yarn 是Node.Js (Chrome V8)依赖管理框架. php php-cgi php-fpm PHP开发环境
IDE开发工具
yay -S --noconfirm jetbrains-toolbox
jetbrains-toolbox 著名的jetbrains序列的IDE管理工具;
C++开发工具
yay -S --noconfirm gdb codeblocks qtcreator glade postman-bin tcpdump gnu-netcat
gdb GNU调试器; codeblocks 跨平台的C++ IDE,官方网站上称其能满足最苛刻的用户的需求。’ qtcreator 基于QT的C++开发工具(包括界面设计); glade基于GTK3 的C++开发工具(包括界面设计);
负载均衡, 代理,反向代理
yay -S --noconfirm nginx
nginx 负载均衡和反向代理软件和工具;
网络排查工具
yay -S --noconfirm wireshark-qt tcpdump gnu-netcat net-tools dnsutils inetutils iproute2
wireshark-qt 网络抓包界面工具; tcpdump TCP网络抓包命令行工具; gnu-netcat 网络连接nc命令行工具; 和网络有关的命令ifconfig、route在net-tools包中,nslookup、dig在dnsutils包中,ftp、telnet等在inetutils包中,ip命令在iproute2包中。
网络测试工具
yay -S --noconfirm postman-bin soapui jmeter
postman-bin 大名鼎鼎的POSTMAN 工具; soapui 另一款支持 HTTP, SOAP测试的工具;
客户端
yay -S --noconfirm redis-desktop-manager robo3t-bin
redis-desktop-manager 缓存中间件Redis可视化客户端; robo3t-bin 连接MongoDB的客户端工具;
虚拟化和容器化
虚拟化
yay -S --noconfirm virtualbox virtualbox-host-modules-arch virtualbox-ext-oracle
virtualbox 虚拟机工具,linux首选,比vmware还好用。https://wiki.manjaro.org/index.php?title=Virtualbox
容器化
yay -S --noconfirm docker
docker 虚拟Linux容器技术;
中间件
yay -S --noconfirm mysql57 mongodb-bin-3.6
安装 mysql5.7,安装 mongodb
终端代理
如果想要终端通过ss代理,需要安装第三方软件辅助,即privoxy,它是一个 HTTP 协议过滤代理。
安装privoxy
yay -S --noconfirm privoxy
配置privoxy
privoxy的配置文件在/etc/privoxy/config中。一般找到forward-socks5t一行反注释,更改其值为SS代理监听的地址即可,如下:
vim /etc/privoxy/config
forward-socks5t / 127.0.0.1:1080 .
1080是ss的本地地址。此时需要重启privoxy才能生效,使用
sudo systemctl restart privoxy
命令即可
终端添加代理 此时在终端中添加代理即可通过代理访问网络。
export http_proxy=127.0.0.1:8118
export https_proxy=127.0.0.1:8118
其中8118是默认的privoxy监听的地址。
测试
curl --socks5 127.0.0.1:1080 http://httpbin.org/ip
curl --proxy http://127.0.0.1:8118 -Is https://google.com | grep -w 200
curl -I https://www.google.com
https://wiki.archlinux.org/index.php/Privoxy_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
https://www.bbsmax.com/A/A2dm9Yjbde/
其他
yay -S --noconfirm cmatrix geogebra stellarium celestia
cmatrix 终端从上往下输出无尽的字符串,类似<<黑客帝国>>中的矩阵效果,终端运行 cmatrix ;
geogebra 图形计算器,支持函数,几何,代数,微积分,统计以及 3D 数学。 stellarium 星象软件。可调选项很多,这是随便开起来截图的。
celestia 免费的空间模拟器,让你在三维空间中探索我们的宇宙;
三、应用程序快捷键
xfce桌面环境应用程序快捷键
在键盘–应用程序快捷键
选择添加,命令:里输入xfce4-screenshooter -f 点击确定,弹出快捷键确认,按下Print 再次点击确定。 在需要截图的时候,按 Print 就可以截图
xfce默认快捷键盘修改(键盘) 打开启动器菜单(类似windows的开始) >设置>键盘> xfce4-popup-whiskermenu > super+退出(Esc) 打开文件管理器:系统工具>设置>键盘> exo-open --launch FileManager > super+F 打开邮件客户端:系统工具>设置>键盘>exo-open --launch MailReader > super+M 打开默认浏览器:系统工具>设置>键盘> exo-open --launch WebBrowser > super+W 打开模拟终端:系统工具>设置>自定义快捷键> exo-open --launch TerminalEmulator > super+T 打开应用程序查找器:系统工具>设置>键盘> xfce4-appfinder --collapsed > super+R 打开任务管理器:系统工具>设置>键盘> xfce4-taskmanager > super+K 打开显示/分辨率设置:系统工具>设置>键盘> xfce4-display-settings -minimal > super+P 锁屏:系统工具>设置>自定义快捷键> xflock4 > super+L 截图:系统工具>设置>键盘>自定义快捷键>xfce4-screenshooter -f > Print 截图:系统工具>设置>键盘>自定义快捷键>deepin-screenshot>super+A
xfwm4默认快捷键盘修改(窗口管理器) 显示桌面:改为 Super + D Ctrl + F1 .... F12 删除 清除不需要的,以防止与Jetbrains等IDE开发工具快键键冲突。 Ctrl+Alt+上下左右 清除,暂时不需要,以防止与Jetbrains等IDE开发工具快键键冲突。 Alt+insert、delete 清除,暂时不需要,以防止与Jetbrains等IDE开发工具快键键冲突。
参考
软件推荐:https://wiki.archlinux.org/index.php/List_of_applications_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)