源码包将源码开放给用户,这也符合linux
最大的特点就是开源。源码包安装时间久,主要是编译的时间久。
优点:
①开源
②可以自由选择所需的功能
③软件是编译安装,适合自己的系统,更稳定效率更高
④卸载方便,直接删除就行了。
缺点:
①安装过程步骤较多,容易出现拼写错误。
②编译过程时间较长
③编译安装过程中报错,新手难以解决。
源码包包括脚本安装包,即由专业人员将源码包的安装过程写成脚本的形式,简化安装步骤。
源码包经过编译之后,形成二进制包。二进制包可从各个软件包的官网上下载。
优点:
①rpm包管理系统简单,几个命令实现安装、升级、查询、卸载
②安装速度比源码包安装快得多
缺点:
①经过编译,不可以看到软件包的源代码
②功能固定
③二进制包之间具有依赖性(cba[安装顺序]、abc[卸载顺序])
httpd-2.2.15-15.e16.centos.1.i686.rpm
httpd
软件包名
2.2.15
软件包版本
15
发布次数
e16.centos
适用的linux平台
i686
适用的硬件平台
rpm
rpm扩展名
自己编译生成rpm包建议以.rpm结尾
包名:httpd
包全名:httpd-2.2.15-15.e16.centos.1.i686.rpm
①树形依赖:abc
②环形依赖:abca
③模块依赖:即安装的rpm包依赖于某一个模块。而树形依赖和环形依赖都是依赖于某一个rpm包。
可以在以下网站找到包含该模块的rpm包,然后安装即可。
www.rpmfind.net
包全名:操作的包是没有安装的软件包,使用包全名,并且要注意路径。(在安装和升级时使用)
包名:操作已经安装的软件包,使用包名,搜素的是/var/lib/rpm
下的文件。(在查询和卸载时使用)
常用语法:rpm -ivh 包全名
可使用包全名的绝对路径也可以进入到相应目录直接使用包全名
在安装的使用要把依赖包先装上!!!(特别烦)
参数 | 作用 |
---|---|
-i | 安装 |
-v | 显示详细信息 |
-h | 显示安装进度 |
–nodeps | 不检测依赖性(一般在生产环境中不用这个参数) |
-U 升级upgrade
rpm -Uvh 包全名
在任何目录下都能执行卸载语句。
-e 卸载erase
rpm -e 包名
注意:安装的时候顺序(abc),卸载的时候倒序(cba)
参数 | 作用 |
---|---|
-q | 查询(query) |
-a | 所有的(all) |
-i | 软件包信息(information) |
-p | 未安装的软件包(package) |
-l | 包中文件列表(list) |
-f | 查询系统文件属于哪个包(file)[反向追查] |
-R | 查询软件包的依赖性 |
# 最简单的形式,必须要有-q参数
# 安装卸载升级,加包全名查询
#其他加包名查询
rpm -q httpd
# 查询所有包的信息
rpm -qa
# 查询包含httpd软件包的信息
rpm -qa | grep httpd
# 查询软件包的详细信息
rpm -qi
# 查询所有未安装包的信息
rpm -qap
# 查询httpd软件包包含哪些文件
rpm -ql httpd
# 查询未安装软件包的依赖性
rpm -qpR samba
作用:用来校验rpm包里的文件是否有被修改。
运行以下语句,若无提示信息,则没有被修改。
rpm -V 包名
校验内容里的信息解读:
– 第一部分–文件的修改情况–
SM5DLUGT
S:文件大小是否改变
M:文件类型和文件大小是否改变
5:文件MD5校验是否改变,或者说文件内容是否改变
D:设备的代码是否改变
L:文件路径是否改变
U:文件的所有者是否改变
G:文件的所属组是否改变
T:文件的修改时间是否改变
– 第二部分–文件类型–
c:配置文件(config file)
d:普通文件(documentation)
g:毒文件(ghost file)
l:授权文件(license file)
r:描述文件(read me)
作用:当误操作删除了某个重要的配置文件或者某个命令,如/bin/ls
,可以使用RPM包查询找出该文件属于哪个RPM包,再从该RPM包中进行文件提取,最后覆盖即可。
#查询被删除文件属于哪个rpm包
rpm -qf 文件的绝对路径
#提取rpm包里的对应文件到当前目录下
rpm2cpio 包全名 | cpio -idv .文件绝对路径
#复制文件到指定路径
cp ./bin/ls /bin/ls
rpm2cpio
:将rpm格式转化为cpio格式
cpio
:标准工具,用于创建软件归档文件和从归档文件中提取指定文件
-i
:copy-in模式,还原
-d
:还原时自动新建目录
-v
:显示还原过程
为了解决RPM包安装的依赖性。
缺点:对于redhat而言,yum的使用是要收费的。对于Centos,yum的使用是免费的。
前提:能访问公网
配置网络:redhat可使用setup配置网络参数。修改网络配置文件ONBOOT
为yes
。重启网络服务。
选项 | 作用 |
---|---|
[name] | 容器名称 |
name | 容器作用 |
mirrorlist | 镜像站点 |
baseurl | yum源服务器的地址 |
enabled | 容器是否生效,1或不写都是生效,0为生效。 |
gpgcheck | RPM数字证书是否生效,1生效,0不生效。 |
gpgkey | 数字证书的公钥地址保存位置 |
# 查询所有可用的软件包列表
yum list
# 查询服务器上所有与关键字相关的包
yum search 包名
# 安装
yum install -y 包名
# 升级
# 若使用yum update -y是升级所有软件包,包括linux内核的升级,远程操作时会导致服务器的崩溃无法开机,慎用。
yum update -y 包名
# 卸载
# 卸载某个rpm包,其所依赖的rpm包也会被卸载,而可能出现其他rpm包也是依赖这些rpm包的,导致其他功能无法使用或服务器直接崩溃。
yum remove -y 包名
# 注意:安装服务器,用什么装什么,尽量不要用yum卸载。
# 查询所有可用的软件组列表
yum grouplist
# 安装软件组
yum groupinstall "软件组名"
# 卸载软件组
yum groupremove "软件组名"
/etc/yum.repos.d/
目录下有多个yum
源,要让其他的网络yum
源失效。
enabled=0
,使网络yum
源失效,较麻烦。mv
命令修改网络yum
源的文件名yum
源文件(repo文件
)
baseurl=file://挂载点绝对地址
enabled=1
①RPM包安装位置:
/etc/
配置文件安装目录/usr/bin/
可执行文件安装目录/usr/lib/
程序所使用的函数库保存位置/usr/share/doc/
基本的软件使用手册保存位置/usr/share/man/
帮助文件保存位置除了以上文件外,有些RPM包还有其他的安装路径。可使用命令rpm -ql 包名
查询。
②源码包安装位置: 安装在指定位置,默认是:/usr/local/软件名/
①RPM包安装的服务可以使用系统服务管理命令(service
或者systemctl
)
# 三种方式启动rpm包安装的服务
# 传统的启动服务方式
/etc/rc.d/init.d/httpd start
service httpd start
systemctl start httpd
②源码包安装的服务不可以使用系统服务管理命令。只能从绝对路径中启动。
源码包服务启动文件的绝对路径 start
# 安装C语言编辑器
[root@master ~]# yum install -y gcc
# 下载源码包
# httpd官网源码下载地址:http://archive.apache.org/dist/httpd/
# 最新版本httpd源码包:http://archive.apache.org/dist/httpd/httpd-2.2.9.tar.gz
# 官网源比较慢,建议下载到本地再上传到linux服务器
# 可以使用Winscp工具上传到linux服务器
# 源码包保存位置 /usr/local/src
# 软件安装位置 /usr/local
# 如何确认安装过程报错,出现以下情况才算报错:安装过程停止并且出现error、warning、no等提示。(报错了很难解决)
# 解压源码包
[root@master ~]# tar xzvf httpd-2.2.9.tar.gz
# 进入源码包文件夹
[root@master ~]# cd httpd-2.2.9/
# 根据以下文件,可以查看一个陌生的源码包的基本信息和安装信息。
# README 说明文件
# INSTALL 安装文件
# 编译前准备
# ./configure --prefix=安装路径
#定义需要的功能选项
#检测系统环境是否符合安装要求
#把定义好的功能选项和检测系统环境信息都写入Makefie文件中,用作后续的编辑。
[root@master httpd-2.2.9]# ./configure --prefix=/usr/local/httpd
# 编译
# 如果在编译前准备和编译过程中报错,可以使用make clear清空编译过程中产生的临时文件。
[root@master httpd-2.2.9]# make
# 编译安装
[root@master httpd-2.2.9]# make install
# 启动httpd服务
[root@master httpd-2.2.9]# /usr/local/httpd/bin/apachectl start
# 打开firefox,输入192.168.8.112,可以看到出现It works!
# 通过上述步骤,httpd已经安装完毕。
# 卸载httpd只需要删除安装目录即可。即rm -rf /usr/local/httpd/
# 如果安装的服务对外开放,访问量大,建议使用源码包安装。
脚本安装包是大神弄好的一个自动化安装的脚本,运行就可以极为简便的安装软件。但比较少。
Webmin
是一个基于Web的linux系统管理界面,可以通过图形化的方式设置用户账号、Apache、DNS、文件共享等服务。
# 下载
[root@master ~]# wget https://prdownloads.sourceforge.net/webadmin/webmin-1.941.tar.gz
# 解压
[root@master ~]# tar xzvf webmin-1.941.tar.gz
# 运行脚本
[root@master ~]# cd webmin-1.941/
[root@master webmin-1.941]# ./setup.sh
# 安装位置
# Config file directory [/etc/webmin]:Enter
# 日志文件位置
# Log file directory [/var/webmin]:Enter
# perl安装位置
# Full path to perl (default /usr/bin/perl):Enter
# Webmin占用端口号
# Web server port (default 10000):Enter
# 登录用户名及密码
# Login name (default admin):Enter
# Login password:
# Password again:
# 登录网址
http://master:10000/
# 或者
http://192.168.8.112:10000/
# 如果发现打不开,请检查网络及防火墙。