热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux命令行的软件源,Linux环境下安装及管理程序(软件包封装、RPM命令、源代码编译安装的基本过程)...

1Linux命令与应用程序的关系应用程序命令的执行文件大多比较小,通常放置在bin和sbin目录中。对于内部命令,常集成在Bash程序内,

48e1a65a3db658bd6ba0229337b6fc21.png

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软件包管理器机制的Linux操作系统中安装,对特定版本的系统量身定制,依赖性比较强。安装RPM包需要使用系统中rpm命令。

DEB软件包:这种软件包文件的扩展名为".deb",只能在使用DPKG机制的Linux操作系统中进行安装,如Ubuntu,安装DEB软件包需要使用dpkg命令。

源代码软件包:这种软件包是程序员开发完成的原始代码,一般被制作为".tar.gz"和".tar.bz2"等格式的压缩包文件。

移植附带安装程序的软件包:这种软件包的扩展名不一,但仍以TarBall格式的居多,用于安装的可执行程序或脚本文件,如install.sh、setup等,只需运行安装文件就可以根据向导程序的提示完成安装操作。

4

RPM概述

RPM包管理器通过建立统一的文件数据库,对在Linux系统中安装、卸载、升级的各种.rpm软件包进行详细的记录,并能够自动分析软件包之前的依赖关系。

一般使用"软件名-软件版本-发布次数.操作系统类型.硬件架构类型.rpm"的文件名形式表示;

5

RPM的主要功能

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

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

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

6

RPM包管理命令

1822bf3f95a87e5cd37bbcbd5fed46a9.png

7c45472619dcedf9db932f0b1d3f8f7c.png

7

编译安装的基本过程

获得所需安装的软件源代码以后,安装的基本过程包括解包、配置、编译及安装的步骤,具体流程图如下:

b31485e46a3c8c397df32d18f511530f.png

解包:开源软件的源代码包一般为tarball形式,扩展名为“.tar.gz”或“.tar.bz2”,可以使用tar命令进行解压缩。对于只有“.gz”扩展名的源代码包,表示只经过压缩而并未使用tar归档,这样的文件只需使用gzip命令进行解压缩。

配置:配置工作由源代码目录中的“configure”脚本文件来完成,可用的各种配置参数可以通过在源代码目录中执行“./configure --help”进行查看。对于不同的软件程序来说,其配置蚕食会存在区别,但是“--prefix”形式的参数,大多数开源软件通用,该配置参数用于指定的软件包安装的目标文件夹。

编译:编译过程主要是根据makefile文件内的配置信息,将源代码文件进行编译而生成二进制的程序模块、动态链接库、可执行文件等。配置完成后,只要在源代码目录中执行“make”命令即可进行编译操作。

安装:编译完成后,执行“make install”命令将软件的执行程序、配置文件、帮助文档等相关文件复制到系统中,即应用程序的最后“安装”过程。为方便起见,上述的编译、安装步骤可以写成一行命令执行,中间使用“&&”符号分隔。make && make install



推荐阅读
  • tarzxvffilename.tar.gz顺便我们了解下linux下压缩与解压命令大全.tar解包:tarxvffilename.tar打包:tarc ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 为了在Hadoop 2.7.2中实现对Snappy压缩和解压功能的原生支持,本文详细介绍了如何重新编译Hadoop源代码,并优化其Native编译过程。通过这一优化,可以显著提升数据处理的效率和性能。此外,还探讨了编译过程中可能遇到的问题及其解决方案,为用户提供了一套完整的操作指南。 ... [详细]
  • 本文深入探讨了NoSQL数据库的四大主要类型:键值对存储、文档存储、列式存储和图数据库。NoSQL(Not Only SQL)是指一系列非关系型数据库系统,它们不依赖于固定模式的数据存储方式,能够灵活处理大规模、高并发的数据需求。键值对存储适用于简单的数据结构;文档存储支持复杂的数据对象;列式存储优化了大数据量的读写性能;而图数据库则擅长处理复杂的关系网络。每种类型的NoSQL数据库都有其独特的优势和应用场景,本文将详细分析它们的特点及应用实例。 ... [详细]
  • 如何撰写适应变化的高效代码:策略与实践
    编写高质量且适应变化的代码是每位程序员的追求。优质代码的关键在于其可维护性和可扩展性。本文将从面向对象编程的角度出发,探讨实现这一目标的具体策略与实践方法,帮助开发者提升代码效率和灵活性。 ... [详细]
  • 利用ZFS和Gluster实现分布式存储系统的高效迁移与应用
    本文探讨了在Ubuntu 18.04系统中利用ZFS和Gluster文件系统实现分布式存储系统的高效迁移与应用。通过详细的技术分析和实践案例,展示了这两种文件系统在数据迁移、高可用性和性能优化方面的优势,为分布式存储系统的部署和管理提供了宝贵的参考。 ... [详细]
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • 本文详细介绍了如何在Linux系统中搭建51单片机的开发与编程环境,重点讲解了使用Makefile进行项目管理的方法。首先,文章指导读者安装SDCC(Small Device C Compiler),这是一个专为小型设备设计的C语言编译器,适合用于51单片机的开发。随后,通过具体的实例演示了如何配置Makefile文件,以实现代码的自动化编译与链接过程,从而提高开发效率。此外,还提供了常见问题的解决方案及优化建议,帮助开发者快速上手并解决实际开发中可能遇到的技术难题。 ... [详细]
  • 深入解析:RKHunter与AIDE在入侵检测中的应用与优势
    本文深入探讨了RKHunter与AIDE在入侵检测领域的应用及其独特优势。通过对比分析,详细阐述了这两种工具在系统完整性验证、恶意软件检测及日志文件监控等方面的技术特点和实际效果,为安全管理人员提供了有效的防护策略建议。 ... [详细]
  • 如何配置Logrotate进行日志文件切割并使用Crontab设置定时任务
    1.下载logrotate在Fedora和CentOS安装yuminstalllogrotatecrontabsDebian和Ubuntu上apt-getinstalllogrot ... [详细]
  • B站服务器故障影响豆瓣评分?别担心,阿里巴巴架构师分享预防策略与技术方案
    13日晚上,在视频观看高峰时段,B站出现了服务器故障,引发网友在各大平台上的广泛吐槽。这一事件导致了连锁反应,大量用户纷纷涌入A站、豆瓣和晋江等平台,给这些网站带来了突如其来的流量压力。为了防止类似问题的发生,阿里巴巴架构师分享了一系列预防策略和技术方案,包括负载均衡、弹性伸缩和容灾备份等措施,以确保系统的稳定性和可靠性。 ... [详细]
  • 本文深入解析了Linux系统中常用的文件和目录操作命令,包括但不限于`ls`、`cd`等。通过详细讲解每个命令的功能、语法及应用场景,帮助读者掌握这些基本工具的使用方法,提升在Linux环境下的操作效率。此外,文章还介绍了如何结合选项和参数来实现更复杂的文件管理任务,为初学者提供了丰富的实践示例和技巧。 ... [详细]
  • PHP预处理常量详解:如何定义与使用常量 ... [详细]
  • 利用爬虫技术抓取数据,结合Fiddler与Postman在Chrome中的应用优化提交流程
    本文探讨了如何利用爬虫技术抓取目标网站的数据,并结合Fiddler和Postman工具在Chrome浏览器中的应用,优化数据提交流程。通过详细的抓包分析和模拟提交,有效提升了数据抓取的效率和准确性。此外,文章还介绍了如何使用这些工具进行调试和优化,为开发者提供了实用的操作指南。 ... [详细]
  • 网站前端开发的核心理念与必备技能解析 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有