因为自己脑子有问题把系统搞炸了,在朋友帮助下进行了一个重装系统。简记过程。
关于分区
因为自己之前是有把/home单独分区的,所以重装的时候不必(也不能!)抹去/home下的文件。把/home分区标记为ext4分区不进行格式化即可;把/也就是root、swap格式化掉。
关于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_ALL和LANGUAGE两个值是缺省并有相关报错。用locale-gen并不好使,最后解决策略是在/etc/environment中添加:
1 | LANGUAGE=en_US.UTF-8 |
(也许)重启了一下电脑,再运行locale命令,缺省值就不缺了,同时gnome-terminal就能运行了。
关于apt
在/etc/apt/sources.list里面改一下源,记得去掉cdrom相关的,留下差不多这些:
1 | deb http://deb.debian.org/debian/ bullseye main non-free contrib |
然后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 | curl -fsSL https://git.io/rime-install bash |
具体配置因为保留了上一次的,今天没做,不记了。
安装Virtual Box
1 | apt install fasttrack-archive-keyring |
apt加源(参见前文):
1 | deb https://fasttrack.debian.net/debian-fasttrack/ bullseye-fasttrack 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的源。