菜鸟笔记
提升您的技术认知

菜鸟教程

rapidjson 构造数组将函数实现放在头文件中RapidJSON解析和生成Json绝对路径和相对路径gcc 优化选项 -O1 -O2 -O3 -Os 优先级Python求一个整数位数的方法python中判断数字位数的几种方法python计算分位数查看hive的版本如何查看hadoop的版本elasticsearch查看所有indexsublime 列模式 列编辑shell遍历目录下所有文件http-parser解析http报文详解supervisor守护工具配置lnmp为已有站点手动更新ssl证书记录java 最长回文、最长回文子串ssh免密码登录为Linux内核开启BBR加速frp服务开机自启x86架构下,页面大小为什么是4K?如何限制对象只能建立在堆上或者栈上进程间通信的方式SyntaxError: Non-ASCII character '\xe5'TCP 连接半关闭问题ucontext 协程库代码分析python中yield的用法详解为PHP7.0安装redis扩展ucontext 简单协程库ImportError: No module named cv2的完美解决方法HashMap扩容全过程关于HashMap常见面试考点(底层原理+扩容机制)DOS批处理中的字符串处理详解(字符串截取)Linux下如何查找.sh后缀的文件core文件出现“is not a core dump: File format not recognized”的原因和解决方法(看/proc/pid/limits)记一次docker问题定位(perf,iostat等性能分析)Protocol Buffers 2.5.0 安装python 使用thrift序列化与反序列化对象PHP的base64_decode乱码linux中后台运行 java -jarLinux常用命令--文件搜索Linux常用命令--文件基础操作与文件权限变更Linux常用命令--软件包管理之(RPM包管理)Linux常用命令--文件编辑与查看Linux常用命令--文件压缩与挂载Linux常用命令--系统管理Linux常用命令--系统管理之(用户管理、用户组管理)Linux常用命令--系统管理之(进程管理、定时任务、系统监控)Linux常用命令--软件包管理之(服务管理)Linux常用命令--软件包管理之(yum与源码包安装)Linux初窥:Linux下SSH免密码登录配置如何查看CentOS7的版本信息Linux环境变量文件介绍Linux下Tomcat的安装与配置CentOS解决-bash: vim: command not found10 个提高效率的 Linux 命令别名

Linux常用命令--软件包管理之(yum与源码包安装)

阅读 : 16

目录

yum介绍

yum源配置

光盘yum源搭建

yum命令

源码包安装

常见问题:

yum介绍

YUM(Yellow dog Updater, Modified)是RedHat系列Linux操作系统下的一款Shell前端软件包管理器。它基于RPM包管理,能够从指定的服务器自动下载RPM包并进行安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。  

yum源配置

以CentOS系统环境为例,所有的yum源配置文件都存放在/etc/yum.repos.d目录下,包含以下四个配置文件:CentOS-Base.repo(网络yum源,默认生效的yum源)、CentOS-Debuginfo.repo、CentOS-Media.repo(本地yum源)、 CentOS-Vault.repo。

以CentOS-Base.repo网络yum源中的base源配置为例,我们来看看都需要配置哪些字段及其所代表的含义。 

光盘yum源搭建

在无网络或网络状态不好的情况下,我们可以通过搭建本地yum源来替代网络yum源,同样可以使用yum命令来实现对RPM包的管理。

还是以CentOS系统环境为例,使用光盘搭建yum源包括以下几个步骤:

1)选择合适的挂载点,挂载光盘。

//将光盘挂载到/mnt/cdrom/目录下,以下两条命令任选其一
mount /dev/sr0 /mnt/cdrom/
mount /dev/cdrom /mnt/cdrom/

2)修改yum源配置文件,仅让本地yum源配置文件生效,让其他yum源配置文件失效。

//通过修改yum源配置文件名,使其失效
mv CentOS-Base.repo CentOS-Base.repo.bak
mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak
mv CentOS-Vault.repo CentOS-Vault.repo.bak

3)修改本地yum源配置文件,请参照下图。 

4)使用yum list命令查看配置是否生效。  

yum命令

命令用途:yum是RedHat系列Linux系统下的一款基于RPM包的软件包管理器。
           命令语法:yum [选项] [参数] [软件包名]
           常用选项:
           -y:自动应答;
           常用参数:
           list:显示所有可用的软件包列表;
           search:搜索服务器上所有和指定软件包相关的包;
           install:安装指定的rpm软件包;
           update:升级指定的rpm软件包;
           remove:卸载指定的rpm软件包;
           grouplist:显示所有可用的软件包组列表;
           groupinstall:安装指定的软件包组;
           groupremove:卸载指定的软件包组; 

//显示所有可用的软件包列表
yum list
//搜索服务器上所有和gcc相关的包
yum search gcc
//安装gcc软件包
yum -y install gcc
//升级gcc软件包,
yum -y update gcc
//卸载gcc软件包
yum -y remove gcc
//显示所有可用的软件包组列表
yum grouplist
//安装Eclipse软件包组
yum -y groupinstall Eclipse
//卸载Eclipse软件包组
yum -y groupremove Eclipse

源码包安装

由于源码包安装的软件能更大程度的适配服务器的硬件特性,所以源码包安装的软件相比二进制包安装的软件具有更高的稳定性和执行效率,在安装一些需对外提供访问的软件,如Apache等,推荐使用源码包安装。

使用源码包进行软件安装大致包含以下几个步骤:

1)安装GCC编译器。 

//查看是否安装gcc编译器
rpm -q gcc
//安装gcc编译器
yum -y install gcc

2)下载软件的源码包。

3)将下载的源码包进行解压缩。

//以httpd源码包为例,其解压缩命令如下
tar -zxvf httpd-2.2.15.tar.gz 
//查看解压缩后的文件夹大小
du -sh httpd-2.2.15

4)进入解压缩目录。

//进入到解压缩目录
cd httpd-2.2.15

5)编译前准备,使用./configure命令。

主要完成以下三个功能:

  1. 配置编译功能选项;

  2. 检测系统环境是否符合安装要求;

  3. 把定义好的功能选项和检测系统环境的信息都写入一个名为Makefile的文件,用于后续编译。 

//查看支持的编译功能选项
./configure --help
//指定编译安装的目标目录
./configure --prefix=/usr/local/apache

6)执行编译,使用make命令。

//执行编译
make

7)如果编译出错,可以执行make clean清理编译产生的临时文件,放弃安装。

//清理编译产生的临时文件
make clean

8)编译安装。

//编译安装
make install

9)源码包安装的软件如需卸载,直接删除安装目录即可。

//删除安装的httpd软件包
rm -rf /usr/local/apache/

注:按照以上步骤安装完Apache软件以后,可以使用[Apache安装目录]/bin/apachectl start来启动服务。  

常见问题:

1)httpd: Could not reliably determine the server's fully qualified domain name, using XXX.XXX.XXX.XXX for ServerName

解决办法:修改httpd.conf配置文件,将里面的 #ServerName localhost:80 前的“#”注释符去掉即可。

2)启动成功之后,依旧无法从外部访问Apache服务,可能是由于80端口从外部访问受限制。

临时解决办法:iptables -I INPUT -p TCP --dport 80 -j ACCEPT  

永久解决办法:按如下图所示,修改/etc/selinux/config配置文件。  

配置完成之后,执行以下两条命令

chkconfig --level 3  iptables off
chkconfig --level 5  iptables off

最后,重启Linux使修改生效即可。