From Ubuntu repos:
sudo apt update
sudo apt upgrade -y
For newer Git than distro provides:
sudo add-apt-repository ppa:git-core/ppa
sudo apt update
sudo apt install -y git
sudo apt install -y make libssl-dev libghc-zlib-dev libcurl4-gnutls-dev libexpat1-dev gettext
wget https://www.kernel.org/pub/software/scm/git/git-<version>.tar.gz
tar -xf git-<version>.tar.gz
cd git-<version>
make prefix=/usr/local all
sudo make prefix=/usr/local install
For gh: use the official apt source (installation steps above) or update via package manager:
sudo apt update
sudo apt install --only-upgrade gh
Or install via snap:
sudo snap install gh --classic
sudo snap refresh gh
name: Auto-Apply Security Updates on: schedule: - cron: '0 2 * * *' # Daily at 2 AM workflow_dispatch: # Manual triggerjobs: security-updates: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4
- name: Apply security updates via SSH env: SSH_PRIVATE_KEY: $ secrets.SSH_PRIVATE_KEY run: | for host in $(cat inventory.txt); do ssh -o StrictHostKeyChecking=no -i <(echo "$SSH_PRIVATE_KEY") ubuntu@$host \ 'sudo apt update && sudo apt upgrade -y -s | grep -i security && sudo apt upgrade -y' done
sudo apt update sudo apt install gh
(crontab -l 2>/dev/null; echo "0 6 * * * /usr/local/bin/ubuntu-upd-client.sh") | crontab -
SECURITY_UPDATES=$(apt list --upgradable 2>/dev/null | grep -i security | wc -l) TOTAL_UPDATES=$(apt list --upgradable 2>/dev/null | tail -n +2 | wc -l) github for ubuntu upd
if [[ $TOTAL_UPDATES -eq 0 ]]; then echo "No updates for $MACHINE_ID" exit 0 fi
Not everything on GitHub is safe. Follow these rules:
| Feature | GitHub Desktop (Official) | GitKraken | VS Code (Git Lens) | Terminal | | :--- | :--- | :--- | :--- | :--- | | Price | Free | Freemium (Pro req.) | Free | Free | | Learning Curve | Low | Medium | Medium | High | | Resource Usage | Low | Heavy (Electron) | Medium | None | | Linux Support | Good (Official) | Excellent | Excellent | Native | | Visual Conflicts | Yes | Yes | Yes | No | From Ubuntu repos: sudo apt update sudo apt upgrade -y