在 Ubuntu 14.04 最小 OpenVZ 中無法停止服務 (PostgreSQL)
我試圖停止 PostgreSQL,但這會導致一個奇怪的錯誤
/proc/
:root@dw0wanydbpv14fred:~# service postgresql stop * Stopping PostgreSQL 9.3 database server * Error: /proc must be mounted <----- what ??? To mount /proc at boot you need an /etc/fstab line like: proc /proc proc defaults In the meantime, run "mount proc /proc -t proc" Error: pid file is invalid, please manually kill the stale server process. [fail]
但
/proc
已經安裝:# ls -ld /proc drwxr-xr-x 33 root root 0 Aug 27 23:52 /proc
嘗試再次安裝它(如錯誤消息所示)失敗:
# mount proc /proc -t proc mount: proc already mounted
它實際上是自動安裝的:
# cat /etc/fstab proc /proc proc defaults 0 0 none /dev/pts devpts rw,gid=5,mode=620 0 0 none /run/shm tmpfs defaults 0 0
您對可能發生的事情有任何想法嗎?為什麼我不能停止 PostgreSQL,為什麼會出現錯誤
/proc/
?
ps
作品:# ps PID TTY TIME CMD 508 pts/1 00:00:00 bash 591 pts/1 00:00:00 ps
ubuntu-14.04-x86_64-minimal
這是由 Wable (wable.com) 託管的新配置的 OpenVZ 虛擬化伺服器。除了將語言環境配置為 UTF-8 並安裝 PostgreSQL: 之外,我沒有做更多的事情aptitude install postgresql-9.3 postgresql-contrib-9.3
。這個 StackOverflow 答案建議設置權限,
/proc/
但我不敢相信預設情況下權限是錯誤的?我按照建議將權限更改/proc/
為 755,但沒有幫助。**1 天后更新:**根據要求提供更多詳細資訊:
# ls -l /proc/meminfo -rwx--x--x 1 root root 0 Aug 31 01:03 /proc/meminfo # ls -la /proc | grep '???' # finds nothing # # uname -a Linux dw0wanydbpv14fred 2.6.32-042stab092.2 #1 SMP Tue Jul 8 10:35:55 MSK 2014 x86_64 x86_64 x86_64 GNU/Linux
作為另一個使用者(Postgres)執行
ps
不起作用:(感覺很奇怪。並且service postgresql stop
切換使用者?)root@dw0wanydbpv14fred:~# su - postgres postgres@dw0wanydbpv14fred:~$ ps Error: /proc must be mounted To mount /proc at boot you need an /etc/fstab line like: proc /proc proc defaults In the meantime, run "mount proc /proc -t proc"
我也創建了一個全新的使用者(
useradd username
),它得到了同樣的錯誤。
dmesg
什麼也沒說:# dmesg #
並且
var/log/syslog
不包含任何有趣的內容,只有來自 cron 的一些無趣的消息。執行上述命令後,我
/proc/meminfo
向所有人授予了讀取權限,但沒有幫助:# ll -l /proc/meminfo -rwxr-xr-x 1 root root 0 Aug 31 01:13 /proc/meminfo*
(我仍然得到同樣的錯誤:
Error: /proc must be mounted
。)**更新2:**我能夠像這樣重現錯誤:
在 Wable.com 創建一個新的 OpenVZ ubuntu-14.04-x86_64-minimal。然後:
apt-get update apt-get upgrade locale-gen en_US.UTF-8 update-locale LANG=en_US.utf-8 LC_MESSAGES=POSIX apt-get install postgresql-9.3 postgresql-contrib-9.3
在此之後,服務命令失敗並顯示“錯誤:必須安裝 /proc”(也在重新啟動後):
# service postgresql status 9.3/main (port 5432): online # service postgresql stop * Stopping PostgreSQL 9.3 database server * Error: /proc must be mounted To mount /proc at boot you need an /etc/fstab line like: proc /proc proc defaults In the meantime, run "mount proc /proc -t proc" Error: pid file is invalid, please manually kill the stale server process.
我在託管服務提供商處創建了一張票。
託管服務提供商已解決此問題。我不知道到底是什麼。他們回復了我的票:
We found an selinux issue on the hostnode, this has been permanently correct.