Quali sono gli strumenti / utilità che dovresti assolutamente conoscere mentre lavori come Linux o Windows Sysadmin.
Sto pensando ad esempio a GNU / schermo di cui avrai bisogno se lavori su server Linux.
Quali sono gli strumenti / utilità che dovresti assolutamente conoscere mentre lavori come Linux o Windows Sysadmin.
Sto pensando ad esempio a GNU / schermo di cui avrai bisogno se lavori su server Linux.
Risposte:
vi - So che non piace a tutti, ma è praticamente su qualsiasi server * nix che incontri, e quando tutto il resto è rotto dovrai modificare i file di configurazione. Vorrei anche suggerire csh e sh per gli stessi motivi
Come amministratore di sistema di Windows, devi assolutamente conoscere SysInternals . Sia per la programmazione che per la diagnosi di ciò che sta accadendo con una macchina, questi sono inestimabili.
PuTTY : un ottimo client SSH gratuito per Windows. Praticamente ovunque ho lavorato per usarlo per connettermi ai server Unix da Windows.
Non dimenticare che un sysdamin deve diventare fisico con le loro scatole di computer!
Devi assicurarti di averne almeno uno
Alcuni ragazzi scrivono anche delle 10 cose migliori che lui / lei pensa che tutti dovrebbero avere nella loro cassetta degli attrezzi.
Scripting.
Ho imparato che anche la shell di comando standard di Windows può essere davvero utile. Non è necessario installare PowerShell o cygwin per ottenere una funzionalità di script decente, soprattutto quando si suppone che gli script vengano distribuiti sui computer client.
Strumenti di Windows:
Nel recente debug di un problema multicast che stavo riscontrando, ho trovato NMap incredibilmente utile per il debug del traffico di rete. Anche Wireshark è stato utile.
Ci sono un sacco di piccoli strumenti unix / linux che sono utili
anche grep, strace, GNU Screen, individuare, rsync, sed, awk e tripwire sono piuttosto interessanti.
L'elenco potrebbe continuare all'infinito, sono sicuro che ho dimenticato molto più dell'elenco qui. Inoltre, scopri come configurare questi strumenti nel modo desiderato, ad esempio la configurazione dei file. * Rc. Questo li renderà tutti molto più utili. Ad esempio, ecco il mio file .screenrc, poiché sembri interessato allo schermo.
1 startup_message off
2 hardstatus alwayslastline
3 hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]'
4
5 # Window numbering starts at 1, not 0.
6 bind c screen 1
7 bind 0 select 10
8
9 # Default screens
10 screen -t shell1 1
11 screen -t shell2 2
12 screen -t shell3 3
Il compagno perfetto di PuTTY per gli utenti Windows che gestiscono macchine remote * nix per me è WinSCP , un client FTP, SCP e SFTP perfetto, piccolo, semplice e davvero utilizzabile.
PowerShell! Powershell è una fantastica shell di comandi per Windows, costruita su .NET framework.
Su qualsiasi piattaforma dovresti avere familiarità con gli strumenti di backup nativi e popolari. Niente mi infastidisce peggio di un amministratore di sistema che non sa come fare un buon backup. Un buon backup ti salverà da quasi tutti gli errori che potresti fare.
-ntbackup su Windows, dd / tar su Linux -dump dump del database -tftp per il backup di switch / router / dispositivi
Gli strumenti di scripting della shell: bash / sh, awk, grep, head, tail, less, cat, sort, uniq, wc (e altri)
Awk consente di analizzare facilmente i file di registro o altri file che sono fondamentali quando è necessario diagnosticare un problema. Alcune persone usano perl
per questo. Non hai bisogno di sapere tutto su nessuno dei due strumenti, ma dovresti sapere qualcosa, in modo da poter controllare quel registro di accesso o il registro http e capire se sta succedendo qualcosa di insolito.
Combina awk con sort, uniq, tail, grep e wc per semplificarti la vita.
Mescola alcuni script di shell. È molto utile poter fare cose del genere
for i in server1.example.com server2.example.com server3.example.com ; do
xterm -e "ssh ${i} tail -f /var/log/message | grep something ";
done;
questo ti permette di accedere ai log su tre server per something
. Trucchi come questo ti fanno risparmiare un sacco di tempo ed è tutto dovuto agli strumenti di scripting della shell.
for i in server{1,2,3}.example.com ; do
. Scorciatoie come questa consentono di risparmiare molta digitazione.
tail
- Disponibile sulla maggior parte dei sistemi Linux / Unix consente di visualizzare le ultime righe di un file (o la coda). tail -f
ti permette di visualizzare le nuove linee aggiunte al file così come appaiono.
Per Windows mi piace BareTail .
tail -F
(al contrario di tail -f
) ti dà il comportamento follow-by-name, anziché follow-by-inode.
Questa probabilmente non è la risposta che volevi, ma volevo solo condividere alcuni pensieri. In generale l'amministrazione del sistema non riguarda solo gli strumenti, ma anche la struttura mentale che si utilizza. In breve: se sai quali attività vuoi svolgere, trovare uno strumento per farlo è piuttosto semplice.
Fondamentalmente ci sono alcune domande che l'amministratore di sistema deve sapere sul sistema:
Ora la scelta personale degli strumenti è ... personale.
A proposito, la risposta su vi è fantastica!
m
Un buon editore. Non importa quale, certamente non sono qui per iniziare una guerra di fiamma. Ma devi imparare un buon editor.
Uso Emacs per quasi tutto. Vi (m) è un altro buono. Non sono sicuro di quale sarebbe il migliore in Windows, ma suppongo che le varianti di Win32 del 2 che ho menzionato sarebbero buone.
dmidecode - Eccellente per ottenere tutti i tipi di informazioni sulla macchina su cui è in esecuzione
strace - per quando non riesci a capire perché il comando che stai impartendo non funziona come desideri
trova - Ci sono più opzioni per questo piccolo comando di cui probabilmente sei a conoscenza. Leggi la pagina man e lasciati illuminare
xargs - Molto, molto utile quando devi occuparti di elenchi di cose
rsync - Conoscere rsync e le sue varie opzioni è fondamentale per spostare i dati in modo sicuro e rapido nella rete
telnet - l'umile comando telnet mi ha probabilmente aiutato a diagnosticare più problemi di connettività di rete negli anni rispetto a qualsiasi altro comando
nmap - tranne forse nmap
nc - netcat è fantastico per impostare server veloci per vedere cosa stanno cercando di fare i client, o anche per "telnet" usando udp. Leggi i tutorial per vedere quanto è veramente potente
Telnet s_client di openssl su una connessione protetta in server https per diagnosticare le stranezze.
Sono sicuro che ce ne saranno molti altri che ricorderò alla fine. Torna indietro per gli aggiornamenti ;-)
Process Monitor in particolare per risolvere i problemi di autorizzazione .
Sto diventando un grande fan di DTrace, anche se a questo punto non è disponibile per Windows.
Mi chiedo che nessuno abbia menzionato VNC .
Alcuni normalmente uso:
ps : per vedere i processi attualmente in esecuzione
wc : conteggio parole. Visualizza nuove righe, parole, byte.
grep : trova pattern. Corrispondenza o nessuna corrispondenza (corrispondenza inversa)
> per reindirizzare l'output su un nuovo file o >> da aggiungere alla fine di un file.
| mettere insieme i comandi. Output del primo comando utilizzato nel successivo.
tee : scrive l'input che riceve in un file e visualizza anche il testo sullo schermo.
catena più comune che uso:
ps ax | grep mysql
Per Windows, non dimentichiamo NET e NETSH, ti perderesti nelle reti senza di loro.
Su unix, dmesg. Raccoglie tutti i messaggi di diagnostica del sistema e li visualizza sullo schermo.
E sì, è stato 'obsoleto' da syslogd, ma non ho ancora capito come ottenere la configurazione di syslogd per visualizzare le cose esattamente come fa Dmesg.
tail /var/log/kern.log
Deve essere SSH e Putty per me: risparmia così tante gambe e viaggi non è vero, e non c'è confusione con le impostazioni grafiche o in attesa di aggiornamento dello schermo :-)