> Is it practical to mirror critical software elsewhere? To answer this specifically, yes I think it is very simple and practical if you are familiar with hosting any kind of web server. Mine just use git on a sysdtemd timer to recurse through directories I initialize and my cgit server hosts the web version. You just need a few MB of disk space, git, and a webserver to accomplish this.

Replies (1)

A little git mirror tutorial On a linux device you can run the following to initialize a repo in a mirror ``` mkdir <repo-owner> cd mkdir <repo-owner> git clone --mirror <repo-url> #ssh or https should work ``` Note: specifying --mirror is important because it creates a bare repo that can be updated by git with a single command later. You can run this script in the top level directory and it will recursively sync all of your --mirror repos. It will find all the directories that end in .git which is what happens when using the --bare or --mirror option during a clone. ``` #! /bin/sh set -x for DIR in $(find . -type d -name "*.git"); do echo "Updating repo $DIR" pushd "$DIR" git remote update --prune # fails with or without this line popd done ``` If you a running a distro that uses systemd you can configure a systemd timer to run the sync script on a schedule to keep your repo synced with the upstream repo Here is a tutorial I like, it's very hand-holding Otherwise you can use cron assuming your distro has that option. I prefer systemd timers though :) Finally, you can serve this directory using apache, nginx or whatever flavor http server you want.