首页 > 系统相关 >Linux软件安装

Linux软件安装

时间:2024-01-06 13:00:52浏览次数:41  
标签:-- rpm Linux 应用程序 软件包 软件 安装

软件安装

应用程序概述

1.应用程序与系统命令的关系

  • 文件位置
  • 系统命令:一般在/bin和/sbin目录中,或为shell内部指令
  • 应用程序:通常在/usr/bin/和/usr/sbin目录中
  • 主要用途
  • 系统命令:完成对系统的基本管理工作,例如IP配置工具
  • 应用程序:完成相应对独立的其他辅助任务,例如网页浏览器
  • 适用环境
  • 系统命令:一般只在字符操作界面中运行
  • 应用程序:根据需要,有些程序可在图形界面中运行
  • 运行格式
  • 系统命令:一般包括命令字、命令选项和命令参数
  • 应用程序:通常没有固定的执行格式

2.典型应用程序的目录结构




Linux软件安装_软件安装

3.常见的软件包封装类型




Linux软件安装_应用程序_02

4.RPM Package Manager

  • 由Red Hat公司提出,被众多Linux发行版所采用
  • 建立统一的数据库文件
  • 详细记录软件包安装、卸载等变化信息
  • 自动分析软件包依赖关系

一般命名格式

  • bash-4.1.2-15.el6_4.x86_64.rpm
  • bash:软件名字
  • 4.1.2:版本号
  • 15:发布次数
  • el6_4:适合的系统
  • x86_64:硬件平台
  • .rpm:扩展名

RPM命令操作

1、rpm的查询

-q:查询已安装的软件包的信息

  • 查询软件包是否安装 rpm -q 软件名字
[hostname Packages]# rpm -q zsh
zsh-4.3.10-5.el6.x86_64
[hostname Packages]# rpm -q asdf
packages asdf is not installed
  • 查询系统中所有已经安装的软件包有哪些
[hostname Packages]# rpm -qa
  • 统计已经安装的软件包的个数
[hostname Packages]# rpm -qa | wc -l
1120
  • 找出vim命令是由哪个软件包安装的
[hostname ~]# rpm -qf 'which cim'
vim-enhanced-7.2.411-1.8.el6.x86_64
  • 查询软件的配置文件
[hostname ~]# rpm -qc httpd
  • 查询安装某个软件时,都安装了哪些文件
[histname ~]# rpm -ql setup
  • 查询安装的软件包的信息
[hostname ~]# rpm -qi setup

-qp 查询未安装的软件包的相关信息

  • -qpi 未安装的软件包的完整路径和包名 :查询未安装的软件包的详细信息
  • -qpl:如果安装未安装的软件,会安装哪些文件在系统中
  • -qpR:查询未安装的软件包的依赖情况

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

  • 安装软件包
  • rpm -ivh /mnt/cdrom/Packages/zsh-4.3.10-5.el6.x86_64.rpm
  • -i:–install 安装
  • -v:–verbose 显示安装过程
  • -h: --human 以人类可读方式显示
  • –test:只是测试安装,并不会真正安装软件
  • [root @test ~]# rpm -ivh --test gcc-4.4.7-3.el6.x86_64.rpm
  • --nodeps:只安装软件本身,不考虑依赖
  • --force:强制安装
  • 升级软件包
  • -F:单纯升级,如果之前没有rpm包将无法升级
  • -U:如果包为安装,等同-i进行安装,如果包已经安装,便是更新版本
  • 卸载软件包
  • -e:erase 卸载软件包

3、维护RPM数据库

  • --rebuildbd 或 --initdb重建RPM数据库
[root@localhost ~]# rpm --rebuilddb
##
[root@localhost ~]# rpm --initdb

YUM安装软件包

1、工作原理

  • 包括YUM服务器和客户端两个部分
  • YUM服务器

  • Linux客户端


  • Linux软件安装_软件安装_03



  • 流程
  • YUM程序配置文件:/etc/yum.conf
  • YUM客户端配置目录:/etc/yum.repos.d/

2、配置YUM源文件的主要配置项

  • [base]:代表仓库名称,名称可以随意取
  • name:描述仓库意义
  • mirrorlist:列出这个可以使用的镜像站点,如果不想使用,可以注释
  • baseurl:后面接仓库地址,mirrorlist是由yum程序自行找镜像站点,baseurl则是指定一个固定容器地址
  • enabled:是否使用这个仓库
  • gpgcheck:是否需要查阅RPM文件内数字证书
  • gpgkey:数字证书公钥文件所有位置,使用默认值

3、安装EPEL源

EPEL是yum的一个软件源里面包含了许多基本源里没有的软件了,但在我们在使用epel时是需要安装它オ可以了,EPEL,即 Extra Packages for Enterprise Linux的简称,是为企业级 Linux提供的一组高质量的额外软件包,包括但不限于 Red Hat Enterprise Linux(RHEL), Centos and Scientific Linux(SL), Oracle Enterprise Linux(OEL)

[root@test packages]# yum install epel-release

4、构建本地自用仓库

[root@test packages]# vim /etc/yum.repos.d/local.repo

	[name]
	name=user_name
	baseurl=file:///mnt/cdrom (光盘挂载路径,即软件源的位置)
	enabled=1
	gpgcheck=0

挂载光盘的方法:

1、将iso文件放入虚拟机光驱

2、mount /dev/cdrom /media(或者是其它的目标路径)

YUM常用命令

  • install:向系统中安装一个或多个软件包
  • clean:删除缓存数据
  • deplist:列出软件包的依赖关系
  • erase:从系统中移除一个或多个软件包
  • group list:显示或使用、组信息
  • help:显示用法提示
  • info:显示关于软件包或组的详细信息
  • list:列出一个或一组软件包
  • makecache:创建元数据缓存
  • provides:查找提供指定内容的软件包
  • reinstall:显示已配置的源
  • search:在软件包详细信息中搜素指定字符串
  • update:更新系统中的一个或多个软件包,改变软件设置和系统设置,系统版本内核都升级
  • upgrade:更新软件包同时考虑软件包取代关系,不改变软件设置和系统设置,系统版本升级,内核
  • version:显示机器和/或可用的源版本

源码包装应用程序

  • 使用源代码安装软件的优点
  • 获得最新的软件版本,及时修复bug
  • 根据用户需求,灵活定制软件功能
  • 应用场合举例
  • 安装较新版本的应用程序时
  • 当前安装的程序无法满足
  • 需要为应用程序添加新的功能时
  • 一般步骤
  • 确认源代码编译环境,需要gcc、make
  • 下载软件包
  • 使用tar命令进行解压,解压到指定目录,一般到/usr/src目录下
  • 查看解压路径下的README文件或INSTALL文件
  • 运行解压路径下的./configure脚本,用来设置安装目录,安装模块等选项
  • 运行make命令进行编译,生产可执行二进制文件
  • 运行make install命令进行安装,复制二进制文件到系统,配置应用环境
  • 测试及应用、维护软件

标签:--,rpm,Linux,应用程序,软件包,软件,安装
From: https://blog.51cto.com/u_16206331/9127082

相关文章

  • Linux Debian12系统gnome桌面环境默认截屏截图工具gnome-screenshot
    一、简介:在Debian12中系统gnome桌面环境默认提供一个截图捕获工具screenshot,可以自定义区域截图、屏幕截图、窗口截图和录制视频,截图默认保存在“~/图片/截图”路径下。可以在应用程序中搜索screenshot,如下图:也可以在桌面右上角找到screenshot截图工具,如下图:二、快捷键截......
  • Windows平台安装MongoDB数据库
    一、前言MongoDB是一种流行的文档型NoSQL数据库,它具有高性能、高可用、可伸缩性等优点,因此被广泛应用于web应用程序、分布式系统、云计算等领域。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类......
  • 组态软件与西门子plc之间以太网无线连接
    在实际系统中,车间里分布多台PLC,需要用上位机软件集中控制。通常所有设备距离在几十米到上百米不等。在有通讯需求的时候,如果布线的话,工程量较大且不美观,这种情况下比较适合采用无线通信方式。本方案以组态王和2台西门子S7-1200为例,介绍组态王与多台PLC的无线Profinet协议通信实现......
  • 软件工程导论读后2
    在书中介绍的几种软件开发过程模型,如瀑布模型和增量模型,是常用的项目管理方法。了解这些模型可以帮助我们更好地规划和组织软件开发过程,确保项目的顺利进行。可行性分析是软件项目初期的重要环节,它主要是评估问题的解决方案是否可行和值得投入资源和时间。通过经济、技术、法律和......
  • Mysql安装过程
    Mysql安装过程下载mysql压缩包,并解压mysql官网下载地址解压文件配置环境变量的配置最后将解压好的mysql文件下的bin目录,如:F:\mysql\mysql-5.7.40-winx64\bin,添加上去初始化SQLmysqld--initialize-insecure:会创建data文件夹(需要管理员权限)系统服务制作mysqld--......
  • python第一节:简介、下载、安装​
    第一节:简介、下载、安装简介:Python的创造者吉多·范罗苏姆。Python是一款易于学习、跨平台语言、免费和开源、的编程语言。有丰富的第三方模块库,应用领域非常广泛。常用于数据采集、数据分析和计算、数据挖掘、人工智能等。下载:下载地址:https://www.python.org/安装:先选中下面两......
  • 安装seurat-wrappers包时报错,需要Seurat >= 5.0.0
    报错安装seurat-wrappers包时报错,需要Seurat>=5.0.0加载seurat-wrappers包时namespace‘Seurat’4.4.0isalreadyloaded,but>=5.0.0isrequiredlibrary(SeuratWrappers)Error:packageornamespaceloadfailedfor‘SeuratWrappers’inloadNamespace(j<-i......
  • velocyto.R安装找不到lboost_filesystem lboost_system
    安装velocyto.R报错,找不到boost_filesystemlboost_systeminstall_github("velocyto-team/velocyto.R")DownloadingGitHubrepovelocyto-team/velocyto.R@HEADSkipping1packagesnotavailable:pcaMethods──RCMDbuild───────────────────────......
  • Rust权威指南阅读笔记(一)Rust简介与安装
    参考:Windows10配置Rust开发环境|jonssonyan'Websitewin10安装Rust+VSCode配置Rust环境-鱼又悲-博客园(cnblogs.com)1.1Rust简介1.2安装Rusthttps://www.rust-lang.org/zh-CN/tools/install下载RUSTUP-INIT.EXE并运行如遇到:componentdownloadfailedforcli......
  • 苹果的推信群发软件开发必备功能源代码!
    在当今的数字营销领域,苹果的推信(iOSPushNotification)群发软件已成为企业与客户之间实现高效沟通的重要工具。为了满足不同企业的需求,开发一款功能齐全、用户体验良好的苹果的推信群发软件至关重要,本文将深入探讨苹果的推信群发软件开发必备功能的源代码,帮助开发者更好地进行软......