Eric Way's Personal Site

I Write $\sin(x)$ Not Tragedies

简记重装Debian 11

2021-11-06 Coding

  1. 1. 关于分区
  2. 2. 关于sudo
  3. 3. 关于locale
  4. 4. 关于apt
  5. 5. 关于fish
  6. 6. Python和JavaScript的版本管理
  7. 7. 安装rime
  8. 8. 安装Virtual Box
  9. 9. 中文字体
  10. 10. 结尾

因为自己脑子有问题把系统搞炸了,在朋友帮助下进行了一个重装系统。简记过程。

关于分区

因为自己之前是有把/home单独分区的,所以重装的时候不必(也不能!)抹去/home下的文件。把/home分区标记为ext4分区不进行格式化即可;把/也就是rootswap格式化掉。

关于sudo

原则上是要把用户加到sudo用户组里面去。注意这里,我的用户叫做eric,很有可能和你不一样。 首先(因为我们现在还不能用sudo

1
su

输入密码,然后

1
usermod -a -G sudo eric

这样按道理就好了。

1
groups

可以查看当前用户所在的组有哪些,现在应该是有sudo组的。 如果偏偏没有而且sudo还不能用并且你也不知道问题出在哪里,可以再进入su,然后

1
visudo

在这个文件里面加入一行

1
eric ALL=(ALL:ALL) ALL

保存。这样就可以用了。但最好还是要用加入sudo组的方式实现。 注意如果说找不到上述命令,可以考虑用绝对路径/sbin/usermod/sbin/visudo

关于locale

装完系统发现自己用不了gnome-terminal,用命令行试图唤起发现报错Locale not supported by C library.等等,感觉是locale有点问题。查阅发现:

1
locale -a

是查看当前启用的locale

1
locale

是查看所有locale相关的变量。 而sudo locale-gen 的功能:

1
2
3
locale-gen is a program that reads the file /etc/locale.gen and invokes
localedef for the chosen localisation profiles. Run locale-gen after
you have modified the /etc/locale.gen file.

本机运行locale命令,发现LC_ALLLANGUAGE两个值是缺省并有相关报错。用locale-gen并不好使,最后解决策略是在/etc/environment中添加:

1
2
3
LANGUAGE=en_US.UTF-8
LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8

(也许)重启了一下电脑,再运行locale命令,缺省值就不缺了,同时gnome-terminal就能运行了。

关于apt

/etc/apt/sources.list里面改一下源,记得去掉cdrom相关的,留下差不多这些:

1
2
3
4
deb http://deb.debian.org/debian/ bullseye main non-free contrib
deb http://security.debian.org/debian-security bullseye-security main contrib non-free
deb http://deb.debian.org/debian/ bullseye-updates main contrib non-free
deb-src http://deb.debian.org/debian/ bullseye-updates main contrib non-free

然后sudo apt update && sudo apt upgrade。 安装一些基本的包:sudo apt install git curl vim curl g++ clang fortune 。要是有其他要用的自己装。

关于fish

sudo apt install fish,然后chsh eric -s /usr/bin/fish设置成默认。相关配置因为我是重装,还保留着。

Python和JavaScript的版本管理

fish里面装pyenv我们用oh my fish。 安装oh my fish

1
curl https://raw.githubusercontent.com/oh-my-fish/oh-my-fish/master/bin/install  fish

然后 omf install pyenv。 JS的版本管理经朋友推荐我们用fnm,详见此处

1
curl -fsSL https://fnm.vercel.app/install  bash

安装rime

为了满足我对输入中文的需求,安装rime的必要性是不可忽略的。

1
2
3
curl -fsSL https://git.io/rime-install  bash
sudo apt install ibus-rime
ibus restart

具体配置因为保留了上一次的,今天没做,不记了。

安装Virtual Box

1
apt install fasttrack-archive-keyring

apt加源(参见前文):

1
2
deb https://fasttrack.debian.net/debian-fasttrack/ bullseye-fasttrack main contrib
deb https://fasttrack.debian.net/debian-fasttrack/ bullseye-backports-staging main contrib

安装:

1
sudo apt install virtualbox

不过这时候出了点问题,经朋友排查发现是linux-headers没装好。根据当前系统版本,搜索相关包:

1
sudo apt search linux-headers-5.10.0.8

安装:

1
sudo apt install linux-headers-5.10.0-8-amd64

重启下服务就好了:

1
sudo systemctl restart virtualbox.service

中文字体

中文字形有点毛病,默认加载的是旧的字形。 请看这里。 先装个思源黑体:

1
sudo apt install fonts-noto-cjk

手动调整优先级,将中文字形调整到日文字形之前。[3]/etc/fonts/conf.d//etc/fonts/conf.avail/ 下创建文件,例如 64-language-selector-prefer.conf,也可以修改或创建 ~/.fonts.conf或在~/.config/fontconfig/conf.d/创建后缀为.conf的文件(仅对该用户生效)。例如针对noto-fonts-cjk的规则,写入:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>sans-serif</family>
<prefer>
<family>Noto Sans CJK SC</family>
<family>Noto Sans CJK TC</family>
<family>Noto Sans CJK JP</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Noto Sans Mono CJK SC</family>
<family>Noto Sans Mono CJK TC</family>
<family>Noto Sans Mono CJK JP</family>
</prefer>
</alias>
</fontconfig>

结尾

这个故事告诉我们:不要用unstable的源。

This article was last updated on days ago, and the information described in the article may have changed.