Am un depozit apt folosind un server apache la /var/www/organization.org/
structura fișierului este
.
+- Eliberare
+- disturi/
+- stabil/
| +- principal/
| | +- binary-all/
| | | +- Pachete.gz
| | | +- pachet1.deb
| | | +- pachet2.deb
| | +- binary-amd64/
| | | +- Pachete.gz
| | | +- pachet1.deb
| | | +- pachet2.deb
| | +- binar-braț64/
| | | +- Pachete.gz
| | | +- pachet1.deb
| | | +- pachet2.deb
| +- contribuie/
| | +- [...]
| +- negratuit/
| | +- [...]
+- testare/
+- [...]
+- instabil/
+- [...]
Și am asta în lista mea sursă
deb http://server_url stabil principal contribuție non-free
Când alerg
actualizare sudo apt
, lucrurile merg bine.
Cand fac sudo apt install package_name
, nu găsește niciun pachet.
Se pare că în Eliberare
fișier, folosește această cale Nume fișier: /var/www/organization.org/binary-all/package_name.deb (lipsește dists/stable/main).
Deci, când adaug un link-uri simbolice ca acesta binary-all -> dists/stable/main/binary-all/
, nu am probleme la instalarea pachetelor. Deci totul funcționează, dar acesta este un hack care împiedică lucrul efectiv cu folderele instabile/ și de testare/ deoarece linkurile simbolice sunt la rădăcină pe lângă Release și dists/.
Acesta este scriptul pe care îl folosesc pentru a genera Packages.gz și fișierul Release, care ar putea fi relevant.
#!/bin/bash
APT_REPO_DIR=/var/www/organization.org/
DISTS_DIR=$APT_REPO_DIR/dists
GALBEN='\033[1;33m'
ALBASTRU='\033[1;34m'
NO_COLOR='\033[0m'
pushd dist
pentru stability_directory în */; face # De obicei numit: stabil, instabil, testare
echo -e „Indexarea directoarelor sub ${YELLOW}$stability_directory${NO_COLOR}”
pushd $stability_directory
pentru directorul_licență în */; face # De obicei numit: principal, contrib, non-free
echo -e „Se indexează ${BLUE}$directorul_licențe${NO_COLOR}”
pushd $license_directory
pentru binary_directory în `find binary-* -type d`; face # binary-amd64, binary-arm64...
dpkg-scanpackages $director_binar | gzip -9c > $director_binar/Packages.gz
Terminat
popd
Terminat
popd
Terminat
popd
dpkg-scanpackages $APT_REPO_DIR | tee $APT_REPO_DIR/Release > /dev/null