从Windows系统到Linux系统转变的5大要点
当我在 Algoma (阿尔格玛)大学开始我现在的工作,一个图书系统管理员,我实在是对我的工作没有什么信心。尽管我在图书信息技术上有十年经验,对于我的第一个任务——协助开发和管理 Evergreen ——一个开源的图书目录系统,我还是有些忐忑。最大的问题在于:我从前基本上都是在 Windows 系统下工作的。
最开始我对情况还有些乐观,毕竟我曾经也在很短的时间内学习掌握一项新的技能。但是三周后,我意识到我应该是遇到了难题。到底要怎样从一个在 Windows 系统下工作的人转变成一个合格的 Linux 系统管理员?更重要的是,我应该在工作中做些什么?毕竟我的任务是完成工作,而不是学习一个新的操作系统。本来我每天晚上的时间是属于私人的,但是自从我开始接受这个任务的四个月后,上级准备任命我为项目经理,于是我开始利用晚上的时间开始工作。最后我被正式任命为项目经理。以下内容是我经过这次工作获得的经验。
每个人都要知道的从 Windows 到 Linux 转变所需要的知识
弄明白哪些知识是必须要知道的,并非毫无用处。我 Windows 的背景就有一些关于开发技巧的知识。尽管每种需要都有一些不同,我还是把目标,功能方法,基础编程逻辑和一些需要转换的概念放在我的桌面上。网络和数据库很相似。这一点其实很重要,可以作为和老板汇报的内容。这项技术能让我达到一些低级目标,例如建一个我们图书馆的网站-这也是一个开源项目,当然两个操作系统下相似的网页技术也是让开源图书馆这个项目得以很好的实现。让我的老板对这些早期的成果有良好的印象还是很关键的。
让你的老板支持你。我知道我在工作中学习到的知识远远比我在夜晚瞎逛学到的要多,所以学习也成为了我专业开发工作的一部分。结论很容易得到:学习 Linux 是一种投资。回报就是能够使用免费的开源的软件来管理图书馆。由于我出色的工作,我的老板也对我更加地认可。他允许我用更多的时间去深入研究 Linux。
一直使用 Linux 。尽管 Linux 在网络和开发中的应用率很高,但是作为系统管理平台却还没能大范围应用。唯一的改变这种状况的方法就是多多使用 Linux 。虽然这样子会使人望而生畏。我简直为我的 Linux 文件系统的工作抓狂,但是还是必须得要完成。我尝试过一些不同的方法想要 Windows 和 Linux 能同时使用,例如,在 Windows 系统下建立 Linux 系统的虚拟机,在 Linux 系统下建立 Windows 系统的虚拟机,在 Windows 下安装 Ubuntu 系统( WIUB)——一种旧的工作站形式。这些方法各有优缺点,但是最后我决定了使用一个带有完整图形界面的 Linux 系统来建立我的工作站,并且在 Linux 系统下做一个远程的服务器。
我觉得使用 Windows 工作站是临时性的,这样子会让我们不自觉地使用旧的方式,很容易就会去打开一个 Windows 系统的虚拟机,但是这样子在一个缺点很多的虚拟系统下工作反而鼓励了我不顾困难去钻研 Linux 。这样一个开始让我有了一次完整的 Linux 体验:学习如何连接打印机,如何在工作站端使用邮件系统,如何通过安全命令来通过一个服务器来控制另一台主机端。还剩一个很重要的任务,如何获得物品,并且使用命令行。
学习一些关键的指令会让开发变得简单。我第一次使用 EMACS (一种文本编辑器) 时,我必须用重新启动的方式来关闭它。这样子很不方便。如果你是一个有经验的开源技术使用者,以下的指令你应该会觉得很熟悉,如果你是一个新手,并且你需要去查找指令手册,这就证明你还得好好学习一下。5虽然人们都不喜欢查指令手册,但是如果你真的知道怎么查的话,这也是一个很有用的方法。我建议大家了解以下指令:
ls, cd, find
基本的操作文件系统的指令
sudo
对服务器管理员非常重要
dhclient
这个指令对启动工作站和连接网络非常重要
grep, tail, vim
这些是筛选日志和代码最基础的指令
ssh, scp
这两个指令在连接远程服务器和向它们安全地传递和接受文件中起关键作用
犯错误也是一种学习。即使你在学习的过程中犯了错误。我在我第一次更新IP 信息包过滤系统时学到了许多关于 Linux 服务的知识。当时在设置它的时候情况很混乱,我还忘记关闭了远程服务器端的网络适配器。遇到这种情况,你唯一能做的就是期望你有一个给力的工作伙伴。我就是这样的幸运儿,遇到了开源社区的几个乐于助人的朋友。