wiki:Tools

Tools

Busybox

There are certain differences between the normal Linux commands and those provided by BusyBox?. This also needs to be taken in account by mondo.

  • Busybox ps doesn't take options (solved in rev [792])
  • Output format for Busybox ps and normal ps auxww are different (especially process ID and user are inverted):
    #/usr/lib/mindi/rootfs/bin/busybox ps
      PID  Uid     VmSize Stat Command
    [...]
     2105 root            SW< [ac97/0]
     2113 haldaemo   7336 S   hald
     2114 root       1200 S   hald-runner
     2234 haldaemo    820 S   /usr/lib/hald-addon-keyboard
     2284 root        444 S   /sbin/ifplugd -b -i eth0
     2299 haldaemo    804 S   /usr/lib/hald-addon-acpi
     2327 root        908 S   /usr/lib/hald-addon-storage
     2330 root        840 S   /usr/lib/hald-addon-storage
     2401 root       5776 S   python ./hpssd.py
     2575 rpc         412 S   portmap
     2617 root      33432 S   pcscd
    # ps auxww 
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    [...]
    root      2105  0.0  0.0      0     0 ?        S<   Oct29   0:00 [ac97/0]
    88        2113  0.0  0.4   9540  7336 ?        Ss   Oct29   0:02 hald
    root      2114  0.0  0.0   3200  1200 ?        S    Oct29   0:00 hald-runner
    88        2234  0.0  0.0   2556   820 ?        S    Oct29   0:00 /usr/lib/hald-addon-keyboard
    root      2284  0.0  0.0   1596   444 ?        Ss   Oct29   0:00 /sbin/ifplugd -b -i eth0
    88        2299  0.0  0.0   2560   804 ?        S    Oct29   0:00 /usr/lib/hald-addon-acpi
    root      2327  0.0  0.0   2136   908 ?        S    Oct29   0:01 /usr/lib/hald-addon-storage
    root      2330  0.0  0.0   2140   840 ?        S    Oct29   0:09 /usr/lib/hald-addon-storage
    root      2401  0.0  0.3  10896  5776 ?        S    Oct29   0:01 python ./hpssd.py
    rpc       2575  0.0  0.0   1864   412 ?        Ss   Oct29   0:00 portmap
    root      2617  0.0  2.1  34620 33432 ?        Ss   Oct29   0:00 pcscd
    
  • Busybox grep doesn't support the -w option (fixed in rev [909])
    ./mondo/src/mondorestore/mondo-rstr-tools.c:
            "mount | grep -w %s | tail -n1 | cut -d' ' -f3",
    ./mondo/src/common/libmondo-devices.c:  sprintf(tmp, "%s | grep -w \"%s\" > /dev/null 2> /dev/null",
    ./mondo/src/common/libmondo-tools.c:            sprintf(command, "mount | grep -w %s | tail -n1 | cut -d' ' -f3",
    ./mondo/src/common/libmondo-tools.c:            ("mount | grep -w vfat | grep -vE \"/dev/fd|nexdisk\"", 0)
    ./mondo/src/common/libmondo-tools.c:            ("mount | grep -w dos | grep -vE \"/dev/fd|nexdisk\"", 0)) {
    ./mondo/src/common/libmondo-tools.c:               "grep -v \":\" /etc/fstab | grep -vx \"#.*\" | grep -w \"/boot\" | tr -s ' ' '\t' | cut -f1 | head -n1");
    ./mondo/src/common/libmondo-tools.c:                    sprintf(command, "mount| grep -w \"%s\"", tmp);
    ./mondo/src/common/libmondo-tools.c:               ("ps ax | grep -w magicdev |grep -v grep | tr -s '\t' ' '| cut -d' ' -f6-99"));
    
  • Busybox grep doesn't support the -x option (fixed in rev [910])

QEmu

QEmu is used in the mondorescue project to generate all the packages for the numerous distributions supported (more than 20).

Docbook

DocBook? is used in the mondorescue project to generate all the documentation in various formats.

Subversion

Subversion is used in the mondorescue project as our Configuration Management System.

Trac

Trac is used in the mondorescue project to keep track of bugs, to provide a wiki, and an interface to subversion.

Valgrind

Valgrind is partly used to detect memory management errors and generate call graphs in Mondorescue's C code.

Coverity

Archiver

Mondorescue uses afio for creating archive packages. Possible other tools of interest could be FSarchiver and dar.

Last modified 7 years ago Last modified on Feb 1, 2011, 12:29:14 PM