软件包管理

xiaoxiao2021-02-28  145

软件包管理

– 因为Linux操作系统是个开源项目,系统上面绑定有各种各样的软件,所以也有对应的软件包管理。

一. rpm – Redhat Package Manager

rpm是Redhat专门用来管理软件包的工具,由于其性能及遵循GPL规定,所以作用在CentOS上下面依具做简介

1. 语法

rpm [ 选项 ] [ 参数 ] 下面列出常用选项:

-a:查询所有包; -d:只列出文本文件,本参数需配合”-l”参数使用; -e:卸载包 -f:查询二进制文件来自于哪个包; -h或–hash:以#显示程序包管理安装进度; -i:显示包的相关信息; -i或–install:安装指定的包 -l:查询后面的包名列出的文件列表; -p:针对尚水安装的程序包文件做查询操作; -q:查询包是否安装好; -R:显示包的关联信息; -s:显示文件状态”-l”参数使用; -U:升级包; -v:显示执行过程; -vv:显示详细过程,便于排错。

2. 实例

(1).安装包 (从光驱进行安装)

[root@CentOS6 Packages]# rpm -ivh lrzsz-0.12.20-27.1.el6.x86_64.rpm warning: lrzsz-0.12.20-27.1.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY Preparing… ########################################### [100%] package lrzsz-0.12.20-27.1.el6.x86_64 is already installed [root@CentOS6Packages]# rpm -ivh –force lrzsz-0.12.20-27.1.el6.x86_64.rpm warning: lrzsz-0.12.20-27.1.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY Preparing… ########################################### [100%] 1:lrzsz ########################################### [100%]

rpm 安装rzsz的包,我们装这包的时候是在包的路径下,如果不在要加上安装包的路径,由于我们之前有装过,如果需重新安装的话需加上–force,如果我们有时需要装的包有依赖关系的话是没办法装上的,如想装上需要在命令加上 –nodeps –force 一起使用

(2).卸载包

[root@CentOS6 Packages]# rpm -e zsh

卸载包时请查看清楚格式:如下! rpm -e rpm -e zsh-4.3.11-4 rpm -e rpm -e zsh-4.3.11 rpm -e rpm -e zsh- rpm -e rpm -e zsh

rpm –import /media/CentOS_6.9_Final/RPM-GPG-KEY-CentOS-6 添加key

二. yum – ellow dog Updater, Modified

yum 是一款基于rpm包管理工具,性能很强大,包的依赖性也能完美的解决。

1. 语法

yum [ 选项 ] [命令 ] [ 包 ]下面列出常用选项:

(1).选项

-h:显示帮助信息; -y:对安装过程中需要输入yes的交互式选项默认输入“yes”; -c:指定配置文件; -q:静默模式; -v:详细模式;

( 2 ).命令:

command is one of: * install package1 [package2] […] 安装包 * update [package1] [package2] […] 升级包 * check-update 检查升级包 * remove | erase package1 [package2] […] 删除包 * list […] 查看yum列表 * info […] 查看信息 * provides | whatprovides feature1 [feature2] […] yum优先级 * clean [ packages | metadata | expire-cache | rpmdb | plugins | all ] 清理包 * makecache 创建缓存 * groupinstall group1 [group2] […] 组包安装 * groupupdate group1 [group2] […] 组包更新 * grouplist [hidden] [groupwildcard] […] 组包列表 * groupremove group1 [group2] […] 组包卸载 * groupinfo group1 […] 组包信息 * reinstall package1 [package2] […] 重装 * repolist [all|enabled|disabled] 查看yum仓库列表 默认是all * help [command]

2.yum 仓库搭建

yum源有网络和本地两种,建仓时对应不同的分类也做出对应的地址规类

http:// 网络路径 https:// ... ftp:// ... file:// 本地路径 创建yum仓的路径在/etc/yum.repo/路径下,后辍为.repo的文件。里面的内容也有规定 [base] 第一行我们要备注yum仓的名称 (中括号和字符之前不能有空格) name="sohu yum " baseurl=http://mirrors.sohu.com/centos/7/os/x86_64 指定源地址而通常我们用repodata 父目录作为yum源的路径 (如下图) gpgcheck=0 是否检测gpg的key信息 设0为不检查 1为检查 gpgkey=http://mirrors.sohu.com/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7 这里是下图1的地方 enable=0 0是开启仓库,如关闭使用1 yum的repo配置文件中可用的变量:(系统自设定的) $releasever : 当前os的发行版的主版本号 $arch : i386, i486, i586 ,X86_64 等 $basearch : 基础平台 i386, X86_64 $yum0 - $yum9 : 自定义变量 通过以上的变量我们可以把上面源设为 [base] name="suho yum" baseurl=http://mirrors.sohu.com/centos/$releasever/os/$basearch ...

3.yum 服务端

yum list vsftpd 查看vsftpd服务有没有装 如果没装首先需装上 rpm -ql vsftpd /usr/lib/systemd/system/vsftpd.service /var/ftp 把yum的包拷贝到此目录的pub里 ss -tnl 查看当前系统开起的端口 systemctl enable vsftpd 开机启动ftp服务 systemctl start vsftpd 启动ftp服务 systemctl stop firewalld.service 关闭防火墙 systemctl disble firewalld.service 开机禁用防火墙

进入网页尝试打开看看,如我的ip打开是:ftp://192.168.3.2/pub/centos6/

centos 6 chkconfig iptables off 开机禁用iptables service iptables stop 关闭iptables

selinux防火墙 vim /etc/selinux/config selinux配置文档 setenforce 0 关闭selinux

4.yum 实例

(1).安装包

[root@CentOS6 ~]# yum install autofs <— 安装autofs的包 Loaded plugins: fastestmirror, refresh-packagekit, security Setting up Install Process Loading mirror speeds from cached hostfile Package 1:autofs-5.0.5-132.el6.x86_64 already installed and latest version 由于我们已 经安装过了,所以这里提示我们已经装了 Nothing to do

(2).卸载包

[root@CentOS6 ~]# yum remove autofs <–卸载autofs包 Loaded plugins: fastestmirror, refresh-packagekit, security Setting up Remove Process Resolving Dependencies –> Running transaction check —> Package autofs.x86_64 1:5.0.5-132.el6 will be erased –> Processing Dependency: autofs for package: ipa-client-3.0.0-51.el6.centos.x86_64 –> Running transaction check —> Package ipa-client.x86_64 0:3.0.0-51.el6.centos will be erased –> Finished Dependency Resolution …

(3).组包安装

[root@CentOS6 ~]# yum groupinstall Development tools 安装development tools的组包 Loaded plugins: fastestmirror, refresh-packagekit, security Setting up Group Process Loading mirror speeds from cached hostfile Package flex-2.5.35-9.el6.x86_64 already installed and latest version Package gcc-4.4.7-18.el6.x86_64 already installed and latest version Package redhat-rpm-config-9.0.3-51.el6.centos.noarch already installed and latest version Package rpm-build-4.8.0-55.el6.x86_64 already installed and latest version Package 1:make-3.81-23.el6.x86_64 already installed and latest version Package patch-2.6-6.el6.x86_64 already installed and latest version Package 1:pkgconfig-0.23-9.1.el6.x86_64 already installed and latest version Package gettext-0.17-18.el6.x86_64 already installed and latest version Package automake-1.11.1-4.el6.noarch already installed and latest version Package bison-2.4.1-5.el6.x86_64 already installed and latest version Package libtool-2.2.6-15.5.el6.x86_64 already installed and latest version Package autoconf-2.63-5.1.el6.noarch already installed and latest version Package gcc-c++-4.4.7-18.el6.x86_64 already installed and latest version Package binutils-2.20.51.0.2-5.46.el6.x86_64 already installed and latest version Package patchutils-0.3.1-3.1.el6.x86_64 already installed and latest version Package byacc-1.9.20070509-7.el6.x86_64 already installed and latest version Package indent-2.2.10-7.el6.x86_64 already installed and latest version Package systemtap-2.9-7.el6.x86_64 already installed and latest version Package diffstat-1.51-2.el6.x86_64 already installed and latest version Package elfutils-0.164-2.el6.x86_64 already installed and latest version Package cvs-1.11.23-16.el6.x86_64 already installed and latest version Package rcs-5.7-37.el6.x86_64 already installed and latest version Package subversion-1.6.11-15.el6_7.x86_64 already installed and latest version Package gcc-gfortran-4.4.7-18.el6.x86_64 already installed and latest version Package 1:doxygen-1.6.1-6.el6.x86_64 already installed and latest version Package intltool-0.41.0-1.1.el6.noarch already installed and latest version Package git-1.7.1-8.el6.x86_64 already installed and latest version Package ctags-5.8-2.el6.x86_64 already installed and latest version Package cscope-15.6-7.el6.x86_64 already installed and latest version Package swig-1.3.40-6.el6.x86_64 already installed and latest version Warning: Group development does not have any packages. Warning: Group tools does not exist. No packages in any requested group available to install or update 由于没有更新的包,而我们已经装了,所以提示warning为已存在

(4).组包卸载

[root@CentOS6 ~]# yum groupremove Development tools 卸载包组

转载请注明原文地址: https://www.6miu.com/read-36701.html

最新回复(0)