- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
已经为带有 RPM 的 Redhat 编写了一个安装脚本(用于 Microsoft® SQL Server® ODBC Driver 1.0 for Linux)
它使用这段代码来检查是否安装了某些包
req_libs=( glibc e2fsprogs krb5-libs openssl )
for lib in ${req_libs[@]}
do
local present=$(rpm -q -a $lib) >> $log_file 2>&1
if [ "$present" == "" ]; then
log "The $lib library was not found installed in the RPM database."
log "See README for which libraries are required for the $driver_name."
return 1;
fi
done
我已经通过知道/相信库已安装并简单地删除测试来解决这个问题,但我现在想整理一下。
最佳答案
在 Ubuntu/Debian 中,库包通常以“lib”开头,而不是后缀。开发包通常只是以“-dev”为后缀而不是“-devel”
如果您不确定等效包的名称,您可以随时这样做:
sudo apt-get update
apt-cache search <packagename>
...并且不要在您的搜索中包括“lib”或“dev”部分,您将获得不错的结果。从那里您可以手动确定您正在寻找的正确包。
您可以使用“dpkg -s”并且它会起作用,尽管根据我对“rpm -qa”输出的理解,您可能想要一些不那么冗长的东西。 “dpkg-query -l”通过管道传输到“grep”将在一行中输出包信息,应该更容易阅读。
下面是脚本的等效部分(使用正确的包名称和单独一行的 log_file 输出以正常工作):
#!/bin/bash
function stack_install()
{
log_file="$HOME/Desktop/stackoverflow/stack-log.txt"
req_libs=( libc6 e2fsprogs libkrb5-3 openssl )
for lib in ${req_libs[@]}
do
local present=$(dpkg-query -l "$lib" | grep "$lib" 2>/dev/null)
echo "$present" >> "$log_file"
if [ "$present" == "" ]; then
echo "The $lib library was not found installed in the dpkg database."
echo "See README for which libraries are required for the $driver_name."
return 1;
fi
done
}
stack_install
关于ubuntu - 将安装脚本从 Redhat 更改为 Ubuntu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15056762/
认为这可能对其他人有帮助。如果您运行的是 headless (headless)虚拟机,可能不会立即明白如何安装 liquibase。我正在使用 redhat linux 盒子,想知道使用哪个命令来尝
哪里可以找到 Redhat 的 nash 实用程序的源代码? 谢谢,陈兹 最佳答案 git://git.fedoraproject.org/git/hosted/mkinitrd 关于redhat -
我已经在我的 Red Hat Enterprise Linux 7.2 服务器上安装了 collectd。 我也在 ubuntu 14.04 服务器上安装了它。 在 ubuntu 中,当我运行 col
我一直在尝试找出如何将我自己的包添加为 kickstart 安装的一部分(特别是 mondo 包),但使用 %packages 指令而不是 post 脚本中的 rpm 命令。我尝试使用 kicksta
我是 RedHat Linux 的新手,并在 VirtualBox 上安装了 7.4 版本。按照RedHat的安装步骤,我需要先订阅RedHat才能在RedHat上下载。 使用的命令是 subscri
我正在尝试在具有两个 Xenon CPU 和 RAID 1 以及两个 2TB HDD 的服务器上安装 Redhat Enterprise Linux 64x 版本 6.3 或 6.4。安装会非常顺利,
[axaysd@localhost ~]$ sudo pip install lightfm [sudo] password for axaysd: Collecting lightfm Usin
我正在尝试在 redhat 6.3 中安装 msodbcsql v13。它显示 unixODBC(64 位) >= 2.3.1 需要在安装 msodbcsql 之前安装的依赖项错误。 我尝试在命令下运
我正在Fedora linux平台上学习qt,在我制作示例cpp时它抛出了如下g++错误 g++ error:/usr/lib/rpm/redhat/redhat-hardened-cc1: No s
我即将开始一个项目,将我们的应用程序套件从 RedHat ES4 移植到 RedHat ES6。这有多复杂?我们过去在不同版本之间有过不同的体验,想知道在迁移到 ES6 的过程中是否有任何特定的陷阱。
我正在尝试编译一个使用 Qt 5.5 的应用程序(Qt Installer Framework),这样生成的(静态链接的)二进制文件可以在旧的 Linux 系统(例如 RedHat 5 甚至 RedH
我从 Oracle 中尝试这个查询: select * from "a_table"@Postgres; 这是我收到的错误消息: ORA-28545: error diagnosed by Net8
有没有办法询问yum哪个组包含给定的程序包?我知道如何询问给定组中有哪些软件包,并且可以编写一个快速脚本来遍历所有组,但是有一个比这更简单的机制会很好。 最佳答案 如果您只是在寻找一种供人类使用的“简
我有一个软件包,我为其创建了 RPM。由于 IP 原因,我无法在此处粘贴整个 RPM,但这里是问题的要点: %pre /sbin/pidof program if [ "$?" -eq "0" ] t
我注意到rpmbuild(-bb和--buildroot选项)根据您使用的操作系统在不同的位置创建.rpm: GNU / Linux Ubuntu = 9.10:/ home / rpmbuild
关闭。这个问题是not about programming or software development .它目前不接受答案。 这个问题似乎不是关于 a specific programming
关闭。这个问题是not about programming or software development .它目前不接受答案。 这个问题似乎不是关于 a specific programming
相信对RedHat Linux或CentOS比较熟悉的人,应该是比较了解yum源的,它比普通的rpm包安装,要方便的多,为何呢?因为它能顺利的解决rpm包之间的依赖关系。你要是根据rpm包之间的依赖
1.在终端下进入root权限,首先看看有没有安装tftp服务器和客户端组件,验证命令:rpm -qa | grep tftp(看图) 如果没有图中所显示的效果,那么你的主机上可能没有安装tft
Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。 想要改善这个问题吗?更新问题,以便将其作为on-topi
我是一名优秀的程序员,十分优秀!