CentOS 7.1 – Ripristino della vecchia funzionalità di top e servizio

Recentemente ho installato un nuovo CentOS 7.1 server. Sto notando alcune differenze da CentOS 6.7 e spero che ci sia un modo per tornare a una vecchia visione di alcune cose.

Per esempio:

  • Qual è la migliore pratica per mantenere un server Linux ubuntu aggiornato (build packages, dist-upgrade, alt repost ...)
  • Quale pacchetto Linux contiene il command "top"?
  • Qual è l'impatto sul rendimento del NCQ disabilitato?
  • Ritardo all'avvio di NIS e NFS fino a quando l'interface di networking è pronta per Fedora 17
  • Attendere che il servizio systemd onehot finisca
  • FirewallD: Consenti le connessioni solo da determinati indirizzi IP
  • Domanda 1: in top

    Il command Top visualizza i dati in modo diverso. Per esempio:

    Nuova vista dall'alto:

     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 

    Vecchia vista dall'alto:

     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 

    C'è un modo per visualizzare la memory e le statistiche utilizzando il vecchio formato?

    Domanda 2: Comando di service

    Con Centos 6.7, se facessi qualcosa come il service httpd restart , mi darebbe un messaggio OK o Failure . CentOS 7.1 non sembra farlo.

    Vecchia vista:

     # service httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ] 

    Nuova visualizzazione:

     # service httpd restart Redirecting to /bin/systemctl restart httpd.service 

    C'è un modo per tornare alla vecchia vista? Mi rendo conto che questo è un po 'banale, ma ci sono state molte volte in cui un servizio non è stato già avviato o non si fermerebbe per qualche ragione. Lo stato del messaggio è un bel modo per vederlo.

  • Come gestisci gli aggiornamenti su un server?
  • Conoscere (in sintesi) il tuo client Mac è aggiornato
  • Qual è la migliore pratica per mantenere un server Linux ubuntu aggiornato (build packages, dist-upgrade, alt repost ...)
  • Prove di integrazione continua degli aggiornamenti RPM
  • Aggiornamento di soluzioni di networking Virtual Private Server
  • Aggiornamento in loco di Windows Server 2008 (non R2) fino al 2012
  • 3 Solutions collect form web for “CentOS 7.1 – Ripristino della vecchia funzionalità di top e servizio”

    Domanda 1

    Provate ad usare il top -M invece.

     -M : Detect memory units Show memory units (k/M/G) and display floating point values in the memory summary. 

    KiB è un'unità SI che rappresenta 1000 byte, where KB rappresenta 1024 byte.

    Personalmente, ho sempre installato semplicemente l' htop e l'uso, invece, come mi sembra più leggibile, molto più informativo e molto più potente.

    Inoltre, free -k (kilobyte), free -m (megabyte) o free -g (gigabyte) forniranno anche le informazioni di utilizzo della memory che stai cercando.

    Modifica: Per ulteriori indagini, il top -M potrebbe non funzionare su CentOS 7. Ecco una grande risposta con alcuni approcci alternativi e alternative a top e htop .

    Domanda 2

    CentOS 7 ha sostituito il legacy sysvinit con systemd . Questo è un cambiamento significativo ma necessario, poiché il sysvinit è diventato abbastanza obsoleto e lavorare attorno alle sue carenze può essere una lotta per gli sviluppatori e gli amministratori. Ubuntu, Debian, RHEL, SUSE, e quasi tutte le altre importnti distribuzioni Linux hanno anche fatto il passaggio a systemd .

    Il modo corretto di interagire con un servizio systemd su queste distribuzioni è quello di utilizzare il command systemctl :

     restart NAME... Restart one or more units specified on the command line. If the units are not running yet, they will be started. 

    Quindi, nel tuo caso:

     systemctl restart httpd 

    Usando systemctl vi mostrerà l'indicazione del successo o dell'errore che stai cercando (e restituire un codice di output appropriato).

    Come ha detto @Iian , abbraccia questi cambiamenti, poiché questa stessa modifica è già avvenuta su each grande distribuzione Linux.

    CentOS 7 è un OS molto diverso da CentOS 6. Invece di voler andare indietro si dovrebbe abbracciare la modifica e spostarsi in avanti. Non potete andare indietro con questi comandi (o altri realmente) senza tornare al C6.

    Impara a utilizzare systemctl invece che al service ; è altrettanto facile quando la memory muscolare viene ricavata. Attendi finché dovresti lavorare con firewalld , però, è divertente.

    Altre cose che trovenetworking diverse.

    Il pacchetto net-tools che fornisce netstat , ifconfig ecc non viene installato per impostazione predefinita è stato sostituito dagli strumenti in iproute ss , ip ecc.

    Molti dei registri utilizzati per esaminare non sono in / var / log che è necessario abilitare rsyslog per accedere a loro o utilizzare il journalctl.

    Ohh e ci sono hostnamectl e … e …

    La seconda questione relativa alla mancanza di stato durante il riavvio del servizio httpd è perfettamente ragionevole.
    Il command di service è obsoleto e devi abituare al command systemctl .
    Ma dovrai anche abituare al command di systemctl status .
    Invece di

      # servizio httpd riavviare 

    Dovrai digitare

      # systemctl riavvia httpd
     # status systemctl httpd
     # status systemctl httpd
     ● httpd.service - Il server HTTP Apache
        Caricato: caricato (/usr/lib/systemd/system/httpd.service; distriggersto; preimpostato fornitore: disabilitato)
        Attivo: attivo (in esecuzione) dal sabato 2016-01-02 11:45:01 CET;  8 anni fa
          Documenti: uomo: httpd (8)
                uomo: apachectl (8)
      Principale PID: 29795 (httpd)
        Stato: "Richieste di elaborazione ..."
        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]: Avviare il Apache HTTP Ser ....
     Jan 02 11:45:01 vm.certdepot.net systemd [1]: Avviato il server HTTP Apache.
     Suggerimento: Alcune righe sono state elipse, usa -l per mostrare in pieno. 

    È chiaro che dovrai digitare due comandi invece di uno, che non è un chiaro progresso.
    Tuttavia, avrai un'idea molto migliore della configuration corrente:

    • è il servizio in esecuzione?
    • quali messaggi gli scrivevano durante l'avvio nei messaggi di log?
    • è il servizio triggersto all'avvio?
    • quale file di unità di configuration è stato utilizzato?
    • che CGroup questo servizio appartiene?
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.