Package Manager
-
Package 管理工具的分类
-
rpm
-
yum
-
Source Code Install
管理工具的分类
前段管理工具:
Debian:deb
Redhat,Suse…:rpm
前端管理工具:
Debian:apt-get
Redhat:yum,dnf
RPM
RPM是什么?
RPM全称是RPM Package Manager,是一款用来管理软件包的工具。
RPM有什么用?
RPM能够用来管理程序包,包括软件包的安装,删除,卸载,升级,降级,查询操作。
RPM包名:
Packagename-modname-major.minor.revision.distributions.arch.rpm
例如: NetworkManager-adsl-1.0.6-27.el7.x86_64.rpm
rpm命令的格式:
rpm [COMMAND] [OPTION]
查询:
rpm -q [option]
-a:显示当前主机所有包。 -i [Package_name]:显示程序包的详细信息。 -l [Package_name]:列出程序包安装后生成的所有文件。 -c [Package_name]:列出程序的配置文件。 -d [Package_name]:列出程序包的文档文件。 -p [Package_PATH]:针对还未安装的程序做查询。需要与q和其他参数搭配使用。 --scripts [Package_name]:列出程序包自带的脚本。 --provides [Package_name]:列出程序包所提供的功能。 -R [Package_name]:查询指定程序包所依赖的功能。 --whatprovides [功能]:查询指定功能是哪个程序包提供的。 --whatrequires [功能]:查询所有以来此功能的所有程序包。 常用用法:-qa -qi -ql -qc -qd -qpi -qpl...
安装:
rpm -i [OPTIPN] [PACKAGE_PATH]
-v|-vv:显示安装的详细信息。 -h:以hash表的格式来实时显示进度,单位#。 --test:测试安装。 --nodeps:忽略依赖关系。 --replacepkgs:重新安装。 --nosignature:不检查来源合法性。 --nodigest:不检查包的完整性。 --noscript:不执行脚本。 %pre:安装前脚本。 %post:安装后脚本。 %noprenu:卸载前脚本。 %postun:卸载后脚本。
卸载:
rpm -e [Package_name]
升级
rpm <-U --upgrade |-F> [option] [Package_name】 -U:如果有更新就更新,没有软件就安装。 -F:如果有更新就更新,没有就推出。 -V:详细信息。 -h:hash表显示。 --fouce:强制。
降级:
#rpm -F --oldpackage [Package_name]
校验,导入密钥:
rpm -V [Package_name]
rpm –import [Key_File]
rpm DB
rpm {--initdb|--rebuilddb} --initdb:初始化rpm数据库。 如果事先不存在就创建;否则,不执行任何操作。 --rebuilddb:重建 无论是否存在,直接创建数据库。
YUM
YUM是什么?
Yellow Dog Updata modify,是基于RPM的一款前端包管理工具。
YUM的功能是什么?
YUM通过仓库的方式来实现自动下载安装的过程,并通过元数据表来自动解决程序包的依赖问题。
YUM Repository
YUM中的仓库是什么?
是存储了众多的rpm包,以及包相关的元数据文件(repodata目录下)。
文件服务器的形式:
ftp:// http:// nfs:// file:///
Create Repository:
-
通过命令创建。
yum-config-manager --add-repo=[REPO_PATH]
-
通过配置文件创建。 vim /etc/yum.repos.d/*.repo
[repo_ID] name=repo_name baseurl=repo_path_url_1 指定仓库URL,可以指定多个URL。 repo_path_url_2 enable={0|1} 是否开启次仓库,默认为1,启用。 enablegroups={0,1} 是否开启包组功能,批量管理包,默认为1,启用。 gpgcheck={0|1} 是否开启gpg检查包完整性与合法性,默认为1,启用。 gpgcheck=KEY_PATH 指定gpg金钥位置。 failovermthhod={roundrobin|priority} 选择使用哪一个URL。 默认为roundrobin,随机选择URL。 priority,按照顺序轮询。 username , passwd 某些仓库是需要身份验证的。 cost=# 指定仓库的开销,默认数值为1000。
YUM命令的格式:
yum [COMMAND] [OPTION]
命令行的选项:
-y 所有交互都选择YES --nogpgcheck 不用进行完整性和合法性校验 --disablerepo [repoistory_ID] 关闭这个仓库 --enablerepo [repoistory_ID] 开启这个仓库 --noplugins 禁止使用插件
查询显示:
yum list [installed|updates] [glob...] yum repolist 仓库列表。 yum info [glob...] 包信息。 yum [provides | whatprovides] [glob...] 所具有的功能与依赖的功能。 yum search [string...] 根据字段来查询包。 yum deplist [glob...] 列出依赖关系。 yum history [info] [glob...] 不带参数即查看历史信息,info并指定glob查询单独一个包的历史信息。
安装,重装:
yum install [PACKAGE...] 安装 yum reinstall [PACKAGE...] 重装
卸载,降级:
yum remove [PACKAGE...] 删除包。 yum downgrade [PACKAGE...] 降级包。
清除,创建:
yum clean [PACKAGE|metadata|expire-cache|rpmdb|plugins|all] 清除特定或者全部数据。 yum makecache 创建缓存。
包组相关:
yum grouplist 列出包组。 yum groupinstall 安装包组。 yum groupupdate 升级包组。 yum groupremove 删除包组。 yum groupinfo [GROUP_PACKAGE] 查询包组信息。
yum仓库文件的中变量详解:
$releasever :OS发行版主版本号 $arch:平台 $basearch:基础平台 $YUM0-$YUM9 例如: http://mirros.163.com/centos/$releaserver/$basearch/$OS
Source Code Install
Source Code Install什么是?
源码安装,指的是通过还没编译的源代码,自行编译安装程序包。
Source Code Install有什么功能?
通过源码安装安装的程序与通过程序包安装的程序基本功能完全一致。
Source Code Install有什么好处?
通过源码安装,可以灵活选择程序模块,自行指定安装后的文件存放位置。
程序包安装概述:
二进制程序包:
textapp-VERSION-release.src.rpm –>安装后使用rpmbuild命令制作成二进制格式的rpm包,然后再安装。
源码安装:
源代码 –> 预处理 –> 编译(gcc) –> 汇编 –> 链接 –> 执行
源码获取渠道:
官方自建站点:
apache.org (ASF)
mariadb.org …
代码托管:
sourceforge
Github.com
code.google.com
源码安装的步骤:
C代码编译安装三步骤 :
-
./configuer :
(1)通过选项传递参数,指定启用特性,安装路径等;执行时会参考用户的指令以及Makefile.in文件生成makefile;
(2)检查依赖到的外部环境; -
make:
根据makefile文件,调用编译器,构建应用程序; -
make install:
链接文件;
源码安装的基本命令以及参数:
./configure [option] --prefix=PREFIX 指定文件安装路径 --sysconfdir=DIR 指定配置文件安装路径 --help 查看帮助 ... make make install
源码安装注意事项:
-
安装前一定要查看文档,README , INSTALL 两个文档。
-
如果自行知道安装文件存放位置,请事前创建好程序文件存放目录。
-
源码安装完成后,要将系统环境变量设置正确。
PATH=[bin_PATH]$PATH 可执行文件路径 LD_LIBRARY_PATH=[lib_PATH]$LD_LIBRARY_PATH 动态库文件路径 LIBRARY_PATH=[lib_PATH]$LIBRARY_PATH 静态库路径 C_INCLUDE_PATH=[include_PATH]$C_INCLUDE_PATH 头文件路径 MAN中的帮助文档路径指定: 在 /etc/man_db.conf 文件中添加: MANDATORY_MANPATH /PATH/TO/man
原创文章,作者:Net18_肖肖,如若转载,请注明出处:http://www.178linux.com/13533
评论列表(1条)
又见md,用了md确实很上档次。逻辑清楚,内容丰满,赞