Arch Linux 折腾记

Arch Linux 安装及配置

安装

对小白很友好的安装教程:https://www.bilibili.com/video/av81146687

有基础的请自行查看 ArchWiki 上最新的安装教程

虚拟机

VMware UEFI引导

默认选择第一个进入安装页面:

ip link 查看互联网设备

ip addr 查看当前 ip 地址信息

image-20200304151254501

  • 开启 ntp 服务更新系统时间:
1
timedatectl set-ntp true

磁盘分区

  • 查看当前磁盘设备:
1
fdisk -l

image-20200304151648520

  • 分区说明

分区 说明
/boot 引导分区
/ 主分区
swap 交换空间,相当于虚拟内存
  • 进行磁盘分区
1
cfdisk # 一个图形化的分区工具, 操作简单

选择gpt

设置各分区

执行write操作后

  • 进行磁盘格式化
1
2
3
4
mkfs.fat -F32 /dev/sda1 # 引导分区必须格式化为FAT32格式
mkfs.ext4 /dev/sda3 # 系统主分区格式化
mkswap /dev/sda2 # 交换空间格式化
swapon /dev/sda2 # 启用交换空间

image-20200304152851864

修改安装源顺序

1
vim /etc/pacman.d/mirrorlist

将国内源置于最顶部

挂载分区

1
2
3
mount /dev/sda3 /mnt		# 挂载根目录
mkdir /mnt/boot # 创建引导目录
mount /dev/sda1 /mnt/boot # 挂载引导目录

image-20200304153829387

执行安装

1
pacstrap /mnt base linux linux-firmware # 安装Arch、linux、linux框架

安装完成

生成fstab文件

  • fstab 是用来存放文件系统的静态信息的文件,当系统启动的时候,系统会自动地从这个文件读取信息,并且会自动将此文件中指定的文件系统挂载到指定的目录。
1
genfstab -U /mnt >> /mnt/etc/fstab

进入系统进行配置

1
arch-chroot /mnt # 进入安装好之后的系统

image-20200304154337458

  • 设置时区
1
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  • 同步时间
1
hwclock --systohc
  • 安装相关基础软件
1
2
pacman -Sy # 更新安装源信息
pacman -S vim
  • 本地化
1
vim /etc/locale.gen

去除 en_US.UTF-8 UTF-8zh_CN.UTF-8 UTF-8 前面的 #

1
locale-gen

image-20200304155023590

1
2
3
vim /etc/locale.conf

LANG=en_US.UTF-8 # 设置系统语言为英语
  • 设置hosts
1
vim /etc/hostname

image-20200304155406391

  • 设置登录密码
1
passwd

image-20200304155434937

创建新用户

1
2
3
4
5
6
useradd -m xxx
passwd xxx
usermod -aG wheel,audio,video,optical,storage xxx
visudo
xxx ALL=(ALL) ALL
xxx ALL=(ALL)NOPASSWD:ALL

安装引导

1
2
3
4
5
6
7
8
pacman -S grub efibootmgr intel-ucode os-prober
# efibootmgr EFI启动需安装
# intel-ucode 或 amd-ucode
# os-prober 多系统需安装

mkdir /boot/grub

grub-mkconfig > /boot/grub/grub.cfg # 生成配置文件

image-20200304155753419

确认系统架构:

1
uname -m

确认系统架构

1
grub-install --target=x86_64-efi --efi-directory=/boot

安装grub

安装一些基础软件

1
pacman -S net-tools networkmanager dhcpcd openssh

退出重启

1
2
exit
reboot

安装结束

物理机

安装步骤同虚拟机,分区挂载视具体情况确定。

无线网络启用

1
2
3
4
pacman -S iw
ip link set wlp0s20f3 up # 开启网卡, 网卡名称视实际情况自行修改
nmcli dev wifi # 扫描无线网络
iw dev wlp0s20f3 scan | grep SSID # 扫描无线网络

桌面安装

该部分参考:

https://blog.csdn.net/ackjack_niuniu/article/details/12996987

https://www.cnblogs.com/kainhuck/p/10698671.html

1.安装sddm

1
pacman -S sddm sddm-kcm

2.开启sddm服务

1
systemctl enable sddm

3.安装KDE桌面

1
pacman -S plasma kde-applications

我的KDE桌面

1
pacman -S conky # 一个系统监控的工具

基础配置

中文字体及美化

1
2
3
4
5
6
# 安装字体
pacman -S wqy-zenhei wqy-microhei ttf-arphic-ukai ttf-arphic-uming

# 手动安装字体
# 把TTF字体复制到 /usr/share/fonts/TTF目录下
fc-cache -vf # 更新字体库

字体美化:

该图片源自百度贴吧

另外可从Windows中拷贝TTF字体:

1
C:/Windows/System32/Fonts

软件包相关配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# yay安装
pacman -S base-devel
git clone https://aur.archlinux.org/pakku.git
cd pakku
makepkg -si
# yaourt
pacman -S yaourt
# 图形化软件包管理
pacman -S pamac-aur

# 配置/etc/pacman.conf,文件末尾添加
[archlinuxcn]
SigLevel = Optional TrustAll
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch

安装配置输入法

https://zhuanlan.zhihu.com/p/74931620

KDE桌面环境

(需要archlinuxcn源)

  • 该方法现已有BUG,安装失败(2020-07-14)
1
2
sudo pacman -S fcitx-lilydjwg-git fcitx-sogoupinyin
sudo pacman -S kcm-fcitx
1
2
3
4
5
vim ~/.xprofile

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"

硬件相关

1
modprobe acpi-cpufreq

硬盘分区支持

1
2
3
4
# ntfs挂载支持
pacman -S ntfs-3g gvfs-mtp
# exfat格式化支持
pacman -S exfat-utils

显卡驱动

Intel wiki: https://wiki.archlinux.org/index.php/Intel_graphics_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
NVIDIA wiki: https://wiki.archlinux.org/index.php/NVIDIA_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

https://www.cnblogs.com/tonyc/p/7732119.html

1
pacman -S nvidia bbswitch optimus-manager-qt-kde 

蓝牙驱动

https://www.jianshu.com/p/b340992b06dc

1
2
3
4
sudo pacman -S bluez bluez-utils

systemctl start bluetooth.service
systemctl enable bluetooth.service

触摸板驱动

1
pacman -S xf86-input-synaptics # 笔记本触摸板驱动

摄像头

1
pacman -S cheese

多屏幕

wiki: https://wiki.archlinux.org/index.php/Multihead_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

配置声音

https://www.jianshu.com/p/43a03df9acb3
https://wiki.archlinux.org/index.php/Advanced_Linux_Sound_Architecture_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

1
2
3
pacman -S alsa-utils # 声卡驱动
pacman -S pavucontrol # 可视化声卡配置
pacman -S pulseeffects # 音效

使用PulseEffect调整全局音效: https://ywnz.com/linuxjc/3788.html

Linux音效软件 PulseEffects App 3.2.1:https://www.bilibili.com/video/av21958431/

电源管理

https://www.jianshu.com/p/894d24567a70

https://wiki.archlinux.org/index.php/TLP_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

1
2
3
4
5
6
7
8
9
10
11
12
sudo pacman -S tlp tlp-rdw tlpui-git

sudo systemctl enable tlp.service
sudo systemctl enable tlp-sleep.service

# 屏蔽以下服务以避免冲突,并确保 TLP 的无线电设备切换选项的正确操作
sudo systemctl mask systemd-rfkill.service
sudo systemctl mask systemd-rfkill.socket

sudo tlp-stat -b # 显示电池信息

sudo vim /etc/tlp.conf # 配置文件路径

sudo配置

https://wiki.archlinux.org/index.php/Sudo_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

1
pacman -S sudo

常用软件

https://wiki.archlinux.org/index.php/List_of_applications_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

虚拟机

VMware Workstation

VirtualBox

Docker

https://wiki.archlinux.org/index.php/Docker_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

浏览器

1
2
3
pacman -S chromiun vivaldi opera opera-ffmpeg-codecs
yay -S flashplugin-focusfix # firefox的flash插件
yay -S google-chrome-beta

Office

1
2
sudo pacman -S wps-office-cn			# 安装WPS
sudo pacman -S wps-office-mui-zh-cn # 安装中文语言包

多媒体软件

1
2
3
4
5
6
7
8
9
10
11
12
pacman -S nomacs # 图片
pacman -S gimp # 图片编辑
pacman —S krita # 画板
pacman -S mypaint # 画图板
pacman -S mpv # 视频
pacman -S sox # 终端音频播放
pacman -S cmus # 终端音乐播放器
pacman -S handbrake handbrake-cli # 视频压缩转码
yay -S losslesscut # 视频剪切工具
pacman -S simplescreenrecorder # 录屏工具
pacman -S deepin-screen-recorder # deepin录屏工具
pacman -S deepin-screenshot # deepin录音工具

gimp

cmus

笔记

  • Typora

wine(放弃使用,体验极差)

https://www.jianshu.com/p/a49fe89ae0f6

https://taifua.com/ubuntu16-wine-tim.html

1
2
3
4
sudo pacman -S wine wine-mono wine_gecko

# 配置
env WINEPREFIX="$HOME/.deepinwine/Deepin-TIM" winecfg
1
sudo pacman -S playonlinux

远程桌面

RealVNC

https://blog.csdn.net/cc1969281777/article/details/100116496

1
/usr/bin/vnclicense -add VKUPN-MTHHC-UDHGS-UWD76-6N36A

解压缩

1
pacman -S p7zip rar zip unzip

启动器

1
2
yay -S utools
pacman -S latte-dock

同步软件

微力同步:http://www.verysync.com/

Onedrive上传工具:https://www.moerats.com/archives/1006/

密码保存

Enpass: https://www.enpass.io/

1
pacman -S enpass-bin

远程终端连接

1
2
3
4
5
yaourt -S asbru-cm-git
yay -S termius
pacman -S putty

wget www.hostbuf.com/downloads/finalshell_install_linux.sh

其他软件

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
# wxHexEditor
pacman -S wxhexeditor
# sublime
yay -S sublime-text-dev
# vscode
yay -S vistual-studio-code-bin
# ftp
pacman -S filezilla
# git可视化管理工具
pacman -S gitkraken
# GrubCustomizer
pacman -S grub-customizer
# KDE 分区管理器
pacman -S partitionmanager
# steam
pacman -S lib32-nvidia-utils steam
# nc
pacman -S gnu-netcat
# gem
pacman -S rubygems
# 密码爆破工具(需要安装mariadb)
pacman -S hydra
# mathpix # https://mathpix.com/
yay -S mathpix-snipping-tool
# DBeaver 数据库可视化管理工具
pacman -S dbeaver

gem sources --remove https://rubygems.org/
gem sources -a http://gems.ruby-china.com/

# screenkey
pacman -S screenkey
1
2
3
4
pacman -S flameshot # 截图工具
flameshot gui # 启动截图
pacman -S spectacle # 截图工具,可延时截图
pacman -S deepin-screenshot # 深度截图工具
1
2
3
4
5
peek # GIF录制工具
kolourpaint # 画图软件
zeal # API 帮助文档
kchmviewer # chm文档查看器
gitnote # 笔记
1
pacman -S fsearch-git # 文件搜索(类似everything)
fsearch

usb控制手机

https://www.iplaysoft.com/scrcpy.html

1
yay -S scrcpy
Scrcpy 的命令参数
关闭手机屏幕 scrcpy -S
限制画面分辨率 scrcpy -m 1024 (比如限制为 1024)
修改视频码率 scrcpy -b 4M (默认 8Mbps,改成 4Mbps)
裁剪画面 scrcpy -c 1224:1440:0:0 表示分辨率 1224x1440 并且偏移坐标为 (0,0)
多设备切换 scrcpy -s 设备ID (使用 adb devices 命令查看设备ID)
窗口置顶 scrcpy -T
显示触摸点击 scrcpy -t 在演示或录制教程时,可在画面上对应显示出点击动作
全屏显示 scrcpy -f
文件传输默认路径 scrcpy --push-target /你的/目录 将文件拖放到 scrcpy 可以传输文件,此命令指定默认保存目录
只读模式(仅显示不控制) scrcpy -n
屏幕录像 scrcpy -r 视频文件名.mp4.mkv
屏幕录像 (禁用电脑显示) scrcpy -Nr 文件名.mkv
设置窗口标题 scrcpy --window-title '异次元好棒!'
同步传输声音 可借助 USBaudio 这个开源项目实现,但仅支持 Linux 系统

使用 WIFi 连接手机

Scrcpy 使用 adb 与 Android 设备通讯,而 adb 本身是支持无线连接的。因此除了 USB 数据线之外,我们也能无线使用。前提是需要保证手机和电脑处于同一局域网 (连接到相同的 WiFi 路由器),步骤如下:

  1. 查询设备当前的 IP 地址 (设置 →关于手机→状态)
  2. 启用 adb TCP/IP 连接,执行命令:adb tcpip 5555,其中 5555 为端口号
  3. 拔掉你的数据线
  4. 通过 WiFi 进行连接,执行命令:adb connect 设备IP地址:5555
  5. 重新启动 scrcpy 即可
  6. 如果 WiFi 较慢,可以调整码率:scrcpy -b 3M -m 800,意思是限制 3 Mbps,画面分辨率限制 800,数值可以随意调整。
  7. 如需切换回 USB 模式,执行:adb usb

dwm

安装编译环境及依赖包:

1
pacman -S base-devel gcc make xorg xorg-xinit xorg-server xorg-apps 

安装dwm:

1
git clone https://git.suckless.org/dwm

安装st:

1
2
3
4
5
git clone https://git.suckless.org/st

wget https://st.suckless.org/patches/alpha/st-alpha-0.8.2.diff
# 打补丁:
patch < st-alpha-0.8.2.diff

配置启动文件:

1
echo "exec dwm" > ~/.xinitrc

桌面壁纸

1
2
pacman -S feh
echo "exec feh --bg-scale ./bg.jpg" >> ~/.xinitrc

开发环境安装

Java

JDK

JDK与OpenJDK不同,OpenJDK源代码不完整,且不包含部署功能,只包含最精简的JDK,

Oracle官网下载:

Java SE Development Kit 8u241: https://www.oracle.com/java/technologies/javase-jdk8-downloads.html

配置环境:

1
2
3
4
5
6
7
8
9
vim /etc/profile

# 根据解压的目录修改添加
export JAVA_HOME=/[path]/jdk1.8.0_241
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
# 配置字体反锯齿
export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=lcd'

Eclipse

MySQL

1
sudo pacman -S mysql

根据提示进行初始化操作:

image-20200309122605908

1
sudo mysqld --initialize --user=mysql --basedir=/usr --datadir=/var/lib/mysql

得到临时密码

image-20200309122832930

1
2
sudo systemctl start mysqld # 启动MySQL服务
mysql_secure_installation

Mariadb

1
sudo pacman -S mariadb

image-20200328172207737

1
2
3
sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
sudo systemctl start mysqld.service # 启动服务
sudo mysql_secure_installation

Redis

1
2
# 可视化管理工具
pacman -S redis-desktop-manager

PHP&Apache

https://wiki.archlinux.org/index.php/Apache_HTTP_Server_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

1
2
pacman -S httpd php php-apache
yay -S phpstorm # 最好自己去官网下载安装

Python

1
2
pacman -S python
pacman -S pycharm # 最好自己去官网下载安装

系统备份

1
pacman -S timeshift

https://www.jianshu.com/p/b03a51c682a5

系统软件

防病毒(无必要)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
pacman -S clamav clamtk

sudo freshclam # 更新病毒库
### 更新速度太慢,手动下载 ###
http://database.clamav.net/main.cvd
http://database.clamav.net/daily.cvd
http://database.clamav.net/bytecode.cvd
# 拷贝到 /var/lib/clamav 目录下
###

sudo systemctl start clamav-daemon
sudo systemctl enable clamav-daemon # 开启自动更新病毒库

# 进行扫描
$ clamscan myfile
$ clamscan -r -i /home
$ clamscan -r -i --exclude-dir='^/sys|^/proc|^/dev|^/lib|^/bin|^/sbin' /

优化管理

1
yay -S stacer
image-20200311125032644

常用防火墙配置

https://www.cnblogs.com/gavinpan/p/11220474.html

https://wiki.archlinux.org/index.php/Iptables_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

IPv4 防火墙

1
2
systemctl enable iptables
systemctl start iptables
1
2
3
4
5
6
7
8
9
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT #允许本地回环接口(即运行本机访问本机)
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #允许已建立的或相关连的通行
iptables -A OUTPUT -j ACCEPT #允许所有本机向外的访问
iptables -A INPUT -p tcp --dport 22 -j ACCEPT #允许访问22端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT #允许访问80端口
iptables -A INPUT -j REJECT #禁止其他未允许的规则访问
iptables -A FORWARD -j REJECT #禁止其他未允许的规则访问

iptables-save > /etc/iptables/iptables.rules #保存配置

IPv6 防火墙

1
2
systemctl start ip6tables
systemctl enable ip6tables
1
2
3
4
5
6
7
8
ip6tables -A INPUT -s ::1 -d ::1 -j ACCEPT
ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
ip6tables -A INPUT -p ipv6-icmp -j ACCEPT
ip6tables -A OUTPUT -j ACCEPT
ip6tables -A INPUT -j REJECT
ip6tables -A FORWARD -j REJECT

ip6tables-save > /etc/iptables/ip6tables.rules #保存配置

ip6tables -A INPUT -p ipv6-icmp -j ACCEPT

只有IPv6 icmp数据包可以经过网络传输时,SLAAC才可以正常工作。所以在要配置IPv6的计算机上,必须修改防火墙,允许ipv6-icmp数据包进入。

bash 优化

垃圾清理

https://blog.csdn.net/weixin_43968923/article/details/88768951

https://www.cnblogs.com/archer-yjun/p/11013306.html

清理系统中无用的包:(尽量保留 linux linux-headers 等重要软件包以防滚崩)

1
sudo pacman -R $(pacman -Qdtq)

清除已下载的安装包

1
sudo pacman -Scc

查看日志文件大小:

1
sudo journalctl --disk-usage

删除指定大小的日志文件:

1
sudo journalctl --vacuum-size=50M

删除崩溃日志:

1
sudo rm /var/lib/systemd/coredump/*

问题解决

invalid or corrupted package (PGP signature))

1
2
3
4
5
6
vim /etc/pacman.conf

修改或添加:
[archlinuxcn]
SigLevel = Never # ***
Server = http://mirrors.163.com/archlinux-cn/$arch

更新系统内核后无法进入系统

情况:upgrad linux (5.5.7.arch1-1 -> 5.5.8.arch1-1)

时间:2020-03-08

引导后提示:

1
2
3
4
5
6
Loading Linux linux ...
error: premature end of file /vmlinuz-linux.
Loading initial ramdisk ...
error: you need to load the kernel first.

Press any key to continue...

解决方案:

进LiveCD,挂载 //boot

1
arch-chroot /mnt # 进入系统

切换内核到LTS版本(临时)

1
pacman -S linux-lts linux-lts-headers

安装完成后,重启进入 grub 引导时按 e 进行编辑

1
2
3
4
# 原为 linux /vmlinuz-linux
linux /vmlinuz-linux-lts
# 原为 initrd /initramfs-linux.img
initrd /initramfs-linux-lts.img

F10 进入即可,

进入系统后发现独立显卡驱动无法正常工作,LiveCD 中尝试卸载当前内核发现:

1
2
:: removing linux breaks dependency 'linux' required by bbswitch
:: removing linux breaks dependency 'linux' required by nvidia

解决方法

卸载当前系列的包,重新安装最新版本:

1
2
3
4
pacman -R bbswitch nvidia
pacman -R linux
pacman -S linux
pacman -S nvidia bbswitch

重启即可

安装有NVIDIA驱动的可以在更新前先卸载,更新完内核后重新安装即可避免更新后出现上述情况

该方法于2020-03-15更新时有效

upgraded linux (5.5.8.arch1-1 -> 5.5.9.arch1-2)

1
2
3
sudo pacman -R bbswitch nvidia
sudo pacman -Syu
sudo pacman -S nvidia bbswitch

日常更新之更新出错

发生时间:2020-05-05

出现的问题:

pacman 更新失败、同时 linux 内核更新失败,pacman 丢失无法使用,重启后无法进入系统(无内核)

更新日志:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[2020-05-05T08:54:19+0800] [PACMAN] Running 'pacman -Su'
[2020-05-05T08:54:19+0800] [PACMAN] starting full system upgrade
[2020-05-05T08:54:35+0800] [ALPM] running '60-mkinitcpio-remove.hook'...
[2020-05-05T08:54:35+0800] [ALPM] running '70-dkms-remove.hook'...
[2020-05-05T08:54:35+0800] [ALPM] transaction started
[2020-05-05T08:54:35+0800] [ALPM] upgraded ca-certificates-mozilla (3.51.1-1 -> 3.52-1)
[2020-05-05T08:54:35+0800] [ALPM] upgraded libtool (2.4.6+42+gb88cebd5-11 -> 2.4.6+42+gb88cebd5-12)
[2020-05-05T08:54:35+0800] [ALPM] upgraded ipython (7.13.0-1 -> 7.14.0-2)
[2020-05-05T08:54:35+0800] [ALPM] upgraded nss (3.51.1-1 -> 3.52-1)
[2020-05-05T08:54:35+0800] [ALPM] upgraded lib32-nss (3.51.1-1 -> 3.52-1)
[2020-05-05T08:54:35+0800] [ALPM] upgraded libmicrohttpd (0.9.70-1 -> 0.9.70-2)
[2020-05-05T08:54:36+0800] [ALPM] upgraded linux (5.6.8.arch1-1 -> 5.6.10.arch1-1)
[2020-05-05T08:54:39+0800] [ALPM] upgraded linux-headers (5.6.8.arch1-1 -> 5.6.10.arch1-1)
[2020-05-05T08:54:39+0800] [ALPM] upgraded linux-lts (5.4.36-1 -> 5.4.38-1)
[2020-05-05T08:54:41+0800] [ALPM] upgraded linux-lts-headers (5.4.36-1 -> 5.4.38-1)
[2020-05-05T08:54:41+0800] [ALPM] transaction failed

猜测发生原因:更新了pacman ,而保存软件包的 /var/cache/pacman/pkg 文件夹被我之前整成软连接了,可能在此次更新过程中被当莫名删掉了,然后就找不到下载的安装包,导致后来的内核、pacman都安装失败(然而都已经卸载了。。。)

解决途径:

回到 Arch 安装盘,挂载分区和引导之后重新安装内核:

1
pacstrap /mnt linux 

删除 /var/lib/pacman/local/pacman-5.2.1-5 文件夹,然后再安装

1
pacstarp /mnt pacman

回滚操作

1
2
3
4
5
6
# 安装包缓存位置:
cd /var/cache/pacman/pkg

pacman -S downgrade

downgrade 软件名

卸载MySQL更换Mariadb

执行 sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql 时报错:

1
2
3
4
5
6
7
8
9
10
Installing MariaDB/MySQL system tables in '/var/lib/mysql' ...
2020-03-28 17:24:00 0 [ERROR] InnoDB: Invalid flags 0x4800 in ./ibdata1
2020-03-28 17:24:00 0 [ERROR] InnoDB: Plugin initialization aborted with error Data structure corruption
2020-03-28 17:24:01 0 [ERROR] Plugin 'InnoDB' init function returned error.
2020-03-28 17:24:01 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2020-03-28 17:24:01 0 [ERROR] Unknown/unsupported storage engine: InnoDB
2020-03-28 17:24:01 0 [ERROR] Aborting

Installation of system tables failed! Examine the logs in
/var/lib/mysql for more information.

解决方法:

1
sudo rm -rf /var/lib/mysql

plasma桌面特效失效

一次开机突然所有的桌面特效失效了,包括透明效果、动画等等

https://blog.csdn.net/u011054333/article/details/53653506

解决方法:

进入设置-显示与监控

进入混成器设置

重新选择渲染后端后应用即可解决。

pacman 报错

1
2
3
4
5
6
:: 正在同步软件包数据库...
错误:无法升级 core (无法锁定数据库)
错误:无法升级 extra (无法锁定数据库)
错误:无法升级 community (无法锁定数据库)
错误:无法升级 multilib (无法锁定数据库)
错误:无法升级 archlinuxcn (无法锁定数据库)

解决方法:

1
sudo rm  /var/lib/pacman/db.lck

Linux常用命令

磁盘测速

1
2
3
4
5
6
sudo hdparm -tT /dev/sdb2

/dev/sdb2:
Timing cached reads: 31986 MB in 1.99 seconds = 16111.27 MB/sec
Timing buffered disk reads: 1308 MB in 3.00 seconds = 435.61 MB/sec

修改卷标

https://linux.cn/article-1978-1.html

1
2
sudo blkid -c /dev/null # 查看卷标信息
sudo e2label /dev/sda3 Arch_home

视频合并

1
2
pacman -S mencoder
mencoder -ovc copy -oac mp3lame xxx.mkv xxxx.mkv -o out.mkv