Debian自用设置
用于系统重装后的快速设置。
1 用户
1.1 新建用户
-d: 指定用户文件夹,-m: 如果文件夹不存在就新建,-s: 指定用户登录时使用指定shell。sudo useradd -d /home/<UserName> -m -s /bin/bash <UserName>如有必要递归更改用户文件夹的权限:sudo chown -R <UserName>:<UserGroup> /home/<UserName>修改用户密码:
sudo passwd <UserName>检查所有用户
cat /etc/passwd, 检查所有用户组cat /etc/group。
1.2 用户加入sudoers
更改
sudoers文件权限:sudo chmod 644 /etc/sudoers编辑
/etc/sudoers, 在root ALL=(ALL:ALL) ALL下添加一行你的用户名 ALL=(ALL:ALL) ALL, 比如:root ALL=(ALL:ALL) ALL <UserName> ALL=(ALL:ALL) ALL
1.3 设置root用户的密码
sudo passwd root2 自定义终端
2.1 alias
在 环境变量配置文件 中添加以下内容:
alias ls="ls -F --color=auto"
alias la="ls -aF --color=auto"
alias ll="ls -alF --color=auto"
alias grep="grep --color=auto"
alias diff="diff --color=auto"
alias ch="> $HOME/.bash_history;history -c;clear"2.2 bash提示符颜色
参考自定义bash提示符颜色。
2.3 ls -l时间格式
在 环境变量配置文件 中添加:
export TIME_STYLE="+%Y-%m-%d %H:%M:%S"输出示例:
-rw------- 1 root root 4096 2022-05-28 20:00:00 .bash_history3 修改SSH设置
/etc/ssh/ssh_config是本机作为SSH客户端的配置,/etc/ssh/sshd_config是本机作为SSH服务器的配置。- 更多信息参考 https://man.openbsd.org/sshd_config
在
~/.ssh/authorized_keys文件中追加客户端的公钥内容, 然后更改权限:chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys更改
/etc/ssh/sshd_config文件内容:Include /etc/ssh/sshd_config.d/*.conf # 包含指定的配置文件, 可指定多个 Port 50022 # 指定 SSH 的端口号 LoginGraceTime 3s # 服务器在用户未成功登录后的一段时间内断开连接 PermitRootLogin prohibit-password # 禁用 root 用户的密码和键盘交互式身份验证 MaxAuthTries 4 # 每个连接允许的最大认证尝试次数。一旦失败次数达到该值的一半, 将记录额外的失败次数 MaxSessions 10 # 指定每个网络连接允许的最大开放的 shell, login 或 subsystem 会话数 PubkeyAuthentication yes # 启用公钥身份验证 AuthenticationMethods publickey # 指定必须成功通过公钥身份验证 PasswordAuthentication no # 禁用密码身份验证 PermitEmptyPasswords no # 禁用使用空密码字符串登录 KbdInteractiveAuthentication no # 禁用键盘交互式认证 UsePAM no # 禁用插入式验证模块, 比如双重认证 X11Forwarding no # 禁用 X11 转发 PrintMotd no # 禁止打印登录后的提示信息 PrintLastLog yes # 显示上次登录的信息 TCPKeepAlive yes # 指定系统应向对方发送 TCP keepalive 消息, 避免会话无限期挂起 Compression no # 不压缩服务器与客户端之间传输的数据 ClientAliveInterval 60 # 服务器发送消息来请求客户端的响应的超时时间间隔 ClientAliveCountMax 3 # 如果服务器发送客户端活动消息达到此阈值, 将断开与客户端的连接 MaxStartups 5:20:10 # 指定最大并发未经身份验证的连接数 AcceptEnv LANG LC_* # 允许客户端传递区域设置环境变量 Subsystem sftp /usr/lib/openssh/sftp-server # 配置外部子系统 (例如文件传输守护程序) AllowUsers root admin # 允许登录的用户名- 如果仍然有登录后提示, 可以清空相应文件
> /etc/motd。
- 如果仍然有登录后提示, 可以清空相应文件
重启SSH服务:
sudo systemctl restart ssh.service在防火墙关闭22端口, 放行自定义的SSH端口号。
4 软件镜像源
在/etc/apt/source.list中编辑镜像源。先使用http源 (将源中的https替换为http) 安装以下软件:
sudo apt install apt-transport-https ca-certificates之后再使用https源。
4.1 Debian
参考 Debian 全球镜像站 和 清华大学开源软件镜像站使用帮助-Debian
4.2 Ubuntu
参考 Official Archive Mirrors for Ubuntu 和 清华大学开源软件镜像站使用帮助-Ubuntu
5 网卡驱动
5.1 Intel AX210
检测已安装的驱动: lspci -v。高版本的Linux内核已经自带了iwlwifi-ty-a0-gf-a0-59.ucode。
安装:
tar -zxvf iwlwifi-ty-59.601f3a66.0.tgz
sudo cp iwlwifi-ty-59.601f3a66.0/iwlwifi-ty-a0-gf-a0-59.ucode /lib/firmware
sudo rm /lib/firmware/*.pnvm
sudo reboot5.2 RTL8821CE
检测已安装的驱动: lspci -v。
由于Linux内核 (kernel >= 5.9) 自带的rtw88对RTL8821CE兼容性极差, 驱动很快就会掉, 基本无法使用, 所以需要手动安装RTL8821CE无线网卡驱动。
电脑插入网线, 或者手机USB网络共享。
编辑
/etc/modprobe.d/blacklist.conf, 添加:blacklist rtw88_8821ce这样就禁用了内核自带的rtw88驱动。
从tomaspinho的GitHub仓库下载驱动。
执行命令:
sudo apt install bc module-assistant build-essential dkms sudo m-a preparecd到下载的驱动的目录, 执行以下命令:sudo ./dkms-install.sh默认情况下, Linux可能会启用PCIe活动状态电源管理。这可能与该驱动程序冲突。编辑
/etc/default/grub, 在GRUB_CMDLINE_LINUX_DEFAULT后添加pci=noaer, 比如:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=noaer"然后更新grub:
sudo update-grub开机自检遇到某些报错时, 也可以在
GRUB_CMDLINE_LINUX_DEFAULT后添加pci=noaer来解决, 这是一个在Stack Overflow常见的解决方案。重启设备。
6 应用
6.1 常用软件
- 7-zip
- Android Platform Tools
- Aria2
- FFmpeg
- Google Chrome
- Hugo, 下载
hugo_extended - Joplin
- LocalSend
- Lunacy
- Microsoft Visual Studio Code
- OBS Studio
- pot-app
- Rime
- Telegram
- VLC
- VirtualBox
- 百度网盘
- 小白羊网盘
6.2 应用列表
- 首先确定待执行文件是否有可执行权限。
- 在任意位置右键新建一个
链接到应用程序, 然后在应用程序标签下的命令里填入软件所在路径。 - 有的软件因为权限问题打不开软件, 可在路径后加上
--no-sandbox。 - 之后将这个配置好的
.desktop文件移动到~/.local/share/applications/即可。
6.3 应用图标
在/usr/share/applications/中, 编辑要更改的软件的.desktop文件, 在Icon=后填入自定义的软件图标路径即可。
/usr/share/pixmaps/文件夹下 (第三方图标都默认存放在这里), 然后在Icon=后接图片名称即可, 不用加文件后缀, 比如现在有文件/usr/share/pixmaps/PicGo.png, 在软件的.desktop文件写入Icon=PicGo即可。7 字体
提前在Windows中将需要的字体从
C:/Windows/Fonts中复制出来, 放到C:/Users/<UserName>/Fonts中。使用文件管理器(比如Dolphin)挂载Windows系统盘, 这时Windows系统盘根路径一般为
/run/media/<UserName>/Windows/。在Linux中为Windows字体新建一个目录:
sudo mkdir /usr/share/fonts/Windows然后将Windows的字体文件复制过来:
sudo cp /run/media/<UserName>/Windows/Users/<UserName>/Fonts/* /usr/share/fonts/Windows sudo cp /run/media/<UserName>/Windows/Users/<UserName>/Fonts/* /usr/share/fonts/Windows更多字体设置参考 字体。
8 TCP调优
8.1 BBR
查看系统现在的拥塞控制算法:
sysctl net.ipv4.tcp_congestion_control查看系统可用的拥塞控制算法:
sysctl net.ipv4.tcp_available_congestion_control如果没有 bbr, 检查 BBR 的内核模块是否已加载:
lsmod | grep bbr手动加载 BBR 的内核模块:
sudo modprobe tcp_bbr编辑 /etc/sysctl.conf 或者 /etc/sysctl.d/99-sysctl.conf, 添加:
net.ipv4.tcp_congestion_control = bbr运行 sysctl -p 应用更改。
8.2 TCP缓冲区
参考文章: 『败类教程』美西CN2跨网也能单线程500M且0重传!手把手教你TCP调优
但受运营商限制, 未能发挥理论作用, 效果不大。
查看当前 TCP 缓冲区大小:
sysctl net.ipv4.tcp_wmem
sysctl net.ipv4.tcp_rmem根据 TCP缓冲区计算器 临时设置 TCP 缓冲区大小:
sysctl -w net.ipv4.tcp_wmem="4096 16384 4194304"
sysctl -w net.ipv4.tcp_rmem="4096 131072 6291456"或将参数写入 /etc/sysctl.conf 以永久保存, 这是 Debian 的默认参数:
net.ipv4.tcp_wmem = 4096 16384 4194304
net.ipv4.tcp_rmem = 4096 131072 6291456