Linux学习——软件包管理

Linux学习

软件安装

一、软件包管理简介

二、RPM包管理——rpm命令管理

三、RPM包管理——yum在线管理

四、源码包管理

五、脚本安装包与软件包选择


一、软件包管理简介

1、软件包分类

源码包(C语言写的)手工安装

脚本安装包  ——不需要手动安装

二进制包(RPM包、系统默认包)——编译之后的

CentOS  ——RPM包


redhat/CentOS——RPM包

debain/ubantu——


源码包:

优点:

开源

可以自由选择所需的功能

软件时编译安装,所以更加适合自己的系统,更急稳定也效率更高

卸载方便

缺点:

安装步骤较多,尤其安装较大的软件集合时,(如LAMP环境搭建),容易出现拼写错误

编译过程时间较长,因此比二进制安装时间长

因为是编译安装,安装过程中一旦报错新手很难解决


RPM包:

优点:

包管理系统简单,只通过几个命令就可以实现包的安装升级查询和卸载

安装速度比源码包安装快的多

缺点:

进过编译,不可看到源代码

功能选择不如源码包灵活

依赖性

二、RPM包管理——rpm命令管理

1:RPM包的命名原则

httpd-2.2.15-15.e16.centos.1.i686.rpm

httpd——软件包名

2.2.15——软件版本

15——发布次数

el6.centos——适合的Linux平台  (noarch)

i686——适合的硬件平台             (X64) 

rpm——rpm包扩展名

包名和包全名

包全名:操作的包是没有安装的软件包时,使用包全名,而且要注意路径。     安装  升级

包名:操作已经安装的软件包时,使用包名。是搜索/var/lib/rpm/中的数据库。   查询  卸载


2:RPM包依赖性

树形依赖:a→b→c

环形依赖:a→b→c→a

模块依赖:www.rpmfind.net  模块依赖查询网站   库依赖包

RPM安装

rpm  -ivh  包全名

-i  (install)  安装

-v (verbose) 显示详细信息

-h (hash)  显示进度

--nodeps     不检测依赖度

主要考虑依赖性问题,如果遇到库文件(so.2)去网站查询

RPM包升级

rpm -Uvh  包全名

-U——upgrade  升级

RPM包卸载

rpm  -e 包名

-e  earse   卸载

RPM包查询方式

①查询是否安装

rpm -q 包名

-q (query)

 rpm -qa 

查询所有已安装包

rpm -qa丨  grap httpd   #显示与httpd有关的所有rpm包

②查询软件包详细信息

rpm -qi 包名

-i  (information) 查询软件信息

-q  (package)  查询未安装软件包信息

rpm -qip  包全名

③查询包中文件安装位置

rpm -ql  包名

-l  (list )列表

-p (package) 查询未安装包信息

④查询系统文件属于哪个RPM包

rpm -qf 系统文件名

-f  (file) 查询系统文件属于哪个软件包

⑤查询软件包的依赖性

rpm -qR  包名

-R (requries)

-p (package)

rpm -qRp  zip。。。。rpm

校验和文件提取

①RPM包校验

rpm -V 已安装的包名

-V (verify) 校验指定RPM包中的文件

没有做过任何修改  则不会有什么提示

修改标志

S.5....

S——文件大小是否改变

M——文件的类型或文件的权限(rwx)是否被改变

5——文件MD5校验和是否改变(可以看成文件内容是否改变)

c——config file

d——doc

l——license file 

r——read me


②RPM 包中文件提取

rpm2cpio 包全名 丨\换行符

cpio -idv .文件绝对路径

rpm2cpio /mnt/cdrom.Packages/cpreutils-8.4-19.rpm 丨cpio idv ./bin/ls   提取RPM包中ls命令到当前目录的/bin/ls下

cp ls /bin/ls

修复错误  如 误删ls

cpio是一个标准工具 ,用于创建软件档案文件和从档案文件中提取文件

cpio 选项 < 文件 设备

-i copy-in  还原

-d 还原时自动新建目录

-v 显示还原过程


三、RPM包管理——yum在线管理

redhat收费

centos不收费

自动解决

不一定上网,光盘也可以


1.IP地址配置和网络yum源

2.yum命令

3.光盘yum源搭建


  1.IP地址配置和网络yum源

ifconfig eth0 192.168.1.156   

临时生效;只能配IP合子网掩码,如果想上网还需要网关和DNS公网,内网只需要IP和子网掩码

setup——redhat自带的工具   #永久生效

修改IP地址等

vi  /etc/sysconfig/network-scripts/ifcfg-eth0

把ONBOOT=“”“no”改为

  ONBOOT=“”“yes”

#启动网卡

重启网络服务

service  network restart


ifcongfig 

ping  www.baidu.com


2. 网络yum源

vi  /etc/yum.repos.d/CentOS-Base.repo

[base] ——容器名称

name ——容器说明,可以随便写

mirrorlist ——镜像站点

baesurl——yum源服务器的地址

enabled——=1生效,=0不生效

gpgcheck ——=1RPM的数字证书生效,=0不生效

gpgkey——数字证书的公钥文件保存位置,不用修改

已经配好的,什么也不需要更改

3.yum命令

1)查询

yum  list   #查询所有可用软件包列表                 

yum  search   关键字     #搜索服务器上所有和关键字相关的包   yum search httpd   阿帕奇

2)安装

yum  -y  install  包名

install    安装

-y    自动回答yes

yum  -y install  gcc

rpm -q  gcc

gcc-4.4.7-4.el6.i686

3)升级

yum  -y  update  包名

yum  -y  update  升级所有软件包

4)卸载

yum -y remove  包名

a→b→c   尽量不要使用yum 卸载

4.yum软件包组管理命令

yum  grouplist  列出所有可用的软件组列表

yum groupinstall  “软件组名”  安装指定软件组,组名可以有grouplist查询出来

yum  groupremove  软件组名   卸载指定软件组


5.光盘yum源搭建

1)挂载光盘

mount  /dev/cdrom   /mnt/cdrom/

2)让网络yum源失效

一种方式,使其他三个文件中的enable=0

另一种方式,给其他三个文件改名

cd   /etc/yum.repos.d/

mv  CentOS-Base.repo    CentOS-Base.repo,bak

mv CentOS-Debuginfo.repo   \CentOS-Debuginfo.repo.bak

mv  CentOS-Vault.repo \CentOS-Vsult.repo.bak

3)  修改光盘yum源文件

vim  CentOS-Media.repo

[c6-media]

name=CentOS -$releasever-Media

baseurl=file:///mnt/cdrom

#地址为你自己的光盘挂载地址

#  file:///media/cdrom/

#  file:///media/cdrecorder/

#注释这两个不存在的地址

gpgcheck=1

enable=1

#把enable=0改为enable=1,让这个yum源配置文件生效

gpgkey=file:///etc/pki.rpm-gpg.RPM-GPG-KEY-CentOS-6


yum list


6.源码包管理

源码包和RPM包的区别

源码包安装过程

6.1  源码包和RPM包的区别

安装之前:概念上的区别

安装之后的区别:安装位置不同

RPM包安装位置

/etc/    配置文件安装目录

/usr/bin/   可执行的命令安装目录

/usr/lib/   程序所使用的的函数库保存位置

./usr/share/doc/ 基本的软件使用手册保存位置

/usr/share/man/ 帮助文件保存位置

源码包安装位置

安装在指定位置当中,一般是

/usr/local/软件名/

安装位置不同带来的影响

RPM包安装的服务可以使用系统服务管理命令(service)来管理,例如RPM包安装的apache的启动方法是

/etc/rc.d/init.d/httpd      start

service     httpd     start   #redhat 专有命令   不能管理源码包安装的命令

所以源码包只能用绝对路径进行服务的管理,如

/lur/local/apache2/bin/apachectl   start

7.源码包安装过程

1)安装准备

安装C语言编译器

下载源码包

http://mirror.bit.edu.cn/apache/httpd/

2)安装注意事项

源代码保存位置:/usr/local/src/

软件安装位置:/usr/local/

如何确定安装过程中报错:

安装过程停止

并出现error,warning或者no的提示

PS.远程传输工具:WinSCP   连接windows和linux

3)源码包安装过程

下载源码包

解压缩下载的源码包

tar  -zxvf  httpd....

du  -sh  httpd-2.2.9  #看看文件大小

进入解压缩目录   ※注意

cd httpd-2.2.9

./configure        软件配置与检查

定义需要的功能选项

检测系统环境是否符合安装要求

把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑

./configure  --prefix=/usr/local/apache2   #目录名称自定义的

make   编译    →产生文件Makefile

make  clean   清空编译产生的临时文件

make   install     编译安装

/usr/local/apache2/bin/apachectl   start   启动

※80端口被占用问题    原因是因为RPM包安装的apache和源码包安装的都占用80端口

解决:把RPM安装包的apache关掉   service httpd stop

注意:真正的服务器上不能安装两个包

8.源码包的卸载

rm -rf   /usr/local/apache2/



如何选择两种安装方式

对外访问:源码包

自己用:RPM包安装


9.脚本安装包

脚本安装包并不是独立的软件包类型,常见安装的是源吗包 是人为安装过程写成了自动安装的脚本,只要执行脚本,定义简单的参数,就可以完成安装

非常类似于windows下软件的安装方式

webmin的作用

Webmin是一个基于Web的Linux系统管理界面。您就可以通过图形化的方式设置用户账号,Apache,DNS,文件共享等服务。

Webmin的安装过程

下载软件:

http://sourceforge.net/projects/webadmin/files/webmin/

解压缩,并进入解压缩目录    #setup.sh    ./setup.sh 回车   ctrl+退格键

执行安装脚本

进入webmin

输入linux服务器的IP地址:10000   回车

你可能感兴趣的:(Linux学习)