clm (coLinux Manager)[]

  • clm* is command line tool to manage coLinux. It saves lots of typing by scripting common chores. A regular batch file, it is compatable with Windows 2000 or better. The total tool is made of two files (main file and configuration) and totals under 25k.

_boots: The newly released 1.3.0 has minor bug fixes and should be slightly less annoying in terms of error handling. This will likely be the last release of *clm* pending the release of a new, more comprehensive tool, *coco*.

_boots: many thanks to Gniarf and gboutell for providing the mirrors! Please note that lax error handling in clm 1.2.7 can cause some unexpected annoyances. An improved version is in the works, but in the meantime, clm 1.2.7 is still quite usable._


  • Easy*:
  • minimal syntax
  • simple install
  • GPL
  • Manage Services*:
  • install/remove/patch service configurations
  • Control Services*:
  • start/stop/stop services (with optional consoles)
  • Spawn*:
  • consoles
  • non-service daemons (with optional consoles)
  • Manage Configuration Files*:
  • list, edit, browse, display configurations
  • Manage coLinux*:
  • install/remove/status for coLinux driver
  • install/remove/update for tap devices
  • Integrated coLinux Wiki Support*:
  • a mini module of handy features to access the coLinux Wiki
  • coLinux Download And Installation*:
  • starting with version 1.2.7 there is initial experimental support for automated download and install (feature requires Cygwin)
  • this feature is in early testing and required installation packages are presently not available at the mirror sites; as a warning, there are currently no _official_ installation packages that are compatible with this feature nor are the installation packages currently available from an _official_ coLinux site.

See Also: RunningAsAService for more info on how to control coLinux from the command prompt.

_*Good Luck and Have Fun!*_

_The following applies to version 1.2.7. For up-to-date documentation, please visit the homepage or mirror site._

<Gniarf> mirror of the page :) for documentation purposes. No need to format the following:


Command line management tool for [[coLinux]].

Additional info at the [[coLinux]] clm Wiki Page

**** download clm 1.2.7 (2004-05-10) (6kb zip, 2 files, < 25k unpacked)
**** view source: clm.bat (21k) clm.conf.bat (2k)

Copyright 2004, boots. Licensed under the GPL. [author: jayboots at yahoo d0t com]


clm 1.2.7 (2004-05-10)

**** added: initial support to download colinux and install (requires cygwin)

clm 1.2.6 (2004-05-10)

**** mainly bugfixes/enhancements for CLM START, CLM INSTALL, CLM REMOVE
**** added: CLM TAP UPDATE <name>
**** removed: environment var COLINUX_DRIVE from clm.bat and clm.conf.bat


clm requires a minimum of Windows 2000 and a recent build of [[coLinux]]. Tested with 20040429 and 20040509 snapshot.

   1. Place clm.bat and clm.conf.bat somewhere convenient that is in your path.

      clm uses automated naming schemes. This can be changed in clm.conf.bat. The defaults are:
          * Configuration File Naming: "<name>.colinux.xml"
          * Windows Service Naming: "colinux <name>"

   2. Put all of your xml configuration files files in a single directory as specified in clm.conf.bat.
   3. Modify clm.conf.bat to suit your configuration.
   4. If Cygwin is installed on your system, uncomment the appropriate lines in clm.conf.bat and configure accordingly. This enables clm to automatically retrieve snapshots and install them.

**** Comments in your xml configurations will confuse clm
**** Do not use names with spaces or that are quoted
**** TIP: Remember to modify CLM_EDITOR and CLM_BROWSER to suit your tastes.


c:\>clm help                          <-- or just "clm"

Using clm to Install [[coLinux]]

**** If you have Cygwin enabled in your clm.conf.bat then you can use clm to automatically download and install [[coLinux]]. This attempts to uninstall current versions of [[coLinux]] but it is strongly suggested you manually stop all running Co Linux daemons and services and then manually uninstall [[CoLinux]]. You may have to reboot to ensure a clean uninstall.
**** This feature is optional; you need not install [[coLinux]] using this feature to use clm's other features.
**** Snapshots for 20040429 and 20040509 are available. These snapshots includes the equivalent files that are bundled with the Auto Installer exe (except for the Auto Installer itself).
**** This feature is experimental.

c:\>clm colinux install

Using clm to Install [[coLinux]] Driver

Install [[coLinux]] Driver (skip step if you installed [[coLinux]] with the Auto Installer exe or using the previous step)

**** skip step if you installed [[coLinux]] with the Auto Installer exe or using the previous step
**** This feature is optional; you need not install [[coLinux]] using this feature to use clm's other features.

c:\>clm install

Using clm to Setup Your Network Devices

If you need to install a NPF Driver, you must do so manually, now (not yet supported by clm). I use the excellent WinPCap 3.1 beta driver on my Windows 2000 Pro installation.

If you need to install a TAP device, do so now. Note that clm can not presently automatically bridge your devices for you.

**** skip step if you installed [[coLinux]] with the Auto Installer exe or using the previous step
**** This feature is optional; you need not install [[coLinux]] using this feature to use clm's other features.

c:\>clm tap install TAP          <-- Installs tap device, "TAP"

Using clm to Install Services

Install a service. We will install using the default (default.colinux.xml, usually). This reads your xml config and updates your new services registry keys to include the proper required dependencies to allow the service to be able to autostart at boot.

c:\>clm install default          <-- to install "colinux default" service (only needed once)

Patch the new service so that it will autostart at boot. The patch action can also be used to update certain other registry keys for your service.

**** Note: not all systems seem to work with auto booting services. If you are having difficulties, try using the default manual startup instead of using auto startup.

c:\>clm patch default auto       <-- to autostart service default on bootup

As of 1.2.4, you can now do the above two steps with a single command:

c:\>clm install default auto     <-- install service with autostart on bootup

From here on, it is expected that you have your [[coLinux]] and clm properly configured.
Normal Usage Examples

c:\>clm status                   <-- [[coLinux]] driver status and current clm environment vars
c:\>clm defaults                 <-- restore clm environment vars to those in clm.conf.bat

c:\>clm ls                       <-- list your configuration files
c:\>clm browse                   <-- browser your configuration folder
c:\>clm info default             <-- info for configuration "default"
c:\>clm edit default             <-- edit configuration "default"

c:\>clm start default            <-- starts "default" service (installs service if required)
c:\>clm restart default fltk     <-- restarts "default" service and opens a fltk console attatched to process 0
c:\>clm start gentoo nt 1        <-- starts "gentoo" service with an nt console attatched to process 1
c:\>clm stop gentoo nt 1         <-- stops "gentoo" service with an nt console attatched to process 1 during shutdown
c:\>clm stop default             <-- stops "default" service

c:\>clm run default fltk         <-- spawns a daemon for default configuration (not service mode)

c:\>clm open fltk                <-- spawns a fltk console attatched to process 0
c:\>clm open nt 1                <-- spawns an nt console attatched to process 1

c:\>clm remove gentoo            <-- removes service "gentoo" (attempts to stop service first)
c:\>clm tap remove TAP           <-- removes tap device "TAP"

Wiki Integration Usage Examples

c:\>clm help wiki

Good Luck and Have Fun!

--Badilator 17:47, 21 Jun 2006 (CEST) Modify clm.bat 1.3.0 in the following way to be compatibile with 0.6.3 new tap name 'tap0801co' instead of the old 'TAP'. My 1th post, forgive me if it's a nonsense. Good luck.

@ECHO OFF > "%CLM_CONF_PATH%%2%.reg"
ECHO Windows Registry Editor Version 5.00>> "%CLM_CONF_PATH%%2%.reg"
::ECHO "DependOnService"=hex(7):43,00,6f,00,4c,00,69,00,6e,00,75,00,78,00,44,00,72,\>> "%CLM_CONF_PATH%%2%.reg"
::ECHO  00,69,00,76,00,65,00,72,00,00,00,54,00,41,00,50,00,00,00,00,00>> "%CLM_CONF_PATH%%2%.reg"
ECHO "DependOnService"=hex(7):43,00,6f,00,4c,00,69,00,6e,00,75,00,78,00,44,00,72,00,\>> "%CLM_CONF_PATH%%2%.reg"
ECHO  69,00,76,00,65,00,72,00,00,00,74,00,61,00,70,00,30,00,38,00,30,00,31,00,63,\>> "%CLM_CONF_PATH%%2%.reg"
ECHO  00,6f,00,00,00,00,00>> "%CLM_CONF_PATH%%2%.reg"

@ECHO OFF > "%CLM_CONF_PATH%%2%.reg"
ECHO Windows Registry Editor Version 5.00>> "%CLM_CONF_PATH%%2%.reg"
::ECHO "DependOnService"=hex(7):43,00,6f,00,4c,00,69,00,6e,00,75,00,78,00,44,00,72,\>> "%CLM_CONF_PATH%%2%.reg"
::ECHO  00,69,00,76,00,65,00,72,00,00,00,4e,00,50,00,46,00,00,00,54,00,41,00,50,00,\>> "%CLM_CONF_PATH%%2%.reg"
::ECHO  00,00,00,00>> "%CLM_CONF_PATH%%2%.reg"
ECHO "DependOnService"=hex(7):43,00,6f,00,4c,00,69,00,6e,00,75,00,78,00,44,00,72,00,\>> "%CLM_CONF_PATH%%2%.reg"
ECHO  69,00,76,00,65,00,72,00,00,00,74,00,61,00,70,00,30,00,38,00,30,00,31,00,63,\>> "%CLM_CONF_PATH%%2%.reg"
ECHO  00,6f,00,00,00,4e,00,50,00,46,00,00,00,00,00>> "%CLM_CONF_PATH%%2%.reg"

MassTranslated on 25 Dec 2004.

MassTranslated on Sun Apr 23 17:35:40 UTC 2006