linux 发行版

 

参考

ubuntu

硬件

合盖不挂起

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

sudo service systemd-logind restart

重启

同时按住 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.list 和sources.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

双系统修复
sudo gedit /etc/default/grub

修改内容如下

GRUB_TIMEOUT_STYLE="false"

更新

sudo grub-mkconfig -o /boot/grub/grub.cfg
多硬盘启动

图形化管理工具 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

软件

回收站

sudo apt-get install trash-cli

.bashrc 或 .zshrc 添加快捷键

alias rm='trash-put'
alias rl='trash-list'
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

wget --debug --inet4-only https://codeload.github.com/mkubecek/vmware-host-modules/tar.gz/refs/heads/workstation-17.5.1

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/*

sudo curl -o /etc/yum.repos.d/Cent操作系统-Base.repo http://mirrors.aliyun.com/repo/Cent操作系统-7.repo

sudo yum clean all && yum makecache &&  yum -y update

防火墙

# 查看状态
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* libffi-devel wget

sudo wget 'https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tar.xz'

sudo tar -xvf Python-3.8.0.tar.xz -C /usr/bin

# 检测依赖;定位Python安装位置
cd /usr/bin/Python-3.8.0/

./configure --prefix=/usr/bin/python3

# 编译安装
sudo make && make install

# 修改环境变量
sudo sed -i "s#bin#bin:/usr/bin/python3/bin#g" ~/.bash_profile

# 执行以下命令使对配置修改生效
sudo source ~/.bash_profile

docker

sudo yum remove -y docker docker-common docker-selinux docker-engine

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

sudo curl -o /etc/yum.repos.d/docker-ce.repo https://repo.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo

sudo sed -i 's#download.docker.com#repo.huaweicloud.com/docker-ce#' /etc/yum.repos.d/docker-ce.repo

sudo yum makecache fast && yum install -y docker-ce

sudo systemctl start docker && systemctl enable docker

if $USER != "root";then
  # 添加docker用户组
  sudo groupadd docker
  # 将登陆用户加入到docker用户组中
  sudo gpasswd -a $USER docker
  # 更新用户组
  sudo newgrp docker
fi

sudo cat > /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
EOF

sudo systemctl restart docker

# 安装docker-compose
sudo curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

sudo yum update -y && yum install epel-release -y

manjaro

系统

添加国内源
sudo gedit /etc/pacman.d/mirrorlist

添加到所有源开头

Server = http://mirrors.aliyun.com/archlinux/$repo/os/$arch
设置中文社区仓库
sudo gedit /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 vim /etc/profile
export XIM="fcitx"
export XIM_PROGRAM="fcitx"
export XMODIFIERS="@im=fcitx"
export GTK_IM_MODULE="fcitx"
export QT_IM_MODULE="fcitx"
sudo vim ~/.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