示例:
#vim centos-local.repo
[base]
name=Base Repo on 198.18.0.1
baseurl=http://198.18.0.1/cobbler/ks_mirror/CentOS-6.6-x86_64/
gpgcheck=0
[epel]
name=Fedora EPEL for EL6 x86_64
baseurl=http://198.18.0.1/frdora-epel/6/x86_64
gpgcheck=0
yum命令的用法:yum [options] [command] [package]
显示仓库列表:
repolist [all|enabled|disabled]
显示程序包:
list
#yum list [all | glob_exp1] [glob_exp2]
#yum list {available|installed|updates} [glob_exp1]
安装程序包:
install package1 [package2]
reinstall package1 [package2](重新安装)
升级程序包:
update [package1] [package2]
downgrade package1 [package2](降级)
检查可用升级:
check-update
卸载程序包:
remove | erase package1 [package2]
查看程序包的简要信息:(类似于rpm -qi)
info package
查看指定的特性(可以是某文件)是由哪个程序包所提供:
provides | whatprovides feature1 [feature2]
清理本地缓存:
clean [ package | metadata | expire-cache | rpmdb | plugins | all ]
(程序包|元数据|过期缓存|rpm数据库数据|插件|所有)
构建缓存:
makecache
根据关键字搜索相关信息:
search string1 [string2](以指定的关键字搜索程序包名及summary信息)
查看指定包所依赖的capabilities:
deplist [package1] [package2]
查看yum事务历史:
history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]
安装及升级本地程序包:
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(查看包组的相关信息)
yum源的配置文件要求指明了做版本精确匹配的,yum源仓库的指向必须升级,不能降级,所有CentOS 6.0可以指向CentOS6.1的源,反之不行。
示例:
#less CentOS-Base.repo
解释:CentOS自行提供的定义repo仓库的文件
#rpm -q yum
解释:查询yum的安装信息
#rpm -qc yum
解释:查询yum的配置文件的信息
#yum repolist
解释:列出系统中所有可用的仓库
#yum install php-common
解释:安装php-common文件
#yum remove cpp
解释:删除cpp程序包
#yum provides gcc
解释:查看gcc程序是由哪个程序包所提供
#yum search bash
解释:搜索包含bash的信息有哪些
#yum deplist gcc
解释:查看gcc包所依赖的capabilities能力
#yum history
解释:查询过去安装、升级、卸载等事务的操作历史记录
#yum history summary
解释:查看安装历史的摘要信息
#yum grouplist
解释:显示包组信息
#yum groupinstall "Development Tools"
解释:安装程序开发工具的包组“Development Tools”
安装实例:
#mount -r /dev/cdrom /media/cdrom
#cd /etc/yum.repos.d/
#vim local.repo
[base]
name=CentOS 7 Release 7.1.1503
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0
#yum repolist
解释:查看系统中所有可用的yum仓库
#yum list all
解释:查看所有的程序包
#yum grouplist
解释:查看包组信息
yum命令的用法之yum仓库:
如何使用光盘当作本地yum仓库:
(1)挂载光盘至某目录,例如/media/cdrom
#mount -r -t iso9660 /dev/cdrom /media/cdrom
(2)创建配置文件
[CentOS7]
name=CentOS 7 Release 7.1.1503
baseurl=file:///media/cdrom
gpgcheck=0
enabled=1
yum的命令行选项:
--nogpgcheck:禁止进行gpg的检查
-y:自动回答为“yes”
-q:静默模式
--disablerepo=repoidglob:临时禁用此处指定的repo
--enablerepo=repoidglob:临时启用此处指定的repo
--noplugins:禁用所有插件
yum的repo配置文件中可用的变量:
$releasever:当前OS的发行版的主版本号
$arch:平台
$basearch:基础平台
$YUM0-$YUM9
$releasever/$basearch/os
创建yum仓库:
createrepo [options] <directory>
-u --baseurl:表示可选的,指明baseurl
-o --outputdir:表示输出数据到什么地方去
-x --excludes:表示把哪些包排除了
-i --pkglist:指明对哪些包创建
-g --groupfile:指明有哪些包组的
--basedir:能获取repodata的basedir,默认是当前的工作目录
Linux软件包管理之--编译安装
testapp-VERSION-release.src.rpm(源代码格式的rpm包文件)-->安装后,使用rpmbuild命令制作成二进制格式的rpm包,而后再安装:
源代码-->预处理-->编译(gcc)-->汇编-->链接-->执行
源代码组织格式:(如果是程序的开发者很好理解编译安装程序的顺序,但是对于一般的用户来说并不能够直接理解编译程序的具体步骤)
多文件:文件中的代码之间,很可能存在跨文件依赖关系
C,C++:有一个非常著名的项目管理工具make,其配置文件为makefile,Makefile.in文件是构建模板,configure是文件生成工具(configure-->Makefile.in-->makefile)
java:maven
编译安装三部曲:
【1】./configure
(1)通过选项传递参数,指定启用特性、安装路径等,执行时会参考用户的指定以及Makefile.in文件生成makefile
(2)检查各启用特性所依赖到的外部环境
【2】make
根据makefile文件,构建应用程序
【3】make install
将编译完成的文件copy到对应的目录文件当中
开发工具:
autoconf:用来生成configure文件
automake:用来生成Makefile.in文件
建议:安装前先查看INSTALL文档,如果没有就找README文件