VASM is one of the few tools that make the VectorLinux distro a unique system. It makes system administration and tuning fairly easy. However, as time goes by the distro evolves, and ends up rendering some of the components of vasm useless on newer VL versions. This saddens me. For a while, bistolfi, myself, and from time to time a couple of other members of this community have had long and detailed tasks about improving not only vasm, but the way the distro is installed and configured. With that in mind, I'd like to present to you some of the things I've been working on. Before going into details, I'd like to state that the user interface(s) to these tools are very likely to change. The purpose of this is to showcase the capabilities of the backend tools i've been working on and that will be used in the near future for several different tasks during system installation and configuration. These tools are written from scratch in python and most of them emulate what the legacy vasm tools do. Writing them in python allows them to be plugged into other tools (such as installers).
[disclaimer]
This is (very) experimental software, so if you mess up your system with it you should know how to restore it manually. Dont post here saying this broke your install, because I just warned you.
[/disclaimer]
DEPENDENCIESBefore you get the source and test it out, you must make sure your installation meets the dependencies. Some forum members have been working on getting the necessary packages to our repos, so they may be in testing or unstable. You need these packages installed on a VL 7.0 system:
- urwid (latest revision for their mercurial repos)
- setuptools version 0.6c11 or better
- pyparted version 3.5 or better
- pexpect (install using easy_install pexpect)
These are available at
https://bitbucket.org/m0e_lnx/vasm/downloadsAfter you have those installed, you need to install mercurial to check out the source. This can be done via slapt-get or gslapt or by doing
easy_install mercurial
as root in a terminal.
GETTING THE SOFTWAREAfter installing mercurial, you are ready to check out the source code, so cd to some place in your home (I keep mine in ~/devel, so lets use that). Do this as non-root user
mkdir ~/devel && cd ~/devel
Now checkout a copy of the code. Run the following command as non-root user
hg clone https://bitbucket.org/m0e_lnx/vasm
Now you have a copy of my working code. Downloading code this way allows you to test the latest changes. To get the lastest changes at any time, do this as non-root user
cd ~/devel/vasm && hg pull && hg update
RUNNING ITNow you have the code, your deps should be met, and you should be ready to run it. This does not install anything to your box, it simply downloads the temporary working environment that I'm working with.
There are 2 gtk user interfaces, and 1 text interface to this thing:
- panedui.py is a dual-paned gtk interface
- plainui.py is a single-paned gtk interface
- tvasm.py is the text mode interface (Run this in a full screen terminal or switch to init < 4)
You may run any of these by calling the following command in a terminal
python panedui.py
change "panedui.py" to whichever interface you want to test.
BUGS / FEATURE REQUESTSALL bugs and feature requests must be submitted here
https://bitbucket.org/m0e_lnx/vasm/issuesThere is "Create Issue" button on the right side of the screen. Issues can be bug reports or feature requests. You do not need to be a member on bitbucket to report bugs, so there should be no reason stopping anyone testing this to properly report a bug.
While the user interfaces are likely to change, it is likely they will be modeled after these or using these as a base. So I'd like to get the community's opinion as to their favorite of the 2 GUI interfaces, and input on the text interface.
Keep in mind, this is under heavy development and the text interface does not yet have all the modules available, but if you followed this guide to get the source code, you can update any time and get new features as they show up in the code.
If you are a python programmer and would like to help in the development process, drop me a message or post here.