每次在Ubuntu上折腾软件或者配置环境的时候,我总会先确认一下系统版本——这几乎成了我的强迫症。毕竟不同的Ubuntu版本支持的软件包和内核版本都不太一样,要是搞错了版本号,后面可能会遇到各种莫名其妙的兼容性问题。说起来,上周我帮朋友调试服务器时就遇到了这种情况,他信誓旦旦地说自己用的是Ubuntu 20.04,结果一查发现是18.04,难怪那些新特性都用不了…

最直接的版本查询方法
在终端里输入lsb_release -a
这个命令,你会看到类似这样的输出:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy
这个方法最靠谱,因为它直接从系统的LSB(Linux标准基础)信息中获取数据。不过有趣的是,有些精简版的Ubuntu可能没有预装lsb-release包,这时候你就得先用sudo apt install lsb-release
来安装它。
那些你可能不知道的替代方案
除了lsb_release,其实还有好几种方法可以查到系统版本。比如查看/etc/os-release
这个文件,它包含了更详细的系统信息:
cat /etc/os-release
这个文件里不仅有版本号,还能看到系统代号(比如”Jammy Jellyfish”这样可爱的名字)。我个人特别喜欢这个方法,因为文件里的信息格式特别规整,很适合用脚本来自动处理。
还有个更简单粗暴的方法——直接看/etc/issue
文件。不过这个方法有个小问题,它显示的信息可能会被系统管理员修改过,所以不是100%可靠。但如果你只是想快速看一眼,这个命令确实很方便:
cat /etc/issue
为什么版本信息这么重要?
你可能觉得,知道系统版本不就是个形式吗?但实际情况是,Ubuntu每个LTS版本(长期支持版)的支持周期、默认软件包版本都不一样。比如22.04默认用Python 3.10,而20.04用的是Python 3.8——这在开发时会造成很大的差异。
我最近就遇到一个案例:有个开发者写的脚本在22.04上运行得很好,但在20.04上就报错,就是因为用到了Python 3.10才有的特性。如果他能提前确认好系统版本,可能就会选择更兼容的写法了。
所以啊,下次登录Ubuntu系统时,不妨先花几秒钟确认下版本号,这可能会帮你省下不少调试的时间。毕竟在Linux世界里,知道自己在用什么系统,永远是解决问题的第一步。
最终解释权归天云资源博客网所有
评论列表 (7条):
加载更多评论 Loading...