这里介绍从安装archlinux系统到基本配置过程,基本搜集了网上和官方wiki整理而来的,把错误最低化。当然,本文也是作为我的一份手册吧…
PS: 最近更新时间 2020-02-27
安装Archlinux
下载Archlinux ISO
到官网下载 https://www.archlinux.org/download/ 并做成U盘启动盘
一系列的命令…(BIOS)
由于我是有线连接网络的,所以… 反正也可以在虚拟机里试下呗
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 dhcpcd(可选) ping www.baidu.com timedatectl set-ntp true fdisk /dev/sda ... ... mkfs.ext4 /dev/sdaX ... ... mkswap /dev/sdaY swapon /dev/sdaY mount /dev/sda1 /mnt nano /etc/pacman.d/mirrorlist pacstrap /mnt base base-devel genfstab -U /mnt >> /mnt/etc/fstab arch-chroot /mnt ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime hwclock --systohc --localtime nano /etc/locale.gen en_US.UTF-8 UTF-8 zh_CN.UTF-8 UTF-8 ... locale-genecho LANG=en_US.UTF-8 > /etc/locale.confecho myhostname > /etc/hostname nano /etc/hosts 127.0.0.1 localhost ::1 localhost 127.0.1.1 myhostname myhostname passwd pacman -S grub grub-install --target=i386-pc /dev/sda grub-mkconfig -o /boot/grub/grub.cfgexit umount -R /mnt reboot pacman -S sudo net-tools wireless_tools useradd -m -G wheel whoami passwd whoami nano /etc/sudoers reboot sudo dhcpcd ifconfig sudo pacman -S xf86-video-intel sudo pacman -S xorg
UEFI
如果是UEFI,那么可以用 fdisk
或 parted
分区,grub引导
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 parted /dev/sda mklabel gpt parted /dev/sda mkpart ESP fat32 1M 513M parted /dev/sda set 1 boot on parted /dev/sda mkpart primary ext4 513M 20.5G parted /dev/sda mkpart primary ext4 20.5G 100% mkdir /mnt/boot mkfs.fat -F32 /dev/sda1 mkfs.ext4 /dev/sda2 mount /dev/sda1 /mnt/boot mount /dev/sda2 /mnt pacstrap /mnt base base-devel genfstab -L /mnt >> /mnt/etc/fstab ...... pacman -S grub efibootmgr grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=GRUB grub-mkconfig -o /boot/grub/grub.cfg
可选桌面环境安装
接着还需要按照桌面环境
GNOME
sudo pacman -S gnome gnome-extra gnome-session
KDE
sudo pacman -S plasma kde-applications startkde
Deepin
sudo pacman -S deepin deepin-extra 1. lightdm nano /etc/lightdm/lightdm.conf [Seat:*] ... greeter-session=lightdm-deepin-greeter 2. Xinit nano ~/.xinitrc exec startdde startx
Xfce
sudo pacman -S xfce4 xfce4-goodies startxfce4(手动进入桌面)
安装桌面登录管理器(自行选择)
sudo pacman -S sddm sudo systemctl enable sddm sudo pacman -S gdm sudo systemctl enable gdm sudo pacman -S lightdm lightdm-gtk-greeter sudo systemctl enable lightdm
配置网络
sudo pacman -S network-manager-applet sudo systemctl disable netctl sudo systemctl enable NetworkManager
启动蓝牙
安装了KDE话,默认是未找到蓝牙适配器的。若要连接到蓝牙耳麦,那么可以这样做
sudo pacman -S bluez bluez-utils pulseaudio-bluetooth pavucontrol pulseaudio-alsa sudo systemctl enable bluetooth usermod -aG lp $USER sudo systemctl start bluetooth pulseaudio -k pulseaudio --start
软件仓库镜像
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 nano /etc/pacman.d/mirrorlist Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo /os/$arch Server = http://mirrors.ustc.edu.cn/archlinux/$repo /os/$arch Server = http://mirrors.aliyun.com/archlinux/$repo /os/$arch Server = http://mirrors.163.com/archlinux/$repo /os/$arch Server = http://mirrors.hust.edu.cn/archlinux/$repo /os/$arch Server = http://run.hit.edu.cn/archlinux/$repo /os/$arch Server = http://ftp.kaist.ac.kr/ArchLinux/$repo /os/$arch Server = http://mirrors.hustunique.com/archlinux/$repo /os/$arch Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo /os/$arch Server = http://mirror.premi.st/archlinux/$repo /os/$arch Server = http://mirror.its.dal.ca/archlinux/$repo /os/$arch Server = http://mirror.de.leaseweb.net/archlinux/$repo /os/$arch Server = http://mirror.clibre.uqam.ca/archlinux/$repo /os/$arch nano /etc/pacman.conf [multilib] Include = /etc/pacman.d/mirrorlist [archlinuxcn] Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch 或者: [archlinuxcn] Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch 安装 archlinuxcn-keyring 导入 GPG key sudo pacman -S archlinuxcn-keyring 直接这样会出错 sudo pacman -Syu haveged sudo systemctl start haveged sudo systemctl enable haveged sudo rm -fr /etc/pacman.d/gnupg sudo pacman-key --init sudo pacman-key --populate archlinux sudo pacman-key --populate archlinuxcn sudo pacman -S archlinuxcn-keyring sudo pacman -Syu
解决:
错误:无法提交处理 (无效或已损坏的软件包 (PGP 签名))
此处参考:
安装字体(中文)
1. sudo pacman -S adobe-source-han-sans-cn-fonts (思源黑体) 2. sudo pacman -S ttf-dejavu 3. sudo pacman -S wqy-zenhei 4. sudo pacman -S wqy-microhei nano /etc/locale.conf LANG=zh_CN.UTF-8 reboot
推荐安装 FireCode 自体 https://github.com/tonsky/FiraCode
中文输入法
建议卸载fcitx4,改用fcitx5
pacman -S fcitx5-git fcitx5-qt5-git fcitx5-gtk-git fcitx5-chinese-addons-git fcitx5-configtool-git fcitx5-rime-git
环境变量
vim ~/.xprofileexport GTK_IM_MODULE=fcitx5export QT_IM_MODULE=fcitx5export XMODIFIERS="@im=fcitx" fcitx5 &
安装Icon主题(可选)
pacman -S numix-circle-icon-theme-git
pacman彩色输出
编辑 /etc/pacman.conf
,取消 Color
注释
Nano 支持代码高亮
nano是linux下轻量级的文本编辑器,也是大多数linux发行版都默认安装的。但默认安装archlinux后 nano对于特殊文本的代码高亮支持并没有开启,因此要想让代码高亮显示,就要手动开启该功能。
首先nano所支持的一些代码格式文件存放在 /usr/share/nano/ 目录下
$ ls /usr/share/nano/ asm.nanorc elisp.nanorc json.nanorc objc.nanorc ruby.nanorc autoconf.nanorc fortran.nanorc lua.nanorc ocaml.nanorc rust.nanorc awk.nanorc gentoo.nanorc makefile.nanorc patch.nanorc sh.nanorc changelog.nanorc go.nanorc man.nanorc perl.nanorc spec.nanorc cmake.nanorc groff.nanorc mgp.nanorc php.nanorc tcl.nanorc c.nanorc guile.nanorc mutt.nanorc po.nanorc texinfo.nanorc css.nanorc html.nanorc nanohelp.nanorc postgresql.nanorc tex.nanorc debian.nanorc java.nanorc nanorc.nanorc pov.nanorc xml.nanorc default.nanorc javascript.nanorc nftables.nanorc python.nanorc
此时,我们可以在当前用户主目录下新建 .nanorc 文件,并添加 /usr/share/nano/*.nanorc
表示nano支持 /usr/share/nano 下的所有代码格式。
$ cat ~/.nanorc include /usr/share/nano/*.nanorc
修改yay aur国内源
建议用 yay 而不是 yaourt
sudo pacman -S yay nano ~/.config/yay/config.json "aururl" : "https://aur.archlinux.org" 替换为 "aururl" : "https://aur.tuna.tsinghua.edu.cn"
或者直接:
yay --aururl "https://aur.tuna.tsinghua.edu.cn" --save
代理
ProxyChains
sudo pacman -S proxychains-ng nano /etc/proxychains.conf 添加 " socks5 127.0.0.1 1080 "
比如 proxychains curl https://ip.cn
Shadowsocks
pacman -S shadowsocks-qt5 google-chrome-stable --proxy-server="socks5://127.0.0.1:1080" (暂时代理)
Lantern
v2ray
v2ray的安装方法官网有详细信息,qv2ray
是Qt开发的基于v2ray core的GUI程序,支持Windows、Linux、macOS。
之后就可以添加一些订阅地址或者自己买VPS搭建服务器
XX-Net + Proxy SwitchyOmega + Chrome
pacman -S xx-net 或者到 Github clone git clone https://github.com/XX-net/XX-Net.git ...
音乐(网易云)
yaourt -S netease-cloud-music
Office
wps-office,ttf-wps-fonts libreoffice 永中Office https://www.yozosoft.com/home.htm
解压缩文件
sudo pacman -S file-roller xarchiver unzip unrar
数据库客户端管理
重命名网卡为eth0…
之前: ifconfig
enp12s0
lo
wlp3s0b1
关键是 net.ifnames=0
1. ArchLinux-> /etc/default/grub GRUB_CMDLINE_LINUX="" GRUB_CMDLINE_LINUX_DEFAULT="audit=0 loglevel=3 quiet net.ifnames=0" grub-mkconfig -o /boot/grub/grub.cfg 2. CentOS-> net.ifnames=0 biosdevname=0 -> /etc/sysconfig/grub <=> /etc/default/grub GRUB_CMDLINE_LINUX=... net.ifnames=0 biosdevname=0 ... grub2-mkconfig -o /boot/grub2/grub.cfg
Vim配置(模板)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 set nocp set modelines=0 set backspace=2 syntax on autocmd InsertLeave * se nocul autocmd InsertEnter * se cul set smartindent set autoindent set confirm set tabstop=4 set softtabstop=4 set shiftwidth=4 set expandtab set number set history=50 set hlsearch set incsearch set gdefault set encoding=utf-8 set fileencodings=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936,utf-16,big5,euc-jp,latin1 set guifont=Menlo:h16:cANSI set langmenu=zn_CN.UTF-8 set helplang=cn set ruler set laststatus=1 set showcmd set scrolloff=3 set showmatch set matchtime=5 set autowrite set wildmenu set linespace=2 set whichwrap=b,s,<,>,[,] filetype plugin indent on set foldenable set cursorline set magic set ignorecase filetype on set background=dark set t_Co=256 set mouse=i set backspace=indent,eol,start
Zsh
https://wiki.archlinux.org/index.php/Zsh_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
https://github.com/robbyrussell/oh-my-zsh/
sudo pacman -S zsh 1. sudo pacman -S oh-my-zsh-git 2. sh -c "$(wget -O- https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" 3. sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" 4. curl -Lo install.sh https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh sh install.sh sudo chsh -s /bin/zsh nano .zshrc ZSH_THEME="jtriley" plugin: zsh-syntax-highlighting git clone https://github.com/zsh-users/zsh-syntax-highlighting ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
pacman -S virtualbox virtualbox-host-modules-arch pacman -S linux-headers linux
加载 VirtualBox 内核模块
手动加载模块# modprobe -a vboxguest vboxsf vboxvideo # -> modprobe vboxdrv # lsmod|grep vb vboxnetflt 32768 0 vboxnetadp 28672 0 vboxpci 28672 0 vboxdrv 503808 3 vboxpci,vboxnetadp,vboxnetflt 开机自动加载模块,启用 vboxservice.service 服务
增强功能
1. USB使用: sudo usermod -aG vboxusers whos 或 sudo gpasswd -a whos vboxusers 2. 增强功能(载入ISO功能包) sudo pacman -S virtualbox-guest-iso--> /usr/lib/virtualbox/additions/VBoxGuestAdditions.iso
或者自己去下载 VBoxGuestAdditions.iso ,并在使用virtualbox时载入iso
https://download.virtualbox.org/virtualbox/6.0.10/
下载拓展包
wget https://download.virtualbox.org/virtualbox/6.0.10/Oracle_VM_VirtualBox_Extension_Pack-6.0.10.vbox-extpack
手动挂载
在virtualbox虚拟机运行: mount -t vboxsf <共享目录的名字> <客户机系统的挂载点> 查看 vboxsf 的挂载参数 mount.vboxsf 假如用户不在 vboxsf 组里,用这个命令可以把挂载点的读写权限授权给他:# mount -t vboxsf -o uid=1000,gid=1000 home /mnt/ # usermod -aG vboxsf guest
百度云盘
sudo pacman -S baidunetdisk-bin
MariaDB数据库
sudo pacman -S mariadb mariadb-libs mariadb-clients
安装 mariadb 软件包之后,你必须在启动 mariadb.service
之前 运行下面这条命令:
# mysql_install_db --user=mysql --basedir=/usr --datadir=/ var/lib/my sql
用下面这个命令启动数据库级别的安全配置助手,来配置一些必要的安全选项
mysql_secure_installation
关于Mariadb10.4身份验证发生的一些变化及其配置,可参考:
Authentication in MariaDB 10.4 — Understanding the Changes
或者
SET PASSWORD
修改 root 密码(身份验证表在 **mysql.global_priv **可以 select *from mysql.global_priv;
查看)
set password for 'root'@'%' =password('xxxxxxxxx')
如果试图这样做
UPDATE mysql.user SET Password=PASSWORD('xxxx') WHERE User='root';
那么得到的错误是
ERROR 1348 (HY000): Column ‘Password’ is not updatable
Qt5
Wiki : https://wiki.archlinux.org/index.php/Qt_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
sudo pacman -S qt5-base qt5-doc qtcreator
反正也可以从官网下载安装包自行安装,不过速度就。。。
Python,Npm换国内源
Python
修改pip.conf文件,若不存在则新建一个并添加以下内容。
nano ~/.pip/pip.conf
[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple
Npm
npm config get registry npm config set registry https://registry.npm.taobao.org/
Github SSH Key
首先检查本机是否存在 SSH keys
ls ~/.ssh id_rsa id_rsa.pub
接着
ssh-keygen -t rsa -C "[email protected] " eval "$(ssh-agent -s) " ssh-add ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub
复制 id_rsa.pub
内容到:
–> Settings --> SSH and GPG keys --> New SSH key
测试是否成功
ssh -T [email protected] The authenticity of host 'github.com (13.250.177.223)' can't be established. RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added ' github.com,13.250.177.223' (RSA) to the list of known hosts. Hi josexy! You' ve successfully authenticated, but GitHub does not provide shell access.
如此如此即ok,否则no
配置Git,比如我的这样子
git config --global user.name "josexy" git config --global user.email "[email protected] " git config --global color.ui true git config --global credential.helper store
迁移Github Page hexo
假如要在另一台电脑上更新修改hexo搭建的博客,那么就要重新部署hexo。然而我们也可以不必如此,只需简单几步即可。
首先到博客根目录查看哪些文件/文件夹需要复制过去
ls -la 总用量 216 drwxr-xr-x 8 josexy josexy 4096 8月 5 08:18 . drwxr-xr-x 6 josexy josexy 4096 8月 6 13:42 .. -rw-r--r-- 1 josexy josexy 2591 7月 21 00:22 _config.yml -rw-r--r-- 1 josexy josexy 174 8月 5 08:20 db.json drwxr-xr-x 62 josexy josexy 4096 8月 5 08:19 .deploy_git -rw-r--r-- 1 josexy josexy 65 7月 20 10:24 .gitignore drwxr-xr-x 345 josexy josexy 20480 7月 20 20:57 node_modules -rw-r--r-- 1 josexy josexy 676 7月 20 20:57 package.json -rw-r--r-- 1 josexy josexy 148885 7月 20 20:57 package-lock.json drwxr-xr-x 61 josexy josexy 4096 8月 5 08:18 public drwxr-xr-x 2 josexy josexy 4096 7月 20 10:24 scaffolds drwxr-xr-x 7 josexy josexy 4096 7月 21 11:56 source drwxr-xr-x 4 josexy josexy 4096 7月 20 11:39 themes
以下表格列出需要和不需要复制到其他主机的文件/文件夹
需要
不需要
themes
themes/.git
source
public
_config.yml
db.json
.gitignore
.deploy_git
package.json
package-lock.json
scaffolds
node_modules
这样的话,我们就可以把 需要 的文件/文件夹复制过去了,为了能够在另一台主机上使用,还需要安装必要的application
sudo pacman -S nodejs sudo pacman -S npm sudo pacman -S git npm config set registry https://registry.npm.taobao.org sudo npm i hexo-cli -g
接着在该目录下执行 npm install
即可安装hexo所需原来的模块,保存在node_modules。
没有必要 hexo init
!没有必要 hexo init
!没有必要 hexo init
! ****
若出现类似
run npm audit fix
to fix them, or npm audit
for details
npm WARN [email protected] requires a peer of eslint@>= 4.12.1 but none is installed. You must install peer depen
dencies yourself.
按提示操作即可
如果不想每次都要输入github帐号密码,则需要配置 github ssh key ,方法请参见上文。
然后 hexo g
即可生成 public文件夹,hexo s
本地运行,hexo d
即可部署github
若出现类似Error: ENOSPC: System limit for number of file watchers reached
,解决方法:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
参考资料