zoukankan      html  css  js  c++  java
  • Linux基础理论

    本节内容

    1.  Linux的安装及相关配置

    2.  UNIX和Linux操作系统概述

    3.  Linux命令及帮助

    4.  目录结构

    6.  用户、群组和权限

    7.  用户、群组和权限的深入讨论

    10.  系统的初始化和服务

    11.  系统监控

    12.  硬盘分区、格式化及文件系统的管理

    14.  Linux网络原理及基础设置

    15.  软件包的管理

    16.  yum管理RPM包

    一  Linux的安装及相关配置

    操作系统:操作系统是一个用来协调、管理和控制计算机硬件和软件资源的系统程序,它位于硬件和应用程序之间。

    操作系统的内核是一个管理和控制程序,负责管理计算机的所有物理资源,其中包括:文件系统、内存管理、设备管理和进程管理。

     

    用户态:应用软件

    内核态:硬件交互

     

    Linux 主要发行版:CentOS、RHEL、Ubuntu等

    安装Linux操作系统时对内存的最低要求为:512M

     

    二  UNIX和Linux操作系统概述

    UNIX的定义: UNIX是一个计算机操作系统,一个用来协调、管理和控制计算机硬件和软件资源的控制程序

    UNIX的特点:多用户和多任务

    多用户表示在同一时刻可以有多个用户同时使用UNIX操作系统而且他们互不干扰

    多任务表示任何一个用户在同一时间可以在UNIX操作系统上运行多个程序

    Linux的定义:Linux是一套免费使用和自由传播的类UNIX操作系统,

    是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统

    Linux操作系统的主要用途:主要用于服务器,特别是网络服务器

    两种常见的桌面环境:KDE和GNOME

    切换虚拟终端:Ctrl+Alt+[F1~F6]  Ctrl+Alt+F7 图形界面  

     init 0 关机 exit 退出

    root新增用户

    useradd tom

    passwd tom

    $ 普通用户

    # root用户 

    三 Linux命令及帮助

    1. Linux命令的格式

    命令 【选项】 【参数】

    命令:告诉Linux(Unix)操作系统做(执行)什么

    选项:说明命令运行的方式(可改变命令的功能),选项部分是以“-”字符开始

    参数:说明命令影响(操作)的是什么(如一个文件,一个目录或是一段正文文字)

    # ls -a /
    # whoami   列出目前登陆Linux系统所使用的用户名(账号)
    # who         显示当前登录的所有用户,以及当前的日期和时间
    # date  '月日时分年'
    # clear  Ctrl+l 清屏
    # useradd tom
    # passwd tom
    # passwd   当前用户
    # su 从当前的用户切换到另一个指定的其他用户
    # su - tom
    # man  获取某个Linux命令的使用说明
    # man useradd
    # useradd --help
    四  目录结构

    Linux系统中的一些重要的目录

    家目录:用来存放用户自己的文件或目录,其中,超级用户root的家目录是/root,而普通用户的家目录被存放在/home目录下,

    并使用用户名作为最后一级目录(家目录)的名称,如cat用户的家目录为/home/cat

    绝对与相对路径

    绝对路径:必须以一个正斜线(/)开始。绝对路径包括从文件系统的根节点开始到要查找的对象(目录或文件)所必须遍历的每一个目录的名字,

    它是文件位置的完整路标,因此在任何情况下都可以使用绝对路径找到所需的文件

    相对路径:不是以正斜线(/)开始,相对路径可以包含从当前目到要查找的对象(目录或文件)所必须遍历的每一个目录的名字

    1.  Linux目录结构

    .
    ├── bin         #常用的二进制命令目录,比如ls/cp/mkdir/cut等命令目录和/usr/bin/类似
    ├── boot        #Linux的内核及引导系统程序所需要的文件目录
    ├── dev         #设备文件目录,比如声卡磁盘
    ├── etc         #常用系统及二进制安装包配置文件默认路径和服务启动命令目录
    ├── home        #普通用户的家目录默认存放目录
    ├── lib         #库文件存放目录
    ├── lib64       
    ├── lost+found  #注{1}
    ├── media
    ├── mnt         #一般用来临时挂载存储设备的挂载目录,比如有cdrom,U盘等
    ├── opt         #表示可选的意思,有些软件包也会被安装在这里,也就是自定义软件包。或者存放一些自己的配置文件。
    ├── proc        #注{2}
    ├── root
    ├── sbin        #大多涉及系统管理的命令存放,是着急权限用户root的可执行命令存放地,这个目录和/usr/bin /usr/local/bin/ 目录类似
    ├── selinux
    ├── srv
    ├── sys
    ├── tmp         #临时文件目录,有时用户运行程序的时候,会产生临时文件,/tmp就是用来存放临时文件的,权限比较特殊,/var/tmp目录和这个目录类似
    ├── usr         #注{3}
    └── var         #注{4}
    
    #注{1}   ├── lost+found  #注{1}
    '''
    在ext3文件系统中,当系统意外崩溃或者机器意外关机,会产生一些文件碎片在这里。
    当系统在开机启动的过程中fsck工具就会检查这里,并修复已经损坏的文件系统。
    大系统发生问题,可能会有文件被移到这个目录中,可能需要手工的方式来修复,或移到文件原来的位置。
    '''
    
    #注{2}   ├── proc        #注{2}
    '''
    操作系统运行时,进程信息及内核信息(比如,CPU、硬盘分区、内存信息等)都存放在这里。/proc目录伪装的文件系统proc的挂载目录。
    proc不是真正的文件系统
    '''
    
    #注{3}   ├── usr         #注{3}
    '''
    这个是系统存放程序的目录,比如命令、帮助文件等,这个目录下有很多的文件和目录。当我们安装一个Linux发行版官方气提供的软件包时,大多安装在这个目录里。
    如果涉及到服务的配置文件的,会把配置文件安装在/etc/目录中。
    /usr/目录下包括涉及字体目录/usr/share/font,帮助目录/usr/share/man 或/usr/share/doc 普通的用户可执行文件目录/usr/bin 或 /usr/local/bin/ 或 /usr/X11R6/bin
    比如/usr/sbin/ 或者/usr/X11R6/sbin 或/usr/local/sbin/ 等;还有程序的头文件存放目录/usr/include
    '''
    
    #注{4}   └── var         #注{4}
    '''
    这个目录的内容是经常变动的,看命自救知道,我们可以理解为vary的缩写,/var/下有/var/log 这是用来存放系统日志的目录。/var/www/目录是定义Apache服务器站点存放目录;
    /var/lib/ 用来存放一些库文件,比如MySQL的机器MySQL数据库的存放地
    '''

    2.  /etc下重要目录

    /etc/sysconfig/network-scripts/  #配置网络地址GW等目录
    /etc/resolv.conf                 #设置本机的客户端DNS配置文件
    /etc/hosts                       #设置用户IP与域名对应表,相当于本地LAN内DNS
    /etc/sysconfig/network           #可修改主机名及网卡启动等配置的配置文件
    /etc/fstab                       #记录开机要Mount的文件系统
    /etc/inittab                     #设置系统启动时init进程将把系统设置成什么样的runlevel及加载相关的启动文件设置
    /etc/init.d/                     #这个目录是用来存放系统或服务器以System V模式启动的脚本!     注释{5}
    /etc/xinetd.d/                   #如果服务器通过xinetd模式运行,他的脚本要放在这个目录下。现在用的已经不多了
    /etc/profile                     #系统全局环境变量配置路径在 如果修改后,需要通过source让他生效!一般系统的环境变量都是大写的
    /etc/issue                       #记录用户登录前显示的信息
    /etc/group                       #设定用户的组名与之相关信息
    /etc/passwd                      #用户账号信息
    /etc/shadow                      #密码信息
    /etc/sudoers                     #可以sudo命令的配置文件   一般不直接修改这个文件通过visudo来修改
    /etc/securetty                   #设定那些终端可以让root登录
    /etc/login.defs                  #所有用户登录时缺省的配置
    /etc/modeprobe.conf              #内核模块额外设定参数,在6版本以后统一放在/etc/modprobe.d/目录下了,手动创建这个文件也是可以生效的
    
    
    
    #注释{5}                         #注释{5}  /etc/init.d/ 
    '''
    linux或unix有两种方式的启动模式:System V和BSD 
    
    最大的不同就是:System V能够为不同的运行级别定义启动哪些服务,比如: 
        # 0 - 停机(千万不要把initdefault设置为0 ) 
      # 1 - 单用户模式 
      # 2 - 多用户,但是没有NFS 
      # 3 - 完全多用户模式(无界面的黑框框) 
      # 4 - 没有用到 
      # 5 - X11(图形界面) 
      # 6 - 重新启动(千万不要把initdefault设置为6 ) 
    
    采用System V的启动模式,可以灵活的定义在 3 的运行级别下开机启动 FTP 服务,而在 5 的运行级别下开机不启动 FTP 服务。 但是采用BSD没有运行级别的概念。
         
    
    BSD方式: 
    BSD启动方式:在/etc/rc.d和/usr/local/etc/rc.d中存放启动服务的脚本,在/etc/rc.conf中设置xxx_enable="YES"或xxx_enable="NO"随系统启动启动或关闭服务,
    该文件是/etc/defaults/rc.conf的一个子集。BSD启动方式没有运行级别,简单,但缺乏多样性。
    
    
    System V启动方式:
    也就是linux采用的启动方式,启动服务的脚本放在/etc/rc.d/init.d下面,你能够在/etc/rc.d目录下面看到很多类似 rc0.d或rc2.d这样的目录,
    这就是为每个不同的运行级别定义启动哪些服务的目录,数字0 1 2就代表运行级别,进入这些目录,能看到很多链接文件,以S或K开头的这样文件分别表示在当前运行级别下是否开启这个服务,
    这些文件分别链接到/etc/rc.d/init.d/下面的很多可执行文件。 
    
    需要注意的是:在一些System V启动模式的操作系统上(如 RedHat9),除了有/etc/rc.d/init.d/这个目录,还有/etc/init.d/这个目录,
    其实 ls -l 一下可以看到,/etc/init.d/这个目录 本来就是链接到/etc/rc.d/init.d/的一个链接目录。 
    
    
    '''

    3.  其他的目录

    /lib                   #系统会使用到的函数库
    /lib/modules/          #kernel的相关模块
    /var/lib/rpm/          #rpm套件安装处
    /usr/bin/              #这个目录是可执行程序的目录;当我们从系统自带的软件包安装一个程序时
                           #他的可执行文件大多会放在这个目录。相似的目录是/usr/local/sbin;
                           
    /usr/sbin              #这个目录也是可执行程序的目录,大多存放涉及系统管理的密令,相似有/usr/local/sbin/
    /usrlocal              #这个目录一般是用来存放用户自编译安装软件的目录;一般是通过源码安装的软件
                           #一般如果没有指定安装目录的话默认一般是这个目录
    
    /usr/local/bin/        #用户安装的小的应用程序,和一些在/usr/local目录下大应用程序的服务号连接
    /usr/share             #系统公共的东西存放地,比如/usr/share/doc 和 /usr/share/man
    /usr/src               #内核源码存放目录
    /usr/bin               #使用者可执行的binary file目录
    /usr/local/bin         #使用者可执行的binary file目录
    /usr/lib               #系统会使用到的函数库
    /usr/local/lib         #系统会使用到的函数库
    /usr/local/sbin        #系统管理员才能执行的命令
    /usr/sbin              #系统管理员才能执行的命令

    4.  /var目录下的路径知识

    /var/log                #各种日志存放地
    /var/log/message        #系统信息默认日志文件,非常重要,按周自动轮询
    /var/log/secure          #记录登录系统存放的信息文件,按周自动轮询,例如pop3/ssh/telnet等都会被记录在此
    /var/log/wtmp           #记录登录信息文件/last
    /var/spool              #定时任务crontab默认目录,按用户名命名文件
    /var/spool/cron         #定时任务crontab默认目录,按用户名命名文件
    /var/spool/mail         #系统用户邮件存放目录,按用户名命名文件
    /var/spool/clientmqueue #临时邮件目录,有很多原因会导致这个目录碎文件很多,比如crontab命令不加>/dev/null

    5.  /proc下的重要路径知识

    /proc               #虚拟目录,是内存的映射
    /proc/version       #内核版本
    /proc/sys/kernel    #系统内核功能
    /proc/cpuinfo       #关于处理器的信息,如类型、厂家、型号和性能等
    /proc/devices       #当前运行内核所需配置的所有设备清单
    /proc/dma           #当前正在使用DMA通道 
                        #DMA(Direct Memory Access) ,即直接存储器存取,是一种快速传送数据的机制。数据传递可以从适配卡到内存,从内存到适配卡或从一段内存到另一段内存
    /proc/filesystem    #当前运行内核所需配置的文件系统
    /proc/interrupts    #正在使用的中断,和曾经有多少中断
    /proc/ioports       #当前正在使用的I/O端口
    /proc/loadavg       #系统负载信息uptime的结果

    6.  其他路径只是(了解)

    /etc/DIR_COLORS             #设定颜色
    /etc/hosts.allow            #设置允许使用inetd的机器使用 inetd是监视一些网络请求的守护进程,其根据网络请求来调用相应的服务进程来处理连接请求。
    /etc/hosts.deny             #设置不允许使用inetd的机器使用
    /etc/protocols              #系统支持的协议文件
    /etc/X11                    #X Windoews的配置文件

     

    六  用户、群组和权限

     

    Linux一切皆文件

    1. 新增用户时相关文件

    less  /etc/passwd

    /etc/passwd文件的功能:存储所有用户的相关信息,该文件也被称为用户信息数据库(Database)

    /etc/passwd文件每个字段的具体含义:

    第1个字段(列)记录的是这个用户的名字(在创建用户时root用户起的)

    第2个字段(列)如果是x,表示该用户登录Linux系统时必须使用密码;如果为空,则该用户在登录时无须提供密码

    第3个字段(列)记录的是这个用户的uid

    第4个字段(列)记录的是这个用户所属群组的gid

    第5个字段(列)记录的是有关这个用户的注释信息(如全名或通信地址)

    第6个字段(列)记录的是这个用户的家目录的路径

    第7个字段(列)记录的是这个用户登录后,第一个要执行的进程

     - /bin/bash

     - /sbin/nologin

    root  uid=0  普通用户 uid=500 开始,若tim的uid改为0,那tim就是root用户

     

    less /etc/shadow

    /etc/shadow文件的功能:存储所用用户的密码,每一个用户占用一行记录,该文件实际就是存放用户密码的数据库(Database)

    第1个字段(列)是用户名

    第2个字段(列)是密码,这个密码是经过MD5加密算法加密过的密码

    less /etc/group 

    /etc/group文件的功能:存放了Linux系统中所有群组的信息,它实际上就是一个存放了群组信息的数据库(Database)

    第1个字段是这个群组的名字

    第2个字段中的x表示这个群组在登录Linux系统时必须使用密码   /etc/gshadow   组一般不设密码

    第3个字段记录的是这个群组的gid

    第4个字段记录的是这个群组里还有哪些群组成员

    less  /var/spool/mail/    #  用户邮件

    新增用户涉及的文件  /etc/passwd  /etc/shadow  /etc/group  /etc/gshadow  /etc/var/spool/mail/tom  /home/tom

    Linux一切皆文件,建用户,就是建文件

     

    2.   用户操作

    useradd命令的功能:新增一个用户

    –u:指定用户的UID

    –g:指定用户所属的群组

    –d:指定用户的家目录

    –c:指定用户的备注信息

    –s:指定用户所用的shell

     

     

    userdel  -r user   删除用户

     –r:在删除用户的同时删除这个用户的家目录及其邮箱

     

    查看用户信息 id user

     

    usermod [-  ]  user

    usermod -d /home/sb alex              # 只修改passwd文件家目录,需手动创建家目录信息

    groupadd group_name                  # 新建组

    usermod -G group_name alex       # 把alex添加到组 group_name,覆盖形式(主组不变)

    usermod -aG group_name alex    # 把alex添加到组 group_name,追加形式

     

    usermod -L user   # 锁定

    usermod -U user  # 解锁

     

    3. 组操作

    groupadd、groupdel、groupmod

    七  用户、群组和权限的深入讨论

    文件的操作权限

    ls -l 

    权限信息.   硬链接数  属主  属组   文件大小   文件创建日期   文件名 

    权限信息 后面的. 和selinux相关,一般关闭,了解即可

    权限信息

    第1位:文件类型

      -  普通文件

      d  目录文件

      l  软连接     ln -s  源文件  link

      b  块文件   ls -l  /dev/sda1   在操作系统级别块设备逻辑单位

      p 管道文件 

    权限分三类  读r、写w、执行x

    第2-4位:属主的权限

    第5-7位:属组的权限

    第8-10位:其他人的权限

    chmod  u  g  o   a.txt

    u=rwx   g-w  o+w

    管理员 root 不在权限控制范围内

    只有文件的属主才能修改权限

    十 系统的初始化和服务  

    BIOS                帮我们找到启动盘是谁

    MBR 512 Bytes 装有操作系统的分区   

    boot loader      GRUB控制内核列表,选择内核 

    kernel

    init process

    login

     

    cat /etc/inittab

    init 0 关闭

    init 1 单用户模式

    init 2 同init3,无网络

    init 3 命令行多用户

    init 4 预留,开发

    init 5 图形界面

    init 6 重启

     

    GRUB加密 

    "启动读秒时任意键" -> "e "  编辑操作系统

    选择操作系统内核 -> "e" 编辑

    空格 1 -> 初始化进程选择1 进入单用户模式(即 root 账号) 可修改密码

     

    所以为了保证安全,需对GRUB进行加密

    grub-md5-crypt

    vim /etc/grub.conf 添加选项 password --md5 密钥

    登录grub界面时 选 p 输入密码

    备注:

    rm -rf  /etc/.inittab.swp   # 非正常关机系统保存的临时文件

    linux 模块化设计 需要什么功能模块,就加载,不需要就卸载

    BIOS加密

    • "虚拟机" -> "电源" -> "打开电源时进入固件" -> "BIOS" -> "CD-ROM Driver"启动 -> "Rescue installed system"

    • vi  /mnt/sysimage/etc/grub.conf  编辑grub.conf文件去掉加密选项 password --md5 即可破解grub

    • 加密主板BIOS即可

    附件1 linux系统启动流程

    磁盘最小读取单位  一个磁道上的扇区

    512bytes 主引导记录MBR(master boot record) 

    前446bytes 引导信息

    中64bytes 分区信息

    最2bytes 标志位

     

    cat /etc/redhat-release

    uname -a

    uname -r

    十一  系统监控

    1.  命令top

    top是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器

    第一行是任务队列信息 

    20:00:47 当前时间
    up 4:34 系统运行时间,格式为时分
    6 users 当前登录用户数
    load average: 0.00, 0.04, 0.04 系统负载,三个数值分别为1分钟、5分钟、15分钟前到现在的平均值

    第二行为进程信息 Tasks: 

    154 total 进程总数
    1 running 正在运行的进程数
    153 sleeping 睡眠的进程数
    0 stopped 停止的进程数
    0 zombie 僵尸进程数

    第三行为CPU信息  CPU(s): 

    0.3%us   用户空间占用CPU百分比
    0.7%sy  内核空间占用CPU百分比
    0.0%ni 用户进程空间内改变过优先级的进程占用CPU百分比
    98.7%id 空闲CPU百分比
    0.3%wa 等待输入输出的CPU时间百分比
    0.0%hi 硬件中断占用CPU时间的百分比
    0.0%si 软件中断占用CPU时间的百分比
    0.0%st                        实时

    第四、五行为物理内存、交换内存信息

    buffer和cache都是内存中空间

    cache:高速缓存,把CPU经常调用的数据缓存到cache中,解决CPU和内存的速度差

    buffer:缓存区,硬盘向buffer中 写数据,组合在一起,CPU一块调用,解决内存和硬盘之间速度差

    父进程--子进程

    bash

    bash

    bash

    进程列表信息

    PID                                         进程ID
    USER 进程所有者的用户名
    PR 优先级
    NI NICE值
    VIRT 进程使用的虚拟内存总量,单位KB VIRT=SWAP+RES
    RES  进程使用的、未被换出的物理内存大小,单位KB   RES=CODE+DATA
    SHR   共享内存大小,单位KB
    S 进程状态
                D=不可中断的睡眠状态
                R=运行
                S=睡眠
                T=跟踪/停止
                Z=僵尸进程
    %CPU 上次更新到现在的CPU时间占用百分比
    %MEM 进程使用的物理内存百分比
    TIME+ 进程使用的CPU时间总计
    COMMAND 命令名/命令行

    一般不会用top命令监控系统,实时刷新占用资源多

     

    2.  命令free

    free:显示内存的使用状态  -m 单位MB  -h 单位GB

    Mem[used]  代表内存分配出去的大小,也就是给buffers和cache使用,902124KB 

    Mem[buffers] 分配出去的buffers,但还没使用的buffers,43788KB

    Mem[cached] 分配出去的cache,但还没使用的cache,490200KB

    buffers/cache[used] 已使用的buffers和used,368136KB

    Mem[used] = Mem[buffers]  + Mem[cached] +  buffers/cache[used],即902124KB=43788KB+4990200KB+368136KB

    内存的真实使用量,buffers/cache[used]=368136KB

     

    Mem[free] 没有被分配出去的内存,101988KB

    Mem[buffers] 分配出去的buffers,但还没使用的buffers,43788KB

    Mem[cached] 分配出去的cache,但还没使用的cache,490200KB

    buffers/cache[free] 可以被当做fuffers/cache使用的内存,635976KB

    buffers/cache[free] =Mem[free] + Mem[buffers] + Mem[cached],即 635976KB=101988KB + 43788KB + 490200KB

     

    内存总量=已使用量+未使用量,Mem[total] = buffers/cache[used] + buffers/cache[free],即1004112KB=368136KB+635976KB

    3. 命令ps

    进程:进程是程序的一次动态执行

    守护进程:守护进程是在后台运行并提供系统服务的一些进程

    父进程、子进程:当一个进程创建另一个进程时,第1个进程被称为新进程的父进程,而新进程被称为子进程

    ps:用来显示当前进程的状态

    ps aux  显示所有的与用户相关的完整信息

    ps aux | head -5               #  前5行

    grep 'root' /etc/passwd   #  打开文件/etc/passwd,一行一行读,然后匹配是否包含'root'

    ps aux | grep  'init'           #  过滤出包含'init'的进程

    ps aux | grep 'init' | grep -v 'grep'     #  -v 不包含 'grep'  反向匹配

    pstree  # 查看进程数

    centos7默认没有pstree,需要yum -y install psmisc

    4.  命令kill

    ps aux | grep 'bash' | grep -v 'grep'

    kill  -9 75383  # 强制关闭进程号,本质发信号

    [root@localhost~]# firefox     --> 启动浏览器,命令行卡住;关闭终端(父进程),浏览器也关闭(子进程)

    [root@localhost~]# firefox & --> 启动浏览器,后台运行,但命令行不会卡住

    [root@localhost~]# jobs         --> 查看后台运行进程

     [root@localhost~]# fg %1     --> fg %工作号,把后台程序调到前台执行

    十二  硬盘分区、格式化及文件系统的管理

    ls  /dev/sd

    fdisk -l /dev/sdb

    硬盘层面 一次读写 一个分区 512bytes

    OS层面  以块block为单位操作  512bytes * 8   

     

    块存储-------> 对应硬盘,一块裸盘不能用,必须分区

    文件存储----> 对应文件夹,如smaba服务

    对象存储----> 如百度网盘,只能新建文件夹,上传文件,不能基于文件实时修改

     

     fdisk  /dev/sdb    n-----> new  ----> p e ----> 选择柱面

    十四  Linux网络原理及基础设置

     

    ifconfig

    ifconfig  eth0

    # 临时配置网卡信息

    ifconfig eth0 192.168.100.5/24

    ifconfig eth0 192.168.100.5 netmask 255.255.255.0

    service network restart  

     

    # 永久修改网卡信息

    vim /etc/sysconfig/network-scripts/ifcfg-eth0

    DEVICE="eth0"
    TYPE="Ethernet"
    BOOTPROTO="dhcp"        #  自动获取IP地址
    ONBOOT="yes"            # restart 或 reboot后,网卡直接激活
    NM_CONTROLLED="no"      # 不启动这个服务,会影响其他服务
    
    
    BOOTPROTO="static"      # 静态配置IP地址
    IPADDR="192.168.254.200"
    NETMASK="255.255.255.0"
    GATEWAY="192.168.254.2"
    DNS1="202.106.0.20"
    DNS2="8.8.8.8"

    CentOS6 语法 

    service NetworkManager stop   # 网卡的守护进程要停掉

    chkconfig NetworkManager off  # 开机后不启动守护进程

     

    CentOS7语法

    systemctl stop NetworkManager

    systemctl disable NetworkManager

     

    service network restart

    chkconfig --list  | grep 'NetworkManager'

    chkconfig --level 2345 NetworkManger off

    查看路由 route -n

    查看DNS解析 cat /etc/resolv.conf

    十五  软件包的管理

    nginx.tar.gz 源码包,一堆字符串,需编译安装成二进制,OS才可以运行

    • 编译(源码翻译成二进制)

    • 安装

    rpm hedhat package management,二进制形式

    • 安装(官方已编译)

     

    编译安装过程

    解包------> 运行configure脚本,添加编译参数 ------> 编译(gcc-*, glibc-*) make -----> 安装 make install

    ls ---------PATH -----------/bin/ls

    vim /etc/profile

    PATH=$PATH:/usr/local/python3/bin

    export PATH

    rpm文件名包括5个部分

    第1部分是name,表示这个rpm软件包的名称;

    第2部分是version,表示这个rpm软件包的版本编号;

    第3部分是release,表示这个rpm软件包的版本发布次数(修正号码);

    第4部分是architectures,表示这个rpm软件包适用于哪些平台;

    最后一部分是rpm,表示这个rpm软件包的文件扩展名

     

    rpm安装及移除软件

    –i:安装(Install)软件

    –U:升级(Upgrade)旧版本的软件

    –e:移除/删除(Erase)软件

    –v:显示详细的处理信息

    –h:显示安装进度。卸载不能用

    rpm本地安装

    本地安装,如光盘   ls  /media/CentOS_6.4_Final/Packages,安装OS时可选择需要的软件进行安装

    查看RPM软件包中的信息

    rpm –qa:显示目前操作系统上安装的全部软件包

    pm –qa | grep dhcp

    rpm包的属性依赖性问题:这个软件包的安装依赖于其他软件包的安装

    rpm -e dhcp-common --nodeps  忽略依赖性

    rpm 网络安装

    rpm -ivh http://mirror.centos.org/centos-6/6.9/extras/x86_64/Packages/python-tornado-2.2.1-1.el6.centos.noarch.rpm

    也可以下载到本地

    wget http://mirror.centos.org/centos-6/6.9/extras/x86_64/Packages/python-tornado-2.2.1-1.el6.centos.noarch.rpm

     

    十六  yum管理RPM包

    rpm ----> 安装源,yum ----> 安装源,安装源分为本地安装源和网络安装源

    rpm安装、删除时存在依赖性关系问题,yum(python开发)可以很好解决这个问题

    yum 本地安装源

    yum操作是把安装源写到配置文档里,根据配置文档里的地址信息,找到repodata依赖性关系文件,再去Packages安装包

    vim /etc/yum.repos.d/local.repo
    
    [local]    <------ID 表示
    name=local yum    <------- 名字
    baseurl=file:///media/CentOS_6.4_Final     <------ 协议://源绝对路径   rpm到Packages中安装,yum到repodata找依赖性关系
    enabled=1    <------ 启用
    gpgcheck=0    <------ 不检测gpg  

    自定义本地yum源

    yum install  -y createrepo  # 创建依赖关系的命令
    mkdir  /test    # 源包文件
    cp 软件包 /test
    createrepo /test    # 创建依赖关系
    vim /etc/yum.repos.d/local.repo
    baseurl=file:///test    # 指定yum源

    常用命令

    yum makecache    # 建缓存信息,yum install 直接从缓存中找依赖性关系
    yum clean all        # 清理yum 缓存
    yum -y install  http* # 匹配安装
    yum erase dhcp   # 删除
    yum grouplist  # 支持所有的组安装列表
    yum groupinstall  "开发工具"  # 组安装

    yum 安装网络源

    vim centos.repo
    
    [centos]
    name=remote yum
    baseurl=http://mirror.centos.org/centos-6/6.9/os/x86_64/
    enabled=1
    gpgcheck=0

    保存缓存yum软件包

    /etc/yum.conf
    
    cachedir=/yum_source
    
    keepcahce=1

    实例:部署openstack 一边部署一台机器,一边缓存软件包。把所有需要的软件包自己定制源,从而保证整个系统的版本一致 

     

    更多信息请参考:

    http://www.cnblogs.com/linhaifeng/articles/6045600.html

    http://www.cnblogs.com/luotianshuai/articles/5630097.html

  • 相关阅读:
    5402.绝对差不超过限制的最长数组
    快乐数
    无重复字符的最长子串
    数组中数字出现的次数
    盛最多的水
    对角线遍历
    LeetCode第24场周赛
    CSS样式
    笔记
    开关电源设计
  • 原文地址:https://www.cnblogs.com/jonathan1314/p/7327639.html
Copyright © 2011-2022 走看看