赞
踩
此步骤由很多种方式:
启动 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 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
# 进入磁盘操作。输入m可以查看帮助。其中输入g 建立gpt分区表,p 是列出分区, d 是删除分区,n 是新建分区,q 是退出。
#输入:n 添加一个分区
#回车:
#提示让输入开始扇区(一个扇区512B,按自己要分区容量大小进行计算)
#输入2048,回车
#让输入结束扇区,由于一个扇区512B,要创建50g的分区,应该输入:+50g;
# 注意退出前 w 写入才会生效。
# 格式化分区
mkfs.xfs /dev/nvme1n1p7
#将根分区挂载到 /mnt (最先挂载)
mount /dev/nvme1n1p7 /mnt/
mkdir -p /mnt/boot/efi
mkdir -p /mnt/var
mkdir -p /mnt/home
# 格式化分区
# mkfs.fat -F32 /dev/nvme1n1p1
# 挂载 UEFI 系统分区
mount /dev/nvme1n1p1 /mnt/boot/efi
# 分配 /var/ ,挂载 /mnt/var/
mount /dev/nvme1n1p8 /mnt/var/
# 分配 /home/ ,挂载 /mnt/home/
mount /dev/sda2 /mnt/home/
# 最后检查挂载情况
lsblk
文件 /etc/pacman.d/mirrorlist
定义了软件包会从哪个 镜像源 下载
由于镜像站文件中有太多国外网址,网速慢,所以在镜像站文件开头添加国内镜像站 修改 /etc/pacman.d/mirrorlist
文件,将国内的镜像站置于最顶的几行
# 用 pacstrap 脚本,安装 base 软件包和 Linux 内核以及常规硬件的固件
# pacstrap /mnt base linux linux-firmware
# 安装更完整的软件包
# base 软件包并没有包含全部 live 环境中的程序,packages.x86_64 页面包含了它们的差异:https://git.archlinux.org/archiso.git/tree/configs/releng/packages.x86_64
# 如果您还想安装其他软件包组比如 base-devel,请将他们的名字添加到 pacstrap 后,并用空格隔开
pacstrap -i /mnt base base-devel linux linux-firmware
genfstab -U /mnt >> /mnt/etc/fstab
# 检查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
hostnamectl set-hostname myhostname
hostnamectl status
vi /etc/hosts
127.0.0.1 localhost ::1 localhost 127.0.1.1 myhostname.localdomain myhostname
如果系统有一个永久的 IP 地址,请使用这个永久的 IP 地址而不是 127.0.1.1
- 安装网络软件包 dhcpcd, netctl, networkmanager 三选一
```shell
# pacman -S dhcpcd # systemctl enable dhcpcd
# pacman -S netctl iw wpa_supplicant dialog
# pacman -S rp-pppoe #pppoe-setup #systemctl enable adsl
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
pacman -S os-prober
pacman -S dosfstools grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot/efi --recheck
grub-mkconfig -o /boot/grub/grub.cfg
passwd
exit
reboot
开机输入root密码,进入系统
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 工具
更好用的软件包管理工具
```shell
# 界面进行添加/删除软件,软件更新,如果安装了图形界面,可以在系统菜单中找到
pacman -S pamac
# 命令行管理软件,可以模糊搜索包名或描述
pacman -S yay
添加用户(注意替换myusername为你希望的用户名)
useradd -m -g users -s /bin/bash myusername
# 比如:groupadd svenaugustus && useradd -m -g svenaugustus -s /bin/bash svenaugustus
务必添加一个 用户 ,否则通过界面无法登录,界面不会列出root用户
为用户设置密码
passwd myusername
# 比如:passwd svenaugustus
为你刚才创建的用户 添加sudo权限
vim /etc/sudoers
在 root ALL=(ALL) ALL 下面添加
myusername ALL=(ALL) ALL
# 比如:svenaugustus ALL=(ALL) ALL
timedatectl set-timezone Asia/Shanghai
timedatectl set-ntp true
如果需要桌面环境,就需要前置安装X窗口系统
pacman -S xorg
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 |
```shell | |
# 示例 | |
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开发的全新桌面环境 |
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)
```shell
pacman -S plasma plasma-meta
# 安装kde应用
pacman -S kde-applications kde-applications-meta
# lightdm窗口登录管理器
pacman -S sddm.service
# 设置为开机启动
systemctl enable sddm.service
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
# 如果是kde: sudo pacman -S --noconfirm fcitx-im kcm-fcitx fcitx-sogoupinyin fcitx-googlepinyin
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"
pacman -S alsa-utils
# 安装 alsa-tray 从托盘控制音量大小
# yay -S alsa-tray
# 接触静音
amixer sset Master unmute
amixer
# 也可以使用 pulseaudio 控制音量
pacman -S pulseaudio pavucontrol
systemctl --user start pulseaudio
systemctl --user enable pulseaudio
大多数键盘都有一个Num Lock键,通过它控制小键盘的开关。用户可能希望在系统启动时打开Num Lock。
yay -S systemd-numlockontty
# 设置开机启动
systemctl enable numLockOnTty.service
既然是用 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 了~
vim /etc/sysctl.d/90-swappiness.conf
vm.swappiness=1
vm.vfs_cache_pressure=50
mkdir -p /etc/cron.daily/
vim /etc/cron.daily/ssd-fstrim
#!/bin/sh
LOG=/var/log/trim.log
echo "*** $(date -R) ***" >> $LOG
fstrim -v / >> $LOG
fstrim -v /var>> $LOG
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桌面环境美化
#在 设置》外观 中选择 对应样式、图标设置
#在 设置》窗口管理器 中选择 对应主题设置
# paper 主题和图标
yay -S paper-gtk-theme-git paper-icon-theme-git
# arc 主题
#pacman -Sarc-gtk-theme arc-solid-gtk-theme
pacman -S --noconfirm gtk-theme-arc-git
# 图标 (numix 或 papirus 系列 ), 推荐 numix
pacman -S --noconfirm numix-circle-icon-theme papirus-icon-theme
kde桌面环境美化
# 在 系统设置 中选择 对应图标 (papirus 系列 )设置, 推荐 papirus
sudo pacman -S papirus-icon-theme
# 在 系统设置 中选择 对应 主题 (arc 或 kvantum 系列 )设置
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-l2tp networkmanager-strongswan networkmanager-openconnect networkmanager-openvpn networkmanager-pptp networkmanager-vpnc
基于NetworkManager 的 VPN 支持。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开发工具
```shell
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 协议过滤代理。
yay -S --noconfirm 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
# 测试 privoxy
curl --proxy http://127.0.0.1:8118 -Is https://google.com | grep -w 200
# 测试 privoxy + export http_proxy
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)
yay -S --noconfirm cmatrix geogebra stellarium celestia
cmatrix 终端从上往下输出无尽的字符串,类似<<黑客帝国>>中的矩阵效果,终端运行 cmatrix ;
geogebra 图形计算器,支持函数,几何,代数,微积分,统计以及 3D 数学。 stellarium 星象软件。可调选项很多,这是随便开起来截图的。
celestia 免费的空间模拟器,让你在三维空间中探索我们的宇宙;
选择添加,命令:里输入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开发工具快键键冲突。
@SvenAugustus(https://www.flysium.xyz/) 更多请关注微信公众号【编程不离宗】:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。