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 回车