2015年5月8日 星期五

[OpenSuSE] YaST2 Control Center is not running as root.\nYou can only see modules that do not require root privileges.

[狀況]
最近Server一直出問題,常常網路服務會斷線

ssh連進去用yast才發現大條了,跳出以下視窗,重開機也無效。

"「YaST2 控制中心」不是以 root 權限執行。\n您只會看到不需要 root 權限的模組。"


一度懷疑難道被駭了XD,

於是打了whoami

我的確是root..

然後上網爬了文爬了這篇,他的問題是記憶體不足,
http://www.linuxintro.org/wiki/YaST2_Control_Center_is_not_running_as_root

於是我也學他跑了
strace -ffs 100 yast 2>file
結果竟無法導出至file


只好用
strace -ffs 100 yast 2>&1|less
導進less來看,太多系統的call我看不懂,於是放棄

繼續GOOGLE到github上有放code
https://github.com/yast/yast-yast2/blob/master/library/desktop/src/clients/menu.rb

def OpenMenu # check if user is root (#246015)
output = Convert.to_map(
SCR.Execute(path(".target.bash_output"), "/usr/bin/id --user")
)
@root = Ops.get_string(output, "stdout", "") == "0\n"
...
# show popup when running as non-root
if !@root
Popup.Notify(
_(
"YaST2 Control Center is not running as root.\nYou can only see modules that do not require root privileges."
)
)
end
nil
end
執行/usr/bin/id --user確認身分是否為ID=0,然後判斷完丟給root變數(True/False)

發現又是個重導(redirection)

想到是否是"導出"的問題,

於是先df看了硬碟使用狀況

尼馬原來是硬碟滿了

把硬碟清出空間以後就沒事了,害我數度以為要重灌了= =

給網路上諸位苦主參考,這個警示訊息真得會嚇死人阿..,以為被駭




----

提供個指令,能查找硬碟內某資料夾最大的幾個檔案
du -sh ./*|sort -rn|head