博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ubuntu14.04升级的道与术
阅读量:2121 次
发布时间:2019-04-30

本文共 1812 字,大约阅读时间需要 6 分钟。

ubuntu14.04升级的道与术

14.04升级到16.04问题记录

中秋节前夕,手痒把电脑升级到 16.04,不出所料,升级不顺利,过程中提示n多dpkg错误,重启后电脑显示了一条硬盘挂在信息了提示,然后 停在那里了,对于linux使用本身就半吊子,只能搜索各位前辈的分享,一步一步解决了。

没有想象的那么坏

这条信息其实是提示硬盘的文件系统都还正常,Ctrl+Alt+F2是可以进入登录页面的,输入用户名和密码,遇到如下提示:

apt-config:error while loading shared libraries:libzstd.os.1:cannot open shared object file:No such fie or directory

破解升级不顺之道:wget+dpkg来开路,尽快让apt-get正常工作,它可以自动解决大部分升级和库依赖问题

apt-get也不能用了,只能 通过wget寻找软件包,解决 软件依赖问题,走的弯路很多,最后总算找到规律,大部分库可以通过https://packages.ubuntu.com/xenial/

找到对应的 软件连接,wget下载之后dpkg i来安装。但解决依赖感觉很复杂。靠手工跟大海捞针的感觉一样。经过了九牛二虎之力,通过升级libc、libc++,最后成功了安装了apt,这是apt-get也可以使用了。
也可以下载软件包,然后make install来安装,不过每个安装包可能都需要做config,需要仔细阅读README之类的提示文件,所以作罢。

加快升级完成之术:依靠apt-get来帮忙找出问题在哪里

运行apt-get update一下:哗啦啦出现了一大堆warning,都是 is confugred multiple times in /etc/apt/sources.list:36 and /etc/apt/sources.list.d/lava2.list:2,说明Ubuntu 16.04 镜像的 apt 源存在重复现象,lava2是本地配置的文件,暂时禁止掉lava的 配置源。

在更新 就出现了一个很深的坑:
unmet dependency
from click import commands
从语法上看是python缺少一个 软件包,但是搜了几个方案都不奏效。没有啥办法,继续用wget+dpkg去解决自动化解决不了的依赖,解决几个就尝试一下apt-get upgrade方法,最后程序就自动跑下去,继续安装了。

后记

apt-get upgrade之后有提示 autoremove,本着软件洁癖的想法,autoremove一把。我的还是了The following packages have been kept back:跟了一堆软件包。根据查找的 提示apt-get -u dist-upgrade,用apt-get强制将这些软件升降级并自动解决软件依赖。

如果安装了virtualbox,升级后需要再对virtualbox做一次升级,一般就没有问题了,
sudo apt-get -reinstall virtualbox-dkms && sudo apt-get install libelf-dev
有时候会报错,告诉你VERR_PDM_DEVHLPR3_VERSION_MISMATCH之类的错误,只需要升级扩展包:
sudo apt-get --reinstall install virtualbox-ext-pack。
至此,我的ubuntu升级暂时告一段落。

pip升级问题

在使用pip install后,会提醒sudo pip install –upgrade pip,但你真的做了之后,pip命令就fail了,包括默认pip(python2.7)和pip3(python3.5)。我搜索了一下,最后参考如下博文

https://blog.csdn.net/qq_38522539/article/details/80678412

sudo vi /usr/bin/pip3(pip)原文:from pip import main 修改后:from pip._internal import main

虽然pip还有warning但都正常使用了,这个warning暂时没有解决。

你可能感兴趣的文章
如何针对业务做DB优化
查看>>
程序猿都该知道的MySQL秘籍
查看>>
Eclipse全面提速小技巧
查看>>
前端程序员必知的30个Chrome扩展
查看>>
memcached分布式实现原理
查看>>
怎么成为架构师
查看>>
40个重要的HTML 5面试问题及答案
查看>>
在Java中如何高效判断数组中是否包含某个元素
查看>>
设计模式总结
查看>>
什么时候可以使用Ehcache缓存
查看>>
Java核心知识点-JVM结构和工作方式
查看>>
Java编程中“为了性能”一些尽量做到的地方
查看>>
Java并发编程:线程池的使用
查看>>
redis单机及其集群的搭建
查看>>
Java多线程学习
查看>>
检查Linux服务器性能
查看>>
Java 8新的时间日期库
查看>>
Chrome开发者工具
查看>>
Java工程师成神之路
查看>>
如何在 Linux 上自动设置 JAVA_HOME 环境变量
查看>>