kk的blog

kk的blog

這几天在proxmox建了一個新的centos 7 LXC來用
在yum update總會出現如下的錯誤

Running transaction
  Updating   : filesystem-3.2-25.el7.x86_64                                1/2
Error unpacking rpm package filesystem-3.2-25.el7.x86_64
error: unpacking of archive failed on file /sys: cpio: chown
  Verifying  : filesystem-3.2-25.el7.x86_64                                1/2
filesystem-3.2-21.el7.x86_64 was supposed to be removed but is not!
  Verifying  : filesystem-3.2-21.el7.x86_64                                2/2

Failed:
  filesystem.x86_64 0:3.2-21.el7         filesystem.x86_64 0:3.2-25.el7     

Complete!

我記得之前也開過centos 7的LXC 並沒有這個問題
於是找了一下 有人說是bug
可是看來像是權限的問題
後來想到container 運行時
可以決定是不是要使用 –privileged
想說會不會是這個問題
於是去看了一下option
發現之前建的LXC是使用–privileged 而這次建的是 nonprivileged
可是在網頁介面上無法去更改這個參數
只能進console去改
路徑在 /etc/pve/nodes/nodename/lxc/guestid.conf裡
先關几

#unprivileged: 1
再開几
再重跑一次yum update就沒問題了
正常使用下是不需要打開 privileged 的 如果需要某些特殊權限才打開
所以記得再 關几 改回去 重開几

不過改完之後發現一堆daemon都起不來了
看來還是在一開始建立的時候就要決定要不要使用privileged
目前proxmox預設的值是不使用 要注意
所以我應該還是會選擇使用 privileged 比較沒有那麼多限制

正確的 privilege 跟 nonprivilege 的轉換方式是使用backup 再restore
restore時可以選擇要不要使用 privilege 模式


LXC跟KVM還是有很多小地方不同 要特別注意

http://dockone.io/question/416