File config.sh of Package Lietukas_T_mini
#!/bin/bash
#================
# FILE : config.sh
#----------------
# PROJECT : OpenSuSE KIWI Image System
# COPYRIGHT : (c) 2006 SUSE LINUX Products GmbH. All rights reserved
# :
# AUTHOR : Marcus Schaefer <ms@suse.de>
# :
# BELONGS TO : Operating System images
# :
# DESCRIPTION : configuration script for SUSE based
# : operating systems
# :
# :
# STATUS : BETA
#----------------
#======================================
# Functions...
#--------------------------------------
test -f /.kconfig && . /.kconfig
test -f /.profile && . /.profile
#======================================
# Greeting...
#--------------------------------------
echo "Configure image: [$name]..."
echo "** Running ldconfig..."
/sbin/ldconfig
#======================================
# Setup default runlevel
#--------------------------------------
#baseSetRunlevel 5
ln -sf "/usr/lib/systemd/system/graphical.target" "/etc/systemd/system/default.target"
#======================================
# Add missing gpg keys to rpm
#--------------------------------------
function suseImportBuildKey {
# /.../
# Add missing gpg keys to rpm database
# ----
local KEY
local TDIR
local KFN
local dumpsigs=/usr/lib/rpm/gnupg/dumpsigs
TDIR=$(mktemp -d)
if [ ! -d "${TDIR}" ]; then
echo "suseImportBuildKey: Failed to create temp dir"
return
fi
if [ -d "/usr/lib/rpm/gnupg/keys" ];then
pushd "/usr/lib/rpm/gnupg/keys" || return
else
pushd "${TDIR}" || return
if [ -x "${dumpsigs}" ];then
${dumpsigs} /usr/lib/rpm/gnupg/suse-build-key.gpg
fi
fi
for KFN in gpg-pubkey-*.asc; do
if [ ! -e "${KFN}" ];then
#
# check if file exists because if the glob match did
# not find files bash will use the glob string as
# result and we just continue in this case
#
continue
fi
KEY=$(basename "${KFN}" .asc)
if rpm -q "${KEY}" >/dev/null; then
continue
fi
echo "Importing ${KEY} to rpm database"
rpm --import "${KFN}"
done
popd || return
rm -rf "${TDIR}"
}
suseImportBuildKey
sed --in-place -e 's/# solver.onlyRequires.*/solver.onlyRequires = true/' /etc/zypp/zypp.conf
#======================================
# Sysconfig Update
#--------------------------------------
function baseUpdateSysConfig {
# /.../
# Update the contents of a sysconfig variable
# ----
local FILE=$1
local VAR
local VAL
if [ -f "${FILE}" ];then
VAR=$2
VAL=$3
eval sed -i "s'@^\($VAR=\).*\$@\1\\\"$VAL\\\"@'" "${FILE}"
else
echo "warning: config file $FILE not found"
fi
}
echo '** Update sysconfig entries...'
baseUpdateSysConfig /etc/sysconfig/keyboard KEYTABLE lt.map.gz
baseUpdateSysConfig /etc/sysconfig/network/config FIREWALL yes
baseUpdateSysConfig /etc/init.d/suse_studio_firstboot NETWORKMANAGER yes
#baseUpdateSysConfig /etc/sysconfig/SuSEfirewall2 FW_SERVICES_EXT_TCP 22
baseUpdateSysConfig /etc/sysconfig/console CONSOLE_FONT "eurlatgr.psfu"
baseUpdateSysConfig /etc/sysconfig/console CONSOLE_SCREENMAP trivial
baseUpdateSysConfig /etc/sysconfig/console CONSOLE_MAGIC "(K"
baseUpdateSysConfig /etc/sysconfig/console CONSOLE_ENCODING "UTF-8"
baseUpdateSysConfig /etc/sysconfig/displaymanager DISPLAYMANAGER_AUTOLOGIN naudotojas
baseUpdateSysConfig /etc/sysconfig/displaymanager DISPLAYMANAGER sddm
baseUpdateSysConfig /etc/sysconfig/windowmanager DEFAULT_WM plasma5
cat <<EOF > /etc/vconsole.conf
KEYMAP=lt
FONT=eurlatgr.psfu
FONT_MAP=none
FONT_UNIMAP=
EOF
#test -d /studio || mkdir /studio
#cp /image/.profile /studio/profile
#cp /image/config.xml /studio/config.xml
# This script is executed at the end of appliance creation. Here you can do
# one-time actions to modify your appliance before it is ever used, like
# removing files and directories to make it smaller, creating symlinks,
# generating indexes, etc.
#
# The 'kiwi_type' variable will contain the format of the appliance
# (oem = disk image, vmx = VMware, iso = CD/DVD, xen = Xen).
#
# Naudoti KDE5 su sddm
sed -re "s/DEFAULT_WM=.*$/DEFAULT_WM=\"plasma5\"/" -i /etc/sysconfig/windowmanager || true
#sed -re "s/DISPLAYMANAGER=.*$/DISPLAYMANAGER=\"kdm\"/" -i /etc/sysconfig/displaymanager || true
#sed -re "s/DISPLAYMANAGER=.*$/DISPLAYMANAGER=\"sddm\"/" -i /etc/sysconfig/displaymanager || true
sed -re "s/Current=.*$/Current=Lietukas/" -i /etc/sddm.conf || true ;
sed -re 's/^CursorTheme=.*$/CursorTheme=DMZ/' -i /etc/sddm.conf || true ;
#echo "Session=plasma5" >> /etc/sddm.conf ;
echo "[Desktop]" > "/etc/skel/.dmrc" ;
echo "Session=plasma5" >> "/etc/skel/.dmrc" ;
[ -d /usr/share/icons/DMZ-White ] && ln -s -r -T /usr/share/icons/DMZ-White/ /usr/share/icons/default || true
rm -f -r /root || true
rm -f -r /home/naudotojas || true ;
rm -f /usr/share/doc/Lietukas/Dokumentacija/*.pdf || true
#rm -f /etc/skel/.config/autostart/kmix_tikrinimas.desktop || true ;
rm -f /etc/skel/.config/autostart/*.desktop || true
mv -f /etc/skel/.local/share/applications/LibreOffice.desktop /etc/skel/.local/share/applications/.LibreOffice.desktop || true
mv -f /usr/share/applications/LibreOffice.desktop /usr/share/applications/.LibreOffice.desktop || true
for desktop_file in LibreOffice transcribe-mbrola-lt goldendict skype vlc ; do
[ -f /etc/skel/Darbalaukis/${desktop_file}.desktop ] && mv -f /etc/skel/Darbalaukis/${desktop_file}.desktop /etc/skel/Darbalaukis/.${desktop_file}.desktop || true
done
#mv -f /etc/skel/Darbalaukis/MozillaFirefox.desktop /etc/skel/Darbalaukis/.MozillaFirefox.desktop || true
rm -f -r /etc/skel/Dokumentai/*.ott || true
cp -f -R /etc/skel/ /home/naudotojas || true ;
cp -f -R /etc/skel/ /root || true ;
if [ -d /root2/.config ] ; then
cp -f -R /root2/.config /root/ || true
rm -f -r /root2 || true
fi
rm -f /etc/skel/Darbalaukis/live-installer.desktop || true ;
sed -re "s/\/sbin\/yast2 live-installer/xdg-su -c \/usr\/bin\/calamares/" -i /home/naudotojas/Darbalaukis/live-installer.desktop || true;
sed -re "s/X-KDE-SubstituteUID=true/X-KDE-SubstituteUID=false/" -i /home/naudotojas/Darbalaukis/live-installer.desktop || true;
chown -R root:root /root || true ;
chown -R root:root /etc/skel || true ;
chown -R 1000:users /home/naudotojas || true ;
chmod -R u+rwX,go+rX,go-w /etc/skel || true ;
chmod -R u+rwX,go+rX,go-w /home/naudotojas || true ;
chmod -R u+rwX,go+rX,go-w /root || true ;
rm -f /root/.directory || true ;
if [ -d /etc/skel/public_html/ ] ; then
rm -f /etc/skel/public_html/.directory || true ;
rmdir /etc/skel/public_html || true ;
fi
if [ -d /home/naudotojas/public_html/ ] ; then
rm -f /home/naudotojas/public_html/.directory || true ;
rmdir /home/naudotojas/public_html || true ;
fi
if [ -d /etc/skel/bin/ ] ; then
rm -f /etc/skel/bin/.directory || true ;
rmdir /etc/skel/bin || true ;
fi
if [ -d /home/naudotojas/bin/ ] ; then
rm -f /home/naudotojas/bin/.directory || true ;
rmdir /home/naudotojas/bin || true ;
fi
find /root -maxdepth 1 -type d -exec chmod 700 {} + || true ;
find /root -maxdepth 1 -type f -exec chmod 600 {} + || true ;
find /etc/skel -maxdepth 1 -type d -exec chmod 700 {} + || true ;
find /etc/skel -maxdepth 1 -type f -exec chmod 600 {} + || true ;
find /home/naudotojas -maxdepth 1 -type d -exec chmod 700 {} + || true ;
find /home/naudotojas -maxdepth 1 -type f -exec chmod 600 {} + || true ;
#chmod u+rwX,go+rx,go-w /root/.xinitrc.template || true ;
#chmod u+rwX,go+rx,go-w /etc/skel/.xinitrc.template || true ;
#chmod u+rwX,go+rx,go-w /home/naudotojas/.xinitrc.template || true ;
#chmod 755 /etc/skel/.config/autostart/Pasisveikinimas.desktop || true ;
#chmod 755 /home/naudotojas/.config/autostart/Pasisveikinimas.desktop || true ;
#rm -f /etc/skel/.config/autostart/Pasisveikinimas.desktop || true ;
#rm -f /home/naudotojas/.config/autostart/Pasisveikinimas.desktop || true ;
# Numatyta failų sistema EXT4
#sed "s/DEFAULT_FS=\"btrfs\"/DEFAULT_FS=\"ext4\"/" -i /etc/sysconfig/storage
# Konsolės klaviatūros šriftas
sed -re "s/CONSOLE_FONT=.*$/CONSOLE_FONT=\"eurlatgr\"/" -i /etc/sysconfig/console
# sed "s/CONSOLE_FONT=\"lat9w-16.psfu\"/CONSOLE_FONT=\"LatArCyrHeb-14\"/" -i /etc/sysconfig/console
VERSION_ID="Tumbleweed"
#Pašalinkime saugyklas:
#rm /etc/zypp/repos.d/*.repo || true
# Pridėkime saugyklas
zypper ar --no-check --refresh http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/ "PackMAN" || true ;
# zypper ar --no-check --refresh http://packman.inode.at/suse/openSUSE_Tumbleweed/ "PackMAN" || true ;
zypper ar --no-check --refresh http://download.opensuse.org/repositories/home:/embar-:/Lietukas/openSUSE_Tumbleweed/ "obs:Lietukas" || true ;
#zypper ar --no-check --refresh http://download.vikis.lt/lietukas/repo/ "vikis:Lietukas" || true ;
zypper ar --no-check --refresh http://lietukas.lt/repo/ "lietukas.lt" || true ;
zypper ar --no-check --refresh http://download.opensuse.org/tumbleweed/repo/oss/ "atviro kodo paketai" || true ;
zypper ar --no-check --refresh http://download.opensuse.org/tumbleweed/repo/non-oss/ "nuosavybiniai paketai" || true ;
zypper ar --no-check --refresh http://download.opensuse.org/update/tumbleweed/ "atviri atnaujinimai" || true ;
zypper ar --no-check --refresh http://download.opensuse.org/tumbleweed/repo/debug/ "derinimo -debuginfo" || true ;
zypper ar --no-check --refresh -d https://download.nvidia.com/opensuse/tumbleweed/ "Nvidia_${VERSION_ID}" || true ;
if [ "$kiwi_type" != "iso" ] ; then
zypper -n rm calamares calamares-libs3 calamares-branding-Lietukas yast2-live-installer kernel-firmware-all || true
fi
# suseRemovePackagesMarkedForDeletion || true
for f in /etc/pki/rpm-gpg/*.key ; do [ -f "${f}" ] && rpm --import "${f}" || true ; done ;
# Sistemos paslaugos
for i in sshd ; do # cron vboxadd vboxadd-service wicked
systemctl -f disable $i || true
done
for i in gpm NetworkManager firewalld firstboot-correct_live_install; do # langset pcscd
systemctl -f enable $i || true
done
# GRUB2 paveikslai
/usr/share/grub2/themes/Lietukas/activate-theme || true ;
if test -e /boot/grub2/grub.cfg ; then
/usr/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg || true
fi ;
# Neprašyti slaptažodžio
sed -re "s/^root:[^:]+/root:/" /etc/shadow | sed -re "s/^naudotojas:[^:]+/naudotojas:/" > /etc/shadow_tmp
mv -f /etc/shadow_tmp /etc/shadow
chmod 0640 /etc/shadow
pam-config -a --nullok
## START Some hacks from livecd-openSUSE to make the .iso smaller
# Source: https://build.opensuse.org/package/view_file/KDE:Medias/openSUSE-Krypton/config.sh
# Save more than 200 MiB by removing this, not very useful for lives
#rm -rf /lib/firmware/{liquidio,netronome,qed,mrvl,mellanox,qcom,cypress,dpaa2,bnx2x,cxgb4}
# Not needed, boo#1166406
rm -f /boot/vmlinux*.[gx]z || true
rm -f /lib/modules/*/vmlinux*.[gx]z || true
# Decompress kernel modules, better for squashfs (boo#1192457)
find /lib/modules/*/kernel -name '*.ko.xz' -exec xz -d {} + || true
find /lib/modules/*/kernel -name '*.ko.zst' -exec zstd --rm -d {} + || true
echo "basename /lib/modules/ = \"$(basename /lib/modules/*)\""
depmod $(basename /lib/modules/*)
## END
# Šriftai
/usr/sbin/fonts-config || fc-cache -fv || true ;
# workaround AppArmor bugs:
# https://bugzilla.opensuse.org/show_bug.cgi?id=984330
sed "s/\/usr\/sbin\/nscd {/\/usr\/sbin\/nscd flags=(attach_disconnected) {/" -i /etc/apparmor.d/usr.sbin.nscd || true;
# https://bugzilla.opensuse.org/show_bug.cgi?id=984329
sed "s/\/usr\/sbin\/avahi-daemon {/\/usr\/sbin\/avahi-daemon flags=(attach_disconnected) {/" -i /etc/apparmor.d/usr.sbin.avahi-daemon || true;
sed "s/\/{usr\/,}bin\/ping {/\/{usr\/,}bin\/ping flags=(attach_disconnected) {/" -i /etc/apparmor.d/bin.ping || true;
sed "s/\/{usr\/,}sbin\/klogd {/\/{usr\/,}sbin\/klogd flags=(attach_disconnected) {/" -i /etc/apparmor.d/sbin.klogd || true;
sed "s/\/{usr\/,}sbin\/syslog-ng {/\/{usr\/,}sbin\/syslog-ng flags=(attach_disconnected) {/" -i /etc/apparmor.d/sbin.syslog-ng || true;
sed "s/\/{usr\/,}sbin\/syslogd {/\/{usr\/,}sbin\/syslogd flags=(attach_disconnected) {/" -i /etc/apparmor.d/sbin.syslogd || true;
sed "s/\/usr\/bin\/lessopen.sh {/\/usr\/bin\/lessopen.sh flags=(attach_disconnected) {/" -i /etc/apparmor.d/usr.bin.lessopen.sh || true;
sed "s/\/usr\/sbin\/smbd {/\/usr\/sbin\/smbd flags=(attach_disconnected) {/" -i /etc/apparmor.d/usr.sbin.smbd || true;
sed "s/\/usr\/sbin\/winbindd {/\/usr\/sbin\/winbindd flags=(attach_disconnected) {/" -i /etc/apparmor.d/usr.sbin.winbindd || true;
# Remove generated files (boo#1098535)
rm -f /var/lib/zypp/AnonymousUniqueId || true
rm -f /var/lib/systemd/random-seed || true
rm -f -r /var/cache/zypp/*
rm -f -r /var/tmp/*
rm -f -r /tmp/*
# https://bugzilla.redhat.com/show_bug.cgi?id=1195998
#ldconfig || true
#systemctl --no-reload disable ldconfig.service || true
#systemctl stop ldconfig.service || true
touch /etc/.updated || true
touch /var/.updated || true
rm -f /.readahead || true ;
#Disable journal write to disk in live mode, bug 950999
echo "Storage=volatile" >> /etc/systemd/journald.conf
#======================================
# SSL Certificates Configuration
#--------------------------------------
echo '** Rehashing SSL Certificates...'
c_rehash || true