第九章软件管理

云计算第九章软件管理

概述

1RPM包

RPM Package Manager

由Red Hat公司提出被众多Linux发现版所采用

也称二进制无需编译可以直接使用

无法设定个人设置开关功能

软件包示例

认识ROM包

2源码包

source code 需要经过GCC,C++编辑环境编译才能运行

可以设定个人设置,开关功能

软件包示例nginx-1.8-1.tar.gz

认识源码包

1RPM包管理

1YUM工具

简介

是一个前端软件包管理器

基于RPM包管理能够从指定的服务器自动下载RPM包并且安装

可以自动处理依赖性关系并且一次安装所有依赖的软件包无须繁琐的一次次下载

1本地源 系统安装光盘

简介

1本地源 系统安装光盘
目的 通知linux服务器,通过系统光盘获得软件包,并安装软件

0.观察yun核心配置目录

记者这个目录/etc/yum.repos.d/

[root@localhost ~]# ll /etc/yum.repos.d/
总用量 40
-rw-r--r--. 1 root root 1664 10月 23 2020 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 10月 23 2020 CentOS-CR.repo
-rw-r--r--. 1 root root  649 10月 23 2020 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  314 10月 23 2020 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 10月 23 2020 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 10月 23 2020 CentOS-Sources.repo
-rw-r--r--. 1 root root 8515 10月 23 2020 CentOS-Vault.repo
-rw-r--r--. 1 root root  616 10月 23 2020 CentOS-x86_64-kernel.repo

打开一个*.repo

观察国外地址下载速度慢

1删除官方yum库

 tar -cvf repo.tar *

清空备份
mv repo.tar /tmp

 rm -rf *

2编写本地yum库配置文件

 vim /etc/yum.repos.d/dvd.repo

[dvd] //库的名称
name=dvd123 //库的说明 name是必须的
baseurl=file:///mnt/cdrom // 下载库的地址 file 是本地的
gpgcheck=0 // 是关闭校验

[root@localhost yum.repos.d]# cat /etc/yum.repos.d/dvd.repo 
[dvd]
name=dvd123
baseurl=file:///mnt/cdrom
gpgcheck=0

3挂载安装光盘

注意 光盘的位置  记得要把光盘放到服务器上  通电

[root@localhost yum.repos.d]# ls /dev/cdrom 
/dev/cdrom

mkdir /mnt/cdrom

重启自己挂载
vim /root/bashrc
mount /dev/cdrom /mnt/cdrom

重启机器  查看光盘信息即可
init 6

[root@localhost yum.repos.d]# mount /dev/cdrom /mnt/cdrom/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost yum.repos.d]# ls /mnt/cdrom/
CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7
EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL

4使用yum安装和卸载程序

yum install -y httpd

[root@localhost ~]# systemctl start httpd

[root@localhost ~]# systemctl stop firewalld  关闭防火墙

[root@localhost ~]# systemctl disable firewalld   开机自动关闭防火墙

Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

5模拟客户机访问

打开浏览器 输入网址服务器ip地址 http://127.0.0.1

Testing 123..
2使用yum管理rpm包
安装

全新安装

yum -y install httpd vsftpd

重新安装

yum -y reinstall httpd

升级安装

yum -y update httpd

查询

查询http程序

yum list httpd

卸载

yum -y remove httpd

2使用YUM管理RPM包

2ROM工具

前言
1管理rpm包的基本工具
2yum功能相同
安装 i
先找到安装包

cd /mnt/cdrom/Packages/

检查安装包是否存在

ls wget-1.14-18.el7_6.1.x86_64.rpm

rpm -ivh wget-1.14-18.el7_6.1.x86_64.rpm

警告:wget-1.14-18.el7_6.1.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
准备中...                          ################################# [100%]
        软件包 wget-1.14-18.el7_6.1.x86_64 已经安装
查询 q
[root@localhost Packages]# rpm -q wget 
wget-1.14-18.el7_6.1.x86_64
卸载 e
[root@localhost Packages]# rpm -evh wget-1.14-18.el7_6.1.x86_64
准备中...                          ################################# [100%]
正在清理/删除...
   1:wget-1.14-18.el7_6.1             ################################# [100%]

2源码包管理

获得源码包

官方网站

Apache:www.apache.org
Nginx:www.nginx.org
Tengine:tengine.taotao.org

实战案例

下载Tengine

下载地址2.3.2

http://tengine.taobao.org/download.html

yum install -y wget

wget 地址

部署Tengine
 ls -lh tengine-2.3.2.tar.gz 
-rw-r--r--. 1 root root 2.8M 11月  4 17:42 tengine-2.3.2.tar.gz

准备编译环境如编译器

yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel

装完以后在执行一下 检查是否安装完

解压

useradd www

tar xvf tengine-2.3.2.tar.gz

cd tengine-2.3.2

配置

./configure --user=www --group=www --prefix=/usr/local/nginx

Configuration summary
  + using system PCRE library
  + using system OpenSSL library
  + using system zlib library
  + jemalloc library is disabled

  nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/local/nginx/sbin/nginx"
  nginx modules path: "/usr/local/nginx/modules"
  nginx configuration prefix: "/usr/local/nginx/conf"
  nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
  nginx pid file: "/usr/local/nginx/logs/nginx.pid"
  nginx error log file: "/usr/local/nginx/logs/error.log"
  nginx http access log file: "/usr/local/nginx/logs/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp"
编译

make

objs/ngx_modules.o \
-ldl -lpthread -lcrypt -lpcre -lssl -lcrypto -ldl -lpthread -lz \
-Wl,-E
sed -e "s|%%PREFIX%%|/usr/local/nginx|" \
        -e "s|%%PID_PATH%%|/usr/local/nginx/logs/nginx.pid|" \
        -e "s|%%CONF_PATH%%|/usr/local/nginx/conf/nginx.conf|" \
        -e "s|%%ERROR_LOG_PATH%%|/usr/local/nginx/logs/error.log|" \
        < man/nginx.8 > objs/nginx.8
make[1]: 离开目录"/root/桌面/tengine-2.3.2"
安装

make install

cp conf/scgi_params \
        '/usr/local/nginx/conf/scgi_params.default'
test -f '/usr/local/nginx/conf/nginx.conf' \
        || cp conf/nginx.conf '/usr/local/nginx/conf/nginx.conf'
cp conf/nginx.conf '/usr/local/nginx/conf/nginx.conf.default'
test -d '/usr/local/nginx/logs' \
        || mkdir -p '/usr/local/nginx/logs'
test -d '/usr/local/nginx/logs' \
        || mkdir -p '/usr/local/nginx/logs'
test -d '/usr/local/nginx/html' \
        || cp -R html '/usr/local/nginx'
test -d '/usr/local/nginx/logs' \
        || mkdir -p '/usr/local/nginx/logs'
make[1]: 离开目录"/root/桌面/tengine-2.3.2"
启动测试
systemctl stop httpd

 yum remove -y httpd

 /usr/local/nginx/sbin/nginx

systemctl stop firewalld

测试

192.168.120.130

 输入网址服务器ip地址 http://127.0.0.1
相关推荐
广而不精zhu小白1 小时前
CentOS Stream 9 挂载Windows共享FTP文件夹
linux·windows·centos
一休哥助手1 小时前
全面解析 Linux 系统监控与性能优化
linux·运维·性能优化
二进制杯莫停1 小时前
掌控网络流量的利器:tcconfig
linux
watl01 小时前
【Android】unzip aar删除冲突classes再zip
android·linux·运维
赵大仁2 小时前
在 CentOS 7 上安装 Node.js 20 并升级 GCC、make 和 glibc
linux·运维·服务器·ide·ubuntu·centos·计算机基础
vvw&2 小时前
Docker Build 命令详解:在 Ubuntu 上构建 Docker 镜像教程
linux·运维·服务器·ubuntu·docker·容器·开源
冷曦_sole2 小时前
linux-21 目录管理(一)mkdir命令,创建空目录
linux·运维·服务器
最后一个bug2 小时前
STM32MP1linux根文件系统目录作用
linux·c语言·arm开发·单片机·嵌入式硬件
dessler3 小时前
Docker-Dockerfile讲解(二)
linux·运维·docker
卫生纸不够用3 小时前
子Shell及Shell嵌套模式
linux·bash