Wat is het formaat van een .xip-bestand

Aangezien Xcode 8 beta beschikbaar is om te downloaden, zie ik dat het wordt gedistribueerd met een .xip extensie, Xcode_8_beta.xip.

Wat is het .xip-formaat? Wat is het verschil tussen het vorige .dmg-formaat?

Antwoord

Volgens de xip handmatige pagina:

Een XIP-bestand is analoog aan zip (1), maar maakt het mogelijk een digitale handtekening toe te passen en te verifiëren op het ontvangende systeem, voordat het archief wordt uitgebreid. Wanneer een XIP-bestand wordt geopend (door te dubbelklikken), zal Archive Utility het automatisch uitbreiden (maar alleen als de digitale handtekening intact is).

In wezen is een .xip -bestand slechts een .zip met een handtekening om te verifiëren dat het bestand niet is gewijzigd sinds de maker het heeft opgeslagen. Dit beschermt tegen zowel schade door een schijffout als tegen het knoeien door derden met het bestand.

Antwoord

De .xip bestandsformaat bevat een archief (xar met een gzip archief en metagegevens) en een handtekening van het archief.

Gebruik de volgende opdrachten om een .xip -bestand te decoderen:

pkgutil --check-signature <xip-file> xar -xf <xip-file> tar -zxvf <xar-file> 

Zie de volgende links waar ontwikkelaars dit formaat en de implicaties ervan bespreken:

Niet voor openbaar gebruik

Apple heeft sindsdien xip verwijderd uit openbaar gebruik. Het formaat is gereserveerd voor exclusief gebruik door Apple in de toekomst, zie TN2206 :

Belangrijk: Vanaf macOS Sierra worden alleen XIP-archieven die door Apple zijn ondertekend, uitgebreid. Ontwikkelaars die XIP hebben gebruikt archieven moeten worden verplaatst naar het gebruik van ondertekende installatiepakketten of schijfkopieën.

Opmerkingen

  • Dat didn ' werkt niet voor mij voor Xcode_8_GM_seed.xip. Nadat ik xar had gebruikt, had ik wat lijkt op een pbzx-bestand in plaats van een gzip-archief.
  • xar -xf Xcode_8.xip heeft nul bestanden geproduceerd onder 10.11.4
  • Als xip kan worden uitgevouwen, zullen de bestanden in dezelfde map staan als het origineel . Volgens @AntonTropashko is het waarschijnlijk dat er geen bestanden zullen worden geproduceerd.
  • Het lijkt erop dat XIP-bestanden variëren naargelang de geproduceerde datum, ik was in staat om een Inhoud " en " Metadata " bestand uitgepakt, met Inhoud met ogenschijnlijk onbewerkte gegevens die niet ' t xz gecomprimeerd waren.
  • Mijn eerste gok zou zijn dat de inhoud van de Metadata bestand geeft de compressie aan die wordt gebruikt voor de onbewerkte gegevens. Aangezien Apple het formaat opnieuw heeft toegeëigend voor privégebruik, kunnen ze het wijzigen zonder openbare documentatie.

Antwoord

Voor zover ik weet is xip een xar-derivaat met gzip-compressie, met een toc-header xml met checksum, tijdstempel, certificaten, gebruikers-ID / naam, aanmaak / wijziging / toegangsdatum & tijd etc.

Answer

De hulpprogrammas Unarchiver en de opdrachtregel (xar, tar) werkten niet voor mij op MacOS 10.12 .6. Wat wel werkte, was rechtsklikken op het .xip-bestand en “Archive Utility” selecteren, het was in staat om het .xip-bestand met succes uit te vouwen.

voer de beschrijving van de afbeelding hier in

Reacties

  • Kon je xcode installeren gebruik je het .xip-bestand?
  • Ja, dubbelklikken op het .xip-bestand extraheert de XCode-applicatie. Het ' kopieert het niet naar de Applicaties map dus je zult dat deel zelf moeten doen.
  • Als ik een Xcode 10 heb en nadat ik op .xip Xcode 11 heb geklikt, zal het de vorige vervangen? En moet ik het naar de map Toepassingen kopiëren?
  • @OliverD het is mogelijk om versies van XCode naast elkaar te installeren voor het geval u zowel XCode 10 als XCode 11 wilt gebruiken, geef ze dan verschillende namen in uw Map Toepassingen. Anders, als je ' geen XCode 10 meer nodig hebt, zou ik waarschijnlijk aanraden om de oude XCode.app naar de prullenbak te slepen.
  • @mbonness Nou, ik heb ' geen Xcode 10 nodig, dus moet XCode 10 slepen voordat Xcode 11 wordt ingesteld, of maakt niet uit?

Answer

Voor toekomstige referentie, het shell-commando

xip --expand /path/to/Xcode_x.y.xip 

werkt ook, en extraheert Xcode in de huidige directory van de shell, dus cd /Applications (of waar dan ook) eerst.

Ik zou ook sterk aanbevelen om te verwijderen of of het hernoemen van bestaande kopieën van Xcode.app (of Xcode-beta.app ) vanaf de doellocatie voordat u deze opdracht gebruikt †.

Tot zover zoals ik weet, heeft dit gewerkt zolang Apple Xcode in .xip-formaat distribueert, en het werkte net op 10.15.6 om Xcode_11.7.xip gedownload van Apples ontwikkelaarssite .

† Hoewel ik “niet persoonlijk heb getest op overschrijven met xip, als vergelijkbare opdrachtregelprogrammas een indicatie zijn, kan het mogelijk l een zooitje achterlaten als het wordt gebruikt om een bestaande map met dezelfde naam te overschrijven, waarbij bestaande bestanden achterblijven die niet bestaan in het archief dat wordt uitgepakt, of erger.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *