Linux学习之:yum程序包管理命令
1.yum简述:
yum(全称 Yellow dog Updater, Modified)是一个前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
文件服务器:
ftp://、 htpp:// 、nfs://、 file://
yum客户端:
配置文件:
/etc/yum.conf #为所有仓库提供公共配置
/etc/yum.repos.d/*.repo #为仓库的指向提供配置
仓库指向的定义:
[repositoryID]
name=Some name for this repository #仓库名称(尽可能为仓库的功能描述)
baseurl=url://path/to/repository/ =号左右不能有空个,否则会有语法错误
enabled={1|0} #是否启用此仓库,默认是启用的
gpgcheck={1|0} #检查包的完整性和来源合法性
gpgkey=URL #指明密钥文件的URL
enablegroups={1|0} #是否支持在此仓库上使用组
failovermethod={roundrobin|priority} #故障转义方法,默认为:roundrobin(随机挑选)
cost= #开销数字,默认为1000,值越小,优先级越高
2.yum命令的用法:
yum [options] [command] [package ...]
显示仓库列表:
repolist [all|enabled|disabled]
[root@shakura ~]# yum repolist all #显示所有的仓库列表
[root@shakura ~]# yum repolist enabled #显示可用的仓库列表
[root@shakura ~]# yum repolist disabled #显示不可用的仓库列表
显示程序包:
[root@shakura ~]# yum list [all | glob_exp1] [glob_exp2] [...]
#显示安装包列表,支持glob通配符机制。
[root@shakura ~]# yum list {available|installed|updates} [glob_exp1] [...]
安装程序包:
[root@shakura ~]# yum install package1 [package2] [...]
[root@shakura ~]# yum reinstall package1 [package2] [...] #重新安装
升级程序包:
[root@shakura ~]# yumupdate [package1] [package2] [...] #更新
[root@shakura ~]# yum downgrade package1 [package2] [...] #降级
检查可用升级:
[root@shakura ~]# yum check-update
卸载程序包:
[root@shakura ~]# yum remove | erase package1 [package2] [...]
查看程序包information:
[root@shakura ~]# yum info [...]
查看指定的特性(可以是某文件)是由哪个程序包所提供:
[root@shakura ~]# yum provides | whatprovides feature1 [feature2] [...]
清理本地缓存:
[root@shakura ~]# yum clean
#all:所有; packages:下载的rpm包;metadata:元数据;
#expire-cache:过期缓存; rpmdb :rpm数据库;plugins :插件。
构建缓存:
[root@shakura ~]# yum makecache
搜索:
[root@shakura ~]# yumsearch string1 [string2] [...]
#模糊搜索以指定的关键字搜索程序包名及summary信息;
查看指定包所依赖的capabilities:
[root@shakura ~]# yum deplist packag_NAME
查看yum事务历史:
[root@shakura ~]# yum history
安装及升级本地程序包:
* localinstall rpmfile1 [rpmfile2] [...]
(maintained for legacy reasons only - use install)
* localupdate rpmfile1 [rpmfile2] [...]
(maintained for legacy reasons only - use update)
包组管理的相关命令:
* groupinstall group1 [group2] [...]
* groupupdate group1 [group2] [...]
* grouplist [hidden] [groupwildcard] [...]
* groupremove group1 [group2] [...]
* groupinfo group1 [...]
3.如何使用光盘当作本地yum仓库:
(1) 挂载光盘至某目录,例如/media/cdrom
[root@shakura ~]d]# mount -r /dev/cdrom /media/cdrom/
(2) 编辑或者创建配置文件vim /etc/yum.repos.d/CentOS-CR.repo
[root@shakura ~]# vim /etc/yum.repos.d/CentOS-CR.repo
# CentOS-CR.repo
[cr]
name=CentOS-7.1 localCDROM
baseurl=file:///media/cdrom
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1
(3)查看可用的yum仓库显示如下:
[root@shakura ~]# yum repolist
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
源标识 源名称 状态
cr CentOS-7 - cr 8,652
repolist: 8,652
yum的命令行选项:
--nogpgcheck:禁止进行gpg check;
-y: 自动回答为“yes”;
-q:quite静默模式;
--disablerepo=repoidglob:临时禁用此处指定的repo;
--enablerepo=repoidglob:临时启用此处指定的repo;
--noplugins:禁用所有插件;
yum的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号;
$arch: 平台;
$basearch:基础平台;
$YUM0-$YUM9:提供的10个可以自定义的变量$YUM0-$YUM10。
http://mirrors.magedu.com/centos/$releasever/$basearch/os
创建yum仓库:
createrepo [options] <directory>
4. 程序包编译安装:
第一步:configure脚本
选项:指定安装位置、指定启用的特性
--help: 获取其支持使用的选项
选项分类:
安装路径设定:
--prefix=/PATH/TO/SOMEWHERE: 指定默认安装位置;默认为/usr/local/
--sysconfdir=/PATH/TO/SOMEWHERE:配置文件安装位置;
System types:
Optional Features: 可选特性
--disable-FEATURE
--enable-FEATURE[=ARG]
Optional Packages: 可选包(依赖到的程序包)
--with-PACKAGE[=ARG]
--without-PACKAGE
第二步:make
第三步:make install
安装后的配置:
(1) 导出二进制程序目录至PATH环境变量中;
编辑文件/etc/profile.d/NAME.sh
export PATH=/PATH/TO/BIN:$PATH
(2) 导出库文件路径
编辑/etc/ld.so.conf.d/NAME.conf
添加新的库文件所在目录至此文件中;
让系统重新生成缓存:
ldconfig [-v]
(3) 导出头文件
基于链接的方式实现:
ln -sv
(4) 导出帮助手册
编辑/etc/man.config文件
添加一个MANPATH
5.练习:编译安装Apache2.2,并启动httpd服务
(1)准备工作
●从Apache官网获取安装包
[root@shakura ~]# wget http://apache.dataguru.cn/httpd/httpd-2.2.31.tar.gz
●解压安装包
[root@shakura ~]# tar xf httpd-2.2.31.tar.gz
●进入到httpd-2.2.32查看安装手册显示安装步骤:
[root@shakura ~]# cd httpd-2.2.31 && cat INSTALL APACHE INSTALLATION OVERVIEW Quick Start - Unix ------------------ For complete installation documentation, see [ht]docs/manual/install.html or http://httpd.apache.org/docs/2.2/install.html $ ./configure --prefix=PREFIX # $ make $ make install $ PREFIX/bin/apachectl start NOTES: * Replace PREFIX with the filesystem path under which Apache should be installed. A typical installation might use "/usr/local/apache2" for PREFIX (without the quotes).
#此步骤可省略,但是建议其查看。
●--help选项,,获取其支持的选项
[root@shakura httpd-2.2.31]# ./configure --help `configure‘ configures this package to adapt to many kinds of systems. Usage: ./configure [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print `checking ...‘ messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for `--cache-file=config.cache‘ -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or `..‘] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [/usr/local/apache2] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX]
(2)开始编译安装
[root@shakura httpd-2.2.31]# ./configure --prefix=/tmp/apache2 checking for chosen layout... Apache checking for working mkdir -p... yes checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking target system type... x86_64-unknown-linux-gnu
(3)make and make install并启动httpd服务
[root@shakura httpd-2.2.31]# make && makeinstall
(4)查看httpd服务是否运行
至此,Apache服务安装成功。
本文出自 “南极熊” 博客,请务必保留此出处http://jianweixs.blog.51cto.com/9095175/1728822