linux 发行版

 

参考

ubuntu

硬件配置

笔记本合盖不挂起

编辑/etc/systemd/logind.conf

取消注释并修改以下参数, 根据需要设为 ignore、suspend、lock、hibernate 或 poweroff

参数 含义
HandleLidSwitch 使用内置电池时,合盖行为
HandleLidSwitchExternalPower 使用外接电源时,合盖行为
HandleLidSwitchDocked 外接拓展坞链接显示器时,合盖行为
含义
suspend 挂起
lock 锁定
ignore 不动作
poweroff 关机
hibernate 休眠

重启服务使其生效

sudo systemctl restart systemd-logind

安全重启

当系统卡死时, 可通过内核级别的 SysRq 键安全重启

同时按住 Ctrl + Alt 不要放, 按一下 SysRq 键(或PrtSc)

依次按下R 键, E 键, I 键, U 键, S 键, B 键, 系统就会安全重启

系统管理

用户管理

  • 新建
adduser 新用户名
  • 增加sudo权限
adduser 新用户名 sudo
  • 关闭root密码
sudo nano /etc/sudoers

按实际用户名添加如下两行

用户名 ALL=(ALL:ALL) ALL
用户名 ALL=(ALL) NOPASSWD:ALL

更新源

同步sources.listsources.list.d 中列出软件源索引

sudo apt update

更新

sudo apt upgrade

目录语言转换

export LANG=en_US

xdg-user-dirs-gtk-update

export LANG=zh_CN

快捷指令

~/.bashrc追加

alias 新指令='原本指令'

生效

source ~/.bashrc
  • 示例, 添加clean快捷指令
alias update='sudo apt-get update && sudo apt-get upgrade -y'
alias clean="sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'"

GRUB

GRUB(GRand unified bootloader)是多操作系统启动程序, 可用于选择操作系统分区上不同内核, 也可用于向这些内核传递启动参数, 用来引导不同系统如windows、linux

linux常见引导程序包括LILO、GRUB、GRUB2

  • 双系统修复

编辑/etc/default/grub

修改内容如下

GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=10
GRUB_DISABLE_OS_PROBER=false

更新

sudo update-grub
  • 多硬盘启动

图形化管理工具 grub-customizer

sudo add-apt-repository ppa:danielrichter2007/grub-customizer

sudo apt-get install -y grub-customizer
  • 美化引导页面

下载主题包

/etc/default/grub添加

GRUB_THEME="/主题包路径/theme.txt"

# echo GRUB_THEME="/主题包路径/theme.txt" >> /etc/default/grub

更新

sudo update-grub

软件配置

回收站替代 rm

sudo apt-get install trash-cli

.bashrc.zshrc 添加快捷键

alias rm='trash-put'
alias rl='trash-list'
alias rcl='trash-empty'

更新

source .bashrc

# 或
source .zshrc
  • 回收站路径

~/.local/share/Trash/files

wget

  • 下载到指定目录
# 会自动创建路径
wget -P 路径 URL
  • 下载到指定目录指定文件名
# 若路径未创建会报错
wget URL -O 路径/文件名
  • 设置代理
wget -e http_proxy=127.0.0.1:7890 路径

deb包

  • 程序包缓存文件已损坏
sudo rm -rf /var/lib/apt/lists/*
  • 转换rpm到deb
sudo apt-get install -y rpm alien

sudo alien -d [package].rpm &

sudo dpkg -i [package].deb

消除双图标

xprop | grep WM_CLASS

此时鼠标会变成一个十字准星, 点击已经打开应用界面

WM_CLASS(STRING) = "信息1", "信息2"

然后在该应用.desktop文件末尾添加

StartupWMClass=信息2

卸载软件

# 查找安装包名
dpkg -l *软件相关字段*

sudo apt-get --purge remove 包名

VM

  • 安装驱动
sudo apt-get install build-essential linux-headers-$(uname -r)
  • 启动错误解决

Problem with VMWare Workstation Pro in Fedora

# 根据当前 VMware 版本选择对应的 branch, 此处以 17.5.x 为例
wget https://github.com/mkubecek/vmware-host-modules/archive/workstation-17.5.1.tar.gz
tar -zxvf workstation-17.5.1.tar.gz
cd vmware-host-modules-workstation-17.5.1

tar -cf vmmon.tar vmmon-only
tar -cf vmnet.tar vmnet-only

sudo cp -v vmmon.tar vmnet.tar /usr/lib/vmware/modules/source/
sudo vmware-modconfig --console --install-all
  • 卸载
sudo vmware-installer -u vmware-workstation

virtual

# ubuntu 24.04
wget https://download.virtualbox.org/virtualbox/7.1.6/virtualbox-7.1_7.1.6-167084~Ubuntu~noble_amd64.deb

zsh

  • 安装
sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
  • 插件
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
  • 修改配置文件 ~/.zshrc
# 末尾追加
plugins=(git z extract zsh-syntax-highlighting zsh-autosuggestions)
source $ZSH_CUSTOM/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
source $ZSH_CUSTOM/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

配置生效

source ~/.zshrc
  • 设置默认shell
sudo chsh -s $(which zsh)

注销当前用户重新登录

centos

系统管理

更新源

sudo rm -rf /etc/yum.repos.d/*

# 使用阿里云 Vault 镜像
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-7.repo

sudo yum clean all && yum makecache

防火墙

# 查看状态
systemctl status firewalld.service

# 关闭
systemctl stop firewalld.service

# 永久关闭
systemctl disable firewalld.service

网卡

  • 文件位置
/etc/sysconfig/network-scripts
# 网卡类型, 一般是Ethernet, 还有其他如bond, bridge
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"

# 获取IP地址方式
# static/none 静态手工配置; dhcp 动态获取
BOOTPROTO="static"

# 设置默认路由, 若为yes则可通过IPADDR和PREFIX两个参数来设置网关
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"

# eth表示真实物理网卡, ens表示虚拟网络网卡
NAME="eth0"

# 通用唯一识别码, 若vmware克隆虚拟机无法启动网卡可去除此项
UUID="f1a9eae1-1ec0-4ef5-823a-7d9e9b804194"

# 系统逻辑设备名
DEVICE="eth0"

# 选择开机启动时是否激活网卡设备
ONBOOT="yes"

# 设置网卡对应IP地址, 网络服务启动后会自动将该地址配置到网卡上
IPADDR=192.168.137.2

# IP对应网关(默认路由), 若主机是多网卡设备, 该参数只能在一个网卡配置文件里面出现
GATEWAY=192.168.137.1

# 主DNS, 优先于/etc/resolv.conf中设置DNS服务器地址
DNS1=192.168.137.1

# 子网掩码
NETMASK=255.255.255.0

软件

python

sudo yum install -y gcc zlib-devel bzip2-devel readline-devel sqlite-devel libffi-devel wget

wget https://www.python.org/ftp/python/3.10.13/Python-3.10.13.tgz
tar -xvf Python-3.10.13.tgz
cd Python-3.10.13

# 配置并安装到 /usr/local/python3
./configure --prefix=/usr/local/python3 --enable-optimizations
sudo make && sudo make install

# 建立软链接
sudo ln -sf /usr/local/python3/bin/python3 /usr/bin/python3
sudo ln -sf /usr/local/python3/bin/pip3 /usr/bin/pip3

docker

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
sudo yum makecache fast && sudo yum install -y docker-ce docker-ce-cli containerd.io

sudo systemctl start docker && sudo systemctl enable docker

# 将当前用户加入 docker 组(免 sudo 运行)
if [ "$USER" != "root" ]; then
  sudo usermod -aG docker $USER
  newgrp docker
fi

# 配置镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
EOF
sudo systemctl daemon-reload && sudo systemctl restart docker

manjaro

系统

换源与系统更新

  • 添加国内源
# 交互式选择中国镜像并测速
sudo pacman-mirrors -i -c China -m rank
  • 设置中文社区仓库

编辑/etc/pacman.conf, 末尾添加

[archlinuxcn]

SigLevel = Optional TrustAll
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
  • 更新
sudo pacman -Syyu
  • 清除无用包
sudo pacman -R $(pacman -Qdtq)
  • 更新失败解决
rm /var/lib/pacman/db.lck
  • 依赖错误解决, 使用 -dd跳过所有检测
sudo pacman -Syudd

yay

sudo pacman -S yay
  • 配置aur源
yay --aururl "https://aur.tuna.tsinghua.edu.cn" --save
  • 安装软件
yay -S --noconfirm visual-studio-code-bin flameshot grub-customizer vlc
  • 卸载
yay -Rns
  • 安装本地包

下载配置文件

yay -G 包名
  • 修改PKGBUILD

修改PKGBUILD中source为本地地址, 需为http地址(可用python -m http.server)

source=("microsoft-edge-stable_${pkgver}-${pkgrel}_amd64.deb::https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_${pkgver}-${pkgrel}_amd64.deb")

替换为其他URL

source=("microsoft-edge-stable_${pkgver}-${pkgrel}_amd64.deb::http://localhost:8000/microsoft-edge-stable_96.0.1054.62-1_amd64.deb")

修改sha256sums与本地文件或网络文件一致

  • 编译
makepkg
  • 安装

生成xxx.pkg.tar.xz

sudo pacman -U xxx.pkg.tar.xz

安装deb

yay -S debtap

sudo debtap -u

# 转换deb
sudo debtap xxxxxx.deb

sudo pacman -U xxxxxxz.zst

软件配置

文件管理器

  • 查看当前文件管理器
xdg-mime query default inode/directory
  • 设置默认文件管理器

安装vscode后, 文件管理器会被修改为vscode, 可重新设置

xdg-mime default org.gnome.Nautilus.desktop inode/directory

VM

# 查看版本
sudo uname -r

# 选择对应版本
sudo pacman -S virtualbox

yay -S virtualbox-ext-oracle
sudo modprobe vboxdrv

中文输入法

  • 安装fcitx
sudo pacman -S --noconfirm fcitx5 fcitx5-qt fcitx5-gtk fcitx5-qt4 fcitx5-chinese-addons fcitx5-configtool fcitx5-material-color fcitx5-pinyin-moegirl fcitx5-pinyin-zhwiki
  • 配置
sudo nano /etc/profile
export XIM="fcitx"
export XIM_PROGRAM="fcitx"
export XMODIFIERS="@im=fcitx"
export GTK_IM_MODULE="fcitx"
export QT_IM_MODULE="fcitx"
sudo nano ~/.xinitrc
export LC_CTYPE=zh_CN.UTF-8

重启

anaconda

echo "export PATH=$HOME/anaconda3/bin:$PATH">>~/.bashrc

source ~/.bashrc

向日葵

yay -Sy sunloginclient

systemctl start runsunloginclient.service

vscode

  • 终端乱码

vscode 设置中添加

"terminal.integrated.fontFamily": "NotoSansMono Nerd Font"

gedit

sudo pacman -Syyu libvoikko hspell nuspell hunspell aspell

树莓派

配置

开机连接wifi

/boot下新建wpa_supplicant.conf

country=GB
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
    ssid="WiFi名字不能有中文"
    psk="WiFi密码"
    # 替换成数字, 数字越大代表优先级越高
    priority=1
}

# 可添加多个network, 会按照priority值依次连接

修改密码

su passwd pi

# 输入新密码

换源

编辑 /etc/apt/sources.list, 用以下内容取代

deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui