FreeDOS Package Management: FDIMPLES and the FreeDOS Package Repository
A verified guide to FreeDOS ZIP packages, FDIMPLES, FDINST and FDNPKG, including real commands, metadata, local media, repositories, updates, and trust risks.
FreeDOS distributes the operating system as many installable packages rather than one inseparable archive. The current toolchain has distinct layers: FDIMPLES is the visual package-list editor used by the installer and on release media; FDINST is a lightweight local installer/remover; and FDNPKG is a network-capable command-line package manager. Treating those three names as interchangeable leads to invalid commands and incorrect expectations.
A FreeDOS package is a structured ZIP archive
The package format is deliberately compatible with DOS constraints. A package is a standard ZIP file containing a predefined directory tree whose paths are relative to the FreeDOS installation root. Typical destinations include:
APPINFO\ package metadata
BIN\ executable programs
DOC\PACKAGE\ package documentation
HELP\ help files
NLS\PACKAGE\ translations
SOURCE\PACKAGE\source code
The archive should not embed a machine-specific prefix such as C:\FREEDOS; the installer chooses the target directory. FreeDOS’s package specification requires package content to respect 8.3 filenames for legacy DOS and ISO 9660 compatibility. Package names are also constrained to short, conservative characters.
Metadata normally lives in APPINFO as an LSM, or Linux Software Map, file. It records fields such as title, version, author, description, keywords, platform, source location, and copying policy. It is descriptive metadata, not an RPM-style script engine. Translation LSMs can override selected human-readable fields for another language.
This structure makes an archive inspectable with ordinary ZIP tools, but “ZIP file” alone does not make it a valid FreeDOS package. FDNPKG checks expected package properties and refuses archives it considers invalid.
FDIMPLES manages the package selection on release media
FDIMPLES expands to “FreeDOS Installer — My Package List Editor Software.” It provides the menu-driven interface used by the FreeDOS installer and can also run later as a standalone program. It browses packages available on media such as the LiveCD, BonusCD, or another repository directory, compares them with the installed state, and lets the operator select installs, removals, or upgrades.
Run it without an argument to let it search for package media:
C:\>FDIMPLES
Or pass the package-tree path explicitly:
C:\>FDIMPLES D:\FDPKGS
The documented /UPDATE option preselects installed packages for which newer versions exist on the selected media. /NOFILES hides each package’s file list and can improve navigation performance. Within the interface, V reviews pending changes and C clears them; Esc exits without applying the pending selection.
FDIMPLES is not simply a graphical shell around every FDNPKG network action. Its help states that installation and removal are performed through FDINST, a simplified tool sharing much of FDNPKG’s source. If release media is absent, FDIMPLES may show only installed packages because it has no package source from which to add new ones.
FDNPKG has a specific command vocabulary
FDNPKG means FreeDOS Network Package Manager. It supports remote HTTP or Gopher repositories as well as local package archives. Its actual actions differ from invented Linux-like shorthand. Use the program’s own help for the installed version:
C:\>FDNPKG --help
Documented examples include:
C:\>FDNPKG search nasm
C:\>FDNPKG install nasm
C:\>FDNPKG listlocal
C:\>FDNPKG listfiles nasm
C:\>FDNPKG checkupdates
C:\>FDNPKG update nasm
C:\>FDNPKG remove nasm
listlocal, not a generic list, enumerates installed packages. checkupdates reports available upgrades. update installs the newest available version of one package, or all updatable packages when invoked without a package name. clearcache clears cached repository data; it is not the same operation as upgrading installed software.
FDNPKG can also install a local ZIP file. Its documented syntax accepts a package name resolved from configured repositories or the path/name of a local archive:
C:\>FDNPKG install D:\FDPKGS\DEVEL\NASM.ZIP
There is no documented --source= option matching the command previously shown on this site. To use a different online repository, edit or select the FDNPKG configuration rather than assuming an apt-style flag exists.
Configuration determines where network packages come from
By default FDNPKG looks for FDNPKG.CFG under %DOSDIR%\BIN. The configuration declares repositories and cache behavior. The FDNPKG.CFG environment variable can point to another configuration file:
C:\>SET FDNPKG.CFG=C:\MYCFG\FDNPKG.CFG
C:\>FDNPKG dumpcfg
dumpcfg is a useful forensic step: it shows the configuration actually loaded, which is more reliable than editing a file and assuming the running program found it. Search results and upgrades depend on those declared repositories and on cached index state.
The FreeDOS project publishes distribution packages through its release images and the Ibiblio archive. Release groupings have changed between FreeDOS versions; for example, FreeDOS 1.4 reorganized what appears on the LiveCD and BonusCD. Instructions should therefore refer to package names and groups visible on the installed release, not copy a category path from an older ISO blindly.
Package dependencies are intentionally not a Linux clone
It is tempting to describe FreeDOS packages as small .deb files with dependency resolution, but that comparison overstates the documented format. The official package specification centers on the archive tree and LSM metadata; it does not define the rich dependency expressions, maintainer scripts, triggers, alternatives, or transaction model familiar from modern Linux systems.
Many DOS programs are self-contained, but they may still have real operational requirements: a packet driver, an XMS manager, a DPMI host, a specific CPU, data files, or another utility. Those constraints belong in package metadata and documentation, yet an operator should not assume FDNPKG will derive and solve every prerequisite automatically.
Read the package description and included documentation before installing. After installation, listfiles can establish ownership when diagnosing a collision. Avoid manually deleting installed files because doing so separates filesystem reality from the package manager’s record.
Compression choices affect old machines
FDNPKG supports stored ZIP entries, Deflate, and LZMA. The FreeDOS package specification recommends Deflate for general packages because LZMA decompression needs substantially more memory—about 24 MiB according to the project documentation. That can exceed the total usable RAM of period hardware even when the archive itself is small.
Package authors should use reproducible paths, include the appropriate LSM and license information, and test extraction on the minimum machine claimed. A package which can be created on a modern workstation is not necessarily installable within the memory limits of a 386.
Repository access is also a trust boundary
A package manager automates file placement and removal; it does not eliminate the need to trust the archive and transport. The FDNPKG documentation lists HTTP and Gopher repository support, neither of which implies end-to-end authenticated transport. The documented package format also should not be mistaken for a universal cryptographic-signature system.
For sensitive or long-lived installations:
- Prefer official FreeDOS release media or the project-linked Ibiblio repository.
- Obtain media checksums from the official download page and verify them on the host before attaching or writing the image.
- Inspect the package’s LSM, copying policy, and file list.
- Back up the FreeDOS directory or take a VM snapshot before a broad update.
- Apply a small change set, reboot if drivers or startup files changed, and test the real workload.
Never interrupt a package operation by resetting the machine unless the system is already unrecoverable. DOS lacks the transactional rollback facilities of many modern package managers, so a partial file replacement may require restoring from backup.
Use each tool for its intended surface
Use FDIMPLES when selecting packages from FreeDOS installation or add-on media and when a visual review is valuable. Use FDINST for lightweight local installation/removal on constrained systems. Use FDNPKG when scripting, inspecting ownership, or working with configured local or network repositories.
That division is more accurate than calling FDIMPLES “the package manager” and FDNPKG its hidden engine. FreeDOS provides a coherent package ecosystem, but its commands, metadata, transport security, and failure model are DOS-specific. Reading the shipped help before applying Linux habits is the safest way to operate it.
Related:
Sources: