Skip to content
Snippets Groups Projects

less-logging.ash

  • Clone with SSH
  • Clone with HTTPS
  • Embed
  • Share
    The snippet can be accessed without any authentication.
    Authored by element00 .

    Replaces some log files with links to /dev/null, and covers some directories used for storing logs with a tmpfs.

    To be run from the root directory of prebuilt Plasma Desktop pmOS images.

    Edited
    less-logging.ash 8.02 KiB
    #/bin/busybox ash
    
    # TODO: check that we're root, and exit or prompt user to continue
    
    busybox find -group 1000 -o -user 1000 -exec busybox chown -hcv 0:0 {} +
    
    busybox rm -v \
                  home/user/.local/share/kwalletd/kdewallet.kwl \
                  home/user/.local/share/kwalletd/kdewallet.salt \
                  etc/skel/.local/share/kwalletd/kdewallet.kwl \
                  etc/skel/.local/share/kwalletd/kdewallet.salt;
    
    printf '%s\n%s\n' '127.0.0.1       localhost' '::1             ip6-localhost localhost' | busybox tee etc/hosts;
    
    printf '%s' '[device]
    wifi.scan-rand-mac-address=yes
    
    [connection]
    wifi.cloned-mac-address=random
    ethernet.cloned-mac-address=random
    connection.stable-id=${CONNECTION}/${BOOT}
    ' | busybox tee etc/NetworkManager/conf.d/00-macrandomize.conf;
    
    busybox chmod -cv 0755 tmp var/tmp;
    
    busybox ln -vs /usr/bin/lddtree /usr/local/bin/ldd;
    
    busybox mkdir root/.cache \
                  home/user/.cache home/user/.tor home/user/.android home/user/.lldb \
                  home/user/.local/state \
                  home/user/.local/share/sddm \
                  home/user/.config/Signal home/user/.config/Signal/logs \
                  home/user/Downloads home/user/Pictures home/user/Videos \
                  var/lib/machines
                  var/lib/portables
                  var/lib/private
                  var/lib/sddm/.cache var/lib/sddm/.local var/lib/sddm/.dbus;
    
    for f in \
             root/.ash_history root/.bash_history root/.python_history root/.zsh_history \
             home/user/.ash_history home/user/.bash_history home/user/.python_history home/user/.zsh_history \
             home/user/.lldb/lldb-widehistory \
             home/user/.config/Signal home/user/.config/Signal/logs \
             home/user/.local/share/recently-used.xbel \
             home/user/.local/share/user-places.xbel \
             home/user/.local/share/user-places.xbel.bak \
             home/user/.local/share/user-places.xbel.tbcache \
             home/user/.local/share/sddm/wayland-session.log \
             var/lib/sddm/.local/share/sddm.log; do {
     busybox ln -vs /dev/null "$f";
    }; done;
    
    busybox chown 10000:10000 -hcv home/user \
                           home/user/.ash_history \
                           home/user/.bash_history \
                           home/user/.python_history \
                           home/user/.zsh_history \
                           home/user/Downloads home/user/Pictures home/user/Videos \
                           home/user/.cache home/user/.tor home/user/.android \
                           home/user/.local/state \
                           home/user/.local/share/recently-used.xbel home/user/.local/share/user-places.xbel home/user/.local/share/user-places.xbel.bak home/user/.local/share/user-places.xbel.tbcache \
                           home/user/.local/share/sddm home/user/.local/share/sddm/wayland-session.log;
    
    busybox chattr -V +i . boot dev home lib media mnt proc run srv sys tmp usr var \
                           usr/local \
                           root/.cache \
                           var/cache var/empty var/local var/log var/mail var/tmp \
                           var/lib/AccountsService var/lib/boltd var/lib/chrony var/lib/dbus var/lib/flatpak var/lib/machines var/lib/misc var/lib/NetworkManager var/lib/nftables var/lib/portables var/lib/private var/lib/systemd var/lib/udhcpd var/lib/udisks2 var/lib/upower var/lib/urfkill var/lib/xkb \
                           var/lib/sddm/.cache var/lib/sddm/.local var/lib/sddm/.dbus \
                           home/user/Downloads home/user/Pictures home/user/Videos \
                           home/user/.cache \
                           home/user/.local home/user/.local/state;
    
    printf '%s' '
    tmpfs /tmp                            tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=1G 0 0
    
    tmpfs /var/cache                      tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=1G 0 0
    tmpfs /var/local                      tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=1G 0 0
    tmpfs /var/log                        tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=1G 0 0
    tmpfs /var/mail                       tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=1G 0 0
    tmpfs /var/opt                        tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=1G 0 0
    tmpfs /var/tmp                        tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=1G 0 0
    
    tmpfs /var/lib/boltd                  tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=1G 0 0
    tmpfs /var/lib/chrony                 tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=1G 0 0
    tmpfs /var/lib/dbus                   tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=1G 0 0
    tmpfs /var/lib/machines               tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=1G 0 0
    tmpfs /var/lib/misc                   tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=1G 0 0
    tmpfs /var/lib/NetworkManager         tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=1G 0 0
    tmpfs /var/lib/nftables               tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=1G 0 0
    tmpfs /var/lib/portables              tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=1G 0 0
    tmpfs /var/lib/private                tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=1G 0 0
    tmpfs /var/lib/systemd                tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=1G 0 0
    tmpfs /var/lib/udhcpd                 tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=1G 0 0
    tmpfs /var/lib/udisks2                tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=1G 0 0
    tmpfs /var/lib/upower                 tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=1G 0 0
    tmpfs /var/lib/urfkill                tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=1G 0 0
    tmpfs /var/lib/xkb                    tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=1G 0 0
    
    tmpfs /var/lib/sddm/.cache            tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=1G 0 0
    tmpfs /var/lib/sddm/.local            tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=1G 0 0
    tmpfs /var/lib/sddm/.dbus             tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=1G 0 0
    
    tmpfs /root/.cache                    tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=256M 0 0
    
    tmpfs /home/user/Downloads            tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=1G,uid=10000,gid=10000 0 0
    tmpfs /home/user/Pictures             tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=128M,uid=10000,gid=10000 0 0
    tmpfs /home/user/Videos               tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=128M,uid=10000,gid=10000 0 0
    tmpfs /home/user/.cache               tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=256M,uid=10000,gid=10000 0 0
    tmpfs /home/user/.android             tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=16M,uid=10000,gid=10000 0 0
    tmpfs /home/user/.tor                 tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=64M,uid=10000,gid=10000 0 0
    
    tmpfs /home/user/.config/pulse        tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=96M,uid=10000,gid=10000 0 0
    tmpfs /home/user/.config/Signal/logs  tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=96M,uid=10000,gid=10000 0 0
    tmpfs /home/user/.local/state         tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=256M,uid=10000,gid=10000 0 0
    
    tmpfs /home/user/.local/share/kactivitymanagerd/resources tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=96M,uid=10000,gid=10000 0 0
    tmpfs /home/user/.local/share/kate tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=96M,uid=10000,gid=10000 0 0
    tmpfs /home/user/.local/share/klipper tmpfs inode32,rw,nodev,nosuid,noexec,noatime,nodiratime,async,size=1G,uid=10000,gid=10000 0 0
    ' | busybox tee -a etc/fstab;
    
    busybox fstrim -v .;
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Finish editing this message first!
    Please register or to comment