Difference between revisions of "Misc"
Jump to navigation
Jump to search
(2 intermediate revisions by the same user not shown) | |||
Line 23: | Line 23: | ||
popd > /dev/null | popd > /dev/null | ||
+ | |||
``` | ``` | ||
− | ```server { | + | ``` |
+ | server { | ||
listen 80; | listen 80; | ||
server_name repo.example.com; | server_name repo.example.com; | ||
Line 36: | Line 38: | ||
``` | ``` | ||
− | ```echo "deb http://repo.example.com stable main" | sudo tee /etc/apt/sources.list.d/my-app.list | + | ``` |
+ | echo "deb http://repo.example.com stable main" | sudo tee /etc/apt/sources.list.d/my-app.list | ||
sudo apt update | sudo apt update | ||
− | |||
− | |||
``` | ``` | ||
Latest revision as of 17:44, 24 August 2025
#!/bin/bash REPO_ROOT="/var/www/html/my-debian-repo" DISTRIBUTION="stable" COMPONENT="main" ARCHITECTURE="amd64" POOL_DIR="${REPO_ROOT}/pool/${COMPONENT}" DEB_FILE="deb/my-app.deb" BINARY_DIR="dists/${DISTRIBUTION}/${COMPONENT}/binary-${ARCHITECTURE}" mkdir -p "${POOL_DIR}" cp "${DEB_FILE}" "${POOL_DIR}/" pushd "${REPO_ROOT}" > /dev/null mkdir -p "${BINARY_DIR}" apt-ftparchive packages "pool" > "${BINARY_DIR}/Packages" gzip -9c "${BINARY_DIR}/Packages" > "${BINARY_DIR}/Packages.gz" apt-ftparchive release "dists/${DISTRIBUTION}" > "dists/${DISTRIBUTION}/Release" popd > /dev/null
server { listen 80; server_name repo.example.com; root /var/www/html/my-debian-repo; autoindex on; location / { try_files $uri $uri/ =404; } }
echo "deb http://repo.example.com stable main" | sudo tee /etc/apt/sources.list.d/my-app.list sudo apt update
More
<br />Creating a Debian package repository involves organizing your .deb packages and generating the necessary metadata for APT to use. This can be done locally or hosted on a web server. Steps to Create a Local Debian Repository: install dpkg-dev. sudo apt-get install dpkg-dev create repository directory and place packages. mkdir -p /path/to/your/repo/pool/main/ cp /path/to/your/package.deb /path/to/your/repo/pool/main/ Replace /path/to/your/repo/ with your desired repository location and /path/to/your/package.deb with the actual path to your Debian package. Generate Packages File. cd /path/to/your/repo/ dpkg-scanpackages --arch all pool/ > dists/stable/main/binary-all/Packages gzip -9c dists/stable/main/binary-all/Packages > dists/stable/main/binary-all/Packages.gz Adjust all to your package's architecture (e.g., amd64) if not universal. Add Repository to APT Sources. Create a new file in /etc/apt/sources.list.d/, for example, myrepo.list: echo "deb [trusted=yes] file:/path/to/your/repo/ stable main" | sudo tee /etc/apt/sources.list.d/myrepo.list The [trusted=yes] option is for local repositories and should be used with caution for remote repositories. Update APT Cache and Install. sudo apt update sudo apt install your-package-name Creating a Remote Repository (e.g., via HTTP): • Set up a Web Server: Install and configure a web server like Apache or Nginx to serve the /path/to/your/repo/ directory. • Adjust sources.list.d Entry: echo "deb [trusted=yes] http://your-server-ip-or-domain/your/repo/ stable main" | sudo tee /etc/apt/sources.list.d/myrepo.list Note: For more advanced repository management, consider tools like reprepro or aptly, which offer features like GPG signing, snapshotting, and more robust handling of multiple distributions and architectures. AI responses may include mistakes.