软件包:
二进制文件
配置文件 /etc, /usr/local/etc
库文件 /lib, /usr/lib, /usr/local/lib
文档(mnan, info, /usr/share/doc) /usr/share/docs, /usr/share/man,
软件包的安装方式:
1、手动编译安装源代码:
2、二进制格式的软件包
rpm
解压直接使用
rpm:
name-version-release.os.arch.rpm
Version :版本号
major:主设备号,表示某一种类的设备
minor:此设备号,标示同一种类的不同设备
modify:修正号
Release: 发行号
rpm管理软件包:
安装:h表示以#方式进度
rpm -ivh /path/to/rpm_package
rpm --ivh --nodeps 强行装
卸载:
rpm -e name --nodeps 忽略依赖关系
升级:
rpm -Uvh /patn/to/rpm_package
rpm -Fvh /path/to/rpm_package
查询:
rpm -q name
-qa 查询所有软件包/
-qa keyeord (*,?) 支持文件名通配
-qi name 显示软件包的相关信息
-ql name 把软件包安装生成的所有文件列出
-qc name 只显示配置文件
-qd name 只显示文档
-q --scripts name 查看一个软件包安装的时候都执行了哪些脚本
-qf FILENAME查看文件是由哪些软件包安装生成的
-q --changelog name
-qpi /path/to/rpm_package 加一个p 在不安装软件包的情况下 查看软件包信息
校验:
rpm -V
S file Size differs
M Mode differs (includes permissions and file type)
5 MD5 sum differs
D Device major/minor number mismatch
L readLink(2) path mismatch
U User ownership differs
G Group ownership differs
T mTime differs
rpm重建数据库:
# rpm --initdb
# rpm --rebuilddb
rpm --import /etc/pki/rpm-gpg
rpm -K
--nodigest
--nosignature
yum及yum源的创建
一、yum是功能强大的、易用的前端安装工具,依赖于rpm,但是yum能自动解决软件包之间的依赖关系,是基于C/S架构的。
(1)、服务器端有yum仓库并包含所以的yum源,并赋予客户端有下载的功能。
(2)、客户端提供给yum一个配置文件,告知用户yum仓库在哪里,启用与否。
yum reopsitory(yum仓库)支持哪些服务?
① ftp:// 基于ftp服务器的yum仓库
②http:// 基于http服务器的yum仓库
③file:/// 基于本地的yum仓库
三种方式指定yum仓库在哪。
1、yum 客户端的配置文件由两部分组成:
(1)/etc/yum.conf
(2)/etc/yum.repos.d/*.repo 必须以.repo结尾的后缀文件名才有用
cat /etc/yum.conf
[main] //定义全局属性
cachedir=/var/cache/yum //下载到的目录
keepcache=0 //是否保留缓存
debuglevel=2 //执行级别
logfile=/var/log/yum.log //日志文件
distroverpkg=redhat-release //
tolerant=1 //容许出错,若上一个安装存在,仍继续安装下一个
exactarch=1 //
obsoletes=1 //
gpgcheck=1 //检查签名
plugins=1 //启动插件功能
除了[main]不能用,其他的[ ]是对应的yum源的识别号,可自定义改变。
vim /etc/yum.repos.d/log.repo
[base]
name=Server
baseurl=http://172.16.0.1/yum/Server
gpgcheck=0
enabled=1
2、yum list: 可列出yum文件和已安装的repo文件
选项:{all(所有)|installed(已安装的)|available(可用的未安装包)|updates(可更新的)}
yum install PACKAGE_NAME1,PACKAGE_NAME2...
-y :不用提示直接安装。
事物标示,yum install 只能安装一次,不能重复安装。
yum remove|erase PACKAG_NAME1,PACKAGE_NAME2... 删除软件包并自动解决软件包之间的依赖关系。
yum update PACKAGE_NAME 更新软件包
yum check-update: 用于检查哪些软件包可升级。
yum info bash: 显示软件包的摘要信息
yum provides | whatprovides FILENAME: 查询什么软件生成的这个文件
yum downgrade PACKAGE_NAME : 降级软件包
yum reinstall PACKAGE_NAME : 重装软件包
yum repolist :显示yum 源有哪些
{all(所有)|enabled(默认启用的)|disenabled(禁用的)}
yum clean :清除缓存
yum grouplist: 显示所有软件包组的信息
yum groupinstall "包组名(有空格时要加“”)":安装包组
yum groupremove ... : 移除包组
yum groupinfo ...: 查询某个包组的信息
yum lovalinstall 本地路径: 安装本地的软件包
默认情况下,yum会自动检测来源合法性与数据完整性,如果不通过,则不执行。
(1)导入软件包的公钥
(2)yum --nogpgcheck localinstall 文件名
yum localupdate PACKAGE_NAME: 通过本地软件包升级
yum serach keyword :非精确匹配,搜索软件
二、创建本地yum源
(1)先安装yum 可以用rpm yum-(yum的软件包名字)
(2)配置完yum仓库后再创建yum源
yum install createrepo
源代码编译安装
如axel的安装
axel是一种类似迅雷的下载工具,支持断点续传。
1、下载axel软件包 ,我们上课用是在ftp://172.16.0.1/pub/Sources/downloader下下载的。
2、解压 #tar xvf axel-2.4.tar.bz2
3、切换至解压后的目录
4、./configure --prefix=/usr/local/axel(指定其安装的默认路径)--i8n=0(不启用国际化)//检查编译环境./configure + Makefile.in --> makefile
5、make 编译
6、make install 安装
安装成功后,若想不用输入完整的路径就下载东西,可以在配置文件中写入路径,并导出。
/etc/profile:可使全局生效
/etc/bash_profile:单个用户生效。
根据需要打开其中一个文件,在一中添加一行:PATH=$PATH:/usr/local/axel/bin
# export PATH=$PATH:/usr/local/axel/bin,即可。
一、自定义安装路径时,此软件库文件导出方法:
1、在/etc/ld.so.conf.d/新建一个.conf结尾的文件,并将此程序的库文件路径添加至此文件中,比如:
/usr/local/apache/lib
2、执行ldconfig,让系统重新加载库文件:
ldconfig -v
二、可执行程序的导出方法:
# export PATH=$PATH:/usrlocal/apache/bin
也可写入配置文件:
如果想对所有用户生效,写入/etc/profile;
如果进队某用户生效,写入~/.bash_profile
三、man文件路径导出方法;
编辑/etc/man.config文件,新增如下一行;
MANPATH /usr/local/apache/man
四、头文件导出方法
创建连接
ln -sv