From 60acce89ee1d1331a522b2fe13e6ac2a24993da8 Mon Sep 17 00:00:00 2001 From: fernao Date: Mon, 3 Jul 2023 18:15:27 -0300 Subject: [PATCH] Update 'etc-init.d-swapfile' --- etc-init.d-swapfile | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/etc-init.d-swapfile b/etc-init.d-swapfile index 24980a5..d0b0b38 100644 --- a/etc-init.d-swapfile +++ b/etc-init.d-swapfile @@ -1,14 +1,20 @@ #!/bin/sh /etc/rc.common -# (C) 2016 - 2023 Fernao Vellozo +# (C) 2016 - 2023 Fernao Vellozo | fernao@disroot.org # This is free software under the terms of GPLv3 +# v 1.0.5 +# Service priority in the system START=90 EXTRA_COMMANDS="status create" EXTRA_HELP=" status Check service status create Create a swapfile" +# if version is 19 or lower, use spaces on the help menu above +# if version 21 or higher, use tabs +# +# overlay partition is the default value +# it's better to change it and use other place to store the swapfile -# default value, it'd be better to use other place than overlay SWPATH="/overlay/swapfile" boot() { @@ -57,19 +63,28 @@ stop() { create() { RAMTOTAL=`fgrep MemTotal /proc/meminfo | awk '{print $2}'` SWAPTOTAL=`fgrep SwapTotal /proc/meminfo | awk '{print $2}'` - OVERLAYSIZE=`df | grep overlayfs | awk '{print $3}'` - if [ $OVERLAYSIZE < $RAMTOTAL ]; then + OVERLAYSIZE=`df | grep overlayfs | awk '{print $4}'` + + if [ "$OVERLAYSIZE" -lt "$RAMTOTAL" ]; then echo "ERROR: Not enough storage for a swapfile, quitting..." exit 1 elif [ $SWAPTOTAL != 0 ]; then echo "ERROR: Swap already in use, quitting..." + exit 1 + elif [ -f $SWPATH ]; then + echo "ERROR: File already exists, quitting..." + exit 1 else - dd if=/dev/zero of=$SWFILE bs=1024 count=$RAMTOTAL - mkswap -L SWAPFILE $SWFILE - chmod 600 $SWFILE + echo "Creating Swap File of "$RAMTOTAL + echo "Please wait..." + dd if=/dev/zero of=$SWPATH bs=1024 count=$RAMTOTAL + mkswap -L SWAPFILE $SWPATH + chmod 600 $SWPATH /etc/init.d/swapfile enable logger "SwapFile created" - echo "SwapFile successfully created, enabled to run after the next reboot" + echo "SwapFile successfully created and enabled to run after the next reboot" + /etc/init.d/swapfile start + echo; free fi }