Linux软件安装

目录

1 软件包管理简介

1.1 源码包

1.2 RPM包

2 RPM包管理 - rpm命令管理

2.1 RPM包命名原则

2.2 RPM包依赖性

2.3 RPM包安装、升级与卸载

2.3.1 RPM安装

2.3.2 RPM包升级

2.3.3 PRM卸载

2.4 RPM包查询

2.5 RPM包校验和文件提取

2.5.1 RPM包校验

2.5.2 RPM包中文件提取

3 RPM包管理-yum在线管理

3.1 IP地址配置和网络yum源

3.1.1 IP地址配置

3.1.2 网络yum源

3.2 yum命令

3.2.1 查询

3.2.2 安装

3.2.3 升级

3.2.4 卸载

3.3 yum软件组管理命令

3.4 光盘yum源搭建

4 源码包管理

4.1 源码包和RPM包的区别

4.2 源码包安装过程

4.2.1 安装准备

4.2.2 安装注意事项

4.2.3 源码包安装过程

4.3 源码包的卸载

5 脚本安装包

5.1 脚本安装包介绍

5.2 Webmin

5.2.1 Webmin的作用

5.2.2 Webmin安装过程

6 防火墙配置


博文中涉及到的软件包(httpd-2.2.9和webmin-1.610)可以在此网址中下载 

httpd-2.2.9webmin-1.610.zip-Linux文档类资源-优快云下载博主所写博文-Linux软件安装(https://blog.youkuaiyun.com/apollo_mira更多下载资源、学习资料请访问优快云下载频道.https://download.youkuaiyun.com/download/apollo_miracle/85493595 


1 软件包管理简介

软件包分类

  • 源码包

            脚本安装包

  • 二进制包(RPM包、系统默认包)

1.1 源码包

源码包的优点是:

  • 开源,如果有足够的能力,可以修改源代码

  • 可以自由选择所需的功能

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

  • 卸载方便

源码包的缺点

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

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

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

1.2 RPM包

二进制包的优点

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

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

二进制包缺点

  • 经过编译,不可以看到源代码

  • 功能选择不如源码包灵活

  • 依赖性高(安装一个软件,可能需要安装多个依赖包)

2 RPM包管理 - rpm命令管理

rpm是由红帽公司开发的软件包管理方式,使用rpm可以方便的进行软件的安装、查询、卸载、升级等工作。但是rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时。

2.1 RPM包命名原则

  • 连接CD设备

  •  挂载sr0到新建目录/mnt/cdrom下

  • 查看RPM软件包

  • 以 Apache HTTP服务器程序 为例:

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

httpd 软件包名

2.2.15 软件版本

15 软件发布的次数

el6.centos 适合的Linux平台

i686 适合的硬件平台

rpm rpm包扩展名

2.2 RPM包依赖性

  • 树形依赖: a→b→c

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

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

2.3 RPM包安装、升级与卸载

包全名与包名

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

  • 包名:操作已经安装的软件包时,使用包名。

2.3.1 RPM安装

命令:rpm –ivh 包全名

选项:

-i(install) 安装

-v(verbose) 显示详细信息

-h(hash) 显示进度

--nodeps 不检测依赖性

2.3.2 RPM包升级

命令:rpm -Uvh 包全名

选项:

-U(upgrade) 升级

2.3.3 PRM卸载

命令:rpm -e 包名

选项:

-e(erase) 卸载

--nodeps 不检查依赖性

小贴士:

由于有其他软件包依赖Apache软件包,所以卸载失败,需要把依赖Apache包的所有软件包卸载之后才能卸载Apache包;同理,安装Apache包,也需要包其依赖包进行安装,否则安装失败。 

2.4 RPM包查询

查询是否安装:rpm -q 包名

选项:

-q 查询(query)

小贴士:

如果已安装会显示该包的包全名,否则不显示 

查询所有已经安装的RPM包:rpm –qa

选项:

-a 所有(all)

查询软件包详细信息:rpm –qi 包名

选项:

-i 查询软件信息(information)

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

查询包中文件安装位置:rpm –ql 包名

选项:

-l 列表(list)

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

查询系统文件属于哪个RPM包:rpm –qf 系统文件名

选项:

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

查询软件包的依赖性:rpm –qR 包名

选项:

-R 查询软件包的依赖性(requires)

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

  

2.5 RPM包校验和文件提取

2.5.1 RPM包校验

命令:rpm –V 已安装的包名

选项:

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

  • 查看Apache包文件安装路径 

  •  对README文件进行修改,vim /etc/httpd/conf.d/README

  • 对Apache包进行校验

  

验证内容中的8个信息的具体内容如下:

  • S 文件大小是否改变

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

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

  • D 设备的中,从代码是否改变

  • L 文件路径是否改变

  • U 文件的属主(所有者)是否改变

  • G 文件的属组是否改变

  • T 文件的修改时间是否改变

文件类型

  • c 配置文件(config file)

  • d 普通文档(documentation)

  • g “鬼”文件(ghost file),很少见,就是该文件不应该被这个RPM包包含

  • l 授权文件(license file)

  • r 描述文件(read me)

2.5.2 RPM包中文件提取

命令:rpm2cpio 包全名 | cpio -idv . 文件绝对路径

选项:

-i:copy-in模式,还原

-d:还原时自动新建目录

-v:显示还原过程

常用命令

# 造成ls命令误删除假象

mv /bin/ls /tmp/

# 查询ls命令属于哪个软件包

rpm -qf /bin/ls

# 查询ls在软件包的路径

rpm -ql coreutils | grep /bin/ls

# 提取RPM包中ls命令到当前目录的/usr/bin/ls下

rpm2cpio /mnt/cdrom/Packages/coreutils-8.22-23.el7.x86_64.rpm | cpio -idv ./usr/bin/ls

# 把ls命令复制会/bin/目录,修复文件丢失

mv ./usr/bin/ls /bin/

小贴士:

rpm2cpio    # 将rpm包转换为cpio格式的命令

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

3 RPM包管理-yum在线管理

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

3.1 IP地址配置和网络yum源

3.1.1 IP地址配置

小贴士:

IP地址配置目录:/etc/sysconfig/network-scripts

网络配置文件的名命规则:ifcfg-xxxx

  • 查看网络配置文件名称(ens33):ifconfig

  •  编辑网络配置文件:vim /etc/sysconfig/network-scripts/ifcfg-ens33

小贴士:

  • DEVICE=xxx  # 设备名称
  • NAME=   # 接口名称
  • BOOTPROTO=dhcp|static|none  # 设备工作方式(动态、静态)
  • ONBOOT=yes|no   # 网络服务开启时自动激活网卡
  • IPADDR=   # IP地址
  • PREFIX=24  # 子网掩码
  • NETMASK=255.255.255.0  # 子网掩码(同上)
  • GATEWAY=    # 网关
  • DNS=8.8.4.4    # DNS地址

注意:网关、DNS地址,如果没有配置,无法连接外网

  • 重启网络服务:service network restart

  •  测试连接外网:ping www.baidu.com

3.1.2 网络yum源

小贴士:

网络yum源配置目录:/etc/sysconfig/network-scripts

yum源配置文件默认为:CentOS-Base.repo

查看配置文件内容:cat /etc/yum.repos.d/CentOS-Base.repo

说明:

  • [base] 容器名称,一定要放在[]中

  • name 容器说明,可以自己随便写

  • mirrorlist 镜像站点,这个可以注释掉

  • baseurl 我们的yum源服务器的地址。默认是CentOS官方的yum源服务 器,是可以使用的,如果你觉得慢可以改成你喜欢的yum源地址

  • enabled 此容器是否生效,如果不写或写成enable=1都是生效,写成 enable=0就是不生效

  • gpgcheck 如果是1是指RPM的数字证书生效,如果是0则不生效

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

3.2 yum命令

3.2.1 查询

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

搜索服务器上所有和关键字相关的包:yum search 关键字

3.2.2 安装

安装RPM包:yum –y install 包名

选项:

  • install 安装
  • -y 自动回答yes

  

小贴士:源码安装软件包编译需要gcc包(博主已安装)

3.2.3 升级

升级软件包:yum -y update 包名

选项:

  • update 升级
  • -y 自动回答yes

 注意:一定要写包名,如果不写,默认将所有的包进行升级,包括Linux内核,会导致服务器挂掉,需要重新配置服务器。

3.2.4 卸载

卸载软件包:yum -y remove 包名

选项:

  • remove 卸载
  • -y 自动回答yes

注意:卸载软件包,同时会将其所依赖的软件包一并进行卸载,可能导致其他软件包无法正常使用,造成服务器宕机(尽量不要卸载)

3.3 yum软件组管理命令

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

 安装指定软件组:yum groupinstall 软件组名

注意:

软件组名必须使用英文,如果软件组名有空格,需要使用引号将软件组名引起来

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

3.4 光盘yum源搭建

光盘yum源搭建步骤

  • 挂载光盘
mount /dev/sr0 /mnt/cdrom/

  • 进入yum配置目录
cd /etc/yum.repos.d/
  • 让网络yum源文件失效 (可以在其他yum源文件名后边添加后缀.bak,也可以将所有yum源打包备份,删除其他yum源)

  •  修改光盘yum源文件
vim CentOS-Media.repo

小贴士: 

  • baseurl=file:///mnt/cdrom    # 地址为你自己的光盘挂载地址
  • enabled=1    #把enabled=0改为enabled=1,让这个yum源配置文件生效
  • 其他内容不需要修改
  • 清除yum源缓存
yum clean all
  • 创建yum源缓存
yum makecache
  • 测试使用本地yum源安装软件包
yum -y install 软件包名

4 源码包管理

4.1 源码包和RPM包的区别

区别

  • 安装之前的区别:概念上的区别

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

  • 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

  • 而源码包安装的服务则不能被服务管理命令管理,因为没有安装到默认路径中。所以只能用绝对路径进行服务的管理,如:

    • /usr/local/apache2/bin/apachectl start

4.2 源码包安装过程

4.2.1 安装准备

  • 安装C语言编译器

4.2.2 安装注意事项

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

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

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

  1. 安装过程停止

  2. 并出现error、warning或no的提示

4.2.3 源码包安装过程

  • 将下载的源码包,导入服务器中

  • 解压缩下载的源码包

  • 进入解压缩目录

小贴士:

        INSTALL:安装说明

        README:使用说明

  •  查看安装说明 

  • ./configure 软件配置与检查

    • 定义需要的功 能选项。

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

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

 小贴士:注意安装的版本号,其他版本可能报错,缺少APR,需要进行安装

  • make 编译

小贴士:在编译过程中,如果报错,执行 make clean 命令,即可将所有编译生成的文件进行清除,此时还没有在 /usr/local/apache2/ 目录下进行软件安装

  • make install 编译安装

没有报错说明安装完成

  • 启动apache服务,有一个报错,可以不用管

  •  在浏览器中输入服务器IP地址

 小贴士:如果无法正常访问,需要关闭服务器的防火墙,命令:service firewalld stop

4.3 源码包的卸载

  • 不需要卸载命令,直接删除安装目录即可。不会遗留任何垃圾文件。

5 脚本安装包

5.1 脚本安装包介绍

  • 脚本安装包并不是独立的软件包类型,常见安装的是源码包。

  • 是人为把安装过程写成了自动安装的脚本,只要执行脚本,定义简单的参数,就可以完成安装。

  • 非常类似于Windows下软件的安装方式。

5.2 Webmin

5.2.1 Webmin的作用

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

5.2.2 Webmin安装过程

  • 下载软件,http://sourceforge.net/projects/webadmin/files/webmin/

  •  导入服务器中

  • 解压缩,并进入加压缩目录

  • 执行安装脚本

 安装完成

在浏览器中输入服务器IP和端口号(10000)进行登录

修改webmin服务语言

6 防火墙配置

查看状态

service firewalld status

临时启动防火墙

service firewalld stop

临时禁用防火墙

service firewalld stop

永久启动防火墙

systemctl enable firewalld

永久关闭防火墙

systemctl disable firewalld
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值