===========================================================================
About the Scripts :: What They Are and Do.
===========================================================================
This is just a brief introduction to what each script does. For more in-depth information, check the various other parts of this site, and follow the links that lead you to where you might find what you need to know.
----------------------------------------------------------------------------
Overview of the Core Functionality of the Scripts
----------------------------------------------------------------------------
----------------------------------------------------------------------------
What is smxi?
smxi is an interactive script designed to help people maintain their systems. It supports Debian (Stable, Testing, and Sid) and true Debian based distros (sidux, AntiX, Mepis). It does not support Ubuntu based distros because there are too many differences between Debian and Ubuntu.
Smxi manual
There is an online smxi manual that might answer any further questions you have.
Smxi script features
Smxi is a feature rich, powerful script, and has the following primary features and options:
- System Upgrades (dist-upgrade / upgrade)
- Kernel upgrades / kernel module upgrades
- Automatated video card driver installation (plus any needed patches), especially non-free drivers like nVidia and AMD/ATI fglrx
- Installing extra software (including building a desktop/server from scratch, starting with just the base Debian system)
- Removing certain software
- Cleaning up your system (cleaning up apt archives, removing kernels/ kernel modules, cleaning system cruft, etc)
- Tweaking your system, mozilla configurations, installing some small graphics tweaks, etc.
smxi also launches, with the proper start information, 2 stand-alone script modules, sgfxi (the Video Driver Installer script), and svmi (the Virtual Machine Installer script), if you select the options to do that. Both of these scripts can also be run alone.
For a more expansive list of what it does, including the order the features appear in smxi, and a full listing of the script navigation, see the smxi navigation page. For a shorter version of its features, and the basic story behind smxi, see the smxi story page.
Always check out the script help menu option -h (eg: sxmi -h) to see what options are available, with further explanations.
----------------------------------------------------------------------------
What is sgfxi (simple graphics installer - s gfx i)
The primary purpose of sgfxi is to install non-free graphics drivers. It also supports removing non-free graphics drivers and replacing them with the free version. To do this it cleans out the system of any previous drivers, then installs the latest versions of the driver you have requested.
Support for Ubuntu and Arch Linux has been added to sgfxi, so now it should work in most areas in Debian, Ubuntu, and Arch.
sgfxi also runs as a module of smxi, which is run via the Graphics Install section, which basically just selects the mosts commonly used and most useful start options for sgfxi, and then starts sgfxi with those options.
sgfxi is part of the smxi.zip package, so if you got the zip package, you have sgfxi already installed, or to install the script as a standalone, see how to install sgfxi.
Some nice features of that are if you install a new kernel with smxi, smxi will retain that data, then send it to sgfxi, which allows you to install the video driver to the new kernel prior to rebooting, which lets you do a full system upgrade prior to rebooting.
Sgfxi manual
There is an online sgfxi manual that might answer any further questions you have.
Most commonly used features
The following shows the main steps and options most people find useful. See sgfxi -h for full listing of options.
- Offers latest stable drivers, as well as beta nVidia drivers, within 24 hours of release, usually. Generally the new drivers are added as soon as I become aware of them. So if I've failed to update, simply post a note and let me know about the new driver on the sgfxi feature request thread. Or, if you see the user h2-gw on the smxi irc channel: irc.oftc.net channel #smxi you can alert me there too.
- Automatically determines correct driver type for your specific card. This feature has very good support for nVidia non-free drivers, Intel, nVidia, and ATI Xorg drivers, plus a few others. In other words, if you use a legacy nVidia card, it will determine what driver to install for that card, automatically.
- Cleans up system of all previous drivers prior to install.
- Automatic install of latest nVidia beta driver: sgfxi -cB
Note: this only installs latest beta if latest beta is a higher version number than current stable for your card type. - Automatic install using Debian/Ubuntu method of non-free driver install (using m-a (Debian) or dkms (Ubuntu)): sgfxi -s (or, for nVidia: sgfxi -cs)
- Direct binary install (sgfxi) for AMD/ATI, from the fglrx run package. You can also (Debian/Ubuntu only) try the deb constructor sgfxi -F, if you have problems with the default binary method, or prefer to use the debs, but both methods do not always work for all distros.
- Configures xorg.conf for your driver choice, including some common settings. Does NOT use the nVidia or ATI auto configuration tools because they tend to be very messy and unreliable.
- Install a wide range of free Xorg drivers. This will also remove any previously installed non-free drivers, and update your xorg.conf to use the new driver.
Major known issues
There are some fairly consistent, known, issues, that haven't changed much over time. Here's a brief listing of them:
- Erratic fglrx (ATI non-free driver) support and function. This is not a reliable driver, especially not in the current default of using the debian deb constructor option of the fglrx driver installer package. If you have problems with the standard sgfxi deb constructor method, try the sgfxi -f method that doesn't create deb packages, but installs the driver directly. That might work better for you.
- fglrx barely supports Debian Sid in general, so if you have a solid working setup, do NOT randomly upgrade your system without first checking to make sure the driver actually works with the latest Xorg and Kernel.
- Fglrx does not work with sidux kernels newer than 2.6.24. This is because of a kernel configuration option used in the sidux kernels, which is valid, but which makes the fglrx install fail. ATI has so far failed to show any signs of correcting this issue. The only current solution, aside from using a patch to override the GPL flags in the sidux kernels, which I won't get into here due to the passions that raises elsewhere, is to install the Debian Sid or Testing kernel, or to use the new Liquorix kernels by damentz, or to build your own kernels without that flag. smxi supports install of Debian kernels for sidux users in its Advanced Kernel Install section.
- Debian Testing/Stable: nVidia Debian method (m-a etc...) install of non-free drivers doesn't work because Testing/Stable don't have the required nVidia non-free packages, which are considered bugs by definition. This doesn't look like it will change. However, the direct, non Debian method install works fine, so it doesn't really matter.
Maintaining sgfxi
What can I say? Maintaining this script is a lot of work, ongoing, the driver vs kernel environment is constantly changing and evolving, and new drivers with new issues are constantly appearing. If you like and appreciate the work that is required to keep sgfxi up to date, and to keep the driver install process reasonably pain free and simple, please consider making a donation. Every bit helps.
Bugs and Problems
Please remember that nVidia and Fglrx (ATI) are non-free drivers. This means that there is only one type of bug that I can deal with: install / xorg configuration issues. All other bugs, ie, the driver has issues, glitches, etc, have to be handled on their respective support forums. Please use the following resources to file bug reports in the appropriate place, ie, where they will actually do some good.
Please spend your bug reporting time well by selecting the proper resource and posting your issues there.
- sgfxi bug forum - Use this to report INSTALL issues, or Xorg configuration problems. No other support is possible, becaues I don't write either the Xorg or the non-free drivers.
- nVidia support forums - Please post all driver bugs there, they do no good anywhere else. The nVidia developers read that and respond, so if you want your driver bugs and failures actually addressed, file the bug report there. Make sure to first read the how to file a bug report thread first. Hint: zip up the generated nvidia bug log to make it uploadable to the nvnews forums, otherwise it's too big.
- AMD/ATI Fglrx support forums - This is where the official support happens, for what it's worth, which isn't very much. Look for Bridgeman's postings, he's an ATI developer, and he's fairly reasonable, though perpetually in denial about the systemic weaknesses in the fglrx driver install package. You can also check out their Free radeonhd Xorg driver forums to see the status of those.
Error and Install Logs
Because of the complexity of debugging driver install issues, the following logs are available for debugging purposes:
- sgfxi install logs: /var/log/sgfxi/sgfxi.log
- nVidia install logs: /var/log/nvidia-installer.log
For sgfxi install failures and issues, please post a copy of the sgfxi.log at http://paste.debian.net, then copy the link and post it in the sgfxi bug forum. Do NOT paste the error log directly, it's far too big.
----------------------------------------------------------------------------
What is svmi
svmi is a fairly simple script that downloads and installs, or updates, your Vmware or VirtualBox virtual machines.
svmi is part of the smxi.zip package, so if you got the zip package, you have svmi already installed, or to install the script as a standalone, see how to install svmi.
You can start it either as a stand-alone script (ie: svmi), or from smxi. See svmi -h for full options.
svmi features
svmi has a basic group of functions, which let you maintain and install VirtualBox ose, non-ose, and Vmware Player. I do not have any plans of expanding this functionality due to the difficulty of tracking over years the various specific packages and methods.
Note: installing Vmware will remove previous versions, and so will Vbox installs. Ie, if you have Vbox ose installed, and installl Vbox non-ose, your Vbox ose will get removed.
- Install VirtualBox ose (open source edition). This is a Debian package, installed via apt.
- Install Virtualbox non-ose. This downloads and installs the non free version of VirtualBox
- Install VmWare Addons. This doesn't always work, but I try to keep it somewhat up to date.
- Install VmWare Player. Downloads and installs Vmware Player.
- Rebuild kernel modules for VirtualBox, if needed. Note: apt installed VirtualBox gets its modules automatically updated via smxi, or you can do it manually here.
- Vmware now handles its module rebuilding the first time you start it after a kernel update. Nice work Vmware team.
And that's about it, virtual machine installs made easy.
----------------------------------------------------------------------------
What is rbxi
rbxi is a cross platform tool designed to help you set up a range of backup jobs, using a wide range of options and configurations. It features full readme documentation, and requires a manual setup of its user data file in order to achieve greatest possible script flexibility and utility.
This is not a trivially easy script to set up, but once set up, it should require few further changes, unless your backup requirements change.
It should work on any system that has rysnc or rdiff-backup, Bash, and Gnu sed and grep. In other words, it should work on pretty much all Linux kernel running systems, and possibly some BSD type systems, including OSX.
See the rbxi install how to for details on how to install the script package.
rbxi works with either rsync or rdiff-backup, though I find for any network backup, rdiff-backup is just too slow to be of much utility.
Because of the complexity of setting it up, I'm not going to write much more here, though I have created a dedicated rbxi setup and configuration how to in the main docs section.
rbxi primary components and features
The main rbxi.tar.bz2 package contains the following components:
- Primary script directory, which contains all of the following: rbxi/
- Core script: rbxi/rbxi. This features an updating feature so you can update the core engine if newer versions exist, without updating your configuration files.
- The rbxi configuration data directory: rbxi/rbxi-data
- The primary user configuration file: rbxi/rbxi-data/rbxi-values
This file contains a lot of notes and tips about how to setup the variables there. - Exclude files for all backup options, both rsync and rdiff-backup: rbxi/rbxi-data/excludes-....
NOTE: rsync and rdiff-backup do NOT use the same syntax in these files. rdiff-backup also does not allow comments in its exclude files. - The basic readme for setup instructions: rbxi/rbxi-data/readme-rbxi.txt (soon to be readme-rbxi.htm)
An evolving how to setup rdiff-backup or rysnc backup jobs using rbxi.
Also check rbxi -h for more information on the various options, but the readme-rbxi file is really required to set this up and get it working.
----------------------------------------------------------------------------
What is inxi
inxi is a really fun little (well, ok, it's not little anymore, it's getting pretty big) Bash script that lets you get all kinds of system information, either in your console/terminal/shell, or in your IRC client.
inxi allows a wide range of output options depending on which parameters you start it with. It is a fork of locsmif's largely unmaintained (and in my opinion, unmaintainable), yet very clever, infobash script.
inxi is a read-only script, in other words, it will not change or modify anything in your system, it merely tries to read from a variety of sources information about your system, so you can show and see what you want in an easy to use format.
See the inxi install how to for details on how to install the script.
inxi options and features
See inxi -h for full list of supported output options.
- inxi - with no arguments, shows just one line of main system data.
- inxi -d - shows basic system information
- inxi -F - shows full system output. In general, avoid using this on IRC channels because it's quite verbose.
- inxi -v <0-5> - -v 0 through -v 5 shows a variety of outputs, the bigger the number, the more output, -v 0 shows the same as inxi alone.
- Line by line outputs, see inxi -h for current options. Shows things like CPU information (-C), Graphics (-G), Network (-N), Hard Disk (-D), Partition (-p), System Information (-S or -I), and other fun stuff.
Like all the other scripts, inxi -U will update to the latest svn version.
inxi is a group project
Unlike the other scripts on this page, inxi is co-developed, a group project, primarily with trash80 on the programming side. But the nice people at irc.oftc.net channel #linux-smokers-club all really have to be considered to be co-developers because of their non-stop enthusiasm and willingness to provide real time testing and debugging of inxi development.
Without a wide range of diverse Linux kernel based Free Desktop systems to test on, we could never have gotten inxi to be as reliable and solid as it's turning out to be.
And of course, locsmif, who figured out a lot of the core methods, logic, and tricks used in inxi, has to be considered as a primary author as well, even if inxi has been officially forked from his infobash script.