Creating the Initialization Script
In diesem Schritt erstellen Sie ein Initialisierungsskript, das es der Anwendung ermöglicht, in einer Custom Partition zu arbeiten. Bei einer normalen Installation würden sich die Dateien der Zoom-Anwendung in /usr
, /opt
usw. befinden, während sie in der benutzerdefinierten Partition unter /custom/zoom/usr
, /custom/zoom/opt
usw. zu finden sind. Das Initialisierungsskript behebt dies, indem es symbolische Links erstellt, so dass zum Beispiel /custom/zoom/usr/lib/library.so
in /usr/lib/library.so
, wo Zoom es erwartet.
Gehen Sie auf Ihrer Workstation in das Verzeichnis, in dem sich das
zoom
Verzeichnis befindet.Öffnen Sie den Texteditor Ihrer Wahl und geben Sie das folgende Skript ein:
BASH#!/bin/sh ACTION="custompart-zoom_${1}" # Pfad zum Einhängepunkt MP=$(get custom_partition.mountpoint) # Pfad der benutzerdefinierten Partition CP="${MP}/zoom" # wfs für dauerhafte Anmeldung und Historie WFS="/wfs/benutzer/.zoom/data" # .zoom-Verzeichnis ZOOM="/benutzerhome/.zoom/" # Ausgabe in das Systemprotokoll mit der ID amd tag LOGGER="logger -it ${ACTION}" echo "Starten" | $LOGGER case "$1" in init) # Verknüpfen von Dateien und Ordnern im richtigen Pfad find ${CP} | while read LINE do DEST=$(echo -n "${LINE}" | sed -e "s|${CP}||g") if [ ! -z "${DEST}" -a ! -e "${DEST}" ]; then # Entferne den letzten Schrägstrich, falls es sich um ein Verzeichnis handelt [ -d $LINE ] && DEST=$(echo "${DEST}" | sed -e "s/\/$//g") | $LOGGER if [ ! -z "${DEST}" ]; then ln -sv "${LINE}" "${DEST}" | $LOGGER fi fi done # Verknüpfen von /userhome/.zoom/data mit /wfs/user/.zoom/data für eine gewisse grundlegende Beständigkeit mkdir -p ${WFS} chown -R Benutzer:Benutzer ${WFS} mkdir -p ${ZOOM}/data chown -R Benutzer:Benutzer ${ZOOM}/data mkdir -p ${ZOOM}/data/VirtualBkgnd_Custom chown -R Benutzer:Benutzer ${ZOOM}/data/VirtualBkgnd_Custom mkdir -p ${ZOOM}/data/VirtualBkgnd_Default chown -R Benutzer:Benutzer ${ZOOM}/data/VirtualBkgnd_Default ln -sv ${WFS}/zoomus.db ${ZOOM}/data/zoomus.db | $LOGGER ln -sv ${WFS}/zoommeeting.db ${ZOOM}/data/zoommeeting.db | $LOGGER ln -sv ${WFS}/VirtualBkgnd_Custom ${ZOOM}/data/ | $LOGGER ln -sv ${WFS}/VirtualBkgnd_Default ${ZOOM}/data/ | $LOGGER chown Benutzer:Benutzer /wfs/Benutzer/.zoom ln -sv /wfs/Benutzer/.zoom/zoomus.conf /userhome/.config/zoomus.conf | $LOGGER # Entfernen Sie alle com.zoom.ipc*-Dateien aus /wfs/user/.zoom/data - könnte Probleme bei der Aktualisierung von zoom verursachen rm ${WFS}/com.zoom.ipc* # füge /opt/zoom zu ld_library hinzu echo "${CP}/opt/zoom" > /etc/ld.so.conf.d/zoom.conf ldconfig ${MP}/zoom_postinst | $LOGGER ;; stop) # verlinkte Dateien aufheben find ${CP} | while read LINE do DEST=$(echo -n "${LINE}" | sed -e "s|${CP}||g") unlink $DEST | $LOGGER done # zoom.conf entfernen, da sie nicht mehr benötigt wird rm /etc/ld.so.conf.d/zoom.conf ;; esac echo "Beendet" | $LOGGER exit 0
Die Codezeile
echo "${CP}/opt/zoom" > /etc/ld.so.conf.d/zoom.conf
weist die Zoom-Anwendung über die Konfigurationsdateizoom.conf
an, nach Bibliotheken in/custom/opt/zoom
zu suchen. Dies wird von der Zoom-Anwendung erwartet.Speichern Sie die Datei als
custompart-zoom
Nächster Schritt
>> Komprimieren des Inhalts der benutzerdefinierten Partition 2