linux运维要学些什么?
Linux运维需要学习的内容有很多,从业的岗位不同,对技术的要求也是不同的,以下是我校的Linux课程大纲,你可以参考一下:
第一阶段:linux基础入门
1 开班课程介绍-规章制度介绍-破冰活动;
2 Linux硬件基础/Linux发展历史;
3 Linux系统安装/xshell连接/xshell优化/SSH远程连接故障问题排查
4 第一关一大波命令及特殊字符知识考试题讲解
5 L inux基础优化
6 Linux目录结构知识精讲
7 第二关一大波命令及特殊知识考试题讲解(上)
8 第二关一大波命令及特殊知识考试题讲解(下)
9 Linux文件属性一大堆知识精讲
10 Linux通配符/正则表达式
11 第三关一大波命令及重要知识考试题讲解(上)
12 第三关一大波命令及重要知识考试题讲解(下)
13 Linux系统权限(上)
14 Linux系统权限(下)
15 第一阶段结束需要导师或讲师对整体课程进行回顾
第二阶段:linux系统管理进阶
1 Linux定时任务
2 Linux用户管理
3 Linux磁盘与文件系统(上)
4 Linux磁盘与文件系统(中下)
5 Linux三剑客之sed命令
第三阶段:Linux Shell基础
1 Shell编程基础1
2 Shell编程基础234
3 Linux三剑客之awk命令
第四阶段:Linux网络基础
1 计算机网络基础上
2 计算机网络基础下
3 第二阶段结束需要导师或讲师对整体课程进行回顾。
第五阶段:Linux网络服务
1 集群实战架构开始及环境准备
2 rsync数据同步服务
3 Linux全网备份项目案例精讲
4 nfs网络存储服务精讲
5 inotify/sersync实时数据同步/nfs存储实时备份项目案例精讲
第六阶段:Linux重要网络服务
1 http协议/www服务基础
2 nginx web介绍及基础实践
3 nginx web精讲结束
4 lnmp环境部署/数据库异机迁移/共享数据异机迁移到NFS系统
5 nginx负载均衡深入透彻
6 keepalived高可用深入透彻
第七阶段:Linux中小规模集群构建与优化(50台)
1 期中架构开战说明+期中架构部署回顾
2 全体昼夜兼程部署期中架构并完成上台述职演讲(加上两个周末共9天)
3 kickstart cobbler 批量自动安装系统
4 pptp ***与ntp服务
5 memcached原理及部署/作为缓存及session会话共享
第八阶段:Ansible自动化运维与Zabbix监控
1SSH服务密钥认证
2 ansible批量自动化管理集群(入门及深入)
3 zabbix监控
第九阶段:大规模集群高可用服务(Lvs、Keepalived)
1 Centos7系统自行安装/centos6与7区别
2 lvs负载均衡集群/keepalived管理LVS集群
第十阶段:JavaTomcat服务及防火墙Iptables
1 iptables防火墙精讲上
2 iptables防火墙精讲下
3 tomcat java应用服务/nginx配合tomcat服务部署及优化
第十一阶段:MySQL DBA高级应用实践
1 MySQL数据库入门基础命令
2 MySQL数据库进阶备份恢复
3 MySQL数据库深入事务引擎
4 MySQL数据库优化SQL语句优化
5 MySQL数据库集群主从复制/读写分离
6 MySQL数据库高可用/mha/keepalved
第十二阶段:高性能数据库Redis和Memcached课程
第十三阶段:Linux大规模集群架构构建(200台)
第十四阶段:Linux Shell编程企业案例实战
第十五阶段:企业级代码发布上线方案(SVN和Git)
1 GIT管理
2 代码上线项目案例
第十六阶段企业级Kvm虚拟化与OpenStack云计算
1 KVM虚拟化企业级实战
2 OpenStack云计算企业级实战
第十七阶段公有云阿里云8大组件构建集群实战
第十八阶段:Docker技术企业应用实践
1 Docker容器与微服务深入实践
2 大数据Hadoop生态体系及实践
第十九阶段:Python自动化入门及进阶
第二十阶段:职业规划与高薪就业指导
1、Linux系统基础
严格的来讲,Linux 不算是一个操作系统,只是一个 Linux 系统中的内核,即计算机软件与硬件通讯之间的平台;Linux的全称是GNU/Linux,这才算是一个真正意义上的Linux系统。GNU是Richard Stallman组织的一个项目,世界各地的程序员可以变形GNU程序,同时遵循GPL协议,允许任何人任意改动。但是,修改后的程序必须遵循GPL协议。
Linux 是一个多用户多任务的操作系统,也是一款自由软件,完全兼容POSIX标准,拥有良好的用户界面,支持多种处理器架构,移植方便。
为程序分配系统资源,处理计算机内部细节的软件叫做操作系统或者内核。如果你希望详细了解操作系统的概念,请查看操作系统教程。
用户通过Shell与Linux内核交互。Shell是一个命令行解释工具(是一个软件),它将用户输入的命令转换为内核能够理解的语言(命令)。
2、网络服务
服务有很多种,每间公司都会用到不同的,但基础的服务肯定要掌握,如FTP, DNS,SAMBA, 邮件, 这几个大概学一下就行。
其实网络服务方面不用太担心,一般公司的环境都已经搭建好,就算有新服务器或让你整改,公司会有相应的文档让你参照来弄,不会让你乱来的,但至少相关的配置一定要学熟,而且肯定是编译安装多,那些模块要熟悉一下他的作用,特别是PHP那些模块。
这面2点只是基础,也是必要条件,不能说是工具,下以才是真正的要掌握的工具。
3、shell脚本和另一个脚本语言
shell是运维人员必须具备的,不懂这个连入职都不行,至少也要写出一些系统管理脚本,最简单也得写个监控CPU,内存比率的脚本吧,这是最最最基本了。别以为会写那些猜数字和计算什么数的,这些没什么作用,只作学习意义,写系统脚本才是最有意义。
Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行 。
实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。
Linux提供了像MicrosoftWindows那样的可视的命令输入界面--X Window的图形用户界面(GUI)。它提供了很多桌面环境系统,其操作就像Windows一样,有窗口、图标和菜单,所有的管理都是通过鼠标控制。GNOME。
每个Linux系统的用户可以拥有他自己的用户界面或Shell,用以满足他们自己专门的Shell需要。
同Linux本身一样,Shell也有多种不同的版本。主要有下列版本的Shell:
Bourne Shell:是贝尔实验室开发的。
BASH:是GNU的Bourne Again Shell,是GNU操作系统上默认的shell。
Korn Shell:是对Bourne SHell的发展,在大部分内容上与Bourne Shell兼容。
C Shell:是SUN公司Shell的BSD版本。
Z Shell:The last shell you’ll ever need! Z是最后一个字母,也就是终极Shell。它集成了bash、ksh的重要特性,同时又增加了自己独有的特性。
而另一个脚本语言是可选的,一般是3P,即Python,Perl和PHP,PHP就不需要考虑了,除非你要做开发,我个人建议学Python会比较好,不难实现自动化运维,Perl是文本处理很强大,反正这两个学一个就行了。
4、sed和awk工具
必须要掌握,在掌握这两个工具同时,还要掌握正则表达式,这个就痛苦了,正则是最难学的表达式,但结合到sed和awk中会很强大,在处理文本内容和过滤WEB内容时十分有用,不过在学shell的同时一般会经常结合用到的,所以学第3点就会顺便学第4点。
5、文本处理命令
sort , tr , cut, paste, uniq, tee等,必学,也是结合第3点时一并学习的。
6、数据库
首选MySQL,别问我为什么不学SQL Server和Oracle,因为Linux用得最多绝对是MySQL。增删改查必学,特别要学熟查,其它方面可能不太需要,因为运维人员使用最多还是查,哪些优化和开发语句不会让你弄的。
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。
7、防火墙
不学不行,防火墙也算是个难点,说难不难,说易不易,最重要弄懂规则。如果学过CCNA的朋友可能会比较好学,因为iptables也有NAT表,原理是一样的,而Filter表用得最多,反正不学就肯定不合格。
8、监控工具
十分十分重要,我个人建议,最好学这3个,cacti,nagios,zabbix。企业用得最多应该是nagios和 zabbix,反正都学吧,但nagios会有点难,因为会涉及到用脚本写自动监控,那个地方很难。
Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
Zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。
Cacti是通过 snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。界面友好。软件 Cacti 的发展是基于让 RRDTool 使用者更方便使用该软件,除了基本的 Snmp 流量跟系统资讯监控外,Cacti 也可外挂 Scripts 及加上 Templates 来作出各式各样的监控图。
9、集群和热备
这个很重要,肯定要懂的,但到了公司就不会让你去弄,因为新手基本不让你碰。集群工具有很多,最好学是LVS,这是必学,最好也学学nginx集群,反向代理。还有热备,这个就更多工具能实现了,像我公司是自己开发热备工具的,MySQL热备也要学,就是主从复制,这个别告诉我容易,其实不容易的,要学懂整个流程一点也不容易,只照着做根本没意思。
10、数据备份
不学不行,工具有很多,但至少要把RAID的原理弄懂,特别是企业最常用的1+0或0+1,自己做实验也要弄出来,备份工具有很多,如tar, dump, rsync等,最好多了解一下。
学嵌入式Linux要先学以下几点:
1C语言。要有C语言的基础,当然越熟练越好,不熟也没关系,具备基本技能就可以:比如写一个数组排序、输入数字求和什么的。C语言的学习就是多些多练。
2Linux基础
Linux操作系统的概念、安装方法,详细了解Linux下的目录结构、基本命令、编辑器VI ,编译器GCC,调试器GDB和 Make 项目管理工具, Shell、 Makefile脚本编写等知识,嵌入式开发环境的搭建。
3Linux系统编程
重点学习标准I/O库,Linux多任务编程中的多进程和多线程,以及进程间通信(pipe、FIFO、消息队列、共享内存、signal、信号量等),同步与互斥对共享资源访问控制等重要知识,主要提升对Linux应用开发的理解和代码调试的能力。
4Linux网络编程
计算机网络在嵌入式Linux系统应用开发过程中使用非常广泛,通过Linux网络发展、TCP/IP协议、socket编程、TCP网络编程、UDP网络编程、Web编程开发等方面入手,全面了解Linux网络应用程序开发。重点学习网络编程相关API,熟练掌握TCP协议服务器的编程方法和并发服务器的实现,了解HTTP协议及其实现方法,熟悉UDP广播、多播的原理及编程方法,掌握混合C/S架构网络通信系统的设计,熟悉HTML,Javascript等Web编程技术及实现方法。
5数据结构与算法
数据结构及算法在嵌入式底层驱动、通信协议、及各种引擎开发中会得到大量应用,对其掌握的好坏直接影响程序的效率、简洁及健壮性。此阶段的学习要重点理解数据结构与算法的基础内容,包括顺序表、链表、队列、栈、树、图、哈希表、各种查找排序算法等应用及其C语言实现过程。
6Cortex A8 、Linux 平台开发
通过基于ARM Cortex-A8处理s5pv210了解芯片手册的基本阅读技巧,掌握s5pv210系统资源、时钟控制器、电源管理、异常中断控制器、nand flash控制器等模块,为底层平台搭建做好准备。Linux平台包括内核裁减、内核移植、交叉编译、GNU工具使用、内核调试、Bootloader介绍、制作与原理分析、根文件系统制作以及向内核中添加自己的模块,并在s5pv210实验平台上运行自己制作的Linux系统,集成部署Linux系统整个流程。同时了解Android操作系统开发流程。Android系统是基于Linux平台的开源操作系统,该平台由操作系统、中间件、用户界面和应用软件组成,是首个为移动终端打造的真正开放和完整的移动软件,目前它的应用不再局限于移动终端,还包括数据电视、机顶盒、PDA等消费类电子产品。
7驱动开发
驱动程序设计是嵌入式Linux开发工作中重要的一部分,也是比较困难的一部分。本阶段的学习要熟悉Linux的内核机制、驱动程序与用户级应用程序的接口,掌握系统对设备的并发操作。熟悉所开发硬件的工作原理,具备ARM硬件接口的基础知识,熟悉ARM Cortex-A8处理器s5pv210各资源、掌握Linux设备驱动原理框架,熟悉工程中常见Linux高级字符设备、块设备、网络设备、USB设备等驱动开发,在工作中能独立胜任底层驱动开发。
linux十大最佳系统?
1Ubuntu。
Ubuntu是基于Debian的开源Linux操作系统。Ubuntu非常流行,许多其他发行版都是从它衍生出来的。Ubuntu服务器对于构建高性能、高可伸缩性、灵活和安全的企业数据中心非常有效。
2RedHatEnterpriseLinux(RHEL)
RedHatEnterpriseLinux(RHEL),是RedHat开发的用于商业用途的开源Linux发行版。它基于Fedora,RHEL上提供的大量软件都是首先在Fedora上开发和测试的。
3、中兴新支点服务器操作系统(CGSL)
中兴新支点服务器操作系统是国内的服务器系统,由中兴旗下子公司中兴新支点研发,新支点操作系统产品还包括工业操作系统、桌面操作系统等。新支点服务器操作系统是一款具有高可用性、高性能以及良好的安全性、可管理性等特征的电信级操作系统。
4、SUSELinuxEnterpriseServer
SUSELinuxEnterpriseServer是由SUSE构建的开源,稳定且安全的服务器平台。它旨在为物理、虚拟和基于云的服务器提供支持。它非常适合支持可视化和容器的云解决方案。
5、CentOS(社区操作系统)Linux服务器
CentOS是RedHatEnterpriseLinux(RHEL)的稳定且开源的衍生产品,所以在操作上与RHEL兼容。另外CentOS是免费的,因此如果您想使用RHEL又不想通过订阅而支付大量的费用,那么您可以尝试一下。CentOS拥有社区支持,因此您还是可以获得其他社区成员和用户的支持。但毋庸置疑的是,付费版产品的支持和服务会更加周到,有问题也能得到更及时的解决。
linux搭建文件服务器的好处?
有如下好处。
1,Linux系统是开源的,安全性能得到保证。
2,Linux可安装精简版,系统资源利用率更高。
3,Linux软件和工具使用方便,文件传输效率高。
建议:
1 如果你对Redhat Enterprise Linux 5(RHEL 5)非常熟悉的话,相关的工作非常好找,因为IBM、HP等很多服务器中企业应用都是用的是RHEL 5;
2 你最好能考取相关的资格证书,这样对找到合适的工作比较有好处;
3 自己还需要刻苦学习,因为Linux易学难精。
推荐参考书目:
1 《Linux系统与网络服务管理 技术大全(第二版)》杨明华 谭励等编著 电子工业出版社 79元 含光盘一张;
2 《Linux系统管理与网络管理》 余柏山等编著 清华大学出版社 89元 含光盘一张。
读完这两本书,基本上就够用了。
建议:
1 最好在系统中先安装VMware虚拟机,然后在虚拟机中安装Redhat Enterprise Linux 5等Linux系统;
2 在虚拟机的Linux系统中进行各种测试,这样就算有问题也没有什么关系。
本人就是做运维的,主要有以下工作1、对Linux下各种网络服务、应用系统、监控系统等进行自动化脚本开发的工作,并根据项目对系统进行性能优化;2、负责网站项目中Linux服务器的部署与维护,解决Linux系统下版本兼容性问题;3、熟练部署和维护Linux服务器以及在linux服务器上架设各种服务;4、编写shellscript脚本;5、LAMP,LNMP以及Mysql,oracle数据库维护
随着开源技术的不断进步与创新,整个 IT行业中越来越多的企业愿意采用开源产品,而基于 Linux的操作系统为这些开源产品提供了一个极佳的操作平台。《Linux运维之道》将围绕 Linux操作系统这样一个基础平台,讲解如何使用操作系统实现各种开源产品的应用案例。全书主要从运维工作中的应用服务入手,全面讲解基本 Linux操作系统以及各种软件服务的运维工作。
现在的商业环境是一个充满竞争的环境,很多企业的业务量在不断地增长,而对服务质量的要求也越来越高。特别是互联网企业为了满足客户更高的需求,提升用户使用体验。 IT部门维护的设备往往数以万计,如此庞大的设备维护量,通常会让 IT管理人员头疼不已。《Linux运维之道》介绍的自动化运维的内容可以让我们快速掌握大规模批量处理的简单方法。仅仅依靠自动化运维还不足以发挥出这些设备能效,因此,我们还需要将这个服务器设备有机地结合在一起,为客户提供更加安全、快捷、高效的服务,于是集群技术应运而生。《Linux运维之道》最后将围绕集群技术介绍目前比较流行的开源产品部署案例。
《Linux运维之道》从基础讲到服务器的高级应用,适合于 Linux运维人员、Linux爱好者阅读,可作为 Linux运维人员的一本优秀的案头书。
0条评论