随笔 - 10  文章 - 0  评论 - 0  阅读 - 975

七、软件管理体系

软件管理体系

  • 目标:熟练掌握Linux安装软件方式(对软件的增删改查)
  • 难点:
    • 命令选项较多,建议整体记忆。
    • 软件仓库的搭建与使用
    • 编译安装

1. 概述与Linux安装软件方式

软件安装方式 简介 特点🌟🌟🌟🌟🌟 优势🌟🌟🌟 缺点 应用场景
rpm软件包安装 rpm是Linux软件包格式,
安装后只需要简单的加工就行了
但是,没有相关依赖,就需要自己解决
自己下载rpm包,自己安装,
缺少依赖自己手动解决
只要你有rpm包
通过rpm命令安装
缺少依赖,只能手动解决依赖 yum源没有自,自己下载好了rpm可以用rpm命令安装
安装的时候推荐使用yum localinstall
rpm命令一般用于查找软件安装没有,软件包内容
yum命令安装 相当于自动给你下载解决 yum安装软件,
替我们下载rpm包,
替我们安装rpm包,
缺少依赖yum替我们下载
不需要关系依赖
yum自己检查,自动下载与安装依赖
依赖网络(可以通过自己搭建yum仓库解决) 必备,大部分软件通过yum安装
有的是yum源中的软件包版本较低
如果需要新版本尝试查找rpm包,二进制,源码
编译安装 可以自己定义安装 编译:源代码---->命令(二进制文件)
编译安装三部曲:
./configure(配置)--->make(编译)--->make install(安装)
好处:可以自定义功能,
这个软件没有rpm包或yum安装不了
步骤繁琐
缺少的依赖需要自己解决
大型软件时间长
定制化功能(增减)
新版本
企业应用:先编译安装,编译安装内容打rpm包,搭建yum仓库(私有)
二进制包 绿色软件(解压即用) 别人配置好的,我们只需要解压,简单配置,即可使用 方便 不是所有软件都有,只有部分服务才有 方便,但不是所有软件都有。

2. 软件管理体系之rpm命令

  • 目标:熟练通过rpm命令对系统软件进行(查/增)
  • 小知识点:rpm包是Linux(红帽系列)软件包的格式,类似与windows.exe格式
  • rpm命令,管理软件包
rpm命令 选项
增加(安装) -ivh -i install安装
-v 显示过程
-h 显示过程
查询 -qa -q query 查询
-a all所有
-ql -l 显示软件包的内容
-qf 检查命令属于哪个软件包
-aV 检查系统软件包中文件或命令与刚刚安装的时候是否变化
删除 -e(erase) 删除
修改(升级) -Uvh 升级(如果软件包存在侧会升级,如果软件包不存在则直接安装)
其他 --nodeps 忽略依赖进行安装或删除

2.1 增加软件

  • 安装或升级

  • 准备使用光盘里面的软件包

  • 1️⃣

  • 2️⃣挂载光盘
/dev/cdrom
检查/mnt是否被挂载,如果挂载,umount /mnt卸载下
mount  /dev/cdrom  /mnt

[root@lichengbo-nb ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only  #装载:/dev/sr0受写保护,装载只读
[root@lichengbo-nb ~]# df -h
Filesystem                                Size  Used Avail Use% Mounted on
devtmpfs                                  2.0G     0  2.0G   0% /dev
tmpfs                                     2.0G     0  2.0G   0% /dev/shm
tmpfs                                     2.0G   12M  2.0G   1% /run
tmpfs                                     2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/mapper/centos_lichengbo--xuexi-root   50G  7.0G   44G  14% /
/dev/mapper/centos_lichengbo--xuexi-home   47G   33M   47G   1% /home
/dev/sda1                                1014M  138M  877M  14% /boot
tmpfs                                     394M     0  394M   0% /run/user/0
/dev/sr0                                  4.4G  4.4G     0 100% /mnt

案例01 安装一个软件包tomcat-7.0.76-15.el7.noarch.rpm

rpm -ivh   xxxx.rpm

#删除tree  telnet
[root@lichengbo-nb ~]# rpm -e tree telnet
error: package telnet is not installed

#安装tree软件包
[root@lichengbo-nb ~]# rpm -ivh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm 
Preparing...                          ################################# [100%]
	package tree-1.6.0-10.el7.x86_64 is already installed

#安装telnet软件包
[root@lichengbo-nb ~]# rpm -ivh /mnt/Packages/telnet-0.17-65.el7_8.x86_64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
   1:telnet-1:0.17-65.el7_8           ################################# [100%]

#错误提示需要依赖
[root@lichengbo-nb ~]# rpm -ivh /mnt/Packages/tomcat-7.0.76-15.el7.noarch.rpm
error: Failed dependencies:
	apache-commons-collections is needed by tomcat-0:7.0.76-15.el7.noarch
	apache-commons-daemon is needed by tomcat-0:7.0.76-15.el7.noarch
	apache-commons-dbcp is needed by tomcat-0:7.0.76-15.el7.noarch
	apache-commons-logging is needed by tomcat-0:7.0.76-15.el7.noarch
	apache-commons-pool is needed by tomcat-0:7.0.76-15.el7.noarch
	java >= 1:1.6.0 is needed by tomcat-0:7.0.76-15.el7.noarch
	tomcat-lib = 0:7.0.76-15.el7 is needed by tomcat-0:7.0.76-15.el7.noarch

2.2 查询

案例 01 检查软件包是否安装成功

#显示系统中所有已经安装的软件包(高能预警)
rpm -qa

#方法一:rpm -qa |grep ‘’  (推荐使用)
[root@lichengbo-nb ~]# rpm -qa |grep tree
tree-1.6.0-10.el7.x86_64
[root@lichengbo-nb ~]# rpm -qa |egrep 'tree|telnet'
telnet-0.17-65.el7_8.x86_64
tree-1.6.0-10.el7.x86_64

#方法二:rpm -qa 软件包命令(不能缺少内容)
[root@lichengbo-nb ~]# rpm -qa tree telnet
telnet-0.17-65.el7_8.x86_64
tree-1.6.0-10.el7.x86_64

案例02 检查软件包内容

#检查tree软件包内容
[root@lichengbo-nb ~]# rpm -ql tree
/usr/bin/tree
/usr/share/doc/tree-1.6.0
/usr/share/doc/tree-1.6.0/LICENSE
/usr/share/doc/tree-1.6.0/README
/usr/share/man/man1/tree.1.gz

#检查 lrzsz软件包内容
[root@lichengbo-nb ~]# rpm -ql lrzsz
/usr/bin/rb
/usr/bin/rx
/usr/bin/rz
/usr/bin/sb
/usr/bin/sx
/usr/bin/sz
/usr/share/locale/de/LC_MESSAGES/lrzsz.mo
/usr/share/man/man1/rz.1.gz
/usr/share/man/man1/sz.1.gz

案例03 检查ip命令属于哪个软件包(已安装)

  • 一般来说Linux一些命令有独立软件包
  • 还有一些命令书序一个软件包里面的,这个软件包中包含多个命令
#ip命令属于哪个软件包
[root@lichengbo-nb ~]# rpm -ql ip
package ifconfig is not installed
[root@lichengbo-nb ~]# rpm -qf /sbin/ip
iproute-4.11.0-30.el7.x86_64
[root@lichengbo-nb ~]# rpm -ql iproute

#ifconfig命令属于哪个软件包
[root@lichengbo-nb ~]# rpm -ql ifconfig
package ifconfig is not installed
[root@lichengbo-nb ~]# which ifconfig 
/usr/sbin/ifconfig
[root@lichengbo-nb ~]# rpm -qf /sbin/ifconfig 
net-tools-2.0-0.25.20131004git.el7.x86_64

案例04 检查系统软件包中的文件是否发生改变

rpm -aV  #显示出当前环境中与系统安装后(rpm安装后)是否发生变化

只要T(mtime) 表示文件被修改
5(md5)表示文件内容发生变化

[root@lichengbo-nb ~]# rpm -aV
S.5....T.  c /etc/profile
.M.......  c /etc/rc.d/rc.local
S.5....T.  c /etc/sysconfig/authconfig
S.5....T.  c /etc/sysctl.conf
....L....  c /etc/pam.d/fingerprint-auth
....L....  c /etc/pam.d/password-auth
....L....  c /etc/pam.d/postlogin
....L....  c /etc/pam.d/smartcard-auth
....L....  c /etc/pam.d/system-auth
S.5....T.  c /root/.bashrc
.......T.  c /etc/sudoers

2.3 删除

  • Linux下面一些不用的软件包(已安装),尽量不删,关闭放着即可。
[root@lichengbo-nb ~]# rpm -e tree telnet
error: package telnet is not installed

2.4 修改(升级)

  • 新旧版本替换
  • 旧版本软件/命令,有漏洞
rpm -Uvh  新的软件包.rpm
系统有zabbix-agent软件 老版本
系统下载zabbix-agent新版本 升级

#安装老版本5.0.0
wget http://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.0-1.el7.x86_64.rpm

[root@lichengbo-nb ~]# rpm -ivh zabbix-agent-5.0.0-1.el7.x86_64.rpm 
warning: zabbix-agent-5.0.0-1.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:zabbix-agent-5.0.0-1.el7         ################################# [100%]
[root@lichengbo-nb ~]# rpm -ivhrpm -qa |grep zabbix-agent
zabbix-agent-5.0.0-1.el7.x86_64

#安装新版本5.0.20
wget http://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.20-1.el7.x86_64.rpm

#升级到5.0.20
[root@lichengbo-nb ~]# rpm -Uvh zabbix-agent-5.0.20-1.el7.x86_64.rpm 
warning: zabbix-agent-5.0.20-1.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:zabbix-agent-5.0.20-1.el7        ################################# [ 50%]
Cleaning up / removing...
   2:zabbix-agent-5.0.0-1.el7         ################################# [100%]
[root@lichengbo-nb ~]# rpm -qa |grep zabbix-agent
zabbix-agent-5.0.20-1.el7.x86_64

2.5 rpm命令补充

案例01 安装或删除软件的时候忽略依赖关系

#直接暗转软件提示没有安装依赖,安装软件包失败
[root@lichengbo-nb ~]# 
[root@lichengbo-nb ~]# rpm -ivh zabbix-agent-6.0.0-1.el7.x86_64.rpm 
warning: zabbix-agent-6.0.0-1.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
error: Failed dependencies:
	libpcre2-8.so.0()(64bit) is needed by zabbix-agent-6.0.0-1.el7.x86_64

#加上--nodeps 安装的时候忽略依赖,强制安装
[root@lichengbo-nb ~]# rpm -ivh --nodeps zabbix-agent-6.0.0-1.el7.x86_64.rpm 
warning: zabbix-agent-6.0.0-1.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:zabbix-agent-6.0.0-1.el7         ################################# [100%]

3. 软件管理体系之yum

  • 目标:
    • 熟练使用yum增删改查。
    • 熟练掌握yum源的配置文件。格式即可。
    • 了解自己搭建yum源(仓库)

3.1yum源及yum源配置

1)yum源
  • yum仓库,repository(repo)
  • yum源(仓库):软件包存放地方(我们使用yum命令下载啊软件包的时候,yum源是随机的)
  • yum源(仓库)类似于手机的应用商城(app store),下载流程:商城中输入软件名字,自动下载安装。

2)yum源的配置文件
  • 规定在Linux使用yum命令的时候连接哪个仓库(仓库的地址)

  • 配置文件目录:/etc/yum.repos.d/

[root@lichengbo-nb ~]# ll /etc/yum.repos.d/
total 40
-rw-r--r--. 1 root root 1664 Oct 23  2020 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Oct 23  2020 CentOS-CR.repo
-rw-r--r--. 1 root root  649 Oct 23  2020 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  314 Oct 23  2020 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 Oct 23  2020 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Oct 23  2020 CentOS-Sources.repo
-rw-r--r--. 1 root root 8515 Oct 23  2020 CentOS-Vault.repo
-rw-r--r--. 1 root root  616 Oct 23  2020 CentOS-x86_64-kernel.repo

  • yum源的核心配置文件详解(常用的yum仓库命名字)
#Base  系统默认源

#epel  软件仓库扩展  Extra Packages for Enterprise Linux

#yum 配置文件格式
[base]  #源名字,可以随意
name=CentOS-$releasever - Base - mirrors.aliyun.com  #注释,说明下源作用与地址
failovermethod=priority   #很少用,如果yum源底子挂了,切换备用
                          #baseurl  yum仓库的地址,这个地址要能访问到repodata目录
baseurl=http://mirror.aliyun.com/centos/$releasever/os/$basearch/
enabled=1           #这个源是否开启 使用yum下载是否从这个地址下载
gpgcheck=1          #gpgcheck 是否进行检查,对下载后的软件包进行校验,  自己搭建的yum仓库可以关闭endeld=0
gpgkey=file://mirror.aliyun.com/centos/RPM-GPG-KEY-CentOS-7


#源核心配置
[base] #名字
name=这个是yum #从阿里云下载
baseurl=http://mirror.aliyun.com/centos/7/os/x86_64/ #仓库地址
gpgcheck=1 
gpgkey=file://mirror.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
  • 没有epel源配的置方法
如何增加epel源
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
#-O大写字母o,下载到指定目录的制定文件中。(文件不存则创建)

3)修改yum源(仓库)的配置
#Base源
#epel源
  • 常用的镜像站
https://developer.aliyun.com/  #阿里镜像站
https://mirrors.tuna.tsinghua.edu.cn/ #清华镜像站

#阿里云的源
[base]    #源名字,可以随意.
name=CentOS-$releasever - Base - mirrors.aliyun.com   
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
enabled=1                  
gpgcheck=1                  
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

#清华源
[base]    #源名字,可以随意.
name=CentOS-$releasever - Base - mirrors.tuna.tsinghua.edu.cn
baseurl=https:/mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/
enabled=1                  
gpgcheck=1                  
gpgkey=https://mirrors.tuna.tsinghua.edu.cn/centos/RPM-GPG-KEY-CentOS-7
sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' \
         -e 's|^#baseurl=http://mirror.centos.org|baseurl=https://mirrors.tuna.tsinghua.edu.cn|g' \
         -i.bak \
         /etc/yum.repos.d/CentOS-*.repo
         
         
https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64
4)查询系统使用的yum源
yum repolist

[root@lichengbo-nb ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.ustc.edu.cn
 * extras: ftp.sjtu.edu.cn
 * updates: ftp.sjtu.edu.cn
repo id                     repo name                                               status
base/7/x86_64            CentOS-7 - Base                                            10,072
epel/x86_64              Extra Packages for Enterprise Linux 7 - x86_64             13,785
extras/7/x86_64          CentOS-7 - Extras                                          515
updates/7/x86_64         CentOS-7 - Updates                                         4,954
repolist: 29,326
5)yum源小结
  • 使用yum命令流程:yum安装软件,yum命令访问yum仓库
  • yum仓库配置及配置文件格式,掌握每一行含义即可
  • 熟练掌握:给系统配置yum源(增加epel源,修改系统yum源(默认--->清华/阿里云))

3.2yum指令

  • yum增删改查
1)查询

案例01 查询当前系统配置 的源中是否有某个软件包🌟🌟🌟🌟🌟

 yum list
 yum list |grep '^java'
 yum list |grep '^java-1.8.0'

案例02 某个文件或命令属于哪个软件包🌟🌟🌟🌟🌟

类似于 rpm -qf `which ifconfig`  #软件包已经安装
 yum provides ifconfig
 yum search all ifconfig

[root@lichengbo-nb ~]# rpm -e net-tools
[root@lichengbo-nb ~]# ifconfig
-bash: ifconfig: command not found
[root@lichengbo-nb ~]# yum install -y ifconfig
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.ustc.edu.cn
 * extras: ftp.sjtu.edu.cn
 * updates: ftp.sjtu.edu.cn
No package ifconfig available.   #没有叫ifconfig的软件包
Error: Nothing to do

案例03 查询系统yum源

yum repolist

案例 04 查询软件包信息

yum info  软件包(可以未安装)

案例05 查询yum安装过什么软件

yum history

[root@lichengbo-nb ~]# yum history 
Loaded plugins: fastestmirror
ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
    10 | root <root>              | 2023-05-22 00:55 | Install        |    1 P<
     9 | root <root>              | 2023-05-22 00:35 | Install        |    6 > 
     8 | root <root>              | 2023-05-22 00:34 | Install        |    2 P<
     7 | root <root>              | 2023-05-17 17:41 | Install        |   13 > 
     6 | root <root>              | 2023-05-17 15:43 | Install        |    1   
     5 | root <root>              | 2023-04-15 00:03 | Install        |    1   
     4 | root <root>              | 2023-04-12 00:21 | I, U           |   18   
     3 | root <root>              | 2023-04-11 00:03 | Install        |    4   
     2 | root <root>              | 2023-04-10 22:42 | Install        |    1   
     1 | System <unset>           | 2023-04-03 17:27 | Install        |  474   
history list
[root@lichengbo-nb ~]# yum history info 3
Loaded plugins: fastestmirror
Transaction ID : 3
Begin time     : Tue Apr 11 00:03:23 2023
Begin rpmdb    : 475:04ade64b15facd69023949279c612c4f523cba1a
End time       :            00:03:25 2023 (2 seconds)
End rpmdb      : 479:847d02f54ebc34f1ecd84c2b4d6b4f0f08951969
User           : root <root>
Return-Code    : Success
Command Line   : install -y vim
Transaction performed with:
    Installed     rpm-4.11.3-45.el7.x86_64                        @anaconda
    Installed     yum-3.4.3-168.el7.centos.noarch                 @anaconda
    Installed     yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch @anaconda
Packages Altered:
    Dep-Install gpm-libs-1.20.7-6.el7.x86_64            @base
    Dep-Install vim-common-2:7.4.629-8.el7_9.x86_64     @updates
    Install     vim-enhanced-2:7.4.629-8.el7_9.x86_64   @updates
    Dep-Install vim-filesystem-2:7.4.629-8.el7_9.x86_64 @updates
history info

#yum的日志记录
less /var/log/yum.log
2)安装(增加)
#必会 安装软件
yum install -y  tree

#-y表示安装的时候不要询问是否安装,是否继续,默认选择yes

#安装常用工具
yum install -y tree vim wget bash-completion  bash-completion-extras lrzsz net-tools sysstat iotop iftop htop unzip nc nmap telnet bc psmisc httpd-tools bind-utils nethogs expect


#重新安装
yum reinstall -y tree

#了解  安装软件包组
yum groups list #查看软件包列表
yum groups install "软件包组名字"


#升级 
升级所有或某一个软件包
#更新某个或多少个包
yum install -y tree #安装或升级

#更新所有软件包,安装完系统后做的。
yum update #更新所有
yum uograde  #与update一致,不会更新过时命令。
3)删除
  • 不用,慎用,不要用。
yum remove  软件包  #删除软件包及依赖

通过rpm -e 删除某个或多个软件包


#工作推荐:通过rpm -e删除或者关闭放着即可。

4 )其他指令(缓存)
#清楚本地yum缓存(yum源中软件包列表)
yum clean all  #清理了/var/cache/yum

[root@lichengbo-nb ~]# tree -F /var/cache/yum/x86_64/7
/var/cache/yum/x86_64/7
├── base/
│   ├── gen/
│   └── packages/
├── epel/
│   ├── gen/
│   └── packages/
├── extras/
│   ├── gen/
│   └── packages/
├── timedhosts
└── updates/
    ├── gen/
    └── packages/

12 directories, 1 file

#生成缓存
yum makecache  #创建缓存(创建yum仓库缓存)
5)yum命令小结
  • yum安装软件:yum install -y 软件名
  • yum查询软件包:yum list ; yum provides /yum search all
  • yum删除软件包:yum remove
  • yum升级:yum uodate / yum upgrade
  • yum缓存处理:清除缓存: yum clean all ; 创建缓存:yum makecache
6)yum命令配置文件
  • yum源的配置文件/etc/yum.repos.d/是以.repo结尾。yum仓库,从哪里下载软件

  • yum命令配置文件:yum缓存存放的位置,yum下载的rpm包是否保留

  • yum命令的配置文件/etc/yum.conf

cachedir=/var/cache/yum/$basearch/$releasever  #yum命令下载的软件包缓存目录
keepcache=0                                    #是否保留yum下载的软件包

$basearch  x86_64
$releasever 7

3.3企业项目:yum仓库搭建(了解)

  • star

    • s什么情况下
    • t什么目标
    • a如何做
    • r什么结果
  • 项目背景:日常工作中需要使用到很多的软件包(rpm包),现在在一个没有网络的环境中,想安装一些软件。

  • 项目目标:安装软件,部署服务。

  • 项目方案选择:

    • 方案01:找个机器,开始keepcahe,下载与安装常用软件包,安装服务。把对应的软件包打包并发送到对应的服务器。优点:简单 缺点:无法知晓依赖关系
    • 方案02:自己搭建yum仓库,仓库中存放常用 的软件包即可。精确, 优点:随意根据自己要求定义仓库中软件包。可以变换(增减),可以被其他机器访问 缺点:搭建较为复杂
    • 方案03:折中方案,通过光盘搭建yum仓库。优点:简单,快速 。 缺点:软件包不全,只能自己使用,仅仅是本地仓库,无法互联
  • 结果:目前我们选择方案03,第2阶段结束选择方案02(未来工作中)

  • 方案03:配置步骤

  • 1️⃣挂载光盘

  • 2️⃣配置光盘yum源配置文件。 local.repo文件

  • 3️⃣清除缓存与注释其他yum源

  • 1️⃣2️⃣挂载光盘与书写配置文件

#01 光盘挂载
mkdir -p /data/cdrom
mount /dev/cdrom  /data/cdrom/
vim /etc/fstab
tail  /etc/fstab
/dev/cdrom                     /data/cdrom                       iso9660  defaults       0  0


#02 书写本地光盘源的配置文件
[local]
name=this is local yum yuan
enabled=1
baseurl=file:///data/cdrom/
#baseurl=http://mirrors.aliyun.com/centos/7/os/x86_64/
gpgcheck=0

  • 3️⃣清除缓存与注释其他repo源配置
#注释其他的源
cd /etc/yum.repos.d/
 gzip *
 gzip  -d local.repo.gz 
#生成缓存
yum makecache 
#检查本地源
 yum repolist 
#测试能否安装软件
 rpm -e tree lrzsz  
 yum install -y tree lrzsz 

3.4 总结

  • 🌟🌟 yum源的配置

    • 配置文件的格式 ;
    • 增加yum源(epel源);
    • 更改yum源(系统默认的--->阿里或清华...)
  • 🌟 🌟🌟🌟🌟🌟yum指令

    • yum安装软件 yum install -y tree yum
    • 查询软件包: yum list ; yum provides /yum search all yum
    • 删除软件包: yum remove yum
    • 升级: yum update /yum upgrade yum
    • 缓存处理: 清除缓存:yum clean all ;
    • 创建缓存 yum makecache yum localinstall
    • 自己下载rpm包,让yum解决依赖.
  • 了解: 搭建yum仓库(光盘yum仓库)

  • 项目:搭建私有yum仓库场景的方案.

#开启缓存
yum reinstall -y   nginx 
scp /var/cache/yum/x86_64/7/epel/packages/nginx-1.20.1-9.el7.x86_64.rpm   10.0.0.201:/tmp


#连接另外一台机器
yum localinstall /tmp/nginx-1.20.1-9.el7.x86_64.rpm

4. 软件包管理体系之编译安装

  • 编译安装:

    • 把你获取到的软件的源代码(c语言代码),通过编译操作,把代码变成可执行的命令。
  • 编译安装步骤(三部曲)

    • 配置:./configure (对代码进行配置,开启/关闭功能,生成Makefile文件(记录配置))
    • 编译:make (把代码根据上面配置要求进行编译,代码----->命令;本质根据Makefile进行编译)
    • 编译安装:make install (把命令复制到系统指定目录中,创建目录,复制配置文件)

4.1编译安装-黑客帝国(字母雨)

#01 安装依赖
yum install -y python-libs ncurses-devel binutils
#02 解压
注意:软件包要上传到 /app/tools/目录下.
mkdir -p /app/tools
cd /app/tools/
tar xf cmatrix-1.2a.tar.gz 
#03 进入目录准备开始编译安装
cd cmatrix-1.2a/
#04 编译安装3步曲
./configure
echo $? #检查上一个命令执行结果 # 0表示正常. 非0 错误.
make
make install
#05 结果
cmatrix 
#06 编译安装默认的目录.
/usr/local/

4.2编译安装-nginx

#01 检查系统是否安装过nginx,安装过需要删除
rpm -qa |grep nginx
#02 下载代码包
cd /app/tools
wget https://nginx.org/download/nginx-1.20.2.tar.gz  #如果没有wget则yum安装下
#03 安装依赖
yum install -y openssl-devel  pcre-devel
#04 编译安装三部曲  安装到指定目录/app/nginx-1.20.2
# --prefix=指定安装目录
tar xf  nginx-1.20.2.tar.gz
cd nginx-1.20.2
./configure  --prefix=/app/nginx-1.20.2   --user=nginx   --group=nginx    --with-http_ssl_module  --with-http_v2_module  --with-http_stub_status_module  --with-http_mp4_module 

make
make install

[root@lichengbo-nb /app/tools/nginx-1.20.2]# tree /app/nginx-1.20.2
/app/nginx-1.20.2
├── conf
│   ├── fastcgi.conf
│   ├── fastcgi.conf.default
│   ├── fastcgi_params
│   ├── fastcgi_params.default
│   ├── koi-utf
│   ├── koi-win
│   ├── mime.types
│   ├── mime.types.default
│   ├── nginx.conf
│   ├── nginx.conf.default
│   ├── scgi_params
│   ├── scgi_params.default
│   ├── uwsgi_params
│   ├── uwsgi_params.default
│   └── win-utf
├── html
│   ├── 50x.html
│   └── index.html
├── logs
└── sbin
    └── nginx

4 directories, 18 files


#05 编译安装后续操作
##a)检查nginx信息
[root@lichengbo-nb /app/tools/nginx-1.20.2]# /app/nginx-1.20.2/sbin/nginx -V
nginx version: nginx/1.20.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/app/nginx-1.20.2 --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_stub_status_module --with-http_mp4_module

##b)准备用户
useradd -s /sbin/noloin -M nginx

##c)关闭selinux和防火墙
####关闭防火墙
systemctl disable  firewalld
systemctl stop firewalld
####关闭selinux
serenforce 0
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config


##d)启动与访问nginx
/app/nginx-1.20.2/sbin/nginx  #启动

[root@lichengbo-nb ~]# ps -ef |grep nginx
root       6159      1  0 00:11 ?        00:00:00 nginx: master process /app/nginx-1.20.2/sbin/nginx
nginx      6160   6159  0 00:11 ?        00:00:00 nginx: worker process
root       6163   1797  0 00:11 pts/0    00:00:00 grep --color=auto nginx

#测试下访问
浏览器 输入10.0.0.200
http://10.0.0.20:80

5. 软件包管理体系之二进制安装

  • 绿色软件,下载后解压即可使用

5.1 部署二进制版本tomcat为例

#01 下载tomcat二进制软件包
wget -P https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.88/bin/apache-tomcat-8.5.88.tar.gz

#02 安装依赖(环境)
yum install -y java

##a)关闭selinux和防火墙
####关闭防火墙
systemctl disable  firewalld
systemctl stop firewalld
####关闭selinux
serenforce 0
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config


#03 解压与启动
##a)解压
cd /app/tools
tar xf apache-tomcat-8.5.88.tar.gz
ln -s apache-tomcat-8.5.88  tomcat #创建软链接

##b)启动
/app/tools/tomcat/bin/startup.sh

##c)检查进程
[root@lichengbo-nb /app/tools]# ps -ef |grep java
root       6328      1  7 00:32 pts/0    00:00:02 /usr/bin/java -Djava.util.logging.config.file=/app/tools/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /app/tools/tomcat/bin/bootstrap.jar:/app/tools/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/app/tools/tomcat -Dcatalina.home=/app/tools/tomcat -Djava.io.tmpdir=/app/tools/tomcat/temp org.apache.catalina.startup.Bootstrap start
root       6372   1797  0 00:33 pts/0    00:00:00 grep --color=auto java

#04 浏览器访问
http://10.0.0.200:8080/
posted on   lichengbo  阅读(149)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示