« ESXi : créer un vib manuellement sous linux » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 1 : | Ligne 1 : | ||
Commencez par extraire les fichiers que vous voulez placer dans le VIB : | |||
<pre> | <pre> | ||
tar -xf smartmontools-6.6-0-20170808-r4433.linux-x86_64-static.tar.gz | tar -xf smartmontools-6.6-0-20170808-r4433.linux-x86_64-static.tar.gz | ||
</pre> | |||
Un vib contient les fichiers dans une architecture de dossier qui seront extrait à la racine de ESXi. Nous allons placer le binaire smartctl dans /opt/smartmontools/ | |||
<pre> | |||
mkdir -p opt/smartmontools | mkdir -p opt/smartmontools | ||
</pre> | |||
Dans cet exemple, nous allons uniquement garder le binaire smartctl. | |||
<pre> | |||
mv usr/local/sbin/smartctl opt/smartmontools/ | mv usr/local/sbin/smartctl opt/smartmontools/ | ||
rm -rf usr/ | rm -rf usr/ | ||
</pre> | |||
Créez une archive nommée <code>smartctl</code> contenant notre fichier et son architecture de dossier, puis stocke sa somme SHA1 : | |||
tar -cf smartctl opt/ | tar -cf smartctl opt/ | ||
TAR_SHA1=$(sha1sum smartctl | cut -d" " -f1) | TAR_SHA1=$(sha1sum smartctl | cut -d" " -f1) | ||
</pre> | |||
Gzipez notre archive fraîchement créé, stocker son SHA256 et sa taille en bytes : | |||
<pre> | |||
gzip smartctl | gzip smartctl | ||
mv smartctl.gz smartctl | mv smartctl.gz smartctl | ||
GZIP_SHA256=$(sha256sum smartctl | cut -d" " -f1) | GZIP_SHA256=$(sha256sum smartctl | cut -d" " -f1) | ||
GZIP_SIZE=$(du --bytes smartctl | cut -f1) | GZIP_SIZE=$(du --bytes smartctl | cut -f1) | ||
</pre> | |||
Le fichier suivant contient normalement une signature, mais peut être vide dans le cas d'un paquet VIB <code>community</code> | |||
<pre> | |||
touch sig.pkcs7 | touch sig.pkcs7 | ||
</pre> | |||
Créez un fichier <code>descriptor.xml</code> qui contient les informations de notre paquet et ses fichiers. Pensez à modifier la version. | |||
<pre> | |||
cat << EOF > descriptor.xml | cat << EOF > descriptor.xml | ||
<vib version="5.0"><type>bootbank</type><name>smartctl</name><version>6.6-4433</version><vendor>smartmontools</vendor><summary>smartctl: SMART Tool</summary><description>Tool to display S.M.A.R.T data</description><release-date>2017-08-11T10:00:59.000000+00:00</release-date><urls/><relationships><depends></depends><conflicts/><replaces/><provides/><compatibleWith/></relationships><software-tags></software-tags><system-requires><maintenance-mode>false</maintenance-mode></system-requires><file-list><file>opt/smartmontools/smartctl</file></file-list><acceptance-level>community</acceptance-level><live-install-allowed>true</live-install-allowed><live-remove-allowed>true</live-remove-allowed><cimom-restart>false</cimom-restart><stateless-ready>true</stateless-ready><overlay>false</overlay><payloads><payload name="smartctl" type="tgz" size="666"><checksum checksum-type="sha-256">256000256</checksum><checksum checksum-type="sha-1" verify-process="gunzip">10001</checksum></payload></payloads></vib> | <vib version="5.0"><type>bootbank</type><name>smartctl</name><version>6.6-4433</version><vendor>smartmontools</vendor><summary>smartctl: SMART Tool</summary><description>Tool to display S.M.A.R.T data</description><release-date>2017-08-11T10:00:59.000000+00:00</release-date><urls/><relationships><depends></depends><conflicts/><replaces/><provides/><compatibleWith/></relationships><software-tags></software-tags><system-requires><maintenance-mode>false</maintenance-mode></system-requires><file-list><file>opt/smartmontools/smartctl</file></file-list><acceptance-level>community</acceptance-level><live-install-allowed>true</live-install-allowed><live-remove-allowed>true</live-remove-allowed><cimom-restart>false</cimom-restart><stateless-ready>true</stateless-ready><overlay>false</overlay><payloads><payload name="smartctl" type="tgz" size="666"><checksum checksum-type="sha-256">256000256</checksum><checksum checksum-type="sha-1" verify-process="gunzip">10001</checksum></payload></payloads></vib> |
Version du 12 août 2017 à 11:18
Commencez par extraire les fichiers que vous voulez placer dans le VIB :
tar -xf smartmontools-6.6-0-20170808-r4433.linux-x86_64-static.tar.gz
Un vib contient les fichiers dans une architecture de dossier qui seront extrait à la racine de ESXi. Nous allons placer le binaire smartctl dans /opt/smartmontools/
mkdir -p opt/smartmontools
Dans cet exemple, nous allons uniquement garder le binaire smartctl.
mv usr/local/sbin/smartctl opt/smartmontools/ rm -rf usr/
Créez une archive nommée smartctl
contenant notre fichier et son architecture de dossier, puis stocke sa somme SHA1 :
tar -cf smartctl opt/
TAR_SHA1=$(sha1sum smartctl | cut -d" " -f1)
Gzipez notre archive fraîchement créé, stocker son SHA256 et sa taille en bytes :
gzip smartctl mv smartctl.gz smartctl GZIP_SHA256=$(sha256sum smartctl | cut -d" " -f1) GZIP_SIZE=$(du --bytes smartctl | cut -f1)
Le fichier suivant contient normalement une signature, mais peut être vide dans le cas d'un paquet VIB community
touch sig.pkcs7
Créez un fichier descriptor.xml
qui contient les informations de notre paquet et ses fichiers. Pensez à modifier la version.
cat << EOF > descriptor.xml <vib version="5.0"><type>bootbank</type><name>smartctl</name><version>6.6-4433</version><vendor>smartmontools</vendor><summary>smartctl: SMART Tool</summary><description>Tool to display S.M.A.R.T data</description><release-date>2017-08-11T10:00:59.000000+00:00</release-date><urls/><relationships><depends></depends><conflicts/><replaces/><provides/><compatibleWith/></relationships><software-tags></software-tags><system-requires><maintenance-mode>false</maintenance-mode></system-requires><file-list><file>opt/smartmontools/smartctl</file></file-list><acceptance-level>community</acceptance-level><live-install-allowed>true</live-install-allowed><live-remove-allowed>true</live-remove-allowed><cimom-restart>false</cimom-restart><stateless-ready>true</stateless-ready><overlay>false</overlay><payloads><payload name="smartctl" type="tgz" size="666"><checksum checksum-type="sha-256">256000256</checksum><checksum checksum-type="sha-1" verify-process="gunzip">10001</checksum></payload></payloads></vib> EOF
sed -i s/666/$GZIP_SIZE/g descriptor.xml sed -i s/256000256/$GZIP_SHA256/g descriptor.xml sed -i s/10001/$TAR_SHA1/g descriptor.xml
ar -r smartctl-6.6-4433.x86_64.vib descriptor.xml sig.pkcs7 smartctl