Analyzing Application Dependencies

πŸ“š Hoofdstuk 24.3: Application Dependencies Analyseren

──────────────────────────────
πŸ”„ Versiebeheer en Updates:
──────────────────────────────
β€’ Versioning β†’ Houd softwareversies bij om compatibiliteit te garanderen
β€’ Problemen na updates? β†’ Controleer de updategeschiedenis:

πŸ“ Updategeschiedenis:
- Debian: `/var/log/apt/history.log`
- Red Hat: `rpm -q pakketnaam --last`

πŸ” Automatische updates:
- In `/etc/apt/apt.conf.d/10periodic`:
`APT::Periodic::Update-Package-Lists "1";`

──────────────────────────────
⚠️ Broken Dependencies:
──────────────────────────────
β€’ Komt voor als een pakket afhankelijk is van een ander niet-geΓ―nstalleerd pakket

πŸ”§ Diagnose per systeem:
- Debian: `apt-get check`
- Red Hat: `rpm -aV` β†’ controleer beschadigde pakketten

──────────────────────────────
🧩 Patches en Kernel Updates:
──────────────────────────────
β€’ **Patch**: Kleine update buiten de reguliere updatecyclus
β€’ **Kernel patch**: Alleen gewijzigde broncode β†’
Gebruik `patch` en hercompileer de kernel

──────────────────────────────
πŸ“š Problemen met Shared Libraries:
──────────────────────────────
β€’ Gebruik `ldd programmanaam`
β†’ Toont welke bibliotheken het programma gebruikt

──────────────────────────────
🌍 Omgevingsvariabelen:
──────────────────────────────
β€’ Als een programma niet start β†’ Check `$PATH` met:
`echo $PATH`

πŸ“ Aanpassen:
- Systeemwijd: script in `/etc/profile.d/`
- Per gebruiker: `~/.profile`, `~/.bash_profile` of `~/.bash_login`

──────────────────────────────
πŸ›  GCC Compilerproblemen:
──────────────────────────────
Kan ontstaan door:
β€’ Incompatibele C-library
β€’ Verouderde headers
β€’ Verouderde GCC-versie

──────────────────────────────
πŸ—‚ Repository-problemen oplossen:
──────────────────────────────

🌐 Netwerk controleren bij foutmeldingen!

πŸ“¦ Debian:
- `apt-get clean`
- `apt-get update`
- `apt-get dist-upgrade`

πŸ“¦ Red Hat / CentOS:
- `yum clean all`
- `yum check-update`
- `yum repolist` (enabled repos tonen)

πŸ“¦ openSUSE:
- `zypper clean -a`
- `zypper refresh`
- `zypper repos` (overzicht van repo’s)

βž• Niet-standaard repository toevoegen:
- Yum: `yum-config-manager --add-repo`
- Zypper: `zypper addrepo repo-url alias`

──────────────────────────────