Debian和Debian系Linux发行版那些事儿
- 2024-12-12 23:25:52
- 丁国栋
- 原创 124
a Debian package maintainer script "deb-systemd-invoke restart procps.service").
有时某个包会随着其他包的安装被升级或卸载,为了避免某些包随着其他包升级,可以使用apt-mark hold <package name> 命令防止某个包被自动安装、升级或删除。
sed -i.bak -r 's/(deb|security).debian.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list && apt update -y
在选择 Ubuntu 版本时,尽可能选择 LTS,因为非 LTS 的版本,可能会出现无法升级到更高版本的问题。如果不幸遇到了这个问题,可以尝试将 /etc/apt/sources.list 和 /etc/os-release 两个文件中的代号降级到低版本的第一个 LTS 代号,例如从 lunar 改为 jammy。
注:修改 /etc/apt/sources.list 代号:sudo sed -i 's/lunar/jammy/g' /etc/apt/sources.list
注:在 /etc/os-release 文件中,需要修改 VERSION_CODENAME 和 UBUNTU_CODENAME ,sudo sed -i 's/lunar/jammy/g' /etc/os-release。
这个可以解决以下两类问题:
- 执行 apt update 报告 The repository 'http://security.ubuntu.com/ubuntu lunar-security Release' no longer has a Release file.
- 执行 do-release-upgrade 报告 An upgrade from 'lunar' to 'noble' is not supported with this tool.
问题:在ssh连接到远程计算机后,更改了当前用户的默认shell,比如从bash改为zsh。再次ssh到该计算机,发现当前shell还是bash,并不是zsh。
回答:如果足够细心就会发现,如果ssh远程计算机时需要输入密码,那么短时间内第二次ssh时就不需要输入密码了。因此已经有一个“缓存机制”存在。检查后发现 ~/.ssh/sockets/
目录下确实有该连接的socket,删除后就好了。另外vscode也有类似的机制,如果在使用vscode SSH remote 之后修改了默认shell,再次打开vscode SSH remote后shell依然是修改前的shell,这时需要删除remote 主机用户目录下的.vscode-server 目录。
--