Syzix

What is Syzix?

Syzix is an experimental new Linux distribution unlike most other distros.

Packages are installed into separate locations in the filesystem - that is, into their own tree - much like GNU Stow (and similar tools), GoboLinux and Nix. This allows multiple versions of a given package to be installed at any given time.

However, unlike these other systems, Syzix doesn't use symlinks as the primary package selection mechanism. Instead, the package version that is actually used can be dynamically adjusted at runtime on a per-user or per-process basis - rather than changing symlinks (which affects all users/processes), or messing around with absolute paths (which is a pain).

Additionally, Syzix retains the remainder of the traditional Unix filesystem layout, such as /etc, /home, and so on.

Some of Syzix's interesting properties are:

Syzix is targeted at advanced users and developers. You should be comfortable working at the command line, know (at least roughly) how shared libraries work and be able to read and write shell scripts. A familiarity with Environment Modules is useful (but not essential), since the syz tool is based on modules.

Syzix is currently in an alpha release, and is not yet suitable for general use. In particular, it does not yet have its own toolchain or init system, and so is dependent on a host distribution. The only tested host systems at this stage are Slackware64 13.37 and CentOS 6.2.

Syzix is licensed under the GNU General Public License version 3 or later (GPL3+).

Getting and installing

The latest version of Syzix is version 0.2, released 2012-05-14. It can only be installed by compiling from source. The only tested host systems are Slackware64 13.37 and CentOS 6.2, although others should work out-of-the-box or without too much adjustment.

Installation instructions for Syzix 0.2

Old versions

These old versions are buggy(er), and so should generally be avoided.

Presentations

Using Syzix

Coming soon.

Developing Syzix

The core Syzix packages are available on github: It's easiest to work with these installed into the system as "devel" versions. Currently this must be done by hand (as below, for example), as buildiful matures it will include support for automatically installing devel versions.
  ~$ syz cd modext ..
  /sw/syzix/hostdep/noarch/modext$ git clone git://github.com/devkev/modext.git devel
  /sw/syzix/hostdep/noarch/modext$ cp -a default/syzfile devel
  /sw/syzix/hostdep/noarch/modext$ rm default && ln -s devel default     # (optional)
  /sw/syzix/hostdep/noarch/modext$ cd ../.sf/modext
  /sw/syzix/hostdep/noarch/.sf/modext$ ln -s ../../modext/devel/syzfile devel
  /sw/syzix/hostdep/noarch/.sf/modext$ # (optionally adjust .version to specify "devel")
  /sw/syzix/hostdep/noarch/.sf/modext$ syz swap modext/devel
  /sw/syzix/hostdep/noarch/.sf/modext$ syz cd modext/devel
  /sw/syzix/hostdep/noarch/modext/devel$ # (start hacking)
		

Logo

Syzix is in need of a logo. If you'd like to contribute, please email your suggestion as per the contact details below.

Pronunciation

The "y" in syz is short, ie. "syz" is pronounced like the start of "scissors", rhyming with "fizz" but not "size".

syzix is pronounced as "syz", followed by "-icks", ie. both the "y" and "i" are short, making "syzix" rhyme with "physics" (which in turn means that syzix users are "syzicists").

"shwrapnel" is a homophone with "shrapnel".

Contact us

Please email all queries, feedback, comments and suggestions to syzix@this_domain (replace this_domain with the domain of this website).

There is also the syzix-users mailing list for general questions and discussion about Syzix.

The @syzix twitter account is used for Syzix-related announcements.

If you would like to work on syzix and contribute features, bug fixes, etc, please contact us first on the above email address - mainly to ensure that you aren't replicating the work being done by anyone else.

Authors

Kevin Pulo is the creator and primary developer of Syzix.