m23 logo

m23 is a free software distribution system licensed under the GPL, which installs and administers clients with

m23 is controlled via webbrowser. The installation of a new m23 client is done in only three steps and the integration of existing clients is possible, too. Group functions and mass installation tools make managing a vast number of clients comfortable. Client backup and server backup are included to avoid data loss. With the integrated virtualisation software, m23 can create and manage virtual m23 clients, that run on real m23 clients or the m23 server. Scripts and software packages (for installation on the clients) can be created directly from the m23 web interface.

Read more>>


m23 features

Administration via webbrowser

The entire administration is done via webbrowser and is possible from all computers having access to the m23 server via network. The installation of additional administration software is not necessary. A remote access to the m23 server via PDA or laptop is easily possible. Authentification and SSL encryption secure the communication and prevent undesirable access.

Three steps to your complete client

Installing a client with m23 is rather simple. Only three steps are required for a completely installed client.

1. Adding the client
Screenshot: Add client

First, you need to enter some values for the client. These are, for example, the network settings (IP, networkmask, etc.), user name and password or the name of an LDAP server that manages your user accounts.

2. Partitioning, formatting and installation of the operating system
Screenshot: Client partitioning and formatting

All clients can be partitioned and formatted individually. The resulting partitions can be used for the installation of the operating system, the creation of software RAIDs, for data storage or as swap space. The installation will start after the selection of the operating system.

3. Installation of additional software
Screenshot: add more packages

You can install additional software packages in the last (optional) step.

Integration of existing clients into m23

Existing Debian-based systems (Debian, Ubuntu, Kubuntu, Xubuntu) can be assimilated into the m23 system easily and are then administered like a normal client that was installed with m23. Only the specification of the client's name, its IP or hostname and the root password are required. The client, which is to be integrated, is then scanned and its hardware information and the status of installed packages are transmitted to the m23 server.

Group functions

You will like the convenient group functions if you have a big amount of clients that need to install new software or if other routine jobs need to be done. E.g. a new software package can be installed on all clients or be removed from all clients of a group. In addition, an update or a client recovery can be accomplished on all group members.

Mass installation

The mass installation tools are handy, if you need to install a big amount of clients with similar requirements (and maybe different hardware). The mass installation is done in three steps.

1. Creation of a defined client
Screenshot: Define client model

A model client, that holds the basic settings (such as the default gateway or the group name), is defined (but not installed). The real clients are to be derived from this defined client. The defined client gets a partitioning and formatting for its virtual harddrive (as well as rules what to do if the real harddrives are differing in size or type), the operation system and appropriate software packages.

2. Choosing the parameter generator options
Screenshot: Select generation method for parameters

Now you have to choose which of the settings, that can or have to be different on each client, shall be kept (e.g. user name), generated automatically (e.g. client name) or read from a file or entered by hand (e.g. MAC address). The partitioning of the virtual harddisk will be adjusted on client deployment.

3. Final review of the client parameters
Screenshot: Review generated parameters

In this last step you see all the parameters and values of all clients in a table and you can change the values by hand. It is possible to change the number of clients, too. Automatically generated client parameters will be calculated in the required amount or existing clients will be removed.

Client features

Operating systems

m23 supports:

m23 supports Debian, Ubuntu, Kubuntu, Xubuntu, Fedora, Linux Mint, elementary OS, CentOS and openSUSE. The choice of the Linux distribution is a matter of taste and a question of the functional range. m23 gives the administrator the chance to choose the right distribution for each client individually which can be installed automatically. m23 allows to manages all clients via the same m23 administration interface, no matter which distribution is installed.

Free partitioning and formatting

In addition to the automatic partitioning and formatting, m23 supports individual harddrive setups. The resulting partitions can be used for the operating system, to store data and for swapping. The m23 interface includes all necessary functions for deleting, adding and formatting of partitions and for assigning them to mountpoints, installation or swap usage. In addition, it is possible to reuse the existing partition layout for the installation.

Support for software RAIDs

Partitions or entire harddrives can be combined into software RAIDs. m23 supports the RAID levels 0, 1, 4, 5, 6 and 10. These RAID levels have advantages and disadvantages in relation to speed increase and data reliability. RAIDs can be used like normal partitions to install operating systems to or to use them as swap or storage space. You can install the Linux kernel and its modules on a separate (non-RAID) partition to be able to install an operating system on all possible RAID levels.

User management with LDAP

User accounts can be managed with a central LDAP server. This increases the ease of use in environments with many clients and a lot of users. The OpenLDAP server is shipped with the m23 server and can be administered via the highly integrated phpLDAPadmin. m23 can use existing LDAP entries for new m23 clients or add extra entries on adding an m23 client.

NFS for storing home directories

An NFS server for storing the user's home directories is a good supplement to an existing LDAP server. Using an NFS server simplifies the making of backups dramatically in contrast to a lot of clients storing the home directories on local harddrives. As a benefit of this combination the user has the alternative to log in into any client and find her or his own desktop and files.

Software packages

Thousands of software packages like office packages, graphic tools, server applications or games can be installed via the webinterface. Software installation or removal jobs are carried out at boot time or while the client is in normal use.

Software choice in different distributions

The Linux distributions that are installable with m23 offer a large variety of free software, which can be installed easily. In addition to the package sources recommended by m23 other package sources can be added to install software from other suppliers.

Package dependency check

You can check if the removal or installation of software will be sucessful before the actual process. The administration interface gives a warning message, e.g. if a package can not be installed due to unsolved dependencies.

Automatic software package caching


Software packages are downloaded from the internet to keep them up-to-date. The packages are then cached to ensure that every package is downloaded only once. If a certain package is installed a second time, the package will be installed from the cache. In case that a new version of the package exists, the latest package will first be downloaded and stored in the cache. On your m23 server this job is done by the proxy cache Squid.

Pool builder for building package sources

Package source architect

The pool builder makes it possible to combine software packages from different media (CD, DVD, internet) on the m23 server and convert them to a package source. These package sources can be used to install clients. This can be done without an internet connection or if the internet connection is rather slow. It is possible, too, to add selfmade packages to the pool.

Graphical desktops

Support for:

The m23 clients can be installed as workstation with the graphical user interfaces KDE, Gnome, XFce, LXDE and pure X11 or as a server without graphical subsystem. In most server setups, the server doesn't need a user interface because most of the server software runs in text mode. If you choose the Ubuntu distribution you can also install Unity, for Linux Mint Mate or Cinnamon and for Kubuntu "Kubuntu desktop" (KDE based), and for elementary OS, there is the Pantheon desktop.

Imaging: Installation using image files

An image file of a partition or entire harddisk can be used to install other clients. These image files are taken from installed clients with all their software packages and settings. The creation of these image files is included in the m23 administration interface for your comfort. Image files can be compressed to save storage space and bandwidth on rollout. An image file can be used to install any number of clients. After the end of the transfer, the client will be adjusted like a client that was installed from software packages. This is done on Debian, Ubuntu, Kubuntu and Xubuntu clients. These "image clients" can be managed like "normal clients" with m23, this includes software installation and other administrative tasks.

Client backup


Personal data and additional settings can be backupped and restored with the integrated software BackupPC. This is necessary for all personal data which is not handled by m23.

Client recovery

A client can be reinstalled with excactly the same software selection and configuration as it was installed with m23 before. This is done with the recovery feature directly from the m23 interface. The recovery includes the complete installation with partitioning and formatting. All settings done with m23 will be restored. Manual changes need a recovery from a backup medium.

Rescue system

The m23 rescue system is a minimal Linux environment that can be booted on the clients via the network. You can use it for on-location maintenance or via an SSH console. The administrator has full access to the client and can do all administrative work. Additional tools (e.g. the client log) support the administrator with his/her fault analysis.

Client virtualisation


The free virtualisation solution VirtualBox OSE is now (optional) part of m23 and can be installed directly on the m23 server as well as on the managed m23 clients. Required for virtualisation is a current Debian system (Debian Lenny or Squeeze). Virtual m23 clients which act on the network just like normal m23 clients are managed via the m23 server as usual. These virtual clients can be partitioned and formatted like a normal PC and of course the operating system and additional software can be installed as well.

VirtualBox OSE packages are available for 32 and 64 bit machines, that can be installed directly via the m23 web interface on the m23 clients. These m23 clients are virtualisation hosts for virtual m23 clients after the installation. Virtualisation may be useful to use the existing ressources of your computers better (e.g. office PCs that usually wait for user input most of the time or on a web server).

Screenshot: Installation on a virtual client

You can check the usage of harddisk and memory on the virtualisation host in the "VM creation dialog" before you create a new virtual m23 client. So you can take care not to assign too much harddisk space or memory to the VM. The newly created VM runs through the usual 3-step-setup after the creation is done.

Virtual m23 clients can run in graphical mode or without visible output. A modified VNC server was integrated for the graphical output to replace the VRDP feature of the non-free VirtualBox edition. It can be used to access the virtual clients from the boot on and allows to engage if problems occur. The VNC session contains the VirtualBox window with the running virtual m23 client and is based on the lightweight window manager flwm. An analog clock, a terminal and a button to shut down the session together with the VirtualBox machine are visible too.

Improve m23

The m23 interface and the entire m23 system can be improved with extra functions.

The MDK (m23 Development Kit) is a powerful environment to adjust m23 to your needs. E.g. you can create your own m23 server installation CD or build new network boot images with new modules.

Using the m23 extension halfSister, the ambitious administrator can easily make his or her favourite Linux distribution installable with m23, like it was already done with CentOS, openSUSE and Fedora.

Server features

How does it work?

m23 differentiates between servers and clients. An m23 server is used for software deployment and the management of the clients. Computers which are administered by the m23 server are the clients.

Diagram of m23 hierarchy

The client is booted over the network during the installation of the operating system. It is possible to start the client with a bootrom on its network card, with a boot disk or with a boot CD. The client's hardware is detected and set up. The gathered hardware and partition information is sent to the m23 server. Afterwards, this information is shown in the m23 administration interface. Now the administrator has to choose how to partition and format the client. Other settings include e.g. the distribution to be installed on the client.

Server backup

Server backup

The server backup function stores the m23 server with all its data at given points in time. The backups contain all information necessary to restore the whole m23 server functionality. Multiple points in time can be selected for this purpose. GPG encrypted backup files can be transferred to external servers automatically.

A GPG key management was integrated into the m23 webinterface, too. After a data fault the restore script will first install an "empty" m23 server and use the backup to bring it into a previously saved state. A short guide showing the restoring steps can be printed out directly from the m23 web interface (and should be before an emergency occurs!).

Variable firewall

A variable firewall makes sure that only safe values will be handed to the database. This should prevent SQL injection attacs.

IP manager

The IP management allows you to connect network settings to a MAC address, so that the necessary values are sent to the respective device via DHCP. Aside from this direct assignment, IP ranges can be defined, within which the IPs can be assigned dynamically (e.g. to notebooks). Specific settings (e.g. client name, MAC address) or specific IP ranges can now be blocked, so m23 cannot wrongly use these for m23 clients.

Copyright and usage notice for this text

You are allowed to use this text entirely, partly or in a modified form (e.g. for a press article or for product description in CD shops).

Creative Commons License: CC-BY-2.0

This text is licensed under the Creative Commons Attribution 2.0 License.

And of course we would be very happy, if we got a copy of your article or a URL where to find it ;-)


With m23 rock 15.2, Debian 8 Jessie has found its way into m23. For use on the clients, the distributions Linux Mint 17.2 Rafaela and Linux Mint 17.1 Rebecca have been added. The automated mirror selection will take care of a smooth client installation, even in case of an outage of the SourceForge servers. Security is another focus of this release, which brings an integrated firewall and extends access protection.

Debian 8 Jessie for m23 server and m23 clients

Debian 8: Mate desktop
Debian 8: Mate desktop

Debian 8 Jessie is the distro which will be installed if you use the m23 server installation ISO or the pre-configures VirtualBox appliance in this release.
The m23 server installation deb packages will still work with Debian 7 Wheezy, though. On m23 clients, Debian 8 is available now, too.

Debian 8, if used as m23 client distribution, offers a wide range of desktop environments: Mate (optionally in a minimized version, with only the essential packages installed), Cinnamon, Gnome, KDE, TDE, LXDE and Xfce.

systemd is now being used on m23 clients, replacing SysVinit. The clients now use grub 2 and language packages will be installed automatically.

Some smaller changes were necessary for using Debian 8 on the m23 clients: for example, the hardware detection routines had to be adapted, in order to prevent VirtualBox clients from being recognized as being running in VMWare (this is important for setting up the graphics mode). The package sources, for which a signed inRelease file is created automatically, had to be adapted, too.

Porting the m23 server to Debian 8 required changes, too. For example, switching to MySQLi API, Apache 2.4 and Squid 3 proved necessary. What had to stay is SysVinit, as there were problems caused by systemd during ISO installation.

More distributions

The development tasks for supporting the additional client distributions Linux Mint 17.2 Rafaela and Linux Mint 17.1 Rebecca have been pleasantly unspectacular. For the users, these bring many small improvements, such as updated versions of the Mate and Cinnamon desktop environments and of other Linux-Mint-specific tools.

Automated mirror selection to protect from server outages

Sometimes, server outages can't be avoided. Still, this is very annoying if the server providing the currently needed package sources is not available. Just recently, all SourceForge servers were down - but the m23 client packages are hosted there. This situation made it impossible for some of you to install new m23 clients during the outage. To prevent this annoyance from happening again, m23 now has an automated mirror selection, which tries to find a currently available server. This mode will not only be used for determining the package source of the client packages, but also for the base system archives download. The base system archives for any distribution you have used for your setup will now also be saved locally and verified by GPG signatures.


From this version on, the m23 server comes with a simple firewall, which, with default settings and after activation, will block any access (except for SSH) from outside the local network. The SSH server is also protected by Sshguard. The basic default firewall rules can be extended directly via the m23 interface, using the syntax of iptables commands.

Additionally, client ID and client IP will now be checked for a match when the current job script is being requested. The m23 server constitutes an exception for this concept, because, of course, it will still need to access all tasks (to be able to display the script's output).

Odds and ends

The dialog for choosing the client's distribution now displays a description of the selected desktop. The dialog for the creation of client images now uses the HTML API 2 which prevents your entries from being lost after an error message was shown. Also, the dialog now suggests a random network port for the transfer of the disk or partition image from the client to the m23 server. In the client recovery dialogs, a click on "No" (to cancel) now no longer leads to the client overview page, but to the control center of the corresponding client. The m23 server backup will now also save the settings for the firewall, openLDAP and BackupPC.

Downloads / Update

The latest version is available as an update via the m23 interface, via APT (Attention: package source server for m23-specific packages is now "skylink.dl.sourceforge.net". Setup instructions can be found in the installation guide.), as ISO file to burn the m23 server installation CD, as preinstalled virtual machine or as image file for RaspberryPi (the last three can be found in the Download section).


In the course of updating the development system to Debian 8, the deb packages for m23 have received support for Debian 8. Hence, you can now install the m23 server on Debian 8 Jessie.

The server installation media based upon Jessie, as well as updated virtual machines, will presumably be pulished with the next release, m23 15.2. The largest innovation of that version will be support for Debian 8 on m23 clients. The first test clients already run successfully in text mode.


elementary OS with Pantheon-Desktop
elementary OS with Pantheon-Desktop

Even if usually, m23 only offers new functions and distros with each new version, and in between only provides bug-fix updates, we are making an exception here ;-)

The update to m23 15.1 (patch level 100763) will give you access to elementary OS "Freya" with the lean desktop Pantheon as an additional platform for m23 clients.



The latest m23 release "rock 15.1" contains a whole lot of changes and improvements. Some of these are changes 'under the hood', for example the completely rewritten partitioning and formatting routines, plus some small changes to the corresponding parts of the web interface, while other changes are rather obvious, like the fully redesigned script editor. Support for UEFI on m23 clients is now available and new functionalities for fast copying/deployment of large files using BitTorrent. The m23 CLI also received a couple new functions.

Partitioning and formatting

New dialog for partitioning and formatting
New dialog for partitioning and formatting

In the course of establishing support for UEFI, all partitioning and formatting routines were rewritten in object oriented form and tested extensively using a testing system specifically developed for this purpose..

The new routined for 'Creation', 'Deletion' and 'Formatting' of partitions and software RAIDS had to undergo 10,000 rounds of testing repeatedly. These actions were performed in random order and with random parameters (for partition start and type, file system, RAID level,...).

To see if the resulting state expected by m23, which is used for visualization in the m23 interface, and the 'real world state' match, the actions were simultaneously executed on a virtual machine, and the results of every step were compared. The new implementation was then adapted until it output identical results.

During restructuring work, creation of virtual harddisks for mass installation template clients was integrated into the partitioning and formatting dialog. Now multiple harddisks can be used during mass installation.

Script editor

New script editor
New script editor

The script editor used in m23 was exchanged and re-designed. It is now based on Ace. The new editor now doesn't only highlight php commands, but also m23 functions. The switch to ace automatically also introduces many comfortable functionalities like Search and replace or jump to a specified line number. Download of user-created m23 scripts was integrated so there is no longer a detour via our community page necessary.

The available scripts now contain two additional examples: One of those demonstrates the installation of a PPD printer driver and the setup in CUPS, the other one shows how to use the new BitTorrent functions for deploying a VM appliance including importing it on the m23 client and adding a suitable configuration which makes the VM available to all users.

You can now test your own scripts with the script output preview, where the script is temporarily assigned to a client in order to generate its parameters with real client data. This helps identifying syntax errors for example, but should only be used when the corresponding client is not running.


From this version on, m23 offers support for UEFI on 64bit m23 clients. Those can either be started using a boot CD/DVD, or, in case the UEFI implementation provided by the manufacturer of the mainboard actually works, by network boot. Together with UEFI, the partitioning layout GPT has found its way into m23. UEFI boot is currently available for the m23 package sources list for Linux Mint 17. Please test this on your UEFI hardware and report any successes and failures.



The integration of BitTorrent hugely accelerates the simultaneous distribution of large files to a multitude of clients. For this, the m23 server takes on the role of the BitTorrent tracker and the initial BitTorrent client. The torrent file used for this network copy process can be created in the package architect menu in the m23 interface. The download to the clients then works through the use of m23 scripts which make use of the new BitTorrent functions of the m23 API.

The BitTorrent integration was part of a customer project, which required the transfer of a 20 GB VM appliance to 30 m23 clients (now even more). The file for the VM was initially living on the m23 server and was transferred via HTTP. The transfer process and import of the VM, plus the installation of an operating system with applications took a full 16 hours for 30 clients, before the torrent was introduced. This value is near the arithmetical limit for data transfer in the available 100 Mbit network. By using BitTorrent to transfer the VM appliance, the installation time could be reduced to a mere 3.5 hours.

The BitTorrent method implies that the clients exchange missing file parts among each other, which greatly reduces the load for the m23 server, where the original file is located. Combining the BitTorrent tracker opentracker and the BitTorrent client aria2c also effectuates an optimal network load and an even distribution of file parts, resulting in the original file from the m23 server being only distributed once.

m23 CLI

Another set of new functions was added to the m23 command line tool, which now provides, for example, functions to retrieve all client names or a list of all clients where a specific package is not installed or which have uncompleted tasks. The new command "wol" can wake up specific clients, and "sshFetchJob" will make them retrieve their next task from m23, and "executeBySSH" will make them execute general command line commands. Listing all running or turned-off clients is also possible now.

The little things

The client control center now contains an icon to delete the client. The kernel version for all m23 boot media was raised to 3.18.12. The script "getAllDebianDesktopPackages" can be used to list all Debian packages which can be used to install desktop environments. The deletion of packages in package selections which were retrieved from the set of packages installed on an existing client is now possible.


Of course, we've also made some (small) corrections ;-) This version eliminates many problems which have previously been sleeping (unnoticed) in the old partitioning and formatting routines. The m23HSAdmin tool which translates the generic administration instructions into instructions for the package manager/programs used in the corresponding halfSister distribution now contains a corrected version of the function to create fstab entries. For m23 clients which are installed in a CloudStack environment, the port forwarding rule for that client will now be removed when the client is deleted.

Downloads / Update

The new vesion is available as update via the m23 web interface, via APT (Caution: Package sources server for m23-specific packages is kent.dl.sourceforge.net" now. Setup as described in the Installation guide), as ISO file for burning the m23 server installation CD/DVD, as preinstalled virtual machine and as image file for RaspberryPi (the last three can be found in the Download section).