linux学习知识体系
来源:互联网 发布:sqlserver 卸载 编辑:程序博客网 时间:2024/05/01 11:20
一. Linux系统基础及管理
1、操作系统发展史,系统架构平台概览; Linux起源、理念、发展历史及各发行版;
2、Linux基础知识、基本命令、获得使用帮助及文件系统组织结构等;
3、Linux用户、组及权限的基础及相关高级话题,详细讲解useradd/userdel/chmod/chown/usermod/chage/umask等相关命令;
4、Bash基础及配置、标准I/O、管道及shell编程基础;
5、文本处理工具的概念、简单文本编辑器nano的使用、vim编辑器入门、进阶及常用技巧;
7、Linux系统进程管理基本原理及相关管理工具如ps、pkill、top、htop等的使用;Linux中的作业控制;
8、Linux任务计划的实现,讲解at、cron及anacron的使用;
9、文件查找的利器find命令基础及高级应用;
10、TCP/IP网络基础、TCP有限状态机状态转换原理、Linux网络属性配置及网络客户端工具详解;
11、Linux系统软件包的配置及管理、rpm及yum命令的使用及yum库的制作详解;
12、常见磁盘接口类型及相关设备特性、Linux磁盘管理、Linux文件系统基础、进阶与高级管理;文件系统相关管理工具使用详解;
13、系统初始化详细流程精解、内核基础及内核的定制(内核的定制、编译及安装);对比说明RHEL5与RHEL6系统启动过程之区别;
14、X11、SSH、VNC、CUPS系统服务;putty、SecureCRT或Xmanager等ssh客户端的应用;
15、文件扩展属性及ACL的应用;
16、RAID级别及相关概念详解、Linux下软RAID的实现及相关命令行工具的使用;硬件RAID基本原理及配置要点;
17、LVM2基本概念及其实现原理、LVM2相关命令行工具的使用;
18、Linux日志系统;常见日志管理工具的使用;
19、SELinux相关概念、原理及相关工具(如setenforce等)的使用;
20、RHEL系统kickstart文件、自动化安装部署及安装盘的定制;
21、Linux常见系统及网络故障排除(TroubleShooting);
22、RHEL或CentOS系统定制式精简,实现从零开始按需重组大小、功能等可定制的Linux版本,借以实现从微观角度理解Linux构成及运行原理之目的;
二. Shell编程入门及进阶
1、bash基础及工作环境的定制,详细讲解profile、profile.d、bashrc、.bash_profile及.bashrc等配置文件的功用;
2、bash脚本结构及运行;bash变量(局部变量、本地变量、环境变量、位置参数变量及特殊变量)及其表达式;
3、条件测试(整数测试、字符串测试及文件测试);if和case选择分支;
4、for、while、until循环及使用continue和break来控制循环机制;
5、在bash中使用函数,以及利用函数来实现bash库;
6、脚本控制:在脚本中捕获信号并完成自定义处理;
7、脚本执行结果输出:printf命令的使用及在脚本中使用颜色;
8、bash脚本运行时配置:在脚本中使用选项;
9、bash数据处理:在脚本中使用数组;
10、bash脚本调试及debug功能的实现;
11、窗口编程:dialog文本对话框命令及shell编程中的应用;
12、基本正则表达式、扩展正则表达式及grep命令精讲;
13、sed命令及awk命令精讲;
三. Linux平台常见网络服务及安全管理
web服务高级应用
2、加密/解密原理及数据安全、密钥交换的实现、PKI基础概念及openssl使用详解;
3、DNS(BIND9)服务原理精讲,BIND服务配置、高级应用和安全,并实现以view为核心的适应国内运营商间解析接驳的智能DNS系统;(马哥团队实现的项目:www.dns.la,国内应用仅次于dnspod的智能DNS系统;)
4、ftp服务基本原理,以vsftpd为例讲解ftp服务的实现,包括虚拟用户及相关权限定制、安全配置及ftps等高级话题;
5、http协议原理、请求/响应报文格式、SSL会话的原理及https协议;apache基础、各MPM模型对比、安装配置及各参数详解;apache虚拟主机的实现及安全应用(https、suEXEC等);
6、LNMP/LAMP环境配置基础
7、nginx的特性详解,nginx的基本配置、虚拟主机的实现、URL地址重写、及安全应用以及LEMP的实现等;
8、web应用框架django基础概念及其与apache(mod_python及uWSGI等方式)或nginx的整合;
9、VPN的基本原理及类型、OpenVPN的配置及其应用;
10、iptables/netfilter安全体系工具精讲;iptables命令的基本应用,如各子命令的功能、通用匹配、扩展匹配及跳转目标等;
11、iptables/netfilter高级应用,包括连接追踪、网络地址转换、及多种扩展模块的使用以及七层过滤等高级话题;
12、RPC的基本概念;NFS服务基础原理及配置;samba服务基础原理及配置;
13、电子邮件系统原理精讲;postfix/dovecot等邮件服务工具的配置和应用,smtps、pop3s、imaps等高级安全应用的实现;以案例为基础讲解postfix、mysql、ldap、虚拟域、虚拟用户、身份验证、邮件加密、webmail、POP、IMAP服务的整合应用;
14、nss的原理及配置;pam的基础概念、常用模块讲解及系统默认的配置讲解;
四. 集群/存储专题
1、详述Linux系统集群体系结构、类型及应用方案;
LVS专题
2、Linux虚拟服务器LVS原理,详细讲解其类型及调度方法等;
3、LVS-NAT、LVS-DR的配置及以之实现apache、nginx、ssh等负载均衡应用,并详细比较此两种实现方式的不同及各自的应用场景;
4、LVS持久性连接应用环境理论及实现;FW方式实现LVS的affinity应用;
5、编写bash脚本实现对realserver健康状态监控,实现realserver故障隔离及自动重新上线等功能;
高可用服务专题
6、高可用集群原理及Heartbeat、openais/corosync等解决方案原理精讲;
7、Heartbeat安装、配置及以web为例实现高可用环境;
8、Hertbeat资源配置方式及维护;使用heartbeat-gui实现基于图形化方式对集群进行管理;
9、Corosync/OpenAIS高可用集群解决方案原理及实现方法;基于案例详解生产环境中应用Pacemaker配置实现高可用集群的方法;(一步步以完全手动的方式实现Linux系统上的HA集群);
10、资源管理原理、类别、LSB脚本的编写等及资源管理的定义;基于pacemaker的高可用环境下资源管理详解;Stonith原理、类别及其实现方法;
11、RHCS集群套件工作原理精讲,并从微观角度介绍其与前述解决方案的异同;RHCS集群的部署演示;
12、LVS和corosync集成实现高可用director及负载均衡的大规模应用服务器集群,包括ldirectord的应用等;
13、高可用服务解决方案keepalived及其实现,以nginx或haproxy为例讲解其双主模型的实现;
14、RAID、NAS、SAN、iSCSI等存储原理及基于Linux的iSCSI服务器的实现及应用;讲解openfiler、freenas或Nexentastor等开源解决方案的应用;
15、GFS2集群文件系统的原理;基于iSCSI讲解GFS2的实现;
五. 代理加速/应用服务器
web服务高级应用
1、http协议的缓存原理及常用首部、常用见的反向代理解决方案的功能对比等;2、varnish服务原理、安装配置;varnish状态引擎详解及VCL编程详解;varnish系统参数高速及生部环境中的部署方案;
3、Nginx upstream和proxy模块负载均衡和反向代理部署精讲;
4、haproxy精讲:haproxy功能与特性、常用配置指令、常用调度算法及ACL等;
5、Memcached服务及其在web服务体系中的应用;
6、java、jsp、servlet、HotSpot JVM、J2SE、J2EE及web container等相关技术要点详解;
7、Tomcat体系结构、安装配置、连接器及与apache或Nginx的整合;Tomcat各集群模型及其实现案例;
8、各种负载均衡场景中session保持的实现方案及特性对比详解;
可扩展web架构
9、分布式文件系统详述;常见分布式文件系统功能与特性对比说明;
10、以MogileFS原理、安装配置及其应用案例;MogileFS与nginx的整合;
11、CDN技术实现原理;
12、可扩展web服务设计及相关解决方案选择(日均10万PV发展至100万PV,再到1000万PV站点的扩展思路及部署要点);大规模、高并发、高可用web服务器群的体系结构、设计及其实现;
13、Web环境压力测试、系统性能评估、结果分析及优化;
六. 虚拟化及Iass云技术
Xen虚拟化技术精讲
1、X86平台虚拟化技术难点及相关解决方案原理详解:CPU虚拟化、内存虚拟化及IO虚拟化,虚拟化种类及相关特点等;
2、Xen虚拟化基础;Xen虚拟化技术中调度、中断、内存、IO、网络及块设备的虚拟实现原理;
3、Xen在RHEL6或CentOS6上的安装、配置及简单应用;
4、Xen环境中虚拟存储和虚拟网络设备的配置及管理详解;qemu-img工具详解;
5、Xen管理工具栈xm及xl从入门到精通;
6、XenServer简介;
KVM虚拟化技术精讲
7、KVM虚拟化基础;KVM虚拟化技术实现原理;
8、构建KVM环境:KVM的安装、配置及应用;
9、基于qemu-kvm命令行工具栈管理kvm;
10、KVM的核心功能:CPU、内存、存储及网络虚拟化的配置;基于SDL和VNC的图形显示功能应用;
11、基于libvirt、virt-intall和virt-manager工具栈管理kvm;
12、半虚拟化技术(virtio)、实时迁移、IO透传技术及KSM;
13、KVM性能测试及基于KVM应用的Linux系统优化;
14、生产环境中虚拟化技术的应用方案及常用管理工具说明;
OpenStack云环境
15、IaaS、PaaS、SaaS云技术介绍;
16、OpenStack云栈详解:Keystone、Glance、Nova、Swift、Horizon等组件的功能、特性及协作流程;
17、OpenStack的网络模型及Neutron服务;
18、OpenStack的块存储服务及Cinder服务;
19、Ceilometer及Heat;
20、具有独立控制节点、多计算节点及独立对象存储节点的全功能OpenStack环境部署案例;
七. 自动化运维
1、自动化运维概述:高效地管理IT资产并满足复杂多变的业务需求、构建高效IT系统、快速发现和解决IT系统中出现的问题等;
网络、系统及服务监控类工具
2、SNMP协议原理及Linux系统上的配置及实现应用案例;
3、网络、系统及服务等相关指标的监控模型及体系结构;
4、zabbix监控系统详解;(课程内容详细列表请参见http://mageedu.blog.51cto.com/4265610/1309875;)
5、rrdtool详解;cacti安装、配置;编写脚本基于cacti完成监控功能的定制;
6、Nagios入门、进阶及高级应用;nagios监控插件的开发;
预备类工具
7、RHEL/CentOS平台上的无人值守安装脚本Kickstart;基于PXE完成系统自动化安装;
8、Cobbler应用详解:服务原理、配置及应用;
配置管理类工具
9、ansible命令联动工具的使用;
10、开源的软件自动化配置和部署工具puppet详解;(课程内容详细列表请参见http://mageedu.blog.51cto.com/4265610/1308671)
11、saltstack(相当于Func加强版+Puppet精简版)详解;
说明:如果课堂时间不够充分,第5和个第6个将会以视频方式提供,而第10个和第11个则只会选讲一个;
八. Linux系统原理基础及系统调优
1、PC Server结构概述及Linux系统体系结构概述;
2、Linux系统进程相关理论(如调度方法、抢占、优先级、调度类别等),进程性能监控、分析及调优方案;
3、CPU及缓存架构、缓存一致性算法及内存访问模型;
4、Linux内存架构体系(如内存区域、MMU、TLB、slab、伙伴系统、页及页框等相关理论知识),内存使用率实时监控、性能分析及调优方案;
5、Linux系统IO体系架构及设备驱动;磁盘IO体系架构(如缓存架构体系、pdflush、bio、磁盘队列、IO调度器等相关理论知识),磁盘性能实时监控、分析及调优方案;
6、Linux虚拟文件系统体系架构及相关理论知识(如块、inode、日志等)、常见文件系统类型及使用iozone等工具对文件系统性能的评估与比较,并结合实际项目需要选择最佳文件系统;
7、中断及异常相关理论知识(如信号、IRQ、进程上半部和下半部、中断处理器等)及在系统调优中的应用;
8、Linux网络子系统架构体系及相关理论知识(如socket buffer、NAPI、kernel buffer等),网络子系统性能的监控、分析及调优方案的设计及实现;
9、基于Linux系统调优理论知识进行实际项目调优,如MySQL服务器的调优(系统部分)等;
10、系统性能评估方法、指标;
11、常用工具如sar、htop、dstat、iostat、perf、netpef、iperf及iozone等的使用,以之评估操作系统性能的方法;
12、以web服务及mysql服务为例,详细讲解其优化的思路、方案及实现过程;
九. 海量数据并行处理系统
10.1 NoSQL
1、CAP理论模型及NoSQL基础理论;NoSQL数据库特性、技术流派及代表性项目;
2、MongoDB体系结构、安装配置及应用;(具体课程列表请参照http://mageedu.blog.51cto.com/4265610/1317270)
10.2 Hadoop
3、MapReduce基础概念、运行框架、调度模型等;
4、HDFS基础概念、命令行接口、数据序列化、数据流等;
5、Hadoop伪分布式及完全分布式模型的构建、测试及应用;
6、生产环境中Hadoop多种常用属性的调优及其注意事项等;
7、Hadoop生态系统及常用组件说明;
8、Hadoop调度算法及其选用;
9、Hadoop硬件选型要点;
10、Zookeeper功能、特性、安装配置及应用;列式数据库HBase基础原理、安装配置及其应用;
11、数据仓库Hive基础原理、安装配置及应用;
12、讲解flume/scribe/chukwa/kafka日志收集系统其中之一;
13、使用工具完成Hadoop自动化部署;
补充
1、rpm包SPECS文件详解、RPM包制作及包签名的实现;
2、LDAP协议原理及常见的实现;OpenLDAP的安装、配置及应用;
3、基于busybox和内核定制制作微型Linux系统,并通过编译的方式为之提供相应的服务以进一步理解Linux系统;LFS系统及其实现;
5、redis体系结构、安装配置及应用;
6、ats功能、特性、安装配置及应用;
7、logstash:功能丰富的日志收集分析系统;
. 资源大全
备份
备份软件
Amanda -客户端-服务器模型备份工具
Bacula – 另一个客户端-服务器模型备份工具
Backupninja -轻量级,可扩展的元数据备份系统
Backuppc -客户端-服务器模型备份工具和文件共享方案。
Burp -网络备份和还原程序
Duplicity -使用rsync算法加密的带宽-效率备份
Lsyncd -监控一个本地目录树的变化,然后产生一个进程去同步变化。默认使用rsync。
Rsnapshot -文件系统快照工具
SafeKeep -使用rdiff-backup,集中的,基于pull的备份
TarSnap – 具有一个开源客户端的安全备份服务
UrBackup -另一个客户端-服务器备份系统
DREBS – AWS EBS支持策略的备份脚本
克隆
克隆软件
Clonezilla -分区和磁盘镜像/克隆程序
Fog – 另一个计算机克隆解决方案
Redo Backup -简单的备份,恢复和还原
云计算
AppScale – 兼容Google App引擎的开源云计算软件.
Archipel -使用Libvirt管理和监视虚拟机
CloudStack -创建,管理和部署基础云服务的云计算软件
Cobbler -Cobbler是一个Linux安装服务器,允许快速地构建网络安装环境
Eucalyptus -兼容AWS的开源私有云软件
Mesos -开发和运行能效高的分布式系统。
OpenNebula -一个用于系统管理员和研发运维的用户驱动的云管理平台
OpenStack -构建私有和开放云的开源软件
The Foreman -Foreman是一个用于物理和虚拟服务器的全生命周期管理工具.FOSS.
云业务流程
BOSH -IaaS业务流程平台,最初用于部署和管理云计算平台PaaS,但也用于通用的分布式系统。
Cloudify -使用Python和YAML编写的开源TOSCA-based云业务流程软件平台。
Juju -云业务流程工具用于管理服务,比如charms,YAML配置和部署脚本集
MCollective -来自Puppet实验室的管理服务器业务流程和开发的Ruby框架
Overcast -在不同的云提供商上部署VMs,并在任何或所有(VM)上通过SSH并行运行命令行和脚本
Rundeck – 简单的业务流程工具
Salt -Python编写
云存储
git-annex assistant -在你的每一个OSX和Linux电脑,Android设备,可移动驱动,NAS电器和云服务上一个同步文件夹
ownCloud -提供你的文件的统一访问,通过web,你的电脑和你的移动设备
Seafile -另一个开源的云存储解决方案
SparkleShare -提供云存储和文件同步服务。它默认使用Git作为存储后端
Swift -一个高可用,分布式,最终一致的对象/大数据存储
Syncthing -一个用于私有,加密和身份认证数据的开源系统
代码审查
基于Web的协作式代码审查系统
Gerrit -基于Git版本控制,它促进软件开发人员审查源代码修改和批准或拒绝这些变更。
Review Board – 基于MIT License的可用自由软件
协作软件
协作软件和群件套件
Citadel/UX -协同套件(消息和群件)继承于Citadel家族程序
EGroupware -PHP编写的群件软件
Horde Groupware -基于PHP的协作软件套件,包括邮件,日历,wiki,时间跟踪和文件管理
Kolab – 另一个群件套件
SOGo – 协作软件服务器,专注简单性和可伸缩性
Zimbra -协作软件套件,包括邮件服务和web客户端
配置管理数据库
配置管理数据库(CMDB)软件
i-doit – 开源的IT文档管理和CMDB
iTop -一个完全开源的,ITIL,基于web的服务管理工具
Ralph -用于大型数据中心或较小本地网络的资产管理,DICM和CMDB系统
Clusto -帮助跟踪你的库存,在哪,如何连接,同时提供一个和基础架构元素交互的抽象接口
配置管理
配置管理工具
Ansible -Python编写的,通过SSH管理节点
CFEngine -轻量级代理系统。通过申明语言配置状态。
Chef -Rbuy和Erlang编写,使用纯RubyDSL
Fabric – Python库和cli工具,为应用程序部署或系统管理任务简化使用SSH。
Pallet -通过Clojure DSL进行架构定义,配置和管理
Puppet – Ruby编写,使用Puppet声明语言或Rbuy DSL
Salt – Python编写
Slaughter – Perl编写
持续继承和持续部署
持续集成/部署软件
Buildbot – 基于Python的持续集成工具
Drone – 构建在Docker,使用YAML文件配置的的持续集成服务器
GitLab CI -基于rbuy。他们也提供GitLab用于管理git存储库
Go – 开源的持续交付服务器
Jenkins – 一个可扩展的开源持续集成服务器
Vlad the Deployer -自动化部署
分布式文件系统
网络分布式文件系统
Ceph -分布式对象存储和文件系统
DRBD -分布式块设备复制
LeoFS -非结构化对象/数据存储和高可用性,分布,最终一致的存储系统。
GlusterFS – 可扩展,网络附加存储文件系统。
HDFS – Java编写的,用于Hadoop框架的分布式、可伸缩、可移植文件系统
Lustre -一种并行分布式文件系统,一般用于大规模集群计算。
MooseFS – 容错、网络分布式文件系统。
MogileFS -应用程序级别、网络分布式文件系统。
OpenAFS -只读副本和多操作系统支持的分布式网络文件系统
TahoeLAFS -安全、分散、容错、点对点分布式数据存储和分布式文件系统。
XtreemFS -XtreemFS是一个用于存储需求的容错式分布式文件系统。
DNS
DNS服务器
Bind -最广泛使用的域名服务软件
djbdns -DNS应用集合,包括tinydns
Designate – DNS REST API,支持多种DNS服务器的后端
dnsmasq -为小规模网络提供DNS,DHCP和TFTP服务的轻量级服务
Knot – 高性能,权威的DNS服务器
NSD – 权威的、高性能的、简单的域名服务器。
PowerDNS -具有各种数据存储后端和负载平衡功能的DNS服务器。
Unbound – 验证、递归和缓存DNS解析器。
Yadifa – 具有DNSSEC兼容的轻量级的权威域名服务器,支持.eu的顶级域名。
主机控制面板
Web主机控制面板
Ajenti -Linux和BSD控制面板
Feathur – VPS供应和管理软件
ISPConfig -Linux主机控制面板
VestaCP -用于Linux和Nginx的主机面板
Virtualmin -基于webmin的Linux控制面板
ZPanel -Linux BSD和Windows控制面板
IMAP/POP3
IMAP/POP3邮件服务器
Courier IMAP/POP3 -快速,可伸缩,企业级IMAP和POP3服务器
Cyrus IMAP/POP3 -运行在密封服务器上,普通用户不允许登录。
Dovecot -主要考虑安全而编写的IMAP和POP3服务器
Qpopper – 一个古老且流行的POP3服务器实现
IT资产管理
IT资产管理软件
GLPI -带有额外管理接口的信息资源管理器
OCS Inventory NG -允许用户清算IT资产
RackTables -数据中心和服务器房间资产,比如将硬件资产,网络地址,在货架空间,网络配置文档化。
Ralph – 针对大型数据中心系统以及小型局域网网络的资产管理、DCIM和CMDB。
Snipe IT -资产和许可证管理软件
LDAP
LDAP服务器
389 Directory Server – 通过Red Hat部署
Apache Directory Server -用Java编写的Apache软件基金会项目
Fusion Directory -基于OpenLDAP改善服务和公司目录的管理
OpenDJ – OpenDS分支
OpenDS -另一个用Java编写的目录服务器
OpenLDAP -由OpenLDAP项目开发
日志管理
日志管理工具:收集,解析,可视化
Elasticsearch – 一个基于Lucene的文档存储,主要用于日志索引、存储和分析。
Fluentd – 日志收集和发出
Flume -分布式日志收集和聚合系统
Graylog2 -具有报警选项的可插入日志和事件分析服务器
Heka -流处理系统,可用于日志聚合
Kibana – 可视化日志和时间戳数据
Logstash -管理事件和日志的工具
Octopussy -日志管理解决方案(可视化/报警/报告)
监控
监控软件
Cacti -基于Web的网络监控和图形工具
Cabot – 监控和报警,类似PagerDuty
check_mk -Nagios的扩展集合
Dash -一个用于GNU/Linux机器的低开销web仪表板监控。
Icinga – Nagios分支
LibreNMS – Observium分支
Monit – 管理和监控Unix系统的小型开源工具
Munin -网络资源监控工具
Naemon -基于Nagios4内核的网络监控工具,具有性能加强和新功能
Nagios -计算机系统,网络和基础架构监控软件
Observium -服务器和网络设备的SNMP监控,运行在linux
OMD -开放的监控分布
Opsview -基于Nagios4,Opsview核心,用于小型IT和测试环境
Riemann -灵活和快速的事件处理器,允许负责时间和度量分析
Sensu -开源的监控框架
Sentry – 应用监控,事件记录和聚合
Shinken – 另一个监控框架
Thruk – 多后台监控的web接口,支持Naemon,Nagios,Icinga和Shinken
Xymon -灵感来自Big Brother的网络监控
Zabbix – Enterprise-class software for monitoring of networks and applications.
Zabbix – 监控网络和应用的企业级软件
Zenoss -基于Zope的应用,服务器和网络管理平台
度量和度量收集
度量收集和显示软件
Collectd -系统统计收集守护进程
Collectl -高精度系统性能指标收集工具。
Dashing -Ruby gem,允许快速统计仪表板的开发。基于HTML5,允许在数据中心或会议室进行大屏幕显示。
Diamond -基于Python的统计收集守护进程
Ganglia – 基于RRD用于网格和/或集群的服务器的高性能、可伸缩监控设备。兼容Graphite,使用一个单一的收集进程。
Grafana -一个Graphite或InfluxDB仪表盘和图形编辑器
开源的可伸缩绘图服务器
InfluxDB -开源的分布式时间序列数据库,没有外部依赖。
KairosDB -快速分布式可扩展的时间序列数据库,OpenTSDB 1. x的分支。
OpenTSDB -存储和服务大量的时间序列数据,不丢失粒度。
RRDtool – 开源企业标准,用于时间序列数据的高性能数据记录和绘图系统
Statsd -应用统计监听
网络配置管理
网络配置管理工具
GestióIP -一个自动的基于web的IPV4/IPV6地址管理工具
RANCID -监控网络设备配置和维护历史变更
rConfig -另一个网络配置管理工具
时事通讯
时事通讯软件
DadaMail -Perl编写的邮件列表管理器
phpList -PHP编写的时事通讯管理器
NOSQL
NOSQL数据库
列族
Apache HBase – Hadoop数据库,一个分布式的大数据存储
Cassandra -分布式数据库管理系统,设计用于处理大量数据跨多个服务器。
Hypertable -基于c++的bigtable DBMS,节省通信,可独立或在Hadoop类似的分布式FS上运行。
文档存储
CouchDB -易于使用,多主机复制的面向文档的数据库系统。
ElasticSearch – 基于Java的数据库,受欢迎的日志聚合,和电子邮件归档项目。
MongoDB – 另一个面向文档的数据库系统
RavenDB – 具有ACID/事物功能的基于文档的数据库
RethinkDB -开源分布式文档存储数据库,关注JSON
图
FlockDB -Twitter分布式,容错图数据库
Neo4j – 开源图数据库
键值
LevelDB -Google高性能键值数据库
Redis – 支持网络,基于内存,键值,亦可持久化数据库
Riak -另一个容错的键值NoSQL数据库
NoSQL服务器比较: http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis
打包
fpm – 万能的多格式包创建器
omnibus-ruby – 全栈,跨发行版的包管理软件(Ruby)
packman -全栈,跨发行版的包管理软件(Python)
tito – 为git项目构建RPM
队列
BeanstalkD – A simple, fast work queue.
BeanstalkD – 一个简单快速的工作队列
Gearman -快速的多语言队列或任务处理平台
NSQ – 实时分发的消息平台
RabbitMQ -健壮的,全功能,跨发行版的队列系统
ZeroMQ -轻量级队列系统
RDBMS
关系数据库管理系统
Firebird – 真正的全球开源数据库
Galera -Galera MySQL集群是一个易于使用的高可用性解决方案,具有很高的系统正常运行时间,没有数据丢失,为未来的增长提供可伸缩性。
MariaDB -MySQL的社区开发分支
MySQL – 非常流行的RDBMS服务器
Percona Server -增强的,可替换MySQL
PostgreSQL – 对象关系数据库管理系统(ORDBMS)
PostgreSQL-XL – 基于PostgreSQL的可伸缩开源数据库集群
SQLite -自包容,弱服务器,零配置,支持事务的SQL DBS实现库
安全
安全工具
Denyhosts -阻止SSH字典攻击和暴力攻击
Fail2Ban – 扫描日志文件,并对具有恶意行为显示的IP采取措施
SpamAssassin -一个强大的和受欢迎的垃圾邮件过滤器,它采用多种检测技术。
服务发现
Consul – Consule是伊戈尔服务发现,监控和配置的工具
Doozerd – Doozer是一个高可用,完全一致的存储,用于少量非常重要的数据
ZooKeeper – ZooKeeper是一个集中的服务,用于维护配置信息,命名,提供分布式同步和组服务
SMTP
SMTP服务器
Exim -由剑桥大学开发的消息传输代理(MTA)
Haraka – 用JavaScirpt编写的高性能,可插入的SMTP服务器
MailCatcher -Ruby gem部署一个简单的SMTP MTA网关,接收所有邮件并在web接口显示。对调试和开发有用。
Maildrop -开源的一次性邮件服务器,对开发也很有用
OpenSMTPD -从OpenBSD项目实现的安全的SMTP服务器
Postfix – 快速,易于管理和安全的Sendmail替代品
Qmail – 安全的Sendmail替代品
Sendmail -消息传输代理(MTA)
软件容器
操作系统级别的虚拟化
Bitnami -为web应用,开发栈和虚拟设备生产开源软件安装器或软件包
Docker – 给开发者和系统管理员构建,发布和运行分布式应用程序的开放平台
OpenVZ -Linux平台基于容器的虚拟化
SSH
SSH工具
autossh -网络中断后自动复位ssh会话。
Cluster SSH -通过一个图形化控制台控制多个xterm窗口。
DSH -Dancer的shell/分布式shell-从一个命令行包装执行多个远程shell命令。
Mosh – 移动shell
parallel-ssh -提供并行的OpenSSH版本和相关工具
SSH Power Tool -不使用pre-shared钥匙的情况下对多个服务器同时执行命令和上传文件
统计
分析软件
Analog – 世界上最流行的日志分析工具
GoAccess -在终端运行的开源的实时web日志分析和交互视图
Piwik -免费和开源的web分析应用
Webalizer – F快速免费的web服务器日志文件分析程序
工单系统
基于web的工单系统
Bugzilla -由Mozilla项目开发和使用过的通用缺陷跟踪和测试工具
Cerb – 基于商业开源许可的基于组的邮件管理项目
Flyspray – 使用PHP编写的缺陷跟踪系统
MantisBT -另一个基于web的缺陷跟踪系统
osTicket -开源的技术支持工单系统
Otrs -免费和开源故障通知单系统软件包,公司,组织,或其他实体可以使用它来基于询问分配工单并跟踪进一步的沟通。
Request Tracker -使用Perl编写的工单跟踪系统
TheBugGenie -开源的工单系统,具有非常完备的用户权限分配
故障排除
故障排除工具
mitmproxy -ython工具,用于拦截,查看和修改网络流量。在排除某些问题是非常重要的。
Sysdig -从一个运行的linux实例上捕获系统状态和活动,之后保存,过滤和分析
Wireshark -世界上著名的网络协议分析工具
项目管理
基于web的项目管理和缺陷跟踪系统
ChiliProject – Redmine分支
GitBucket 用Scala编写的GitHub的克隆,单独jar安装
GitLab -用Rbuy编写的GitHub的克隆
Gogs -用Go编写
OpenProject -开源的项目协作项目
Phabricator PHP编写
Redmine – 基于rails在rbuy编写
The Bug Genie -PHP编写
Trac -python编写
版本控制
软件版本和版本控制
Fossil -分布式版本控制,内建wiki和缺陷跟踪
Git -速度很快的分布式版本控制和源代码管理
GNU Bazaar -由Cannoicalzi赞助的分布式版本控制系统
Mercurial -另一个版本控制
Subversion -客户端-服务器版本控制系统
虚拟化
虚拟化软件
Ganeti -在KVM和Xen上构建的集群虚拟服务器管理软件
KVM -Linux内核虚拟化架构
oVirt -管理虚拟机,存储和虚拟网络
Packer – 从单个源配置为多个平台创建相同的机器镜像
Vagrant – 创建完整开发环境的工具
VirtualBox -来自Oracle公司的虚拟化产品
Xen -用于32/64位Intel/AMD(IA 64)和PowerPC 970架构的虚拟机监控器
VPN
VPN软件
OpenVPN -使用一个定制的安全密钥交换协议,利用SSL / TLS。
Pritunl -基于OpenVPN的方案,易于设置
SoftEther – 具有高级特性的多协议VPN软件
sshuttle -穷人的VPN
strongSwan – Linux下完整的IPsec实现
tinc -分布式点对点VPN
XMPP
XMPP服务器
ejabberd -用Erlang/OTP编写的XMPP短信服务器
Metronome IM -Prosody IM分支
MongooseIM -ejabberd分支
Openfire -实时协作(RTC)服务器
Prosody IM -Lua编写的XMPP服务器
Tigase -java实现的XMPP服务器
Webmails
Webmail应用
Mailpile – A modern, fast web-mail client with user-friendly encryption and privacy features.
Mailpile – 一个先进,快速的web-mail客户端,具有用户友好的加密的私有个性
Roundcube – Browser-based IMAP client with an application-like user interface.
Roundcube – 基于浏览器的IMAP客户端,具有应用类似的用户界面
Web
Web服务器
Apache -最流行的web服务器
Cherokee -轻量级,高性能的web服务器/反向代理
Lighttpd – speed-critical环境下更优化的web服务器
Nginx -反向代理,负载均衡器,HTTP缓存和web服务器
uWSGI -uWSGI项目,目标在开发一个构建主机服务的全栈
Web性能
HAProxy – 负载均衡,SSL卸载和性能优化,压缩和通用web路由
Varnish -基于HTTP的web应用加速器,关注内存优化和压缩
Wikis
Wiki软件
DokuWiki -使用简单和高度通用的wiki,这并不需要一个数据库。
Gollum – 一个简单,Git-powered wiki,具有不错的API和本地前端。
ikiwiki -一个wiki编译器
Mediawiki -加强Wikipedia
MoinMoin -一个高级的易用的扩展性强的Wiki引擎,具有大量的社区用户TiddlyWiki – JavaScript的完整交互wiki
Ōlelo Wiki – 在Git存储上保存页面的wiki
资源
各种资源,比如书籍,网站和文章,用于提升技能和知识
博客
Code as Craft – Etsy的运维博客,大量的技术博客
DevOpsGuys – Devops顾问,运维博客
Rackspace Developers -具有大量Devops主题的博客
书籍
Sysadmin相关书籍
The Linux Command Line – William Shotts的书,关于Linux命令行
The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win -DevOps技术如何修复发生在IT组织的问题
The Practice of System and Network Administration – 第一和第二版本描述系统和网络管理的最佳实践,独立于特定平台或技术。
The Visible Ops Handbook: Implementing ITIL in 4 Practical and Auditable Steps -一个方法论,旨在启动实施控制和过程改进。
UNIX and Linux System Administration Handbook – 从使用的角度走进系统管理
编辑器
开源的代码编辑器
Atom -来自Github的文本编辑器
Brackets – 用于web设计和前端开发的开源代码编辑器
Eclipse – 用Java编写的IDE,具有可扩展的插件系统
Geany -GTK2文本编辑器
GNU Emacs -一个可扩展,自定义的文本编辑器
Haroopad -Markdown编辑器,具有实时预览
ICEcoder -非常棒的代码编辑器,内建常见的web语言
jotgit -Git支持的实时协作代码编辑
Light Table – 下一代代码编辑器
Lime -旨在提供一个Sublime Text的开源替代方案
TextMate -OS X下的图形文本编辑器
Vim -一个高可配置的文本编辑器,用于高效编辑
时事通讯
Servers for Hackers – 程序员的时事通讯,发现他们需要知道的服务器相关内容。
存储
软件包存储
Dotdeb – Debian下LAMP更新包的存储
Remi – RHEL/Centos/Fedora下LAMP更新包的存储
网站
有用的系统管理员相关的网站
Ops School – 全面的计划,将帮助你成为一名运维工程师。
Digital Ocean Tutorials – 一个非常庞大资源,获得基本的应用程序,工具,甚至是系统管理主题。
- linux学习知识体系
- linux学习知识体系
- linux学习知识体系
- linux知识体系框图
- BBED学习-知识体系
- BBED学习-知识体系
- 机器学习知识体系
- 机器学习知识体系
- 机器学习知识体系
- 机器学习知识体系
- 机器学习知识体系
- 深度学习知识体系
- linux 知识体系精炼版
- 编程语言学习知识体系
- python学习知识体系梳理
- 机器学习知识体系[转]
- 【知识体系】神经网络与深度学习知识体系
- linux cron学习体系
- iOS swift MD5加密
- 二进制 整数 和其负数
- Linux基本操作笔记
- 基于QT 5.5.1 for Android的Windows开发环境搭建
- python之生成器
- linux学习知识体系
- 深入理解JSON对象
- JVM 性能调优实战之:使用阿里开源工具 TProfiler 在海量业务代码中精确定位性能代码
- 深度学习框架Lasagne的一些总结和技巧
- MAC下搭建Android Studio
- 如何通过google earth生成cad里单位高程离散点
- iOS10开发需要注意的一些问题(转)
- mysql -- 查看并更改mysql 数据存储的物理地址
- 编译IJKPlayer android版时遇到的一些问题