Skip to main content
Skip table of contents

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.

  1. Gehen Sie auf Ihrer Workstation in das Verzeichnis, in dem sich das zoom Verzeichnis befindet.

  2. Ö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 Konfigurationsdatei zoom.conf an, nach Bibliotheken in /custom/opt/zoom zu suchen. Dies wird von der Zoom-Anwendung erwartet.

  3. Speichern Sie die Datei als custompart-zoom

Nächster Schritt

>> Komprimieren des Inhalts der benutzerdefinierten Partition 2

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.