开发者把Ubuntu当主力机的半年后的优缺点总结,优势与坑并存的linux

笔者从事Python开发工作,日常是写写爬虫,搞点内部用的小工具,偶尔负责下运维工作。

用linux机器当主力开发机的契机是目前的公司要求我们自己带机器工作,而不巧的是工作之前恰好买了一个配置一般的红米锐龙版,从不分心和系统响应速度两个角度选择了给机器加装ubuntu系统做主力系统。

用了这么久总的来说还是很满意的:

 

1. 开发者适不适合用linux机:

必须适合,非常适合,炒鸡适合。因为贴近生产环境,需要额外的成本就低。本人做python的,不同的程序一般使用不同的开发环境(包冲突或者版本问题),在win上面我是使用anaconda的 + pycharm 的,因为比较好安装各种依赖和管理环境。 在ubuntu上面只需要pycharm,所有的虚拟环境都是一键搞定炒鸡方便。打包软件原来要远程登录linux测试机,安装依赖,最后打包。现在很多时候都是一个docker容器打开 ,执行打包命令 ,完活~

 

2. 用linux 都需要各种命令好麻烦?

不是的,刚开始接触ubuntu 跟大家一样非常不习惯,很多教程也是教大家如何使用各种命令安装卸载软件,其实ubuntu里面内置了应用市场,大部分软件都可以直接使用应用市场下载,安装和卸载。图形界面虽没有win 那么熟悉和完善,但是基础的功能全部都有,系统响应速度完胜win。不过最后你还是会慢慢回归到用命令行解决问题的路上来,毕竟linux底层逻辑就是命令。

 

3. 驱动与性能:

目前新电脑的大部分显卡都不会遇到驱动问题。因为linux 系统本身其他服务比较少,系统占用的内存也很小,总的来说linux就是非常快,炒鸡快。

但是,可但是,有部分机器的wifi驱动不是很完善,例如我的redmibook 14 锐龙版的wif就没有相应的驱动,最后使用了华为类似型号在deepin上面的驱动,因为不是原装的,经常更新后需要重新更新驱动(害得我都学会了linux的 sh脚本)

简单来说 linux的驱动不是很完善,比如我雷蛇的鼠标就没法自定义对应键的功能,WiFi驱动找了好久等等,如果你对这个比较在意,请务必提前上网确认你这款机器有没有跟linux的兼容性问题。

 

4. 不蛋疼的更新

跟win10 强制更新不同,ubuntu是不强制的,而且大部分的更新是不用重启的,ubuntu的更新体积都很小,经常是一两个月才2~30mb更新。win10更新多蛋疼不用我多说了。

 

4. 开发者福利:

1. 开发者很多都知道docker(可以理解成超轻量级模拟器 ),在linux 平台启动docker就一个命令 1~2秒就能启动一个容器,超级快非常快,跟win平台有时候要接近一分钟的启动时间来比快多了,而且性能损失小,如果你是一个linux相关开发者的话 有docker加持会过得非常舒适。

2. 数据库和依赖包非常好弄:很多软件开发时候依赖的库 例如OpenCV等,用win安装后还要配置变量等麻烦的步骤,在ubuntu上面一个apt-get解决大部分问题,数据库也是想要什么都是一条命令解决炒鸡方便。

3. 更贴近生产环境:用win连接生产环境的服务器 通常要用其他终端软件一顿乱配置,在linux里一个ssh命令就搞定,又快又稳定。而且ubuntu上的文件结构更贴近生产使用的环境,有利于你习惯文件配置、log文件等存放位置等习惯约定。

4.锻炼命令行能力:用命令行执行命令其实不仅仅是找到相应的功能敲进去那么简单,长时间使用linux系统后,会让你对命令行的运行逻辑有更深刻理解,一些定时任务,开机任务等都更好管理,让你的开发工作更轻松,debug更快。

 

5. 得与失:

有得必有失,下面介绍ubuntu使用过程中一些问题:

1. 娱乐软件集体阵亡...别说游戏了,qq都用着费劲,真是专心干活心无旁骛......

2. bug,系统有时候因为网络或者其他软件的原因会有些不稳定(频率略高于win10,不常见但是会有),有些问题很棘手,不好解决,因为用的人少,经常需要更长时间来处理

3. 必要软件缺失,有时候很多软件是没有linux 版本,例如我们公司的网络认证系统就没有linux版本的,导致我半年都是用自己的手机热点。

 

最后建议:

如果你的开发工作严重依赖win平台或者相关开发链路中有 win平台独占的东西,建议就不要费劲搞了。

不确定的情况小可以用虚拟机测试一下,看看自己的工作步骤是否能全部在虚拟机里的ubuntu完成,如果能我还是建议你用linux。

这就像看书,我首先推荐你看书,其次是电子纸的书 最后是pdf。 因为更专业的工具,它效率更高。

 

ubuntu deepin centos .......好多发行版怎么选?建议选更贴近你的生产环境的桌面环境,具体可以看各个发行版之间的关系图谱。

 

 

你可能感兴趣的:(linux小技巧,ubuntu,linux)