Wajig is a simplified front end to Debian's package management tools including dpkg and APT. Wajig provides the functionality of apt-get, dpkg, dpkg-deb, apt-cache, and other tools, by launching these tools as a subprocess. Wajig also provides extra functionality beyond that of the stock apt and dpkg tools, for example, the command wajig sizes provides a listing of all installed packages and the amount of disk space they require, from smallest to largest.
The key reason to use wajig is that it provides a consistent and intuitive interface to all packaging commands instead of the eclectic mix of incantations used by apt/dpkg. Under the surface wajig maps commands to the appropriate apt/dpkg commands. wajig nicely brings an orthogonal or intuitive quality to the user interface.
Think of wajig as the harmonizer of apt commands
Moving from RedHat to Debian requires learning a new package system. If you only live in the GUI world, the synaptic package will do most anything you will want. Some of us have to administer systems over a command line interface and that poses a small problem.
While the debian apt/dpkg system is better than rpm, the command line interface can be confusing and lacks an Orthogonal or intuitive quality to the user interface. Thankfully, there is a package, called wajig, that cures that problem and more. Wajig is well worth any Debian command line users time to learn - if you don't you will spend even more time in man pages. You will also love the fact that it logs what you do so you have a trail of bread crumbs to back track with if you install something that breaks things.
The following table assumes that you have your /etc/apt/sources files and an /etc/apt/preference file that has your system pinned to the appropriate release. There are ways to override the release level (stable/testing/unstable), but that is not covered here. It is also assumed that you have wajig installed (apt-get install wajig). Once installed you won't want to run apt-get again!
One slick trick - suppose you want to install all the packages on one system to a new system? Do:
wajig listinstalled > installed.txt
move the installed.txt file to the new machine and:
wajig fileinstall installed.txt
Command Function comments | wajig command | Equivalent Debian Apt-get or dpkg command | Redhat RPM command |
---|---|---|---|
Install a package In Debian there is no reason to manually download a package - apt-get takes care of that for you | wajig install jpilot or to specify version number wajig install jpilot=0.99.2 or to specify stable/testing/unstable wajig install jpilot/testing | apt-get install jpilot | rpm -hiv jpilot-0.99.2-1.i386.rpm |
Get basic package information | wajig detail jpilot wajig what-is jpilot what-is is oneline description | dpkg -s jpilot | rpm -qi jpilot |
List all files in a package | wajig listfiles rsync | dpkg -L rsync | rpm -ql rsync |
What package owns this file? | wajig whichpkg /bin/rsync | dpkg -S /bin/rsync | rpm -qf /usr/bin/rsync |
Remove a package | wajig remove rsync | apt-get remove rsync | rpm -e rsync |
List all packages | wajig list-names | dpkg -l | rpm -qa |
Find package based on partial string | wajig status-search rsync | dpkg -l 'rsync*' | grep rsync |
update system | wajig dailyupdate | apt-get update apt-get upgrade | up2date -uv |
Start, stop restart daemons | wajig start sshd wajig stop sshd wajig restart sshd | services sshd start services sshd stop services sshd restart |
[edit] wajig
wajig has three listing of documentation for its commands:
- wajig help gives a very short list
- wajig list-commands Has a oneliner for each command
- wagig doc Provides some indepth information
Below is a table with the current one liner list - I would advise doing a "wajig doc >wajig_docs" and printing it out to read at night as you will want to become familiar with it I've marked the most important commands in red - somewhat important in bold and you will find a favorite in what is left over.
If you are looking for a package name and only can think of a string try wajig listall |grep string. (there will soon be a fix so you can add an argument to listall).
If you want to know the package some command in your path is from, replace command with the command you are looking for -- try:
wajig whichpkg `which command'
Command | Description |
---|---|
addcdrom | Add a CD-ROM to the list of available sources of packages |
auto-clean | Remove superseded deb files from the download cache |
auto-download | Do an update followed by a download of all updated packages |
available | List versions of packages available for installation |
bug | Check reported bugs in package using the Debian Bug Tacker |
build | Retrieve/unpack sources and build .deb for the named packages |
build-depend | Retrieve packages required to build listed packages |
changelog | Retrieve latest changelog for the package |
clean | Remove all deb files from the download cache |
commands | List all the wajig commands and one line descriptions for each |
daily-upgrade | Perform an update then a dist-upgrade |
dependents | List of packages which depend on the specified package |
describe | One line description of packages (-v and -vv for more detail) |
describe-new | One line description of new packages |
detail | Provide a detailed description of package (describe -vv) |
detail-new | Provide a detailed description of new packages (describe -vv) |
dist-upgrade | Upgrade to new distribution (installed and new rqd packages) |
docs | Detailed help listing for wajig |
download | Download package files ready for an install |
edit | Edit any file that root can edit |
edit-sources | Edit the sources.list file which locates Debian archives |
file-download | Download packages listed in file ready for an install |
file-install | Install packages listed in a file |
find-file | Search for a file within installed packages |
find-pkg | Search for an unofficial Debian package at apt-get.org |
fix-configure | Perform dpkg --configure -a (to fix interrupted configure) |
fix-install | Perform apt-get -f install (to fix broken dependencies) |
fix-missing | Perform apt-get --fix-missing upgrade |
force | Install packages and ignore file overwrites and depends |
help | Print documentation (detail depends on --verbose) |
hold | Place listed packages on hold so they are not upgraded |
init | Initialize or reset the wajig archive files |
install | Install (or upgrade) one or more packages or .deb files |
install-r | Install package and associated recommended packages |
install-rs | Install package and recommended and suggested packages |
install-s | Install package and associated suggested packages |
install/dist | Install packages from specified distribution (i.e. install/stable) |
integrity | Check the integrity of installed packages (through checksums) |
large | List size of all large (>10MB) installed packages |
last-update | Identify when an update was last performed |
list | List the status and description of installed packages |
list-all | List a one line description of every known package |
list-alts | List the objects that can have alternatives configured |
list-cache | List the contents of the download cache |
list-commands or commands | List all the wajig commands and one line descriptions for each |
list-daemons | List the daemons that wajig can start/stop/restart |
list-files | List the files that are supplied by the named package |
list-installed | List packages (with optional argument sub-string) installed |
list-names | List all known packages or those containing supplied string |
list-orphans | List libraries not required by any installed package |
local-dist-upgrade | Dist-upgrade using packages already downloaded. |
local-upgrade | Upgrade using packages already downloaded, but not any others |
move | Move packages in the download cache to a local Debian mirror |
new | List packages that became available since last update |
news | Obtain the latest news about the package |
new-upgrades | List packages newly available for upgrading |
orphans | List libraries not required by any installed package |
package | Generate a .deb file for an installed package |
policy | Gets package versions for different release versions testing/stable |
purge | Remove one or more packages and configuration files |
purge-depend | Purge package and those it depend on and not required by others |
purge-orphans | Purge orphaned libraries (not required by installed packages) |
recommended | Install package and associated recommended packages |
reconfigure | Reconfigure the named installed packages or run gkdebconf |
reinstall | Reinstall each of the named packages |
reload | Reload daemon configs, e.g., gdm, apache (see list-daemons) |
remove | Remove one or more packages (see also purge) |
remove-depend | Remove package and those it depend on and not required by others |
remove-orphans | Remove orphaned libraries (not required by installed packages) |
repackage | Generate a .deb file for an installed package |
reset | Initialise or reset the wajig archive files |
restart | Stop then start a daemon, e.g., gdm, apache (see list-daemons) |
rpm2deb | Convert a RedHat .rpm file to a Debian .deb file |
rpminstall | Install a RedHat .rpm package |
rpmtodeb | Convert a RedHat .rpm file to a Debian .deb file |
search | Search for packages containing listed words |
show | Provide a detailed description of package [same as detail] |
showdistupgrade | Trace the steps that a dist-upgrade would perform |
showinstall | Trace the steps that an install would perform |
showremove | Trace the steps that a remove would perform |
showupgrade | Trace the steps that an upgrade would perform |
size | Print out the size (in K) of all, or listed, installed packages |
sizes | Print out the size (in K) of all, or listed, installed packages |
source | Retrieve and unpack sources for the named packages |
start | Start a daemon, e.g., gdm, apache (see list-daemons) |
status | Show the version and available version of packages |
status-match | Show the version and available version of matching packages |
status-search | Show the version and available version of matching packages |
stop | Stop a daemon, e.g., gdm, apache (see list-daemons) |
suggested | Install package and associated suggested packages |
toupgrade | List packages with newer versions available for upgrading |
unhold | Remove listed packages from hold so they are again upgraded |
unofficial | Search for an unofficial Debian package at apt-get.org |
update | Update the list of downloadable packages |
update-alts | Update default alternative for things like x-window-manager |
upgrade | Upgrade all of the installed packages or just those listed |
whatis | A synonym for describe |
whichpkg | Find the package that supplies the given command or file |
Command line options |
No comments:
Post a Comment