linux软件安装管理

来源:互联网 发布:kuka机器人编程语言 编辑:程序博客网 时间:2024/06/01 17:25

软件安装管理

一、前言

编译:是将字符编码 遵循 ASCII 转变为机器语言的过程

反编译:编译, 在理论上是不可逆转, 在编译过程中遵循一定规则, 而在反编译时难免造成代码损失, 而无法完全破解

windows :程序都是经过编译的, 看不到源代码, linux 中源码包是可以看到源代码, 安装时现编译安装


二、软件包分类

1.源码包
源码包优点:
1.开源, 如果有足够的能力, 可以修改源代码
2.可以自由选择所需的功能
3.软件是编译安装, 所以更加适合自己的系统, 更加稳定也效率更高
4.卸载方便

源码包缺点
1.安装过程步骤较多, 尤其安装较大的软件集合时( 如LAMP环境搭建Linux Apache MySql Php ), 容易出现拼写错误
2.编译过程时间较长, 安装比二进制安装时间长
3.因为是编译安装, 安装过程中一旦报错新手很难解决
4.二级制包( RPM包, 系统默认包 )


2.二进制包(RPM包、系统默认包)
二进制包的优点
1.包管理系统简单,只通过几个命令就可以实现包的安装,升级,查询和卸载
2.安转速度快

缺点
1.经过编译,不再可以看到源代码
2.功能选择不如源代码包灵活
3.依赖性 

3.脚本安装包
就是把服务的软件包安装过程写成了程序脚本,初学者可以执行程序脚本实现一键安装,但实际安装的还是源码包和二进制包。例如LAMP一键安装包。

优点:安装简单、快捷
缺点:完全丧失自定义性

三、RPM命令管理

1.RPM包命名规则 :httpd-2.2.15-15.el6.centsos.1.i686.rpm


2.参数说明:  httpd:软件包名     -2.2.15:软件版本    -15:发布的次数     -el6.centos:适合的Linux平台    -i686:适应的硬件平台   -rpm:包扩展名,   el6:是redhat的企业版


3.RPM包依赖性

树形依赖:a-->b-->c  环形依赖:a-->b-->c-->a


4.模块依赖:

当依赖的的文件名是以 .so.2结尾的时候,代表这是一个文件,而不是一个软件包,此时是模块依赖,需要依赖一个库文件。 这个时候就要上www.rpmfind.net网上去查找这一库文件是在那一个软件包下,然后再把这个软件包安装上.


6.rpm安装命令     
包全名:系统中新安装的,使用包全名,注意要带路径(唯一的目的是要让系统找到文件本身)-用于安装,升级
包名:用到系统中已经安装过的软件包时,使用包名 -用于卸载,查询,实际是是搜索/var/lib/rpm 中的数据库
1.安装命令:rpm -ivh 包全名     选项:-i  install -v  verbose 显示详细信息-h  hash 显示进度--nodeps 不检测依赖性(不要用,装了也是白装)
2.升级命令:rpm -Uvh 包全名 实际上,如果软件包没有安装过,升级命令也可以当成安装命令来使用。
3.卸载: rpm -e  包名-e erase 卸载--nodeps 不检查依赖性 卸载依然有依赖性
4.查询:
rpm -q 包名 :查询包是否安装
rpm -qa :查询所有安装的包
rpm -qi 包名 :查询软件包的信息(可以查询未安装包 -p)
rpm -ql 包名 :查询包中文件的安装位置(可以查询未安装包 -p)
rpm -qf 系统文件名 :查询系统文件属于哪一个包
rpm -qR 包名 :查询软件包的依赖性(可以查询未安装包 -p)

7.RPM校验
rpm -V 验证内容中的8个信息的具体内容如下:S文件大小是否改变;M文件的类型或文件的权限(rwx)是否被改变;5文件MD5校验和是否改变(可以看成文件内容是否改变);D设备的主从代码是否改变;L文件路径是否改变;U文件的属主(所有者)是否改变;G文件的属组是否改变;T文件的修改时间是否改变

8.yum在线安装

1.优点:将所有软件包放到官网上,当进行yum在线安装时,可以自动解决依赖性问题。


2.YUM源文件
位置: /etc/yum.repos.d/CentOS-Base.repo(这个是基本的)
[base] : 容器名称, 一定要放在[]中,相当于用途名称
name : 容器说明, 可以自己随便写
mirrorlist : 镜像站点, 这个可以注释掉,和bassurl二选一
baseurl : yum源服务器的地址. 默认是CentOS官方的yum原服务器, 是可以使用的, 如果你觉得慢可以改成你喜欢的yum源地址
enabled : 此容器是否生效, 如果不写或写成enable=1都是生效, 写成 enable=0就是不生效
gpgcheck : 如果是1, 是指 RPM的数字证书生效, 如果是0, 则是不生效
gpgkey : 数字证书的公钥文件保存位置. 不用修改

3.yum本地安装
创建光盘yum源:
1 挂载光盘到本机,如/mnt/cdrom
2 修改yum源文件:
1 重命名的网络源文件名使其失效; 
2 修改光盘源文件的配置使其生效:修改baseurl=file:///mnt/cdrom,注释其它源的目录,将源enabled属性值改为1.


4.yum命令
常用yum命令:
1.查询
>yun list --查询所有可用软件包列表>yum search 关键字 --搜索服务器上所有和关键字相关的包
2.安装
>yum -y install 包名 (-y 自动回答yes)yum安装只写包名即可!
3.gcc是C语言的编译器,gdk是java的编译器,bash是linux命令行的编译器。
4.gcc必须用2进制包安装,因为源码安装gcc包会依赖gcc包。
5.yum -y update 包名 注意,升级操作要谨慎,可不升级就不升级,首要注意稳定和安全。如果不加包名,就是可升级的全升级
6.卸载:yum -y remove 包名,卸载原则:服务器最小化安装,用什么装什么,能不卸载就不卸载。
7.yum软件组管理命令
yum grouplist(xshell中显示成中文,可以用LANG=us_EN(暂时生效)设置成英文,可以配置/etc/sysconfig/i18n文件永久生效)LANG=zh_CN.utf8
yum groupinstall 软件组名
yum groupremove 软件组名


四、源码包管理


1、源码包安装位置

安装在指定位置当中,一般是:/usr/local/软件名/ ;源码包安装的服务,只能用绝对路径进行服务的管理


2、 源码包安装过程
1)安装准备:
安装C语言编译器
下载源码包:http://mirror.bit.edu.cn/apache/httpd/
2)安装注意事项
源代码保存位置:/usr/local/src/
软件安装位置:/usr/local/
如何确定安装过程报错:
安装过程停止并出现error、warning或no的提示
3)安装步骤:
下载源码包:
解压缩:tar -zxvf httpd-2.2.34.tar.gz
进入解压缩目录  ./configure  
./configure软件配置与检查
定义需要的功能选项;检测系统环境是否符合安装要求把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑。

3.安装: 

./configure  --prefix=/usr/local/apache2 ;make编译;make clean;make install 编译安装;

启动 :找到说明文档
卸载:直接删除安装目录

五、脚本安装包管理(rpm包或者源码包,其目的是安装方便)


1.原理:将rpm包或者源码包的安装过程,写到一个sh脚本里然后执行这个sheel脚本。


原创粉丝点击