目录
软件包管理
yum 
安装  
查询  
卸载  
扩展:  
rpm 软件包管理的命令
安装(--force 强制安装)  
查询
卸载    (--nodeps  强制卸载)
rpm 安装httpd案例过程:
自制yum仓库
利用ftp制作yum仓库服务器
源码包管理
软件包管理
yum 
1.源码包
 2.二进制包yum源/yum仓库
     切换yum源  (BASE EPEL 软件包官方源) 
 yum软件包管理安装
    install    1.yum仓库中指定的下载地址
         包名
         本地安装 localinstall  .rpm软件包
         url (下载 安装)
     reinstall
     groupinstall
     groupreinstall查询
    yum list    部分软件包名称
     yum repolist
     yum search    描述
     yum provides  文件/命令
     yum groupinfo
     yum info
     yum grouplist卸载
   yum remove
扩展:
    yum makecache (fast)
     yum clean all
     yum 可以自动解决软件包的依赖关系
     cachedir=/var/cache/yum/$basearch/$releasever  //缓存路径
     keepcache=0 //是否开启缓存 0==关闭  1==开启 开启缓存后会把    安装的软件包缓存到本地    实验:  在安装软件的时候把软件包缓存到本地
     1.修改yum的配置文件,开启缓存功能
     2.直接去安装我们需要安装的软件,包会自动缓存到对应的目录下(包的仓库)rpm 软件包管理的命令
安装(--force 强制安装)
    -ivh
     -Uvh查询
  -qa    可以查询已经安装的所有软件包,判断该软件是否被安装
     查询软件的名称
     [root@lcr ~]# rpm -qa  (只查询已安装的软件包)
         如果我要判断这个软件是否安装    
     [root@lcr ~]# rpm -qa | grep lftp
     lftp-4.0.9-1.el6.x86_64
     -a all
     
   -qf     ==yum provides  查询文件是由那个软件产生
     查询某一个文件是哪个软件产生的
     [root@lcr ~]# rpm -qf /etc/passwd
     setup-2.8.14-20.el6.noarch
     [root@lcr ~]# rpm -qf /bin/rpm
     rpm-4.8.0-32.el6.x86_64
   -f file
   -qc     查询配置文件
   -qi      查询软件的详细   ==   yum info +软件包卸载    (--nodeps  强制卸载)
  -e
     软件卸载
     [root@lcr ~]# rpm -e 软件名称
     -e eraselast 查看登陆过的IP地址
 cat /var/log/secure 该文件显示 的是登陆成功的记录,但是该文件经常自动做切割,所以只能看到某个时间段的。rpm 安装httpd案例过程:
1.查看对应httpdb包名
     [root@localhost ~]# yum provides httpd
     Loaded plugins: fastestmirror
     Loading mirror speeds from cached hostfile
     httpd-2.4.6-95.el7.centos.x86_64 : Apache HTTP Server
 2.进入rpmfind.net搜索httpd-2.4.6-95.el7.centos.x86_64,找到centos7对应版本,复制链接
 3.使用wget 粘贴链接 下载安装包 
 4.使用rpm -ivh 安装httpd包
 5.可能会出现
     error: Failed dependencies:
     /etc/mime.types is needed by httpd-2.4.6-93.el7.centos.x86_64
     httpd-tools = 2.4.6-93.el7.centos is needed by httpd-2.4.6-93.el7.centos.x86_64
     libapr-1.so.0()(64bit) is needed by httpd-2.4.6-93.el7.centos.x86_64
     libaprutil-1.so.0()(64bit) is needed by httpd-2.4.6-93.el7.centos.x86_64
     //这是要你要处理的依赖,须逐个解决;与1,2,3,4步步骤一致,先查对应包名->再搜索对应版本复制链接->下载安装包->安装依赖包
 6.解决后即可安装Apache httpd服务自制yum仓库
==========使用镜像做yum仓库==============
 1.准备一个镜像(DVD)
 2.挂载镜像(提前准备一个挂载点)
 3.写yum仓库的配置文件
 4.清空缓存,重新加载缓存
 ====================================
 过程:
 1.创建一个目录(用来存放rpm包)
  mkdir /opt/myyum
 2.将rpm包拷贝到这个目录里(采用上传ISO镜像的方式获取rpm包,使用挂载)
 mount CentOS-7-x86_64-minimal-1708.iso /mnt 
 mount 镜像  挂载点 (/mnt)
 cp /mnt/Packages
 3.使用命令createrepo把目录创建成软件包目录
 [root@lcr ~]# createrepo /opt/myyum/4.自己创建yum仓库文件
 /etc/yum.repos.d/   存放yum仓库文件的目录
 /etc/yum.conf  yum的配置文件
 cachedir=/var/cache/yum/$basearch/$releasever   缓存目录
 keepcache=1    (0:关闭缓存  1:开启缓存)
 logfile=/var/log/yum.log  yum的日志文件yum的仓库文件,repo结尾的文件
 [myyum]
 name=myyum  //你想要的名字
 baseurl=本地路径 file:///opt/myyum/                 
     http
     ftp://10.11.59.110:/nginx
 gpgcheck=0      //开启签名机制 (0:关闭  1:开启) 为了保证软件包是一个安全软件包
 enabled=0/1    1:开启这个仓库  0:关闭这个仓库(disabled) 利用ftp制作yum仓库服务器
1.准备两台服务器 关闭服务器 关闭selinux
 systemctl stop firewalld 关闭防火墙
 systemctl disable firewalld 关闭防火墙的开机启动
 setenforce 0 临时关闭seliunx
 2.服务器规划
 ip1:客户端,使用ftp-server提供的rpm包
 ip2:ftp服务器 提供rpm包——保证yum仓库可以(base epel)部署服务器:
     1.安装ftp服务器
     [root@localhost ~]# yum -y install vsftpd
     2.启动ftp服务
     systemctl start vsftpd
     3.在ftpd的共享目录下创建一个目录叫myyum
     cd /var/ftp/
     mkdir myyum
     4.上传rpm包
     5.把/var/ftp/myyum做成软件包目录
     createrepo /var/ftp/myyum/
 部署客户端:谁用ftp服务器里的rpm包谁就需要写repo文件
         cat myyum.repo
         [ftp-yum]
         name=ftp-yum-mysql
         baseurl=ftp://服务器IP/myyum
         enabled=1
         gpgcheck=0
     yum clean all
     rm -rf /var/cache/yum
     yum makecache fast
     yum repolist
     
 当ftp不成功:
     1.防火墙是否关闭,是否关闭seliunx
     2.netstat -aunt 是否出现端口20 或21
     3.服务器端配置文件是否写对    源码包管理
准备一台干净的服务器,保证yum仓库可用.保证能够ping通百度 
 systemctl stop firewalld 关闭防火墙
 systemctl disable firewalld 关闭防火墙的开机启动
 setenforce 0 临时关闭seliunx一:下载nginx的安装包(www.nginx.org)
 [root@lcr /]# wget http://nginx.org/download/nginx-1.18.0.tar.gz
 [root@lcr /]# tar xf nginx-1.18.0.tar.gz 二:准备编译安装的环境
 [root@lcr /]# yum -y install apr apr-util ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make三:配置
 [root@lcr /]# cd nginx-1.18.0
 [root@lcr /]# ./configure --prefix=/usr/local/nginx
 --prefix=/usr/local/nginx 指定安装路径四.五:编译+安装
  &&  可以链接多个命令,前面的命令执行成功后在执行后面的命令
 [root@lcr nginx-1.18.0]# make && make install 扩展:nginx配置参数
        --prefix=path     
     定义将保留服务器文件的目录。该相同目录还将用于设置的所有相对路径 configure(库源路径除外)和nginx.conf配置文件中。/usr/local/nginx默认情况下设置为目录。
         --sbin-path=path
      设置nginx可执行文件的名称。此名称仅在安装期间使用。默认情况下,文件名为 prefix/sbin/nginx。
         --modules-path=path
      定义将在其中安装nginx动态模块的目录。默认情况下使用prefix/modules目录。
         --conf-path=path
     设置nginx.conf配置文件的名称。如果需要,可以通过在命令行参数中指定nginx来始终使用其他配置文件来启动它 。默认情况下,文件名为 。 -c fileprefix/conf/nginx.conf
         --error-log-path=path
     设置主要错误,警告和诊断文件的名称。安装后,可以始终nginx.conf使用error_log伪指令在配置文件中 更改文件名 。默认情况下,文件名为 prefix/logs/error.log。
         --pid-path=path
     设置nginx.pid将存储主进程的进程ID 的文件名。安装后,可以始终nginx.conf使用pid伪指令在配置文件中更改文件名 。默认情况下,文件名为 prefix/logs/nginx.pid。
         --lock-path=path
     为锁定文件的名称设置前缀。安装后,可以始终nginx.conf使用lock_file伪指令在配置文件中 更改该值 。默认情况下,值为 prefix/logs/nginx.lock。        --user=name
     设置一个非特权用户的名称,其凭据将由工作进程使用。安装后,可以始终nginx.conf使用用户指令在配置文件中 更改名称 。默认用户名是nobody。--group=name设置工作进程将使用其凭据的组的名称。安装后,可以始终nginx.conf使用用户指令在配置文件中 更改名称。默认情况下,组名设置为非特权用户的名称。    --http-log-path=path
     设置HTTP服务器的主请求日志文件的名称。安装后,可以始终nginx.conf使用access_log伪指令在配置文件中 更改文件名 。默认情况下,文件名为 prefix/logs/access.log。 如果IP a看不到IP地址怎么办
 ifup ens33