大学生自述恋爱全过程,对象竟然是。。。。

2024-03-09 18:30

本文主要是介绍大学生自述恋爱全过程,对象竟然是。。。。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.命运的齿轮开始转动

2006年,作为一个清澈且愚蠢的大学生的我,某天在学校的图书馆里偶然发现了一本关于Linux操作系统的书籍。就像一个少年无意间在阁楼发现了一本魔法禁书,我不可避免的对Linux系统产生了浓厚的兴趣:它可以根据个人需求定制软件,甚至可以从源代码开始编译软件!

然而与Linux的邂逅伊始,困难重重:那本书上介绍的Linux发行版是在当时已经稍显过时的Red Hat 9.0,而在2006年,IDE接口的硬盘已经被淘汰,SATA硬盘成为主流,但是它并不支持SATA硬盘。 

于是某天下午,我开始了行动。跑到学校的打印店买了三张RH9.0的光盘,放进光驱开始安装。原谅我这一生如履薄冰——安装过程中提示无法识别电脑的SATA硬盘。经过一系列操作,我发现解决方法一是通过Grub for DOS加载新版本的initrd.img和vmlinuz来进行引导,二是使用新版本的Fedora Core。

人生苦短,何妨一试。我从第一种方法开始了尝试,经过长达一周的不懈探索,我成功学会了如何通过硬盘引导来安装操作系统,掌握了一项新技能。

2.大方承认吧,您最爱的操作系统!

随着对Linux了解的深入,了解到红帽公司已经改变了产品路线。对于我这种个体户来说,Fedora Core系列是最佳选择。而我的电脑它是一位双属性战士:同时搭载了Windows XP和Fedora。

2.1 是时候出发了!

彼时彼刻,我经常泡在国内各种Linux论坛上,了解到了许多其他的Linux发行版:SUSE、Mandriva、Debian、Ubuntu和Gentoo等,他们各具特色,其中就属SUSE最得我心。

后来微博出现了,我关注了SUSE的母公司Novell,并参加了他们举办的「我与SUSE Linux的故事」活动。我把我的故事写出来后,并且成功获得了奖品——一张OpenSUSE 10光盘。(得意)

恰逢此时,Ubuntu母公司Canonical为了推广Ubuntu Linux,在全球范围内免费赠送Ubuntu光盘。而我自然秉持着免费的东西没有不要的道理,便操持着自己三脚猫的英语填写了申请。两周后,我收到了从荷兰阿姆斯特丹寄来的光盘。

继Ubuntu全球免费送光盘活动之后,SUN公司也跟着卷起来了。我当然也没有错过白嫖一份光盘的机会。(炫耀)

虽然现在这些光盘被我放在书架上吃灰,但也证明了我的青春。而我将继续着我的Linux系统折腾之旅。

2.2 对不起,我染上Linux了

安装过Mandrive、Debian和Ubuntu这三个版本后,我始终觉得自己的Linux水平达到了一个瓶颈,明明都是自己认识的文字,为什么组合起来就看不太懂了呢?

抱着解决这个问题的目的,开始在网上冲浪。我在linuxsir论坛上遇到了Gentoo Linux。他原来是FreeBSD的大佬,玩腻了FreeBSD系统后,转战到了Linux阵营。在Linux阵营以deb和rpm包管理机制为主流的大环境下,他独树一帜地采用了portage树进行包管理,同时操作系统采用滚动升级的方式。但由于安装过程比较麻烦,在国内,Gentoo Linux一直属于小众的发行版本。

3.我宣布,Gentoo Linux是我真爱

与采用deb和rpm包管理的Linux发行版不同,一般来说,用户直接下载iso刻盘安装即可完成安装。但Gentoo并不是这样。Gentoo官网提供了LiveCD(称为mini CD)、Stage3和portage等多种安装方式。安装的方法为通过miniCD启动基本系统。虽说是miniCD,但启动后还是有图形界面,桌面管理器为XFCE,一个轻量级的Linux桌面管理工具。

Stage3其实就是官网将最新的Gentoo Linux系统的根目录去除/dev、/proc等目录的压缩包。通过miniCD进入系统后,需要设置网络、DNS和rsync地址,对硬盘进行分区格式化,再解压Stage3,将Stage3解压到硬盘的根目录,再将portage解压到/usr目录。在miniCD中,系统的根目录为虚拟目录,需要将系统的根目录切换到硬盘中,通过chroot命令来切换。

Stage3不包括编译好的内核,因此需要先到Gentoo官网下载内核源码到本地编译。相对于Redhat的在线包管理工具yum,Gentoo的包管理工具为emerge。第一次下载内核源码并手动编译完内核后,重启系统时出现了kernel panic的问题。经排查后发现是没有将SATA控制器驱动编译进内核导致无法启动。一番搜索后,我发现可以将miniCD中的/proc/.config.gz这个当前内核的配置文件提取出来编译内核。命令为emerge genkernel。编译安装完内核后,修改grub.conf文件才能进入基本系统。这个系统看起来还是有点low,因为与用户交互只有命令行,没有图形界面,需要自己安装窗口管理器。

在Linux的世界里,我曾漫无目的地漂泊,直到我遇见了Gentoo Linux。在使用Fedora的时候,虽然知道Linux可以手动编译源代码,但因为现成的rpm包总是方便快捷,所以我总是选择直接安装。然而,当我接触到Gentoo时,一条简单的命令就可以编译源码包,那种从无到有的成就感让我沉醉。

(质疑Gentoo Linux,理解Gentoo Linux,成为Gentoo Linux.jpg)

4.如今的我

距我初次接触Linux已经过去18年了。这18年里经历了很多事,这些事说来话长,但是不说也罢。总之现在我进入了麒麟软件从事国产Linux操作系统工作。

工作中使用的Linux发行版也从Debian到SUSE,再到中标麒麟、银河麒麟。这18年里,Linux世界发生了巨大的变化,Ubuntu在南非富翁马克·沙特尔沃思的顶力支持下,从默默无闻一跃成为全球知名Linux发行版本;IT巨头IBM公司以470亿美元收购了世界上最大的开源软件Redhat;SUSE公司几经易主;华为公司开发的开源Linux发行版OpenEuler成为国内众多商业Linux发行版的上游版本;国内Linux发行版犹如雨后春笋一般不断冒出;Linux与开源软件在全球经济中占据着越来越重要的地位。

虽然现在的个人桌面市场上Windows和Mac操作系统还占据着主流地位,但近5年来随着越来越多的国内软件厂商基于Linux平台开发软件,Linux桌面的软件生态正在不断地完善。我从2020年12月开始,一直只使用银河麒麟单系统作为日常办公系统,见证了腾讯、阿里、百度、亿图、搜狗等国内软件大厂针对国产Linux发行版开发原生软件;这些软件的用户体验也在不断地与Windows版本相接近。

最后希望更多的人可以使用银河麒麟桌面操作系统,星星之火可以燎原。在不远的将来,银河麒麟桌面操作系统一定会进入千家万户。

from 黄仕伟

这篇关于大学生自述恋爱全过程,对象竟然是。。。。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/791577

相关文章

JSON字符串转成java的Map对象详细步骤

《JSON字符串转成java的Map对象详细步骤》:本文主要介绍如何将JSON字符串转换为Java对象的步骤,包括定义Element类、使用Jackson库解析JSON和添加依赖,文中通过代码介绍... 目录步骤 1: 定义 Element 类步骤 2: 使用 Jackson 库解析 jsON步骤 3: 添

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

k8s部署MongDB全过程

《k8s部署MongDB全过程》文章介绍了如何在Kubernetes集群中部署MongoDB,包括环境准备、创建Secret、创建服务和Deployment,并通过Robo3T工具测试连接... 目录一、环境准备1.1 环境说明1.2 创建 namespace1.3 创建mongdb账号/密码二、创建Sec

Java如何通过反射机制获取数据类对象的属性及方法

《Java如何通过反射机制获取数据类对象的属性及方法》文章介绍了如何使用Java反射机制获取类对象的所有属性及其对应的get、set方法,以及如何通过反射机制实现类对象的实例化,感兴趣的朋友跟随小编一... 目录一、通过反射机制获取类对象的所有属性以及相应的get、set方法1.遍历类对象的所有属性2.获取

gradle安装和环境配置全过程

《gradle安装和环境配置全过程》本文介绍了如何安装和配置Gradle环境,包括下载Gradle、配置环境变量、测试Gradle以及在IntelliJIDEA中配置Gradle... 目录gradle安装和环境配置1 下载GRADLE2 环境变量配置3 测试gradle4 设置gradle初始化文件5 i

springboot健康检查监控全过程

《springboot健康检查监控全过程》文章介绍了SpringBoot如何使用Actuator和Micrometer进行健康检查和监控,通过配置和自定义健康指示器,开发者可以实时监控应用组件的状态,... 目录1. 引言重要性2. 配置Spring Boot ActuatorSpring Boot Act

mac安装redis全过程

《mac安装redis全过程》文章内容主要介绍了如何从官网下载指定版本的Redis,以及如何在自定义目录下安装和启动Redis,还提到了如何修改Redis的密码和配置文件,以及使用RedisInsig... 目录MAC安装Redis安装启动redis 配置redis 常用命令总结mac安装redis官网下

Jenkins中自动化部署Spring Boot项目的全过程

《Jenkins中自动化部署SpringBoot项目的全过程》:本文主要介绍如何使用Jenkins从Git仓库拉取SpringBoot项目并进行自动化部署,通过配置Jenkins任务,实现项目的... 目录准备工作启动 Jenkins配置 Jenkins创建及配置任务源码管理构建触发器构建构建后操作构建任务

java中VO PO DTO POJO BO DO对象的应用场景及使用方式

《java中VOPODTOPOJOBODO对象的应用场景及使用方式》文章介绍了Java开发中常用的几种对象类型及其应用场景,包括VO、PO、DTO、POJO、BO和DO等,并通过示例说明了它... 目录Java中VO PO DTO POJO BO DO对象的应用VO (View Object) - 视图对象

Kibana的安装和配置全过程

《Kibana的安装和配置全过程》Kibana是一个开源的数据分析和可视化平台,它与Elasticsearch紧密集成,提供了一个直观的Web界面,使您可以快速地搜索、分析和可视化数据,在本文中,我们... 目录Kibana的安装和配置1.安装Java运行环境2.下载Kibana3.解压缩Kibana4.配