Difference between revisions of "Misc"

From UVOO Tech Wiki
Jump to navigation Jump to search
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;

Revision as of 17:41, 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

<br /><br /><br /># More

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.

```