Linux Commands Examples

A great documentation place for Linux commands


packer, cracklib-unpacker - cracklib dictionary utilities

see also : cracklib-unpacker - cracklib-check - update-cracklib - create-cracklib-dict


cracklib-format file ...

cracklib-packer cracklib_dictpath

cracklib-unpacker cracklib_dictpath

add an example, a script, a trick and tips

: email address (won't be displayed)
: name

Step 2

Thanks for this example ! - It will be moderated and published shortly.

Feel free to post other examples
Oops ! There is a tiny cockup. A damn 404 cockup. Please contact the loosy team who maintains and develops this wonderful site by clicking in the mighty feedback button on the side of the page. Say what happened. Thanks!


use the cracklib-format and cracklib-packer commands directly.
-o, --output <file> Alternative output file for cracklib-packer
exec cracklib-format "$@" | cracklib-packer ${output}


cracklib-format takes a list of text files each containing a list of words, one per line, It lowercases all words, removes control characters, and sorts the lists. It outputs the cleaned up list to standard output. The text files may be optionally compressed with gzip(1).

If you supply massive amounts of text to cracklib-format you must have enough free space available for use by the sort(1) command. If you do not have 20Mb free in /var/tmp (or whatever temporary area your sort(1) command uses), have a look at the /usr/sbin/cracklib-format program which is a sh(1) program. You can usually tweak the sort(1) command to use any large area of disk you desire, by use of the -T option. cracklib-format has a hook for this.

cracklib-packer reads from standard input a list of sorted and cleaned words and creates a database in the directory and prefix given by the command line argument cracklib_dictpath. Three files are created with the suffixes of .hwm, .pwd, and .pwi. These three files are in the format that the FascistCheck(3) subroutine, cracklib-unpacker(8), and cracklib-check(8), utilities understand. The number of words read and written are printed on stdout(3).

cracklib-unpacker reads from the database in the directory and prefix given by the command line argument cracklib_dictpath and outputs on standard output the list of words that make up the database.

The database is in a binary format generated by the utilities cracklib-format(8) and cracklib-packer(8). On a Debian system the database is located in the directory /var/cache/cracklib/cracklib_dict and is generated daily with the program /etc/cron.daily/cracklib. The location is also defined in the header file crack.h using the constant CRACKLIB_DICTPATH though none of the subroutines in the cracklib libraries have this location hardcoded into their implementations.



cracklib dictionary database files used by utilities.


cracklib daily cron program to rebuild the cracklib dictionary database.


cracklib configuration file used by the cracklib daily cron program to rebuild the cracklib dictionary database.


cracklib header file defining the subroutine FascistCheck(3) and the constant CRACKLIB_DICTPATH used to compile in the location of the cracklib dictionary database for these utilities.


cracklib shell script to create initial list of words for dictionary database.

see also

FascistCheck, cracklib-check , update-cracklib , create-cracklib-dict


cracklib2 is written by Alec Muffett <alecm[:at:][:dot:]uk>. Manual added by Jean Pierre LeJacq <jplejacq[:at:]quoininc[:dot:]com>.

How can this site be more helpful to YOU ?

give  feedback