Netpkg is a lightweight package manager for Zenwalk Linux and Slackware-based systems. It allows users to install, upgrade, remove, and search packages from remote repositories while keeping the system simple and minimal.
The tool is written entirely in Bash and focuses on transparency, simplicity, and minimal dependencies.
Originally developed by Jean-Philippe Guillemin, this version includes simplified internal implementations of package installation, upgrading, and removal.
- Install packages from remote repositories
- Upgrade installed packages
- Remove installed packages
- Search packages locally and remotely
- Optional dependency handling
- Package cache support
- Repository management
- MD5 checksum verification
.newconfiguration file management- Kernel installation helper
- Minimal system requirements
Netpkg synchronizes repository metadata and builds simple local databases to track packages.
Databases used:
| File | Purpose |
|---|---|
RemotePkgs.db |
Available packages from remotes |
RemoteDeps.db |
Dependency information |
LocalPkgs.db |
Installed packages |
PACKAGES.TXT |
Repository metadata |
Clone the repository:
git clone https://github.com/yourusername/netpkg.git
cd netpkgMake the script executable:
chmod +x netpkgCopy it into your system path:
sudo cp netpkg /usr/sbin/netpkgnetpkg updatenetpkg upgradenetpkg install package-namenetpkg search keywordnetpkg remove package-nameList configured repositories:
netpkg remotesAdd a new repository:
netpkg remote-add http://repository-urlDisable a repository:
netpkg remote-disableEnable a repository:
netpkg remote-enableDependency processing can be toggled:
Enable:
netpkg enable-depsDisable:
netpkg disable-depsDependencies are parsed from repository metadata when available.
Configuration file:
/etc/netpkg.conf
Important settings:
| Option | Description |
|---|---|
Netpkg_dir |
Working directory |
Remotes_dir |
Repository configuration directory |
Local_repository |
Local package cache |
Handle_dependencies |
Enable dependency processing |
Keep_packages |
Keep downloaded packages after install |
Protected_files |
Files protected during upgrades |
After upgrades, configuration files ending with .new may appear.
To manage them:
netpkg dotnewThis allows you to:
- replace the original file
- view differences
- skip
- delete the new file
Remove cached packages:
netpkg mrclean| Symbol | Meaning |
|---|---|
[I] |
Installed (same version) |
[U] |
Update available |
[D] |
Downgrade available |
[R] |
Remote package not installed |
This project is licensed under the GNU General Public License v2 or later.
See: http://www.gnu.org/copyleft/gpl.html
Original Author Jean-Philippe Guillemin h1p8r10n@yandex.com
Contributions are welcome.
You can help by:
- improving repository parsing
- enhancing dependency handling
- improving performance
- adding better error handling
- extending package verification
Submit pull requests or open issues.
Netpkg performs direct filesystem operations similar to traditional Slackware tools. Use it with appropriate privileges and caution on production systems.