Table of contents
Original author: The CRUX Team
Maintained by: Jonathan Asghar
Sorry, there's no interesting story behind the name. Per chose it simply because he thought it sounded cool, it was short, it was fairly easy to remember and it had the mandatory X in the end to make it UNIX/Linux-ish ;)
Well, the standard answer to this question is “when it's done”. New versions are however usually released every 3 or 4 months. Between releases, updated packages are made available through the ports system.
None of the above. It's called CRUX, no more no less.
No, that's incorrect. CRUX was built from scratch and has never been based on any other Linux distribution.
Most of the developers and users prefer mailing lists over forums. It's much simpler to follow discussion when using a mailing list--forums require constant polling if you are trying to stay up to date about what's happening.
First off try searching the mailing lists. Browsing the archives (marc.theaimsgroup.com provides a nice, searchable archive) is always a good way to start. If that doesn't work, try asking in one of the IRC channels.
Create ports and maintain a repository of your own, help people on the mailing list and in the IRC channels and write documentation.
Maintain a personal port repository for a while, make sure that your ports adhere to the port guidelines and contact the CRUX team.
Did you remember to run lilo? Check your lilo.conf file. Are you sure you installed LILO to the disk's MBR (e.g. boot=/dev/sda) and not to a partition (e.g. boot=/dev/sda1)? Check the boot order in your BIOS.
This can happen if you have more than one CD-ROM drive. Make sure you boot from then "first" CD-ROM drive, i.e. /dev/cdroms/cdrom0. If you must boot from a different drive (i.e. not the first one) you can still do that but you have to type CRUX root=/dev/cdroms/cdrom1 at the boot prompt (cdrom1 indicates that it is the second drive, cdrom2 that it is the third, and so on).
You most likely forgot to enable devfs or didn't tell the kernel to mount devfs at boot. The installation instructions (Handbook Section 2.2, “Installing From CD-ROM”) tell you how to enable it.
You most likely forgot to edit /mnt/etc/fstab before you rebooted or you entered the wrong name of your new root partition at the boot prompt.
The best way is to use dd for Windows to write the CRUX ISO image to the USB drive. First, download dd for Windows and unzip it. Then, plug your USB drive into your computer.
Note: If your USB drive is automatically mounted by Windows, you'll need to right click it in the File Explorer and select "Eject" before you can write to the drive with dd.
Next, open up a command prompt as administrator. Open the start menu and search for "Command Prompt". Right click the Command Prompt icon in the search results and select "Run as administrator". Use the "cd" command to navigate to the directory where you unzipped dd for Windows, e.g.:
C:\Users\cory> cd Downloads\dd-0.6beta3
Now run the following command:
C:\Users\cory\Downloads\dd-0.6beta3> dd --list
USB drives will be listed as \\?\Device\HarddiskX\Partition0
where X
is an integer. These are the device names. dd will identify USB drives as "Removable media other than floppy." Find the device name for your USB drive, and run the following command (substitute X
with your USB drive number, and ..\iso\crux-3.2.iso
with the path to your CRUX ISO):
C:\Users\cory\Downloads\dd-0.6beta3> dd if=..\iso\crux-3.2.iso of=\\?\Device\HarddiskX\Partition0 bs=1M
If you get an error such as "Error writing file: 5 Access is denied", that means the drive is mounted. Unmount the drive as discussed above, and make sure you're attempting to write to the correct device.
Wait a while for dd to finish (you'll know it's done when you see something like "398+0 records in, 398+0 records out"). Your USB disk should now be ready to go!
Create a httpup repository and register it with the ports database. Basically you just make a directory which contains your ports, run httpup-repgen <directory> to generate an index file and upload the directory in your personal web space. It's as simple as that. More detailed infos here.
Install httpup and put the corresponding .httpup file in your /etc/ports directory. Running ports -u should now make the ports available in /usr/ports/<repository>. If you are using prt-get, you might want to add the port directory to /etc/prt-get.conf e.g. prtdir /path/to/repository
.
Use prt-get (depends
or deptree
to check the dependencies and depinst
to actually install them) from the opt tree (opt/prt-get).
Follow the instructions for either GNOME? or KDE.
prt-utils is a good place to start and have a look at our ToolsAndScripts page.
Have a look at our httpup page.
If the port is from the core, opt or xorg collections, this is considered a bug. Feel free to report it using the ticket system. Please make sure there isn't already a bug report for this version difference. Also note that all CRUX team members only work on CRUX in their free time, so the respective person might already know about the new version (submitting a bug report an hour after the release doesn't make any sense).
A good "new version out" bug report also contains a note whether it is enough to just update the version in the Pkgfile. Important: If the update is security related, please contact the port maintainer directly (and immediately).
Edit /etc/pkgmk.conf. Change this part:
# PKGMK_SOURCE_DIR="$PWD" # PKGMK_PACKAGE_DIR="$PWD" # PKGMK_WORK_DIR="$PWD/work"
To this:
PKGMK_SOURCE_DIR="/usr/ports/distfiles" PKGMK_PACKAGE_DIR="/usr/ports/packages" PKGMK_WORK_DIR="/usr/ports/work/${PWD##*/}"
Finally create the directories:
# mkdir /usr/ports/{distfiles,packages,work}
Have a close look at the mismatch. If there are lots of new files, it's probably just because you have some software installed the packager didn't, which is no problem at all. In this case, just ignore or update the footprint (see the manpages of pkgmk and pkgmk.conf, most noteworthy the PKGMK_IGNORE_NEW option) and install it. If you're missing a lot of files, make sure you have all dependencies installed. Also make sure you built the package as root.
The md5sum is a security feature, so you shouldn't just ignore this one. The package you downloaded could be manipulated. But there are other reasons why this can happen, without a malicious action: the download might have failed (try to decompress the tarball to see whether is is corrupt), or the requested file might have been changed on the server without its name being changed; this usually happens for things like theme-packs which change constantly without getting another name.
First ensure that there are no firewall rules rejecting inbound traffic to the port designated in /etc/ssh/sshd_config (Port 22 by default). The default nftables configuration already allows traffic on port 22, so unless you edited the file /etc/nftables.nft, activated a different firewall, or instructed sshd to listen on a non-standard port, a running ssh daemon should be reachable from hosts in your network. You can then start sshd manually by entering the command /etc/rc.d/sshd start. For automatic loading of sshd when CRUX starts up, simply add sshd to the SERVICES array of /etc/rc.conf, i.e. SERVICES=(... sshd ...)
.
The core port dcron installs /usr/bin/crontab with permissions rwsr-x---, owner=root, and group=users, but CRUX 3.7 now ships with a useradd configuration that does not automatically put new accounts into the 'users' group.
The old behaviour of useradd (prior to December 2020) resulted from a historical accident: the fallback gid chosen by useradd happened to be the same as the gid (100) that traditionally appears on the users
line of /etc/group. The administrator of a machine running CRUX 3.6 or earlier can be forgiven for inferring a deliberate design decision, but changes to the upstream useradd source shattered the illusion of such intentionality. Now in the absence of any overriding directives (in /etc/defaults/useradd or /etc/login.defs or on the command-line), useradd will assign gid 1000 to any new account.
One such overriding directive is the line USERGROUPS_ENAB yes
, which now appears in the file /etc/login.defs installed by the shadow port. This directive prevents useradd from falling back on its hard-coded default gid, 1000, and instead allows it to select an unused gid to be associated with a new group of the same name as the newly-added user. A cosmetically appealing side-effect is that useradd never assigns a gid that has no corresponding entry in /etc/group. Separate primary groups for each user also makes it harder to accidentally allow your files to be clobbered by someone else in the 'users' group, unless your login profile sets a dangerously permissive umask.
The old behaviour — assigning 'users' as the primary group — is out of sync with the recommended practices these days, but if you want it, the three easiest options are: a wrapper script, an alias, or remembering to type -g users
with every invocation of useradd.
If you upgraded from an installation of CRUX 3.6 or earlier, then your existing users and groups will still have their 3-digit UIDs and GIDs, with nearly every non-system account in the 'users' group. To avoid a confusing mix of old GIDs and new GIDs, you can use the upgrade as an opportunity to start afresh: create new CRUX 3.7 users that have separate primary GIDs, and transfer the home directories of the old users to the ${HOME}s of their CRUX 3.7 counterparts.
If you need something off of the CD, you can grab the base install packages from core and opt (provided by Matt Housh) or core and opt (provided by Tilman Sauerbeck). Either should work
If you are using the binary NVidia driver (opt/nvidia
) for xorg, keep in mind to run the gl-select
tool after installation to set up your OpenGL environment, as pointed out in the README file. X dying like this happens not only with openoffice but most of the glx stuff such as childsplay, showfont etc.