Linux系统配置(应用程序)

简介: 应用程序概述、命令与程序的关系、程序的组成、软件包封装类型、RPM、RPM概述、RPM用法、编译安装、解包、配置、编译、安装、启用httpd服务

前言

     在Linux中的应用程序被视为将软件包安装到系统中后产生的各种文档,其中包括可执行文件、配置文件、用户手册等内容,这些文档被组织为一个有机的整体,为用户提供特定的功能,因此对于“安装软件包”与“安装应用程序”这两种说法,并不做严格的区分

一、应用程序概述

1、命令与程序的关系

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

  • 应用程序命令的执行文件大多比较小,通常放置在/bin和/sbin目录中,对于内部命令常集成在Bash程序内,而不是独立地执行文件,命令文件一般在安装操作系统时一起安装,用于辅助操作系统本身的管理,命令行大多适用于“命令字 选项 参数”形式的一般格式,命令只在字符操作界面中运行
  • 应用程序的执行文件通常放在/usr/bin、/usr/sbin和/usr/local/bin、/usr/local/sbin中,应用程序一般需要在操作系统之外另行安装,提供相对独立于操作系统的功能,有时候等同于“软件”的概念,应用程序一般没有固定的执行格式,运行方式由程序开发者自行定义,应用程序可能会用到图形界面,形式多样,有些应用程序提供的执行文件,能够使用像Linux命令一样的运行格式,所以也经常被称为程序命令

2、程序的组成

     安装完一个软件包以后,可能会向系统中复制大量的数据文件,并进行相关设置,在Linux操作系统中,典型的应用程序通常由以下几部分组成

  • 普通的可执行程序文件:一般保存在/usr/bin目录中,普通用户即可执行
  • 服务器程序、管理程序文件:一般保存在/usr/sbin目录中,只有管理员能执行
  • 配置文件:一般保存在/etc目录中,配置文件较多时会建立相应的子目录
  • 日志文件:一般保存在/var/log目录中
  • 关于应用程序的参考文档等数据:一般保存在/usr/share/doc/目录中
  • 执行文件及配置文件的man手册页:一般保存在/usr/share/man/目录中

3、软件包封装类型

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

  • RPM软件包:这种软件包文件的扩展名为“.rpm”,只能在使用RPM(RPM Package Manager, RPM软件包管理器)机制的Linux操作系统中安装,如RHEL、Fedora、CentOS等,RPM软件包一般针对特定版本的操作系统量身定制,因此依赖性较强,安装RPM软件包可使用操作系统中的rpm命令
  • DEB软件包:这种软件包文件的扩展名为“.deb”,只能在使用DPKG(Debian Package,Debian包管理器)机制的Linux操作系统中进行安装,如Debian、Ubuntu等,安装DEB软件包可使用操作系统中的dpkg命令
  • 源代码软件包:这种软件包是程序员开发完成的原始代码,一般被制作成“.tar.gz”或“.tar.bz2”等格式的压缩包文件,因多数使用tar命令打包而成,所以经常被称为“TarBall”,安装源代码软件包需要使用相应的编译工具,如Linux中的C语言编译器gcc,因此,在安装操作系统的时候尽量勾选“开发工具”一项来安装基本的编译环境
  • 附带安装程序的软件包:这种软件包的扩展名不一,但仍以TarBall格式的居多,软件包中会提供用于安装的可执行程序或脚本文件,如install、 sh、 setup等,有时候会以“.bin”格式的单个安装文件形式出现,安装时只需运行安装文件就可以根据向导程序的提示完成安装操作

     开放源代码的自由软件绝大多数选择以TarBall的形式发布,而RPM软件包、DEB软件包等则使了二进制的文件格式,代码相对比较封闭

二、RPM

1、RPM概述

     RPM软件包管理机制最早由Red Hat公司提出,后来随着版本的升级逐渐融入更多的优秀特性,成为众多Linux发行版中公认的软件包管理标准,使用RPM机制封装的软件包文件拥有约定俗成的命名格式,一般使用 “软件名-软件版本-发布次数.操作系统类型.硬件架构类型.rpm” 的文件名形式

2、RPM用法

rpm 选项
rpm -qa 显示系统中以rpm方式安装的所有软件列表
rpm -q 软件包名称 查看某个安装包是否安装
rpm -qi 软件包名称 查看指定软件包详细信息
rpm -ql 软件包名称 显示软件包安装后所在的目录及文件列表
rpm -qf 文件或目录名 查看文件或目录是由哪个软件包安装的
rpm -ivh 软件包名称 以rpm方式安装软件(不推荐,还要装依赖包,推荐使用yum)
rpm -qp 查询未安装软件
rpm -e 软件包名称 卸载安装包
rpm -U 软件包名称 升级安装或新安装
rpm -F 软件包名称 升级安装,未安装则不安装
rpm -h 软件包名 显示安装进度
rpm -v 软件包名 显示安装过程详细信息
rpm --force 软件包名 强制安装,旧版本安装
rpm --nosignature 安装时不检查密钥

三、编译安装

     以安装httpd为例

1、解包

解压依赖包sj.tar.gz
yum install 依赖包内软件包名称
yum install gcc gcc-c++ make pcre-devel expat-devel perl pcre-devel.x86_64 apr-util-devel.x86_64
解压httpd包
tar zxf httpd.tar.gz -C /usr


2、配置

httpd包解压到usr目录下后会有解压后的httpd目录,进入解压后的该目录进行后续配置
cd /usr/httpd
./configure --prefix=/指定安装参数文件位置

3、编译

make

4、安装

make install

5、启用httpd服务

cd /参数安装位置/bin
./apachectl

结语

     大多数的Linux发行版都提供了相当丰富的应用程序,而这些程序的版本往往滞后于该软件的最新源代码版本,因为大多数的开源软件总是以源代码的形式最先发布,之后才会逐渐出现.rpm、.deb等二进制封装的版本,下载应用程序的最新源代码包并编译安装,可以在程序功能、安全补丁等方面得到及时更新

相关文章
|
1月前
|
安全 Linux Shell
Linux上执行内存中的脚本和程序
【9月更文挑战第3天】在 Linux 系统中,可以通过多种方式执行内存中的脚本和程序:一是使用 `eval` 命令直接执行内存中的脚本内容;二是利用管道将脚本内容传递给 `bash` 解释器执行;三是将编译好的程序复制到 `/dev/shm` 并执行。这些方法虽便捷,但也需谨慎操作以避免安全风险。
134 6
|
2月前
|
网络协议 Linux
Linux查看端口监听情况,以及Linux查看某个端口对应的进程号和程序
Linux查看端口监听情况,以及Linux查看某个端口对应的进程号和程序
440 2
|
2月前
|
Linux Python
linux上根据运行程序的进程号,查看程序所在的绝对路径。linux查看进程启动的时间
linux上根据运行程序的进程号,查看程序所在的绝对路径。linux查看进程启动的时间
58 2
|
8天前
|
监控 安全 Java
linux服务器上启动framework应用程序流程
【10月更文挑战第17天】在Linux服务器上启动Framework应用程序需经过准备工作、部署、启动、监控及访问五个步骤。首先确保服务器满足系统要求并安装依赖项;接着上传应用文件,编译构建,配置参数;然后通过脚本、命令行或系统服务启动应用;启动后检查日志,监控性能;最后确认访问地址,验证应用运行状态。具体操作应参照应用文档。
|
8天前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
14 1
|
17天前
|
网络协议 Linux 开发工具
linux系统配置固定地址
linux系统配置固定地址
|
1月前
|
消息中间件 分布式计算 Java
Linux环境下 java程序提交spark任务到Yarn报错
Linux环境下 java程序提交spark任务到Yarn报错
34 5
|
7天前
|
监控 Java Linux
linux服务器上启动framework应用程序流程
【10月更文挑战第18天】在 Linux 服务器上启动框架应用程序的流程包括:准备工作(确保访问权限、上传部署文件、了解启动要求)、检查依赖项、配置环境变量、切换到应用程序目录、启动应用程序、监控启动过程以及验证应用程序是否正常运行。具体步骤可能因应用程序类型和框架而异。
|
2月前
|
Unix Linux Ruby
在windows和linux上高效快捷地发布Dash应用
在windows和linux上高效快捷地发布Dash应用
|
2月前
|
Linux iOS开发 开发者
跨平台开发不再难:.NET Core如何让你的应用在Windows、Linux、macOS上自如游走?
【8月更文挑战第28天】本文提供了一份详尽的.NET跨平台开发指南,涵盖.NET Core简介、环境配置、项目结构、代码编写、依赖管理、构建与测试、部署及容器化等多个方面,帮助开发者掌握关键技术与最佳实践,充分利用.NET Core实现高效、便捷的跨平台应用开发与部署。
110 3