linux应用程序安装与应用-1

简介: 在主机中安装了CentOS操作系统以后,就具有了提供应用程序和网络服务的平台。然而随操作系统一起安装的软件包毕竟只有少数,实现的功能也比较有限,当需要为主机提供更多的功能时安装新的应用程序就成为必然工作。本章将学习如何在CentOS系统中安装和管理应用程序。

简介


在主机中安装了CentOS操作系统以后,就具有了提供应用程序和网络服务的平台。然而随操作系统一起安装的软件包毕竟只有少数,实现的功能也比较有限,当需要为主机提供更多的功能时安装新的应用程序就成为必然工作。本章将学习如何在CentOS系统中安装和管理应用程序。


本章重点


使用rpm工具安装、查询及卸载软件包

通过源代码编译安装软件包

1. Linux应用程序基础

本节将对Linx操作系统中应用程序的一些基本知识进行介绍,内容包括Linux命令与应用程的关系、应用程序的组成部分、软件包的封装类型等。


1.1 Linux命令与应用程序的关系

在Linux操作系统中,一直以来命令和应用程序并没有特别明确的区别,从长期使用习惯来看可以通过以下描述来对两者进行区别。


应用程序命令的执行文件大多比较小,通常放置在 /bin 和 /sbin目录中。对于内部命令.常集成在Bash程序内,而不是独立地执行文件;命令文件一般在安装操作系统时一起安装,用于辅助操作系统本身的管理:命令行大多适用于“命令字 选项 参数”形式的一般格式;命令只在字符操作界面中运行。

应用程序的执行文件通常放在 /usr/bin, /usr/sbin和 /usr/local/bin、/usr/local/sbin中;应用程序一般需要在操作系统之外另行安装,提供相对独立于操作系统的功能,有时候等同于“软件”的概念;应用程序一般没有固定的执行格式,运行方式由程序开发者自行定义;应用程序可能会用到图形界面,形式多样;有些应用程序提供的执行文件,能够使用像Linux命令一样的运行格式,所以也经常被称为程序命令。

本章中讲解的应用程序被视为将软件包安装到系统中后产生的各种文档,其中包括可执行文件配置文件,用户手册等内容,这些文档被组织为一个有机的整体,为用户提供特定的功能。因此安装完一个软件包以后,可能会向系统中复制大量的数据文件,并进行相关设置。在Linux操作系统中,典型的应用程序通常由以下几部分组成。


普通的可执行程序文件:一般保存在usrbin目录中,普通用户即可执行。

服务器程序、管理程序文件:一般保存在usrsbin目录中,只有管理员能执行。

配置文件:一般保存在etc目录中,配置文件较多时会建立相应的子目录。

日志文件:一般保存在varlog目录中。

关于应用程序的参考文档等数据:一般保存在srsharedoo录中。

执行文件及配置文件的man手册页:一般保存在usrhareman目录中。

下面以CentOS中已经安装的postix软件包(一款邮件服务器程序)为例,展示服务器应用程序的文件组成。执行"pm-al postix"命令,可以查看postix软件包在系统中安装的目录和文件清单(关于rpm命令的详细用法将在下节详细讲解),具体操作如下:


[root@localhost ~]# rpm-ql postfix


……//略部分内容


/etc/postfix/main.cf                      //配置文件


/etc/sasl2/smtpd.conf......                 //省略部分内容


/usr/bin/mailg.postfix                      //普通用户能够执行的程序文件  


/usr/bin/newaliases.postfix .....           //省略部分内容


/usr/lib/systemd/system/postfix.service     //启动服务程序的脚本文件


/usr/sbin/postfix                           //管理员用户才能执行的程序文件


/usr/sbin/postmap....                       //省略部分内容


/usr/share/man/man5/postconf.5.gz           // man手册页文件


/usr/share/man/man1/mailq.postfix.1.gz....  //省略部分内容


1.2软件包的封装类型

对于各种应用程序的软件包,在封装时可以采用各种不同的类型,不同类型的软件包其安装方法也各不相同。常见的软件包封装类型如下所述。


RPM软件包:这种软件包文件的扩展名为 ".rpm",只能在使用RPM (RPM Peckage Menger, RPM软件包管理器)机制的Linux操作系统中安装,如RHEL, Fedora, CentOS等。RPM软件包一般针对特定版本的操作系统量身定制,因此依赖性较强。安装RPM软件包需要使用操作系统中的rpm命令。

DEB软件包:这种软件包文件的扩展名为 ".deb".只能在使用DPKG (Debian Package, Debian包管理器)机制的Linux操作系统中进行安装,如Debien. Uuntu等。安装DEB软件包需使用操作系统中的dpkg命令。

源代码软件包:这种软件包是程序员开发完成的原始代码, 一般被制作成 “ .tar. gz” 或 ”.tar.bz2" 等格式的压缩包文件,因多数使用tar命令打包而成,所以经常被称为 "TarBall” 。安装源代码软件包需要使用相应的编译工具,如Linux中的C语言编译器gcc。因此,在安装操作系统的时候尽量勾选 "开发工具" 一项来安装基本的编译环境。

附带安装程序的软件包:这种软件包的扩展名不一,但仍以TarBall格式的居多。软件包中会提供用于安装的可执行程序或脚本文件,如intall.sh、setup等 ,有时候会以 ".bin" 格式的单个安装文件形式出现。安装时只需运行安装文件就可以根据向导程序的提示完成安装操作。

开放源代码的自由软件绝大多数选择以TaBall的形式发布,而RPM软件包. DEB软件包等则使用了二进制的文件格式,代码相对比较封闭。存本章的后续内容中,主要介绍RPM软件包和源代码软件包编译这两种安装方式。在实验案例中会提供少量附带安装程序的软件包进行练习,但在理论部分中不再进行讲解。


2.使用RPM软件包管理工具

RPM软件包是各种Linux发行版本中应用较广泛的软件包之一。RPM软件包以其强大的功能得到多数Linux发行版本的支持和广大Linux使用者的拥护。在本节中将学习RPM软件包的常用管理操作。


2.1 RPM概述

RPM软件包管理机制最早由Red Hat公司提出,后来随着版本的升级逐渐融入更多的优秀特性成为众多Linax发行版中公认的软件包管理标准。在其官方站点http://www.rpm.org中,可以了解到关于RPM包管理机制的详细资料。


RPM软件包管理器通过建立统一的文件数据库,对在Linux操作系统中安装、卸载、升级的各种.rpm软件包进行详细的记录,并能够自动分析软件包之间的依赖关系,保持各应用程序在一个协调、有序的整体环境中运行。


使用RPM机制封装的软件包文件拥有约定俗成的命名格式,一般使用软件名一软件版本一发布次数、操作系统类型、硬件架构类型,pm的文件名形式 如 “ bash-4.2.46-20.el7_2.x86_64.rpm” .其中硬件平台通常为 “i386” 或 ”i686” 等,表示适用于Intel公司的处理器. ”x86_64” 表示适用于64位的系统,如果是 "noarch" 表示不区分硬件架构(支持不同硬件体系的处理器)。


CentOS的DVD安装光盘携带的大部分软件包都在Packages目录中,通过该目录中的文件可以素悉RPM软件包的一般命名格式。例如,以下操作用于查看DVD光盘设备中携带的bash和fontcontig-devel软件包(分别是Shell解释器.字体配置和定制库).一般情况下, CentOS 启动后安装光盘会自动挂载到系统的/run/media/root/CentOS\7\x86_64/Packages/ 目录下。


[root@localhost~]# cd /run/media/root/Centos\7\ x86_64/Packages/        


//切换至光盘自动挂载位置(目录)


[root@localhost Packages]# 1s-ih bash* fontconfig-devel*


-rw-rw-r--. 2 root root 1011K Aug 2 2016 bash-4.2.46-20.e172:x86_64.rpm


-rw-rw-r--. 2 root root 86K Jul 3 2014 bash-completion-2.1-6.el7.noarch.rpm


-rw-rw-r--  2 root root 129K Nov 20 12:44 fontconfig-devel-2.10.95-10.el7.x86_64. rpm


使用RPM软件包管理命令

在CentOS系统中, rpm命令是实现RPM软件包管理的主要工具。本小节将学习使用rpm命令安装、卸载软件包及查询RPM相关信息的方法。


1. rpm命令的格式

使用rpm命令能够实现几乎所有对RPM软件包的管理功能,执行"man rpm"命令可以获得关于rpm命令的详细帮助信息,具体操作如下:


[root@localhost ~]# man rpm


rpm(8)                                Red Hat Linux                                 rpm(8)


NAME


      rpm - Red Hat 包管理器


总览


      rpm [选项]


描述


      rpm是一个很有用的包管理器,可以用于生成,安装,查询,核实,更新以及卸载单个软件包.


      一个包通常包括一个文件档以及关于包 的信息, 比如名字, 版本, 描述等.


      必须选取下列基本模式中一个: 初始化数据库,重新生成数据库,生成包,重新编译包,从Tar包生成RPM包,  查询,


      显示查询标签,安装,更新,卸载,核实,签名检查,再签名,添加签名,设置所有者和组以及显示配置.


      数据库维护:


          rpm -i [--initdb]


          rpm -i [--rebuilddb]


      生成:


          rpm [-b|t] [package_spec]+


          rpm [--rebuild] [sourcerpm]+


          rpm [--tarbuild] [tarredsource]+


      查询:


          rpm [--query] [queryoptions]


          rpm [--querytags]


      维护已安装的包:


          rpm [--install] [installoptions] [package_file]+


          rpm [--freshen|-F] [installoptions] [package_file]+


          rpm [--uninstall|-e] [uninstalloptions] [package]+


          rpm [--verify|-V] [verifyoptions] [package]+


……//省略部分内容


从rpm命令的手册页信息中可以看出,rpm命令具有非常强大的功能,结合不同的命令选项及子选项主要可以实现以下三类功能。


查询、验证PPM软件包的相关信息。

安装、升级、卸载PPM软件包。

维护RPM数据库信息等综合管理操作。


相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
12天前
|
Linux Python
Linux 安装python3.7.6
本教程介绍在Linux系统上安装Python 3.7.6的步骤。首先使用`yum`安装依赖环境,包括zlib、openssl等开发库。接着通过`wget`下载Python 3.7.6源码包并解压。创建目标文件夹`/usr/local/python3`后,进入解压目录执行配置、编译和安装命令。最后设置软链接,使`python3`和`pip3`命令生效。
|
15天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
99 20
|
8天前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
95 7
|
15天前
|
Unix Linux 编译器
UNIX/Linux 上的安装
UNIX/Linux 上的安装。
32 2
|
2月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
69 4
|
2月前
|
缓存 Linux 开发者
Linux内核中的并发控制机制:深入理解与应用####
【10月更文挑战第21天】 本文旨在为读者提供一个全面的指南,探讨Linux操作系统中用于实现多线程和进程间同步的关键技术——并发控制机制。通过剖析互斥锁、自旋锁、读写锁等核心概念及其在实际场景中的应用,本文将帮助开发者更好地理解和运用这些工具来构建高效且稳定的应用程序。 ####
47 5
|
2月前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
60 5
|
2月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
85 2
|
2月前
|
存储 缓存 Linux
【Linux】另一种基于rpm安装yum的方式
通过本文的方法,您可以在离线环境中使用RPM包安装YUM并进行必要的配置。这种方法适用于无法直接访问互联网的服务器或需要严格控制软件源的环境。通过配置本地YUM仓库,确保了软件包的安装和更新可以顺利进行。希望本文能够为您在特定环境中部署YUM提供实用的指导。
214 0
|
2月前
|
关系型数据库 MySQL Linux
Linux-安装Mariadb
本文介绍了在 Alibaba Cloud Linux 系统上安装和配置 MariaDB 10.5 的步骤。包括下载安装、初始化数据库、启动服务、处理启动失败的常见问题(如权限问题),以及如何连接数据库、设置密码和允许外部连接。通过这些步骤,您可以顺利完成 MariaDB 的安装和基本配置。
80 0

热门文章

最新文章