From ebe4eae7e429505c28435f89290d2b3f87d20771 Mon Sep 17 00:00:00 2001 From: KemoNine Date: Mon, 3 Aug 2020 01:05:29 +0000 Subject: [PATCH 01/12] Start overhauling docs for ubuntu --- docs/README.md | 5 +- docs/aur_package_manager.md | 26 -------- docs/base.md | 117 +----------------------------------- docs/cpu_governor.md | 10 ++- docs/finalize_setup.md | 72 ++++++++++------------ docs/journald.md | 28 --------- docs/rpi_tools.md | 16 ----- docs/slideshow.md | 69 +++++++++++---------- docs/slideshow_prep.md | 17 ++++-- docs/swap.md | 4 +- 10 files changed, 95 insertions(+), 269 deletions(-) delete mode 100644 docs/aur_package_manager.md delete mode 100644 docs/journald.md delete mode 100644 docs/rpi_tools.md diff --git a/docs/README.md b/docs/README.md index 66fce3c..d6e3e75 100644 --- a/docs/README.md +++ b/docs/README.md @@ -12,12 +12,9 @@ This folder contains a bunch of general information on how to get the base of a Items marked ```REQUIRED``` are assumed to be setup and working. You've been warned. * [Base Firmware (REQUIRED)](base.md) -* [Finalize Arch Setup (REQUIRED)](finalize_setup.md) +* [Finalize Setup (REQUIRED)](finalize_setup.md) * [Setup swap (REQUIRED)](swap.md) -* [journald Tweaks (make it less chatty and resource hungry)](journald.md) -* [Standard Raspberry Pi Toolchain Setup (REQUIRED)](rpi_tools.md) * [CPU Governor](cpu_governor.md) -* [AUR Package Manager (REQUIRED)](aur_package_manager.md) * [Slideshow Prep (REQUIRED)](slideshow_prep.md) * [Slideshow Setup (REQUIRED)](slideshow.md) * [Email Notifications (REQUIRED)](email_notifications.md) diff --git a/docs/aur_package_manager.md b/docs/aur_package_manager.md deleted file mode 100644 index 00b4da1..0000000 --- a/docs/aur_package_manager.md +++ /dev/null @@ -1,26 +0,0 @@ -# AUR Package Manager - -This project uses some packages from the Arch Linux AUR repos. As such, we are going to setup a package manager for those packages. Pacman doesn't support the AUR repos natively and this is the most accessible approach for installing AUR packages. - -The commands below will setup the ```yay``` AUR package manager. - -``` sh - -pacman -S --needed base-devel go -useradd yay -s /usr/bin/nologin -mkdir /home/yay -chown yay: -R /home/yay -git clone https://aur.archlinux.org/yay.git /opt/yay -chown yay: -R /opt/yay/ -cd /opt/yay -cat > /etc/sudoers.d/yay <> ~/.bashrc < /mnt/arch/boot/config.txt < /etc/default/cpufrequtils < /etc/locale.conf -sed -i "s/#en_US.UTF-8/en_US.UTF-8/" /etc/locale.gen -locale-gen +sudo -sHu root /bin/bash + +# Useful packages +apt install build-essential cmake nano tmux vim htop iotop nload git + +# Raspberry Pi tools +apt install linux-tools-raspi +mkdir /opt/raspberry-pi +cd /opt/raspberry-pi +git clone https://github.com/raspberrypi/userland.git +cd userland +./buildme --aarch64 +cat > /etc/profile.d/rpi-tools.sh < /etc/systemd/journald.conf.d/00-wall.conf < /etc/systemd/journald.conf.d/00-journal-size.conf < /etc/systemd/journald.conf.d/00-audit.conf < /etc/systemd/journald.conf.d/00-console.conf < /home/fim/.fimrc < /usr/local/bin/fim-slideshow.sh < /etc/systemd/system/fim.service < /etc/incron.d/feh < /usr/local/bin/feh-slideshow.sh <> /etc/greetd/config.toml <> /etc/fstab < /etc/sysctl.d/99-sysctl.conf +echo 'vm.swappiness=1' > /etc/sysctl.d/99-swap.conf echo "/swap/swap.1 none swap defaults 0 0" >> /etc/fstab swapon -a From 79aa6a8982539fa1243c65f1c8cca637d310a1b2 Mon Sep 17 00:00:00 2001 From: KemoNine Date: Mon, 3 Aug 2020 07:03:35 +0000 Subject: [PATCH 02/12] Begin slideshow overhaul for ubuntu --- docs/slideshow.md | 158 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 153 insertions(+), 5 deletions(-) diff --git a/docs/slideshow.md b/docs/slideshow.md index 79c6d3a..750f4f7 100644 --- a/docs/slideshow.md +++ b/docs/slideshow.md @@ -14,16 +14,165 @@ The below commands will setup ```fim``` as a slideshow on your display. useradd -m -G video -s /usr/sbin/nologin fim apt install acl -setfacl -m "u:fim:rX" /tank/pictures -setfacl -dm "u:fim:rX" /tank/pictures +setfacl -m +unbind "u:fim:rX" /tank/pictures +setfacl -dm +unbind "u:fim:rX" /tank/pictures apt install fim imagemagick ttf-dejavu cat > /home/fim/.fimrc <"; +unbind "?"; +unbind "@"; +unbind "A"; +unbind "Any"; +unbind "B"; +unbind "BackSpace"; +unbind "Backspace"; +unbind "C"; +unbind "C-a"; +unbind "C-b"; +unbind "C-c"; +unbind "C-d"; +unbind "C-e"; +unbind "C-f"; +unbind "C-g"; +unbind "C-h"; +unbind "C-i"; +unbind "C-j"; +unbind "C-k"; +unbind "C-l"; +unbind "C-m"; +unbind "C-n"; +unbind "C-o"; +unbind "C-p"; +unbind "C-q"; +unbind "C-r"; +unbind "C-s"; +unbind "C-t"; +unbind "C-u"; +unbind "C-v"; +unbind "C-w"; +unbind "C-x"; +unbind "C-y"; +unbind "C-z"; +unbind "D"; +unbind "Del"; +unbind "Down"; +unbind "E"; +unbind "End"; +unbind "Enter"; +unbind "Esc"; +unbind "F"; +unbind "G"; +unbind "H"; +unbind "Home"; +unbind "I"; +unbind "Ins"; +unbind "J"; +unbind "K"; +unbind "L"; +unbind "Left"; +unbind "M"; +unbind "N"; +unbind "O"; +unbind "P"; +unbind "PageDown"; +unbind "PageUp"; +unbind "Q"; +unbind "R"; +unbind "Right"; +unbind "S"; +unbind "T"; +unbind "Tab"; +unbind "U"; +unbind "Up"; +unbind "V"; +unbind "W"; +unbind "X"; +unbind "Y"; +unbind "Z"; +unbind "["; +unbind "\"; +unbind "]"; +unbind "^"; +unbind "_"; +unbind "’"; +unbind "a"; +unbind "b"; +unbind "c"; +unbind "d"; +unbind "e"; +unbind "f"; +unbind "g"; +unbind "h"; +unbind "i"; +unbind "j"; +unbind "k"; +unbind "l"; +unbind "m"; +unbind "n"; +unbind "o"; +unbind "p"; +unbind "q"; +unbind "r"; +unbind "s"; +unbind "t"; +unbind "u"; +unbind "v"; +unbind "w"; +unbind "x"; +unbind "y"; +unbind "z"; +unbind "{"; +unbind "|"; +unbind "}"; +unbind "~"; EOF cat > /usr/local/bin/fim-slideshow.sh < /etc/systemd/system/fim.service < Date: Mon, 3 Aug 2020 07:31:56 +0000 Subject: [PATCH 03/12] Finalize slideshow setup on ubuntu, including removal of cursor on the slideshow tty --- docs/finalize_setup.md | 2 ++ docs/slideshow.md | 21 ++++++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/docs/finalize_setup.md b/docs/finalize_setup.md index 02ab37e..a568b87 100644 --- a/docs/finalize_setup.md +++ b/docs/finalize_setup.md @@ -12,6 +12,8 @@ sudo -sHu root /bin/bash # Disable cloud-init as it's unnecessary for the purposes of this project touch /etc/cloud/cloud-init.disabled +nano -w /boot/firmware/cmdline.txt + remove console=tty1 systemctl reboot # Login diff --git a/docs/slideshow.md b/docs/slideshow.md index 750f4f7..981560c 100644 --- a/docs/slideshow.md +++ b/docs/slideshow.md @@ -178,7 +178,7 @@ chmod a+x /usr/local/bin/fim-slideshow.sh cat > /etc/systemd/system/fim.service < /usr/local/bin/no-cursor-tty1.sh < /dev/tty1 +EOF +chmod a+x /usr/local/bin/no-cursor-tty1.sh +cat > /etc/systemd/system/no-cursor-tty1.service < /etc/incron.d/feh < Date: Mon, 3 Aug 2020 16:03:07 +0000 Subject: [PATCH 04/12] Finish up initial migration to ubuntu for docs --- docs/README.md | 14 +-- docs/cockpit.md | 7 +- docs/cron.md | 23 ----- docs/email_notifications.md | 2 +- docs/filebrowser.md | 18 ++-- docs/finalize_setup.md | 2 +- docs/landing_page.md | 7 +- docs/monit.md | 19 ++-- docs/munin.md | 190 ++++++++++++++++++------------------ docs/networking.md | 31 ++++++ docs/restic.md | 6 +- docs/slideshow.md | 2 +- docs/syncthing.md | 8 +- docs/wifi.md | 13 --- 14 files changed, 168 insertions(+), 174 deletions(-) delete mode 100644 docs/cron.md create mode 100644 docs/networking.md delete mode 100644 docs/wifi.md diff --git a/docs/README.md b/docs/README.md index d6e3e75..ae5e766 100644 --- a/docs/README.md +++ b/docs/README.md @@ -14,17 +14,17 @@ Items marked ```REQUIRED``` are assumed to be setup and working. You've been war * [Base Firmware (REQUIRED)](base.md) * [Finalize Setup (REQUIRED)](finalize_setup.md) * [Setup swap (REQUIRED)](swap.md) -* [CPU Governor](cpu_governor.md) +* [Additional Networking Setup (REQUIRED)](networking.md) * [Slideshow Prep (REQUIRED)](slideshow_prep.md) * [Slideshow Setup (REQUIRED)](slideshow.md) * [Email Notifications (REQUIRED)](email_notifications.md) -* [cron / Scheduler (REQUIRED)](cron.md) -* [Backups via restic](restic.md) -* [Additional Networking Setup (REQUIRED)](cockpit.md) -* [Web Dashboard / Landing Page](landing_page.md) * [System Monitoring (REQUIRED)](monit.md) -* [Resource Monitoring](munin.md) +* [HDMI Scheduled On/Off](scheduled_display.md) +* [CPU Governor](cpu_governor.md) +* [Backups via restic](restic.md) +* [Web Based Administration](cockpit.md) +* [Web Dashboard / Landing Page](landing_page.md) * [Web File Manager (Picture Sync)](filebrowser.md) * [SyncThing (Picture Sync)](syncthing.md) * [rclone (Picture Sync)](rclone.md) -* [HDMI Scheduled On/Off](scheduled_display.md) +* [Resource Monitoring](munin.md) diff --git a/docs/cockpit.md b/docs/cockpit.md index e7ae7ad..441c88e 100644 --- a/docs/cockpit.md +++ b/docs/cockpit.md @@ -2,17 +2,12 @@ The below commands will setup ```cockpit``` so you can manage your PiFrame from a web browser. This is wholly optional but can be useful when ssh/serial terminal access aren't available. -If you don't want the admin UI you still should install ```NetworkManager``` and ```firewalld``` as the rest of the documentation assumes these are installed. - ``` sh # Remote management on http://ip:9090 -pacman -S cockpit cockpit-pcp packagekit udisks2 networkmanager firewalld -systemctl enable --now firewalld +apt install cockpit firewall-cmd --zone=public --permanent --add-port=9090/tcp -firewall-cmd --zone=public --permanent --add-service=ssh firewall-cmd --reload -systemctl enable --now NetworkManager systemctl enable --now cockpit.socket ``` diff --git a/docs/cron.md b/docs/cron.md deleted file mode 100644 index 142c8a4..0000000 --- a/docs/cron.md +++ /dev/null @@ -1,23 +0,0 @@ -# cron/Scheduler - -The below commands will setup a cron daemon (scheduler) for running things like backups, statistic gathering and more via a schedule. While technically not required, we *strongly* recommend using cron for backups so you get the output via e-mail (or similar). This is also required if you want to monitor resource utilization via ```munin```. - -## Important Notes - -* This assumes you have setup ```msmtp``` for email notifications - -## Setup - -``` sh - -pacman -S cronie -mkdir /etc/systemd/system/cronie.service.d -cat > /etc/systemd/system/cronie.service.d/override.conf < /etc/aliases < /etc/systemd/system/filebrowser-pictures.service <> /etc/lighttpd/lighttpd.conf -mkdir /srv/http -cat > /srv/http/index.html < /var/www/html/index.html < diff --git a/docs/monit.md b/docs/monit.md index 985256b..9a6c69f 100644 --- a/docs/monit.md +++ b/docs/monit.md @@ -4,32 +4,31 @@ The below commands will setup ```monit``` to track key elements of the PiFrame h ``` sh -pacman -S monit -mkdir /etc/monit.d -nano -w /etc/monitrc - include /etc/monit.d/* +apt install monit +nano -w /etc/monit/monitrc set httpd port 2812 and use address 0.0.0.0 allow admin:monit set mailserver domain.tld port 587 username "piframe@domain.tld" password "apassword" using tls -cat > /etc/monit.d/rootfs < /etc/monit/conf.d/rootfs < 80% then alert EOF -cat > /etc/monit.d/tankfs < /etc/monit/conf.d/tankfs < 80% then alert EOF -cat > /etc/monit.d/feh < /etc/monit/conf.d/fim < /etc/lighttpd/lighttpd-munin.conf < "/munin/" ) - -\$HTTP["url"] =~ "/munin-cgi/munin-cgi-graph" { - alias.url += ( "/munin-cgi/munin-cgi-graph" => "/usr/share/munin/cgi/munin-cgi-graph" ) - cgi.assign = ( "" => "" ) -} - -#alias.url += ( "/munin/static" => "/etc/munin/static" ) -alias.url += ( "/munin" => "/usr/share/munin/www" ) - -mimetype.assign = ( - ".html" => "text/html", - ".txt" => "text/plain", - ".css" => "text/css", - ".js" => "application/x-javascript", - ".jpg" => "image/jpeg", - ".jpeg" => "image/jpeg", - ".gif" => "image/gif", - ".png" => "image/png", - "" => "application/octet-stream" - ) -EOF -cat > /etc/systemd/system/lighttpd-munin.service < /etc/lighttpd/lighttpd-munin.conf < "/munin/" ) + +\$HTTP["url"] =~ "/munin-cgi/munin-cgi-graph" { + alias.url += ( "/munin-cgi/munin-cgi-graph" => "/usr/lib/munin/cgi/munin-cgi-graph" ) + cgi.assign = ( "" => "" ) +} + +alias.url += ( "/munin/static" => "/etc/munin/static" ) +alias.url += ( "/munin" => "/var/cache/munin/www" ) + +mimetype.assign = ( + ".html" => "text/html", + ".txt" => "text/plain", + ".css" => "text/css", + ".js" => "application/x-javascript", + ".jpg" => "image/jpeg", + ".jpeg" => "image/jpeg", + ".gif" => "image/gif", + ".png" => "image/png", + "" => "application/octet-stream" + ) +EOF +cat > /etc/systemd/system/lighttpd-munin.service < /etc/netplan/50-cloud-init.yaml < /root/restic_backup.sh < /etc/incron.d/feh < /etc/incron.d/fim < Date: Mon, 3 Aug 2020 16:13:24 +0000 Subject: [PATCH 05/12] Add automatic update notes --- docs/README.md | 1 + docs/auto_updates.md | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 docs/auto_updates.md diff --git a/docs/README.md b/docs/README.md index ae5e766..99f3fb7 100644 --- a/docs/README.md +++ b/docs/README.md @@ -15,6 +15,7 @@ Items marked ```REQUIRED``` are assumed to be setup and working. You've been war * [Finalize Setup (REQUIRED)](finalize_setup.md) * [Setup swap (REQUIRED)](swap.md) * [Additional Networking Setup (REQUIRED)](networking.md) +* [Automatic Updates (VERY SMART)](auto_updates.md) * [Slideshow Prep (REQUIRED)](slideshow_prep.md) * [Slideshow Setup (REQUIRED)](slideshow.md) * [Email Notifications (REQUIRED)](email_notifications.md) diff --git a/docs/auto_updates.md b/docs/auto_updates.md new file mode 100644 index 0000000..0b69417 --- /dev/null +++ b/docs/auto_updates.md @@ -0,0 +1,16 @@ +# Automatic Updates + +The below will setup nightly automatic update and reboots for the PiFrame. This is a really smart choice as it will ensure security updates are applied in a timely fashion. + +``` sh + +apt install unattended-upgrades +nano -w /etc/apt/apt.conf.d/50unattended-upgrades + Unattended-Upgrade::Mail "user@domain.tld"; + Unattended-Upgrade::Automatic-Reboot "true"; + Unattended-Upgrade::Automatic-Reboot-WithUsers "true"; + Unattended-Upgrade::Automatic-Reboot-Time "02:00"; +nano -w /etc/apt/apt.conf.d/20auto-upgrades +unattended-upgrades --dry-run --debug + +``` From 5431f76712ad9febd613e59a85cca11eb11f1277 Mon Sep 17 00:00:00 2001 From: KemoNine Date: Mon, 3 Aug 2020 16:14:52 +0000 Subject: [PATCH 06/12] Remove link on readme to file that no longer exists --- docs/README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/README.md b/docs/README.md index 99f3fb7..90d344a 100644 --- a/docs/README.md +++ b/docs/README.md @@ -4,7 +4,6 @@ This folder contains a bunch of general information on how to get the base of a ## General Notes -* [WiFi](wifi.md) * [HDMI](hdmi.md) ## Setup / Deployment From 6afc2779f200b0de2b31fd65b7e1b6d3a1f70144 Mon Sep 17 00:00:00 2001 From: KemoNine Date: Mon, 3 Aug 2020 16:18:01 +0000 Subject: [PATCH 07/12] Add notes on 3rd party app update --- docs/auto_updates.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/auto_updates.md b/docs/auto_updates.md index 0b69417..c6b5c81 100644 --- a/docs/auto_updates.md +++ b/docs/auto_updates.md @@ -12,5 +12,14 @@ nano -w /etc/apt/apt.conf.d/50unattended-upgrades Unattended-Upgrade::Automatic-Reboot-Time "02:00"; nano -w /etc/apt/apt.conf.d/20auto-upgrades unattended-upgrades --dry-run --debug +cat > /usr/local/bin/3rd_party_app_updates.sh < Date: Mon, 3 Aug 2020 17:11:14 +0000 Subject: [PATCH 08/12] Misc cleanup of commands run based on additional tests --- docs/cockpit.md | 2 +- docs/networking.md | 1 + docs/restic.md | 6 +++--- docs/slideshow.md | 10 ++++------ docs/syncthing.md | 2 +- 5 files changed, 10 insertions(+), 11 deletions(-) diff --git a/docs/cockpit.md b/docs/cockpit.md index 441c88e..5a6ede2 100644 --- a/docs/cockpit.md +++ b/docs/cockpit.md @@ -5,7 +5,7 @@ The below commands will setup ```cockpit``` so you can manage your PiFrame from ``` sh # Remote management on http://ip:9090 -apt install cockpit +apt install cockpit exfat-utils udisks2-btrfs firewall-cmd --zone=public --permanent --add-port=9090/tcp firewall-cmd --reload systemctl enable --now cockpit.socket diff --git a/docs/networking.md b/docs/networking.md index f149db7..7bf322d 100644 --- a/docs/networking.md +++ b/docs/networking.md @@ -20,6 +20,7 @@ systemctl disable ufw firewall-cmd --zone=public --permanent --add-service=ssh firewall-cmd --reload systemctl enable --now NetworkManager +systemctl restart NetworkManager systemctl enable --now firewalld # Setup Ethernet diff --git a/docs/restic.md b/docs/restic.md index 2f25ff6..6682d0a 100644 --- a/docs/restic.md +++ b/docs/restic.md @@ -32,7 +32,7 @@ ZONE=root export RESTIC_REPOSITORY=/tank/backup/ export RESTIC_PASSWORD=testing1234 -/usr/bin/restic backup -v -q \ +/usr/local/bin/restic backup -v -q \ --tag $MACHINE --tag $ZONE \ / \ --exclude /run \ @@ -47,7 +47,7 @@ export RESTIC_PASSWORD=testing1234 --exclude /mnt \ --exclude /root/.cache \ -/usr/bin/restic forget -v \ +/usr/local/bin/restic forget -v \ --tag $MACHINE --tag $ZONE \ --keep-daily=7 \ --keep-weekly=4 \ @@ -55,7 +55,7 @@ export RESTIC_PASSWORD=testing1234 --keep-yearly 1 # This can take a very, very long time -/usr/bin/restic prune && /usr/bin/restic check +/usr/local/bin/restic prune && /usr/local/bin/restic check EOF chmod a+x /root/restic_backup.sh crontab -e diff --git a/docs/slideshow.md b/docs/slideshow.md index 556eb9a..4d579c9 100644 --- a/docs/slideshow.md +++ b/docs/slideshow.md @@ -14,10 +14,8 @@ The below commands will setup ```fim``` as a slideshow on your display. useradd -m -G video -s /usr/sbin/nologin fim apt install acl -setfacl -m -unbind "u:fim:rX" /tank/pictures -setfacl -dm -unbind "u:fim:rX" /tank/pictures +setfacl -m "u:fim:rX" /tank/pictures +setfacl -dm "u:fim:rX" /tank/pictures apt install fim imagemagick ttf-dejavu cat > /home/fim/.fimrc < /etc/incron.d/fim < Date: Mon, 3 Aug 2020 17:24:52 +0000 Subject: [PATCH 09/12] Add create event watch for fim ; fim doesn't auto-update the file list so we need to do this ourselves when it happens --- docs/slideshow.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/slideshow.md b/docs/slideshow.md index 4d579c9..0eb957e 100644 --- a/docs/slideshow.md +++ b/docs/slideshow.md @@ -211,6 +211,7 @@ systemctl enable --now fim apt install incron cat > /etc/incron.d/fim < Date: Mon, 3 Aug 2020 17:57:24 +0000 Subject: [PATCH 10/12] Add basic auth to munin in docs --- docs/munin.md | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/docs/munin.md b/docs/munin.md index 9d112e4..5bfa687 100644 --- a/docs/munin.md +++ b/docs/munin.md @@ -47,7 +47,18 @@ server.modules = ( "mod_redirect", "mod_cgi", "mod_fastcgi", + "mod_auth", + "mod_authn_file", ) +auth.backend = "htdigest" +auth.backend.htdigest.userfile = "/etc/lighttpd/munin.auth" +auth.require = ( "/" => + ( + "method" => "basic", + "realm" => "Munin", + "require" => "valid-user" + ) + ) server.pid-file = "/run/lighttpd-munin.pid" server.follow-symlink = "enable" index-file.names = ( "index.html", "index.htm" ) @@ -88,6 +99,44 @@ KillSignal=SIGINT [Install] WantedBy=multi-user.target EOF +cat > /root/lighttpd-auth.pl <; +chomp \$user; +print "Realm: "; +\$realm = <>; +chomp \$realm; + +use Term::ReadKey; +{ + ReadMode('noecho'); + print "Password: "; + \$password = ReadLine(0); + chomp \$password; + print "\\nPassword again: "; + \$password2 = ReadLine(0); + chomp \$password2; + ReadMode('normal'); + print "\\n"; + + if(\$password ne \$password2) + { + print "Passwords don't match\\n"; + redo; + } +} + +print "\$user:\$realm:"; +open(MD5, "|md5sum | cut -b -32") or die; +print MD5 "\$user:\$realm:\$password"; +close(MD5); +EOF +chmod a+x /root/lighttpd-auth.pl +apt install libterm-readkey-perl +/root/lighttpd-auth.pl +echo "above_output" >> /etc/lighttpd/munin.auth systemctl daemon-reload systemctl enable --now lighttpd-munin firewall-cmd --zone=public --permanent --add-port=2813/tcp From 832dd47f822edf4c78c0c7ea55ff04b3be4978bd Mon Sep 17 00:00:00 2001 From: KemoNine Date: Mon, 3 Aug 2020 18:01:45 +0000 Subject: [PATCH 11/12] Adjust incron tabs lightly --- docs/slideshow.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/slideshow.md b/docs/slideshow.md index 0eb957e..6a3a0cd 100644 --- a/docs/slideshow.md +++ b/docs/slideshow.md @@ -14,8 +14,8 @@ The below commands will setup ```fim``` as a slideshow on your display. useradd -m -G video -s /usr/sbin/nologin fim apt install acl -setfacl -m "u:fim:rX" /tank/pictures -setfacl -dm "u:fim:rX" /tank/pictures +setfacl -m "u:fim:rwX" /tank/pictures +setfacl -dm "u:fim:rwX" /tank/pictures apt install fim imagemagick ttf-dejavu cat > /home/fim/.fimrc < /etc/incron.d/fim < /etc/incron.d/fim-delete < /etc/incron.d/fim-create < Date: Mon, 3 Aug 2020 19:44:30 +0000 Subject: [PATCH 12/12] Fixup ld path for vcgencmd --- docs/finalize_setup.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/finalize_setup.md b/docs/finalize_setup.md index 37ceebd..a62b91a 100644 --- a/docs/finalize_setup.md +++ b/docs/finalize_setup.md @@ -43,8 +43,12 @@ cd userland ./buildme --aarch64 cat > /etc/profile.d/rpi-tools.sh < /etc/ld.so.conf.d/00-vmcs.conf <