- #4: LXC/Container Drop-in (lxc-compat.conf) deaktiviert systemd-Hardening; Installer erkennt Container automatisch und bietet Drop-in an - #5: WorkingDirectory=/opt/pdf-ocr-hotfolder in Template-Unit ergänzt - #6: Installer bietet auf Debian 12 bei betroffenen GS-Versionen automatisch bookworm-backports Upgrade an (statt nur Warnung) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
+39
-5
@@ -52,7 +52,7 @@ install_base() {
|
||||
icc-profiles-free ca-certificates curl
|
||||
log_info "System-Pakete ok ✓"
|
||||
|
||||
# Ghostscript-Versions-Check (Issue #3)
|
||||
# Ghostscript-Versions-Check (Issue #3 + Issue #6)
|
||||
if command -v gs >/dev/null 2>&1; then
|
||||
GS_VER="$(gs --version 2>/dev/null || echo 0.0)"
|
||||
log_info "Ghostscript: $GS_VER"
|
||||
@@ -62,16 +62,50 @@ install_base() {
|
||||
log_warn "═══════════════════════════════════════════════════════════════"
|
||||
log_warn "Ghostscript $GS_VER ist vom PDF/A-Bug betroffen (10.0.0–10.02.0)."
|
||||
log_warn "Mit pdfa_level + skip_text=true kann ocrmypdf KEINE PDFs verarbeiten."
|
||||
log_warn ""
|
||||
log_warn "Workarounds:"
|
||||
log_warn " 1. ghostscript aus bookworm-backports installieren (>=10.02.1)"
|
||||
log_warn " 2. In der Config [ocr].pdfa_level = \"\" setzen (Default ab v0.2.2)"
|
||||
log_warn "═══════════════════════════════════════════════════════════════"
|
||||
echo
|
||||
# Prüfe ob Debian bookworm (12) — Backports anbieten
|
||||
if grep -q 'bookworm' /etc/os-release 2>/dev/null; then
|
||||
read -r -p "Ghostscript via bookworm-backports upgraden? [J/n]: " UPGRADE_GS
|
||||
UPGRADE_GS="${UPGRADE_GS:-J}"
|
||||
if [[ "$UPGRADE_GS" =~ ^[JjYy]$ ]]; then
|
||||
log_info "Aktiviere bookworm-backports..."
|
||||
if ! grep -q 'bookworm-backports' /etc/apt/sources.list /etc/apt/sources.list.d/*.list 2>/dev/null; then
|
||||
echo 'deb http://deb.debian.org/debian bookworm-backports main' \
|
||||
> /etc/apt/sources.list.d/bookworm-backports.list
|
||||
apt-get update -qq
|
||||
fi
|
||||
apt-get install -y -t bookworm-backports ghostscript
|
||||
GS_VER_NEW="$(gs --version 2>/dev/null || echo '?')"
|
||||
log_info "Ghostscript aktualisiert: $GS_VER → $GS_VER_NEW ✓"
|
||||
else
|
||||
log_warn "Workaround: In der Config [ocr].pdfa_level = \"\" setzen (Default ab v0.2.2)"
|
||||
fi
|
||||
else
|
||||
log_warn "Kein Debian bookworm erkannt — manuelles Upgrade nötig."
|
||||
log_warn "Workaround: In der Config [ocr].pdfa_level = \"\" setzen (Default ab v0.2.2)"
|
||||
fi
|
||||
echo
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# LXC/Container-Erkennung (Issue #4)
|
||||
if systemd-detect-virt --container -q 2>/dev/null; then
|
||||
VIRT_TYPE="$(systemd-detect-virt --container 2>/dev/null || echo 'container')"
|
||||
log_warn "Container-Umgebung erkannt ($VIRT_TYPE)."
|
||||
log_warn "systemd-Hardening kann in Containern fehlschlagen (Error 226/NAMESPACE)."
|
||||
read -r -p "LXC-Kompatibilitäts-Drop-in installieren? [J/n]: " LXC_FIX
|
||||
LXC_FIX="${LXC_FIX:-J}"
|
||||
if [[ "$LXC_FIX" =~ ^[JjYy]$ ]]; then
|
||||
local LXC_DROPIN_DIR="/etc/systemd/system/pdf-ocr-hotfolder@.service.d"
|
||||
mkdir -p "$LXC_DROPIN_DIR"
|
||||
cp "$REPO_DIR/systemd/lxc-compat.conf" "$LXC_DROPIN_DIR/lxc-compat.conf"
|
||||
systemctl daemon-reload
|
||||
log_info "LXC-Kompatibilitäts-Drop-in installiert ✓"
|
||||
fi
|
||||
fi
|
||||
|
||||
log_step "Default-User '$DEFAULT_USER' prüfen"
|
||||
if id "$DEFAULT_USER" &>/dev/null; then
|
||||
log_info "'$DEFAULT_USER' existiert bereits"
|
||||
|
||||
Reference in New Issue
Block a user