Automatisoidussa prosessissa iso tiedosto luodaan tiedostolla mkisofs. Vaikka alkuperäiset tiedot ovat täsmälleen samat, syntyneet iso-tiedostot eivät ole samat (niiden md5sum muutokset). Koska tulen rsync --checksum, en pidä siitä, että ”sama iso” siirretään tietysti joka kerta. Odotan enimmäkseen aikaleimojen olevan pääero.

Onko libfaketime buildin -kytkintä iso tuottamaan iso kautta mkisofs se olisi todellakin sama.

En tiedä, onko vain aikaleimoilla merkitystä? Olen verrannut saatuja iso-tiedostoja niiden xxd isofile -lähtöön näin:

diff --side-by-side --suppress-common-lines <(xxd a.iso) <(xxd b.iso ) 

ja niitä näyttää olevan vain 51 riviä, jotka edustavat 16 tavua (eli noin 800 tavua eroa) toisessa täsmälleen samassa tiedostossa.

Komennon, jota käytettiin kyseisen iso muodostamiseen, on suunnilleen tämä:

genisoimage -o "file.iso" -b isolinux/isolinux.bin \ -c isolinux/boot.cat -no-emul-boot \ -boot-load-size 4 -boot-info-table \ -J -R -v -T -V "CDLABEL" "datadir/" 

BS: Puuttuuko komentorivin parametrikytkin, jossa on rsync, joka tarkistaa summan ~ 1 Mt isojen tiedostojen paloilta, jotta estetään uudelleensiirto, kun minun tapauksessani vain noin 800 tavua eroavat toisistaan?

Kommentit

  • rsync tarkistaa yleensä tiedostojen osat päivitysten optimoimiseksi, mutta ei, jos ne molemmat ovat ilmeisesti paikallisia (esim. nfs: ssä). Pakota se lisäämällä --no-W. Järjestelmän kellon jäljittelemiseksi on libfaketime ja faketime -apuohjelma käyttämällä LD_PRELOAD (jos ei setuid).
  • Hei, julkaisin juuri uuden version julkaisusta schilytools. Mukana toimitettu parannettu mkisofs sisältää toistettavien aikaleimojen tuen. Katso päivitetty vastaus.

Vastaa

Ensimmäinen tärkeä huomautus: Älä käytä genisoimage koska se on viallinen muunnelma mkisofs toukokuusta 2004.

Toukokuuhun 2007 asti runsaasti Debianin erityisvikoja on lisätty ja siitä lähtien se on kuollut.

Tärkeää tietää tässä on, että genisoimage luo viallisia tiedostojärjestelmäkuvia, joita ei joskus enää voida hyväksyä käyttöjärjestelmän kautta …

Virallista mkisofs ylläpidetään kuitenkin edelleen aktiivisesti ja korjattiin runsaasti muita kuin Debianin erityisiä vikoja elokuussa 2006. Tällä hetkellä ei tiedetä virheitä.

Nyt ongelmasi: Käytät -R (Rock Rigde) -toimintoa, ja tämä lisää tiedostojen metatietoihin UNIX -aikaleimat. Tämä on ongelma numero ….

Toinen ongelma on, että ISO-9660-tiedostojärjestelmän superlohko (virallisesti kutsuttu ensisijaiseksi_kuvaajaksi) sisältää luomispäivämäärän ja muokkauspäivän. Jälkimmäistä voidaan ohjata vaihtoehdolla -modification-date.

Jos uskot, että tämä on todella tarvittava ominaisuus, voisin lisätä samanlaisen vaihtoehdon luomispäivämäärään. Sitten tarvitset silti vaihtoehdon, joka kertoo Rock Ridgen muotoiluosalle käyttämään tiedostojen muokkauspäivämäärää viimeisen lukuoikeuden ajan sijasta.

Alkuperäisen lähteen usein päivitetyt versiot ovat osa schilytools tarball, jonka voi noutaa osoitteesta: http://sourceforge.net/projects/schilytools/files/

Tällä hetkellä uusin schilytools tarball otti käyttöön toistettavien ISO-9660-tiedostojärjestelmän kuvien tuen. Hae / käännä / asenna schily-2020-03-27.tar.bz2.

On olemassa muutamia uusia vaihtoehtoja:

  • -noatime käskee mkisofs: n arkistoimaan muokkausaika ajankohtana.

  • -creation-date asettaa PVD: ssä luontipäivämäärän.

  • -expiration-date asettaa PVD: n viimeisen käyttöpäivämäärän.

  • -effective-date asettaa PVD: n voimaantulopäivä

  • -reproducible-date asettaa kaikki ajat paitsi -effective-date ja -noatime.

Tämä toimii vanilja-ISO-9660-tiedostojärjestelmän kuvissa sekä kuvissa, jotka sisältävät Rock Ridge ja UDF. Katso viimeinen man-sivu osoitteesta: http://schilytools.sourceforge.net/man/man8/mkisofs.8.html

Päivitetty komentorivisi näyttäisi tältä :

mkisofs -b isolinux/isolinux.bin \ -c isolinux/boot.cat -no-emul-boot \ -boot-load-size 4 -boot-info-table \ -J -R -v -T -V "CDLABEL" \ -reproducible-date=20200327 "datadir/" > file.iso 

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *