目录

Debian自用设置

系列 - Use Debian

用于系统重装后的快速设置。

参考Users and groups

  1. -d: 指定用户文件夹, -m: 如果文件夹不存在就新建, -s: 指定用户登录时使用指定shell

    bash

    sudo useradd -d /home/<UserName> -m -s /bin/bash <UserName>
    如有必要
    递归更改用户文件夹的权限: sudo chown -R <UserName>:<UserGroup> /home/<UserName>
  2. 修改用户密码:

    bash

    sudo passwd <UserName>
  3. 检查所有用户cat /etc/passwd, 检查所有用户组cat /etc/group

  1. 更改sudoers文件权限:

    bash

    sudo chmod 644 /etc/sudoers
  2. 编辑/etc/sudoers, 在root ALL=(ALL:ALL) ALL下添加一行你的用户名 ALL=(ALL:ALL) ALL, 比如:

    text

    root ALL=(ALL:ALL) ALL
    <UserName> ALL=(ALL:ALL) ALL

bash

sudo passwd root

环境变量配置文件 中添加以下内容:

bash

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"

参考自定义bash提示符颜色

环境变量配置文件 中添加:

bash

export TIME_STYLE="+%Y-%m-%d %H:%M:%S"

输出示例:

bash

-rw------- 1 root root 4096 2022-05-28 20:00:00 .bash_history
提示
  1. ~/.ssh/authorized_keys文件中追加客户端的公钥内容, 然后更改权限:

    bash

    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
  2. 更改/etc/ssh/sshd_config文件内容:

    text

    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
  3. 重启SSH服务:

    bash

    sudo systemctl restart ssh.service
  4. 在防火墙关闭22端口, 放行自定义的SSH端口号。

/etc/apt/source.list中编辑镜像源。先使用http源 (将源中的https替换为http) 安装以下软件:

bash

sudo apt install apt-transport-https ca-certificates

之后再使用https源。

参考 Debian 全球镜像站清华大学开源软件镜像站使用帮助-Debian

参考 Official Archive Mirrors for Ubuntu清华大学开源软件镜像站使用帮助-Ubuntu

检测已安装的驱动: lspci -v。高版本的Linux内核已经自带了iwlwifi-ty-a0-gf-a0-59.ucode

下载驱动, 更多网卡驱动列表

安装:

bash

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 reboot

检测已安装的驱动: lspci -v

由于Linux内核 (kernel >= 5.9) 自带的rtw88对RTL8821CE兼容性极差, 驱动很快就会掉, 基本无法使用, 所以需要手动安装RTL8821CE无线网卡驱动。

  1. 电脑插入网线, 或者手机USB网络共享。

  2. 编辑/etc/modprobe.d/blacklist.conf, 添加:

    text

    blacklist rtw88_8821ce

    这样就禁用了内核自带的rtw88驱动。

  3. 从tomaspinho的GitHub仓库下载驱动。

  4. 执行命令:

    bash

    sudo apt install bc module-assistant build-essential dkms
    sudo m-a prepare
  5. cd到下载的驱动的目录, 执行以下命令:

    bash

    sudo ./dkms-install.sh
  6. 默认情况下, Linux可能会启用PCIe活动状态电源管理。这可能与该驱动程序冲突。编辑/etc/default/grub, 在GRUB_CMDLINE_LINUX_DEFAULT后添加pci=noaer, 比如:

    text

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=noaer"

    然后更新grub:

    bash

    sudo update-grub

    开机自检遇到某些报错时, 也可以在GRUB_CMDLINE_LINUX_DEFAULT后添加pci=noaer来解决, 这是一个在Stack Overflow常见的解决方案。

  7. 重启设备。

  1. 7-zip
  2. Android Platform Tools
  3. Aria2
  4. FFmpeg
  5. Google Chrome
  6. Hugo, 下载 hugo_extended
  7. Joplin
  8. LocalSend
  9. Lunacy
  10. Microsoft Visual Studio Code
  11. OBS Studio
  12. pot-app
  13. Rime
  14. Telegram
  15. VLC
  16. VirtualBox
  17. 百度网盘
  18. 小白羊网盘
  1. 首先确定待执行文件是否有可执行权限。
  2. 在任意位置右键新建一个链接到应用程序, 然后在应用程序标签下的命令里填入软件所在路径。
  3. 有的软件因为权限问题打不开软件, 可在路径后加上--no-sandbox
  4. 之后将这个配置好的.desktop文件移动到~/.local/share/applications/即可。

/usr/share/applications/中, 编辑要更改的软件的.desktop文件, 在Icon=后填入自定义的软件图标路径即可。

技巧
为防止以后误删该图标, 也可将图标放入/usr/share/pixmaps/文件夹下 (第三方图标都默认存放在这里), 然后在Icon=后接图片名称即可, 不用加文件后缀, 比如现在有文件/usr/share/pixmaps/PicGo.png, 在软件的.desktop文件写入Icon=PicGo即可。
  1. 提前在Windows中将需要的字体从C:/Windows/Fonts中复制出来, 放到C:/Users/<UserName>/Fonts中。

  2. 使用文件管理器(比如Dolphin)挂载Windows系统盘, 这时Windows系统盘根路径一般为/run/media/<UserName>/Windows/

  3. 在Linux中为Windows字体新建一个目录:

    bash

    sudo mkdir /usr/share/fonts/Windows
  4. 然后将Windows的字体文件复制过来:

    bash

    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
  5. 更多字体设置参考 字体

查看系统现在的拥塞控制算法:

bash

sysctl net.ipv4.tcp_congestion_control

查看系统可用的拥塞控制算法:

bash

sysctl net.ipv4.tcp_available_congestion_control

如果没有 bbr, 检查 BBR 的内核模块是否已加载:

bash

lsmod | grep bbr

手动加载 BBR 的内核模块:

bash

sudo modprobe tcp_bbr

编辑 /etc/sysctl.conf 或者 /etc/sysctl.d/99-sysctl.conf, 添加:

text

net.ipv4.tcp_congestion_control = bbr

还可以顺便改一下队列管理算法, 添加:

text

net.core.default_qdisc = cake

重启系统后, 检查:

bash

sysctl net.ipv4.tcp_congestion_control
sysctl net.core.default_qdisc