Shilpa Nair 分享 RedHat Linux 包管理面试经历
Shilpa Nair于2015年刚刚毕业。她前往位于德里诺伊达的国家新闻电视台申请实习职位。当她在毕业的最后一年寻求作业帮助时,她遇到了 Tecmint。从那时起,她就定期访问 Howmint。
所有的问题和答案都是根据Shilpa Nair的记忆重写的。
“嗨朋友们!我是来自德里的希尔帕·奈尔。我最近刚刚毕业,并在获得学位后不久就正在寻找实习生职位。从大学早期开始,我就对 UNIX 产生了浓厚的兴趣,并且一直在寻找适合我并满足我灵魂的角色。我被问了很多问题,其中大部分是与 RedHat 包管理相关的基本问题。 ”
以下是我被问到的问题及其相应的答案。我只发布那些与 RedHat GNU/Linux 包管理相关的问题,因为它们主要是被问到的。
1. 如何知道某个包是否安装?假设您必须查找是否安装了“nano”,您会做什么?
答案:查找软件包nano,天气是否安装,我们可以使用rpm命令,选项-q用于查询,-a代表所有已安装的软件包。
rpm -qa nano
OR
rpm -qa | grep -i nano
nano-2.3.1-10.el7.x86_64
另外,包名称必须完整,不完整的包名称将返回提示,而不打印任何内容,这意味着该包(不完整的包名称)未安装。通过下面的例子就可以很容易地理解:
我们一般用vi代替vim命令。但是如果我们找到 vi/vim 包,我们将不会在标准输出上得到任何结果。
vi
vim
但是我们可以清楚地看到该包是通过触发 vi/vim 命令安装的。罪魁祸首是文件名不完整。如果我们不确定确切的文件名,我们可以使用通配符:
rpm -qa vim*
vim-minimal-7.4.160-1.el7.x86_64
这样我们就可以找到有关任何软件包的信息,无论是否安装。
2. 如何使用 rpm 安装软件包 XYZ?
答案:我们可以使用如下所示的 rpm 命令安装任何软件包 (*.rpm),此处选项 -i(安装)、-v(详细或显示附加信息)和 -h(在软件包安装过程中打印哈希标记)。
rpm -ivh peazip-1.11-1.el6.rf.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:peazip-1.11-1.el6.rf ################################# [100%]
如果应使用 -U 开关从早期版本升级软件包,则使用选项 -v 和 -h 以确保我们获得详细输出以及哈希标记,这使得它可读。
3. 您已经安装了一个软件包(例如 httpd),现在您想要查看上述软件包安装和创建的所有文件和目录。你会怎么做?
答案:我们可以使用选项 -l(列出所有文件)和 -q(用于查询)列出 httpd 包安装的所有文件(Linux 将所有内容视为文件,包括目录) .
rpm -ql httpd
/etc/httpd
/etc/httpd/conf
/etc/httpd/conf.d
...
4. 你应该删除一个包,比如 postfix。你会怎么做?
答案:首先我们需要知道 postfix 是通过什么包安装的。使用选项-e删除/卸载软件包)和-v(详细输出)查找安装postfix的软件包名称。
rpm -qa postfix*
postfix-2.10.1-6.el7.x86_64
然后删除后缀:
rpm -ev postfix-2.10.1-6.el7.x86_64
Preparing packages...
postfix-2:3.0.1-2.fc22.x86_64
5. 获取有关已安装软件包的详细信息,包括版本、发行版、安装日期、大小、摘要和简要说明等信息。
答案:我们可以通过使用选项 -qa 和 rpm 后跟软件包名称来获取有关已安装软件包的详细信息。
例如,要查找 openssh 包的详细信息,我需要做的就是:
rpm -qa openssh
[root@tecmint tecmint]# rpm -qi openssh
Name : openssh
Version : 6.8p1
Release : 5.fc22
Architecture: x86_64
Install Date: Thursday 28 May 2015 12:34:50 PM IST
Group : Applications/Internet
Size : 1542057
License : BSD
....