安装及管理程序

目录

Linux应用程序基础

RPM软件包管理工具

源代码编译安装

总结

 

 

Linux应用程序基础

 

 

 

 

 

RPM软件包管理工具

 

 

 

 

 

查询已安装的rpm软件信息

rpm -q  软件名     #查询指定软件是否已安装

rpm -q elink lynx

rpm -qi 软件名     #显示已安装的指定软件的详细信息

rpm -qi samba-client

rpm -ql 软件名     #显示已安装的指定软件的文件列表

rpm -ql wget

rpm -qc 软件名     #列出已安装的指定软件的配置文件

rpm -qc httpd

rpm -qd 软件名

rpm -qd httdp      #列出已安装的指定软件的软件包文档所在位置

rpm -qR 软件名

rpm -qR wget       #列出已安装的指定软件的依赖的软件包及文件

rpm -qF 文件或目录 #查询已安装的指定软件属于哪个安装包

rpm -qF yum

rpm -qa            #显示当前系统中以 rpm方式安装的所有软件列表

rpm -qa | grep -i postfix  #查询软件postfix是否已安装

rpm -qf /usr/bin/passwd  #查看指定的文件或目录是哪个软件包所安装的

 

查询未安装的 RPM 软件包文件中信息

rpm -qpi RPM包文件名 #查询指定软件包的详细信息

rpm -qpi /mnt/Packages/ethtool-4.8-10.el7.x86_64.rpm

rpm -qpl RPM包文件名 #查询指定软件包的文件列表

rpm -qpl /mnt/Packages/ethtool-4.8-10.el7.x86_64.rpm

rpm -qpc RPM包文件名 #查询指定软件包的配置文件

rpm -qpc /mnt/Packages/elinks-0.12-0.37.pre6.el7.0.1.x86_64.rpm

rpm -qpd RPM包文件名 #查询指定软件包的软件包文档的位置

rpm -qpd /mnt/Packages/vsftpd-3.0.2-25.el7.x86_64.rpm

 

 

 

 

安装、升级、卸载 RPM 软件包

格式:

rpm [选项] RPM包文件

rpm -ivh RPM软件包

常用选项:

-i:安装一个新的 RPM 软件包。

-U:升级某个软件包,若未安装过,则进行安装。

-F:升级某个软件包,若未安装过,则放弃安装。

-h:在安装或升级软件包的过程中,以“#”号显示安装进度。

-v:显示软件安装过程中的详细信息。

--force:强制安装某个软件包,比如要安装版本更旧的软件包

 

-e:卸载指定名称的软件包。

--nodeps:在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系。

 

案列

rpm -ivh /mnt/Packages/lynx-2.8.8-0.3.dev15.el7.x86_64.rpm

rpm -e lynx

rpm -q lynx

 

 

 

 

解决软件包依赖关系方法

安装有依赖关系的多个软件时

被依赖的软件包需要先安装

可同时指定多个.rpm包文件进行安装

  卸载有依赖关系的多个软件时

      依赖其他程序的软件包需要先卸载

      可同时指定多个软件名进行卸载

  忽略依赖关系

      结合--nodeps”选项,但可能导致软件异常

安装源代码软件包需要编译安装,需要安装支持cc++程序语言的编译器,如gccgcc-c++make

如果使用rpm方式安装,则需要先安装多个依赖包,这样会很繁琐。这里可以使用 yum方式进行一键安装。

 

先配置本地yum源仓库

mount /dev/cdrom /mnt/ #把光盘挂载到/mnt目录下

挂载    设备      目录或文件夹  

注:最好是空的 原来的数据将被隐藏

一个挂载点同一时只能挂载一个设备

 

cd /etc/yum.repos.d/

mkdir repos.bak

mv *.repo repos.bak

 

cd /etc/yum.repos.d/

vim local.repo

[local] #仓库类别

name=local #仓库名称

baseurl=file:///mnt #指定URL 访问路径为光盘挂载目录

enabled=1 #开启此yum源,此为默认项,可省略

gpgcheck=0 #不验证软件包的签名

 

yum clean all && yum makecache #删除yum缓存并更新

 

yum常用的操作命令:

yum -y install 软件名 #安装、升级软件包,“-y”选项表示自动确认

yum -y remove 软件名 #卸载软件包,可自动解决其依赖关系

yum -y update 软件名 #升级软件包

 

yum list #查询软件包列表

yum list installed #查询系统中已安装的软件包

yum list available #查询仓库中尚未安装的软件包

yum list updates #查询可以升级版本的软件包

 

yum info 软件名 #查询软件包的描述信息

yum info httpd

 

yum search [all] 关键词 #根据某个关键词来查找相关的软件包

yum search all httpd

 

yum whatprovides 命令 #查询命令属于哪个软件包

yum whatprovides netstat

 

 

yum install 包名 -y --downloadonly --downloaddir=/tmp/   #下载RPM包到指定目录

例:yum install samba* -y --downloadonly --downloaddir=/opt/

cd /opt/

ls

mkdir backup

ls

yum install samba* -y --downloadonly --downloaddir=/opt/backup/

ls /backup 没有文件

 

cd reposd.bak/

mv *.repo ../

cd ..

ls

mv local.repo reposd.bak/

yum clean all

yum makecache

 

yum install samba* -y --downloadonly --downloaddir=/opt/backup/

ls /opt/就有了

 

使用yum方式进行安装

yum install -y gcc gcc-c++ make

 

 

 

文件拉过来

tar zxvf httpd-2.4.25.tar.gz -C /opt/

[root@dc2 home]# cd /opt/

[root@dc2 opt]# ls

[root@dc2 httpd-2.4.25]# yum install gcc gcc-c++ make -y

yum install  gcc* apr-devel* pkgconfig* libapr* pcre  pcre-devel  libtool  libxml2-devel apr-util*  -y

[root@dc2 httpd-2.4.25]# ./configure --prefix=/usr/local/apache/

make编译

make install

[root@dc2 httpd-2.4.25]# /usr/local/apache/bin/apachectl

[root@dc2 httpd-2.4.25]# lsof -i:80

 

 

总结

软件包的封装类型

RPM软件包管理工具

源代码编译安装基本过程

 

posted @   请叫喵总  阅读(71)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示