DISTROS.md (5075B)
1 # DISTROS 2 3 * __[CRUX](https://crux.nu)__: With a ports based system for installing software, BSD style init scripts favoring native configurations over configuration abstraction layers, follows true KISS principles (Keep It Simple) applied to the system and the development process. Simplicity over automation makes it easy to extend the system by yourself. 4 5 * __[Source Mage GNU/Linux](http://sourcemage.org)__: Without 3rd party patches, sensible defaults or masked packages, is free from obfuscated and pre-configured code, using clean dependencies as they came from upstream developers which provides immediate updates, and can also use flags and heal broken installs. With the package manager made in bash doesn't need obfuscated python libraries. Fully committed to GPL, uses only free software (as in freedom) in their main package, with even the documentation licensed as FDL. 6 7 * __[Harvey OS](https://harvey-os.org/)__: Everything is a file, the hardware, environment variables, and settings are presented as "files". And with the Plan 9 file-sharing protocol the name space can mount from one computer to the other and act as a distributed service. Distributed under the GPL, is a member of the [Software Freedom Conservancy](https://sfconservancy.org/). 8 9 * __[FreeDOS](https://www.freedos.org)__: DOS-compatible, can play classic games and run legacy business software. 10 11 1. [CONFIGURATION ON CRUX](#configuration-on-crux) 12 2.1. [ENABLE CONTRIB REPO](#enable-contrib-repo) 13 2.2. [ADD EXTERNAL REPOS](#add-external-repos) 14 2.3. [FINALIZING REPO CONFIGURATION](#finalizing-repo-configuration) 15 3. [CRUX COMMANDS](#crux-commands) 16 3.1. [AUTOMATED INSTALLATION OF PORTS](#automated-installation-of-ports) 17 3.2. [MANUAL DOWNLOAD AND INSTALLATION](#manual-download-and-installation) 18 4. [SOURCE MAGE GNU/LINUX COMMANDS](#source-mage-gnu/linu-commands) 19 20 ## CONFIGURATION ON CRUX 21 ### ENABLE CONTRIB REPO 22 * Enable contrib for ports 23 ``` 24 cd /etc/ports 25 mv contrib.rsync.inactive contrib.rsync 26 ```` 27 * Enable contrib for prt-get 28 `nano /etc/prt-get.conf` 29 * Uncomment line "_prtdir /usr/ports/contrib_" 30 31 ### ADD EXTERNAL REPOS 32 * Download httpup/rsync file and pub file from https://crux.nu/portdb/index.php?a=index 33 ``` 34 cd /etc/ports/ 35 wget -c <URL> 36 ``` 37 * Add repo location to "_/etc/prt-get.conf_" (order sets precedence) 38 `nano /etc/prt-get.conf` 39 * Add line "_prtdir /usr/ports/\<REPO>_" 40 41 ### FINALIZING REPO CONFIGURATION 42 * Enable pre-/post-install scripts in "_/etc/prt-get.conf_" (usually safe to run repeatedly, usually used to rebuild caches and add system users when installing certain software) 43 `nano /etc/prt-get.conf` 44 * Uncomment line "_runscripts yes_" 45 46 * Ignore footprint mismatches due to new files (usually not a bad thing) 47 `nano /etc/pkgmk.conf` 48 * Set line "_PKGMK_IGNORE_NEW="yes"_" 49 * Populate ports tree (is empty by default) 50 `ports -u` 51 52 ## CRUX COMMANDS 53 ### AUTOMATED INSTALLATION OF PORTS 54 * Populate ports tree (is empty by default) 55 `ports -u` 56 * Populate specific repo 57 `ports -u <REPO>` 58 * Automatically download and build a package with its required dependencies ignoring signature mismatch 59 `prt-get -is depinst <PORT>` 60 * Remove a package 61 `prt-get remove <PORT>` 62 * Search package 63 `prt-get search <PORT>` 64 * Get info from package 65 `prt-get info <PORT>` 66 * Get dependency info from package 67 `prt-get depends <PORT>` 68 * Update all packages 69 `prt-get sysup` 70 * List all installed packages 71 `pkginfo -i` 72 73 ### MANUAL DOWNLOAD AND INSTALLATION 74 * Go to apropriate directory for all these tasks 75 `cd to /usr/ports/<REPO>/<PORT>` 76 * To download a package 77 `pkgmk -d <PORT>` 78 * To install a downloaded package 79 `pkgmk -i <PORT>` 80 * In case of signature mismatch 81 `pkgadd -f <PORT>` 82 * To clean directory from downloaded package and build 83 `pkgadd -c <PORT>` 84 * To remove installed package 85 `pkgrm <PORT>` 86 87 ## SOURCE MAGE GNU/LINUX COMMANDS 88 * To get a manual 89 ``` 90 cast smgl-setup 91 man smgl-setup 92 ``` 93 * To change general things like the color scheme 94 `sorcery` 95 * To update the package manager 96 `sorcery update` 97 * To update the package list 98 `scribe update` 99 * To check for any changes in the architecture specs 100 `cast smgl-archspecs` 101 * To rebuild everything from source 102 `sorcery rebuild` 103 * To recompile the kernel 104 `cast -r linux` 105 * To get a list of spells needing upgrade 106 `sorcery -q` 107 * To upgrade the spells themselves known to be available for upgrade 108 `cast --queue` 109 * To check for broken installations 110 `cleanse --fix` 111 * After casting new spells you need this to have apropos, man -k, and whatis 112 ` makewhatis` 113 * To install new packages 114 `cast <spell>` 115 * To update an existing package 116 `cast <spell>` 117 * To search for packages 118 `gaze search <spell>` 119 * To search by package name 120 `gaze search -name <spell>` 121 * To list installed packages 122 `gaze installed` 123 * To remove a spell 124 `dispel <spell>` 125 * To delete completely a package 126 `dispel --nosustain <spell>` 127 * To list repositories 128 `scribe index` 129 * To add a repository 130 `scribe add <grimoire>` 131 * To remove a repository 132 `scribe remove <grimoire>`