美文网首页
ubuntu 20.04升级22.04的那些事

ubuntu 20.04升级22.04的那些事

作者: 陌上枯草风絮烟雨凉 | 来源:发表于2023-11-28 21:09 被阅读0次

    原本系统是连接了客户VPN后再端开后,整个ubuntu会断网,每次都要重启很麻烦;萌生升级的想法。

    1、系统更新sop

    1)确认本地ubuntu系统信息

    使用命令lsb_release -a,这里是我升级后的。查询后可以升级为22.04,于是开始动手。

    ubuntu@ubuntu:~$ lsb_release -a

    No LSB modules are available.

    Distributor ID: Ubuntu

    Description: Ubuntu 22.04.3 LTS

    Release: 22.04

    Codename: jammy

    2)本地软件更新

    本地更新需要确认本地的所有软件都是最新的版本:

    sudo apt-get update

    sudo apt-get upgrade 

    sudo apt-get dist-upgrade -y

    在更新的时候出现报错:

    部分索引文件下载失败。如果忽略它们,那将转而使用旧的索引文件。

    有个软件的PPA一直在报错,是之前安装的Bcompare软件,之前因为一些骚操作,导致public key有问题,显示没有Release文件供数据更新。

    cd /etc/apt/sources.list.d/

    直接删掉了相关的***.list以及***.list.save

    再去更新就圆满完成!

    接下来,使用命令删除所有不需要的包:

    sudo apt-get autoremove

    接下来,使用命令清理APT包缓存:

    sudo apt-get clean

    之后reboot命令重启系统更新所有应用

    3)执行升级检测命令

    查看可升级的版本:

    sudo do-release-upgrade -c

    sudo do-release-upgrade -d

    执行后出现报错:

    正在检查新版 Ubuntu 没有可用的 LTS 开发版本 升级到最新的 非 LTS 开发版本需要设置

    这个是因为本地设置问更新LTS版本,设置Prompt的值为normal即可:

    sudo gedit /etc/update-manager/release-upgrades

    release-upgrades

    将文件中的值设置为normal即可;这里有个疑问为啥在23年11月检索不能升级为22.04的LTS版本呢?

    接下来就是升级的过程,时不时需要操作下“确认”,时间还好。

    4)重启内核配置

    重启第一次加载,卡在了kernel阶段,报错:

    Ubuntu - end Kernel panic - not syncing : VFS: Unable to mount root fs on unknown-block(0,0)

    感觉是内核的问题,于是重启ubuntu,因为我的电脑是UEFI启动,于是同时按下shift和F8进入grub引导界面,选择ubuntu高级,选择启动的内核为非recovery的新内核即可;系统可正常开机。

    信息check升级成功!

    2、更新后适配

    1)关于python

    开机后拉取项目代码,出现报错:

    /usr/bin/env: ‘python’: No such file or directory

    我本地不可能没有安装python,于是想确认python的位置:

    which python //但是居然报错了,看提示于是接着输入

    which python3 //我用的python一直都是python3但是之前可能可以连接到python的路径,新版本不行

    那问题应该是很清晰了,版本更新后对于解释器有一定的要求,每一次用python都改一下:

    将运行的程序开头的声明 #! /usr/bin/env python 改为 #! /usr/bin/env python3 ;

    这个方法不现实,项目脚本很多,于是想到了另一个方法软连接:

    sudo ln -s /usr/bin/python3 /usr/bin/python

    果然再去执行repo init就没有报这个问题,但是出现了新的报错

    ModuleNotFoundError: No module named ‘formatter‘

    这问题看上去是python接口出现了一些偏差,百度发现Google已经官方解决了这个问题:

    help: switch from formatter module to textwrap (303282) · Gerrit Code Review (googlesource.com) 

    参考提交本地修改下subcmds/help.py ,就可以解决问题!


    发现更新后很多东西会有问题,因此陆陆续续会加更一些:

    a、libtinfo.so.5找不到

    编译报错:

    /vendor/qcom/non-hlos/qcom_tools/LLVM/12.1.3.0/bin/clang: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory

    说是loading不到libtinfo.so瞅着就是环境的问题,find -name 找一下库的路径,然后连接过去就行:

    sudo ln -s /lib/x86_64-linux-gnu/libncurses.so.6 /usr/lib/libtinfo.so.5

    这里我百度的时候看是搜索的ibncurses.so.6,连接过去的,但是我本地搜索libtinfo也是能找到6的版本,感觉连接过去应该也可以的。

    fine的结果

    相关文章

      网友评论

          本文标题:ubuntu 20.04升级22.04的那些事

          本文链接:https://www.haomeiwen.com/subject/usrxgdtx.html