Linux - 软件安装管理(下)

简介: Linux - 软件安装管理(下)

六、Linux中rpm命令管理之RPM包校验

1) RPM 包校验
1-1) rpm -V 已安装的包名
1-1-1) -V (verify) : 校验指定RPM包中的文件
1-1-2) 执行 rpm -V httpd 后, 无任何提示, 代表该文件没有被做任何修改
# 判断本地的apache 与官方给出的是否一致, 从而判断是否被人修改
1-1-3) 修改文件 /etc/httpd/conf/httpd.conf , 在注释行添加任意内容后, 再次执行
1-1-4) 提示 : S.5....T. c /etc/httpd/conf/httpd.conf

1-2) MD5校验
# 用来校验文件的完整性(文件内容是否被改变)
# 例如, 在官网下载的游戏, 官方会给出MD5校验码, 将下载的游戏通过专用的MD5校验工具校验后生成一份MD5校验码, 对比两份校验码等是否一致, 不一致则说明,下载的文件可能丢包, 可能文件损坏, 可能被其他人动过手脚一直木马等

2) RPM 包中文件提取
2-1) rpm2cpio 包全名 | cpio -idv .文件绝对路径
# 由于 cpio 命令自身不知道从何处来提取文件, 所以需要用管道符来告知提取的位置
2-2) cpoi 选项 < [文件|设备]
2-2-1) -i : copy-in 模式, 还原
2-2-2) -d : 还原时自动新建目录
2-2-3) -v : 显示还原过程
2-3) 例
2-3-1) rpm -qf /bin/ls
# 查询ls 命令属于哪个软件包
2-3-2) mv /bin/ls /tmp/
# 造成ls 命令误删除假象
2-3-3) rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./bin/ls
# 切换至家目录后, 提取RPM 包中ls 命令到当前目录的 /bin/ls 下
2-3-4) cp /root/bin/ls /bin/
# 把ls 命令复制到/bin/目录, 修复文件丢失

七、yum源文件

Yum在线安装:yum源文件
1、yum的优点:将所有软件包放到官方服务器上,当进行yum在线安装时,可以自动解决依赖性问题。(rpm缺点:安装过程中,rpm包依赖性太强)
2、redhat的yum在线安装需要付费,centOS不需要。
3、在【/etc/yum.repos.d/】目录中,默认有4个yum源文件,其中【CentOS-Base.repo】是基本yum源文件,如果我们能上网,那它是默认生效的,而其他的都是默认不生效的。
4、[base]:名字可以随便起。
5、name:名字也是随便起。
6、mirrorlist和baseurl一个是主站点,一个是辅助站点,这两个有一个就行。可以找一个163或清华大学的yum源更换。
7、enabled:默认最后一个容器不生效,其他容器都生效。
8、gpgcheck:一般都要开启,开启后安装时会验证rpm包是否是官方的,以保证系统安全。
9、gpgkey:默认系统安装后,在目录【/etc/pki/rpm-gpg】下都会存在数字证书。注:前面的【file://】表示文件协议,后面的【/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6】是数字证书的位置。
[root@CentOS6 ~]# cd /etc/pki/rpm-gpg
[root@CentOS6 rpm-gpg]# ll
总用量 16
-rw-r--r--. 1 root root 1706 11月 27 2013 RPM-GPG-KEY-CentOS-6
-rw-r--r--. 1 root root 1730 11月 27 2013 RPM-GPG-KEY-CentOS-Debug-6
-rw-r--r--. 1 root root 1730 11月 27 2013 RPM-GPG-KEY-CentOS-Security-6
-rw-r--r--. 1 root root 1734 11月 27 2013 RPM-GPG-KEY-CentOS-Testing-6
[root@CentOS6 rpm-gpg]#

八、光盘yum源搭建

光盘yum源搭建:
1、挂载光盘
mkdir /media或mnt/cdrom:建立挂载点;
mount /dev/cdrom /media或mnt/cdrom:挂载光盘;
2、使网络yum源失效:
cd /etc/yum.repos.d/:进入yum源目录;
mv CentOS-Base.repo CentOS-Base.repo.bak:修改Yum源文件后缀名,使其失效;(判断yum源是根据后缀名repo来实现的,修改后缀名则可以使该yum源失效)
3、使光盘yum源生效:
vim CentOS-Media.repo
baseurl=file:///mnt或media/cdrom:地址为光盘挂载地址,如果有多余的光盘挂载点,需要注释掉不存在或不需要使用的光盘挂在地址;
enabled=1:把enabled=0改为enabled=1,使该yum源配置生效;
4、命令:yum list:该命令可验证目前使用的yum源有哪些可用的rpm包。

九、yum 命令

1.查询
>yun list --查询所有可用软件包列表
>yum search 关键字 --搜索服务器上所有和关键字相关的包
2.安装
>yum -y install 包名 (-y 自动回答yes)
yum安装只写包名即可! eg:yum -y install gcc --c语言编译器
3.升级是要付出代价的,有可能造成损失。除非出现了关键的安全问题漏洞,一般不建议升级,可不做就不做。
升级命令:yum -y update 包名. (注意不要直接写yum -y update 这表示把linux中的所有软件都升级,包括内核,这样会造成比较多的麻烦)
4.服务器原则:使用最小化安装,用什么安装什么,尽量不要去卸载。卸载命令:yum -y remove 包名。
5.yum软件组管理命令
yum grouplist:列出所有可用的软件列表;
yum groupinstall 软件组名:安装指定软件组,组名可以由grouplist查询出来;
yum gourpremove 软件组名:卸载指定软件组。
6.修改环境变量来使系统显示中文LANG=zh_CN.utf8,显示英文:LANG=en_US,临时生效的。要想要永久生效,修改配置文件i18n.详细参考shell变量讲解一节。
Ps:二进制安装首推yum安装,Yum和rpm相比唯一的缺点就是没有对已安装的软件进行查询还是需要rpm -q系列命令进行查询。

十、Linux中源码包与RPM包区别

安装位置不同带来的影响
1、源码包是不能使用【service】命令来启动服务,因为源码包的安装位置由用户指定,放在哪并不统一。而rpm包安装后,通常都是放在【/etc/rc.d/init.d】目录中的,而【service】命令执行时,会自动搜索该目录,所以rpm包安装的服务可以使用【service】命令。
2、综上所述,安装位置不同,启动方法是有区别的。
3、使用绝对路径启动程序的方法是通用的,通常软件包中会写上启动程序的方法的。
4、如果将源码包安装后的启动程序复制到【/etc/rc.d/init.d】目录中,则也是可以使用【service】命令执行的。
5、安装在指定位置当中,一般是: /usr/local/软件名/,源码包安装的服务,只能用绝对路径进行服务的管理。

十一、Linux中源码包安装过程

源码包安装:
安装准备
1、由于源码都是c语言写的,所以要先安装c语言编译器:gcc
2、从官方网站下载源码包,若是下载到了windows上面,可以使用winSCP传到linux上。
注:若已安装了二进制包,则源码包也是可以继续安装的,因为两者安装目录不一样。但是,并不建议这样做,因为端口会冲突。
3、源码包安装过程(源码包的安装过程和安装顺序是固定的)
下面以安装apache2为例,解压缩后的目录为【httpd-2.2.31】:
3.1、安装时必须进入到解压缩后的目录【httpd-2.2.31】中;
3.2、执行【./configure】命令,该命令用于软件配置与检查(基本上每个源码包都会有该命令,即使个别的没有该命令,也会提供相关替代命令),它有以下几点功能:
3.a、定义需要的功能选项;
3.b、检测系统环境是否符合安装要求;
3.c、把a中定义好的功能选项和b中检测系统环境的信息都写入Makefile文件,用于后续的编辑。(后续的【make】和【make install】命令都会依赖该文件)
执行命令【./configure --prefix=/usr/local/apache2】,该命令用于指定安装位置为:【/usr/local/apache2】(其中的【apache2】目录不需要提前创建,【make install】命令执行时会自动创建)。
命令执行后,会在当前目录生成Makefile文件。
3.3、执行【make】命令,编译源码(这一步通常比较耗时);
3.4、执行【make install】命令,安装程序,此时会创建【/usr/local/apache2】目录。
注:
如果命令执行过程中发生终止,并且出现error、warn或no提示,则表明出错,否则,一切正常。
若执行【./configure】或【make】命令时出现错误,是不需要删除【/usr/local/apache2】目录的,因为程序还没有真正安装。只需要执行【make clean】命令即可,该命令用于清除缓存、临时文件等,使安装环境恢复到未安装状态。
若执行【make install】命令时报错,则需要删除【/usr/local/apache2】目录,并且执行【make clean】命令才行。

Ps:如果是给用户访问的话,用源码包,效率更高;如果只是自己用的话,选择安全包更好。

十二、Linux中脚本安装包

脚本安装包:准备工作
1、本节以安装LNMP1.0(http://lnmp.org/download.html)为例,所以需要先停止之前安装的apache和mysql服务(最好也将源码包安装的apache【/usr/local/apache2】删除)
2、保证yum源正常:可以使用【yum list】命令测试。(若是光盘yum源,记得挂载光盘)
3、关闭SELinux和防火墙:
a、永久关闭SELinux的方法:编辑文件【/etc/selinux/config】,将【SELINUX=enforcing】改为【SELINUX=disabled】,然后重启系统即可。
b、永久关闭防火墙的方法:【chkconfig iptables off】,开启为:【chkconfig iptables on】;临时关闭防火墙的方法:【service iptables stop】,开启为:【service iptables start】。
4、脚本安装过程中,会将系统中已有的apache、mysql、php等卸载掉。启动安装脚本【centOS.sh】。
注:安装后,如果安装卡在了【php-fpm】那里,通常表示已安装成功,只是【php-fpm】那里卡住了(物理机少见,但虚拟机比较常见),解决的方法就是:使用命令【pkill -9 php-fpm】杀掉【php-fpm】进程,然后重新启动该进程【/etc/rc.d/init.d/php-fpm start】即可。

            </div>
目录
相关文章
|
1月前
|
监控 Linux Shell
【Shell 命令集合 网络通讯 】Linux 配置和管理网络流量的形状 shapecfg命令 使用指南
【Shell 命令集合 网络通讯 】Linux 配置和管理网络流量的形状 shapecfg命令 使用指南
39 0
|
1月前
|
存储 Shell Linux
【Shell 命令集合 磁盘维护 】Linux 管理硬盘分区 mpartition命令使用教程
【Shell 命令集合 磁盘维护 】Linux 管理硬盘分区 mpartition命令使用教程
36 1
|
1月前
|
存储 监控 Shell
【Shell 命令集合 磁盘管理 】Linux 管理磁盘配额 quota命令使用教程
【Shell 命令集合 磁盘管理 】Linux 管理磁盘配额 quota命令使用教程
40 0
|
30天前
|
存储 算法 Linux
【Linux 应用开发 共享内存】深入理解和实践 ftruncate:共享内存的有效管理
【Linux 应用开发 共享内存】深入理解和实践 ftruncate:共享内存的有效管理
62 5
|
1月前
|
域名解析 网络协议 Linux
【Shell 命令集合 网络通讯 】Linux 设置和管理网络接口配置信息 netconfig命令 使用指南
【Shell 命令集合 网络通讯 】Linux 设置和管理网络接口配置信息 netconfig命令 使用指南
56 1
|
1月前
|
监控 Linux Shell
【Shell 命令集合 网络通讯 】Linux管理终端设备的登录过程 getty命令 使用指南
【Shell 命令集合 网络通讯 】Linux管理终端设备的登录过程 getty命令 使用指南
34 0
|
1月前
|
搜索推荐 Shell Linux
【Shell 命令集合 系统管理 】Linux 管理用户配置文件 userconf命令 使用指南
【Shell 命令集合 系统管理 】Linux 管理用户配置文件 userconf命令 使用指南
38 2
|
1月前
|
存储 监控 Shell
【Shell 命令集合 磁盘管理 】Linux 设置和管理用户或组的磁盘配额限制 edquota命令使用教程
【Shell 命令集合 磁盘管理 】Linux 设置和管理用户或组的磁盘配额限制 edquota命令使用教程
44 0
|
17天前
|
网络协议 Linux
在Linux中,管理和配置网络接口
在Linux中管理网络接口涉及多个命令,如`ifconfig`(在新版本中被`ip`取代)、`ip`(用于网络设备配置)、`nmcli`(NetworkManager的CLI工具)、`nmtui`(文本界面配置)、`route/ip route`(处理路由表)、`netstat/ss`(显示网络状态)和`hostnamectl/systemctl`(主机名和服务管理)。这些命令帮助用户启动接口、设置IP地址、查看连接和路由信息。不同发行版可能有差异,建议参考相应文档。
19 4
|
11天前
|
消息中间件 监控 Linux
Linux进程和计划任务管理
通过这些命令和工具,你可以有效地管理Linux系统中的进程和计划任务,监控系统的运行状态并保持系统的稳定和可靠性。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
103 2