Translation(s): Español

(!) ?/Discussion

Wajig is a simplifed and more unified command line interface for package management. It adds a more intuitive quality to the user interface. Wajig commands are entered as the first argument. For example: "wajig install gnome". Written in Python, Wajig uses traditional Debian administration and user tools including apt-get, dpkg, apt-cache, wget, and many others. It is intended to unify and simplify common administrative tasks.

Wajig also provides a graphical user interface, known as gjig.

Common Wajig Commands

Use wajig instead of apt/apt-get/aptitude for a better user interface.

To do a dist-upgrade with wajig :

$ wajig distupgrade

If you want to install a package:

$ wajig install package-name

Think of wajig as the harmonizer of apt commands

While the Debian apt/apt-get/aptitude/dpkg system is arguably the best package system for Gnu/Linux based systems, the command line interface can be confusing and lacks an orthogonal, or intuitive, quality to the user interface. Thankfully, there is a package that strives to cure that problem and more. Wajig is well worth any Debian command line user's time to learn (and it's easy and won't take much time to learn). If you don't, you will waste even more time puzzling over man pages. You may also love the fact that it logs what you do (see /root/.wajig/$hostname/) so you have a trail of bread crumbs to back track if you install something that breaks things. Add to that Debian's "grep Commandline /var/log/apt/history.log" and you'll note it's doing interesting things with apt/apt-get/$whatever's command-line switches.

The following table assumes that you have your /etc/apt/sources.list and an /etc/apt/preference (or perhaps apt.conf) file that defines your system to the appropriate release (APT::Default-Release "stable";). 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 need to run apt-get again (though you certainly still can and it's certainly still useful in itself). Wajig can drive it for you; it and a lot of other things.

One slick trick: suppose you want to install all the packages on one system on a new system? Do:

$ wajig listinstalled > filename

where filename is now a file that lists all the installed packages. You perhaps want to use this line instead, so it excludes the lib files:

$ wajig listinstalled | grep -vP ^lib* > filename

You might want to edit this file to remove things you don't think you want anymore, etc.

Now move your file filename to the new machine and:

$ wajig install --fileinput filename

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 describe jpilot describe is one-line description plus header info formatting

apt-cache show jpilot dpkg -s jpilot (only if installed)

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 update && wajig dailyupgrade

apt-get update && apt-get upgrade

up2date -uv

wajig

wajig has three listings of documentation for its commands:

Below is a table with the current one-liner list. Consider doing a "wajig doc > wajig_docs", printing it out to read as you will want to become familiar with it.

If you are looking for a package name and can only think of a string, try wajig listall | grep string (there will soon be a fix so you can add an argument to listall [needs update? has this been done?]).

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 (by executing reportbug) in package using the Debian Bug Tracker

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, or upgrade held packages (installed and new required packages)

docs

Detailed help listing for wajig

download

Download package files ready for install

edit

Edit any file that root can edit

edit-sources

Edit the sources.list file (which defines system's appropriate 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 force fixing of 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 which 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 (requires deborphan installed)

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 its 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 depends 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

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

--help

Print usage message.

--quiet

Do system commands everything quietly.

--simulate

Trace but don't execute the sequence of underlying commands.

--teaching

Trace the sequence of commands performed.

--verbose=n

Increase (or set) the level of verbosity (to n).