ookay.
[14:16:42] root@oha2:/home/openhabian# rm -f /usr/local/share/zram-config/zram-device-list*
[14:16:57] root@oha2:/home/openhabian# reboot
this time i downloaded directly into folder (and had to change permissions?):
[14:18:27] root@oha2:/usr/local/bin# rm zram-config
[14:18:32] root@oha2:/usr/local/bin# wget https://raw.githubusercontent.com/mstormi/openhabian-zram/master/zram-config
...
2020-07-28 14:18:40 (5.70 MB/s) - ‘zram-config’ saved [11554/11554]
[14:19:17] root@oha2:/usr/local/bin# chmod 755 zram-config
[14:19:26] root@oha2:/usr/local/bin# ls -l zram-config
-rwxr-xr-x 1 root root 11554 Jul 28 14:18 zram-config
line 67: invoke-rc.d nginx stop >>${ZLOG} 2>&1
reboot
[14:22:19] root@oha2:/home/openhabian# cat /etc/systemd/system/zram-config.service
[Unit]
Description=zram-config
After=local-fs.target
Before=reboot.target halt.target smbd.service openhab2.service
PartOf=openhab2.service
[Service]
Type=oneshot
ExecStartPre=-/bin/rm -f /usr/local/share/zram-config/zram-device-list /usr/local/share/zram-config/zram-device-list.rev
ExecStart=-/usr/local/bin/zram-config start
ExecStop=-/usr/local/bin/zram-config stop
TimeoutSec=180
RemainAfterExit=yes
[Install]
WantedBy=basic.target
[14:22:28] root@oha2:/home/openhabian# cat /etc/ztab
# swap alg mem_limit disk_size swap_priority page-cluster swappiness
swap lz4 200M 600M 75 0 90
# dir alg mem_limit disk_size target_dir bind_dir
dir lz4 150M 500M /var/lib/openhab2/persistence /persistence.bind
# do not enable as long as you make substantial config changes
#dir lz4 30M 100M /var/lib/openhab2/jsondb /jsondb.bind
# log alg mem_limit disk_size target_dir bind_dir oldlog_dir
log lzo 150M 500M /var/log /log.bind
[14:22:48] root@oha2:/home/openhabian# zramctl
[14:23:18] root@oha2:/home/openhabian#
[14:23:18] root@oha2:/home/openhabian# /usr/local/bin/zram-config start
+ ZSHARE=/usr/local/share/zram-config
+ ZLOG=/usr/local/share/zram-config/log/zram-config.log
+ ZDIR=/opt/zram
+ [[ -f /boot/cmdline.txt ]]
+ grep -q init=/bin/ro-root.sh /boot/cmdline.txt
+ ZEPHEMERAL=false
+ case "$1" in
++ date +%Y-%m-%d-%H:%M:%S
+ echo 'zram-config start 2020-07-28-14:23:33'
+ rm -f /usr/local/share/zram-config/zram-device-list.new
+ file=/etc/ztab
+ ZTAB_EMPTY=true
+ read -r line
+ case "$line" in
+ continue
+ read -r line
+ case "$line" in
+ continue
+ read -r line
+ case "$line" in
+ continue
+ read -r line
+ case "$line" in
+ continue
+ read -r line
+ case "$line" in
+ continue
+ read -r line
+ case "$line" in
+ continue
+ read -r line
+ case "$line" in
+ continue
+ read -r line
+ case "$line" in
+ continue
+ read -r line
+ case "$line" in
+ continue
+ read -r line
+ case "$line" in
+ continue
+ read -r line
+ case "$line" in
+ continue
+ read -r line
+ case "$line" in
+ continue
+ read -r line
+ case "$line" in
+ continue
+ read -r line
+ case "$line" in
+ continue
+ read -r line
+ case "$line" in
+ continue
+ read -r line
+ case "$line" in
+ continue
+ read -r line
+ case "$line" in
+ continue
+ read -r line
+ case "$line" in
+ set -- swap lz4 200M 600M 75 0 90
+ echo 'ztab create swap lz4 200M 600M 75 0 90 '
+ ZTAB_EMPTY=false
+ ZTYPE=swap
+ ALG=lz4
+ MEM_SIZE=200M
+ DISK_SIZE=600M
+ '[' -f /usr/local/share/zram-config/zram-device-list ']'
+ test -f /usr/local/share/zram-config/zram-device-list.new
+ case "$1" in
+ PRIORITY=75
+ PAGE_CLUSTER=0
+ SWAPPINESS=90
+ createZswap
+ createZdevice
+ '[' '!' -d /sys/class/zram-control ']'
+ modprobe --verbose zram
+ RAM_DEV=0
+ '[' '!' -z 200M ']'
+ echo 200M
+ '[' '!' -z 600M ']'
+ echo 600M
+ '[' '!' -z lz4 ']'
+ echo lz4
+ echo 'zram0 created comp_algorithm=lz4 mem_limit=200M disksize=600M'
+ mkswap --label zram-config0 /dev/zram0
+ '[' '!' -z 75 ']'
+ swapon -v -p 75 /dev/zram0
+ '[' '!' -z 0 ']'
+ sysctl vm.page-cluster=0
+ '[' '!' -z 90 ']'
+ sysctl vm.swappiness=90
+ echo 'swap /zram0 zram-config0'
+ read -r line
+ case "$line" in
+ continue
+ read -r line
+ case "$line" in
+ continue
+ read -r line
+ case "$line" in
+ set -- dir lz4 150M 500M /var/lib/openhab2/persistence /persistence.bind
+ echo 'ztab create dir lz4 150M 500M /var/lib/openhab2/persistence /persistence.bind '
+ ZTAB_EMPTY=false
+ ZTYPE=dir
+ ALG=lz4
+ MEM_SIZE=150M
+ DISK_SIZE=500M
+ '[' -f /usr/local/share/zram-config/zram-device-list ']'
+ '[' dir = swap ']'
++ egrep 'dir.*/var/lib/openhab2/persistence' /usr/local/share/zram-config/zram-device-list
+ entry=
+ '[' -n '' ']'
+ test -f /usr/local/share/zram-config/zram-device-list.new
+ case "$1" in
+ TARGET_DIR=/var/lib/openhab2/persistence
+ BIND_DIR=/persistence.bind
+ '[' false = false ']'
+ createZdir
+ '[' '!' -z /persistence.bind ']'
+ mkdir -p /opt/zram/persistence.bind
+ '[' '!' -z /var/lib/openhab2/persistence ']'
++ stat -c %a /var/lib/openhab2/persistence
+ dirPerm=755
++ stat -c %u /var/lib/openhab2/persistence
+ dirUser=110
++ stat -c %g /var/lib/openhab2/persistence
+ dirGroup=115
+ echo 'dirPerm /var/lib/openhab2/persistence 755 110:115'
+ mount --verbose --bind /var/lib/openhab2/persistence/ /opt/zram/persistence.bind/
+ mount --verbose --make-private /opt/zram/persistence.bind/
++ awk -v a=/opt/zram/persistence.bind '$2 == a {print $4}' /proc/mounts
++ head -1
+ dirMountOpt=rw,noatime
++ awk -v a=/opt/zram/persistence.bind '$2 == a {print $3}' /proc/mounts
++ head -1
+ dirFsType=ext4
+ echo 'dirMountOpt rw,noatime dirFsType ' ext4
+ createZdevice
+ '[' '!' -d /sys/class/zram-control ']'
++ cat /sys/class/zram-control/hot_add
+ RAM_DEV=1
+ '[' '!' -z 150M ']'
+ echo 150M
+ '[' '!' -z 500M ']'
+ echo 500M
+ '[' '!' -z lz4 ']'
+ echo lz4
+ echo 'zram1 created comp_algorithm=lz4 mem_limit=150M disksize=500M'
+ mke2fs -v -t ext4 /dev/zram1
+ mkdir -p /opt/zram/zram1
+ mount --verbose --types ext4 -o rw,noatime /dev/zram1 /opt/zram/zram1/
+ mkdir -p /opt/zram/zram1/upper /opt/zram/zram1/workdir /var/lib/openhab2/persistence
+ mount --verbose --types overlay -o redirect_dir=on,lowerdir=/opt/zram/persistence.bind,upperdir=/opt/zram/zram1/upper,workdir=/opt/zram/zram1/workdir overlay1 /var/lib/openhab2/persistence
+ chown 110:115 /opt/zram/zram1/upper /opt/zram/zram1/workdir /var/lib/openhab2/persistence
+ chmod 755 /opt/zram/zram1/upper /opt/zram/zram1/workdir /var/lib/openhab2/persistence
+ echo 'dir /zram1 /var/lib/openhab2/persistence /persistence.bind'
+ read -r line
+ case "$line" in
+ continue
+ read -r line
+ case "$line" in
+ continue
+ read -r line
+ case "$line" in
+ continue
+ read -r line
+ case "$line" in
+ continue
+ read -r line
+ case "$line" in
+ set -- log lzo 150M 500M /var/log /log.bind
+ echo 'ztab create log lzo 150M 500M /var/log /log.bind '
+ ZTAB_EMPTY=false
+ ZTYPE=log
+ ALG=lzo
+ MEM_SIZE=150M
+ DISK_SIZE=500M
+ '[' -f /usr/local/share/zram-config/zram-device-list ']'
+ '[' log = swap ']'
++ egrep 'log.*/var/log' /usr/local/share/zram-config/zram-device-list
+ entry=
+ '[' -n '' ']'
+ test -f /usr/local/share/zram-config/zram-device-list.new
+ case "$1" in
+ TARGET_DIR=/var/log
+ BIND_DIR=/log.bind
+ OLDLOG_DIR=
+ '[' false = false ']'
+ createZlog
+ invoke-rc.d rsyslog stop
+ invoke-rc.d nginx stop
+ createZdir
+ '[' '!' -z /log.bind ']'
+ mkdir -p /opt/zram/log.bind
+ '[' '!' -z /var/log ']'
++ stat -c %a /var/log
+ dirPerm=755
++ stat -c %u /var/log
+ dirUser=0
++ stat -c %g /var/log
+ dirGroup=0
+ echo 'dirPerm /var/log 755 0:0'
+ mount --verbose --bind /var/log/ /opt/zram/log.bind/
+ mount --verbose --make-private /opt/zram/log.bind/
++ awk -v a=/opt/zram/log.bind '$2 == a {print $4}' /proc/mounts
++ head -1
+ dirMountOpt=rw,noatime
++ awk -v a=/opt/zram/log.bind '$2 == a {print $3}' /proc/mounts
++ head -1
+ dirFsType=ext4
+ echo 'dirMountOpt rw,noatime dirFsType ' ext4
+ createZdevice
+ '[' '!' -d /sys/class/zram-control ']'
++ cat /sys/class/zram-control/hot_add
+ RAM_DEV=2
+ '[' '!' -z 150M ']'
+ echo 150M
+ '[' '!' -z 500M ']'
+ echo 500M
+ '[' '!' -z lzo ']'
+ echo lzo
+ echo 'zram2 created comp_algorithm=lzo mem_limit=150M disksize=500M'
+ mke2fs -v -t ext4 /dev/zram2
+ mkdir -p /opt/zram/zram2
+ mount --verbose --types ext4 -o rw,noatime /dev/zram2 /opt/zram/zram2/
+ mkdir -p /opt/zram/zram2/upper /opt/zram/zram2/workdir /var/log
+ mount --verbose --types overlay -o redirect_dir=on,lowerdir=/opt/zram/log.bind,upperdir=/opt/zram/zram2/upper,workdir=/opt/zram/zram2/workdir overlay2 /var/log
+ chown 0:0 /opt/zram/zram2/upper /opt/zram/zram2/workdir /var/log
+ chmod 755 /opt/zram/zram2/upper /opt/zram/zram2/workdir /var/log
+ echo 'log /zram2 /var/log /log.bind'
+ invoke-rc.d rsyslog start
+ invoke-rc.d nginx start
+ journalctl --flush
+ '[' '!' -z '' ']'
+ echo 'createZlog no oldlog dir in ztab'
+ read -r line
+ '[' false = true ']'
[14:23:35] root@oha2:/home/openhabian# zramctl
NAME ALGORITHM DISKSIZE DATA COMPR TOTAL STREAMS MOUNTPOINT
/dev/zram2 lzo-rle 500M 16.4M 7K 96K 4 /opt/zram/zram2
/dev/zram1 lzo-rle 500M 16.4M 7.1K 84K 4 /opt/zram/zram1
/dev/zram0 lzo-rle 600M 4K 87B 12K 4 [SWAP]
[14:24:10] root@oha2:/home/openhabian# date > /var/lib/openhab2/persistence/date
[14:24:43] root@oha2:/home/openhabian# /usr/local/bin/zram-config stop
+ ZSHARE=/usr/local/share/zram-config
+ ZLOG=/usr/local/share/zram-config/log/zram-config.log
+ ZDIR=/opt/zram
+ [[ -f /boot/cmdline.txt ]]
+ grep -q init=/bin/ro-root.sh /boot/cmdline.txt
+ ZEPHEMERAL=false
+ case "$1" in
++ date +%Y-%m-%d-%H:%M:%S
+ echo 'zram-config stop 2020-07-28-14:25:07'
+ tac /usr/local/share/zram-config/zram-device-list
+ file=/usr/local/share/zram-config/zram-device-list.rev
+ read -r line
+ case "$line" in
+ set -- log /zram2 /var/log /log.bind
+ echo 'ztab remove log /zram2 /var/log /log.bind'
+ case "$1" in
+ ZTYPE=log
+ ZRAM_DEV=/zram2
+ TARGET_DIR=/var/log
+ BIND_DIR=/log.bind
+ '[' false = false ']'
+ removeZlog
+ '[' '!' -z '' ']'
+ echo /zram2
++ echo /zram2
++ tr -dc 0-9
+ DEV_NUM=2
+ '[' '!' -z /var/log ']'
+ invoke-rc.d rsyslog stop
+ invoke-rc.d nginx stop
+ umount --verbose /var/log/
+ sleep .1
+ invoke-rc.d rsyslog stop
+ invoke-rc.d nginx stop
+ umount --verbose -l /var/log/
+ mergeOverlay
+ '[' '!' -z /zram2 ']'
+ umount --verbose /opt/zram/zram2/
+ umount overlay2
umount: overlay2: no mount point specified.
+ rm -rv /opt/zram/zram2
+ '[' '!' -z /log.bind ']'
+ umount --verbose /opt/zram/log.bind/
+ rm -rv /opt/zram/log.bind
+ invoke-rc.d rsyslog stop
+ invoke-rc.d nginx stop
+ echo 2
+ /sbin/zramctl -r /dev/zram2
+ invoke-rc.d rsyslog start
+ invoke-rc.d nginx start
+ journalctl --flush
+ echo '/dev/zram2 removed'
+ read -r line
+ case "$line" in
+ set -- dir /zram1 /var/lib/openhab2/persistence /persistence.bind
+ echo 'ztab remove dir /zram1 /var/lib/openhab2/persistence /persistence.bind'
+ case "$1" in
+ ZTYPE=dir
+ ZRAM_DEV=/zram1
+ TARGET_DIR=/var/lib/openhab2/persistence
+ BIND_DIR=/persistence.bind
+ '[' false = false ']'
+ removeZdir
+ echo /zram1
++ echo /zram1
++ tr -dc 0-9
+ DEV_NUM=1
+ '[' '!' -z /var/lib/openhab2/persistence ']'
+ umount --verbose /var/lib/openhab2/persistence/
+ echo 'umount /var/lib/openhab2/persistence/'
+ mergeOverlay
+ '[' '!' -z /zram1 ']'
+ umount --verbose /opt/zram/zram1/
+ umount overlay1
umount: overlay1: no mount point specified.
+ rm -rv /opt/zram/zram1
+ '[' '!' -z /persistence.bind ']'
+ umount --verbose /opt/zram/persistence.bind/
+ rm -rv /opt/zram/persistence.bind
+ echo 1
+ /sbin/zramctl -r /dev/zram1
+ echo '/dev/zram1 removed'
+ read -r line
+ case "$line" in
+ set -- swap /zram0 zram-config0
+ echo 'ztab remove swap /zram0 zram-config0 '
+ case "$1" in
+ ZTYPE=swap
+ ZRAM_DEV=/zram0
+ LABEL=zram-config0
+ removeZswap
++ echo /zram0
++ tr -dc 0-9
+ DEV_NUM=0
+ swapoff /dev/zram0
+ echo 0
+ /sbin/zramctl -r /dev/zram0
+ echo '/dev/zram0 removed'
+ read -r line
+ rm -fv /usr/local/share/zram-config/zram-device-list.rev /usr/local/share/zram-config/zram-device-list
[14:25:09] root@oha2:/home/openhabian# zramctl
[14:25:41] root@oha2:/home/openhabian#
[14:25:41] root@oha2:/home/openhabian# cat /var/lib/openhab2/persistence/date
Tue 28 Jul 14:24:43 CEST 2020
[14:26:03] root@oha2:/home/openhabian# zram-config
+ ZSHARE=/usr/local/share/zram-config
+ ZLOG=/usr/local/share/zram-config/log/zram-config.log
+ ZDIR=/opt/zram
+ [[ -f /boot/cmdline.txt ]]
+ grep -q init=/bin/ro-root.sh /boot/cmdline.txt
+ ZEPHEMERAL=false
+ case "$1" in
+ echo 'Usage: zram-config {start|stop|sync|enable-ephemeral|disable-ephemeral}'
Usage: zram-config {start|stop|sync|enable-ephemeral|disable-ephemeral}
+ exit 1
[14:26:21] root@oha2:/home/openhabian# cat /usr/local/share/zram-config/log/zram-config.log
ztab remove log /zram2 /var/log /log.bind
/zram2
Warning: Stopping rsyslog.service, but it can still be activated by:
syslog.socket
Failed to stop nginx.service: Unit nginx.service not loaded.
invoke-rc.d: initscript nginx, action "stop" failed.
umount: /var/log (overlay2) unmounted
+ echo 'overlay --lowerdir=/opt/zram/log.bind --upperdir=/opt/zram/zram2/upper'
overlay --lowerdir=/opt/zram/log.bind --upperdir=/opt/zram/zram2/upper
+ cd /usr/local/lib/zram-config/
+ ./overlay merge -l /opt/zram/log.bind -u /opt/zram/zram2/upper
+ echo y
The script overlay-tools-aNINBw.sh is created. Run the script to do the actual work please. Remember to run it when the OverlayFS is not mounted.
+ sh -x overlay-tools-aNINBw.sh
+ set -x
+ rm -rf /opt/zram/log.bind/daemon.log
+ mv -T /opt/zram/zram2/upper/daemon.log /opt/zram/log.bind/daemon.log
+ rm -rf /opt/zram/log.bind/messages
+ mv -T /opt/zram/zram2/upper/messages /opt/zram/log.bind/messages
+ rm -rf /opt/zram/log.bind/syslog
+ mv -T /opt/zram/zram2/upper/syslog /opt/zram/log.bind/syslog
+ rm -rf /opt/zram/log.bind/auth.log
+ mv -T /opt/zram/zram2/upper/auth.log /opt/zram/log.bind/auth.log
+ rmdir /opt/zram/zram2/upper
+ rm -v overlay-tools-aNINBw.sh
removed 'overlay-tools-aNINBw.sh'
umount: /opt/zram/zram2/ unmounted
removed directory '/opt/zram/zram2'
umount: /opt/zram/log.bind/ unmounted
removed directory '/opt/zram/log.bind'
Warning: Stopping rsyslog.service, but it can still be activated by:
syslog.socket
Failed to stop nginx.service: Unit nginx.service not loaded.
invoke-rc.d: initscript nginx, action "stop" failed.
/dev/zram2 removed
ztab remove dir /zram1 /var/lib/openhab2/persistence /persistence.bind
/zram1
umount /var/lib/openhab2/persistence/
+ echo 'overlay --lowerdir=/opt/zram/persistence.bind --upperdir=/opt/zram/zram1/upper'
overlay --lowerdir=/opt/zram/persistence.bind --upperdir=/opt/zram/zram1/upper
+ cd /usr/local/lib/zram-config/
+ echo y
+ ./overlay merge -l /opt/zram/persistence.bind -u /opt/zram/zram1/upper
The script overlay-tools-Co87VB.sh is created. Run the script to do the actual work please. Remember to run it when the OverlayFS is not mounted.
+ sh -x overlay-tools-Co87VB.sh
+ set -x
+ rm -rf /opt/zram/persistence.bind/date
+ mv -T /opt/zram/zram1/upper/date /opt/zram/persistence.bind/date
+ rmdir /opt/zram/zram1/upper
+ rm -v overlay-tools-Co87VB.sh
removed 'overlay-tools-Co87VB.sh'
umount: /opt/zram/zram1/ unmounted
removed directory '/opt/zram/zram1'
umount: /opt/zram/persistence.bind/ unmounted
removed directory '/opt/zram/persistence.bind'
/dev/zram1 removed
ztab remove swap /zram0 zram-config0
/dev/zram0 removed
removed '/usr/local/share/zram-config/zram-device-list.rev'
removed '/usr/local/share/zram-config/zram-device-list'
looks good (better at least?), right?
(so i really did matter that i didn’t edit the existing zram-config file but instead deleted old one and downloaded new one?)