---
name: "humfsify"
section: "1"
platform: "linux"
package: "uml-utilities"
version: "20070815.4-2.1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/humfsify"
---

# humfsify(1)

convert a directory to the format needed by the UML humfs file system

## NAME

humfsify — convert a directory to the format needed by the UML  humfs file system

## SYNOPSIS

**humfsify** \[user\]  \[group\]  \[size\]

## DESCRIPTION

This manual page documents briefly the  **humfsify** command.

This manual page was written for the **Debian GNU/Linux** distribution  because the original program does not have a manual page.  Instead, it has documentation in HTML format; see below.

**humfsify** is a Perl script necessary to  convert a directory to a format expected by the UML humfs file system.

## HISTORY

UMLFS was born with the idea to substitute the Hostfs  implementation with a proper one for the UML purpose: when you  manage files with Hostfs within UML you need to work with  two different permission layers (the Host one and the UML one),  which have different ideas of ownerships.

This becomes evident when you need to  create a file as a non-root user on UML: you first need to interact  with the UML file system implementation, and then with the host side.

The result of a file creation on a mounted hostfs file system  is not what you expected: you can see that the file permissions refer to  the Host side user rather than the UML creator.

The Host side user is to be intended as the UML instance  launcher, meanwhile the UML side user is the one you used to log in  the UML instance.

You can encounter a more-critical problem when creating a  device node, operation that usually requires root privileges: you  used a common user to launch the UML and, since the operation is  done on the Host, it fails, even if you logged in as root.

Thus you need a set of tools which requires to bypass the  Hostfs permission checks on the Host side: this is done by  separating the file permissions and the ownership from the host's  files. This is the concept behind the HumFs and its humfsify  implementation.

## ARGUMENTS

- **user**

  This is the user that needs to 'convert' a directory to the UML  file system to use UML.  This is the host user who  will be using this filesystem from within UML.  It  may be specified as either a user name or a numeric  user id.

- **group**

  This is the group which your UML user belongs to.  This may be either a group name or a numeric group id

- **size**

  This is the size of the file system as seen within the  UML instance. It must be expressed in Gigabytes ("G"),  Megabytes ("M"), or KiloBytes ("K").

## EXAMPLES

Create a directory on the host and mount it with humfsify

host% **mkdir your-humfs-dir**

host% **cd humfs-dir**

Within this directory create a new one where you would like to have  a UML-like hierarchy, i.e. you can loop-mount an UML rootfs

host% **mkdir dir-to-be-humsified**

host# **mount -o loop rootfs /mnt**

host% **cp -a /mnt dir-to-be-humsified/data**

host# **humfsify user group 512M**

Then verify it on UML and mount the humfsified  directory:

UML# **mount none /your-uml-host -t humfs -o**

**where '/your-uml-mount-point' is the mount point on UML for**  **the humfsified file system, and .../dir-to-be-humfsified is**   **the humfsified directory in the example above. The '-t' mount option**   **specifies that the file system is to be mounted as 'humfs'.**

## SEE ALSO

**The** *HostFs (link to URL http://user-mode-linux.sourceforge.net/new/hostfs.html)*  usage explanation within the  User-Mode-Linux Web Site

## AUTHOR

humfsify was written by Jeff Dike.

This manual page was written by Stefano Melchior stefano.melchior@openlabs.it for  the **Debian GNU/Linux** system, based on material in the Official User Mode  Linux Web Site.
