Come si scrive una documentazione / piani di distribuzione Linux?

Ho pochi, relativamente piccoli, server che eseguono Linux distros. A volte ho bisogno di reinstallare uno o due server di "sviluppo" da zero. Spesso dimentico di installare piccole cose, ad esempio. inoltrare in sysctl.conf o dimenticare di installare script di aggiornamento di aggiornamento, pacchetti non essenziali ma utili ecc.

Idealmente, vorrei avere una configuration esatta tra tutti.

  • Stampa da Linux a printingnte in networking di Windows
  • Quali sono le differenze tra le modalità di collegamento dei canali in Linux?
  • come limitare il numero di processi simultanei per utente nel sistema?
  • Come limitare l'utilizzo della networking per l'applicazione concreta in Linux in esecuzione?
  • Client in grado di raggiungere Internet tramite OpenVPN
  • Linux - Come posso vedere cosa aspetta il disco IO?
  • 1) Come affrontare il process di documentazione del process di distribuzione per riordinare le cose? Mi puoi dare qualche esempio?

    2) Utilizzi alcuni degli strumenti di distribuzione più diffusi? Ho guardato cose come lo chef e il burattino, ma mi sembrano troppo complicate per me proprio ora. Qualcosa di più semplice?

    4 Solutions collect form web for “Come si scrive una documentazione / piani di distribuzione Linux?”

    Che cosa non ti piace di Puppet (o Chef)? Sono strumenti che sono progettati per fare esattamente quello di cui hai bisogno. Se è la complessità dell'installazione client / server, per uno di loro è ansible saltare l'installazione del componente server e eseguire semplicemente il client in modalità "standalone" o "solo".

    Sto finalmente trasferendo in un sistema di Chef per scala / scoperta automatica, ma adesso controlla direttamente il process di bootstrap del server direttamente dal codice sorgente della cosa in cui ho bisogno del server da distribuire. Non sei sicuro se sei sul webstack o se stai utilizzando ruby, ma uno strumento veramente bello da utilizzare se sei: recap (basato su Capistrano)

    Permette di eseguire script su qualsiasi numero di server remoti. Funziona usando un 'Capfile' per definire i server e simili, e poi ha alcune costruite in attività che è ansible estendere. Uno di essi è il: task di bootstrap. Quindi ho una catena semplice quando provvedo a nuovi server di

    before 'bootstrap', 'bootstrap:dependencies' 

      namespace :bootstrap do task :dependencies do uname = capture('uname -r') abort('ENV Not Supported') unless uname.strip == "some uname version" sudo('apt-get -y install build-essential') run('echo 'America/New_York' | sudo tee /etc/timezone') end end 

    Questo è solo un esempio di alcune cose che puoi fare utilizzando i comandi "capture", "sudo" e "run" che ricapitolano. Naturalmente, questo esempio presuppone che il software che stai distribuendo sia legato alla pila di ruby, ma il punto è che ci sono strumenti come questo per tutti i tipi di linguaggi / frameworks.

    Il mio suggerimento è semplicemente quello di bind il provisioning del server al codice che stai distribuendo su quel server, a less che non si desideri andare per uno strumento come lo chef o il burattino.

    Alcuni script di modularizzazione semplici e swinging sia come metodo di rollout che documentazione autonoma? Fino a che tu vai a marionetta / chef / somethingelse …

    Per ambienti dev sono un grande fan di Vagrant. È più semplice (IMHO) grazie a chef e fantoccio e in pratica ti permette di configurare una volta l'ambiente e poi strapparlo e ripristinare il contenuto del tuo cuore.

    Guarda; http://www.vagrantup.com/

    Poiché questa è la seconda domanda questa settimana che ho raccomandato Vagrant per, voglio solo dichiarare che non sono in alcun modo affiliati con loro e non get niente da raccomandare loro!

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.