Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
APPJAIL-FSTAB(1)	    General Commands Manual	      APPJAIL-FSTAB(1)

NAME
       appjail-fstab --	Static information about the file systems of a jail

SYNOPSIS
       appjail fstab [all [-e]|jail jail] compile
       appjail fstab [all [-e]|jail jail] get [-eHIpt] -n nro [keyword ...]
       appjail	fstab  [all  [-e]|jail jail] [list] [-eHIpt] [-n nro] [keyword
	       ...]
       appjail fstab [all [-e]|jail jail] mounted
       appjail fstab [all [-e]|jail jail] mount	[args ...]
       appjail fstab [all [-e]|jail jail] remove [all|jail jail]
       appjail fstab [all [-e]|jail jail] set -d device	-m mountpoint  [-E|-e]
	       [-p] [-D	dump] [-N name]	[-n [auto|nro]]	[-o options] [-P pass]
	       [-t type]
       appjail fstab [all [-e]|jail jail] umount args ...

DESCRIPTION
       The appjail fstab utility adds, removes,	mounts,	and lists fstab(5) en-
       tries.  This  is	 all  done  from  the command-line rather than from an
       fstab(5)	file,  such  an	 interface  is	advantageous  for  automation.
       appjail-makejail's MOUNT	instruction uses this command, for example.

       Other  advantages  are that appjail fstab can make changes to device or
       mountpoint or treat them	with special meaning;  the  pseudo-filesystems
       described in "PSEUDO-FILESYSTEMS" are an	example. An example of special
       treatment  is  that this	command	allows you to use spaces in device and
       mountpoint, which in most cases is not necessary.

       This command relies on appjail-start(1) and the template	that the  jail
       uses.   appjail-start(1)	 is in charge of calling appjail fstab compile
       to get an fstab(5) file and set mount.fstab to point to that file,  but
       this  is	 not  accomplished when	the template has mount.fstab set. This
       design allows the user to use whatever they prefer.

       Use all to run a	command	on all jails or	jail to	run  a	command	 on  a
       single jail.

       When  no	 command  is specified,	the default is list, but of course you
       must use	it explicitly if you want to use any of	its arguments.

       The options are as follows:

       compile
	    Create an internal fstab(5)	file with the  entries	that  are  en-
	    abled.

	    Depending on type, this subcommand performs	some other tasks while
	    compiling  fstab(5)	 entries, but when the file system has no spe-
	    cial meaning, it creates a directory when mountpoint does not  ex-
	    ist.

       get [-eHIpt] -n nro [keyword ...]
	    Get	 information about an entry , that is, the keyword that	repre-
	    sent the information to be	obtained.  Multiple  keywords  can  be
	    specified,	which  are  displayed as a table-like interface	in the
	    order in which they	are specified.	If no  keyword	is  specified,
	    the	 defaults  are	nro,  enabled, name, device, mountpoint, type,
	    options, dump and pass.

	    See	"KEYWORDS" for a list of available keywords.

	    -e	Not required when using	-p .  The \t character is used to  de-
		limit  columns,	 so as not to show strange values, this	option
		shows <TAB> instead of \t in the case that  a  value  contains
		the latter.

	    -H	Shows the name of the columns.

	    -I	Include	 empty	values.	 By default, a minus sign is displayed
		when a value is	empty.

	    -p	Columnate the list.

	    -t	Tabulate columns and values.

       list [-eHIpt] [-n nro] [keyword ...]
	    Similar to get but shows each keyword for each  entry  in  a  nice
	    table.

	    -e,	-H, -I,	-p, -t
		All  of	these options perform the opposite task	of the options
		described in get.

	    -n nro
		Only show information for nro.

       mounted
	    Shows the mounted file systems, except those that are ZFS.

	    It use a right arrow  to  indicate	that  device  was  mounted  on
	    mountpoint	and  a	left  arrow  to	 indicate  that	mountpoint was
	    mounted on device .

       mount [args ...]
	    Wrapper for	mount(8) with the -F parameter	set  to	 the  internal
	    fstab(5)  file.  mount(8) is run from the host but the working di-
	    rectory is set to the jail directory.

       remove [all|nro nro]
	    Remove a given entry.

	    all
		Remove all entries.

	    nro	nro
		Remove the entry specified by nro .

       set -d device -m	mountpoint  [-E|-e]  [-p]  [-D	dump]  [-N  name]  [-n
	    [auto|nro]]	[-o options] [-P pass] [-t type]
	    Configure a	new or existing	entry.

	    -d device
		Special	device or remote file system to	be mounted.

		If  you	 are configuring an entry that already has this	value,
		it becomes optional, so	you can	ignore it if you wish.

		Depending on type,  this  may  have  a	special	 meaning.  See
		"PSEUDO-FILESYSTEMS".

	    -m mountpoint
		Mount point for	the file system.

		If  you	 are configuring an entry that already has this	value,
		it becomes optional, so	you can	ignore it if you wish.

		Depending on type,  this  may  have  a	special	 meaning.  See
		"PSEUDO-FILESYSTEMS".

	    [-E|-e]
		Enable (-E) or disable (-e) this entry.

	    -p	Deprecated. Currently this is a	no-op parameter.

	    -D dump
		Used  for  these file systems by the dump(8) command to	deter-
		mine which file	systems	need to	be dumped. The default is 0.

	    -N name
		Entry description.

	    -n [auto|nro]
		Identifier. An identifier is composed of  a  positive  number.
		Use auto (default) to get the lowest identifier	value.

	    -o options
		Mount  options associated with the file	system.	The default is
		rw.

	    -P pass
		Used by	the fsck(8) and	quotacheck(8)  programs	 to  determine
		the  order  in	which file system and quota checks are done at
		reboot time. The default is 0.

	    -t type
		Type of	file system. The default is nullfs.

		See "PSEUDO-FILESYSTEMS".

       umount args ...
	    Wrapper for	umount(8) with the -F parameter	set  to	 the  internal
	    fstab(5) file.  umount(8) is run from the host but the working di-
	    rectory is set to the jail directory.

KEYWORDS
       enabled
	   Shows 1 if the entry	is enabled, 0 if it is not.

       nro
	   Identifier.

       name
	   Entry description.

       device
	   Special device or remote file system	to be mounted.

       mountpoint
	   Mount point for the file system.

       type
	   Type	of file	system.

       options
	   Mount options associated with the file system.

       dump
	   Used	 for  these  file  systems by the dump(8) command to determine
	   which file systems need to be dumped.

       pass
	   Used	by the fsck(8) and quotacheck(8) programs to determine the or-
	   der in which	file system and	quota checks are done at reboot	time.

PSEUDO-FILESYSTEMS
       A pseudo-filesystem, at least in	AppJail, is a file  system  that  does
       not  exist  on  your  system,  but performs a specific task. Except for
       nullfs(5), the following	are considered pseudo-filesystems.

       nullfs
	    As mentioned, nullfs(5) is not a pseudo-filesystem since it	exists
	    on your system and can be used via mount_nullfs(5),	but it	treats
	    device and mountpoint with special meaning.

	    If	device	is  a file, an empty file is created and mountpoint is
	    used as the	pathname. The same thing happens when device is	a  di-
	    rectory,  but  a  directory	is created instead of a	file. An error
	    occurs when	mountpoint exists but is not the  same	file  type  as
	    device.

	    An error occurs when device	does not exist.

       <pseudofs>
	    <pseudofs> is a pseudo-filesystem that moves files from mountpoint
	    to	device	before	mounting device	on mountpoint using nullfs(5).
	    The	goal is	to create the illusion that  two  directories  overlap
	    like  unionfs(5)  does,  but we are	actually manipulating a	single
	    file or directory.

	    The	reason to use this pseudo-filesystem is	when we	need to	 mount
	    a file or directory	from the host to the jail, but the file	or di-
	    rectory  inside  the jail has content, so if we simply use nullfs,
	    the	lower layer will "disappear" when the upper layer is mounted.

	    Before this	pseudo-filesystem does its  job,  it  also  does  what
	    nullfs describes.

       <volumefs>
	    <volumefs>	is  a  pseudo-filesystem  that does what <pseudofs> or
	    nullfs do, plus it can change the owner, group and file mode of  a
	    file   or	directory.   The   user	  creates   a	volume	 using
	    appjail-volume(1), sets the	file system  type  to  <volumefs>  and
	    sets the mountpoint	to the volume name; appjail fstab will use the
	    volume name	to get the necessary properties	such as	uid, gid, file
	    mode and mountpoint.

	    The	 purpose of this pseudo-filesystem is to take away the respon-
	    sibility of	teaching the user what properties a mountpoint	should
	    have, since	applications inside a jail may have different require-
	    ments,  it is not feasible for the user to do this job. The	devel-
	    oper of a Makejail,	commonly through  an  image,  specifies	 which
	    volumes  the  Makejail  should use and the user only needs to know
	    which volume names they should use.

       nullfs:reverse, <pseudofs>:reverse
	    Using the :reverse prefix for nullfs and <pseudofs>	file  systems,
	    device is mountpoint and mountpoint	is device.

EXIT STATUS
       The  appjail  fstab  utility exits 0 on success,	and >0 if an error oc-
       curs.

SEE ALSO
       appjail-volume(1) sysexits(3) fstab(5)  nullfs(5)  unionfs(5)  mount(8)
       mount_nullfs(8) mount_unionfs(8)

AUTHORS
       Jess Daniel Colmenares Oviedo <DtxdF@disroot.org>

FreeBSD	Ports 14.quarterly	April 12, 2024		      APPJAIL-FSTAB(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=appjail-fstab&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help