一、rpm的相关内容  


1、rpm命名

  1. 包:组成部分  

  2.     主包:  

  3.      bind-9.7.1-1.i586.e15.rpm  

  4.     子包:  

  5.      bind-libs-9.7.1-1.i586.e15.rpm  

  6.      bind-utils-9.7.1-1.e15.i586.rpm  

  7. 包名格式:  

  8. name-version-release.arch.rpm  

  9.     bind-major.minor.release-reldase.arch.rpm  

  10. 主版本号:重大改进  

  11. 次版本号:某个子功能发生重大改变  

  12. 发行号:修正了部分bug,调整了一点功能  

2、rpm包 

  1.   二进制格式:安装简单  

  2.     rpm包作者下载源程序,编译配置完成后,制作成rpm包  

  3.     bind-9.7.1-1.i686  

  4.     bind-9.7.1-1.ppc.rpm  

  5. uname -a :显示版本号  

3、rpm命令  

3.1、 安装

  1.   rpm -i /PATH/TO/PACKAGE_FILE  

  2.       -h: 以#显示进度,每个#表示2%  

  3.       -v: 显示详细过程  

  4.       -vv: 显示更详细的过程  

  5.   rpm -ivh /PATH/TO/PACKAGE_FILE  

  6.        eg:rpm -ivh zsh-4.2.6-6.e15.i368.rpm  

  7. --nodeps:忽略依赖关系 

  8. --replacepkgs:重新安装,替换原有安装 

  9. --force:强行安装,可以实现重装或降级 

  10.     eg:rpm -ivh --replacepkgs zsh4.2.6-6.e15.i386.rpm 

  11.     eg:rpm -ivvh --replacepkgs zsh4.2.6-6.e15.i386.rpm 

3.2、查询 

  1.   rpm -q PACKAGE_NAME:查询指定的包是否已经安装  

  2.      eg:rpm -q zsh  

  3.   rpm -qa :查询已安装的所有的包  

  4.      eg:rpm -qa | grep "z"

  5.   rpm -qi PACKAGE_NAME:查询指定包的说明信息  

  6.   rpm -ql PACKAGE_NAME:查询指定包安装后生成的文件列表  

  7.   rpm -qc PACKAGE_NAME:查询指定包安装的配置文件  

  8.   rpm -qd PACKAGE_NAME;查询指定包安装的帮助文件  

  9.      eg:rpm -ql zsh | less  

  10.   rpm -q --scripts PACKAGE_NAME:查询指定包中包含的脚本 

  11.   rpm -qf /path/to/somefile:查询指定的文件是由哪个rpm包生成的  

  12.      eg: rpm -qf   

  13. 如果某rpm包尚未安装,我们需查询其说明信息、安装以后会生成的文件  

  14.   rpm -qpi /PATH/TO/PACKAGE_FILE   (i指软件包)  

  15.   rpm -qpl  /PATH/TO/PACKAGE_FILE   (l指列表)  

  16. eg:rpm -qpi httpd-devel-2.2.3-63.e15.i386.rpm  

3.3、升级 

  1. rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE: 如果装有老版本的,则升级,否则,则安装  

  2. rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE:如果装有老版本的,则升级,否则,退出  

  3. --oldpackage:降级 

3.4、卸载  

  1. rpm -e PACKAGE_NAME   

  2. --nodeps  

  3. eg:rpm -e zsh  

3.5、校验 

  1.   rpm -V PACKAGE_NAME :校验文件是否被非法改变过  

  2.   rpm -ql   

3.6、重建数据库 

  1.    rpm  

  2. --rebuilddb:重建数据库,一定会重建数据库 

  3. --initab:初始化数据库,没有才建立,有就不用建立,无法重建数据库 

3.7、检验来源合法性,及软件包完整性  

  1. 加密类型  

  2.    对称:加密解密使用同一个**  

  3.    公钥:一对儿**,公钥,私钥;公钥隐含于私钥中,可以提取出来,并公开出去;  

  4.          公钥用于加密,私钥用于验证身份  

  5.    单向:  

  6.    # ls /etc/pki/rpm-gpg/  

  7.        RPM-GPG-KEY-redhat-release  

  8.      rpm -K   

  9.        dsa,gpg:验证源合法性,也即验证签名;可以使用--nosignature,略过此项 

  10.        sha1,md5:验证软件包完整性;可以使用--nodigest,略过此项     

  11.      rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release:导入**文件 

3.8、rpm的应用  

  1. RPM安装:  

  2.     二进制格式:  

  3.     源程序-->编译-->二进制格式 

  4.         有些特性是编译选定的,如果编译未选定此特性,将无法使用;  

  5.         rpm包的版本会落后于源码包,甚至会落后很多:bind-9.8.7,bind-9.7.2  

  6.       make:C或C++程序的项目管理工具,将多个不同文件做成一个项目,并且把这个项目编译过程通过一个配置文件( makefile)来完成  

  7.         makefile:定义了make(gcc,g++)按何种次序去编译这些源程序文件中的源程序  

 1.下载rpm文件

rpm、yum的相关内容及其应用

 

rpm、yum的相关内容及其应用

rpm、yum的相关内容及其应用

 2.把rpm文件下载到本地

rpm、yum的相关内容及其应用

3.查询软件包安装时的路径

rpm、yum的相关内容及其应用

 4.查询指定的文件是由哪个软件包安装所生成的文件

rpm、yum的相关内容及其应用

 5.查询指定包安装的配置文件

rpm、yum的相关内容及其应用

二、yum的相关内容  

  1. yum:Yellowdog Update Modifier(针对于红帽的二次发行版)        

1、yum仓库中的元数据文件 

  1. primary.xml.gz  

  2.    所有RPM包的列表:  

  3.    依赖关系:  

  4.    每个RPM安装包生成的文件列表;     

  5. filelists.xml.gz  

  6.   当前仓库中所有RPM包的所有文件列表:  

  7. other.xml.gz  

  8.    额外信息,RPM包的修改日志     

  9. repomd.xml  

  10.    记录的是上面三个文件的时间戳和校验和  

2、如何为yum定义repo文件,格式如下  

  1. [Repo_ID]  

  2. name=Description  

  3. baserurl=  

  4.     ftp://  

  5.     http://协议分隔符  

  6.     file:///根路径   

  7. enabled={1|0}  

  8. gpgcheck={1|0}  

  9. gpgkey=  

3、yum的命令

  1. yum的格式:yum [options] [command] [package...]  

  2.           -y:自动回答为yes  

  3. --nogpgchek 

  4. list:列表  

  5.     支持glob  

  6. all  默认  

  7.     available:可用的,仓库中有但尚未安装的  

  8.     installed:已经安装的  

  9. update: 可用的升级  

  10. clean:清理缓存  

  11.   [package | headers | metadata | dbcache | all ]  

  12.  repolist:显示repo列表及其简要信息  

  13. all  所有  

  14.       enabled  默认  

  15.       disabled  

  16. install:安装  

  17. yum install PACKAGE_NAME  

  18. update:升级  

  19. update_to:升级为指定版本  

  20. remove|erase:卸载  

  21.   info近似于rpm-i :  

  22.   provides|whatprovides:查看指定的文件或特性是有哪个安装包生成的  

4、yum的应用  

1.列出所有可更新的软件清单

rpm、yum的相关内容及其应用

 2.安装所有更新软件

rpm、yum的相关内容及其应用

3.安装指定文件

rpm、yum的相关内容及其应用

 4.获取软件包的详细信息

rpm、yum的相关内容及其应用

rpm、yum的相关内容及其应用

 5.清除缓存

rpm、yum的相关内容及其应用

 6.将光盘放入光驱并挂载到/mnt下

rpm、yum的相关内容及其应用

rpm、yum的相关内容及其应用

 7.创建配置文件

rpm、yum的相关内容及其应用

rpm、yum的相关内容及其应用

 8.清除缓存,并列出所有文件

rpm、yum的相关内容及其应用

 9.显示所有repo列表

rpm、yum的相关内容及其应用

 10.安装yum文件

rpm、yum的相关内容及其应用

 


四、编译安装的三步骤:  

  1. 前提:准备开发环境(编译环境)  

  2. 安装”Development Tools"和“Development Libraries"

  3. #tar  

  4. #cd  

  5. #./configure  

  6. --help 

  7. --prefix=/path/to/somewhere (软件安装的位置) 

  8. --sysconfdir=/PATH/TO/CONFFILE_PATH 

  9.    功能:1、让用户选定编译特性;2、检查编译环境  

  10. #make  

  11. #make inistall  

  12. #tar xf tengine-1.4.2.tar.gz  

  13. #cd tengnine-1.4.2  

  14. #./configure --prefix=/usr/local/tengine --conf-path=/etc/tengine/tengine.conf 

  15. # make  

  16. # make install  

  17. # /usr/local/tengine/sbin/nginx  

1.修改PATH环境变量,以能够识别此程序的二进制文件路径;  

  1.     修改/etc/profile文件  

  2.     在/etc/profile.d/目录建立一个以.sh为名称后缀的文件,在里面定义export PATH=$PATH:/path/to/somewhere  

2、默认情况下,系统搜索文件路径/lib,/usr/lib;要增添额外搜寻路径;  

  1.    在/etc/ld.so.conf.d/中创建以.conf为后缀名的文件,而后把要添加的路径直接写至此文件中  

  2.    # ldconfig 通知系统重新搜索库文件  

  3.       -v:显示重新搜寻库的过程  

3、头文件:输出给系统# include  

  1.   默认:/usr/include  

  2.   增添头文件搜寻路径,使用链接进行:  

  3.       /usr/local/tengine/include/  /usr/include  

  4.       两种方式:  

  5.       ln -s /usr/local/tengine/include/* /usr/include/ 或  

  6.       ln -s /usr/local/tengine/include /usr/include/tengine  

4、man文件路径:安装在--prefix指定的目录下的man目录:/usr/share/man 

  1.    1、man -M /PATH/TO/MAN_DIR COMMAND  

  2.    2、在/etc/man.config中添加一条MANPATH  

  3.    eg:ftps -> cd Sources/ -> ls -> cd ->cd pub -> cd Sources/LANP/ -> get httpd-2.2.16.tqr.bz2  

  4.     -> cd -> bye -> tar xf httpd-2.2.16.tar.bz2 -> cd httpd-2.2.16 -> ./configure --help | less 

  5.     ./configure --prefigure --prefix=/usr/local/apache --sysconfdir=/etc/httpd -> rpm -q httpd 

  6.     -> ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd -> rpm -q httpd  

  7.     -> ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd  ->    

netstat命令:  

  1.      -r:显示路由表  eg:netstat -r  

  2.      -n:以数字方式显示 eg:netstat -rn  

  3.      -t:建立的tcp连接  

  4.      -u:显示UDP连接  

  5.      -l:显示监听状态的连接  

  6.        eg: netstat -ul 显示打开状态UDP的连接  

  7.        eg: netstat -tul 显示远程状态的连接  

  8.      -p:显示监听指定套接字的进程号和进程名