I can appreciate that about Debian. Common tools and stability can be both convinient and reliable. Learning linux is already overwhelming with choices.
Even though I use Alpine for all my Pi boards and laptop, I keep a live usb partition of Linux Mint Debian Edition as my emergency backup. It just works.
I haven’t tried arch at all. I used Linux Mint for a year, LMDE for a year and only really started working with command line since last December. I think I chose to try Alpine because I wanted my web facing devices to have the least amount of software installed. Security-wise it made sense to me to have less surface area to exploit.
It took a bit extra effort for me to learn how to use OpenRC as the init system. As well as learning Linux from a bare bones linux perspective.
I actually found using Busy-box Ash interesting to work with and that’s the only shell I currently use. I even wrote a whole script around Rsync in a POSIX friendly way because I liked the idea portable scripting.
If you’re interested, I can send you a link that contains the setup notes for my server. It’s about 85% of my setup process, the rest being some files that are mostly customization that I rsync into place towards the end of the setup process. That can give you an idea of what Alpine on ARM is like.
Thanks. No need for the setup notes (but thanks for the kind offer), it was more about the experience, but I think you’ve already answered my question with less surface area (I do have 1 Pi that’s internet facing for Radicale)
Have you looked at Ansible? That might also cover what you’re trying to do.
How do you think Ansible can help me? I’ve read about it a few times but it’s hard for me to understand it’s actual usage without spending time playing with it.
I can possibly look into it a bit more in the future. I’ve got a few things I’m working on like learning how to do TLS with Caddy so I can reduce my dependency with Cloudflare.
Ansible is an automation tool to setup systems to a known desirable end state.
TBH, for a single device, it’s overkill, but you seem like someone who keeps good notes and has some custom files to copy across… you could convert your setup note into an Ansible file, and it will also copy over your custom config files.
For Ansible you define the desired outcome and it does “all” (kinda) the work for you… so… say you want Apache, MariaDB and PHP, it doesn’t matter if half are installed already, or not, or their dependencies - you just say:
Do an update
Install packages:
A
B
C
Copy my config files over
Start the services
Relax
Yep, it’ll take 10 times as long to get it working up front, but the day you want to duplicate it / start on a fresh Pi / VM, it’s all there for you.
I use it to setup all my Pi Zeros thr same way (they’re doing BLE presence detection) and for their regular updates
I’ve also got some VMs setup that way
But… I tried it on a laptop and as it’s a single device I just ended up setting it up manually and now the ansible script is woefully out of date… just some balanced feedback.
I can appreciate that about Debian. Common tools and stability can be both convinient and reliable. Learning linux is already overwhelming with choices.
Even though I use Alpine for all my Pi boards and laptop, I keep a live usb partition of Linux Mint Debian Edition as my emergency backup. It just works.
I went with Arch Linux on ARM for a minimal approach - did you try that?
Genuninely interested in your experience of Alpine Linux as I’d not considered it on a Pi (only VMs so far…)
I haven’t tried arch at all. I used Linux Mint for a year, LMDE for a year and only really started working with command line since last December. I think I chose to try Alpine because I wanted my web facing devices to have the least amount of software installed. Security-wise it made sense to me to have less surface area to exploit.
It took a bit extra effort for me to learn how to use OpenRC as the init system. As well as learning Linux from a bare bones linux perspective.
I actually found using Busy-box Ash interesting to work with and that’s the only shell I currently use. I even wrote a whole script around Rsync in a POSIX friendly way because I liked the idea portable scripting.
If you’re interested, I can send you a link that contains the setup notes for my server. It’s about 85% of my setup process, the rest being some files that are mostly customization that I rsync into place towards the end of the setup process. That can give you an idea of what Alpine on ARM is like.
Thanks. No need for the setup notes (but thanks for the kind offer), it was more about the experience, but I think you’ve already answered my question with less surface area (I do have 1 Pi that’s internet facing for Radicale)
Have you looked at Ansible? That might also cover what you’re trying to do.
How do you think Ansible can help me? I’ve read about it a few times but it’s hard for me to understand it’s actual usage without spending time playing with it.
I can possibly look into it a bit more in the future. I’ve got a few things I’m working on like learning how to do TLS with Caddy so I can reduce my dependency with Cloudflare.
Ansible is an automation tool to setup systems to a known desirable end state.
TBH, for a single device, it’s overkill, but you seem like someone who keeps good notes and has some custom files to copy across… you could convert your setup note into an Ansible file, and it will also copy over your custom config files.
For Ansible you define the desired outcome and it does “all” (kinda) the work for you… so… say you want Apache, MariaDB and PHP, it doesn’t matter if half are installed already, or not, or their dependencies - you just say:
Do an update Install packages: A B C Copy my config files over Start the services Relax
Yep, it’ll take 10 times as long to get it working up front, but the day you want to duplicate it / start on a fresh Pi / VM, it’s all there for you.
I use it to setup all my Pi Zeros thr same way (they’re doing BLE presence detection) and for their regular updates
I’ve also got some VMs setup that way
But… I tried it on a laptop and as it’s a single device I just ended up setting it up manually and now the ansible script is woefully out of date… just some balanced feedback.