标签:zl
程序:(操作系统启动需要使用到的程序,这些目录不能挂载额外的分区,必须在根文件系统的分区上)二进制程序(/bin、/sbin)
库(/lib)
配置文件(/etc)
帮助文件(/usr/share/man)
/usr/:bin、sbin、lib----------操作系统核心功能,可以单独分区
/usr/local/:bin、sbin、lib、[etc]、[man]-----------独立王国,第三方软件的一般目录
/proc、/sys:不能单独分区,默认为空;必不可少,内核自我管理的系统文件
/dev:设备,不能单独分区
软件包管理器的核心功能:
制作软件包
安装、卸载、升级、查询、校验
RPM:Redhat Package Manager-------------依赖关系
前端工具:yum,apt-get
后端工具:RPM,dpt
RPM包名格式:
name-version-release.arch.rpm
bind-major.minor.release-release.arch.rpm
主版本号:重大改进
次版本号:某个子功能发生重大变化
发行号:修正了部分bug,调整了一点功能
安装:
# rpm -ivh /path/to/somewhere
-i:install
-v:显示详细过程
-h:显示进度
--nodeps:忽略依赖关系
--replacepkgs:重新安装,替换原有安装
--force:强行安装,可以实现重装或降级
查询:
# rpm -q PACKAGE_NAME (查询指定的包是否已经安装)
# rpm -qa (查询已经安装的所有包)
# rpm -qi PACKAGE_NAME (查询指定包的说明信息)
# rpm -ql PACKAGE_NAME (查询指定包安装后生成的文件列表)
# rpm -qc PACKAGE_NAME (查询指定包安装的配置文件)
# rpm -qd PACKAGE_NAME (查询指定包安装的帮助文件)
# rpm -q --scripts PACKAGE_NAME (查询指定包中包含的脚本)
# rpm -qf /path/to/somefile (查询指定的文件是由哪个rpm包安装生成的)
# rpm -qpi /path/to/package_file (查询某尚未安装的rpm包的说明信息及安装后会生成的文件)
升级:
# rpm -Uvh /path/to/package_file (如果装有老版本的,则升级;否则,则安装)
# rpm -Fvh /path/to/package_file (如果装有老版本的,则升级;否则,退出)
--oldpackage:降级
卸载:
# rpm -e PACKAGE_NAME
校验:
# rpm -V PACKAGE_NAME
重建数据库:
# rpm
--rebuilddb:重建数据库,一定会重新建立
--initdb:初始化数据库,没有才建立,有就不用建立
检验来源合法性,及软件完整性:
加密类型:
对称:加密解密使用同一个密钥
公钥:一对儿密钥,公钥,私钥,公钥隐含于私钥中,可以提取出来,并公开出去
单向:
# ls /etc/pki/rpm-gpg/ (RPM-GPG-KEY-redhat-release)
# rpm -K /path/to/package_file
dsa,gpg:验证来源合法性,也即验证签名;可以使用--nosignature略过此项
sha1,md5:验证软件包完整性;可以使用--nodigest略过此项
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release (导入密钥文件)
YUM
配置文件-------yum仓库
创建yum仓库:
# createrepo [options] DIRECTORY
定义repo文件:
[Repo_Name]
name=Description
baseurl=
ftp://
http://
file:///:本地
enabled=(1|0):设置此源是否可用,1为可用,0为禁用
gpgcheck=(1|0):设置此源是否校验文件,1为校验,0为不校验
# yum [options] [command] [package...]
-y:自动回答yes
install:安装
list:列表
all
available:可用的,仓库中有但尚未安装的
installed:已经安装的
updates:可用的升级
clean:清理缓存
[ packages | headers | metadata | dbcache | all ]
repolist:显示repo列表及其简要信息
all
enabled:默认
disabled
update:升级
update-to:升级为指定版本
remove|erase:卸载
provides|whatprovides:查看指定的文件或特性是由哪个包安装生成的
编译安装的三步骤:
前提:准备开发环境(编译环境)
安装
# tar
# cd
# ./configure (让用户选定编译特性;检查编译环境)
--prefix=/path/to/somewhere
--sysconfdir=/path/to/conffile_path
# make
# make install
修改PATH环境变量,以能够识别此程序的二进制文件路径
修改/etc/profile文件
在/etc/profile.d/目录建立一个以.sh为名称后缀的文件,在里面定义export PATH=$PATH:/path/to/somewhere
默认情况下,系统搜索库文件的路径/lib,/usr/lib;要增添额外搜寻路径
在/etc/ld.so.conf.d/中创建以.conf为后缀名的文件,而后把要增添的路径直接写至此文件中
# ldconfig (通知系统重新搜寻库文件)
-v:显示重新搜寻库的过程
头文件:输出给系统
默认:/usr/include
增添头文件搜寻路径,使用链接进行
man文件路径:安装在--prefix指定的目录下的man目录:/usr/share/man
man -M /path/to/man_dir command
在/etc/man_db.config中添加一条MANPATH
# netstat
-r:显示路由表
-n:以数字方式显示
-t:建立的tcp连接
-u:显示udp连接
-l:显示监听状态的连接
-p:显示监听指定套接字的进程的进程号与进程名
标签:zl
原文地址:http://blog.51cto.com/zjing1027/2046835