一、yum安装使用:
1、Yum:rpm的前端程序,用来解决软件包相关依赖性,可以在多个库之间定位软件包,up2date的替代工具
2、yum repository:yum repo,存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下)
3、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
enablegroups={1|0}
failovermethod={roundrobin|priority}
默认为:roundrobin,意为随机挑选;
cost= 默认为1000
配置好的文件后,做更新:
#yum clean all 清理本地缓存
#yum makecache 构建本地缓存
4、yum-config-manager的使用:
(1)yum-config-manager的安装:
A、该命令在最小化安装的系统上是没有的,需要安装yum-utils-1.1.31-34.el7.noarch.rpm这个RPM包,如果是光盘安装,需要另外安装两个依赖包:python-chardet.noarch 0:2.2.1-1.el7_1 、python-kitchen.noarch 0:1.1.1-5.el7;也可以通过网络安装或者本地的YUM仓库安装,命令为:yum localinstall yum-utils-1.1.31-34.el7.noarch.rpm;
B、如果是yum安装,直接执行# yum install yum-utils -y
(2)yum-config-manager的选项使用:
yum-config-manager –add-repo=“仓库路径” 添加仓库
yum-config-manager –disable “仓库名" 禁用仓库
yum-config-manager –enable “仓库名” 启用仓库
5、yum的命令使用:
(1) #yum repolist (显示仓库列表)
(2)#yum list (显示仓库的所有程序包)或者yum list all (显示仓库的所有程序包和系统已安装的程序包)
(3) #yum install (程序安装);yum reinstall(程序重新安装)
(4)#yum update (程序升级);yum downgrade (程序降级)
(5)#yum check-update (检查可升级)
(6)#yum remove (卸载程序)
(7)#yum info (查看程序的详细信息)
(8)#yum provides (查看程序包由哪些程序提供)
(9)#yum search (搜索程序包名,属于模糊搜索)
(10)#yum replist (查看程序的依赖程序)
(11)#yum history (查看yum安装的历史)
到日志文件查看:
使用命令yum history查看:
(12)#yum history info 6
(13)#yum history undo 7 (相当于把历史文件里面的卸载步骤给取消,即为安装。)
yum 域名解析配置
yum的配置文件里指向的域名就识别不了了。重新设置下dns指向。
vim /etc/resolv.conf
nameserver 8.8.8.8
centos系统
用yum安装php时报错 Peer cert cannot be verified or peer cert invalid;
解决方法:
vi /etc/yum.conf
添加配置:sslverify=false
yum的命令行选项:只能单一次安装,不能够同时启动多个安装命令
–nogpgcheck:禁止进行gpgcheck
-y: 自动回答为“yes”
-q:静默模式
–disablerepo=repoidglob:临时禁用此处指定的repo
–enablerepo=repoidglob:临时启用此处指定的repo
–noplugins:禁用所有插件
二、本地包和包组的使用:
1、安装及升级本地程序包:
yum localinstall rpmfile1 [rpmfile2] […]
(用install替代)
yum localupdate rpmfile1 [rpmfile2] […]
(用update替代)
2、包组管理的相关命令:
yum groupinstall group1 [group2] […] 安装包组
yum groupupdate group1 [group2] […] 升级包组
yum grouplist [hidden] [groupwildcard] […] 查看包组情况(含安装与未安装)[hidden]为查看隐藏包组
yum groupremove group1 [group2] […] 删除包组
yum groupinfo group1 […] 包组信息页内容查看
三、如何使用本地光盘作为YUM仓库:
1、光盘挂载:
#mount /dev/cdroom /mnt/cdrom (手动挂载,机器重启就丢失)
Centos6上autofs自动挂载:/misc/cd (访问即刻挂载上去)
2、创建本地配置文件:
[cdrom]
baseurl=file:///mnt/cdrom(此处,建议优先使用这路径:baseurl=file:///misc/cd)
gpgcheck=0
3、yum的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号
$arch: 平台,i386,i486,i586,x86_64等
$basearch:基础平台;i386
$YUM0-$YUM9:自定义变量
4、创建yum仓库:
createrepo [options] <directory>
程序包编译
一、程序包编译安装:
(1)Application-VERSION-release.src.rpm–> 安装后,使用rpmbuild命令制作成二进制格式的rpm包,而后再安装
(2)源代码–>预处理–>编译–>汇编–>链接–>执行
源代码组织格式:
多文件:文件中的代码之间,很可能存在跨文件依赖关系
C、C++:make (项目管理器,configure –>
Makefile.in –> makefile)
c/c++编译器: gcc
java: maven
(3) 开发工具:
编译C源代码:
准备:提供开发工具及开发环境
开发工具:make, gcc等
开发环境:开发库,头文件
glibc:标准库
实现:通过“包组”提供开发组件
CentOS 6:
Development Tools
Server Platform Development
CentOS 7:
Development Tools
Development and Creative Workstation
(4)安装步骤:(以下三个步骤必须在解压的源码目录下执行)
第一步:configure脚本
选项:指定安装位置、指定启用的特性 –help: 获取其支持使用的选项
选项分类:
安装路径设定:
–prefix=/PATH: 指定默认安装位置,默认为/usr/local/
–sysconfdir=/PATH:配置文件安装位置
System types:支持交叉编译
Optional Features: 可选特性
–disable-FEATURE
–enable-FEATURE[=ARG]
Optional Packages: 可选包,
–with-PACKAGE[=ARG],依赖包
–without-PACKAGE,禁用依赖关系
通过选项传递参数,指定启用特性、安装路径等;执行时会参考用户的指定以及makefile.in文件生成makefile
autoconf: 生成configure脚本
automake:生成Makefile.in
注意:安装前查看INSTALL,README
第二步:make 根据makefile文件,构建应用程序
第三步:make install 复制文件到相应路径
(5)安装后的配置:
A、 二进制程序目录导入至PATH环境变量中;
编辑文件/etc/profile.d/NAME.sh
export PATH=/PATH/TO/BIN:$PATH
B、 导入库文件路径
编辑/etc/ld.so.conf.d/NAME.conf
添加新的库文件所在目录至此文件中
让系统重新生成缓存:ldconfig[-v]
C、 导入头文件
基于链接的方式实现:ln -sv
D、 导入帮助手册
编辑/etc/man.config|man_db.conf文件
添加一个MANPATH
编译安装事例:
1、 yum的配置和使用;包括yum repository的创建
2、 编译安装apache 2.2源码包,并启动此服务(下面以安装http为例)
安装前的开发工具包组安装:
(1)先从本地ftp服务器上下载源码包,如下图。
(2)使用命令#tar xvf httpd-2.2.29.tar.bz2,如下图:
(3)解压完成后,进入源码解压目录下:
(4)执行前,先ls看看/usr/local目录下是否存在同名的目录;执行命令# ./configure –prefix=/usr/local/httpd –sysconfdir=/etc/httpd,指定了安装的目录和配置文件存放目录
(5)生成了Makefile文件,并没有报错,这说明前面的步骤正确,如下图:
(6)至此,可以开始编译;#make 和 #make install 可以分开执行。在这,就一起执行。
(7)完美编译安装完成:
(8)安装后的配置管理部署:
A、配置环境变量:
B、库文件的配置:
C、include头文件的配置:
#cd /usr/include
#ln -s /usr/local/httpd/include httpd
D、man帮助文件的配置:
http启动、重启、停止测试: