Linux学习笔记(21~29)

续前文

21、Raid及mdadm命令

RAID

  • 独立冗余磁盘阵列
  • 条带化技术
  • RAID level:磁盘组织方式不同,没有上下之分 、
  • 可用性
    • 磁盘镜像技术,mirror
    • 校验码

22、Linux网络配置

  • Protocol,协议
    • 线路仲裁机制:MAC,Media Access Control
      • MAC地址,
      • 首部,header,报头
      • CSMA/CD:Carrier Sende Multi Access Collision Detection载波侦听多路访问,冲突检测
  • 主机接入网络
    • IP
      • 手动指定
      • DHCP:Dynameic Host Configuratiion Protocol
        • 169.254.*.*:随机配置,只能本地通信,获取不到ip
      • 地址属于内核
    • NETMASK
    • GETWAY
    • HOSTNAME
    • DNS1
    • DNS2
    • DNS3
    • 路由
    • 接口
      • lo:本地回环
      • 以太网网卡:ethX
      • pppX:点对点连接
      • RHEL6定义网卡命名方式: # cat /etc/udev/rules.d/70-persistent-net.rules
  • 命令
    • ifconfig
      • 查看网络配置
      • -a:显示所有接口的配置信息
      • # ifconfig ethX IP/MASK [UP|DOWN]:设置网络地址,子网掩码写长度,启用禁用 。
      • 立即生效,但重启网络服务或主机都失效/etc/init.d/network {start|stop|restart|status}
        • 禁用服务
    • route
      • add:添加
        • -host:主机路由
        • -net:网络路由
          • -net 0.0.0.0 默认路由 # route add default gw 192.168.10.1
          • # route add -net 10.0.0.0/8 gw 192.168.10.1
      • del:删除
        • -host
          • # route del -net 10.0.0.8/8
        • -net
      • -n
        • 以数字方式显示各主机或端口信息
      • 立即生效,重启失效。
  • 配置文件
    • 网络:/etc/sysconfig/network
    • 接口:/etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME
      • DEVICE=:关联的设备名称,与INTERFACE_NAME一致
      • BOOTPROTO=:引导协议,静态static或none,dhcp
      • IPADDR=:ip地址,
      • NETMASK=:子网掩码
      • GATWAY=:设定默认网关
      • ONBOOT=:开机时是否自动激活此网络接口
      • HWADDR=:可省
      • USERCTL=:是否允许普通用户启用或关闭此设备
      • PEERDNS=:是否在BOOTPROTO为dhcp时接受由DHCP服务器指定的DNS地址
      • 不会立即生效,重启永久生效;/etc/init.d/network {start|stop|restart|status}
    • 路由:/etc/sysconfig/network-scripts/route-ethX-----vim
      • 格式一:dest via NEXTHOP
        • 192.168.10.0/24 via 10.10.10.254
      • 格式二
        • ADDRESS0=
        • NEXTMASK0=
        • GATEWAY0=
    • DNS /etc/resolv.conf
      • nameserver DNS_IP_1
      • nameserver DNS_IP_2
      • nameserver DNS_IP_3
    • 指定本地解析
      • /etc/hosts
      • 格式:目标主机ip 主机名 [别名]
    • hostname HOSTNAME
      • 临时
      • 永久:/etc/sysconfig/network
        • HOSTNAME=
      • RHEL5图形界面:
        • # export LANG-en,setup
      • iproute2
        • ip
          • link:配置网络接口属性
            • show:# ip link show
            • -s:显示统计信息
            • set DEVICE {}
          • addr:协议地址
            • add
              • # ip addr add 10.2.2.2/8 dev eth0 [label eth0:0]
              • # ifconfig eth0:0 172.16.200.12 实现一块儿网卡多个ip,临时
              • # vim /etc/sysconfignetwork-scripts/ifcfg-ethX:X DEVICE=ethX:X 永久
            • del
              • ip addr del ip/masklength
            • show
              • # ip addr show dev DEV to PREFIX
            • flush
              • 清空地址
              • # ip addr flush dev DEV to PREFIX
          • route:路由,策略路由
          • tc:流量控制,高级路由

23、软件包管理

  • 应用程序:
    • 程序,Architecture
    • /etc,/bin,/sbin,/lib:系统启动相关,不能挂载额外分区,必须在根文件系统的分区上
    • /usr 单独分区,重装不影响,操作系统的核心功能
    • /usr/local:第三方软件安装位置(/opt)
    • /proc,/sys:不能单独分区,默认空
    • /dev:设备,不能单独分区,udev
    • /home:新创建用户的家目录,建议单独分区
    • /root:管理员root的家目录,不单独分区
    • /var:系统运行的补充,系统管理更加规范,日志,建议单独分区,
    • /boot:内核,initrd(initramfs)
      • 内核:POST-->BIOS(HD)-->MBR(bootloader)-->内核
      • /proc/cpuinfo
  • 工具
    • 前端:Yellowdog Update Modifier(yum),apt-get
    • 后端:RPM,dpt
  • 命令
    • rpm
      • # rpm -ivh package_name | http: // website. name/path/pkgname.rpm ......:安装软件并显示安装进度
      • -qa:列出已经安装的软件
      • -q packname :查看有无安装packname
      • -ql packname:查看软件提供的所有目录和文件
      • -qi packname:列出软件的相关说明数据
      • -qc packname:列出软件的设置文件
      • -qf /path/command:查看命令是由哪个软件提供
      • -qR packname:查看安装此软件需要的帮助
      • -Va:查看哪些软件被更改过
      • --rebuilddb:重建数据库
    • yum
      • search:搜索软件名称
      • list:
        • updates:列出可供本机更新的软件
      • info:列出软件功能
      • install:安装软件
      • update:更新软件
      • remove:删除功能
      • /etc/yum.repos.d/:容器所在目录
      • repolist all:列出yum server所使用的容器有哪些
      • clean
      • grouplist:组件功能
      • groupinfo
      • groupinstall
      • update全系统自动更新
        • -y:选择yes

24、进程管理

相关命令

  • ps:process state
    • BSD风格
    • systemV,SysV风格:加横线_
    • a:BSD风格,显示所有与终端有关的进程
    • u:显示进程由哪个用户启动
    • x:与终端无关的进程
    • 进程的分类
      • 与终端相关的进程
      • 与终端无关
    • -e:显示所有线程 -A
    • -l:长格式
    • -F:额外的,-f
    • -o:显示指定的属性
  • pstree:显示进程树
  • pgrep:以grep风格找符合条件的进程
    • -u username
  • pidof:find the process ID of a running program
  • top: Display Linux tasks
    • 监控系统性能
    • -d:指定刷新时长
    • -b:批模式
    • -n # :批模式下指定显示几屏
  • 进程间通信(IPC,Inter Process Communication)
    • 共享内存
    • 信号:signal
      • 1:SIGHUP,不重启重新读配置文件
      • 2:SIGINT:中断
      • 9:SIGLILL,杀死
      • 15:SIGTERM,终止
      • 指定信号
        • kill -1
        • kill -SIGKILL
        • kill -KILL
      • 杀死进程:kill 进程id(默认15信号)
        • killall command
        • kill %jobID:终止某作业
    • semaphore
    • 调整优先级别
      • renice nice PID
    • 启动时指定nice值
      • nice -n NI COMMAND
  • fg
    • 打开进程后,CTRL+z放到后台,fg调到前台
    • 前到后:CTRL+z ,命令后加 &,
    • # fg [ jobID ]
  • bg
    • 让后台的停止的作业继续在后台运行
    • # bg [ jobID ]
  • jobs
    • 查看后台的所有作业,作业号不同于进程号
      • +:命令将默认操作的作业
      • -:命令将第二个默认的操作的作业
  • vmstat:系统状态查看命令
    • # vmstat #1 #2 :指定刷新频率和显示条数
  • uptime
    • /proc/meminfo:当前系统内存信息

25、日志系统

  • 日志系统:syslog(syslog-ng开源)
    • 信息详细程序:日志级别
    • 子系统:facility,设施
    • 动作:action
  • syslog服务:
    • syslogd:负责系统,非内核 /sbin/init
      • 位置:/var/log/messages,系统标准错误日志信息,非内核产生引导信息,各子系统产生的信息
      • 日志滚动message message.1 ....... 日志切割过程(# logrates)
      • /var/log/maillog:邮件相关
      • /var/log/secure:登陆日志
    • klogd:负责内核 kernel --> 物理终端(/dev/console)-->/var/log/dmesg
      • # dmesg 启动init前的记录
    • # chkconfig --list syslog 查看服务
    • 配置文件 : /etc/syslog.conf

26、SSH

  • telnet
    • C/S
    • TCP
    • 23
  • ssh
    • C/S
    • TCP
    • 22
    • 通信加密,主机加密
      • 非对称加密Secret key,Public key
      • 密钥交换
    • 认证方式
      • 基于口令认证
      • 基于密钥认证
    • 软件:openSSH
      • 服务器端:sshd /tec/ssh/sshd_config
      • 客户端:ssh /etc/ssh/ssh_config
      • ssh-keygen:密钥生成器
      • ssh-copy-id:将公钥传输至远程服务器
      • scp:跨主机安全复制工具
    • 命令
      • # ssh ip
      • # ssh ip -p port -l username ‘ command’
      • scp:文件复制
        • # scp SRC DEST 若是目录-r,-a
          • # scp USERNAME@HOST:/path/to/somefile /path/to/local
          • # scp /path/to/local USERNAME@HOST:/path/to/somefile
      • ssh-keygen
        • 客户端生成密钥
        • # ssh-keygen -t rsa 保存在 ~/.ssh/id_rsa id_rsa.pub 再将公钥复制到远程主机的家目录下.ssh/authorized_keys或者.ssh/authorized_keys2
        • .ssh/ 700
      • ssh-copy-idc
        • 复制公钥到远程主机
        • -i:指定本地公钥保存位置
        • # ssh-copy-id -i ~/.ssh/id_rsa.pub USERNAME@HOST
        • -f path/to/KEY_FILE
        • -P '':指定加密私钥的密码
      • netstat -tnl:查看网络中以tcp协议运行的监听服务并以数字显示端口
        • -r: 显示路由表
        • -n:数字合适
        • -t:tcp相关
        • -u:udp相关
        • -l:listening
        • -p:process
  • sshd
    • 配置文件:/etc/ssh/sshd_config 端口,协议,密码登陆开关
      • Port:端口
      • Protocol:协议
      • ListenAddress:提供服务的地址
      • KeyRegenerationInterval:密钥更新时间
      • ServerKeyBits:服务器端密钥长度
      • SyslogDFacility:日志相关
      • LoginGraceTime:宽容期限,输账号与密码的间隔时间
      • PermitRootLogin:是否允许root直接登陆
  • ssh
    • dropbear:嵌入式上使用ssh

27、常见故障排除

  • 流程
    • 确定问题的故障特征
    • 重现故障
    • 使用工具收集进一步信息
    • 排除不可能的原因
    • 定位故障
      • 从简单的问题入手
      • 一次尝试一种方法(备份原文件,尽可能借助于工具)
  • 故障类型
    • 管理员密码丢失
    • 系统无法正常启动
      • grub损坏(MBR损坏,grub配置文件损坏,)
      • 系统初始化故障(某文件系统无法正常挂载,驱动不兼容)
      • 服务故障
      • 用户无法登陆(bash程序故障)
    • 命令无法运行
    • 编译过程无法继续(开发环境缺少基本组件)
  • 修复
    • MBR损坏
      • 紧急救援模式
        • boot.iso
        • 系统安装盘
          • boot:linux rescue 紧急救援模式 /mnt/sysimage
            • 进入紧急救援
            • 进入grub
            • 设定根
          • 手动创建设备文件:mknod
  • sudo
    • 某个用户能够以另外一个用户的身份通过某主机执行某命令
    • 配置文件:/etc/dudoers who which_host=(runas) command
    • 别名:用户别名,主机别名,命令别名;别名大写英文字母

28、服务配置

  • 服务
    • DNS:域名解析
    • 软件支持(构建标准):BIND,Berkeley Internet Name Domain
    • SSL/TLS:http openssl,CA,Digital Certificate,PKI
    • HTTP:Apache,LAMP,Nginx,LNMP(LEMP),Mysql,PHP,varnish
    • CDN(内容分发服务):DNS(View),varnish
    • File Server:NFS,SMB/CIFS,FTP
    • Netfilter:iptables(filter,nat,mangle,raw),tcp wrapper
    • NSSwitxh(网络服务转换):framework,platform,PAM
    • SMTP/POP3/IMAP4:Mail Server
    • SELinux:Security Enhanced Linux C2-->SELinux-->B1
    • MySQL:
  • DNS:Domain Name Service
    • nsswith:提供名称解析的平台
    • 库:libnss_files.solibness_dns.so
    • stub resolver:名称解析器,软件,
    • ICANN:互联网名称分配
      • TLD:顶级域名(一级域)
        • 组织域:.com .org .net .cc
        • 国家域:.cn .tw .hk .iq .ir .jp
        • 反向域:IP-->FQDN
    • 根域名服务器
    • DNS服务器类型
      • 主DNS服务器:数据修改
      • 辅助DNS服务器:请求数据同步(拉取)
        • serial number
        • refresh time
        • retry time
        • expire time
        • nagative answer TTL
      • 缓存DNS服务器
      • 转发器:不缓存,只转发
    • 资源记录类型
      • SOA(Start Of Authority)
      • NS(Name Server):ZONE NAME -->FQDN
      • MX(MAIL EXCHANGE):ZONE NAME -->FQDN
      • A(address):FQDN-->IPv4
      • AAAA:FQDN-->IPv6
      • PTR(pointer):IP-->FQDN
    • 区域和域
      • 区域:Zone
        • 物理概念
      • 域:Domain
        • 逻辑概念
    • BIND服务安装配置
      • bind97
        • 配置文件:
          • /etc/named.conf,进程工作属性,区域定义
          • /etc/rndc.key:remote name domain controller(rndc),密钥文件,/etc/rndc.conf
          • 区域数据文件:/var/named
          • /etc/rc.d/init.d/named :启停
  • DHCP:Dynamic Host Configuration Protocol
    • TCP/IP
      • IPADDR:
      • NETMASK
      • GATEWAY:可省
      • DNS:可省

29、HTTP服务

  • HTTP:HyperText Transfer Protocol
    • HTTP方法
      • GET,POST
      • PUT,DELETE
    • 动态效果
      • Java,Applet,JRE
      • 非html格式,而是编程语言开发的脚本,脚本接收参数在服务器运行一次,运行完成生成HTML,再发给客户端
      • php解释器
      • 动态网页:包含静态内容和动态内容
        • 动态内容部分才需要运行
      • 缓存机制
        • 阻塞
        • 轮询
    • HTTP报文
      • 请求报文
      • 响应报文
    • Web服务器的主要操作
      • 建立连接:接受或拒绝客户端的连接请求
      • 接收请求:通过网络读取HTTP请求报文
      • 处理请求:解析请求报文并做出相应的动作
      • 访问资源:访问请求报文中的相关资源
      • 构建响应:使用正确的首部生成HTTP响应报文
      • 发送响应:向客户端发送生成的响应报文
      • 记录日志:将已完成的HTTP事务记录写入日志文件
    • httpd机制
      • 单线程
      • 多线程
      • 长连接
      • 事件驱动,通知(水平触发,边缘触发)
    • 常用客户端
      • IE
      • Firefox
      • Chrome
      • Opera
      • Safari
    • WEB服务器www.netcraft.com
      • Apache httpd
      • IIS
      • nginx
      • lighttpd
      • thttpd
    • 应用程序服务器
      • IIS
      • tomcat(Apache,JSP,open source)
      • Websphere(IBM,JSP,commodity)
      • Weblogic(Oracle,JSP,commodity)
      • JBoss(RedHat)
  • httpd安装配置
    • apache:ASF,httpd.apache.org
    • 特性
      • 事先创建进程
      • 按需维持适当的进程
      • 模块设计,核心比较小,各种功能模块儿添加(包括php)
      • 支持运行时配置,支持单独编译模块
      • 支持多种方式的虚拟主机配置
        • Socket IP:Port
        • 基于ip的虚拟主机
        • 基于端口的虚拟主机
        • 基于域名的虚拟主机
      • 支持https:mod_ssl模块
      • 支持用户认证
      • 支持基于IP或主机的访问
      • 支持每目录访问
      • 支持URL重写
    • 安装
      • 方式
        • rpm包
          • /etc/httpd:工作根目录,相当于软件安装目录
          • /etc/httpd/conf:配置文件目录,主:httpd.conf
          • /tec/httpd/modules:模块儿目录
          • /etc/httpd/logs-->/var/log/httpd:日志目录,access_log,err_log
          • /var/www:提供访问的目录,静态与动态
            • html/,cgi-bin/,
            • cgi:Common Gateway Interface,web服务器与应用程序服务器交互的协议
              • 开发动态网页:perl,python,java(servlet,JSP),php
              • fastcgi:专门的进程与应用服务器交互(分离web服务器与应用程序服务器),搭在web服务器,分离动静
        • 源码编译
      • 执行进程服务:/etc/sbin/httpd (MPM:prefork)事先启动空闲模式(由主导进程创建)
      • 服务脚本:/etc/rc.d/init.d/httpd
      • Port:80/tcp ssl 443/tcp
      • 数据库服务
        • api:
      • 流程
        • # yum -y install httpd
        • # rpm -ql httpd | less 查看生成的文件
        • # service httpd start 启动进程
        • # ps aux | grep httpd 查看进程
        • # vim /etc/httpd/conf/httpd.conf 编辑配置文件
        • LoadRunner:测试压力工具 MPM多处理模块儿(默认prefork模式)
        • # httpd -l:列出支持的模块儿
        •  /etc/httpd/conf/httpd.conf
          • DocumentRoot "/var/www/html"
          • Options在<Directory "/var/www/html">中定义
          • AllowOverride:允许覆盖
            • 用户认证:AuthConfig
              • # htpasswd 添加文件
          • Order:定义访问控制机制:主机,ip名
            • # elinks url:纯文本打开网页
          • 每个用户自己的家目录提供访问
            • <IfModule>
            • UserDir public_html
            • 用户在自己的家目录下建立文件夹public_html即可通过ip/~username访问文件夹下的文件
          • Alias:路径别名
    • PV,UV
      • 访问量记录
  • apache虚拟主机
    • apache:服务器,Host,物理主机
    • 服务于多个不同的站点
    • 中心主机,虚拟主机不会同时
      • 基于IP
        • IP1:80
        • IP2:80
      • 基于端口
        • IP:80
        • IP:8080
      • 基于域名
      • 不同
        • DocumentRoot <Directory>目录的属性
        • ServerName
      • 客户端动态,服务端动态
        • 服务器端动态:CGI
        • 动态网站
      • 虚拟主机
        • 定义:<VirtualHost HOST>
        • 需要注释掉虚拟主机的DocumentRoot
        • 基于IP:IP1:80
        • 基于端口:IP:8080
        • 基于域名:IP:80(ServerName不同即可)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值