Anda di halaman 1dari 11

Technical Note

Customizing VIBs with VIB Author


ESXi 5.0

TheVIBAuthortoolallowsESXiadministratortocreatecustomVIBsattheCommunitySupportedlevel.The
customVIBscanthenbeusedinhouse,ormadeavailabletoawideraudience.
IMPORTANTIfyouaddaCommunitySupportedVIBtoanESXihost,youmustfirstchangethehosts
acceptanceleveltoCommunitySupported.IfyouencounterproblemswithanESXihostthatisatthe
CommunitySupportedacceptancelevel,VMwareSupportmightaskyoutoremovethecustomVIB,as
outlinedinthesupportpolicies:
WhereVMwaresuspectsthataproblemmayberelatedtomodifiedcode,VMwareinitssolediscretion,reservesthe
righttorequestthatthemodifiedcodeberemoved.IfVMwarecannotdirectlyidentifytherootcauseofaproblem,or
reasonablysuspectsthattheproblemisrelatedtomodifiedcode,youshallbeinformedthatyoumayobtainadditional
assistancedirectlyfromvariousproductdiscussionforumsorviaengagementforanadditionalfeewithVMwares
consultingservicesgroup.
TheVIBAuthortoolallowsyoutocreateVIBsusingcustomVIBdescriptorfilesandcustompayloadfiles.
ThetoolalsoallowsyoutosignandverifyaVIB,extractanddisplayVIBinformation,andpublishtheVIBas
anofflinedepotZIPfile.Thisdocumentexplainshowtousethetoolandincludesreferenceinformation.

GettingStartedonpage 1

VIBsandVIBFormatsonpage 2

CreatingaVIBonpage 3

StagingtheFilesonpage 5

VIBCreationScenariosonpage 6

VIBExtractionandModificationScenariosonpage 7

VersioningVIBsonpage 7

DistributingYourSoftwareonpage 8

VIBAuthorCommandLineInterfaceReferenceonpage 9

Getting Started
Thisdocumentassumesthatyouhaveaworkingfamiliaritywiththefollowing:

LinuxOperatingSystemGeneralworkingknowledge.

VMwareproductsAgeneralunderstandingofESXiandvSphere.

Togetstarted,downloadandinstalltheVIBAuthorRPMsfromtheVMwareLabsWebsite.VIBAuthoris
supportedononlyLinux.
ThenfollowtheinstructionsinthisdocumenttocreateandstageyourVIB.

VMware, Inc.

Customizing VIBs with VIB Author

TheVIBAuthorToolincludesmanpagesfortheVIBAuthortool.Fromthe
/opt/vmware/vibtools/doc/man/man9directory,runman ./vibauthor.9
Tolearnaboutbuildingandpackagingimageprofiles,seethevSphereInstallationandSetupdocumentation,
availableathttp://pubs.vmware.com.

Terms
Thisdocumentusesthefollowingtechnicalterms.
AcceptancelevelsarecategoriesusedtosummarizetheleveloftestingandverificationaVIB
hasundergonebeforeitsreleaseand,consequently,thelevelofsupportwhichwillbe
extendedtocustomerswhouseit.SeeAcceptanceLevelsonpage 9formoreinformation.

imageprofile

AnimageprofiledefinesanESXiimageandconsistsofVIBs(softwarepackages).Animage
profilealwaysincludesabaseVIB,andmightincludeadditionalVIBs.Youexamineand
defineanimageprofileusingtheImageBuilderPowerCLI.SeetheImageBuildersectionsin
theInstallationandSetupdocument,availableathttp://www.pubs.vmware.com,fordetailed
informationonusingImageBuildertocreateimageprofiles.

offlinebundle

AZIPfilethatcontainsVIBs.AnofflinebundlecanbeinstalledusingESXCLIorusing
vSphereUpdateManager.

VIB

AVIBisanESXisoftwarepackage.VMwareanditspartnerspackagesolutions,drivers,CIM
providers,andapplicationsthatextendtheESXiplatformasVIBs.Youcancreateyourwon
customVIBwithVIBAuthor.YoucanuseVIBstocreateandcustomizeimageprofilesorto
upgradeESXihostsbyinstallingVIBsasynchronouslyontothehosts

VIBmetadata

AnXMLfile(descriptor.xml)thatdescribesthecontentsoftheVIB.Atemplatefor
descriptor-template.xmlisprovidedwiththetoolandfilledoutbytheuser.

VIBpayload

TheVIBpayloadcontainsthefilesthattheVIBconsistsof.WhenaVIBisaddedtoanESXi
image,thefilesintheVIBpayloadareinstalledonthathost.WhenaVIBisremovedfroman
ESXiimage,thepayloadfilesareremoved.

ar
e

La
bs

acceptancelevel

VM
w

VIBs and VIB Formats

AVIBhasthefollowingcomponents:

Adescriptor.xmlfilethatcontainstheVIBmetadata(seeCreatingorEditingtheVIBDescriptor
XMLonpage 3).

sig.pkcs7AgzippedPKCS7Signature.IftheVIBisnotsigned,anemptysig.pkcs7isrequired.The
signatureisnotloadedbythebootloader.

DirectorythatincludesthefilethatwillbeincludedintheVIB(payload).

AfteraVIBiscreateditmustbepackagedintoaformatthatcanbeconsumedbyESXCLIorvSphereUpdate
Managerbeforeitisdistributed.VIBsyoucreatewiththeVIBAuthortoolarebootbankVIBs.Thepayloadis
installedinthebootbankpartitionontheESXihost.

VMware, Inc.

Customizing VIBs with VIB Author

VIB Author Workflow


TheVIBAuthortoolcreatesaVIBthatcontainsthepayloadandthemetadatafile.Thetoolcanalsopublish
theVIBasanofflinebundle.Asimplifiedworkflowisoutlinedbelow.

payload

descriptor.xml

runvibauthortool

offlinebundle(ZIP)

VIBfile

Creating a VIB
CreatingaVIBconsistsofthesetasks,performedinaterminalwindow:
CreatingorEditingtheVIBDescriptorXMLonpage 3

StagingtheFilesonpage 5

CreatingaVIB,optionallysigningtheVIB,orcreatingtheofflinebundle.SeeVIBCreationScenarios
onpage 6

La
bs

ar
e

NOTEInsteadofcreatingaVIBfromscratch,youcanextractanexistingVIB,modifyoneormoreofthefiles,
andcreateaVIBfromthatsetoffiles.SeeVIBExtractionandModificationScenariosonpage 7.

Creating or Editing the VIB Descriptor XML

VM
w

TheVIBAuthortoolrequiresyoutoprovideinformationaboutthefilesthatwillbeincludedintheVIB.This
informationisstoredinanXMLfilethatisdistributedwiththeVIB.
Asampledescriptorfile(descriptor-template.xml)thatyoucanuseasastartingpointforcreatingthis
fileisinstalledinthe/opt/vmware/vibtools/sample/directory.

Understanding Dependencies, Conflicts, and Replacements


Modifythecontentsofthe<depends>,<replaces>,<conflicts>and<provides>fieldstocorrectlyreflect
thedependencies,obsolescense,andconflictsthatapplytotheVIBpayload.Thesefieldsshouldcontainthe
VIBnametoidentifytheVIB.

DependsField.Usethe<depends>fieldtoindicatedependencies.Dependenciescanbefilesorlibraries
thatVIBpayloadrequires.Intherarecasethatyoursoftwareisdependentonachangethatoccurredin
anESXiupdaterelease,youcanspecifyadependencyontheESXiversion,installerversion,orESXiimage
version.
NOTEVIBsmustnotcreateaselfdependency,wheretheVIBbothprovidesandconsumesaparticular
dependency

ReplacesField.Usethe<replaces>fieldtoreplaceanexistingpackagewiththeonecontainedinthe
VIB,onlywhentheVIBhaschangednamesbetweenversions.ThisfieldsignifiesthatESXishouldreplace
aspecific,olderinstalledversionoftheVIBcontentswiththenewerversionthatiscontainedintheVIB.
ThisfieldallowstheupgradetoolstodetectaVIBthatshouldbereplacedwhenthenamehaschanged.
Donotusethisfieldforasimpleupdatewherenonamechangehasbeenmade;usetheversionfield.

VMware, Inc.

Customizing VIBs with VIB Author

IftheVIByouarecreatingisanupdatetoanexistingVIB,andthenameandcontentsoftheVIBhavenot
changedsincethelastrelease,useanewerversionnumbertotriggeranupdate.Donotusethe
<replaces>fieldforthispurpose.
NOTEOnlyreplaceyourownVIBs.Neverusethe<replaces>fieldtoreplaceVIBsprovidedby
VMwareortoreplaceotherthirdpartyVIBs.

ConflictsField.The<conflicts>fieldisusedtopreventinstallationofdifferentpackagesthatwillnot
operatecorrectlyifbothareinstalled.

ProvidesField.ExposesfunctionalityprovidedbytheVIBintheformofanAPIstring.SoaVIBthat
<depends>onabcwouldhavethedependencysatisfiedbyanyotherVIBthat<provides>abc.Ifyour
packageisrequiredbyotherVIBs,definea<provides>field.UsereverseDNSforminthisfield,for
example,com.vmware.dir.content

VIB XML Metadata Fields


Createacopyofthedescriptor-template.xmlfile,andmodifythefieldstoreflectthesettingsforyour
package.ThefollowingtabledescribesthefieldsintheVIBdatafile.
Table 1. VIB Metadata (All VIB Types)
Input/
Generated

Description

type

TypeofVIB.

name

VIBname,withalengthlessthanorequalto35characters.

version

VIBversion,withalengthlessthanorequalto35characters.Thismustbespecified
inversionreleaseformat.SeeVersioningVIBsonpage 7.Unlikeversionsin
Depends,Conflicts,ReplacesandProvidesfields,thereleaseversionportionis
mandatory.

vendor

VendorpublishingtheVIB.

summary

Shortsummaryofpackagefunctionality.

description

Fulldescriptionofpackagefunctionality.

VM
w

ar
e

La
bs

Field

releasedate

I/G

DateofVIBpublicationorrelease,asafloatingpointnumber.

urls

AlistofURLsforKBarticlesorothermoreindepthrelevantinformation.EachURL
isaccompaniedbyashortstringkey,20charactersorless,givingauniqueidentifier.

depends

I/G

OtherVIBsthatmustbeinstalledalongwiththisone.SeeUnderstanding
Dependencies,Conflicts,andReplacementsonpage 3.

conflicts

I/G

VIBsthatcannotbeinstalledtogetherwiththisone.SeeUnderstanding
Dependencies,Conflicts,andReplacementsonpage 3.

replaces

I/G

LikeobsoletesinRPM;VIBreplacesotherVIBs.SeeUnderstandingDependencies,
Conflicts,andReplacementsonpage 3.

provides

VIBprovidesvirtualpackages,forexample,DriverAPI-10.0.SeeUnderstanding
Dependencies,Conflicts,andReplacementsonpage 3.

tags

Unorderedlistoftags,forexample,driverorsecurity-only.

checksum

MD5/SHAchecksumoftheVIBpackage.

packedsize

SizeofVIBpackage.

relativepath

RelativepathofVIBpackagewithindepot.

VMware, Inc.

Customizing VIBs with VIB Author

Table 2. VIB Metadata (Bootbank VIBs)


Field

Input
/Generated

Description

maintenancemode

TrueiftheESXihosthastobeinmaintenancemodewheninstallingthisVIB.

hwplatform

ThisVIBtargetsspecific(OEM)hardware.

filelist

ListoffilespackagedwithVIB.

acceptancelevel

SpecifiesanacceptancelevelfortheVIB,whichwilldictatethestandardsthat
willbeusedforvalidatingtheVIBsignatureandwhetherornottheVIBwill
beallowedtouserestrictedVIBfeatures.
SpecifyCommunitySupported.ThetoolallowsyoutogenerateaVIBwitha
differentacceptancelevel,butyoucannotinstallthatVIBonyourESXihost.

CaninstallandactivatetheVIBwithoutareboot.

liveremovalsallowed

CanremoveanddeactivatetheVIBwithoutareboot.

cimomrestart

Trueifcimomneedstoberestartedafterinstallation.EnablethisfieldforCIM
providerVIBs.

statelessready

TrueiftheVIBsupportshostprofilesandothertechnologiessuchthatitcanbe
successfullydeployedonastatelesshost.

resources

SpecifyCPUandmemoryresourcelimits.

resourcegrouppath

overlay

payloads

I/G

installdate

La
bs

liveinstallsallowed

Specifytheresourcegrouppathname,forexample,
host/vim/vmvisor/hostd.

Boolean,thisVIBisanoverlayVIB.

ListofbootbankpayloadsintheVIBpackage.SeeStagingtheFileson
page 5.

ar
e

Installationtimestamp.

Staging the Files

BeforeyouruntheVIBAuthortool,youmuststageallfilesinthestagingdirectory.

VM
w

TheVMwareLabsversionofVIBAuthorsupportsanewcomposeoption.Theoldcreateoptionis
deprecatedinthisversion.Beforeyouusethecomposeoption,placeboththedescriptorfileandpayloadfiles
inastagingdirectory.Organizethestagingdirectoryasfollows:
<stage_dir> / descriptor.xml
<stage_dir> / <payload_dir1> / ...
<stage_dir> / <payload_dir2> /

Eachpayloaddirectorycontainsthefileswithinthepayload.Thestructurewithinthedirectoryismirrored
whentheVIBpayloadfilesareinstalledontheESXihost.Thepayloadmetadata(<payload element>)is
definedindescriptor.xml.Itcontainsbothpayloadnameandpayloadtype.Namethedirectorybythe
payloadname.TheVIBAuthortoolcompressesthepayloadintothespecifiedtype(VGZorTGZ).

NOTEYoumustdefinethepayloadinformation,includingpayloadnameandpayloadtype,inthemetadata
file.TheVIBAuthortoolcheckthemetadatafileforthelocationofpayloadfilestoincludeintheVIBandfor
compressioninformationforeachfile.
ForexampleifyouhaveaVGZtypepayloadwithnamepayload1,setupthefilesasfollows:
Directoryforpayloadfiles:

stage_dir/payload1

Payloaddefinitionindescriptor.xml metadata
file:

<payloads>
<payload name="payload1" type="vgz">
</payload> </payloads>

VMware, Inc.

Customizing VIBs with VIB Author

Useonlyexplicitlyallowedpathsfromthefollowinglist.
NOTEIfyouwanttocreateaVIBwithfilesthatareinotherlocations,youmustusethe--forceflag.
etc/vmware/shutdown/shutdown/

etc/vmware/pciid/

etc/vmware/vm-support/

etc/vmware/firewall/

etc/vmware/service/

etc/cim/openwsman/

opt/

usr/lib/cim/

usr/lib/pycim/

usr/lib/hostprofiles/plugins/

usr/lib/vmware/

usr/lib/vmware-debug/

var/lib/sfcb/registration/

/VIB/

etc/vmware/driver.map.d

usr/share/hwdata/driver.pciids.d

La
bs

NOTETheVIBdirectoryisaspecialdirectoryforinstallationscripts.Theonlyfilesthatcanbeplacedinthis
directoryareinstallationscripts.

ar
e

VMwaresuggeststhatyouappendtheallowedpathwithavendorspecificdirectoryforfiles.Forinstance,
forSomeCompanysCIMproviders,youmightuse/etc/cim/somecompany/.

VIB Creation Scenarios

VM
w

ThefollowingscenariosprovidethebasicstepsinvolvedincreatingVIBs.Runthecommandsinaterminal
window.Youhavethefollowingchoices.

CreatingaVIBonpage 6.YoucancreateaVIBwithagloballyuniquenameandthenuseESXCLIto
addtheVIBtoyourhosts.YoucanoptionallysignyourVIB.

CreatinganOfflineBundleonpage 7.YoucancreateanofflinebundleZIPfileforeasydistributionand
forusewithvSphereUpdateManager.Youcannotsignanofflinebundle.

Creating a VIB
TocreateaVIB,followthesesteps.
1

ModifytheVIBdatatemplate,asdescribedinCreatingorEditingtheVIBDescriptorXMLonpage 3.
AddallrequiredandoptionalmetadataforyourVIB.

Copyallthefilestoastagingdirectory.SeeStagingtheFilesonpage 5.

RuntheVIBAuthortooltocreateaVIBfile.
vibauthor -C -t stage-dir -v e1000.vib [options]

NOTETheVIBfilenamemustbegloballyunique.

Signing a VIB
TheESXihostdoesnotcheckthesignatureofVIBsattheCommunitySupportedlevel,soyoudonothaveto
signyourVIBbeforeitcanbeinstalledonanESXihost.However,youmustlowerthehostacceptancelevel

VMware, Inc.

Customizing VIBs with VIB Author

toCommunitySupportedbeforeyoucaninstallyourVIBonahost.Youcanlowerthehostacceptancelevel
withESXCLIcommands.SeethevSphereInstallationandSetupdocumentation.
IMPORTANTVMwaredoesnotprovidetechnicalsupportforcommunityVIBs.See
https://www.vmware.com/support/policies.Lookinparticularatthesectiononmodifiedcode.
IfyouencounterproblemswithanESXihostthatisattheCommunitySupportedacceptancelevel,VMware
SupportmightaskyoutoremovethecustomVIB.
YoucanoptionallysignaCommunitySupportedVIBwithvibauthoryourself.
TosignaVIB,followthesesteps.
1

Generateaprivate/publickeypairandacertificate.

InvoketheVIBauthoringtooltosigntheVIByoucreated.
vibauthor -s -v e1000.vib -k private_keyfile -r certfile

NOTETheVIBfilenamemustbegloballyunique.
YoucanalsocreateasignedVIBinonecommand.

Creating an Offline Bundle

La
bs

vibauthor -C -t stage-dir -s -k private_keyfile -r certfile v e1000.vib

YoucancreateanofflinebundleatthesametimethatyouarecreatingandsigningtheVIB.Youcanalso
createtheofflinebundleafteryouhavecreatedandoptionallysignedtheVIB.
Tocreateanofflinebundle,runthefollowingcommand.

ar
e

vibauthor C t stage-dir v e1000.vib O e1000.zip

YoucanusetheofflinebundlewithImageBuilderandwithvSphereUpdateManager(VUM).

VM
w

VIB Extraction and Modification Scenarios


YoucanextractaVIBbyusingthe[expand|-e]and [-compose|-C]commandlineoptions.Youcan
thenmodifyfilesinthepayload,andrecreatetheVIBwiththeVIBAuthortool.
NOTEIfyoumodifythepayloadandrecreatetheVIB,theexistingsignaturebecomesinvalid.Youcansign
theVIByourselftocreateasignedCommunitySupportedVIB.SeeSigningonpage 8.

ExtractaVIBfromaVIBfile
vibauthor -e -v vib_file -o output_dir

ExtractaVIBfromanofflinebundle
a

ShowthelistofVIBsintheofflinebundle.
vibauthor -e -z offlinebundle.zip

ExtractoneoftheVIBsfromtheofflinebundle.
vibauthor -e -z offlinebundle.zip -v VIB_ID -o output_dir

Versioning VIBs
BecauseVIBsareintendedtoallowtheESXiinstallertohandleupdatesaswellasinitialinstalls,itis
importanttousetheversioningvariablesintheVIBcorrectly.
Thepackageversioncanhavealengthofupto35characters.Itincludestheversionnumber,immediately
followedbyahyphen()followedbythereleaseversion,asinthefollowingexample:
5.0.0-1.0vmw
VMware, Inc.

Customizing VIBs with VIB Author

Boththeversionnumberandthereleaseversionnumberconsistofoneormorecharactersintheset
[aaZ09],withperiodsseparatingtwoormoregroups.

VIBs for Upgrades


YoucanperformupgradeswhereVIBnamesmatchorwhereVIBnamesdonotmatch.

UpgradewheretheVIBnamesmatch
IfyouupgradethecontentsofaVIB,ifpossibleensurethatthenameofthenewVIBisthesameasthat
oftheVIBitreplaces.Ifthenamesarethesame,theinstallerwillchecktheversionnumbersintheXML
filesassociatedwitheachVIBandkeeporinstalltheVIBwiththehighernumber.KeepingthesameVIB
namemeansthattheversionnumberisusedtodeterminewhichVIBshouldbeused.

UpgradewheretheVIBnamesdonotmatch
IfthenameofthenewVIBcannotbethesameasthatoftheoldVIB,orifasinglenewVIBshouldreplace
multipleolderVIBs,orusethe<replaces>tagintheVIBdescriptor.xmlfiletolistalltheoldVIBsthat
shouldbereplaced.Forexample,iftheoldVIBhadthenameextensionAbutthenewVIBhasthename
extensionB,addanentrylikethefollowingtoyourdescriptor.xmlfile.

La
bs

<replaces>
<constraint name="extension-A" />
</replaces>

Distributing Your Software

YoucanmakeyourVIBavailabletoothersinyourcompaniesortothegreaterVMwareCommunity.The
followingdistributionsmethodsaresupported.
SingleVIBs.ThesimplestwaytodistributeyoursoftwareisasasingleVIB.YoucaninstallasingleVIB
usingESXCLIcommands.vSphereUpdateMangerandImageBuildercannotuseanindividualVIB;they
requireanofflinebundle.

OfflineBundles.Offlinebundlesareselfcontainedfilesthatcanbeconsumedbytoolsandutilitiesfrom
VMwareincludingESXCLI,vSphereUpdateManager,andImageBuilder.Offlinebundlesarenot
restrictedinsize,butitisagoodpracticetokeepthemsmall.

VM
w

ar
e

Signing

TheVIBAuthorToolallowsyoutocreateaCommunitySupportedVIB.YoucanoptionallysigntheVIB.

ThereshouldbeonesignatureforanentireVIB.Thedescriptordatacontainedinthedescriptor.xmlis
signedusingadetachedPKCS7signature.ThePKCS7signedVIBshoulduseSHA256asthedigest
algorithmforverifyingVIBintegrity.ThePKCS7structuremustincludethesignerscertificate.Itmay
optionallyincludeadditionalcertificatesneededtoestablishachainoftrustfromthesignertoVMware(or
anothertrustedentity).ThePKCS7signaturedataisaddedtotheVIBssig.pkcs7componentas
PEMencodeddata.

UnsignedVIBsmustcontainanemptysig.pkcs7component.
AVIBsignatureisconsideredvalidiftheVIBisvalid,andthesignercanbetrusted.Asignerisconsidered
trustedif:

achainoftrustcanbeestablishedbetweenthesignerscertificateandthecertificateofatrustedauthority.
Acertificateorlistofcertificatesoftrustedauthoritiesshouldbeaninputtoanyfunctionperforming
validation.

neitherthesignerscertificatenoranycertificateinthechainofcertificatesbetweenthesignerscertificate
andthecertificateofthetrustedauthorityhasbeenrevoked.Revokedcertificatesarepublishedina
CertificateRevocationList.Anyfunctionperformingsignaturevalidationshouldacceptandprocessa
CertificationRevocationListasinput.

VMware, Inc.

Customizing VIBs with VIB Author

ThemessagecontentisconsideredvalidifthesigneddigestwithinthePKCS7signaturematchesthedigest
calculatedoverthemessage(\descriptor.xml)contents.

Acceptance Levels
AcceptancelevelsarecategoriesusedtosummarizetheleveloftestingandverificationaVIBhasundergone
beforeitsreleaseand,consequently,thelevelofsupportwhichwillbeextendedtocustomerswhouseit.
AcceptancelevelsofahostisbasedonthelowestacceptancelevelofanyVIBonthehost.
IMPORTANTIfyouaddaCommunitySupportedVIBtoanESXihost,youmustfirstchangethehosts
acceptancelevel.IfyouencounterproblemswithanESXihostthatisattheCommunitySupportedacceptance
level,VMwareSupportmightaskyoutoremovethecustomVIB.
VIBscanbelongtooneofthefollowingacceptancelevels:
.

TheVMwareCertifiedacceptancelevelhasthemoststringentrequirements.VIBswiththis
levelgothroughthoroughtestingfullyequivalenttoVMwareinhouseQualityAssurance
testingforthesametechnology.Today,onlyIOVPdriversarepublishedatthislevel.
VMwaretakessupportcallsforVIBswiththisacceptancelevel.

VMwareAccepted

VIBswiththisacceptancelevelgothroughverificationtesting,butthetestsdonotfullytest
everyfunctionofthesoftware.ThepartnerrunsthetestsandVMwareverifiestheresult.
Today,CIMprovidersandPSApluginsareamongtheVIBspublishedatthislevel.
VMwaredirectssupportcallsforVIBswiththisacceptanceleveltothepartnerssupport
organization.

PartnerSupported

VIBswiththePartnerSupportedacceptancelevelarepublishedbyapartnerthatVMware
trusts.Thepartnerperformsalltesting.VMwaredoesnotverifytheresults.Thislevelis
usedforanewornonmainstreamtechnologythatpartnerswanttoenableforVMware
systems.Today,driverVIBtechnologiessuchasInfiniband,ATAoE,andSSDareatthis
levelwithnonstandardhardwaredrivers.VMwaredirectssupportcallsforVIBswiththis
acceptanceleveltothepartnerssupportorganization.

ar
e

La
bs

VMwareCertified

TheCommunitySupportedacceptancelevelisforVIBscreatedbyindividualsor
companiesoutsideofVMwarepartnerprograms.VIBsatthislevelhavenotgonethrough
anyVMwareapprovedtestingprogram.

VM
w

CommunitySupported

Acceptance Levels and VIB Signing


VIBswiththeVMwareCertified,VMwareAcceptedandPartnerSupportedlevelsmustbesignedwitha
privatekey,andthecertificatecorrespondingtothatprivatekeymustbeincludedinthesignaturedata.VIBs
withacceptancelevelsthatrequiresigningmusthaveavalidsignatureinadditiontobeingsignedbya
trustedauthority.CommunitysupportedVIBsdonotneedtobesigned.
VMwareitselfmustsignallVIBswhichhaveanacceptancelevelofVMwareCertifiedorVMwareAccepted.
VIBswithacceptancelevelPartnerSignedaresignedbyexternalentitiesentrustedbyVMware(Partners).
AllsignedVIBsshouldhavegonethroughanofficialVMwarecertificationprogram.
VIBAuthoronlygeneratesCommunitySupportedVIBs,VMwaredoesnottestorsigntheseVIBs.

VIB Author Command Line Interface Reference


TheVIBAuthortoolincludesanumberofoptions.
NOTEThe--createand--unpackoptionsaredeprecated.Use--composeand--expandinstead.
vibauthor ((-C -t unpack-dir [-O file.zip]) |
(-c -d descriptor.xml [-t stage-dir] [[-p file,type[,<name>[,boot]]] -p ...]))
[-v file.vib]
[-s -k private -r cert]
[-f]
vibauthor -i -v file.vib [-x]
vibauthor ((-e ((-z depot.zip -v vib-id) | (-v file.vib))) | (-u -v file.vib)) [-o dir] [-f]
vibauthor -s -v file.vib -k private -r cert

VMware, Inc.

Customizing VIBs with VIB Author

vibauthor -a -v file.vib -r cert [-r ...]

Thefollowinglistdescribeseachoptionindetailandprovidessomeshortcuts.
--compose | -C
CreatesaVIB.Usethe--viboptiontogivetheresultingVIBaspecificnameortowritetheVIBtoa
specificlocation.Ifnotprovided,theVIBnameisbasedontheVIBID.
--create | -c
Thisoptionisdeprecatedandwillberemovedfromthenextrelease.Usethe--composeoptioninstead.
--descriptor=file | -d file
Thisoptionisdeprecatedandwillberemovedfromthenextrelease.
--stage-dir=dir | -t dir
Whenusedwiththe--composeoption,specifiesthestagingdirectory,whichcontainsboththedescriptor
andtheextractedpayloads.
--payload=file,type[,name[,boot]] | -p file,type[,name[,boot]]

--output-dir=dir | -o dir

La
bs

Thisoptionisdeprecatedandwillberemovedfromthenextrelease.

Specifiestheoutputlocationwhenoneormorefilesneedtobecreatedasaresultofthecommand
(excludestemporaryfilesthatarecleanedupbeforethecommandcompletes).Thedefaultisthecurrent
directory,ifunspecified.

ar
e

Whenusedwith--unpack,vibauthoroverwritesthedirectorywiththerawcontentsoftheVIB.When
usedwith--expand,vibauthoroverwritesthedirectorywiththedescriptorandtheextractedpayloads
oftheVIB.
--depot=file | -z file

Setsthepathfortheofflinedepotfilewhenusedwith--expand.

VM
w

NOTETheofflinedepotfilepathmustbegloballyunique.

Use--vibtospecifytheIDoftheVIBthatyouwanttounpack.Ifyoudonotspecify--vib,thecommand
liststheVIBIDsintheofflinedepot.

--vib=file | -v file
SetsthenamefortheoutputVIBfilewhenusedwith--compose.SetstheIDoftheVIBwhenusedwith
--depot.

NOTETheVIBfilenamemustbegloballyunique.
Ifyoudonotincludea.vibextension,itwillbeaddedtothespecifiedfilename.Iftheoptionisomitted
thenthefilenamedefaultstotheVIBuniqueidentifierandtheVIBiswrittentothedefaultdirectory
(current).
Whenusedwith--sign,theVIBistreatedasinputandoutput.
Whenusedwith--unpackor--expand,theVIBisinputonly.
--sign | -s
CausesaVIBtobesignedusingaprivatekeyspecifiedusingthe--keyand--certoptions.Thisoption
canbeusedduringVIBcreationoratalatertime.
IftheVIBhasalreadybeensigned,thenewsignaturereplacestheoldonlyiftheforceflaghasalsobeen
specified.Otherwisethetoolprintsamessageandexit.
--authenticate | -a

VMware, Inc.

10

Customizing VIBs with VIB Author

ChecksthesignaturesontheVIBforauthenticity.MustprovideaCAcertificateusing--cert.
--force | -f
Overridescertainwarnings.Thiscarriesacertainamountofrisk,dependingontheerrorbeing
overridden,soexercisecaution.Inparticular,thisoptionallowsyoutodothefollowing:

OverrideapreviouslysignedVIBorVIBpayloadfilewithanewsignatureorfile.

Overwritefilesiftheyalreadyexist.

Usefilesthatarenotinthepresetdirectorystructure.

--key=file | -k file
Specifiesakeyfile.Inputtheprivatekeystoredasabinaryfilethatwillbeunderstoodbythesigning
component.ThisoptionacceptsanRSA2048bitkey(generatedfromopensslgenrsaorsimilar).
--cert=file | -r file
Providethex509certificateforsigning.
Whenusedwith--sign,referstothecertificatethatcorrespondstothegivenprivatekey.
Whenusedwith--authenticate,referstotheCAcertificate.

La
bs

--expand | -e

Thereverseofcompose.TheVIBwillbeunpackedintotheoptionaloutputdirectory(byusing
--output-dir),whichcontainstheVIBdescriptorfileandextractedpayloadfilesinthepayload
subdirectory.ThisdirectorycanbeusedasinputtocreateaVIB(byusing--compose).
--unpack | -u

--info | -i

ar
e

Thisoptionisdeprecatedandwillberemovedinthenextrelease.Use--expandinstead.

PrintsinformationabouttheinputVIB.TypicalinformationincludesVIBID,type,andwhethertheVIB
issigned.

VM
w

--offline-depot | -O

CreateanewofflinedepotwiththespecifiedfilenamefromtheresultingVIB.Thisoptioncanonlybe
usedwithcomposeoption.

If you have comments about this documentation, submit your feedback to: docfeedback@vmware.com
VMware, Inc. 3401 Hillview Ave., Palo Alto, CA 94304 www.vmware.com
Copyright 2012 VMware, Inc. All rights reserved. This product is protected by U.S. and international copyright and intellectual property laws. VMware products are covered by
one or more patents listed at http://www.vmware.com/go/patents. VMware is a registered trademark or trademark of VMware, Inc. in the United States and/or other
jurisdictions. All other marks and names mentioned herein may be trademarks of their respective companies.

11

Anda mungkin juga menyukai