0

0

我的 Linux 一万小时

星夢妙者

星夢妙者

发布时间:2025-05-28 08:54:16

|

961人浏览过

|

来源于php中文网

原创

这篇文章并不是一篇励志文,因为我在使用 linux 一万小时后并没有成为 linux 达人,甚至在很多方面,我连新手都算不上。我走过的这些弯路可以写成一本很有参考价值的反面教材。接下来,我将分享我在使用 linux 时的各种尝试和经历。

我的 Linux 一万小时在 Ubuntu 诞生之前,各种 Linux 发行版百花齐放。以包管理机制区分,可以分为两派:直接安装二进制可执行文件的和下载源码自行编译的,Gentoo 属于后者中的一个知名项目。为了让硬件性能发挥到极致,Gentoo 的 emerge 命令提供了许多编译参数供用户调整。从内核到日常使用的工具,都需要通过包管理工具自动下载源码并编译,这对于像我这样的 Linux 新手来说的确能学到不少东西。而且每次编译时,满屏幕的日志滚动非常酷,改用绿色文字就像在体验《黑客帝国》。

然而,这个机制有一个明显的缺点,有时做一些小事情都需要花很长时间编译大量的依赖包。而像我这样的强迫症患者,总觉得下一次编译换一个参数也许能让程序运行得更快,结果导致很多常用工具我都编译了不下三遍。另外,编译内核和格式化硬盘重装 Gentoo 的事情数也数不清。最糟糕的一次是,同事让我帮忙安装一台 1U 服务器,他用 Debian 可以很快把 LAMP 环境搭建好,而我执意用 Gentoo 压榨性能,结果编译了一个下午,反复调整内核浪费了大量时间,最终还是没能配置好两块网卡,无奈之下只能让他用 Debian。

Gentoo 给我的教训是,大量零散的编译调优时间累积起来会消耗很多宝贵的青春和电费,而带来的收益却微乎其微,不如直接购买更好的硬件。选择一个包管理机制成熟、社区活跃的发行版可以节省很多精力,把真正要做的事情做好。这也是我后来只用 Debian 的主要原因之一。

桌面美化和窗口管理器曾经每天浏览 DistroWatch.com,除了了解各种发行版的动态,还希望找到一个界面更美观的发行版,因为我觉得大部分发行版的开发者审美过于非主流。我使用了很长时间的 XFCE 和 FVWM-Crystal,也尝试过臃肿的 KDE 和 Gnome。尝试了许多布局和配置,下载了很多 GTK 皮肤和图标库,玩过炫酷的 Compiz,调整过中文字体的显示效果。但不管怎么改,总觉得哪里不完美,直到后来接触到同事 Apple iBook G4 上的 Mac 系统,我便陷入了在 Linux 上模仿 Mac 界面的深渊。这个 Flickr 相册里有不少那段时间的痕迹。

这同样是一件没有什么收益的事情,2006 年后我放弃了这种努力,转而使用 Mac 系统。

wine当周围的人问我为什么不用主流的 Windows 操作系统,反而喜欢用小众的操作系统时,我总是笑而不答,后来我用 Mac 的时候也常常遇到这样的问题。有趣的是,现在这个问题在大部分互联网公司里变成了:“为什么你不用 Mac?”

我最初用 Linux 作为开发主力机时,的确发现了诸多不便。比如同事发给我一个 Microsoft Office 生成的文件;比如做网页需要在 Internet Explorer 中调试;比如要使用 QQ。不过我并没有感觉到 Linux 不主流,很多在线论坛上有大量热心的 Linux 用户可以帮助解决各种技术问题。而同一时期,Windows 相关的社区大多在共享盗版软件。

在还没有虚拟机技术的时候,我很长一段时间使用 GRUB 启动多系统。后来逐渐用 wine 运行大部分 Windows 程序,完全抛弃了 Windows,再后来因为要流畅地运行《魔兽世界》内测,不得不重新安装 Windows。

开发工具的选择对于开发人员来说,选择开发工具是一件非常费神的事情,尤其是文本编辑器。我用遍了市面上几乎所有收费或免费的编辑器,都没有找到一款像 Windows 下的 EditPlus 那样好用的产品。主流推荐是 Vim 和 Emacs,我尝试学习 Vim,但当时没有多少好用的插件,加上不熟悉各种快捷键,文本编辑效率并不高。幸运的是,后来改用 Mac 后,很长一段时间被 TextMate 拯救了。

MidReal AI
MidReal AI

MidReal AI是一款革命性的AI小说生成工具,同时也是一个文本互动冒险游戏平台。

下载

在我还是前端开发工程师和 Flash 开发工程师的日子里,在 Linux 下绘图也不是一件轻松的事,我一直用不惯 GIMP 和 InkScape。尝试过用 wine 运行 Flash 的 IDE 和 Macromedia Fireworks。为了能在 Linux 下愉快地开发 Flash 程序,我还把整个项目改用 MTASC 编译。我很后悔没有早点明白,在 Linux 下绘图就是自找苦吃,同一时期在 Windows 下的绘图体验会愉快很多。

运维因为会使用 Linux,所以在开发过程中时不时地会承担一些简单的运维任务。为什么只是简单的,因为更复杂的任务会由那些拥有 RedHat 证书的专业运维人员负责。在我这些年的工作经历中,我曾多次进入机房,管理过一些 1U 服务器,但都只停留在安装系统和配置服务环境的阶段,并没有机会接触那些需要大量服务器协同工作的任务。而这些安装和配置任务在 Debian 下非常简单,apt-get install 安装的东西通常不需要再多折腾就能很好地使用。所以我在运维这一块没有能够更深入,只是变成了一个初级熟练工。

前几年因为虚拟币的泡沫,我开始有动力自学配置管理工具,学了一点点 Chef 和 Puppet,觉得略复杂个人用不上,所以学习了相对简单好用且不需要 master 服务器的 Ansible。有一段时间我控制了近 50 台虚拟机挖虚拟币,最高的一个月有 6000 元的收入。

随后我尝试将一些日常开发中经常需要反复做的事情写成 Ansible Playbook,于是便有了 ios-dev-playbook。在与防火墙斗争的过程中,从 V**-deploy-playbook 这个仓库中也学到了不少实用技能。但是,很多线上服务实际上比某些开源程序做得好,有时候自己运维往往省不下几个钱。举个例子,Git 仓库,我曾经很喜欢在 Linode 虚拟器上搭建 GitLab 或者 Gogs,但后来发现 GitHub 在社区工具链集成度以及易用性上都远超其它竞品。

此外,这几年为了满足各种创业公司对高生产效率和低成本的需求,IaaS、PaaS、SaaS 以及 Docker 开始流行,创业公司不再需要专职的运维,开发人员只需写几个配置文件,在网页上点几下鼠标就能把一个完整的系统上线。

因此,我掌握的这些简单的 Linux 运维技能,几乎已经被淘汰了。

我尝试学习 Google Kubernetes 和 AWS Lambda,但感觉业余时间不够,也没有项目可以实践。

总结如果我晚十年出生,或者早点用上 Mac OS,或者考了一张 RedHat 证书,可能就不会这么折腾了。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
lambda表达式
lambda表达式

Lambda表达式是一种匿名函数的简洁表示方式,它可以在需要函数作为参数的地方使用,并提供了一种更简洁、更灵活的编码方式,其语法为“lambda 参数列表: 表达式”,参数列表是函数的参数,可以包含一个或多个参数,用逗号分隔,表达式是函数的执行体,用于定义函数的具体操作。本专题为大家提供lambda表达式相关的文章、下载、课程内容,供大家免费下载体验。

208

2023.09.15

python lambda函数
python lambda函数

本专题整合了python lambda函数用法详解,阅读专题下面的文章了解更多详细内容。

191

2025.11.08

Python lambda详解
Python lambda详解

本专题整合了Python lambda函数相关教程,阅读下面的文章了解更多详细内容。

55

2026.01.05

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

1070

2026.01.21

自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

724

2023.07.05

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

559

2023.07.06

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

267

2023.07.24

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

558

2024.04.09

C++ 设计模式与软件架构
C++ 设计模式与软件架构

本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。

14

2026.01.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 8.1万人学习

Git 教程
Git 教程

共21课时 | 3.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号