五、软件管理

news/2024/12/29 3:17:29/

软件管理

安装软件的三种方式:
1、rpm
2、yum(rpm升级版)
3、源码安装
4、二进制安装
卸载软件

一、rpm介绍

rpm软件包名称:
软件名称 版本号(主版本、次版本、修订号) 操作系统 -----90%的规律
#有依赖关系,不能自动解决依赖关系。
举例:openssh-6.6.1p1-31.el7.x86_64.rpm  
数字前面的是名称
数字是版本号:第一位主版本号,第二位次版本号,带横杠的是修订号, el几---操作系统的版本。  
noarch : 32位64位都支持
x86_64 :  64位
i4-686的包 :32位
devel:表示这个RPM包是软件的开发包;
======#用rpm安装需要考虑如下信息:
1.需要考虑系统的版本需要与rpm对应
2.系统的架构:如32位还是64位
3.需要考虑依赖关系

1.rpm安装(可能会有依赖)

语法 # rpm -ivh (本地安装包路径)软件包名称
-i install
-vh verbose human  显示安装过程
-U  upgrade  升级查找rpm包的网站:http://rpmfind.net/  http://pkgs.org
1.通过rpm安装
可以先下载下来
[root@linux-server ~]# wget   http://mirror.centos.org/centos/7/os/x86_64/Packages/unzip-6.0-21.el7.x86_64.rpm
#wget下载命令
#wget   下载地址    -O 指定存放路径#curl   下载地址  -o  另存为的文件路径[root@linux-server ~]# rpm -ivh unzip-6.0-21.el7.x86_64.rpm  #本地安装rpm包2.直接通过连接安装rpm包
语法 # rpm -ivh 域名地址
[root@linux-server ~]# rpm -ivh http://mirror.centos.org/centos/7/os/x86_64/Packages/unzip-6.0-21.el7.x86_64.rpm

各种查询

==查询   
(从本地的rpm数据库)
-q query (查询)
-l list	(列出)
-f file
-a all
[root@linux-server ~]# rpm -qa | grep 软件名    # 查找软件是否安装
[root@linux-server ~]# rpm -ql httpd           #查询http安装的文件
[root@linux-server ~]# rpm -qf /usr/share/httpd/noindex     #查询该文件属于哪个包
[root@linux-server ~]# rpm -qf /etc/passwd  #查询某一个文件是哪个软件产生的:只能查询已经安装好的软件

卸载

语法:# rpm -e 软件名称
-e erase的意思
[root@linux-server ~]# rpm -e httpd
rpm工具管理软件包总结:
1. 很难解决包依赖关系 
2. 如果某个文件没有,很难知道它由哪个rpm包提供

二 、yum方式管理软件

#可以自动解决rpm软件依赖关系,虽然是通过yum安装的但是最后执行的还是rpm,也就是说没有rpm命令yum也就不能用了。(统一资源定位符号:URL)
分类:本地yum和远程yum
本地yum:
file://
远程yum:
http://
ftp://

yum操作

安装好环境之后我们有centos自带的官方yum源,我们也可以自行更换或者制作自己的yum源清理yum缓存:(元数据)# yum clean all缓存软件包信息:(建立缓存)提高搜索/安装软件的速度# yum makecache连接:#yum clean all && yum makecache&&执行完前面执行后面)查询yum源信息:   
***    # yum repolist     查看命令属于哪个软件# yum provides 命令    查看系统已经安装好的软件和没有安装的软件(源里存在即可查到):# yum list	#yum list | wc -l     (wc命令返回行数)安装软件:
***	# yum -y install 软件名称 例如:# yum -y install httpd            //-y跳过确认提示直接安装重装:# yum -y reinstall 软件名       卸载软件:
***	# yum erase  软件名 # yum remove 软件名 例如:# yum -y remove httpd

三、更换网络yum源–aliyun

cd /etc/yum.repos.d 到yum.repos.d目录下
mkdir back 创建备份文件目录
yum -y install wget 安装wget
mv *.repo back 把之前的.repo文件备份
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

[安装扩展源]

yum -y install epel-release

四、更换网络yum源–qinghua

cd /etc/yum.repos.d 到yum.repos.d目录下
vim qinghua.repo
把清华源码(网上有源码)粘贴到qinghua.repo

[安装扩展源]

yum -y install epel-release

五、更换网络yum源–163源

cd /etc/yum.repos.d 到yum.repos.d目录下
mkdir back 创建备份文件目录
yum -y install wget 安装wget

wget https://mirrors.163.com/.help/CentOS7-Base-163.repo

[安装扩展源]

yum -y install epel-release

三个yum源下载(其一)之后操作

清理yum缓存:(元数据) # yum clean all

查询yum源信息: #yum repolist

六、制作本地yum源方式

1.通过镜像制作本地yum源:

cd /etc/yum.repos.d/ #yum源配置文件存放目录

rm -rf /etc/yum.repos.d/* 删除目录之前的源,或者备份到其他地方

vim centos7yum.repo #在编写yum配置文件是必须是.repo

vim的编辑内容:

[centos7yum] #yum源区别名称,用来区分其他的yum源
name=centos7yum#yum源描述 yum源名字
baseurl=file:///mnt/cenos7yum#指定本地yum源的路径
enabled=1 #是否使用此yum源(1为打开,0为关闭)
gpgcheck=0 #检查软件

挂载镜像:

mkdir /mnt/centos7yum

把镜像centos7拖到/root下

mount CentOS-7-x86_64-DVD-1708.iso /mnt/centos7u4/

挂载例子:# 语法: mount   挂载设备     挂载点 [root@linux-server ~]# mount CentOS-7-x86_64-DVD-1708.iso /mnt/centos7u4/

2.通过开启yum下载缓存功能制作自己的yum源(公司里面会用)

制作自己的yum源:

首先打开yum缓存功能:(默认安装完之后,不会保留安装包)

用vim /etc/yum.conf 修改下面参数的值为keepcache=1,软件会被保存到cachedir指定的目录下/var/cache/yum/

先用网络yum源下载:

yum install -y httpd yum install -y createrepo #创建repo文件工具

[root@linux-server ~]# mkdir /mnt/yumcache

find 搜索范围 选项 参数

find /var/cache/yum/ -name “*.rpm” | xargs -i mv {} /mnt/yumcache/

[root@linux-server ~]# ls /mnt/yumcache/
…rpm包

用createrepo 命令指定目录可以做yum仓库:

createrepo /mnt/yumcache/ //此目录就可以作为yum源了。

vim /etc/yum.repos.d/myyum.repo
[myyum]
name=本地仓库制作yum源
baseurl=file:///mnt/yumcache/
enabled=1 #默认是开启的
gpgcheck=0

yum clean all && yum repolist

七、 源码包管理

源码包方式:都是以*.tar.gz方式结尾
获得源码包途径 官方网站,可以获得最新的软件包 
mysql: http://www.mysql.com/   wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gzNginx: www.nginx.org  
gcc是编译工具,编译单个文件
make工具可以看成是一个智能的批处理工具,通过调用makefile文件中用户指定的命令来进行编译和链接的。(将这种高级语言写的代码编译成二进制语言)
pcre支持正则表达式
zlib-devel,有些应用依赖于这个库才能正常运行,因此需要安装zlib-devel
openssl-devel 某些库文件等跟开发相关的东西。2. 准备软件 nginx-1.16.0.tar.gz 
3. 部署安装Nginx软件服务

八、安装nginx:

编译环境如编译器gcc、make等环境:

yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel #编译环境的准备

wget http://nginx.org/download/nginx-1.16.1.tar.gz #下载nginx

tar xf 解压安装包固定格式(加v显示解压过程)

tar xzf nginx-1.16.1.tar.gz

cd到nginx目录中

cd nginx-1.16.1
[root@linux-server nginx-1.16.1]# ./configure --user=www --group=www --prefix=/usr/local/nginx #指定uginx用户、组、安装目录

用echo $?查看上条命令是否执行成功

[root@linux-server nginx-1.16.1]# make #编译文件

用echo $?查看上条命令是否执行成功

[root@linux-server nginx-1.16.1]# make install #安装文件

用echo $?查看上条命令是否执行成功

useradd www #创建nginx用户
/usr/local/nginx/sbin/nginx #启动nginx
systemctl stop firewalld #关闭防火墙

alias nginx=“/usr/local/nginx/sbin/nginx” #给nginx设置别名

打开游览器输入虚拟机地址访问nginx

停止nginx : nginx -s stop

扩展:yum -y install bash-completion 自动补全

yum install -y createrepo #创建repo文件工具

\转义符


http://www.ppmy.cn/news/489321.html

相关文章

AQS原理

目录 一、原理概述二、AQS 对资源的共享方式三、AQS底层使用了模板方法模式四、使用demo,使用AQS实现不可重入锁五、AQS使用到的几个框架 一、原理概述 AQS全称是 AbstractQueuedSynchronizer,是阻塞式锁和相关的同步器工具的框架 AQS核心思想是&#…

软件包管理器

Yum 包管理器 参数 command install package… :安装程序包,可同时安装多个update [package…]:升级指定程序包check-update:检查可用升级remove | erase package1[package2…]:卸载程序包list[…]:列出所有…

软件管理-软件管理

文章目录 获取程序包的途径软件包管理器职责软件包管理器的核心功能软件包管理软件包分类软件包管理模式软件安装方式rpm包命名规范rpm包管理什么是rpm及其作用RPM包查询RPM包升级RPM包卸载RPM包校验RPM重建数据库检查软件包来源合法性和完整性 完成作业1.如何查询 util-linux …

管理QQ群,什么情况下适合用软件

管理QQ群,什么情况下适合用软件? 不需要人工干预也能实现目的的时候。比如不求质量单求数量,用软件疯狂的做。 比如qq群群发引流到空间日志。 这个工作,用软件发就挺好的,跟雇威客们发,效果一样。 但如果要…

在vue3中使用pinia完整流程图文

1.准备 使用vite创建好一个vue3项目,开发语言选择ts使用 npm i pinia -s 安装最新版本的pinia 这里我的版本安装的是 2.1.4 2.注册pinia 1.在main中注册pinia import { createApp, createApp } from "vue"; import "./style.css"; import App…

一文带你学会Lua语言

一文带你学会Lua语言 1.第一个Lua程序2.Lua流程控制3.Lua中的循环结构while循环语句for循环语句repeat循环语句 4.Lua数据类型5.Lua字符串6.Lua文件I/O操作7.Lua协同程序8.Lua语言中的注释和虚变量 1.第一个Lua程序 在命令行中,可以使用print()来打印输出一些内容 …

Unittest二次开发实战

目录 前言 unittest.TestResult类简介 TestResult类定制目标 实现步骤 测试结果summary格式规划 单个用例结果格式规划 用例tags和level的实现 根据测试方法对象获取用例代码 单个用例结果类的实现 TestResult属性及初始化方法 测试开始和测试结束 用例开始和用例结束 1. 重写恢…

常见web中间件漏洞复现总结

文章目录 IISPUT漏洞iis6.0 解析漏洞IIS短文件漏洞远程代码执行(RCE-CVE-2017-7269)iis7.x文件解析漏洞HTTP.SYS远程代码执行 (MS15-034) apache未知扩展名解析漏洞AddHandler解析漏洞目录遍历漏洞Apache HTTPD 换行解析漏洞(CVE-2017-15715) Nginx文件解…