« ESXi : créer un vib manuellement sous linux » : différence entre les versions

Aller à la navigation Aller à la recherche
aucun résumé des modifications
(Page créée avec « <pre> tar -xf smartmontools-6.6-0-20170808-r4433.linux-x86_64-static.tar.gz mkdir -p opt/smartmontools mv usr/local/sbin/smartctl opt/smartmontools/ rm -rf usr/ tar -cf sm... »)
 
Aucun résumé des modifications
 
(10 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
[[category:virtualisation]]
Commencez par extraire les fichiers que vous voulez placer dans le VIB (dans notre cas, smartmontools issu de http://builds.smartmontools.org/) :
<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 :
<pre>
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 -d " " -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
echo "<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>" > descriptor.xml
</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
<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
</pre>
 
Ces trois sed vont placer les informations que nous avons recueillis plus tôt au bon endroit dans le fichier descriptor :
<pre>
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
</pre>
 
Enfin, créez le paquet VIB. Notez que le fichier <code>descriptor.xml</code> doit toujours être le premier du VIB.
<pre>
ar -r smartctl-6.6-4433.x86_64.vib descriptor.xml sig.pkcs7 smartctl
</pre>
4 231

modifications

Menu de navigation