SlideShare une entreprise Scribd logo
1  sur  26
System Administration
Agenda
系统启动
• 载入BIOS中的硬件信息进行自测;
• 读取并执行MBR中的boot loader, 目前流行的是
  GRUB;
• 载入内核(kernel), 检查硬件并加载相应的驱动程序;
• 加载initrd, 并执行init程序, 并判断当前的启动级别
  (run level);
• init执行/etc/rc.d/rc.sysinit, 执行相关的系统初始化工
  作, 比如网络, 时区等;
• init执行当前启动级别对应的系统服务脚本;
• init执行/etc/rc.d/rc.local脚本;
• init执行终端模拟程序mingetty, 并等待用户登录;
系统启动
         - 内核和虚拟内存磁盘
• 查看/boot目录下面的内容,


  vmlinuz-2.6.18-164.el5是系统核心(kernel)文件,
  initrd-2.6.18-164.el5.img则是初始化内存磁盘
  (initial RAM Disk)文件;
• 在加载内核之后, 内核并不能识别诸如文件系统
  (ext3, reiserfs等)之类的信息, initrd起到了一个过渡的
  作用; 借由initrd可以载入最基本的系统模块(包含了
  文件系统模块), 从而挂载实际的系统根目录, 并最终
  释放内存中的initrd虚拟磁盘系统.
/etc/inittab
                            概述
• 此文件被init进程读取, 描述了如何对系统进行初始化工
  作, 文件的每一行都遵循格式:
 id:runlevels:action:process
 id                     作为标志, 最多两个字符
 runlevels              启动级别, 可以写多个比如1234
 action                 需要执行的动作, 常见的如下:
    respawn             进程如果被杀死则自动重启
    wait                进入指定的启动级别时, 执行指定
                        的程序, init会等待该程序结束
    sysinit             系统启动时执行指定的程序
    initdefault         指定系统的启动级别
 process                程序命令, 比如/etc/rc.d/rc 0
/etc/inittab
                         - 内容说明
• 接下来解释该文件中比较重要的部分:
1, id:5:initdefault:
   设置系统的启动级别, 这里设置为5. 启动级别使用数字
   表示, 可以理解为不同的操作模式, 不同的启动级别会运
   行该级别对应的系统服务:
    0           关机(保留使用)
    1           单用户模式
    2           多用户模式, 不启用NFS
    3           多用户模式, 启用NFS
    4           不被使用unused
    5           图形模式
    6           重启(保留使用)
2, si::sysinit:/etc/rc.d/rc.sysinit
   执行/etc/rc.d/rc.sysinit脚本
/etc/inittab
                  - 内容说明
3, l0:0:wait:/etc/rc.d/rc 0
  执行各个启动级别对应的初始化脚本(系统服
  务), 比如启动级别5会按照当前的系统配置执
  行/etc/rc.d/rc5.d目录下面的脚本.
4, 1:2345:respawn:/sbin/mingetty tty1
  启动mingetty, 等待用户的登录
系统服务
                        - 概述
• 系统在启动过程中, 会根据启动级别和相关的配置启动相应的系统服
  务, linux系统服务是使用脚本文件和相应的命令来实现的, 这里使用
  redhat linux为例进行说明.
  1, 脚本文件
  所有的系统脚本文件都存储在/etc/rc.d/init.d目录下面, 比如
  /etc/rc.d/init.d/nfs; 这些脚本文件执行时均可以传入start/stop/restart等
  参数启动, 关闭或者重启服务.
  各系统级别对应的脚本目录, 比如/etc/rc.d/rc5.d, 下面存放的是指向这
  些脚本的符号链接, 因此系统启动时执行的脚本实际上是
  /etc/rc.d/init.d下面的脚本.
  说明: 实际上对于大多数其它linux发行版本而言, 系统脚本存放在
  /etc/init.d目录; redhat有所不同, /etc/init.d只是一个指向/etc/rc.d/init.d
  目录的符号链接.
  2, 命令
  redhat开发了相应的命令便于系统服务的管理, 常用的有:
  chkconfig       添加/删除/查看/配置系统服务
  service         对系统服务进行启动/停止/重启等操作
   system-config-service 使用图形界面的方式管理系统服务
系统服务
                        - chkconfig
• chkconfig
  此命令用于添加/删除/查看/配置系统服务,
  # 查看系统服务, 可以指定服务名查看某个特定的服务
 chkconfig --list [服务名]
 chkconfig --add 服务名# 添加一个系统服务
 chkconfig --del 服务名 # 删除一个系统服务
 # 在指定的启动级别关闭或者开启系统服务
 chkconfig --level 级别 服务名 on|off
 示例:
 chkconfig --list               # 列出所有的系统服务
 chkconfig --list nfs           # 查看nfs系统服务
 chkconfig --add httpd          # 添加apache系统服务
 chkconfig --level 234 nfs on   # 在系统启动级别234启动nfs服务
系统服务
                         - service
• service
service命令用于查看当前系统服务的状态, 启动,
关闭或者重启系统服务. 命令格式:
 service 服务名 start/stop/restart/status
另外还可以根据不同的服务传入该服务特有的参
数. 示例:
 service nfs restart          # 重启nfs服务
 service httpd status   # 查看apache服务器状态
• system-config-service
当用户以X11方式登录系统时, 可以使用此命令对系统
服务进行维护, 命令运行之后会打开一个系统服务的
图形管理界面.
系统服务
     - 如何添加一个系统服务?
• 按照如下步骤添加一个系统服务, 这里以
   someservice服务为例:
1, 编写系统服务脚本, 该脚本应该至少接收
   start/stop/restart等参数, 将脚本保存至
   /etc/rc.d/init.d/someservice文件;
2, 使用chkconfig --add someservice命令添加服
   务, 这里的服务名称应该和脚本文件名称一致;
3, 添加服务之后该服务默认在各个启动级别均被
   关闭, 使用chkconfig --level命令配置需要在哪些
   级别启动.
用户登录过程
• 系统启动过程中, init进程会按照/etc/inittab的
  配置启动多个getty后台进程, 这些进程用于等
  待用户的登录; getty有不同的实现, 对于redhat
  是/sbin/mingetty;
• 用户登录时getty打印出类似”login: ”字符提示
  输入用户名, 并调用/bin/login程序对账户信息
  进行验证, 如果验证通过则根据用户的设置启
  动SHELL程序;
• login执行全局shell脚本/etc/profile 和
  /etc/bashrc;
• login执行用户HOME目录下面的脚本.bashrc
  和.bash_profile;
• 提示并接受用户输入的命令.
包管理
                - 概述
• linux系统的安装介质是由一个个的包(package)组成的, 类
  似于windows下面的安装文件(.exe), 关于包:
  1, 包具有版本
  比如gcc-4.1.2-46.el5这里的4.1.2就是gcc这个包的版本;
  2, 包与包之间存在依赖关系
  依赖关系指的是某个版本的包依赖于另外某个版本的
  包;
  3, 不同linux发行版包的命名及安装方式不同
  比如redhat使用的是后缀名.rpm的包, 系统提供了rpm命
  令对包进行安装管理; ubuntu则使用后缀为.deb的包, 命
  令为dpkg;
  4, 每个linux发型版都配备了相应的包管理工具
  比如redhat的yum工具, ubuntu则使用apt-get进行管理.
• 对linux系统软件进行维护升级实际上就是下载安装新的
  包和解决包之间依赖关系的过程.
包管理
      - 包命令 和 包管理工具
• 在进行包管理时需要注意区分包命令 和 包管理工
  具, 包命令用于对单个包进行维护比如rpm命令;而包
  管理工具(yum)则是指基于源(respos)的方式对包进行管
  理的工具, 所谓源就是包的集合, 它解决了包之间的
  依赖关系问题;
• 为什么需要包管理工具?
 在使用包命令进行软件包的安装时会碰到如下的困难:
 1, 需要搜索并下载相应版本的软件包;
 2, 如果该软件包依赖于其他的包, 则仍需要下载其他
 的包, 以此类推.
 这样很容易导致一个问题: 为了安装一个软件需要
 花费大量的时间去寻找并下载相应的软件包. 包管
 理工具由此而来, 通过配置适当的源很好地解决了
 上面的问题.
包管理
                             - rpm命令
rpm是基于redhat linux分支中使用的包管理命令, 该命令比较常用
的选项有:
    -i            安装软件包, 可以指定多个.rpm文件
    -e            删除某个软件包
    -v            命令执行过程中输出相关的信息
    -q            查询某个软件包的信息
    -qa           查询所有已安装的软件包
    -ql           显示已安装软件包的文件, 需指定包名
    -qlp          显示未安装软件包的文件, 需指定包名
    -qf           查询指定的文件属于哪个软件包, 需指定文件路径
    -qi           查询已安装包的版本信息, 需指定包名
    --test        测试软件包的安装, 并不实际进行
    --prefix      指定安装路径
    --nodeps      不检查包依赖关系
    --force       强制安装
常用的rpm命令:
  rpm -ivh pkg.rpm             # 安装某个.rpm包
  rpm -e gcc-4.1.2-46.el5      # 移除gcc软件包
  rpm -qa | grep gcc           # 查看是否安装gcc及其版本
  rpm -ql gcc-4.1.2-46.el5     # 查看gcc软件包安装后的文件列表
  rpm -qf /path/to/file        # 查看文件属于哪个软件包
包管理
                   - yum
• 概述
  yum是基于redhat linux分支中使用的包管理工具, 全称
  是”Yellowdog Updater, Modified”, 在使用yum进行包管理之前需
  要先配置源.源可以是本地的也可以是基于网络的, 本地源是指
  存储在本地文件系统上的包组成的源, 网络源对应的软件包需要
  通过网络进行获取;
• 相关的配置文件
  yum源的配置是通过修改配置文件来实现的, 以下文件或目录与
  yum源配置相关:
  /etc/yum.conf
       默认源配置文件
  /etc/yum.repos.d
       源配置文件存放目录, 可以将多个后缀为.repo的
       源配置文件放在此目录
  通常的做法是不去修改/etc/yum.conf文件, 而将源配置放在
  /etc/yum.repos.d目录下面.
包管理
                                  - yum
• 配置文件的格式
  以下面CentOS 5的源为例对yum源配置进行说明(见注释
  行):
 # 源的名称base
 [base]
 # 可以理解为源的title, $releasever|$basearch分别指版本和CPU架构信息
 name=CentOS-$releasever - Base - 163.com
 # 镜像列表, 在baseurl失效后使用
 mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
 # 通过baseurl可以访问源的元数据, 从而下载相应的软件包
 baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
• OEL基于网络的源
 http://public-yum.oracle.com/public-yum-el5.repo
 将上述链接的源配置文件拷贝至/etc/yum.repos.d/目录, 然后
 运行yum clean all命令更新源配置.
• 如何创建一个本地源? 参考: 《 2, Installation.pptx 》
包管理
                  - yum
• 常用的命令
  yum search 查找某个软件包, 需要指定关键字, 此命令会根据包
               的名称和描述对关键字进行匹配
  yum list     查找某个软件包, 根据包名或者版本信息进行匹配,
               并显示该包是否已经安装
  yum install 安装某个软件包
  yum erase 删除某个软件包
  yum clean all清空yum缓存, 在添加新的源之后需要执行此命令
  yum grouplist    yum源将某些软件包归类到某个group下面,
                   比如”Web Server”是一个组, 此命令列出所
                   有已安装和未安装的组
  yum groupinstall 安装某个group, 组名称可以通过上面的命令找到
  yum groupremove 删除某个group
包管理
        vs. 基于源代码编译安装
• 前面介绍的无论是rpm还是yum都是基于已经编译好的二进制程
  序进行软件安装的, 但有的时候需要下载源代码包手动编译后安
  装, 通常有两种情况:
  1, 该软件未提供二进制安装包;
  2, 需要通过在编译时指定某些选项进行定制.
• 基于源代码的方式通常有如下步骤:
  1, 下载源代码包并解压, 通常而言是.tgz的压缩包, 这里以
  game.tgz为例. 切换到root用户, 使用tar -zxvf game.tgz进行解压
  缩;
  2, 进入解压缩后的源代码目录, 使用./configure运行目录下面的
  配置脚本,该脚本用于检查一些系统信息比如要求的库文件是否
  存在等, 并生成MakeFile.
  可以为该脚本指定一些参数, 比如:
  --prefix=/usr/local/game 软件的安装目录
  --sysconfdir=/etc/       软件的配置文件目录
  使用./configure --help查看该所有的配置参数.
  3, 运行配置脚本成功之后, 使用make命令进行编译;
系统进程管理
                 - ps
• 进程可以理解为操作系统正在运行的某项作业, 进程需要占用cpu时
  间, 内存以及IO等资源; 系统会为每一个进程分配一个进程id(process
  id), 系统启动的第一个进程是init, 其pid是1, 之后所有的其他进程均是
  它的子进程;
• linux提供了相关的命令用于查看系统进程的信息, 这里逐一进行说明
  1, ps
  ps命令主要用于列出当前系统运行了哪些进程, 该命令常用的格式是:
  ps -ef   两者均列出系统的所有进程, 显示的信息稍有差别. 前者列出了
  ps aux   父进程id, 后者则列出了cpu/内存使用情况
  这里选取ps -ef的输出进行说明:


  UID        进程用户id
  PID        进程id
  PPID 父进程id
  C          CPU占用百分比
  STIME      进程的启动时间
  CMD        启动进程使用的命令
  这里比较重要的是UID, PID, CMD列.
系统进程管理
           - top & kill
2, top
top命令用于查看系统进程运行时的动态信息, 它会动态更新进程占用的
CPU, 内存等信息, 示例:




执行top命令之后可以交互式的输入一些指令, 比较常用的有:
enter       刷新当前的显示
q           退出top
N           按照pid排序
P           按照CPU排序
M           按照内存的使用排序
k           杀死某个pid的进程
3, kill
kill命令用于杀死某个进程, 使用很简单, 示例:
kill -9 254 # 杀死pid254的进程
系统进程管理
            - sar
4, sar
sar命令可以被认为是linux进程监控的集大成者
较之其他的命令sar更为全面但使用起来也比
较复杂.
sar需要安装额外的sysstat软件包, 使用如下命
令: yum install sysstat, 安装之后会注册sysstat系
统服务, 该系统服务用于收集系统的运行时信
息, 使用sar命令是必须确保该服务已经启动, 可
以使用/etc/init.d/sysstat start命令手动开启.
系统进程管理
                          - sar
sar命令的格式:
     sar [options] [-A] [-o file] t [n]
    -o 2进制格式输出至指定文件
    -t 采样间隔时间, 此参数必须
    -n 采样次数, 如不指定采样1次, 0表示不限次数
sar命令的常用选项:
-u    cpu                  -r        内存     -d   硬盘
-n    网卡设备                 -A        信息汇总   -e   采样截止时间
-X    特定进程
sar命令示例:
sar 1 5               # 查看cpu使用, 间隔1s, 5次
sar -X 2425 2 5       # 查看pid2425号进程的cpu使用
# 内存采样, 截止时间当天18点
sar -r 10 0 -e 18:00:00 > meminfo.txt
sar -d 1 10           # 硬盘设备信息采样
系统进程管理
                       - lsof
• lsof命令用于查看进程打开了哪些文件, 在linux下面一切都被当
  成文件, 包括设备/网络socket/pipe等;
• lsof命令通常的输出格式如下, 这里解释一下FD和TYPE列:


  FD 文件描述符列, 此列会有如下值:
   cwd      当前工作目录
   txt      文本文件
   mem      内存映射文件(memory mapped file)
   mmap     内存映射设备(memory mapped device)
   NUMBER   数字, 这里是真正的文件描述符
 TYPE文件类型列, 取值:
    REG     普通文件
    DIR     目录
    FIFO    First In First Out
    CHR     字符设备文件
系统进程管理
                                  - lsof
•   常用选项
    -c       查看某个进程打开的文件, 指定进程名称
    -p       查看某个进程打开的文件, 指定PID
    -t       仅显示进程PID列
    -u       查看某个用户打开的文件
    +D       递归查看某个目录下面文件被使用的情况
    +d       非递归查看某个目录下面文件被使用的情况
    -i       查看网络相关的信息
    -N       查看与NFS相关的信息
    以上选项可以被同时使用, 输出结果是各选项输出结果的和, 使用-a选项输出它们的交集.
    -a       对其他选项的结果做交集
•   常用命令
    lsof /var/log/syslog        # 查看打开该文件的进程
     lsof -t /var/log/syslog    # 仅列出进程id
    lsof +D /var/log/           # 递归查看/var/log目录下面文件的使用, +d非递归
    lsof -c ssh -c init         # 查看ssh 和 init进程文件使用情况
    lsof /home                  # 查看挂载点下面文件的使用情况 等价于 losf +D /home
    lsof -u root                # 查看root用户打开的文件
    lsof -u ^root               # 查看非root用户打开的文件, ^表示非
    lsof -p 1753                # 查看pid1753进程打开的文件
    kill -9 `lsof -t -u demo`   # 杀死demo用户的所有进程
    lsof -u demo -a -c ssh      # 查看用户demo的ssh进程打开的文件
    lsof -i -a -c ssh           # 查看ssh进程使用的网络文件
    lsof -i :22                 # 查看侦听25号端口的进程
网络管理
netstat ifconfig

Contenu connexe

Tendances

Linux系统工程师教程
Linux系统工程师教程Linux系统工程师教程
Linux系统工程师教程yiditushe
 
20030623 linuxbasic and-security
20030623 linuxbasic and-security20030623 linuxbasic and-security
20030623 linuxbasic and-security建融 黃
 
4, files & folders
4, files & folders4, files & folders
4, files & foldersted-xu
 
Kick start无人值守批量安装linux
Kick start无人值守批量安装linuxKick start无人值守批量安装linux
Kick start无人值守批量安装linuxYiwei Ma
 
《保哥線上講堂》打造一個具有 Linux 溫度的 Windows 命令提示字元工具
《保哥線上講堂》打造一個具有 Linux 溫度的 Windows 命令提示字元工具《保哥線上講堂》打造一個具有 Linux 溫度的 Windows 命令提示字元工具
《保哥線上講堂》打造一個具有 Linux 溫度的 Windows 命令提示字元工具Will Huang
 
Linux安全配置终极指南
Linux安全配置终极指南Linux安全配置终极指南
Linux安全配置终极指南wensheng wei
 
1, shell intro
1, shell intro1, shell intro
1, shell introted-xu
 
Cassandra运维之道(office2003)
Cassandra运维之道(office2003)Cassandra运维之道(office2003)
Cassandra运维之道(office2003)haiyuan ning
 
linux安装以及LAMP 环境安装详细
linux安装以及LAMP 环境安装详细linux安装以及LAMP 环境安装详细
linux安装以及LAMP 环境安装详细colderboy17
 
Nagios的安装部署和与cacti的整合(linuxtone)
Nagios的安装部署和与cacti的整合(linuxtone)Nagios的安装部署和与cacti的整合(linuxtone)
Nagios的安装部署和与cacti的整合(linuxtone)Yiwei Ma
 
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯Debian 套件打包教學指南 v0.19 - 繁體中文翻譯
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯SZ Lin
 
九州通 Tsm重新配置文档(2008 11 10)
九州通 Tsm重新配置文档(2008 11 10)九州通 Tsm重新配置文档(2008 11 10)
九州通 Tsm重新配置文档(2008 11 10)heima911
 
Lamp安全全攻略
Lamp安全全攻略Lamp安全全攻略
Lamp安全全攻略Da Zhao
 
利用Cent Os快速构建自己的发行版
利用Cent Os快速构建自己的发行版利用Cent Os快速构建自己的发行版
利用Cent Os快速构建自己的发行版xingsu1021
 
Oprofile linux
Oprofile linuxOprofile linux
Oprofile linuxFeng Yu
 
尚观Linux研究室 linux驱动程序全解析
尚观Linux研究室   linux驱动程序全解析尚观Linux研究室   linux驱动程序全解析
尚观Linux研究室 linux驱动程序全解析hangejnu
 
X64服务器 lamp服务器部署标准 new
X64服务器 lamp服务器部署标准 newX64服务器 lamp服务器部署标准 new
X64服务器 lamp服务器部署标准 newYiwei Ma
 
Puppet安装总结
Puppet安装总结Puppet安装总结
Puppet安装总结Yiwei Ma
 

Tendances (19)

Linux系统工程师教程
Linux系统工程师教程Linux系统工程师教程
Linux系统工程师教程
 
20030623 linuxbasic and-security
20030623 linuxbasic and-security20030623 linuxbasic and-security
20030623 linuxbasic and-security
 
4, files & folders
4, files & folders4, files & folders
4, files & folders
 
Kick start无人值守批量安装linux
Kick start无人值守批量安装linuxKick start无人值守批量安装linux
Kick start无人值守批量安装linux
 
《保哥線上講堂》打造一個具有 Linux 溫度的 Windows 命令提示字元工具
《保哥線上講堂》打造一個具有 Linux 溫度的 Windows 命令提示字元工具《保哥線上講堂》打造一個具有 Linux 溫度的 Windows 命令提示字元工具
《保哥線上講堂》打造一個具有 Linux 溫度的 Windows 命令提示字元工具
 
Linux安全配置终极指南
Linux安全配置终极指南Linux安全配置终极指南
Linux安全配置终极指南
 
Cent os
Cent osCent os
Cent os
 
1, shell intro
1, shell intro1, shell intro
1, shell intro
 
Cassandra运维之道(office2003)
Cassandra运维之道(office2003)Cassandra运维之道(office2003)
Cassandra运维之道(office2003)
 
linux安装以及LAMP 环境安装详细
linux安装以及LAMP 环境安装详细linux安装以及LAMP 环境安装详细
linux安装以及LAMP 环境安装详细
 
Nagios的安装部署和与cacti的整合(linuxtone)
Nagios的安装部署和与cacti的整合(linuxtone)Nagios的安装部署和与cacti的整合(linuxtone)
Nagios的安装部署和与cacti的整合(linuxtone)
 
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯Debian 套件打包教學指南 v0.19 - 繁體中文翻譯
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯
 
九州通 Tsm重新配置文档(2008 11 10)
九州通 Tsm重新配置文档(2008 11 10)九州通 Tsm重新配置文档(2008 11 10)
九州通 Tsm重新配置文档(2008 11 10)
 
Lamp安全全攻略
Lamp安全全攻略Lamp安全全攻略
Lamp安全全攻略
 
利用Cent Os快速构建自己的发行版
利用Cent Os快速构建自己的发行版利用Cent Os快速构建自己的发行版
利用Cent Os快速构建自己的发行版
 
Oprofile linux
Oprofile linuxOprofile linux
Oprofile linux
 
尚观Linux研究室 linux驱动程序全解析
尚观Linux研究室   linux驱动程序全解析尚观Linux研究室   linux驱动程序全解析
尚观Linux研究室 linux驱动程序全解析
 
X64服务器 lamp服务器部署标准 new
X64服务器 lamp服务器部署标准 newX64服务器 lamp服务器部署标准 new
X64服务器 lamp服务器部署标准 new
 
Puppet安装总结
Puppet安装总结Puppet安装总结
Puppet安装总结
 

En vedette

2, bash synax simplified
2, bash synax simplified2, bash synax simplified
2, bash synax simplifiedted-xu
 
Condensation Silicone-MSDS
Condensation Silicone-MSDSCondensation Silicone-MSDS
Condensation Silicone-MSDSIris He
 
9, OCP - restore and recovery with rman
9, OCP - restore and recovery with rman9, OCP - restore and recovery with rman
9, OCP - restore and recovery with rmanted-xu
 
2, OCP - installing and creating a database
2, OCP - installing and creating a database2, OCP - installing and creating a database
2, OCP - installing and creating a databaseted-xu
 
SCL Event - Egil Moller Nielsen & Chee Yew Wong - Innovative Delivery Solutio...
SCL Event - Egil Moller Nielsen & Chee Yew Wong - Innovative Delivery Solutio...SCL Event - Egil Moller Nielsen & Chee Yew Wong - Innovative Delivery Solutio...
SCL Event - Egil Moller Nielsen & Chee Yew Wong - Innovative Delivery Solutio...Global Business Intel
 
CIO Event - Bid Winning: How can technology in your business assist your next...
CIO Event - Bid Winning: How can technology in your business assist your next...CIO Event - Bid Winning: How can technology in your business assist your next...
CIO Event - Bid Winning: How can technology in your business assist your next...Global Business Intel
 
Social Media Marketing and Your Targeted Audience
Social Media Marketing and Your Targeted AudienceSocial Media Marketing and Your Targeted Audience
Social Media Marketing and Your Targeted AudienceMoshiur Monty
 
CIO Event - HP - Digital Disruption : How can IT play its part?
CIO Event - HP - Digital Disruption : How can IT play its part?CIO Event - HP - Digital Disruption : How can IT play its part?
CIO Event - HP - Digital Disruption : How can IT play its part? Global Business Intel
 

En vedette (15)

lee RESUME
lee RESUMElee RESUME
lee RESUME
 
2, bash synax simplified
2, bash synax simplified2, bash synax simplified
2, bash synax simplified
 
Condensation Silicone-MSDS
Condensation Silicone-MSDSCondensation Silicone-MSDS
Condensation Silicone-MSDS
 
Наши партнеры
Наши партнерыНаши партнеры
Наши партнеры
 
Barn i barnevernet
Barn i barnevernetBarn i barnevernet
Barn i barnevernet
 
sprite
spritesprite
sprite
 
9, OCP - restore and recovery with rman
9, OCP - restore and recovery with rman9, OCP - restore and recovery with rman
9, OCP - restore and recovery with rman
 
fit-PC - Product line overview (v3.0)
fit-PC - Product line overview (v3.0)fit-PC - Product line overview (v3.0)
fit-PC - Product line overview (v3.0)
 
Good company
Good companyGood company
Good company
 
2, OCP - installing and creating a database
2, OCP - installing and creating a database2, OCP - installing and creating a database
2, OCP - installing and creating a database
 
SCL Event - Egil Moller Nielsen & Chee Yew Wong - Innovative Delivery Solutio...
SCL Event - Egil Moller Nielsen & Chee Yew Wong - Innovative Delivery Solutio...SCL Event - Egil Moller Nielsen & Chee Yew Wong - Innovative Delivery Solutio...
SCL Event - Egil Moller Nielsen & Chee Yew Wong - Innovative Delivery Solutio...
 
CIO Event - Bid Winning: How can technology in your business assist your next...
CIO Event - Bid Winning: How can technology in your business assist your next...CIO Event - Bid Winning: How can technology in your business assist your next...
CIO Event - Bid Winning: How can technology in your business assist your next...
 
Τεστ στα διανύσματα
Τεστ στα διανύσματαΤεστ στα διανύσματα
Τεστ στα διανύσματα
 
Social Media Marketing and Your Targeted Audience
Social Media Marketing and Your Targeted AudienceSocial Media Marketing and Your Targeted Audience
Social Media Marketing and Your Targeted Audience
 
CIO Event - HP - Digital Disruption : How can IT play its part?
CIO Event - HP - Digital Disruption : How can IT play its part?CIO Event - HP - Digital Disruption : How can IT play its part?
CIO Event - HP - Digital Disruption : How can IT play its part?
 

Similaire à 5, system admin

康盛创想项目部Linux 服务器部署标准(最新版)
康盛创想项目部Linux 服务器部署标准(最新版)康盛创想项目部Linux 服务器部署标准(最新版)
康盛创想项目部Linux 服务器部署标准(最新版)Yiwei Ma
 
unix toolbox 中文版
unix toolbox 中文版unix toolbox 中文版
unix toolbox 中文版Jie Bao
 
Oraliux+mysql5单机多实例安装文档
Oraliux+mysql5单机多实例安装文档Oraliux+mysql5单机多实例安装文档
Oraliux+mysql5单机多实例安装文档xuebao_zx
 
Install Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 LInstall Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 Lheima911
 
使用Rpm&yum进行基础软件管理
使用Rpm&yum进行基础软件管理使用Rpm&yum进行基础软件管理
使用Rpm&yum进行基础软件管理Jason Zheng
 
Cfengine培训文档 刘天斯
Cfengine培训文档 刘天斯Cfengine培训文档 刘天斯
Cfengine培训文档 刘天斯liuts
 
Unixtoolbox zh cn
Unixtoolbox zh cnUnixtoolbox zh cn
Unixtoolbox zh cnxdboy2006
 
Apache+php+mysql在Linux下的安装与配置
Apache+php+mysql在Linux下的安装与配置Apache+php+mysql在Linux下的安装与配置
Apache+php+mysql在Linux下的安装与配置wensheng wei
 
Ruby on Rails 開發環境建置 for Mac
Ruby on Rails 開發環境建置 for MacRuby on Rails 開發環境建置 for Mac
Ruby on Rails 開發環境建置 for MacMarsZ Chen
 
Android系统移植技术详解
Android系统移植技术详解Android系统移植技术详解
Android系统移植技术详解zzc89522
 
GNU Build System
GNU Build SystemGNU Build System
GNU Build Systemimacat .
 
CentOS5 apache2 mysql5 php5 Zend
CentOS5 apache2 mysql5 php5 ZendCentOS5 apache2 mysql5 php5 Zend
CentOS5 apache2 mysql5 php5 Zendwensheng wei
 
Centos下安装apache + subversion
Centos下安装apache + subversionCentos下安装apache + subversion
Centos下安装apache + subversionYiwei Ma
 
Ruby on Rails 開發環境建置 for Ubuntu
Ruby on Rails 開發環境建置 for UbuntuRuby on Rails 開發環境建置 for Ubuntu
Ruby on Rails 開發環境建置 for UbuntuMarsZ Chen
 
網路組-Ubuntu介紹
網路組-Ubuntu介紹網路組-Ubuntu介紹
網路組-Ubuntu介紹maryqute520
 

Similaire à 5, system admin (20)

康盛创想项目部Linux 服务器部署标准(最新版)
康盛创想项目部Linux 服务器部署标准(最新版)康盛创想项目部Linux 服务器部署标准(最新版)
康盛创想项目部Linux 服务器部署标准(最新版)
 
unix toolbox 中文版
unix toolbox 中文版unix toolbox 中文版
unix toolbox 中文版
 
Linuxguide4f2e
Linuxguide4f2eLinuxguide4f2e
Linuxguide4f2e
 
LinuxGuide4F2E
LinuxGuide4F2ELinuxGuide4F2E
LinuxGuide4F2E
 
Oraliux+mysql5单机多实例安装文档
Oraliux+mysql5单机多实例安装文档Oraliux+mysql5单机多实例安装文档
Oraliux+mysql5单机多实例安装文档
 
Install Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 LInstall Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 L
 
使用Rpm&yum进行基础软件管理
使用Rpm&yum进行基础软件管理使用Rpm&yum进行基础软件管理
使用Rpm&yum进行基础软件管理
 
Cfengine培训文档 刘天斯
Cfengine培训文档 刘天斯Cfengine培训文档 刘天斯
Cfengine培训文档 刘天斯
 
Unixtoolbox zh cn
Unixtoolbox zh cnUnixtoolbox zh cn
Unixtoolbox zh cn
 
unixtoolbox_zh_CN
unixtoolbox_zh_CNunixtoolbox_zh_CN
unixtoolbox_zh_CN
 
Asm+aix
Asm+aixAsm+aix
Asm+aix
 
Apache+php+mysql在Linux下的安装与配置
Apache+php+mysql在Linux下的安装与配置Apache+php+mysql在Linux下的安装与配置
Apache+php+mysql在Linux下的安装与配置
 
Ruby on Rails 開發環境建置 for Mac
Ruby on Rails 開發環境建置 for MacRuby on Rails 開發環境建置 for Mac
Ruby on Rails 開發環境建置 for Mac
 
Rootkit 101
Rootkit 101Rootkit 101
Rootkit 101
 
Android系统移植技术详解
Android系统移植技术详解Android系统移植技术详解
Android系统移植技术详解
 
GNU Build System
GNU Build SystemGNU Build System
GNU Build System
 
CentOS5 apache2 mysql5 php5 Zend
CentOS5 apache2 mysql5 php5 ZendCentOS5 apache2 mysql5 php5 Zend
CentOS5 apache2 mysql5 php5 Zend
 
Centos下安装apache + subversion
Centos下安装apache + subversionCentos下安装apache + subversion
Centos下安装apache + subversion
 
Ruby on Rails 開發環境建置 for Ubuntu
Ruby on Rails 開發環境建置 for UbuntuRuby on Rails 開發環境建置 for Ubuntu
Ruby on Rails 開發環境建置 for Ubuntu
 
網路組-Ubuntu介紹
網路組-Ubuntu介紹網路組-Ubuntu介紹
網路組-Ubuntu介紹
 

Plus de ted-xu

11, OCP - awr & alert system
11, OCP - awr & alert system11, OCP - awr & alert system
11, OCP - awr & alert systemted-xu
 
10, OCP - flashback
10, OCP - flashback10, OCP - flashback
10, OCP - flashbackted-xu
 
8, OCP - backup with rman
8, OCP - backup with rman8, OCP - backup with rman
8, OCP - backup with rmanted-xu
 
7, OCP - configure database for backup and recovery
7, OCP - configure database for backup and recovery7, OCP - configure database for backup and recovery
7, OCP - configure database for backup and recoveryted-xu
 
6, OCP - oracle security
6, OCP - oracle security6, OCP - oracle security
6, OCP - oracle securityted-xu
 
5, OCP - oracle storage
5, OCP - oracle storage5, OCP - oracle storage
5, OCP - oracle storageted-xu
 
4, OCP - oracle networking
4, OCP - oracle networking4, OCP - oracle networking
4, OCP - oracle networkingted-xu
 
3, OCP - instance management
3, OCP - instance management3, OCP - instance management
3, OCP - instance managementted-xu
 
1, OCP - architecture intro
1, OCP - architecture intro1, OCP - architecture intro
1, OCP - architecture introted-xu
 
12, OCP - performance tuning
12, OCP - performance tuning12, OCP - performance tuning
12, OCP - performance tuningted-xu
 
7, business event system
7, business event system7, business event system
7, business event systemted-xu
 
6, workflow miscellaneous
6, workflow miscellaneous6, workflow miscellaneous
6, workflow miscellaneousted-xu
 
5, workflow function activity
5, workflow function activity5, workflow function activity
5, workflow function activityted-xu
 
4, workflow tables & api
4, workflow tables & api4, workflow tables & api
4, workflow tables & apited-xu
 
3, workflow in ebs
3, workflow in ebs3, workflow in ebs
3, workflow in ebsted-xu
 
2, a simple workflow
2, a simple workflow2, a simple workflow
2, a simple workflowted-xu
 
1, workflow intro
1, workflow intro1, workflow intro
1, workflow introted-xu
 
8, bes tables & api
8, bes tables & api8, bes tables & api
8, bes tables & apited-xu
 
OPM Recipe designer notes
OPM Recipe designer notesOPM Recipe designer notes
OPM Recipe designer notested-xu
 
5, sed
5, sed5, sed
5, sedted-xu
 

Plus de ted-xu (20)

11, OCP - awr & alert system
11, OCP - awr & alert system11, OCP - awr & alert system
11, OCP - awr & alert system
 
10, OCP - flashback
10, OCP - flashback10, OCP - flashback
10, OCP - flashback
 
8, OCP - backup with rman
8, OCP - backup with rman8, OCP - backup with rman
8, OCP - backup with rman
 
7, OCP - configure database for backup and recovery
7, OCP - configure database for backup and recovery7, OCP - configure database for backup and recovery
7, OCP - configure database for backup and recovery
 
6, OCP - oracle security
6, OCP - oracle security6, OCP - oracle security
6, OCP - oracle security
 
5, OCP - oracle storage
5, OCP - oracle storage5, OCP - oracle storage
5, OCP - oracle storage
 
4, OCP - oracle networking
4, OCP - oracle networking4, OCP - oracle networking
4, OCP - oracle networking
 
3, OCP - instance management
3, OCP - instance management3, OCP - instance management
3, OCP - instance management
 
1, OCP - architecture intro
1, OCP - architecture intro1, OCP - architecture intro
1, OCP - architecture intro
 
12, OCP - performance tuning
12, OCP - performance tuning12, OCP - performance tuning
12, OCP - performance tuning
 
7, business event system
7, business event system7, business event system
7, business event system
 
6, workflow miscellaneous
6, workflow miscellaneous6, workflow miscellaneous
6, workflow miscellaneous
 
5, workflow function activity
5, workflow function activity5, workflow function activity
5, workflow function activity
 
4, workflow tables & api
4, workflow tables & api4, workflow tables & api
4, workflow tables & api
 
3, workflow in ebs
3, workflow in ebs3, workflow in ebs
3, workflow in ebs
 
2, a simple workflow
2, a simple workflow2, a simple workflow
2, a simple workflow
 
1, workflow intro
1, workflow intro1, workflow intro
1, workflow intro
 
8, bes tables & api
8, bes tables & api8, bes tables & api
8, bes tables & api
 
OPM Recipe designer notes
OPM Recipe designer notesOPM Recipe designer notes
OPM Recipe designer notes
 
5, sed
5, sed5, sed
5, sed
 

5, system admin

  • 3. 系统启动 • 载入BIOS中的硬件信息进行自测; • 读取并执行MBR中的boot loader, 目前流行的是 GRUB; • 载入内核(kernel), 检查硬件并加载相应的驱动程序; • 加载initrd, 并执行init程序, 并判断当前的启动级别 (run level); • init执行/etc/rc.d/rc.sysinit, 执行相关的系统初始化工 作, 比如网络, 时区等; • init执行当前启动级别对应的系统服务脚本; • init执行/etc/rc.d/rc.local脚本; • init执行终端模拟程序mingetty, 并等待用户登录;
  • 4. 系统启动 - 内核和虚拟内存磁盘 • 查看/boot目录下面的内容, vmlinuz-2.6.18-164.el5是系统核心(kernel)文件, initrd-2.6.18-164.el5.img则是初始化内存磁盘 (initial RAM Disk)文件; • 在加载内核之后, 内核并不能识别诸如文件系统 (ext3, reiserfs等)之类的信息, initrd起到了一个过渡的 作用; 借由initrd可以载入最基本的系统模块(包含了 文件系统模块), 从而挂载实际的系统根目录, 并最终 释放内存中的initrd虚拟磁盘系统.
  • 5. /etc/inittab 概述 • 此文件被init进程读取, 描述了如何对系统进行初始化工 作, 文件的每一行都遵循格式: id:runlevels:action:process id 作为标志, 最多两个字符 runlevels 启动级别, 可以写多个比如1234 action 需要执行的动作, 常见的如下: respawn 进程如果被杀死则自动重启 wait 进入指定的启动级别时, 执行指定 的程序, init会等待该程序结束 sysinit 系统启动时执行指定的程序 initdefault 指定系统的启动级别 process 程序命令, 比如/etc/rc.d/rc 0
  • 6. /etc/inittab - 内容说明 • 接下来解释该文件中比较重要的部分: 1, id:5:initdefault: 设置系统的启动级别, 这里设置为5. 启动级别使用数字 表示, 可以理解为不同的操作模式, 不同的启动级别会运 行该级别对应的系统服务: 0 关机(保留使用) 1 单用户模式 2 多用户模式, 不启用NFS 3 多用户模式, 启用NFS 4 不被使用unused 5 图形模式 6 重启(保留使用) 2, si::sysinit:/etc/rc.d/rc.sysinit 执行/etc/rc.d/rc.sysinit脚本
  • 7. /etc/inittab - 内容说明 3, l0:0:wait:/etc/rc.d/rc 0 执行各个启动级别对应的初始化脚本(系统服 务), 比如启动级别5会按照当前的系统配置执 行/etc/rc.d/rc5.d目录下面的脚本. 4, 1:2345:respawn:/sbin/mingetty tty1 启动mingetty, 等待用户的登录
  • 8. 系统服务 - 概述 • 系统在启动过程中, 会根据启动级别和相关的配置启动相应的系统服 务, linux系统服务是使用脚本文件和相应的命令来实现的, 这里使用 redhat linux为例进行说明. 1, 脚本文件 所有的系统脚本文件都存储在/etc/rc.d/init.d目录下面, 比如 /etc/rc.d/init.d/nfs; 这些脚本文件执行时均可以传入start/stop/restart等 参数启动, 关闭或者重启服务. 各系统级别对应的脚本目录, 比如/etc/rc.d/rc5.d, 下面存放的是指向这 些脚本的符号链接, 因此系统启动时执行的脚本实际上是 /etc/rc.d/init.d下面的脚本. 说明: 实际上对于大多数其它linux发行版本而言, 系统脚本存放在 /etc/init.d目录; redhat有所不同, /etc/init.d只是一个指向/etc/rc.d/init.d 目录的符号链接. 2, 命令 redhat开发了相应的命令便于系统服务的管理, 常用的有: chkconfig 添加/删除/查看/配置系统服务 service 对系统服务进行启动/停止/重启等操作 system-config-service 使用图形界面的方式管理系统服务
  • 9. 系统服务 - chkconfig • chkconfig 此命令用于添加/删除/查看/配置系统服务, # 查看系统服务, 可以指定服务名查看某个特定的服务 chkconfig --list [服务名] chkconfig --add 服务名# 添加一个系统服务 chkconfig --del 服务名 # 删除一个系统服务 # 在指定的启动级别关闭或者开启系统服务 chkconfig --level 级别 服务名 on|off 示例: chkconfig --list # 列出所有的系统服务 chkconfig --list nfs # 查看nfs系统服务 chkconfig --add httpd # 添加apache系统服务 chkconfig --level 234 nfs on # 在系统启动级别234启动nfs服务
  • 10. 系统服务 - service • service service命令用于查看当前系统服务的状态, 启动, 关闭或者重启系统服务. 命令格式: service 服务名 start/stop/restart/status 另外还可以根据不同的服务传入该服务特有的参 数. 示例: service nfs restart # 重启nfs服务 service httpd status # 查看apache服务器状态 • system-config-service 当用户以X11方式登录系统时, 可以使用此命令对系统 服务进行维护, 命令运行之后会打开一个系统服务的 图形管理界面.
  • 11. 系统服务 - 如何添加一个系统服务? • 按照如下步骤添加一个系统服务, 这里以 someservice服务为例: 1, 编写系统服务脚本, 该脚本应该至少接收 start/stop/restart等参数, 将脚本保存至 /etc/rc.d/init.d/someservice文件; 2, 使用chkconfig --add someservice命令添加服 务, 这里的服务名称应该和脚本文件名称一致; 3, 添加服务之后该服务默认在各个启动级别均被 关闭, 使用chkconfig --level命令配置需要在哪些 级别启动.
  • 12. 用户登录过程 • 系统启动过程中, init进程会按照/etc/inittab的 配置启动多个getty后台进程, 这些进程用于等 待用户的登录; getty有不同的实现, 对于redhat 是/sbin/mingetty; • 用户登录时getty打印出类似”login: ”字符提示 输入用户名, 并调用/bin/login程序对账户信息 进行验证, 如果验证通过则根据用户的设置启 动SHELL程序; • login执行全局shell脚本/etc/profile 和 /etc/bashrc; • login执行用户HOME目录下面的脚本.bashrc 和.bash_profile; • 提示并接受用户输入的命令.
  • 13. 包管理 - 概述 • linux系统的安装介质是由一个个的包(package)组成的, 类 似于windows下面的安装文件(.exe), 关于包: 1, 包具有版本 比如gcc-4.1.2-46.el5这里的4.1.2就是gcc这个包的版本; 2, 包与包之间存在依赖关系 依赖关系指的是某个版本的包依赖于另外某个版本的 包; 3, 不同linux发行版包的命名及安装方式不同 比如redhat使用的是后缀名.rpm的包, 系统提供了rpm命 令对包进行安装管理; ubuntu则使用后缀为.deb的包, 命 令为dpkg; 4, 每个linux发型版都配备了相应的包管理工具 比如redhat的yum工具, ubuntu则使用apt-get进行管理. • 对linux系统软件进行维护升级实际上就是下载安装新的 包和解决包之间依赖关系的过程.
  • 14. 包管理 - 包命令 和 包管理工具 • 在进行包管理时需要注意区分包命令 和 包管理工 具, 包命令用于对单个包进行维护比如rpm命令;而包 管理工具(yum)则是指基于源(respos)的方式对包进行管 理的工具, 所谓源就是包的集合, 它解决了包之间的 依赖关系问题; • 为什么需要包管理工具? 在使用包命令进行软件包的安装时会碰到如下的困难: 1, 需要搜索并下载相应版本的软件包; 2, 如果该软件包依赖于其他的包, 则仍需要下载其他 的包, 以此类推. 这样很容易导致一个问题: 为了安装一个软件需要 花费大量的时间去寻找并下载相应的软件包. 包管 理工具由此而来, 通过配置适当的源很好地解决了 上面的问题.
  • 15. 包管理 - rpm命令 rpm是基于redhat linux分支中使用的包管理命令, 该命令比较常用 的选项有: -i 安装软件包, 可以指定多个.rpm文件 -e 删除某个软件包 -v 命令执行过程中输出相关的信息 -q 查询某个软件包的信息 -qa 查询所有已安装的软件包 -ql 显示已安装软件包的文件, 需指定包名 -qlp 显示未安装软件包的文件, 需指定包名 -qf 查询指定的文件属于哪个软件包, 需指定文件路径 -qi 查询已安装包的版本信息, 需指定包名 --test 测试软件包的安装, 并不实际进行 --prefix 指定安装路径 --nodeps 不检查包依赖关系 --force 强制安装 常用的rpm命令: rpm -ivh pkg.rpm # 安装某个.rpm包 rpm -e gcc-4.1.2-46.el5 # 移除gcc软件包 rpm -qa | grep gcc # 查看是否安装gcc及其版本 rpm -ql gcc-4.1.2-46.el5 # 查看gcc软件包安装后的文件列表 rpm -qf /path/to/file # 查看文件属于哪个软件包
  • 16. 包管理 - yum • 概述 yum是基于redhat linux分支中使用的包管理工具, 全称 是”Yellowdog Updater, Modified”, 在使用yum进行包管理之前需 要先配置源.源可以是本地的也可以是基于网络的, 本地源是指 存储在本地文件系统上的包组成的源, 网络源对应的软件包需要 通过网络进行获取; • 相关的配置文件 yum源的配置是通过修改配置文件来实现的, 以下文件或目录与 yum源配置相关: /etc/yum.conf 默认源配置文件 /etc/yum.repos.d 源配置文件存放目录, 可以将多个后缀为.repo的 源配置文件放在此目录 通常的做法是不去修改/etc/yum.conf文件, 而将源配置放在 /etc/yum.repos.d目录下面.
  • 17. 包管理 - yum • 配置文件的格式 以下面CentOS 5的源为例对yum源配置进行说明(见注释 行): # 源的名称base [base] # 可以理解为源的title, $releasever|$basearch分别指版本和CPU架构信息 name=CentOS-$releasever - Base - 163.com # 镜像列表, 在baseurl失效后使用 mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os # 通过baseurl可以访问源的元数据, 从而下载相应的软件包 baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 • OEL基于网络的源 http://public-yum.oracle.com/public-yum-el5.repo 将上述链接的源配置文件拷贝至/etc/yum.repos.d/目录, 然后 运行yum clean all命令更新源配置. • 如何创建一个本地源? 参考: 《 2, Installation.pptx 》
  • 18. 包管理 - yum • 常用的命令 yum search 查找某个软件包, 需要指定关键字, 此命令会根据包 的名称和描述对关键字进行匹配 yum list 查找某个软件包, 根据包名或者版本信息进行匹配, 并显示该包是否已经安装 yum install 安装某个软件包 yum erase 删除某个软件包 yum clean all清空yum缓存, 在添加新的源之后需要执行此命令 yum grouplist yum源将某些软件包归类到某个group下面, 比如”Web Server”是一个组, 此命令列出所 有已安装和未安装的组 yum groupinstall 安装某个group, 组名称可以通过上面的命令找到 yum groupremove 删除某个group
  • 19. 包管理 vs. 基于源代码编译安装 • 前面介绍的无论是rpm还是yum都是基于已经编译好的二进制程 序进行软件安装的, 但有的时候需要下载源代码包手动编译后安 装, 通常有两种情况: 1, 该软件未提供二进制安装包; 2, 需要通过在编译时指定某些选项进行定制. • 基于源代码的方式通常有如下步骤: 1, 下载源代码包并解压, 通常而言是.tgz的压缩包, 这里以 game.tgz为例. 切换到root用户, 使用tar -zxvf game.tgz进行解压 缩; 2, 进入解压缩后的源代码目录, 使用./configure运行目录下面的 配置脚本,该脚本用于检查一些系统信息比如要求的库文件是否 存在等, 并生成MakeFile. 可以为该脚本指定一些参数, 比如: --prefix=/usr/local/game 软件的安装目录 --sysconfdir=/etc/ 软件的配置文件目录 使用./configure --help查看该所有的配置参数. 3, 运行配置脚本成功之后, 使用make命令进行编译;
  • 20. 系统进程管理 - ps • 进程可以理解为操作系统正在运行的某项作业, 进程需要占用cpu时 间, 内存以及IO等资源; 系统会为每一个进程分配一个进程id(process id), 系统启动的第一个进程是init, 其pid是1, 之后所有的其他进程均是 它的子进程; • linux提供了相关的命令用于查看系统进程的信息, 这里逐一进行说明 1, ps ps命令主要用于列出当前系统运行了哪些进程, 该命令常用的格式是: ps -ef 两者均列出系统的所有进程, 显示的信息稍有差别. 前者列出了 ps aux 父进程id, 后者则列出了cpu/内存使用情况 这里选取ps -ef的输出进行说明: UID 进程用户id PID 进程id PPID 父进程id C CPU占用百分比 STIME 进程的启动时间 CMD 启动进程使用的命令 这里比较重要的是UID, PID, CMD列.
  • 21. 系统进程管理 - top & kill 2, top top命令用于查看系统进程运行时的动态信息, 它会动态更新进程占用的 CPU, 内存等信息, 示例: 执行top命令之后可以交互式的输入一些指令, 比较常用的有: enter 刷新当前的显示 q 退出top N 按照pid排序 P 按照CPU排序 M 按照内存的使用排序 k 杀死某个pid的进程 3, kill kill命令用于杀死某个进程, 使用很简单, 示例: kill -9 254 # 杀死pid254的进程
  • 22. 系统进程管理 - sar 4, sar sar命令可以被认为是linux进程监控的集大成者 较之其他的命令sar更为全面但使用起来也比 较复杂. sar需要安装额外的sysstat软件包, 使用如下命 令: yum install sysstat, 安装之后会注册sysstat系 统服务, 该系统服务用于收集系统的运行时信 息, 使用sar命令是必须确保该服务已经启动, 可 以使用/etc/init.d/sysstat start命令手动开启.
  • 23. 系统进程管理 - sar sar命令的格式: sar [options] [-A] [-o file] t [n] -o 2进制格式输出至指定文件 -t 采样间隔时间, 此参数必须 -n 采样次数, 如不指定采样1次, 0表示不限次数 sar命令的常用选项: -u cpu -r 内存 -d 硬盘 -n 网卡设备 -A 信息汇总 -e 采样截止时间 -X 特定进程 sar命令示例: sar 1 5 # 查看cpu使用, 间隔1s, 5次 sar -X 2425 2 5 # 查看pid2425号进程的cpu使用 # 内存采样, 截止时间当天18点 sar -r 10 0 -e 18:00:00 > meminfo.txt sar -d 1 10 # 硬盘设备信息采样
  • 24. 系统进程管理 - lsof • lsof命令用于查看进程打开了哪些文件, 在linux下面一切都被当 成文件, 包括设备/网络socket/pipe等; • lsof命令通常的输出格式如下, 这里解释一下FD和TYPE列: FD 文件描述符列, 此列会有如下值: cwd 当前工作目录 txt 文本文件 mem 内存映射文件(memory mapped file) mmap 内存映射设备(memory mapped device) NUMBER 数字, 这里是真正的文件描述符 TYPE文件类型列, 取值: REG 普通文件 DIR 目录 FIFO First In First Out CHR 字符设备文件
  • 25. 系统进程管理 - lsof • 常用选项 -c 查看某个进程打开的文件, 指定进程名称 -p 查看某个进程打开的文件, 指定PID -t 仅显示进程PID列 -u 查看某个用户打开的文件 +D 递归查看某个目录下面文件被使用的情况 +d 非递归查看某个目录下面文件被使用的情况 -i 查看网络相关的信息 -N 查看与NFS相关的信息 以上选项可以被同时使用, 输出结果是各选项输出结果的和, 使用-a选项输出它们的交集. -a 对其他选项的结果做交集 • 常用命令 lsof /var/log/syslog # 查看打开该文件的进程 lsof -t /var/log/syslog # 仅列出进程id lsof +D /var/log/ # 递归查看/var/log目录下面文件的使用, +d非递归 lsof -c ssh -c init # 查看ssh 和 init进程文件使用情况 lsof /home # 查看挂载点下面文件的使用情况 等价于 losf +D /home lsof -u root # 查看root用户打开的文件 lsof -u ^root # 查看非root用户打开的文件, ^表示非 lsof -p 1753 # 查看pid1753进程打开的文件 kill -9 `lsof -t -u demo` # 杀死demo用户的所有进程 lsof -u demo -a -c ssh # 查看用户demo的ssh进程打开的文件 lsof -i -a -c ssh # 查看ssh进程使用的网络文件 lsof -i :22 # 查看侦听25号端口的进程

Notes de l'éditeur

  1. 说明: init进程执行的动作都记录在/etc/inittab文件中.
  2. 注意:切换用户与用户初次登陆一样,也需要执行这些步骤.
  3. 说明:源的元数据存储了包的版本及包之间的依赖关系.
  4. 说明:什么是文件描述符?进程在打开一个文件时, 会为该文件分配一个数字进行标识, 该数字就是文件描述符.