Недавно я установил новый сервер CentOS 7.1. Я замечаю несколько отличий от CentOS 6.7 и надеюсь, что есть способ вернуться к старому взгляду на определенные вещи.
Например:
top
Команда Top отображает данные иначе. Например:
Новый вид сверху:
top - 00:27:45 up 4:58, 1 user, load average: 0.08, 0.50, 0.89
Tasks: 155 total, 2 running, 153 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 1.1 sy, 0.0 ni, 98.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 4047624 total, 1938600 free, 853888 used, 1255136 buff/cache
KiB Swap: 4194300 total, 4194300 free, 0 used. 2860704 avail Mem
Старый вид сверху:
top - 00:28:59 up 22:49, 1 user, load average: 0.19, 0.21, 0.24
Tasks: 157 total, 1 running, 156 sleeping, 0 stopped, 0 zombie
Cpu(s): 17.9%us, 1.0%sy, 0.0%ni, 80.9%id, 0.2%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 4055052k total, 3456240k used, 598812k free, 584160k buffers
Swap: 4194296k total, 191184k used, 4003112k free, 1076124k cached
Есть ли способ вывести память и статистику в старом формате?
service
КомандаС Centos 6.7, если бы я сделал что-то вроде service httpd restart
, это дало бы мне OK
или Failure
сообщение. CentOS 7.1, похоже, этого не делает.
Старый вид:
# service httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
Новый вид:
# service httpd restart
Redirecting to /bin/systemctl restart httpd.service
Есть ли способ вернуться к прежнему виду? Я понимаю, что это несколько тривиально, но было много случаев, когда служба еще не была запущена или не останавливалась по какой-либо причине. Статус сообщения - хороший способ увидеть это.
CentOS 7 значительно отличается от CentOS 6. Вместо того, чтобы идти назад, вы должны принять изменения и двигаться вперед. Вы не можете вернуться назад с этими командами (или любыми другими), не вернувшись к C6.
Научитесь использовать systemctl
вместо того service
; это так же просто, если заново изучить мышечную память. Подождите, пока вам придется работать с firewalld
хотя, это «весело».
Другие вещи, которые вы найдете по-другому.
В net-tools
пакет, который предоставляет netstat, ifconfig etc не установлен по умолчанию, он был заменен инструментами в iproute
сс, ip и т.п.
Многие из журналов, которые вы привыкли изучать, находятся не в / var / log, вам нужно включить rsyslog для доступа к ним или использовать journalctl.
Ох, а есть hostnamectl и ... и ...
Попробуйте использовать top -M
вместо.
-M : Detect memory units
Show memory units (k/M/G) and display floating point values in the
memory summary.
KiB
единица СИ, представляющая 1000
байты, где KB
представляет 1024
байтов.
Лично я всегда просто устанавливаю htop
и используйте его вместо этого, поскольку я считаю его гораздо более читаемым, гораздо более информативным и гораздо более мощным.
Также, free -k
(килобайты), free -m
(мегабайты) или free -g
(гигабайты) также предоставят информацию об использовании памяти, которую вы ищете.
Редактировать: При дальнейшем расследовании top -M
может не работать на CentOS 7. Вот отличный ответ с некоторыми альтернативными подходами и альтернативами top
и htop
.
CentOS 7 заменены наследие sysvinit
с участием systemd
. Это существенное, но необходимое изменение, поскольку sysvinit
устарел, и устранение его недостатков может стать проблемой для разработчиков и администраторов. Ubuntu, Debian, RHEL, SUSE и почти любой другой крупный дистрибутив Linux также перешли на systemd
.
Правильный способ взаимодействия с systemd
сервис в этих дистрибутивах заключается в использовании systemctl
команда:
restart NAME...
Restart one or more units specified on the command line. If the units are not running
yet, they will be started.
Итак, в вашем случае:
systemctl restart httpd
С помощью systemctl
покажет вам признак успеха или неудачи, который вы ищете (и вернет соответствующий код выхода).
Так как @Iian сказал, примите эти изменения, поскольку такое же изменение уже произошло во всех основных дистрибутивах Linux.
Ваш второй вопрос об отсутствии статуса при перезапуске httpd
обслуживание вполне разумное.
В service
команда устарела, вам нужно будет привыкнуть к systemctl
команда.
Но вам также нужно будет привыкнуть к systemctl status
команда.
Вместо того
# service httpd restart
Вам нужно будет ввести
# systemctl restart httpd # systemctl status httpd # systemctl status httpd ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled) Active: active (running) since Sat 2016-01-02 11:45:01 CET; 8s ago Docs: man:httpd(8) man:apachectl(8) Main PID: 29795 (httpd) Status: "Processing requests..." CGroup: /system.slice/httpd.service ├─29795 /usr/sbin/httpd -DFOREGROUND ├─29796 /usr/sbin/httpd -DFOREGROUND ├─29797 /usr/sbin/httpd -DFOREGROUND ├─29798 /usr/sbin/httpd -DFOREGROUND ├─29799 /usr/sbin/httpd -DFOREGROUND └─29800 /usr/sbin/httpd -DFOREGROUND Jan 02 11:45:01 vm.certdepot.net systemd[1]: Starting The Apache HTTP Ser.... Jan 02 11:45:01 vm.certdepot.net systemd[1]: Started The Apache HTTP Server. Hint: Some lines were ellipsized, use -l to show in full.
Понятно, что вам нужно будет ввести две команды вместо одной, что не является очевидным прогрессом.
Однако вы получите гораздо лучшее представление о текущей конфигурации: