有没有办法使用Java获取已安装的软件包列表?我想评估内部Linux数据库并获取此信息。在我的例子中,使用简单的java代码不是一个选项。
Process rpmProc = Runtime.getRuntime().exec("rpm -qa");
BufferedReader input = new BufferedReader(new InputStreamReader(rpmProc.getInputStream()));
String package;
while ((package = input.readLine()) != null) {
// .. do something
}
有没有办法使用Java在操作系统的较低级别访问此信息?
答案 0 :(得分:1)
您可以阅读用户$HOME
中的包数据库文件,这些文件存储在$HOME/.rpmdb
下。这些文件可以由Berkeley DB软件
答案 1 :(得分:0)
如果Linux是指Linux内核,那么就没有这样的数据库了。安装由包管理器管理,如rpm,deb,pac等。这些文件在您使用rpm在代码中访问它们的文件中维护自己的数据库。它们不是系统低级API,也不应该存在,因为包管理不是内核的工作。