工作环境的进化之路
㊀我的工作环境的进化之路
我一开始学习电脑时,使用的是dos和windows3.1。很快windows95出现了,这是革命性的操作系统,非常好用。但是windows95并不是十全十美的。它的问题是很难长久稳定的运行。那个时候浪费时间最多的操作就是整理硬盘,通常需要整晚整晚的运行(原因是整理硬盘的时候不能有操作,否则整理硬盘的工具会自动重新开始整理)。但是这样的操作很容易损伤硬盘,而不整理硬盘的话,计算机就会越来越慢。因此那个时候的高手必须精通各种硬盘工具。修复硬盘是小白们最常见的需求之一。windows97/98与windows95是一脉相承的,问题也类似。那个时候,比较稳定的windowsNT对显卡的支持仅仅限于16色,根本无法满足日常使用。
windows2000(windowsNT5.0)的出现,在稳定性上有了很大的提高,也让我第一次真正经历了操作系统的升级的痛苦。在dos时代我还是个小白,什么都不懂。但在windows95/97/98时期,我已经有了自己用惯的日常工具,也学习了很多基于windows的技术。可是windows2000来了,一切都变了,很多程序都不能运行了。更重要的是很多技术白学了,比如说我花费很多时间学习的VxD技术,结果一点也没有用上。所以从一开始使用windows2000起,我就在考虑如何解决这个问题。
问题的解决办法是使用UNIX/LINUX工作平台。第一次安装的是RedHat6,很稳定,就是太难了。那个时候流行安装双系统,但事实上计算机运行的还是windows。因此问题并没有得到实际的解决。不久我们需要为客户实现一个高可用的服务。按照客户的话来说,就是希望硬件不坏,服务不停。这下windows完全无法满足需求。我们只得使用LINUX来满足客户需要。工作驱动下,学习效果果然好。在极短时间里,我已经习惯利用SSH终端远程操作LINUX服务器了。那段时间是我的一个重要转折点。REDHAT9时,我已经“进化”到以LINUX为主要工作环境了。
从RedHat9到Fedora,再到CentOS。都是一次安装,然后使用到机器被淘汰。CentOS使用的时间最长,也最顺手。由于ThinkPadT440s+CentOS6.5有点慢了,于是买了一台新本子,照例去下载最新的CentOS安装镜像。结果非常意外的发现CentOS居然要停服了,CentOS Stream项目显然已经不是原来的CentOS了。本来CentOS7还是可以使用的,但是为了赶早,我决定立刻更换新的LINUX发行版本。
我花费了大量功夫来找我的新平台。我测试了Deepin、Gentoo、Mint、Debian等很多LINUX发行版本,很高兴的发现有了这么多又好用又美观的LINUX版本。多年使用LINUX的经验告诉我,LINUX的缺点在于硬件支持比较差,最新型号的机器安装起来总是很困难。基于这点,我最后选择了Arch的衍生版本Manjaro。Arch拥有最新的硬件支持,Manjaro在其基础上提供了更适合我的发行版本。
㊁用Linux搭建工作环境(给新手的一些建议)
在我看来,从使用者角度上考虑Linux与windows的最大区别,Linux是以命令行界面(终端操作)为主,windows是以图形化界面(视窗操作)为主。这个是本质区别。因此虽然现在Linux很多发行版本的图形界面已经做得足以媲美windows。但是习惯命令行依旧可以让我们更好的掌握Linux。很多维护性工作在Linux和windows下是完全不同的。举一个例子,完成某个系统的自动备份并将数据复制另外一台电脑。对于这个需求,利用SHELL外加ssh可以很轻松愉快的用几句脚本实现,其花费的时间不会超过喝一杯咖啡。我的工作环境里有很多我自己做的脚本工具,帮助我完成很多日常任务。
那么如何搭建基于Linux的工作环境呢(或者说如何入门并使用Linux呢)?
❶首先是准备环境,这个阶段最好的方式是可以请你周围的某个朋友帮忙,快速而且准确。如果自己慢慢来搞,可能会花费比较长的时间。
①安装一台Linux主机,如果没有多余的电脑,可以使用虚拟机软件(这类软件很多,搜索关键字“虚拟机软件”。Virtual PC、CrossOver、VMware都行,我本人始终使用VirtualBox,免费,功能也还行,也就懒得换来换去了)
需要完成的工作包括下载Linux发行版的iso文件、虚拟机软件;安装一台Linux主机等
②然后配置网络,让自己常用的电脑可以通过ssh工具访问到Linux主机
需要完成的工作包括配置网络;安装并配置Linux主机的ssh服务(根据Linux发行版的不同,其步骤也不同。一般来说ssh服务是现成的,运行服务即可);在常用主机上安装ssh客户端软件(这类工具很多,搜索关键字“SSH工具”。Putty、MobaXterm、DameWare SSH、SmarTTY、secureCRT等等,免费的收费的都有)
③学习自己独立完成❶部分的工作。自己会安装,心里才踏实嘛
④本部分是进阶部分,在常用电脑上安装配置X server,使得Linux主机上图形程序可以连接到这个X server上。
通过ssh工具,一般只能运行基于命令行界面的程序。如果想运行远程Linux主机上的带有图形界面的程序(例如libreoffice、gimp等),就需要本地主机运行有X server。由于Linux是以命令行界面为主的,因此这个部分不是必须的。
❷利用搭建好的环境,尝试各种操作,并尽可能把日常一些电脑操作转到Linux主机上(或者通过ssh终端)完成
①这个步骤需要熟练掌握文件的操作(相当于视窗操作系统的鼠标功能)。比如说复制(cp)/删除(rm/rmdir)/移动(mv)/重命名(mv)文件/文件夹;编辑(vi/emacs)文件;文件打包压缩(tar/zip,unzip/7z/rar,unrar);通过ssh的scp命令行传输文件等等
②在常用电脑上安装一个ftp服务器,在Linux主机上访问这个ftp服务器(ftp/lftp/wget)
③学习基本的环境变量(HOME,PATH等),涉及的命令有(env/grep/export/unset)
④在Linux主机学习安装配置第一个远程服务器:vsftpd。在这个过程中可以学习很多东西,注意除了学习二进制包(或rpm/yum/Deb/apt-get/pacman等)外,还应该学习源代码安装
后面是进阶内容,完成进阶内容就可以开发一些小东西了
⑤学习字符集概念,涉及的命令有(locale/locale-gen)
⑥利用Linux学习一门或多门编程语言,比如说c、python、java等
⑦利用Linux主机搭建LAPP或LAMP环境
❸从这里开始就可以逐渐使用Linux作为工作环境,首先可以先把你的笔记本安装上Linux,然后再利用虚拟机软件安装你以前用的操作系统:-)
㊂我的工作环境
❶本地环境
硬件:HP ZHAN66
操作系统:Manjaro
终端工具:ssh
远程存储工具:vsftpd+lftp(用于windows远程主机)和sftp(非windows远程主机)
编辑工具:vi/emacs/gedit
文档工具:libreoffice
虚拟机软件:VirtualBox
远程桌面:rdesktop/rdesktop-vrdp
视频/音频软件;mplayer
浏览器:firefox
图片查看:gthumb/gimp
邮件客户端:evolution
PDF查看:okular
CHM查看:kchmviewer
字典/词典:stardict
❷开发环境
硬件:高配置服务器若干台,内存和CPU是最重要的指标
操作系统:CentOS5.X~7.X
虚拟机软件:VirtualBox(如果服务器数目较多,可以先进行集群部署)
虚拟机:根据客户需求安装对应操作系统并实施相应集群部署
开发周期内部署策略:
①开发初期
针对开发人员部署独立的开发环境
②开发中期
针对功能模块(开发小组)部署独立的开发环境
③开发末期
合并开发环境,测试环境优先,虚拟机模拟实际部署
这样做的好处是,开发环境可以快速适应客户多变的需求;开发过程中可以利用VirtualBox软件的备份/恢复功能,可以进行快速部署开发/测试/演示环境,除了在开发阶段可以节约时间外,在之后的售后维护阶段也可以提供很好的帮助
浙公网安备 33010602011771号