重学Linux
Linux软件包安装与管理
1、源码包安装
mkdir /apache
cd /apache
wget https://mirrors.cnnic.cn/apache/httpd/httpd-2.4.12.tar.bz2 //下载源码
tar -jxvf httpd-2.4.12.tar.bz2
cd httpd-2.4.12
./configure --prefix=/opt/httpd-2.4.12 \ // 指定安装目录
--enable-so \
--enable-mods-shared=most \
--enable-proxy-balancer=shared \
--enable-proxy-http=shared \
--enable-proxy-ajp \
--enable-rewrite
make //编译
make install //安装软件
2、rpm安装
rpm安装的方式需要自己处理软件包依赖
rpm -i [辅助选项] file1.rpm file2.rpm……fileN.rpm
- -v:显示附加信息
- -h:安装时输出标记“#”
- –test:只对安装进行测试,并不实际安装
- –nodeps:不检查软件之间的依赖关系,加入此选项可能会导致软件不可用
- –force:忽略软件包以及软件冲突
- –replacepkgs:强制重新安装已经安装的软件包。
- –prefix:将软件包安装到指定的路径下
- –percent:以百分比的形式输出安装的进度
- –excludedocs:不安装软件包中的说明文件
- –includedocs:安装软件包,包含说明文件
- -q:查询
- -f:查询操作系统中某个文件属于哪个对应的 rpm 软件包
- -V:验证 软件包的安装状态
- -p:验证软件包文件
- -i:显示软件包的概要信息
- -l:显示软件包中的所有文件列表
- -s:除了显示软件包中的所有文件列表信息,而且还显示每个文件的状态
rpm -ivh ipvsadm-1.27-7.el7.x86_64.rpm //安装
rpm -Uvh ipvsadm-1.27-7.el7.x86_64.rpm //更新
rpm -e rsh //删除
rpm -qf /bin/bash //查询某个文件属于哪个对应的 rpm 软件包
rpm -Vp rsh-0.17-76.el7.x86_64.rpm //验证软件包是否安装和包文件
rpm -qi gcc-4.8.3-9.el7.x86_64 //显示软件包的概要信息
rpm –ql gcc-4.8.3-9.el7.x86_64 //显示软件包中的所有文件列表
rpm -qc nginx //查询指定软件配置文件
rpm -qd nginx //查询指定软件文档
rpm -q --scripts nginx //查询安装或删除相关运行shell脚本
rpm -q --changelog nginx //查询安装更改信息
rpm -qa //查询所有已安装的包
rpm -q packagename //查询当前安装package
rpm -qp package.rpm //查询package
rpm -import url //远程导入第三方rpm包
安装my-package.src.rpm包
rpm -i my-package.src.rpm
cd /root/rpmbuild/SPECS
rpmbuild -bb my-package.specs // 在/root/rpmbuild/RPMS/x86_64生成一个或多个rpm文件
cd /root/rpmbuild/RPMS/x86_64
rpm -ivh my*.rpm
解决软件包更新相互循环依赖的问题
rpm -Uvh a.rpm b.rpm c.rpm
3、yum安装
自动安装依赖包,yum 会自动下载所有所需的升级资源包并默认放置在/var/cache/yum 目录下,检查yum是否安装
rpm -qa|grep yum
rpm -ivh yum-*.noarch.rpm
yum配置
cat /etc/yum.conf //配置文件
cat /etc/yum.repos.d //资源库配置目录
常用命令
yum install vsftp
yum remove vsftp
yum update vsftp
yum list vsftp //查询可用源
yum whatprovides bash //查询命令在什么包中
yum provides vsftp //查看文件是那个安装包提供的
yum check-update //检查可更新的 包
yum info/list vsftpd //查询 RPM 包信息
yum info/list updates //查询所有可以更新的 rpm 包的信息
yum info/list installed //查询已经安装的所有的 rpm 包的信息
yum info/list extras //通过其它网站下载安装的 rpm 包
yum search vsftp //搜索匹配特定字符的 rpm 包的详细信息
yum clean //清除暂存中旧的 rpm 头文件和包文件(/var/cache/yum)
yum update //升级所有包同时也升级软件和系统内核
yum upgrade //只升级所有包,不升级软件和系统内核
yum list kernel //列出可安装的内核版本
yum history //查看历史操作
yum history undo id //撤销历史操作
yum localinstall url //通过url安装第三方rpm包
yum localinstall *.rpm
yum repolist all //查看仓库状态
yum-config-manager --disable kubernetes //禁用仓库
yum group list
yum group info
yum group install
yum group mark install groupname #标记手动安装的组
4、二进制”.tar.gz 、.bz2”安装
这种格式的软件包,安装其实就是简单的解压过程,根据不同的软件打包格式,我们用
相应的解压命令解压即可,如果需要卸载,直接删除对应的 tomcat 目录
tar -zxvf xxxxxx.tar.gz //解压*.tar.gz
tar -jxvf xxxxxx.tar.bz2 //解压*.bz2
gzip -c core_db.sql > core_db.sql.gz //压缩*.gz
gzip -cd common_db.sql.gz > common_db.sql //解压.gz