Manjaro配置
pacman
永远的神!!
系统配置
官方: https://cdn.repo.archlinuxcn.org/$arch
浙江大学: https://mirrors.zju.edu.cn/archlinuxcn/$arch
中国科学技术大学: https://mirrors.ustc.edu.cn/archlinuxcn/$arch
清华大学: https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
# 换源
# 方案1: 直接配置为中国镜像源
sudo pacman-mirrors -i -c China -m rank
# 方案2: 修改配置文件配置, 设置 archlinuxcn 源, antergos源, arch4edu源
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
[arch4edu]
SigLevel = TrustAll
Server = https://mirrors.tuna.tsinghua.edu.cn/arch4edu/$arch
# 更新源列表
sudo pacman-mirrors -g
# 下载源
# error: 无法升级 core (无法锁定数据库)
rm /var/lib/pacman/db.lck
pacman -Sy
# update database and system
sudo pacman -Syyu
# reset
pacman-mirrors -id
# 开启 trim SSD用(延长ssd寿命)
systemctl enable fstrim.timer
# 配置个人习惯使用的别名
vim ~/.bashrc
alias ll='ls -alF'
alias la='ls -A'
alias cls='clear'
source ~/.bashrc
安装密钥
导入 PGP key,否则key验证失败会导致无法安装软件
sudo pacman -Sy archlinuxcn-keyring antergos-keyring
开启SSH
# 立即启动
systemctl start sshd.service
# 重启
systemctl restart sshd.service
# 开机启动
systemctl enable sshd.service
# SSH允许root登录 修改配置文件 添加以下配置
vim /etc/ssh/sshd_config
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
# 重启ssh
systemctl restart sshd.service
安装中文输入法
# 安装 fcitx5 输入法框架包
yay -S fcitx5-im
# 安装中文输入法
yay -S fcitx5-chinese-addons
# 安装美化包
yay -S fcitx5-material-color
# 安装词库
yay -S fcitx5-pinyin-zhwiki
在/etc/environment
追加以下三个配置,否则在某些界面会切换不了中文输入法。
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
打开 fcitx5-configtool 进行配置即可。
配置VNC
pacman -S x11vnc
# 设置密码
x11vnc -storepasswd
# 查看 auth
ps wwwwaux | grep auth
# 编辑启动文
vim /lib/systemd/system/x11vnc.service
[Unit]
Description=Start x11vnc at startup.
After=graphical.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth /run/user/1000/gdm/Xauthority -forever -display :0 -loop -noxdamage -repeat -rfbauth /root/.vnc/passwd -rfbport 5900 -shared
[Install]
WantedBy=graphical.target
# 开启服务
systemctl daemon-reload
systemctl start x11vnc
systemctl enable x11vnc
Snap设置代理
snap set system proxy.http="http://192.168.31.124:10809"
sudo tee -a /etc/profile <<-'EOF'
export SYSTEMD_EDITOR="/bin/vim"
EOF
source /etc/profile
systemctl edit snap
[Service]
Environment="http_proxy=http://192.168.31.124:10809"
Environment="https_proxy=http://192.168.31.124:10809"
sudo systemctl daemon-reload
sudo systemctl restart snapd
安装vim
sudo pacman -Sy vim
安装ARU包管理工具
sudo pacman -S yay
安装chrome
sudo yay -S google-chrome
安装edge
yay -S microsoft-edge-stable-bin
安装zsh
# 查看已经安装shell
cat /etc/shells
# 如果没有安装,安装
sudo pacman -S zsh
chsh -s /bin/zsh
安装vscode
yay -S visual-studio-code-bin
安装JDK
pacman -Ss jdk
# 安装open jdk 11
sudo pacman -S jdk11-openjdk
# 安装open jdk 8
sudo pacman -S jdk8-openjdk
# 切换java版本
archlinux-java help
archlinux-java status
archlinux-java set java-8-openjdk
安装Maven
pacman -Ss maven
sudo pacman -S maven
安装golang
# 下载安装包
wget https://golang.google.cn/dl/go1.16.3.linux-amd64.tar.gz
# 解压到指定目录
tar -C /usr/local -xzf go1.16.3.linux-amd64.tar.gz
# 加入环境变量
# $HOME/.profile or /etc/profile
export PATH=$PATH:/usr/local/go/bin
安装flutter
sudo snap install flutter --classic
# https://github.com/flutter/flutter/wiki
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
# 切换版本 dev
flutter channel dev
# 开启web支持
flutter config --enable-web
# 开启desktop支持
flutter config --enable-linux-desktop
# 检查安装情况
flutter doctor
安装typora
yay -S typora
安装GCC和Clang
sudo pacman -S gcc
sudo pacman -S clang
安装Docker
pacman -S docker
# 修改镜像源
vim /usr/lib/systemd/system/docker.service
# 在 ExecStart 后面添加参数
# 官方中国区镜像 https://registry.docker-cn.com
# 网易 http://hub-mirror.c.163.com
# ustc https://docker.mirrors.ustc.edu.cn
ExecStart=/usr/bin/dockerd --registry-mirror=https://docker.mirrors.ustc.edu.cn
# 重启 docker
systemctl daemon-reload
systemctl restart docker
安装MariaDB
pacman -S mariadb
mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
systemctl enable mysqld.service
systemctl start mysqld.service
mysql_secure_installation
安装Percona
pacman -S percona-server
pacman -S percona-clients
# 安全安装
mysql_secure_installation
# 初始化
bin/mysqld --initialize --user=mysql
# 查看日志里面的默认密码 Y_QSw>piZ1fr
less /var/log/mysqld.log
# 可以使用以下指令提取密码
grep "password is generated" /var/log/mysqld.log | awk '{print $NF}'
# 启动
systemctl enable mysqld
systemctl start mysqld
# 连接
mysql -u root -p
# 查询了资料,percona 8.0的密码插件已变成 caching_sha2_password
alter user 'root'@'localhost' identified with mysql_native_password by 'Lgq51233.';
UPDATE user SET Host = '%' WHERE User = 'root';
flush privileges;
安装MySQL
# 安装
pacman -S mysql
# 初始化
mysqld --initialize --user=mysql --basedir=/usr --datadir=/var/lib/mysql
# 如果初始化失败
# 2021-04-15T13:36:34.116639Z 0 [Warning] [MY-010915] [Server] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
# 2021-04-15T13:36:34.116673Z 0 [System] [MY-013169] [Server] /usr/bin/mysqld (mysqld 8.0.23) initializing of server in progress as process 5116
# 2021-04-15T13:36:34.117549Z 0 [ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting.
# 2021-04-15T13:36:34.117553Z 0 [ERROR] [MY-013236] [Server] The designated data directory /var/lib/mysql/ is unusable. You can remove all files that the server added to it.
# 2021-04-15T13:36:34.117595Z 0 [ERROR] [MY-010119] [Server] Aborting
# 2021-04-15T13:36:34.117659Z 0 [System] [MY-010910] [Server] /usr/bin/mysqld: Shutdown complete (mysqld 8.0.23) Source distribution.
# 移除再试一次
rm -rf /var/lib/mysql/*
# 启动
systemctl start mysqld
安装MongoDB
# 由于官方源移除了, 需要自行编译的话要很久, 可以使用 yay 方式来安装
yay -S mongodb
# 修改配置文件 http://docs.mongodb.org/manual/reference/configuration-options/
vim /etc/mongodb.conf
# 启动服务
systemctl start mongodb
# 如果启动失败, 可以使用 --fork 指令来看具体的信息
mongod --fork --logpath /data/mongodb/log.log
# 注意启动的用户, 如果是 root 用户的话, 要修改下 启动service
vim /usr/lib/systemd/system/mongodb.service
# 关闭
mongod --shutdown -f /etc/mongodb.conf
安装KVM
sudo pacman -S qemu virt-manager virt-viewer dnsmasq vde2 bridge-utils openbsd-netcat
sudo pacman -S ebtables iptables
# 查看安装情况
lsmod |grep kvm
# 启动 libvirtd 守护进程
systemctl start libvirtd
systemctl status libvirtd
# 启动
virt-manager
安装WebVirtMgr
git clone git://github.com/retspen/webvirtmgr.git
cd webvirtmgr
sudo pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple # or python-pip (RedHat, Fedora, CentOS, OpenSuse)
./manage.py syncdb
./manage.py collectstatic
安装OpenResty
源码下载地址: http://openresty.org/cn/download.html
# 依赖库 perl 5.6.1+, libpcre, libssl
wget https://openresty.org/download/openresty-1.19.3.1.tar.gz
tar -zxvf openresty-1.19.3.1.tar.gz
cd openresty-1.19.3.1
# ./configure --help 查看帮助
./configure
# 如果是多核的, 可以使用 make -j2 指令, 这个是双核
make & make install
# 把相关执行文件放在PATH
vim ~/.bashrc
export OPENRESTY_HOME=/user/local/openresty
export PTAH=$OPENRESTY_HOME/bin:&PATH
source ~/.bashrc
安装node.js
pacman -S nodejs npm
修改启动GNU超时时间
vim /etc/default/grub
替换为 kde 桌面
官网本来就有kde桌面的iso的, 当时傻逼了…
# 安装
sudo pacman -S plasma kde-applications sddm
sudo pacman -S plasma-wayland-session
sudo ln -s --force /usr/lib/systemd/system/sddm.service /etc/systemd/system/display-manager.service
sudo systemctl enable sddm
sudo reboot
安装常用工具
pacman -S make
pacman -S screenfetch
pacman -S netease-cloud-music
pacman -S google-chrome
pacman -S linuxqq
pacman -S mpv
pacman -S geany
pacman -S snap
pacman -S aria2
pacman -S neofetch
pacman -S sysstat
# 安装 RedisDesktopManager
snap install redis-desktop-manager
# 系统运行状态工具
pacman -S glances
# 安装 yaourt
pacman -S yaourt
# 安装iso镜像工具
pacman -S cdrtools
常用指令
# 移除缓存的安装包
pacman -Scc
# 查看ip地址
ip addr
# 如果想使用 ifconfig 或 netstat,安装以下工具
pacman -S net-tools
# 列举安装软件
pacman -Q
# 卸载
pacman -R pack_name
# 移除安装以及相关依赖
pacman -Rs pack_name
# 安装
sudo pacman -S pack_name
# 删除单个软件包,保留其全部已经安装的依赖关系
sudo pacman -R pack_name
sudo pacman -Rs pack_name # 除指定软件包,及其所有没有被其他已安装软件包使用的依赖关系
sudo pacman -Ss pack_name # 查找软件
# 清空并且下载新数据
sudo pacman -Sc
# 升级所有软件包
sudo pacman -Syu
# 搜索已安装的包
sudo pacman -Qs
# 从 AUR 安装软件包
yay -S package
# 清理缓存
yay -Sc
# 删除包
yay -Rns package
# 升级所有已安装的包
yay -Syu
# 打印系统统计信息
yay -Ps
# 检查安装的版本
yay -Qi package