Это окно OpenVZ VPS. Например:
$ 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"
$ sudo ps
[sudo] password for ....:
PID TTY TIME CMD
4699 pts/2 00:00:00 sudo
4700 pts/2 00:00:00 ps
Это только недавно началось (возможно, с apt-get upgrade
). Я также недавно запускал locale-gen
, но я не понимаю, как это повлияет на ситуацию.
uname -a
Linux stormvz1 2.6.32-042stab072.10 #1 SMP Wed Jan 16 18:54:05 MSK 2013 x86_64 x86_64 x86_64 GNU/Linux
cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.2 LTS"
ОБНОВЛЕНО
Пробовал изменить / proc, но не помогло:
$ ls -ld /proc
dr-xr-xr-x 98 root root 0 Apr 9 20:11 /proc
$ sudo chmod 755 /proc
[sudo] password for ....:
$ ls -ld /proc
drwxr-xr-x 98 root root 0 Apr 9 20:11 /proc
$ ps
Error: /proc must be mounted
Также сделали несколько перезагрузок - в основном это нормально, но только этот «глюк»
]proc находится в fstab, но, кажется, все в порядке:
grep proc /etc/fstab
proc /proc proc defaults 0 0
Файлы в /proc
выглядят так - что хорошо для моего неподготовленного глаза:
$ sudo ls -la /proc
[sudo] password for kimptoc:
total 4
drwxr-xr-x 105 root root 0 Apr 9 20:11 .
drwxr-xr-x 22 root root 4096 Mar 4 19:18 ..
dr-xr-xr-x 6 root root 0 Apr 9 20:11 1
dr-xr-xr-x 6 root root 0 Apr 9 20:11 108
dr-xr-xr-x 6 postfix postfix 0 Apr 11 02:06 12337
dr-xr-xr-x 6 root root 0 Apr 9 20:11 139
dr-xr-xr-x 6 root root 0 Apr 9 20:11 140
dr-xr-xr-x 6 root root 0 Apr 9 20:11 173
dr-xr-xr-x 6 root root 0 Apr 9 20:11 2
dr-xr-xr-x 6 www-data www-data 0 Apr 9 21:02 2184
dr-xr-xr-x 6 root root 0 Apr 9 20:11 251
dr-xr-xr-x 6 root root 0 Apr 9 20:11 285
dr-xr-xr-x 6 root root 0 Apr 9 20:11 3
dr-xr-xr-x 6 postfix postfix 0 Apr 11 07:20 30162
dr-xr-xr-x 6 root root 0 Apr 11 07:20 30784
dr-xr-xr-x 6 postfix postfix 0 Apr 11 07:20 30825
dr-xr-xr-x 6 postfix postfix 0 Apr 11 07:20 30827
dr-xr-xr-x 6 postfix postfix 0 Apr 11 07:20 30831
dr-xr-xr-x 6 kimptoc kimptoc 0 Apr 11 07:20 30844
dr-xr-xr-x 6 kimptoc kimptoc 0 Apr 11 07:20 30845
dr-xr-xr-x 6 root kimptoc 0 Apr 11 07:20 30907
dr-xr-xr-x 6 root root 0 Apr 11 07:20 30908
dr-xr-xr-x 6 root root 0 Apr 9 20:11 315
dr-xr-xr-x 6 root root 0 Apr 9 20:11 317
dr-xr-xr-x 6 syslog syslog 0 Apr 9 20:11 401
dr-xr-xr-x 6 bind bind 0 Apr 9 20:11 419
dr-xr-xr-x 6 root root 0 Apr 9 20:11 527
dr-xr-xr-x 6 postfix postfix 0 Apr 9 20:11 531
dr-xr-xr-x 6 mongodb nogroup 0 Apr 9 22:10 5372
dr-xr-xr-x 6 root root 0 Apr 9 20:11 557
dr-xr-xr-x 6 root root 0 Apr 9 20:11 559
dr-xr-xr-x 6 root root 0 Apr 9 20:11 663
dr-xr-xr-x 6 www-data www-data 0 Apr 9 20:11 667
dr-xr-xr-x 6 root root 0 Apr 9 20:11 86
-r-xr-xr-- 1 root root 0 Apr 11 07:20 cgroups
-r-xr-xr-- 1 root root 0 Apr 11 07:20 cmdline
-r-xr-xr-- 1 root root 0 Apr 11 07:20 cpuinfo
-r-xr-xr-- 1 root root 0 Apr 11 07:20 devices
-r-xr-xr-- 1 root root 0 Apr 11 07:20 fairsched
-r-xr-xr-- 1 root root 0 Apr 11 07:20 fairsched2
-r-xr-xr-- 1 root root 0 Apr 11 07:20 filesystems
dr-xr-xr-- 3 root root 0 Apr 11 07:20 fs
-r-------- 1 root root 0 Apr 11 07:20 kmsg
-r--r--r-- 1 root root 0 Apr 11 07:20 loadavg
-r-xr-xr-- 1 root root 0 Apr 11 07:20 locks
-r-xr-xr-- 1 root root 0 Apr 11 07:20 meminfo
-r-xr-xr-- 1 root root 0 Apr 11 07:20 modules
lrwxrwxrwx 1 root root 11 Apr 11 07:20 mounts -> self/mounts
lrwxrwxrwx 1 root root 8 Apr 11 07:20 net -> self/net
-r--r--r-- 1 root root 0 Apr 11 07:20 partitions
lrwxrwxrwx 1 root root 64 Apr 9 20:11 self -> 30908
-r-xr-xr-- 1 root root 0 Apr 11 07:20 stat
-r-xr-xr-- 1 root root 0 Apr 11 07:20 swaps
dr-xr-xr-x 1 root root 0 Apr 9 20:11 sys
--wx--x--- 1 root root 0 Apr 11 07:20 sysrq-trigger
dr-xr-xr-- 2 root root 0 Apr 11 07:20 sysvipc
-r-xr-x--- 1 root root 0 Apr 11 07:20 uptime
-r-xr-xr-- 1 root root 0 Apr 11 07:20 user_beancounters
-r--r--r-- 1 root root 0 Apr 11 07:20 version
-r-xr-xr-- 1 root root 0 Apr 11 07:20 vmstat
dr-xr-x--- 3 root root 0 Apr 11 07:20 vz
ОБНОВЛЕНИЕ
Я перестроил VPS в конце :))
Похоже, вы, или, возможно, глючный скрипт, работающий от имени пользователя root, изменили права доступа /proc
. Проверьте их: ls -ld /proc
Это должно исправить это:
sudo chmod 755 /proc
Если этого недостаточно, перезагрузка, вероятно, проще всего. Вы можете хромать.
Проверьте, не затронуты ли другие файлы в /proc
: ls -l /proc
. В зависимости от того, какие файлы были затронуты, исправления может быть достаточно (это не полный список, а только самый важный).
sudo chmod -R 755 /proc/[a-z]*
find /proc -type d -exec sudo chmod +x {} +
sudo chmod 600 /proc/kcore /proc/kmsg /proc/kpagecount /proc/kpageflags /proc/vmallocinfo
sudo chmod 200 /proc/sysrq-trigger
Убедитесь, что у вас нет строки для /proc
в /etc/fstab
(обычно это не нужно, потому что скрипт запуска монтирует ее на ранних этапах процесса загрузки в любом случае), или, если вы это делаете, она содержит только следующее (и, возможно, 0 0
в конце):
proc /proc proc defaults
Если ваш fstab
правильный и перезагрузка не решает все проблемы, у вас есть большая проблема. Публикуйте хотя бы выходные данные sudo ls -la /proc
и uname -a
.
Сегодня у меня была эта точная проблема. Это оказалось неполным профилем apparmor для PS. Используя sudo aa-logprof
я получил этот новый профиль в/etc/apparmor.d/, который восстановил PS к его нормальному:
# Last Modified: Thu Mar 14 10:49:01 2019
#include <tunables/global>
/bin/ps {
#include <abstractions/base>
#include <abstractions/consoles>
#include <abstractions/nameservice>
#include <abstractions/totem>
capability sys_ptrace,
/bin/ps mr,
/etc/ld.so.preload r,
/proc/*/cmdline r,
/proc/*/stat r,
/proc/*/status r,
/proc/*/wchan r,
/proc/filesystems r,
/proc/meminfo r,
/proc/sys/kernel/osrelease r,
/proc/sys/kernel/pid_max r,
/proc/tty/drivers r,
/proc/uptime r,
}
не забывайте:
sudo service apparmor restart
или /etc/init.d apparmor restart
после внесения любых изменений.