cpio VS tar e cp

Ho appena imparato che cpio ha tre modi: copy-out, copy-in e pass-through.

Mi chiedevo quali sono i vantaggi e gli svantaggi di cpio sotto copia e modalità di copia sul catrame. Quando è meglio utilizzare cpio e quando usare catrame?

  • SSD per scopi archivistici?
  • È ansible modificare le impostazioni del BIOS da Linux?
  • Trasferire un file tar da 30 GB da un server remoto in un altro - restrittivo dallo spazio su disco
  • Chroot sembra mancare alcuni progs / libs. Cosa serve per get il comportmento predefinito della row di command?
  • impedire a xargs di smettere di errore
  • Copia ricorrente di file nascosti - Linux
  • Simile domanda per cpio in modalità pass-through versus cp.

    Grazie e saluti!

  • Come escludere i file dall'archivio TAR utilizzando espressioni regolari?
  • Archiviazione e-mail in un ambiente di Exchange
  • SSD per scopi archivistici?
  • Tar: evitare l'archiviazione di file di size maggiori
  • Soluzioni automatiche di stoccaggio automatiche a domicilio con Linux? (Memoria -> SSD -> HDD -> memory remota)
  • Quali sono alcuni ottimi methods per archiviare i messaggi MS Exchange?
  • 4 Solutions collect form web for “cpio VS tar e cp”

    Questa è una panoramica estremamente generica:

    CPIO esegue un lavoro migliore di duplicazione di un file system, incluso il backup dei file. Conserva le cose come i collegamenti hardlinks, i fifos e altre funzionalità di file non-standard. La maggior parte delle implementazioni di CPIO fanno tutto il TAR, inclusi i file .tar di lettura e scrittura. CPIO prende solitamente un elenco di file dall'ingresso standard all'archivio; questo rende molto facile fare un elenco da qualcos'altro (come find ).

    Il passthrough di CPIO è molto utile se si dispone di un elenco molto lungo di file che si desidera copiare dalla directory A alla directory B. (Ad esempio, è ansible utilizzare la find per individuare tutti i file che sono stati modificati negli ultimi 2 anni nel sistema)

    TAR fa un lavoro migliore semplicemente di scaricare tutti i file standard da / da un nastro (o un file di archivio). È un po 'più semplice da usare (per le attività più comuni). Soddisfa facilmente le richieste di backup più semplici; e la maggior parte della sua popolarità è da questo fatto.

    E adesso per la bella printing. Ci sono diverse versioni e implementazioni di CPIO e TAR. Ognuna ha caratteristiche diverse e alcune hanno diverse opzioni di row di command. Ci sono cose che ognuno può fare quando l'altro non può; se ti trovi limitati da uno, prova l'altro. Ognuno ha un favorito, e il 99% del tempo farà il task.

    Su AE 3 redhat, ho scoperto che cpio aveva una limitazione di dimensione di 2 GBytes su un stream di output. Tuttavia, il catrame non ha questa limitazione.

    Altri sisthemes potrebbero avere diverse limitazioni.

    Preferisco anche CPIO. Tuttavia, quando si utilizza cpio su un set di file di origine sconosciuta (come i file creati dagli utenti finali) è meglio lavorare con i nomi di file terminati NUL : usare il flag -print0 per trovare e aggiungere flag 0 a cpio . In questo modo i file con nomi strani (come quelli che includono i caratteri CRNL ) verranno trattati correttamente.

     cd / && find . -xdev -print0 | cpio -pmdu0 /mnt/ 

    Non vedo alcuna ragione per utilizzare cpio per qualsiasi motivo, tranne la copia di file RPM aperti, tramite disrpm o rpm2cpio , ma ci possono essere casi d'angolo in cui cpio è preferibile al catrame.

    Storia e popolarità

    Sia tar e cpio sono formati di concorrenza concorrenti che sono stati introdotti in Version 7 Unix nel 1979 e poi inclusi in POSIX .1-1988, anche se solo il catrame è rimasto nello standard successivo, POSIX.1-2001 1 .

    Il formato di file di Cpio è cambiato più volte e non è rimasto completamente compatibile tra le versioni. Ad esempio, ora è presente una rappresentazione codificata ASCII dei dati di informazioni sui file binari.

    Tar è più conosciuto in tutto il mondo, è diventato più versatile nel corso degli anni e è più probabile che sia supportto su un dato sistema. Cpio è ancora utilizzato in alcune aree, come il formato del pacchetto Red Hat (RPM), anche se RPM v5 (che è assolutamente oscuro) utilizza xar invece di cpio.

    Entrambi vivono nella maggior parte dei sisthemes Unix, anche se il catrame è più comune. Ecco le statistiche di installazione di Debian :

     #rank name inst vote old recent no-files (maintainer) 13 tar 189206 172133 3707 13298 68 (Bdale Garbee) 61 cpio 189028 71664 96346 20920 98 (Anibal Monsalve Salazar) 

    Modalità

    Copia : Questo è per la creazione di archivio, simile a tar -pc

    Copia-in : Questo è per l'estrazione dell'archivio, simile a tar -px

    Pass-through : Questo è sostanzialmente entrambi di quanto sopra, simile a tar -pc … |tar -px ma in un singolo command (e quindi microscopicamente più veloce). È simile a cp -pdr , anche se sia cpio che (in particolare) catrame hanno più personalizzabilità. Consideriamo anche rsync -a , che la gente spesso dimentica poiché è più utilizzata in una connessione di networking.

    Non ho confrontato le loro performance, ma mi aspetto che saranno molto simili nella CPU, nella memory e nelle size dell'archivio (dopo la compressione).

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