Debian自用设置

系列 - Start Use Debian

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

参考Users and groups

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

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

    1
    
    sudo passwd username
    
  3. 检查所有用户cat /etc/passwd, 检查所有用户组cat /etc/group

  1. 更改sudoers文件权限:

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

    1
    2
    
    root ALL=(ALL:ALL) ALL
    username ALL=(ALL:ALL) ALL
    
1
sudo passwd root
环境变量配置文件

/etc/envirnomentshell无关, 所以无法使用脚本或通配符展开。此文件仅接受variable=value键值对格式。

其他文件的加载顺序: /etc/profile>/etc/bash.bashrc>~/.profile=~/.bash_profile>~/.bashrc

省事的做法
如果是自己的机器, 有root权限, 可以直接将相应aliases添加到系统级环境变量配置文件/etc/profile/etc/bash.bashrc中, 对机器上的所有用户生效。

创建~/.bash_aliases文件, 输入以下内容:

1
2
3
4
5
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'

~/.bashrc中添加以下内容以加载~/.bash_aliases文件:

1
2
3
if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

手动source ~/.bashrc以在当前终端生效, 或者在~/.profile中添加:

1
2
3
4
5
if [ "$BASH" ]; then
  if [ -f ~/.bashrc ]; then
    . ~/.bashrc
  fi
fi

这样每次用户登录时, ~/.bashrc文件会被自动加载生效。

参考自定义bash提示符颜色。效果如下:

普通用户:

20:34:50 username@Debian /home/username
$

root用户:

20:34:50 root@Debian /root
#

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

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

输出示例:

1
drwxr-xr-x 9 username       username       4096 2022-05-24 23:12:12 username
注意
如果不使用SSH连接到设备, 可以不设置, sudo systemctl status ssh.service确定设备的SSH服务没有运行即可。
  1. 参考设置 SSH 通过密钥登录, 将客户机的公钥内容追加到服务器~/.ssh/authorized_keys文件中, 再更改权限:

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

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    
    Include /etc/ssh/sshd_config.d/*.conf
    Port 12345                                   # SSH端口号
    LoginGraceTime 3s                            # 若用户未成功登录, 服务器将在此时间后断开连接
    MaxAuthTries 4                               # 每个连接最大允许的认证次数
    MaxSessions 4                                # 最大允许保持多少个未认证的连接
    PermitRootLogin yes                          # 允许root用户登录
    AuthenticationMethods publickey              # 指定登录方式为使用公钥验证
    PubkeyAuthentication yes                     # 允许使用公钥验证登录
    PasswordAuthentication no                    # 禁用密码登录
    PermitEmptyPasswords no                      # 禁用空密码登录
    ChallengeResponseAuthentication no           # 双重认证需要
    UsePAM no                                    # 插入式验证模块, 比如双重认证
    PrintLastLog yes                             # 显示上次登录的信息
    TCPKeepAlive yes                             # 确保联机正常, server和client中的任何一端离线, 马上断开
    X11Forwarding no                             # 禁用远程执行GUI程序支持
    PrintMotd no                                 # 禁用登录后提示信息
    Banner none                                  # 禁用远程登录后提示信息
    Compression no                               # 网速快, 没必要压缩
    ClientAliveInterval 60                       # 服务器没有从客户端收到消息后的超时时间
    ClientAliveCountMax 3                        # 客户端超时次数
    UseDNS no                                    # 禁用反向DNS解析
    AcceptEnv LANG LC_*                          # 允许客户端传递区域设置环境变量
    Subsystem sftp /usr/lib/openssh/sftp-server  # sftp
    AllowUsers root username                     # 允许登录的用户名
    
    • ClientAliveInterval乘以ClientAliveCountMax, 即超时60s*3=180s后ssh断开连接。
    • 如果仍然有登录后提示, 可以清空相应文件> /etc/motd
  3. 重启SSH服务:

    1
    2
    3
    
    sudo systemctl restart ssh.service
    或者
    /etc/init.d/ssh restart
    
  4. 在防火墙关闭22端口, 放行自定义的SSH端口号。

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

1
sudo apt install apt-transport-https ca-certificates

之后再使用https源。

参考Debian 全球镜像站, 选择相应镜像源, 比如:

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

点此展开镜像源

#默认注释了源码镜像以提高 apt update 速度, 如有需要可自行取消注释

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free

#deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free

#deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free

#deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free

deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free

#deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free

不太推荐使用官方源:

点此展开官方源

#默认注释了源码镜像以提高 apt update 速度, 如有需要可自行取消注释

deb https://deb.debian.org/debian bullseye main contrib non-free

#deb-src https://deb.debian.org/debian bullseye main contrib non-free

deb https://deb.debian.org/debian-security/ bullseye-security main contrib non-free

#deb-src https://deb.debian.org/debian-security/ bullseye-security main contrib non-free

deb https://deb.debian.org/debian bullseye-updates main contrib non-free

#deb-src https://deb.debian.org/debian bullseye-updates main contrib non-free

deb https://deb.debian.org/debian bullseye-backports main contrib non-free

#deb-src https://deb.debian.org/debian bullseye-backports main contrib non-free

参考Official Archive Mirrors for Ubuntu, 选择相应镜像源, 比如:

清华大学开源软件镜像站使用帮助-Ubuntu

点此展开镜像源

#默认注释了源码镜像以提高 apt update 速度, 如有需要可自行取消注释

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse

#deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse

#deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse

#deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

#deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

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

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

安装:

1
2
3
4
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, 添加:

    1
    
    blacklist rtw88_8821ce
    

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

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

  4. 执行命令:

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

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

    1
    
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=noaer"
    

    然后更新grub:

    1
    
    sudo update-grub
    

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

  7. 重启设备。

  1. Aria2
  2. Chrome
  3. Clash For Windows, Clash for Windows Chinese
  4. Joplin
  5. Telegram
  6. VS Code
  7. OBS Studio
  8. Rime
  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字体新建一个目录:

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

    1
    2
    
    sudo cp /run/media/UserName/Windows/Users/UserName/Fonts/* /usr/share/fonts/custom
    sudo cp /run/media/UserName/Windows/Users/UserName/Fonts/* /usr/share/fonts/custom