安装更新upgrade导致ubuntu崩溃

安装更新导致ubuntu崩溃

  • 前言
  • uuid编不过,导致的崩溃

记录一些ubuntu崩溃的过程。
目前只有一个,以后遇到都放在这里,以提醒自己。

前言

如果从10000年看现在的linux,不是说不完美,而是糟透了。
linux的版本号,本质是glibc的版本的号。可是,linux还存在许多不能动的东西!
例如kernel,例如,本文中提到的一些东西:uuid! font
所以,一个经验是,永远也不要用upgrade指令。
今天我就掉这个坑里了。因为以为只更新一个模块,结果,整个更新了。
ubuntu 可以说是版本管理最差的一个,但也是人们最喜欢的一个发行版。
所以,有必要,记一下这些我们踩过的坑。
10000年后人类,可以看看他们的前辈是生活在一个什么样的上下文中。
特别是,linux体系,为了解决版本不能对齐的问题,不是去解决问题,而是发明新的轮子来重复这一问题,最著名的,当然就是KVM的代表作:docker .

uuid编不过,导致的崩溃

正在编kernel-shark,需要qt6,
装好qt6后,cmake过程有错,但我没在意,可是链接时果然出错了。
注意,本文,只是把问题放在这,不是解决这个问题,因为我马上要重装机器了!

ubuntu2204vm:/data/shark/kernel-shark/build$ cmake ..
-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - doneproject: Kernel Shark: (version: 2.3.1)-- Found TraceEvent: /usr/local/lib64/libtraceevent.so
-- Found TraceFS: /usr/local/lib64/libtracefs.so
-- Found TraceCmd: /usr/local/lib64/libtracecmd.so
-- Found JSONC: /usr/lib/x86_64-linux-gnu/libjson-c.so
-- Found Doxygen: /usr/bin/doxygen (found version "1.9.1") found components: doxygen dot
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2")
-- Checking for module 'glut'
--   No package 'glut' found
-- Found GLUT: /usr/lib/x86_64-linux-gnu/libglut.so
fc-list: /usr/local/lib/libuuid.so.1: no version information available (required by /lib/x86_64-linux-gnu/libfontconfig.so.1)

make

[ 39%] Building CXX object src/CMakeFiles/kshark-gui.dir/KsDualMarker.cpp.o
[ 40%] Building CXX object src/CMakeFiles/kshark-gui.dir/KsWidgetsLib.cpp.o
[ 41%] Building CXX object src/CMakeFiles/kshark-gui.dir/KsTraceGraph.cpp.o
[ 42%] Building CXX object src/CMakeFiles/kshark-gui.dir/KsTraceViewer.cpp.o
[ 43%] Building CXX object src/CMakeFiles/kshark-gui.dir/KsMainWindow.cpp.o
[ 43%] Building CXX object src/CMakeFiles/kshark-gui.dir/KsPluginsGUI.cpp.o
[ 44%] Building CXX object src/CMakeFiles/kshark-gui.dir/KsCaptureDialog.cpp.o
[ 45%] Building CXX object src/CMakeFiles/kshark-gui.dir/KsQuickContextMenu.cpp.o
[ 46%] Building CXX object src/CMakeFiles/kshark-gui.dir/KsAdvFilteringDialog.cpp.o
[ 47%] Linking CXX shared library ../../lib/libkshark-gui.so.2.3.1
[ 47%] Built target kshark-gui
[ 48%] Building CXX object src/CMakeFiles/kernelshark.dir/kernelshark.cpp.o
[ 49%] Linking CXX executable ../../bin/kernelshark
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libfontconfig.so.1: undefined reference to `uuid_generate_random@UUID_1.0'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libfontconfig.so.1: undefined reference to `uuid_copy@UUID_1.0'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libfontconfig.so.1: undefined reference to `uuid_parse@UUID_1.0'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libfontconfig.so.1: undefined reference to `uuid_unparse@UUID_1.0'
collect2: error: ld returned 1 exit status
make[2]: *** [src/CMakeFiles/kernelshark.dir/build.make:116: ../bin/kernelshark] Error 1
make[1]: *** [CMakeFiles/Makefile2:274: src/CMakeFiles/kernelshark.dir/all] Error 2
make: *** [Makefile:146: all] Error 2

然后,做了许多,无法解决
网上查了一下,
sudo apt-get update
sudo apt-get upgrade libfontconfig1
然后就出了严重问题。
这个upgrade几乎把整个ubuntu全面升级到2404去了。
然后,就全线崩溃了。
因为,uuid体系,全面不认之前的体系了。。。
包括硬盘相关的操作,也不能执行的,因为硬盘的guid,工具无法与kernel沟通了!
服了。
然后,我的计划,一边是重装系统,一边,还是想办法在windows下来编。

以前我在风河时,一直不懂为什么我维护的gcc,gdb,binutils这些toolchain,一定要伴随一套cygwin的版本,有一次我按发布手册删除了那部分,客户不干了。老板找我好一顿确认,虽然我是按手册来的,但客户说一直都有。

那时我才明白,为什么国外的人,为什么基本都在cygwin干活,他们是贼精啊。
这个在管理学上,也是有个说法的。就是要想信那些处于冲突焦点处的第三方。而不要信双方的信誓旦旦的誓言。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/888623.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探索前端世界的无限可能:玩转Excel文件

🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…

MySQL两阶段提交目的

阶段提交的过程 事务执行阶段:事务开始执行,InnoDB执行SQL语句的具体操作,如数据修改、删除等,并将这些操作记录在内存中。写入Redo Log(准备阶段):事务即将提交时,首先将事务相关的…

前端项目使用gitlab-cicd+docker实现自动化部署

GitLab CI/CD 是一个强大的工具,可以实现项目的自动化部署流程,从代码提交到部署只需几个步骤。本文将带你配置 GitLab CI/CD 完成一个前端项目的自动化部署。 前言 为什么使用cicddocker? 目前我们公司开发环境使用的shell脚本部署&#…

丢垃圾视频时间检测 -- 基于状态机的实现

文章目录 OverviewKey PointsPseudo-code Overview 需要考虑的方面 状态定义和转换条件时序约束空间约束异常处理 状态机的设计需要考虑的场景: 没有人人进入人携带垃圾人离开但垃圾留下垃圾消失异常情况(检测失败、多人多垃圾等) Key P…

easyexcel 导出日期格式化

1.旧版本 在新的版本中formate已经被打上废弃标记。那么不推荐使用这种方式。 2.推荐方式 推荐使用另外一种方式【 Converter 】代码如下,例如需要格式化到毫秒【yyyy-MM-dd HH:mm:ss SSS】级别 创建一个公共Converter import com.alibaba.excel.converters.Conv…

DApp开发前端框架选择:React还是Vue?

在区块链DApp开发中,前端框架的选择对用户体验和开发效率至关重要。React和Vue作为两大主流前端框架,各自拥有广泛的开发者基础和丰富的生态支持。那么在DApp开发中,该如何选择适合自己的框架呢?下面我们来比较一下,看…

6. 一分钟读懂“抽象工厂模式”

6.1 模式介绍 书接上文,工厂方法模式只能搞定单一产品族,遇到需要生产多个产品族时就歇菜了。于是,在需求的“花式鞭策”下,程序员们再次绷紧脑细胞,创造出了更强大的抽象工厂模式,让工厂一次性打包多个产品…

gulp应该怎么用,前端批量自动化替换文件

背景 最近公司准备把所有项目中用到的国际化相关的key规范化,原因是: 一直以来公司的app和web端 在针对相同的需求以及相同的国际化语言,需要设置不同的两份国际化文件,难以维护旧版的国际化文件中,存在的大量值重复&#xff0c…

WordPress阅读文章显示太慢的处理

有两种方式, 1. 完全静态化。 尝试了几个插件,都未成功。算了放弃了。因为感觉到实际使用也不方便。 2. cache缓存 用了WP Super Cache测试了一下,打开过一次后,文章秒开,也算达到了要求。

Nginx 缓存 DNS 解析问题

网上看到一些文章,觉得很不错,这里记录一下。 一、缓存问题的解决方案 1 每次更改 DNS 解析都重载 Nginx 重载 Nginx 一定会刷新缓存。 2 使用 Nginx 的 resolver 我们在使用 Nginx 过程中,有时需要根据 Url 传值动态选择 host 进行代理转…

UML箭线图的理解和实践

在软件开发的世界里,UML(统一建模语言)作为一种标准化的建模语言,扮演着举足轻重的角色。UML类图更是软件开发设计和架构过程中的核心工具,它不仅能帮助开发者明确系统中的类及其关系,还能为后续的代码实现…

hive 行转列

行转列的常规做法是,group bysum(if())【或count(if())】 建表: CREATE TABLE table2 (year INT,month INT,amount DOUBLE );INSERT INTO table2 (year, month, amount) VALUES(1991, 2, 1.2),(1991, 3, 1.3),(1991, 4, 1.4),(1992, 1, 2.1),(1992, 2, 2.2),(1992…

Poetry 使用

Poetry poetry 是一个包管理和打包的工具。 poetry 将所有的配置都放置在一个 pyproject.toml 文件中,这些配置包括:依赖管理、构建、打包、发布。 Windows 环境 下载 python 3.12.7 ,默认安装 C:\Users\fernando\AppData\Roaming\Python\Python312 …

WPF+MVVM案例实战与特效(三十二)- 封装一个Appconfig 操作类(保留注释)

文章目录 1、概述2、ConfigHelper 的功能3、代码实现1、ConfigHelper.cs 代码2、帮助类使用4、总结1、概述 在开发 WPF 应用程序时,配置文件(如 App.config )是存储应用程序设置、连接字符串和其他运行时信息的常用方式。然而,直接操作这些配置文件可能会涉及到复杂的 XML…

【NoSQL数据库】Hbase基本操作——数据库表的增删改查

目录 一、Hbase原理 二、HBase数据库操作 三、遇到的问题和解决方法 一、Hbase原理 HBase的数据模型: 行键 时间戳 列族:contents 列族:anchor 列族:mime “com.cnn.www” T9 Achor:cnnsi.com”CNN” T8 Achor:…

【ETCD】ETCD用户密码认证

目录 概述 特殊用户和角色 root用户 root角色 用户操作 角色操作 启用身份验证 使用etcdctl进行身份验证 使用TLS通用名称 概述 etcd 2.1中增加了身份验证功能。etcd v3 API对身份验证功能的API和用户界面进行了轻微修改,以更好地适应新的数据模型。本指南…

解决RAG召回内容多、相似性高、区分度不够的问题

在做RAG应用时,经常会遇到召回内容多、相似性高、区分度不够的问题。特别是在一些规范建模标准化特别强的文档中,如数据中台建模是命名规范下,往往在相同的表名中,相差的一个字符就是完全不同的数据。如,1d、1m分别代码…

王道考研编程题总结

我还在完善中,边复习边完善(这个只是根据我自身总结的) 一、 线性表 1. 结构体 #define MaxSize 40 typedef struct{ElemType data[MaxSize];int length; }SqList 2. 编程题 1. 删除最小值 题意 :从顺序表中删除…

Vue3技术开发,使用纯CSS3动手制作一个3D环绕的相册展示效果,支持传入任意图片.3D轮播相册的组件

主要讲述封装一个3D轮播相册的组件&#xff0c;效果图如下&#xff0c;仅仅传入一个图片的数组即可&#xff0c;效果如下&#xff1a; 使用Vue3技术开发&#xff0c;支持传入任意张数的图片。 使用方法 <template><Swiper :list"list" /> </templat…

本地运行打包好的dist

首先输入打包命令 每个人设置不一样 一般人 是npm run build如果不知道可以去package.json里去看。 打包好文件如下 命令行输入 :npm i -g http-server 进入到dist目录下输入 命令cmd 输入 http-server 成功