Linux 软件下载安装个人经验

本文分享了在Linux系统中编译安装MySQL和Apache的详细步骤。首先,详细介绍了MySQL的下载、安装依赖、执行CMake以及make和make install的过程。接着,讲述了Apache的安装,包括下载依赖包apr、apr-util、pcre,解决安装过程中的问题,以及最终的安装和可能遇到的重启错误及解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.linux 下安装软件的方式
    1.码源安装
        码源安装就是安装源代码,采用编译安装,卸载直接删除源代码就可以。安装过程容易出错
    2.二进制包安装
        就是直接安装已经编译过的源代码,不能看到源代码。安装过程相对简单,不过具有依耐性 可以通过命令直接查询 安装 卸载 升级
    3.脚本安装
        就是把复杂的安装过程写成脚本 傻瓜式安装(安装的实质还是码源包或者二进制包)

二rpm包安装管理
1.rpm包的依赖性:①树形依赖(从输的末尾安装)②环形依赖(同时安装)③库依赖(一般是.so文件,可以直接去www.rpmfind.net这个网站搜索 然后安装包含的文件)
2.rpm的命名规则:
比如说这个qpm包![这里写图片描述](https://img-blog.youkuaiyun.com/20170414173338601?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzUwOTE1NjY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
3.rpm包 安装 升级 卸载 
①安装 rpm -ivh 包全名 (要写包全名,且要绝对路径或cd到目录下安装)
(-i(install) 安装; -v(verbose) 详细信息; -h(hash) 进度; --nodeps 不检测依赖性(绝少使用))
② 升级 rpm -Uvh 包全名(要升级到的软件版本)
如果没有安装这个软件的任何版本,这个命令可以代替rpm -ivh。
③ 卸载 rpm -e 包名(比如Httpd,不需要包全名)
这个命令不同于安装和升级,它可以在任何目录运行,原理是去/var/lib/rpm目录中的数据库(如__db0)中查找对应的软件包(已经安装过的rpm包都在这些数据库中),然后卸载。
***注意***:--nodeps这个选项不管是在安装和卸载的时候,最好都不要使用.
4.rpm包 查询
rpm -q libffi-3.0.13-11.el7.i68  查询这个包是否安装。
rpm -qa   查询已经安装的所有rpm包列表。
rpm -qa |grep http 正则匹配所有已经安装的带个http的rpm包
rpm -qi libffi-3.0.13-11.el7.i68 查询已经安装的rpm包信息
rpm -qip libffi-3.0.13-11.el7.i68 查询未安装的rpm包信息
rpm -qR 包名 (-R 查询软件包的依赖性 ,requires ) 
rpm -qRp 包名 (-p 查询未安装包信息 ,package)
rpm -ql 包名 (l , list,列表) rpm -qlp 包名 (查询未安装包信息,package):查询包中文件安装位置

5.rpm包 系统文件提取 
命令: rpm2cpio 系统文件存在的包全名 | cpio -idv ./bin/ls。
 cpoi 选项 < [文件|设备]
 -i : copy-in 模式, 还原
 -d : 还原时自动新建目录
 -v : 显示还原过程
比如 bin下的ls命令损坏了。修复:
 ① ![首先用这个命令rpm -qf /bin/ls 查询系统文件位于哪个rpm包下](https://img-blog.youkuaiyun.com/20170414185121832?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzUwOTE1NjY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
② rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./bin/ls
③ 把提取的复制到原来损坏的地方
cp /root/bin/ls /bin/

6.rpm包 系统文件校验
rpm -V 包名
例如执行 rpm -V httpd 后, 无任何提示, 代表该文件没有被做任何修改
若提示为:S.5....T.  c  /etc/httpd/conf/httpd.conf
表示配置文件的 大小 文件内容 修改时间被改变了,通过下面的判断
1-2) 验证内容中的8个信息
 S : 文件大小是否改变
 M : 文件的类型或文件的权限( rwx )是否被改变
 5 : 文件MD5 校验和是否改变( 可以看成文件内容是否改变 )
 D : 设备的主从代码是否改变
 L : 文件路径是否改变
 U : 文件的属主( 所有者 ) 是否改变
 G : 文件的属组是否改变
 T : 文件的修改时间是否改变
1-3) 验证内容中的文件类型
 c (config file) : 配置文件
 d (documentation) : 普通文档
 g (ghost file) : "鬼"文件, 很少见, 就是该文件不应该被这个RPM包包含
 L (license file) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值