|NO.Z.00022|——————————|^^ 操作 ^^|——|Linux&软件包安装.V01|——|常用操作|
一、软件包管理
### --- 软件包管理
~~~ rpm -ivh 包名 #rpm包安装方式;i安装 v显示更详细的信息h打印显示安装信息
~~~ 软件包名+软件版本+软件发布次数+软件发行商+适合的硬件平台+rpm包的扩展名;rpm安装包的命名规则
noarch // 表示没有平台限制;所有平台都可以安装
/var/lib/rpm/ // 系统会生产 RPM 包的数据库
http://www.rpmfind.net // 如果要知道在哪个软件包中,需要查询网站
[root@server11 ~]# /etc/rc.d/init.d/httpd restart // 服务启动命令
[root@server11 ~]# /etc/init.d/httpd restart
### --- RPM 包升级
[root@localhost ~]# rpm –Uvh 包全名
### --- 卸载
[root@localhost ~]# rpm -e 包名
~~~ 生产环境下不可以使用--nodeps
[root@server21 ~]# rpm -e --nodeps httpd-2.2.15-53.el6.centos.x86_64.rpm
### --- 查询
[root@localhost ~]# rpm -qa // -a:所有(all
二、检查程序的依赖包
### --- 检查程序的依赖包
~~~ RPM 包默认安装路径(由作者决定的)
~~~ /etc/ 配置文件安装目录
~~~ /usr/bin/ 可执行的命令安装目录
~~~ /usr/lib/ 程序所使用的函数库保存位置
~~~ /usr/share/doc/ 基本的软件使用手册保存位置
~~~ /usr/share/man/ 帮助文件保存位置
[root@server21 ~]# rpm -qRp /mnt/cdrom/Packages/httpd-2.2.15-53.el6.centos.x86_64.rpm
[root@server21 ~]# rpm -Va # -Va 校验本机已经安装的所有软件包
[root@localhost ~]# rpm –Vf 系统文件名 # -Vf 校验某个系统文件是否被修改
三、RPM包指定位置
### --- RPM包指定位置
~~~ rpm不指定位置会安装在默认路径下;若是指定会安装在指定在位置;
~~~ rpm包安装建议不指定位置,原因一、默认的安装位置是系统的习惯位置,
~~~ 原因二、rpm包管理系统是有卸载命令的(数据库记录安装位置的);
~~~ 源码包是没有卸载命令的,若是想要卸载;只能删除安装目录;
~~~ 所以源码包是需要指定安装目录的。
[root@server21 Packages]# rpm -ivh --prefix=/usr/local/httpd httpd-2.2.15-53.el6.centos.x86_64.rpm
### ---yum查询:
~~~ yum是服务器去连接Redhat的官方服务器,需要什么样的依赖包,
~~~ 下载后安装;也就说明本地电脑是客户端,而Redhat端电脑是服务端;
~~~ yum查询的是对方官方服务器上的信息,也就是Redhat官方服务器上的包信息。
### ---rpm查询:
~~~ rpm查询的客户端上的包信息,也就是说查询的是本地电脑上的包信息;
### ---查询服务器已安装的所有软件包
[root@server11 ~]# rpm -qa | wc -l
1363
### ---查询对应安装的软件包
[root@server11 ~]# rpm -qa |grep httpd
### ---查询已经安装包的信息
[root@server11 ~]# rpm -qi httpd
### ---(已经安装)列出软件包中所有的文件列表和软件所安装的目录(list)
~~~ etc目录下,相关配置文件
~~~ /usr/lib64 函数库
~~~ /usr/sbin 启动脚本
~~~ /usr/share 帮助文档
~~~ /var/cache /var/lib 临时文件;可变文件,日志等
~~~ /etc/rc.d/init.d 启动脚本调用的还是/usr/sbin下
[root@server11 ~]# rpm -ql httpd #rpm -ql 包名
### ---(查询没有安装的软件包准备安装位置信息)(package)
[root@server11 Packages]# rpm -qlp zenity-3.22.0-1.el7.x86_64.rpm // rpm –qlp 包全名
### ---查询系统文件属于哪个RPM包
[root@server11 ~]# rpm -qf /etc/httpd/conf/httpd.conf rpm -qf 系统文件名
httpd-2.4.6-97.el7.centos.x86_64
### ---MD5的效验地址:只要文件内容不变,MD5值是一致的。
### ---若是MD5值发生变化,说明文件下载不完整。
四、验证软件包的正确性
### --- 验证软件包的正确性
[root@localhost ~]# rpm -V httpd
五、编译安装
### --- 编译安装
~~~ 报错后需要执行make clean:清空编译生成的临时文件(非必须步骤)
[root@server11 httpd-2.2.9]# make clean
### --- 六服务是否可以修改端口:
~~~ 如果服务时给大量客户端访问的,不建议更换端口,因为用户就无法访问服务
~~~ 如果服务时给内部人员使用,建议改换端口,因为更加安全(SSH 22)
### --- 源码报错:
~~~ 安装过程必须停止
~~~ 查看是否no,warning,error关键字说明报错
六、rpm包安装总结
### --- rpm包安装总结
~~~ 软件包安装
### --- RPM包:
### --- 手工命令安装
~~~ 安装: rpm -ivh 包全名
~~~ 升级: rpm -Uvh 包全名
~~~ 卸载: rpm -e 包名
~~~ 查询:
~~~ 查询是否安装 rpm -q 包名
~~~ rpm -qa |grep 包名
~~~ 查询包信息 rpm -qi 包名 (已安装)
~~~ rpm -qip 包全名 (未安装包)
~~~ 查询安装位置 rpm -ql 包名
~~~ rpm -qlp 包全名
~~~ 查询系统文件属于哪个包 rpm -qf 系统文件名
~~~ 查询依赖性 rpm -qR 包名
~~~ 验证: rpm -V 报名
~~~ 导入数字证书: rpm --import 数字证书
~~~ 提取RPM包中文件:rpm2cpio /mnt/cdrom/Packages/httpd-2.4.6-80.el7.centos.x86_64.rpm | cpio -idv . /etc/httpd/conf/httpd.conf
~~~ 源报名 点表示当前目录,后面提取的是包里的那个文件
### --- yum
~~~ yum search ifconfig #搜索命令属于哪个包
~~~ yum -y install 包名 安装
~~~ yum -y update 包名 升级
~~~ yum list 查询
~~~ yum -y remove 包名 卸载
~~~ yum grouplist 查询组
~~~ yum groupsearch 关键字 搜索
~~~ yum -y groupremove 包组名 安装
~~~ yum -y groupremove 包组名 卸载
### --- 源码包
~~~ ./configure --prefix=/usr/local/apache2/
~~~ make
~~~ make install
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
cdv005-basic
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库