arch安装配置

u 盘准备

下载页面 选择下好 iso 文件, 插入 u 盘

使用 dd 命令刻录

dd if=boot.img of=/dev/sdx bs=4M

进入 live 环境

联网

dhcpcd

判断网络连接是否正常:

ping www.baidu.com

分区

建两个分区, 一个 300 M 大小的 EFI 分区,格式是 Fat32, 用于挂载 /boot, 一个 格式 ext4 ,用于挂载根目录

fdisk -l
fdisk -l /dev/sdb
d

d

n

+300M

t

1

n

格式化

mkfs.fat -F32 /dev/sdb1
mkfs.ext4 /dev/sdb2

挂载

mount /dev/sdb2 /mnt
mkdir /mnt/boot
mount /dev/sdb1 /mnt/boot 

设置镜像源

vim /etc/pacman.d/mirrorlist
# 在 china 下
Server = http://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
Server = http://mirrors.zju.edu.cn/archlinux/$repo/os/$arch

sudo vim /etc/pacman.conf

[archlinuxcn]
SigLevel = Optional TrustedOnly
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch   
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch   

密钥

# 下载密钥链
sudo pacman -S archlinuxcn-keyring
# 更新密钥
sudo pacman-key --refresh-keys
# 重新加载相应的签名密钥
sudo pacman-key --init
sudo pacman-key --populate
# 清除pacman 的缓冲文件
sudo pacman -Scc
# 更新系统
sudo pacman -Syu

安装基本包

pacstrap /mnt base base-devel linux linux-firmware dhcpcd

生成挂载表

genfstab -L /mnt >> /mnt/etc/fstab
cat /mnt/etc/fstab

切换系统

arch-chroot /mnt

设置时区

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc

提前安装必须软件包

pacman -S vim dialog wpa_supplicant ntfs-3g networkmanager

本地化

vim /etc/locale.gen

zh_CN.UTF-8 UTF-8 
zh_HK.UTF-8 UTF-8 
zh_TW.UTF-8 UTF-8 
en_US.UTF-8 UTF-8

locale-gen

vim /etc/locale.conf
LANG=en_US.UTF-8

设置系统为中文

vim $HOME/.xinitrc
# 在 exrc i3 前
export LC_ALL=zh_CN.UTF-8

设置主机名

vim /etc/hostname
ENIAC

配置 hosts

vim /etc/hosts

127.0.0.1	localhost
::1		localhost
127.0.1.1	ENIAC.localdomain	ENIAC



# 有些网站被 ban 了,或想加快速度,如 github.com
# 可到 https://www.ipaddress.com/ 查询 ip 后添加
#也可以使用别人弄好的成品
#如
https://github.com/googlehosts/hosts.git && cd hosts/hosts-files
sudo cp /etc/hosts /etc/hosts.bakup
sudo cp hosts /etc/hosts

配置 DNS

sudo vim  /etc/resolv.conf 
# 添加
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 198.153.192.1
nameserver 198.153.194.1
nameserver 208.67.222.222
nameserver 208.67.220.220

sudo chattr +i /etc/resolv.conf

systemctl restart NetworkManager.service

设置 Root 密码

passwd

启用微码更新

pacman -S intel-ucode
sudo grub-mkconfig -o /boot/grub/grub.cfg

安装Bootloader

  pacman -S os-prober ntfs-3g
  pacman -S grub efibootmgr
  grub-install --efi-directory=/boot --bootloader-id=grub
  grub-mkconfig -o /boot/grub/grub.cfg

重启

exit
umount /mnt/boot
umount /mnt
reboot

连接网络

dhcpcd

更新系统

sudo pacman -Syu

更新系统时间

timedatectl set-ntp true
timedatectl status

新建用户

useradd -m -G wheel edte
passwd edte

设置用户权限

pacman -S sudo
vim /etc/sudoers
%wheel ALL=(ALL)ALL

安装显卡驱动

pacman -S nvidia

安装显示服务

sudo pacman -S xorg xorg-xinit xorg-server xorg-apps

安装窗口管理器

pacman -S i3-gaps

启动窗口管理器

echo exec i3 >> ~/.xinitrc

# 自动登录
vim ~/.bash_profile

if systemctl -q is-active graphical.target && [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then
  exec startx
fi 

# 手动登录
startx

# 注意,这里有个坑,不要使用 root 用户登录,sudo startx 也不行
# 否则进入之后一些软件是不支持使用的

i3 配置

# 键    -  意义
# $mod  -  win
# $alt  -  alt
# $ctrl - Ctrl
# Escape - ESC
# Return - return 
# Space  - space
# Shift - Shift
#
#
# 程序启动时加载
# exec or exec_always

# 主键
set $mod Mod4
set $alt Mod1
set $ctrl Control

# 关闭焦点所在程序
bindsym $alt+Escape   kill

# 移动程序
bindsym $mod+h move left
bindsym $mod+j move down
bindsym $mod+k move up
bindsym $mod+l move right

# 改变浮动状态
bindsym $mod+space floating toggle

# 去除i3的标题栏
new_window none
new_float normal
hide_edge_borders both


# 重启 i3
bindsym $mod+Shift+e exit




# 终端
bindsym $mod+Return exec i3-sensible-terminal

# 浏览器
bindsym $mod+p exec chromium

# rofi 配置
# rofi 是一款程序启动器
# 可以启动程序和更换程序
bindsym $mod+i  exec  rofi -show window
bindsym $mod+o  exec  rofi -show run


# 壁纸设置
# --bg-fill 是设置大小,自动填充满屏幕
# --randomize 是随机,下面表示随机播放壁纸
exec feh --randomize --bg-fill ~/pictures
# 设置一张壁纸
#exec feh --bg-fill /home/edte/Downloads/b65735e8ba5f0dd3f89aaf3cd8cd6be9_720w.jpg

# 设置透明化
exec_always compton -b

# 设置文件管理器
bindsym $mod+e exec thunar

# markdown 编辑器
bindsym $mod+u   exec typora


# 全屏/取消全屏
bindsym $mod+Escape fullscreen toggle

# 配置工作区
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"

# 切换工作区
bindsym $alt+Tab workspace next

bindsym $mod+1 workspace number $ws1
bindsym $mod+2 workspace number $ws2
bindsym $mod+3 workspace number $ws3
bindsym $mod+4 workspace number $ws4
bindsym $mod+5 workspace number $ws5
bindsym $mod+6 workspace number $ws6
bindsym $mod+7 workspace number $ws7
bindsym $mod+8 workspace number $ws8
bindsym $mod+9 workspace number $ws9
bindsym $mod+0 workspace number $ws10

# 将焦点所在程序移动到对应工作区
bindsym $mod+Shift+1 move container to workspace number $ws1
bindsym $mod+Shift+2 move container to workspace number $ws2
bindsym $mod+Shift+3 move container to workspace number $ws3
bindsym $mod+Shift+4 move container to workspace number $ws4
bindsym $mod+Shift+5 move container to workspace number $ws5
bindsym $mod+Shift+6 move container to workspace number $ws6
bindsym $mod+Shift+7 move container to workspace number $ws7
bindsym $mod+Shift+8 move container to workspace number $ws8
bindsym $mod+Shift+9 move container to workspace number $ws9
bindsym $mod+Shift+0 move container to workspace number $ws10

安装中文字体

pacman -S wqy-microhei wqy-zenhei ttf-dejavu

主题

# lxappearance 是一个主题修改 UI
sudo pacman -S lxappearance
# arc 是一个界面主题, numix 是图标
sudo pacman -S  arc-gtk-theme numix-icon-theme-git

终端模拟器

pacman -S konsole
vim  $HOME/.config/i3/config
# 终端
bindsym $mod+Return exec i3-sensible-terminal

程序启动器

pacman -S rofi

# 生成配置列表
# rofi 配置
# rofi 是一款程序启动器
# 可以启动程序和更换程序
vim  $HOME/.config/i3/config

bindsym $mod+z  exec  rofi -show window
bindsym $mod+d  exec  rofi -show drun

窗口透明工具

pacman -S compton

vim  $HOME/.config/i3/config

exec_always compton -b

安装状态栏

# polybar 是一个状态栏工具
# polybar 的配置文件在 $HOME/.config/polybar
# 此目录下有两个文件,一个 launch.sh 用于启动 polybar
# 一个 config 文件是配置文件

# 安装 polybar
yay -S polybar-git

# 配置
install -Dm644 /usr/share/doc/polybar/config $HOME/.config/polybar/config

# 配置安装脚本
vim ~/.config/polybar/launch.sh

# 输入
killall -q polybar

while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done

polybar example

# 给权限
chmod + ~/.config/polybar/launch.sh

# 配置状态栏
vim vim ~/.config/polybar/config
输入
https://github.com/Kuari/i3-wm-config/blob/master/.config/polybar/config

# 开机自动启动
vim  $HOME/.config/i3/config

exec . ~/.config/polybar/launch.sh

联网管理

systemctl enable dhcpcd

壁纸设置

pacman -S feh

vim  $HOME/.config/i3/config

# 壁纸设置
# --bg-fill 是设置大小,自动填充满屏幕
# --randomize 是随机,下面表示随机播放壁纸
exec feh --randomize --bg-fill ~/picture
# 设置一张壁纸
exec feh --bg-fill ~/image.file

输入法

# 安装
sudo pacman -S fcitx fcitx-qt5 kcm-fcitx fcitx-cloudpinyin fcitx-libpinyin fcitx-configtool
# 配置文件
sudo vim $HOME/.xinitrc
# 在 exrc i3 上方输入
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
fcitx

# 重启
reboot
# 配置
输入法,云拼音,壁纸,字典,剪切班,快捷键

安装浏览器

pacman -S chromium 

vim  $HOME/.config/i3/config
bindsym $mod+q exec chromium

shell 配置

# zsh 是一个不错的 shell
pacman -S zsh

# oh-my-zsh 是一个 方便配置 zsh 的工具
# 安装 oh-my-zsh
sudo git clone https://github.com/ohmyzsh/ohmyzsh.git
cd /ohmyzsh/tools
./install.sh

# 安装插件

# zsh-autosuggestions 是一个自动补全命令工具
# 如 曾经输入 ps -aux | grep abc
# 现在要输入类似命令,那么直接输入 ps ,就会把 ps -aux | grep abc 后的命令灰色表示出来
# 可以直接 右方向键补全这个命令
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions


# zsh-syntax-hightlighting 是一个不错的高亮工具,当命令正确时为 绿色,错误为红色
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

# z.lua 是一个目录跳转工具,常用于跳转常用的复杂目录
# 比如曾经使用过 cd $HOME/blog/myback/hello
# 那么只需直接 z 目录中的一部分,当然最好是特殊的地方
# 如此处可直接  z hello
sudo pacman -S lua
git clone https://github.com/skywind3000/z.lua.git  ~/.oh-my-zsh/plugins/z.lua


# zsh-history-substring-search 是一个历史查询命令
# 比如 曾经输入过 cd / 和 cd ~
# 现在 输入 cd ,然后 用上下反向键控制,就会补全历史中以 cd 开头的命令
git clone https://github.com/zsh-users/zsh-history-substring-search ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-history-substring-search

# thefuck 是一个智能匹配上一个命令类似的工具
# 常用于命令输入错误后使用
# 如输入 pythoj
# 然后 fuck
# 就会自动到 python
sudo pacman -S thefuck


# hstr 是一个查询历史命令的工具,是 ctrl+r 的替代品,有时候有一些复杂的命令
# 使用上面的方法找不到时,就要使用这个命令了
# 输入 hstr
# 然后输入命令,在使用方向键查找
yay -S hstr-git

# sudo 是一个很不错的工具
# 当忘记输入 sudo 后
# 可以双击 ESC 使用 sudo 命令执行上一命令
# 这个插件是 oh-my-zsh 自带的

# 配置
sudo vim ~/.zshrc

# 输入
export ZSH="/home/edte/.oh-my-zsh"
ZSH_THEME="ys"
# plugins
plugins=(
  zsh-history-substring-search
  sudo
# 使用 x 解压
  extract
  zsh-autosuggestions
  zsh-syntax-highlighting
)

source $ZSH/oh-my-zsh.sh
eval "$(lua /home/edte/.oh-my-zsh/plugins/z.lua/z.lua  --init zsh)"
eval $(thefuck --alias)

alias setproxy="export ALL_PROXY=socks5://127.0.0.1:1080"
alias unsetproxy="unset ALL_PROXY"
alias getip="curl -i httpbin.org/get"
alias install='sudo pacman -S'
alias remove='sudo pacman -Rs'
alias upgrade='sudo pacman -Syu'
alias push='/home/edte/.config/git-push.sh'


# 生效
source ~/.zshrc

文件管理器

# thunar 是一个有 ui 的轻亮级文件管理器
pacman -S thunar

# 配置快捷键
vim  $HOME/.config/i3/config
bindsym $mod+e exec thuna

# ranger 是一个 cli 文件管理器
# 用于查看图片比较方便
# feh 也可以查看图片,但是查看多个图片时,比较慢
sudo pacman -S ranger

使用代理上网

# arch 下 ssr 没有图形化程序, ssr-eletrion 有兼容问题,只能使用命令行
# v2 ray 可以使用 qv2 ray
# ss 一般使用 shad owssocks-qt5
# 这里提供 ss 教程
# 安装
sudo pacman -S shad owsocks-qt5
# 配置
# 打开后配置即可
# 终端使用代理, 这里是设置全局代理,端口自己改
export ALL_PROXY=socks5://127.0.0.1:1080
# 取消
unset ALL_PROXY
# 测试,看 ip 变了没
curl -i httpbin.org/get

# 为方便使用,可以 alias 一下
sudo vim $HOME/.zshrc

alias setproxy="export ALL_PROXY=socks5://127.0.0.1:1080"
alias unsetproxy="unset ALL_PROXY"
alias getip="curl -i httpbin.org/get"

source $HOME/.zshrc

# 浏览器使用代理, 我使用的是 chromium
# chromium 不支持 i3, 需要借助插件 Proxy SwitchyOmega
# 下载插件
https://chrome.google.com/webstore/detail/proxy-switchyomega/padekgcemlokbadohgkifijomclgjgif?hl=zh-CN
# 设置
# 在情景模式中
# 设置 proxy 为 127.0.0.1 和 1080  ,端口自己改
# 设置 auto switch 为 规则列表规则
# (按照规则列表匹配请求) 设置为 proxy
# 默认情景模式 设置为 直接连接
# 规则列表设置 选择 AutoProxy
# 然后在 规则列表网址  中输入  https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt
# 这个网站是 gfw ban 的站点
# 然后更新情景模式,再点插件图标,选择 suto switch 即可

# 设置的原理也好理解,即在打开一个网站后,先判断这个站点在不在我们刚输的 规则列表网址中
# 如果在,那么使用代理,否则直接连接,要判断是否使用了代理
# 可以在打开站点后点击插件图标,即可看见

# 参考 https://www.flyzy2005.com/tech/switchyomega-proxy-server/

# 也可以临时使用插件 集装箱 或谷歌上网助手
googlehelper.net
one.newday.me

版本控制系统

sudo pacman -S git
# 配置 github
git config --global user.name "edte"
git config --global user.email "zzzzip6@gmail.com"
# 安装 keygen
sudo pacman -S openssh
ssh-keygen -t rsa -C "zzzzip6@gmail.com"
cat $HOME/.ssh/id_rsa.pub


# 使用脚本自动 push
# 需要使用到 expect 命令
sudo pacman -S expect

sudo vim $HOME/.config/git-push.sh
# 输入

#! /usr/bin/expect
spawn git push origin master
expect "*Username*"
send "edte\r"
expect "Password"
send "your password\r"
cd ~
interact

# 设置 alias
sudo vim $HOME/.zshrc
alias push='/home/edte/.config/git-push.sh'
source $HOME/.zshrc
# 以后直接在 git 目录 push 即可

go 语言开发环境

sudo pacman -S go jdk goland

c 语言开发环境

sudo pacman -S cmake clion 

简洁的帮助文档

# tldr 是 man 的替代品
sudo pacman -S tldr
# 更新缓存
tldr --update
# 本地缓存在 $HOME/.cache/tldr
# 其他可查看 https://s0pypi0org.icopy.site/project/tldr/

markdown 编辑器

sudo pacman -S typora

vim  $HOME/.config/i3/config
bindsym $mod+1 exec typora

vim

sudo pacman -S vim

git clone https://github.com/spf13/spf13-vim.git
cd spf13-vim
./bootstrap.sh

终端复用器

# terminal multiplexer 就是支持在一个 terminal 里打开多个 session 的工具,当然也支持其他功能。
sudo pacman -S tmux

# 一个优秀的教程 https://www.ruanyifeng.com/blog/2019/10/tmux.html

磁盘使用分析工具

# ncdu 是 du 的替代品,无需如 du 一样使用许多命令,直接是输入 ncdu 即可
sudo pacman -S ncdu
ncdu

回收站

# Trash 是一个回收站命令,也就是把文件/目录移动到特定目录
# trash-put: 删除文件和目录(仅放入回收站中)
# trash-list :列出被删除了的文件和目录
# trash-restore:从回收站中恢复文件或目录 trash.
# trash-rm:删除回收站中的文件
# trash-empty:清空回收站
# 回收站对应的目录是 $HOME/.local/share/Trash
sudo pacman -S trash-cli

grep 替代品

# grep 是一个使用正则表达式查询的工具
# 而 rg 则是其替代品, rg 更加迅速
pacman -S ripgrep

cat 替代品

sudo pacman -S bat

文件搜索工具

sudo pacman -S fzf

find 替代品

sudo pacmsn -S fd

ls 命令增强

sudo pacman -S exa
posted @ 2020-05-30 17:08  MikuDance  阅读(911)  评论(0编辑  收藏  举报