完成流程后 YUM 正在做什么

完成流程后 YUM 正在做什么

例如当我们执行

yum update
yum localinstall xyz

在过程结束时显示

Complete!

当我们执行下一个任何 yum 命令时,它仍然显示

Another app is currently holding the yum lock; waiting for it to exit...

我的问题是:

  • 显示完成的最终消息后它将执行什么类型的过程?
  • 如果我们杀死这个进程会对系统造成损害吗?

答案1

您可以使用该工具查看进程正在使用哪些文件lsof

例子

$ sudo lsof -p $(pgrep yum) | head -10
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.
COMMAND  PID USER   FD   TYPE             DEVICE  SIZE/OFF     NODE NAME
yum     5117 root  cwd    DIR              253,2      4096  8921392 /home/saml/tst/134317
yum     5117 root  rtd    DIR              253,1      4096        2 /
yum     5117 root  txt    REG              253,1     11936   556827 /usr/bin/python2.7
yum     5117 root  mem    REG              253,1    277256   538188 /usr/lib64/libsoftokn3.so
yum     5117 root  mem    REG              253,1     43808   534669 /usr/lib64/libcrypt-2.17.so
yum     5117 root  mem    REG              253,1     18168   535410 /usr/lib64/libplds4.so
yum     5117 root  mem    REG              253,1    247464   534827 /usr/lib64/libnspr4.so
yum     5117 root  mem    REG              253,1     22272   534919 /usr/lib64/libplc4.so
yum     5117 root  mem    REG              253,1   1318904   536248 /usr/lib64/libnss3.so

yum访问RPM数据库等文件时:

yum     5117 root  mem    REG              253,1   1318912  1313544 /var/lib/rpm/__db.003
yum     5117 root  mem    REG              253,1     90112  1312668 /var/lib/rpm/__db.002
yum     5117 root  mem    REG              253,1    311296  1312467 /var/lib/rpm/__db.001

其他进程(包括rpm)也无法访问它。 YUM 还使用sqlite数据库,这些数据库也受到锁定,因此在 YUM 期间其他进程无法使用它们。

杀死百胜

您可以杀死它,但之后您可能需要使用yum-complete-transaction.

$ sudo yum-complete-transaction
$ yum-complete-transaction --cleanup-only

参考

相关内容