File images.sh of Package base-image

#!/bin/bash
# SPDX-License-Identifier: MIT
# SPDX-FileCopyrightText: (c) 2022-2025 SUSE LLC

set -euo pipefail

#======================================
# Image Cleanup
#--------------------------------------
if command -v zypper > /dev/null; then
    zypper -n clean -a
    # drop timestamp
    tail -n +2 /var/lib/zypp/AutoInstalled > /var/lib/zypp/AutoInstalled.new && mv /var/lib/zypp/AutoInstalled.new /var/lib/zypp/AutoInstalled
else
    # it does not make sense in a zypper-free image
    rm -vrf /var/lib/zypp/AutoInstalled
    rm -vrf /usr/lib/sysimage/rpm/Index.db
fi

# set the day of last password change to empty
# prefer sed if available
if command -v sed > /dev/null; then
    sed -i 's/^\([^:]*:[^:]*:\)[^:]*\(:.*\)$/\1\2/' /etc/shadow
else
    while IFS=: read -r username password last_change min_age max_age warn inactive expire reserved; do
        echo "$username:$password::$min_age:$max_age:$warn:$inactive:$expire:$reserved" >> /etc/shadow.new
    done < /etc/shadow
    mv /etc/shadow.new /etc/shadow
    chmod 640 /etc/shadow
fi

# remove logs and temporary files
rm -vrf /var/log/alternatives.log
rm -vrf /var/log/lastlog
rm -vrf /var/log/tallylog
rm -vrf /var/log/zypper.log
rm -vrf /var/log/zypp/history
rm -vrf /var/log/YaST2
rm -vrf /var/lib/zypp/AnonymousUniqueId
rm -vrf /var/cache/zypp/*
rm -vrf /run/*
rm -vrf /etc/shadow-
rm -vrf /etc/group-
rm -vrf /etc/passwd-
rm -vrf /etc/.pwd.lock
rm -vrf /usr/lib/sysimage/rpm/.rpm.lock
rm -vrf /var/cache/ldconfig/aux-cache


exit 0
openSUSE Build Service is sponsored by