Linux - Bash - 获取 $releasever 和 $basearch 值?

2024-01-03

我正在编写一个 bash 脚本来使用 reposync 从远程存储库提取包,这样我就可以将我的节点指向本地提取。因此,我试图使本地存储库配置尽可能与 usptream 存储库配置相似,如下所示:

# upstream
baseurl=http://mirror.freedomvoice.com/centos/$releasever/os/$basearch/

# local
baseurl=http://user:pa[email protected] /cdn-cgi/l/email-protection/centos/stable/$releasever/os/$basearch/

在 bash 脚本中,是否有更清晰的方法来获取 $releasever 和 $basearch 值?我正在考虑做以下事情:

yum_metadata=$(yum version nogroups)

返回:

Loaded plugins: versionlock Installed: 6/x86_64 360:6167019baac7e76f94c26320424dc41a7f046a70 version

然后重新计算 6/x86_64 值。有点混乱,正在寻找更优雅的方法。


大多数发行版使用 distroverpkg 版本来获取发行版本和基础架构。

如果您查看 /etc/yum.conf,您将看到 distrover 设置为 redhat-release(对于 RHEL)、enterpriselinux-release(对于 OEL)等。

获取包名:

distro=$(sed -n 's/^distroverpkg=//p' /etc/yum.conf)

要获取发行版:

releasever=$(rpm -q --qf "%{version}" -f /etc/$distro)

获取基础架构:

basearch=$(rpm -q --qf "%{arch}" -f /etc/$distro)

上面的新代码将尝试获取与文件关联的包/etc/$distro。一些 Linux 添加/etc/redhat-release到他们的软件包发布。

如果你得到file not owned by any package然后使用/etc/*-release您的发行版附带的文件。大概是/etc/centos-release.

您可以检查相应的/etc/*-release通过检查 centos 打包的文件是否适合此代码。

rpm -qf /etc/*-release

然后使用该文件代替上面的第一行。

distro=/etc/centos-release

这是来自 OEL 的示例,其中/etc/redhat-release被包装为enterprise-release.

rpm -q --qf "%{name}" -f /etc/redhat-release

Output:

enterprise-release
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux - Bash - 获取 $releasever 和 $basearch 值? 的相关文章

随机推荐

  • 如何在url中显示用户名

    谁能告诉我如何在 URL 中显示用户名 如果名称在 URL 中传递 username GET username echo Welcome back username 我想显示像 www example com 用户名 当他登录时 如何在用户
  • 如何仅重试 RxJs 中可观察源发出的某些错误

    srcObservable retry 将捕获 srcObservable 发出的错误并重新订阅 srcObservable 无论错误的类型如何 然而 在某些情况下 只希望重试 srcObservable 发出的某些类型的错误 有没有办法在
  • 将具有多个句子的字符串中句子的第一个单词大写

    eg String s 这是a line is over 应该出来为 这是一条线 结束了 我想过两次使用字符串标记器 first split using second split using to get the first word th
  • 对于“Pentium4 及以上”处理器,gcc 的最佳 March 和 mtune 选项是什么

    我的 C 应用程序 使用 g 编译 需要在 Pentium 4 32 位 及更 高版本上运行 但是 它通常与 Core2Duo 或更好的处理器一起使用 我目前正在使用 march pentium4 mtune pentium4 但一些阅读促
  • ggplot结果输出为一份pdf文件,但在R中输出几页

    我至少有 10 个 ggplot 绘图 我们可以称它们为plot1 plot2 我可以将它们输出到单独的 pdf 文件中 但我更喜欢只将它们输出到一个 pdf 文件中 而不是几页 一页 来自 ggplot 的一个图 我尝试列出所有绘图并使用
  • 如何监控Python文件的变化?

    如果代码发生更改 我想重新启动我的 Python Web 应用程序 但是可能有大量文件可以更改 因为导入模块中的文件可能会更改 如何从导入的包 模块中获取实际的文件名 如何高效检测修改过的Python文件 有图书馆可以做到这一点吗 无耻的插
  • 从大表中删除大量记录的有效方法

    我想从 MySql 数据库中的大表 500K 记录 中删除大量记录 200K 我想让这个调用尽可能高效 因为我不希望数据库在执行调用时变得 无响应 我需要删除 早于 10 天的记录 根据created at列 目前我使用 delete fr
  • 无法在 github 操作中获取发布标题

    我添加了 github 操作 该操作会在每次发布时在我们的 slack 通道上发送一条消息 我已经设法从 github 上下文获取仓库名称和标签 https docs github com en actions learn github a
  • 502 - Web 服务器在充当网关或代理服务器时收到无效响应

    当我将应用程序发布到 Azure 网站时 我收到标题错误 但没有任何效果 这不是暂时的 我研究了一下 看起来它与人们遇到的错误问题无关 我启用了日志记录 但没有得到太多重要的输出 日志说 2014 01 15 10 56 26 1MANDO
  • 如何在RecyclerView中实现部分可见的下一项

    我使用 onFling 一次滚动一个项目 并且希望只有一个项目在页面上完全可见 而下一个项目部分可见 我想要这个 我怎样才能在RecyclerView中实现这个目标 这是适配器代码 只是代替了cardView 如图所示 它是imageVie
  • 使用选项卡按钮重新输入后 DataGrid CurrentItem != SelectedItem

    这个简单的 WPF DataGrid
  • JavaScript 中可链接的、基于 Promise 的类接口

    我正在用 JavaScript 编写一个构造函数 它具有以下属性 function WhizBang var promise this publicMethod One function publicMethod One this publ
  • 允许用户从 TableView 复制数据

    我有一个简单的 JavaFX 应用程序 允许用户查询数据库并查看表中的数据 我希望用户能够单击表格单元格 并使用标准剪贴板按键将文本从该单元格复制到剪贴板 对于 Win Linux 为 ctrl c 对于 Mac 为 cmd c 仅供参考
  • 从 Angular 2 服务创建并返回 Observable

    这更多的是一个 最佳实践 问题 共有三名玩家 aComponent a Service and a Model The Component正在呼叫Service从数据库获取数据 这Service正在使用 this people http g
  • React redux oop 类

    来自角度 我曾经为数据库中的每个实体都有一个类 这样的类封装了所有实体行为 例如用户类可以看起来像 export class User static notValid u return u id u id gt 0 u fullname u
  • 关于多线程下载的缺点

    我有一个关于多线程下载的问题 正如您所知 使用多个线程下载可以提高应用程序的性能 但是有一些措施需要尊重 例如线程数 可用带宽等等 但我不太明白 为什么例如 使用多个线程可能会降低应用程序的性能 或者服务器的带宽 质量如何影响多线程应用程序
  • 如何将docker镜像打包到一个文件中

    我有一个名为 ubuntu dev update 15 的 5GB docker 镜像 它是我在本地 Ubuntu 14 开发机器上开发的 在该图像中 我拥有完成开发工作所需的一切 现在我需要能够将此映像发送到不同的 Linux 主机 这样
  • 有没有办法检查计算机的 AD 组成员身份?

    我正在尝试通过 Powershell 检查计算机组成员身份 我希望能够指定某个计算机名称并通过 Powershell 脚本查找该计算机所在的组 我计划在计算机上运行脚本 获取主机名 然后打印出该计算机所在的 AD 组 有没有一种简单的方法可
  • 类型 {1} 上不存在所需的属性 {0}。添加FK时实体框架(模型优先)

    我正在尝试将外键添加到数据库 然后更新模型 更新模型后 应用程序出现以下错误 System Data Entity Core MetadataException was unhandled HResult 2146232007 Messag
  • Linux - Bash - 获取 $releasever 和 $basearch 值?

    我正在编写一个 bash 脚本来使用 reposync 从远程存储库提取包 这样我就可以将我的节点指向本地提取 因此 我试图使本地存储库配置尽可能与 usptream 存储库配置相似 如下所示 upstream baseurl http m