而工欲善其事,必先利其器,Linux的世界相当广大,除了最著名的Ubuntu以外还有不少发行版。然文人相轻,自古皆然,了解不同发行版的优势不只嘴上攻防用的上,也是学Linux一个有趣的地方!下面是Linux 作业系统的比较,以及它们的目标客户。
一、适合一般使用者
(1) Ubuntu
简单、易上手、很多人用,有自己的Unity介面,桌面环境下更好上手,是Linux初学者相当推荐的一套入门Linux流通版。
有软体中心,让初学者不需看眼花撩乱的套件库,而且都帮使用者分门别类好,甚至还会有萤幕撷图、简介、评价。
缺点是套件管理的套件分得很开,就算是同一套软体可能还会分指令介面、图形介面、扩充、语言......可能会让使用者看得眼花撩乱。
(2) Fedora
Fedora会将最新版的软体,在还没稳定前就包入发行。适合喜欢尝鲜的玩家。
谈到Fedora就一定得要提到Red Hat公司。虽然Red Hat Linux不是最老的Linux(现存最古老的Linux发行版是Slackware,1993年出生,今年将满18岁),但却是Linux界最有影响力的Linux分支之一。2004年,Red Hat公司停止开发桌面版的Linux套件,重心转向企业端工作站或伺服器系统。而接手原本桌面版开发的社群则另外命名为「Fedora Project」,以接受Red Hat公司资助的形式发展至今。
这个发行版是由长期以来杰出的GNU/Linux开发公司「红帽」发行的版本。预设的版面配置接近Ubuntu (也可以使用在Kubuntu中被使用的更进阶的桌面环境KDE),但在预选的软体中有些不同,安装管道以及其他技术性细节。
倘若您希望能学习GNU/Linux系统的工作原理、安全性设定,或者是拿来开发软体,那我们会推荐这个发行版。
(3) OpenSUSE
使用与Red Hat Enterprise Linux、CentOS 等伺服器等级相同的核心,但却包装得非常简单易用。适合喜欢稳定、不找麻烦作业系统的使用者。
(4) Arch Linux
简单且优雅没有官方的安装介面,连图形介面也没有,完全自行一行行下指令来安装。从官方下载下来的系统非常干净,只有最基本的系统,由使用者自行安装其自己常用的套件,当然连图形介面也要自行安装。所有软体几乎原汁原味,不太会去修改软体内容。
采用滚动更新,Arch Linux没有版号区分(下载安装光碟时只有日期区分),系统更新后套件永远都是最新的。套件管理程式不是采用主流的APT或是RPM,但受收录的套件非常丰富,甚至连冷门的都有(通常要找AUR),套件相依性的问题,于其他套件管理程式比较起来,好处理多了。
二、适合系统管理员
(1) Debian
特点就是稳!缺点就是 *** 作没有其它Linux 流通版那么友善。适合不怕下繁复命令列指令的系统管理员,当成桌机或伺服器系统之用。与Ubuntu为同血统,如果有玩过Ubuntu一段时间的话,Debian应该会很好上手。
(2) Red Hat Enterprise Linux
稳定、支援丛集伺服器、云端运算等企业用得到的特性。很适合拿来架设伺服器。不过想取得这个版本,是要收费的。
(3) CentOS
一套由Red Hat Enterprise Linux 改造而来、但却不用收费的Linux 作业系统,里面收录的100%都是自由软体,不包含封闭程式。特色也是稳到一个不行。有「万年不挂伺服器」之美称。适合想尝试Red Hat Enterprise Linux,却无力负担花钱购买该Linux 的人使用。
三、为特殊用途而开发
(1) Gentoo
神人版本,以支援软体套件众多、傲视所有Linux 作业系统闻名。不过它很要求整套系统要提供原始码这件事,导致安装时,常常需要从「原始码」编译成「执行档」后,才能使用。从另一面来看,这会迫使用它的人,培养出从原始码编出执行档的能力,也算是蛮好的教育训练平台。因此,Gentoo 有「学其它Linux 版本,你就是学会该版本而已。学会Gentoo,你就学会所有的Linux」之美称。
(2) Damn Vulnerable Linux(DVL)
从字面上翻译,就是「他妈的超脆弱Linux」。这个版本故意装了老旧、破损、有臭虫的各种软体套件。因此你可以拿它来训练系统管理员,将它修补到稳定为止。
(3) Kali Linux
由Debian 改写、前身是「Backtrack」、故意留下各种网路漏洞、让你拿来训练骇客「入侵技巧」之用的Linux。它本身可以直接接受任何Debian 的软体,适合拿来做「入侵测试(Penetration Test)」之用。
有社区版CentOS 和商业版 Redhat两种,两者一个开源 一个不开源,一个免费,一个付费使用;
1) Linux运维岗位及工作内容
互联网Linux运维工程师是一个融合多学科(网络、系统、开发、数据库、安全、存储等)的综合性技术岗位,甚至还需要沟通、为人处世、培训、销售、管理等非技术能力,这给运维工程师提供了一个广阔的发展空间。
2) Linux运维工程师岗位职责
一般从企业入门到中级Linux运维工程师的工作大致有:挑选IDC机房及带宽、购买物理服务器或云服务、购买及使用CDN服务、搭建部署程序开发及用户的访问系统环境(例如:网站运行环境)、对数据进行备份及恢复、处理网站运行中的各种故障(例如:硬件故障、软件故障、服务故障、数据损坏及丢失等)、对网站的故障进行监控、解决网站运行的潜在安全问题、开发自动化脚本程序提高工作效率、规划网站架构、程序发布流程和规范,制定运维工作制度和规范、配合开发人员部署及调试产品研发需要的测试环境、代码发布等工作需求,公司如果较小可能还会兼职网管、网络工程师、数据库管理员、安全工程师、技术支持等职责。
涉及到的Linux平台上的运维工具有:Linux系统,Linux基础命令,Nginx,Apache,MySQL,PHP,Tomcat,Lvs,Keepalived,SSH,Ansible,Rsync,NFS,Inotify,Sersync,Drbd,PPTP,OpenVPN,NTP,Kickstart/Cobbler,KVM,OpenStack,Docker,,K8S,Mongodb,Redis,Memcached,Iptables,SVN,GIT,Jenkins,网络基础,Shell/Python开发基础等,除此之外还可能涉及到交换机、路由器、存储、安全、开发等知识。
运维工程师还包括一些低端的岗位,例:网络管理员、监控运维、IDC运维,值班运维
职业发展方向:Linux运维工程师、系统架构师、数据库工程师、运维开发工程师、系统网络安全工程师、运维经理、运维总监
3) Linux中级运维工程师应用软件阶段。
Linux系统,Linux基础命令,Nginx,Apache,MySQL,PHP,Tomcat,Lvs,Keepalived,SSH,Ansible,Rsync,NFS,Inotify,Sersync,Drbd,PPTP,OpenVPN,NTP,Kickstart/Cobbler,KVM,OpenStack,Docker,Mongodb,Redis,Memcached,Iptables,SVN,GIT,Jenkins,网络基础,Shell/Python开发基础
4)Linux运维架构师岗位职责
运维架构师是运维工程师的高级阶段,并没有明确的岗位界限区分,运维架构师一般来说是除了对运维工程师应用的开源工具熟练掌握之外,更多的是用思想来运维了,即DevOps的落地,各种企业运行过程中的解决方案提出和执行,例如:根据公司的现状可以设计各类运维解决方案的能力:
1、自动化代码上线(SVN/GIT+Jenkins+MVN)解决方案;
2、云计算部署架构及Docker微服务架构方案;
3、服务自动化扩容方案(KVM/OpenStack/Docker+Ansible+Zabbix);
4、10万并发的网站架构、秒杀系统的架构及解决发你个案;
5、多IDC机房互联方案、全网数据备份解决方案、账号统一认证方案;
6、数据库、存储及各重要服务节点的集群和高可用方案。
7、各网络服务的极端优化方案、服务解耦/拆分。
8、运维流程、制度、规范等的建设和推行。
9、沟通能力、培训能力、项目管理、业务需求分析及落地执行力等。
这里仅举几个例子,实际工作中会有更多,运维架构师的工作,其实就是解决企业中的用户访问量不断增大带来的痛点,最终达到高效、优质的为客户提供网站及业务服务。
总的来说:Linux运维架构师更多的是根据企业日益增长的访问量需求,利用若干运维工具组合加上经验思想,形成解决业务需求方案的阶段,当然也不排除对运维工具进行二次开发以及可视化展示运维数据的阶段(开发软件平台),这个阶段涉及的工具会非常多,几乎市面好用的开源工具都在备选之列,在一线城市互联网公司的薪资范围15000-50000/月。
职业方向:高级数据库工程师、运维开发工程师、运维经理、运维总监、技术总监
运维架构师:将多个工具组合,加上思想经验,形成方案,用思想和经验赚钱的阶段。
技术的提升仅是量的积累,思想的提升才是质的飞跃!——老男孩
5)数据库运维工程师
众所周知,数据几乎是所有企业的生命线,所以数据库工程师的地位和薪水一般会比普通运维工程师高一些,主要工作内容就是保证数据库数据的安全以及高效地为用户提供各种服务。工作内容主要有:数据库环境搭建、数据库优化、数据库;
Linux学习路线图
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)