Linux安装不在软件商店,安装外部包(如loki.rpm或<包>.deb)结尾程序

news2024/11/18 8:56:31

在这里插入图片描述
如图所示有时我们想要了解更多信息所以就必须了解

Centos 7外部包管理

当使用 CentOS 7 的 RPM 命令时,从入门到进阶,以下是一些高频用法示例,以帮助你更好地使用和管理软件包:

入门级别:

  1. 安装软件包

    • 使用 rpm 命令安装软件包:
      sudo rpm -ivh package.rpm
      
  2. 列出已安装的软件包

    • 使用 rpm -qa 列出系统中所有已安装的软件包:
      rpm -qa
      
  3. 查询软件包信息

    • 使用 rpm -qi 查询软件包的详细信息:
      rpm -qi package_name
      
  4. 升级软件包

    • 使用 rpm -Uvh 命令升级已安装的软件包:
      sudo rpm -Uvh package.rpm
      

进阶级别:

  1. 删除软件包

    • 使用 rpm -e 删除已安装的软件包:
      sudo rpm -e package_name
      
  2. 查询文件所属软件包

    • 使用 rpm -qf 查询特定文件所属的软件包:
      rpm -qf /path/to/file
      
  3. 查看软件包文件列表

    • 使用 rpm -ql 列出软件包安装的所有文件:
      rpm -ql package_name
      
  4. 查询软件包依赖关系

    • 使用 rpm -qR 查询软件包的运行时依赖关系:
      rpm -qR package_name
      
  5. 查询软件包提供的功能

    • 使用 rpm -q --provides 查询软件包提供的功能:
      rpm -q --provides package_name
      
  6. 查询软件包的配置文件

    • 使用 rpm -qc 查询软件包的配置文件:
      rpm -qc package_name
      

在这里插入图片描述

  1. 验证软件包

    • 使用 rpm -V 验证软件包的完整性:
      rpm -V package_name
      
  2. 导出软件包信息

    • 使用 rpm -qpi 导出软件包信息到文件:
      rpm -qpi package.rpm > package_info.txt
      

这些是在 CentOS 7 上使用 RPM 命令的一些高频用法示例,从入门到进阶。掌握这些命令可以让你更好地管理系统中的软件包。

Ubuntu 或者Debian

当使用 Ubuntu 的 dpkg 命令时,以下是一些入门到进阶级别的高频用法示例,帮助你更好地管理软件包:

入门级别:

  1. 安装软件包

    • 使用 dpkg -i 安装软件包:
      sudo dpkg -i package.deb
      
  2. 列出已安装的软件包

    • 使用 dpkg -l 列出系统中所有已安装的软件包:
      dpkg -l
      
  3. 查询软件包信息

    • 使用 dpkg -s 查询软件包的详细信息:
      dpkg -s package_name
      
  4. 卸载软件包

    • 使用 dpkg -r 卸载已安装的软件包,保留配置文件:
      sudo dpkg -r package_name
      

进阶级别:

  1. 卸载软件包并删除配置文件

    • 使用 dpkg -P 卸载已安装的软件包,并删除相关的配置文件:
      sudo dpkg -P package_name
      
  2. 查询文件所属软件包

    • 使用 dpkg -S 查询特定文件所属的软件包:
      dpkg -S /path/to/file
      
  3. 查看软件包文件列表

    • 使用 dpkg -L 列出软件包安装的所有文件:
      dpkg -L package_name
      
  4. 查询软件包依赖关系

    • 使用 dpkg -I 查询软件包的依赖关系:
      dpkg -I package.deb
      
  5. 查询软件包提供的功能

    • 使用 dpkg -c 查询软件包提供的功能:
      dpkg -c package.deb
      
  6. 验证软件包

    • 使用 dpkg -V 验证软件包的完整性:
      dpkg -V package_name
      
  7. 导出软件包信息

    • 使用 dpkg-deb -I 导出软件包信息到文件:
      dpkg-deb -I package.deb > package_info.txt
      

这些是在 Ubuntu 上使用 dpkg 命令的一些高频用法示例,从入门到进阶。掌握这些命令可以让你更好地管理系统中的软件包。

如何将 golang程序打包成.rpm 结尾的包

要将 Go 语言程序打包成 .rpm 格式的软件包,你需要使用 RPM 打包工具,通常是 rpmbuild。下面是一个简单的步骤指南:

步骤概述:

  1. 准备工作

    • 确保在你的系统上安装了必要的构建工具,包括 rpmbuildrpmdevtools
    • 在你的系统上安装 Go 编译器,并设置好环境变量。
  2. 创建 RPM 构建环境

    • 使用 rpmdev-setuptree 命令创建 RPM 构建环境目录结构:
      rpmdev-setuptree
      
  3. 准备打包文件

    • 将你的 Go 语言程序和相关的文件放置到 RPM 构建环境目录结构中的 SOURCES 目录下。
  4. 创建 .spec 文件

    • 在 RPM 构建环境目录结构中的 SPECS 目录下创建一个 .spec 文件,用于描述打包的软件包信息、依赖关系等。
  5. 编写 .spec 文件

    • 编辑 .spec 文件,指定打包的软件包名称、版本、发布、依赖关系等信息,以及构建步骤和安装步骤。
  6. 执行打包命令

    • 使用 rpmbuild 命令执行打包操作,指定 .spec 文件作为参数:
      rpmbuild -bb /path/to/your/package.spec
      
  7. 获取生成的 RPM 文件

    • 打包完成后,你可以在 RPM 构建环境目录结构中的 RPMS 目录下找到生成的 RPM 文件。

示例 .spec 文件:

以下是一个简单的示例 .spec 文件,用于打包一个名为 example 的 Go 语言程序:

Name:           example
Version:        1.0
Release:        1%{?dist}
Summary:        An example Go program

License:        MIT
URL:            https://example.com
Source0:        %{name}-%{version}.tar.gz

BuildRequires:  golang

%description
An example Go program.

%prep
%autosetup

%build
%{gobuild}

%install
mkdir -p %{buildroot}/%{_bindir}
install -pm 0755 %{name} %{buildroot}/%{_bindir}/

%files
%{_bindir}/%{name}

在这个示例中,你需要将 example 程序和相关文件打包成一个 tar 包,并将其命名为 example-1.0.tar.gz,然后放置到 SOURCES 目录下。然后,你需要根据实际情况修改 .spec 文件中的内容,包括名称、版本、构建步骤等。

一旦你准备好了 .spec 文件和相关的打包文件,就可以执行 rpmbuild 命令来生成 .rpm 文件了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1610262.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

代码随想录训练营Day 27|Python|Leetcode|122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● 45.跳跃游戏II

122.买卖股票的最佳时机II 给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。 在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。 返回 你能获…

基于SpringBoot+Vue的物业管理系统 免费获取源码

项目源码获取方式放在文章末尾处 项目技术 数据库:Mysql5.7/8.0 数据表:28张 开发语言:Java(jdk1.8) 开发工具:idea 前端技术:vue 后端技术:SpringBoot 功能简介 项目获取关键字:物业…

从技术层面探讨小程序智能名片商城系统中的AI、ERP、OA、SCRM技术应用

随着信息技术的迅猛发展,智能名片商城系统已逐渐成为现代商业运营不可或缺的重要工具。AI、ERP、OA、SCRM等多种技术的融合应用,不仅提升了商城的运营效率和用户体验,更为商家带来了前所未有的商业价值。下面,我们将结合具体案例&…

springboot 启动非web应用

问题描述 非web应用,启动完成自动退出 问题原因 因为任务完成了,所以系统退出了。需要给spring一个任务,而且这个任务无法解决 包括: web定时任务一个无法完成的任务 解决方案 其中一个是: 非web不自动退出 注意…

jvm-接口调用排查

问题描述 线上碰到个问题,某个接口调用时间特别长,线上调用接口直接报gateway time out 分析处理 1、先关闭该功能 (该功能是非核心功能) 2、本地起服务连环境排查,发现本地正常。并且线上其他接口正常,…

c++补充

构造函数、析构函数 #include <iostream> using namespace std;// 构造函数、析构函数 // --- "构造函数"类比生活中的"出厂设置" --- // --- "析构函数"类比生活中的"销毁设置" --- // 如果我们不写这两种函数&#xff0c;编译…

Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)

文章目录 一、JavaFx介绍1、JavaFx简介2、可用性3、主要特征4、UI控件 二、JavaFx概述1、JavaFx结构图2、JavaFx组件&#xff08;1&#xff09;舞台&#xff08;2&#xff09;场景① 场景图② 节点 &#xff08;3&#xff09;控件&#xff08;4&#xff09;布局&#xff08;5&a…

Xinstall:让URL打开App变得如此简单

在移动互联网时代&#xff0c;App已经成为我们日常生活中不可或缺的一部分。然而&#xff0c;在使用App的过程中&#xff0c;我们常常会遇到一些烦恼。比如&#xff0c;当我们通过一个网页链接想要打开对应的App时&#xff0c;往往需要先复制链接&#xff0c;然后在App中粘贴&a…

​​​​​​​iOS配置隐私清单文件App Privacy Configuration

推送到TestFlight后邮件收到警告信息如下&#xff0c;主要关于新的隐私政策需要补充&#xff1a; Hello, We noticed one or more issues with a recent submission for TestFlight review for the following app: AABBCC Version 10.10.10 Build 10 Although submission for …

如何在vue项目的package.json插件中使用本地文件,不走node_module打包逻辑

在src同级目录新建libs目录存放你的插件文件夹。 package.json文件&#xff1a;将插件路径改为项目根目录相对路径。 page页面内引用插件后&#xff0c;尽情使用你的插件。

Vue3+Spring Boot3实现跨域通信解决办法

Vue3Spring Boot3实现跨域通信解决办法 1 跨域是什么&#xff1f;2 何为同源呢?3 解决办法3.1 全局配置3.1.1 实现CorsFilter过滤器3.1.2 实现SpringMVC配置类3.1.3 创建CorsFilterFactory工厂类返回CorsFilter对象 3.2 局部跨域3.2.1 注解配置3.2.2 手动设置响应头(局部跨域)…

9个技巧使你的Python代码更Pythonic!

如何区分漂亮和丑陋的代码&#xff1f; 更重要的是&#xff0c;如何写出漂亮的 Python 代码&#xff1f; 本文将通过初学者容易理解的例子展示9个神话般的Python技巧&#xff0c;以帮助你在日常工作中编写更多的Pythonic程序。 01 product() 使用 product() 函数避免嵌套的…

【wpf】ObservableCollection 跨线程报错问题

背景 ObservableCollection 我们之前介绍过他和List的区别。ObservableCollection 的好处在于&#xff0c;当集合发生变化时&#xff0c;能发送通知通知界面发生相应的更改。但是ObservableCollection 有个弊端。无法在非UI线程中访问。 要么就是通知失效了&#xff0c;要么就…

血的教训之虚拟机重装[包含一系列虚拟机,c++,python,miniob配置]

一切都要从头开始&#xff0c;由于脑袋糊涂&#xff0c;没看到是虚拟机的文件&#xff0c;直接一口气全删掉了&#xff0c;哎&#xff01;&#xff01;数据恢复后发现也不行&#xff0c;磁盘文件还是缺失了一部分&#xff0c;只能重新再来了。 等待ing 看不到按钮&#xff0c;按…

CSS基础:盒子模型详解

你好&#xff0c;我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。 云桃桃&#xff0c;大专生&#xff0c;一枚程序媛&#xff0c;感谢关注。回复 “前端基础题”&#xff0c;可免费获得前端基础 100 题汇总&#xff0c;回复 “前端工具”&#xff0c;可获取 We…

SQLite的PRAGMA 声明(二十三)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLite从出生到现在&#xff08;发布历史记录&#xff09;&#xff08;二十二&#xff09; 下一篇&#xff1a;用于 SQLite 的异步 I/O 模块&#xff08;二十四&#xff09; PRAGMA 语句是特定于 SQLite 的 SQL 扩…

功能测试前景揭秘:会被淘汰吗?

在当今快速发展的信息时代&#xff0c;软件已经成为我们工作、学习乃至生活中不可或缺的一部分。随着技术的不断进步和应用的广泛普及&#xff0c;软件测试作为保障软件质量和功能实现的关键步骤&#xff0c;其职业发展路径也受到了广泛的关注。特别是针对功能测试这一细分领域…

踏上R语言之旅:解锁数据世界的神秘密码(二)

R语言学习 文章目录 R语言学习1.数据的R语言表示2.多元数据的R语言调用3.多元数据的简单R语言分析 总结 1.数据的R语言表示 数据框&#xff08;data frame) R语言中用函数data.frame()生成数据框&#xff0c;其句法是&#xff1a; data.frame(data1,data2,…)&#xff0c;例如…

记录一个hive中因没启yarn导致的spark引擎跑insert语句的报错

【背景说明】 刚在hive中配置了Spark引擎&#xff0c;在进行Hive on Spark测试时报错&#xff0c; 报错截图如下&#xff1a; [atguiguhadoop102 conf]$ hive which: no hbase in (/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/module/jdk1.8.0_212/bin:/opt/mod…

【Linux】服务器时区 [ CST | UTC | GMT | RTC ]

目录 1. 硬件时间&#xff08;Real_TIME Clock [RTC time]&#xff09; 1.1 硬件时间简介 1.2 如何使用硬件时间 2. 系统时间&#xff08;UTC时间&#xff09;&#xff08;Universal time&#xff09; 2.1 系统时间简介 2.2 UTC时间 3. 本地时间&#xff08;Local time&…