FreeBSD Manual Pages
APPJAIL-QUICK(1) General Commands Manual APPJAIL-QUICK(1) NAME appjail-quick -- Create a pre-configured jail SYNOPSIS appjail quick name [options ...] DESCRIPTION The appjail quick utility creates and configures a jail. Basically, it configure the template that the jail uses with options that you specify after its name . Each option has its own responsibility, but in a nut- shell, it writes the template with other AppJail subcommands. Due to this flexibility, appjail quick provides a simple and fast approach to creating and recreating jails. The appjail-makejail(1)'s -o parameter and the appjail-makejail(5)'s OPTION instruction are essentially a wrapper for this command. Each parameter has a data type, can conflict with other options, can be specified multiple times, and can even have dependencies, that is, it needs another parameter to work correctly or even to take effect. DATA TYPES String Any character that is valid according to the option itself is valid. Integer Positive number, or in other words, [0-9]+. Boolean An option with no arguments is considered to be of type boolean. Options A parameter that contains subparameters. OPTIONS alias | alias="interface" Interface assigned to the jail. interface is used as the default interface for other options specified in Requires; If not defined, each option must define the interface to use, but is not a require- ment. It is recommended to configure an interface using this op- tion or at least one for each option listed in Requires, as the jail(8) framework may not perform any action. Type: String Multiple: No Conflicts (any) : - bridge - jng - vnet Requires (any) : - ip4 - ip4_inherit - ip4_disable - ip6 - ip6_inherit - ip6_disable - virtualnet Examples: - alias - alias="appjail0" boot Set the boot flag to the jail, so that appjail-startup(1) can start it, typically at startup. See also appjail-jail(1). Type: Boolean Multiple: No bridge="[type:]interface ... [bridge:bridge]" Create a bridge if it does not exist and attach one or more interfaces. See also appjail-bridge(1). Type: Options Parameters: - type: Interface type. Can be either epair or iface . If epair is used, two if_epair(4) interfaces, sa_interface that should be used by the host, and sb_interface that should be used by the jail, are created. If iface is used, an existing interface will be added as a member of bridge . Note that the MTU is obtained from the first interface (regardless of type) you specify, but you should first specify the iface type first, so that the bridge and other interfaces use the same MTU, a requirement of the if_bridge(4) driver. If an epair type is specified first, then the MTU specified by the DEFAULT_MTU parameter is used. epair is the default. - bridge: Use a different bridge than the one specified by the SHARED_BRIDGE parameter. Conflicts (any) : - alias Multiple: Yes Examples: - bridge="iface:em0 nginx" - bridge="nginx" - bridge="iface:em0 epair:nginx bridge:public" clone+jail="jail@snapshot" Create a new jail by cloning a ZFS snapshot of jail . Type: Options Parameters: - jail: Jail to create a ZFS snapshot for cloning. - snapshot: ZFS snapshot name. Conflicts (any) : - clone+release - copy - empty - import+jail - import+root - tiny+import - zfs+import+jail - zfs+import+root Multiple: No Examples: - clone+jail="jdb@snap1" clone+release="snapshot" Create a new jail by cloning a ZFS snapshot of a release. With this option only the linux+debootstrap and thick jail types can be used. Type: Options Parameters: - snapshot: ZFS snapshot name. Conflicts (any) : - clone+jail - copy - empty - import+jail - import+root - tiny+import - zfs+import+jail - zfs+import+root Multiple: No Examples: - clone+release="140release" container="[boot] [expose] [ext_if:interface] [logopts[:options]] [name:name] [on_if:interface]" Changes the behavior of the from option. Type: Options Parameters: - boot: Start the process in background using appjail-start(1). - expose: Expose the ports specified by the OCI image. - name: Container name. - ext_if, logopts, on_if: See the expose option. Multiple: No Examples: - container="boot expose name:Rick-Deckard" copy="jail" Create a new jail by copying another existing jail . Type: String Conflicts (any) : - clone+jail - clone+release - empty - import+jail - import+root - tiny+import - zfs-import+jail - zfs+import+root Multiple: No Examples: - copy="mysql" copydir="directory" Root directory used by the file and files options. If this option is not set, the directory specified by the DEFAULT_COPYDIR parameter is used. Type: String Multiple: No Examples: - copydir="/tmp/copydir-files" cpuset="cpu-list" Configure processor sets. See also appjail-cpuset(1). Type: String Multiple: No Examples: - cpuset="0-2" - cpuset="1,2,6-9" create_args="parameter=value" Set default parameters for the create stage. See also appjail-enable(1). Type: String Multiple: Yes Examples: - create_args="nginx_conf=/app/nginx.conf" defaultrouter="router" Create a static default route to this jail. Type: String Multiple: No Examples: - defaultrouter="192.168.0.1" defaultrouter6="router" The IPv6 equivalent of defaultrouter. device="rulespec" Add a DEVFS rule. See also appjail-devfs(1). Type: String Multiple: Yes Examples: - device="path bpf unhide" - device="path 'mixer*' unhide" devfs_ruleset=ruleset devfs ruleset number that is enforced for mounting devfs(5) in this jail. We recommend using the device option to dynamically assign a devfs ruleset number. Type: Number Multiple: No Requires (any) : - mount_devfs - linuxfs Examples: - devfs_ruleset=10 dhcp="interface" Configure interface using DHCP. You must unhide the bpf device for this jail for dhclient(8) to work without problems. Type: String Multiple: Yes Requires (any) : - bridge - jng - vnet Examples: - dhcp="sb_nginx" - dhcp="ng0_nginx" empty Create an empty jail. Type: Boolean Multiple: No Conflicts (any) : - clone+jail - clone+release - copy - import+jail - import+root - tiny+import - zfs+import+jail - zfs+import+root expose="hport[:jport] [descr:description] [ext_if:interface] [logopts[:options]] [network:network] [on_if:interface] [proto:protocol]" Perform port forwarding. See also appjail-expose(1). Type: Options Parameters: - hport: Host or external port. hport can be specified using a symbolic name as described in services(5). - jport: Port currently listening to the application within the jail. If not set, hport is used. jport can be specified using a symbolic name as described in services(5). - descr: Service description. - ext_if: Interface to obtain the external IPv4 address. If not set, the interface specified by the EXT_IF parameter is used. - logopts: Firewall-specific logging options. Logging can be enabled without providing any arguments. - network: Network to obtain the jail's IPv4 address. If not set, the default network defined by the default subparameter of the virtualnet option is used. If you don't specify a network using this subparameter or even none is marked as default, an error will be raised. - on_if: Apply rules to packets coming in on, or going out through, this interface. If not set, the interface specified by the ON_IF parameter is used. - proto: Protocol, that is, tcp or udp. The default is tcp. Multiple: Yes Requires (any) : - virtualnet Examples: - expose="80" - expose="8080:80 \"descr:NGINX service\" logopts" file="file" File to copy to jail. copydir affects this parameter: if copydir is /tmp/copydir-files and you specify file to be /etc/rc.conf , the real path is /tmp/copydir-files/etc/rc.conf . This option copies file as is, that is, with metadata such as permissions, owner and group, and will even create the necessary directories before the file, e.g. if file is set to /etc/rc.conf , /etc is created before rc.conf is copied. Type: String Multiple: Yes Examples: - file="/etc/rc.conf" files="file" Reads file assuming each line is a file to be copied. See file for more details. Type: String Multiple: Yes Examples: - files="/tmp/files.lst" from="image" Creates a jail using an OCI image. It also creates a container linked to the jail, so that if an attempt is made to destroy the jail using appjail-jail(1) destroy the container is destroyed. This option also implicitly sets the empty option. By default, the container name is randomly generated unless you specify one using the name suboption of the container option. The volumes and labels specified by the OCI image are also created as AppJail volumes and labels. Since the volume name must be unique in AppJail, a bit of magic is performed: _ character will be __, / character will be _, the first character is removed, any character other than [a-zA-Z0-9_-] will be -, and the resulting string will be concatenated with the string appjail-<short-hash> where <short-hash> will be a SHA256-HASH of 10 digits created using the mount point of the volume before processing, so for example, if the volume specified by the OCI image is /srv the resulting volume name will be appjail-48d1ecb1ac-srv. The ports defined by this image that are to be exposed are also set, but by default they are not exposed unless the expose suboption of the container option is specified. The jail type will always be thick regardless of the operating system, the release is the one specified by the release option or the default when none is specified, the architecture and the operating system version are also set. For the architecture a "translation" is performed: 386 will be i386, ppc64le|ppc64 will be powerpc and riscv64 will be riscv. If the operating system is freebsd, AppJail will try to get the FreeBSD version using freebsd-version(1) without the patch level, and if this fails AppJail will try to get the version using uname(1) -r without the patch level and if this fails it will use the operating system name as the operating system version. It uses uname(1) -r to get the OS version when it is not freebsd and if it fails, the OS name is used as the alternate version. Type: String Multiple: No Examples: - from="docker.io/dtxdf007/freebsd" fstab="device mountpoint [type] [options] [dump] [pass]" Creates an appjail-fstab(1)'s entry. See also appjail-fstab(1) and fstab(5). Type: Options Parameters: - device: Describes the special device or remote file system to be mounted. - mountpoint: Describes the mount point for the file system. - type: Describes the type of the file system. - options: Describes the mount point options associated with the file system. - dump: This field is used for these file systems by the dump(8) command to determine which file systems need to be dumped. - pass: This field is 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. Multiple: Yes Examples: - fstab="/tmp /tmp" - fstab="/usr/local/www /usr/local/www" - fstab="/dev/da0s1 /mnt msdosfs" healthcheck="[health_cmd:command] [interval:seconds] [kill_after:seconds] [name:name] [recover_cmd:command] [recover_kill_after:seconds] [recover_timeout:seconds] [recover_timeout_signal:signal] [recover_total:number] [retries:number] [start_period:seconds] [timeout:seconds] [timeout_signal:signal]" Creates a healthchecker. See also appjail-healthcheck(1) and appjail.conf(5). Type: Options Parameters: - health_cmd: Command to evaluate the jail's health. Prefix command with host: to run the command from the host or with jail: to run the command from the jail. - interval: Interval to check the jail's health. - kill_after: Send a SIGKILL signal to the process created by health_cmd command after seconds has been reached only if it is still running. - name: Healthchecker name. - recover_cmd: Command to heal the jail if it is considered to be failing. Prefix command with host: to run the command from the host or with jail: to run the command from the jail. - recover_kill_after: Send a SIGKILL signal to the process created by recover_cmd command after seconds has been reached only if it is still running. - recover_timeout: Send the signal specified by recover_timeout_signal to the process created by recover_cmd command after seconds has been reached only if it is still running. - recover_timeout_signal: Signal to send on timeout. - recover_total: The maximum number of attempts reached before the jail is considered unhealthy. - retries: Number of attempts to heal the jail when it is failing and to start the recover_cmd command. - start_period: Delay before running the healthchecker. - timeout: Send the signal specified by timeout_signal to the process created by health_cmd command after seconds has been reached only if it is still running. - timeout_signal: Signal to send on timeout. Multiple: Yes Examples: - healthcheck - healthcheck='"health_cmd:jail:service nginx status" "recover_cmd:jail:service nginx restart"' ifconfig="interface:options" ifconfig(8) options to pass to the specified interface. Type: Options Parameters: - interface: Target interface. - options: ifconfig(8) options. Multiple: Yes Requires (any) : - bridge - jng - vnet Examples: - ifconfig="sb_nginx:192.168.0.114/24" ifconfig6 The IPv6 equivalent of ifconfig. import+jail="input:file [portable] [compress:algo]" Create a new jail by importing a tarball file into the jail directory. Type: Options Parameters: - input: Tarball file. - portable: Ignored, but used by import+root. - compress: Ignored, but used by zfs+import+jail and zfs+import+root. Multiple: No Examples: - import+jail="input:/tmp/web3.txz" import+root="input:file [portable] [compress:algo]" Create a new jail by importing a tarball file into the root directory of the jail. Type: Options Parameters: - input: Tarball file. - portable: Include only portable files. These are the jail directory, the configuration file describing the jail, the initscript and volumes. This is used by appjail-image(1). - compress: Ignored, but used by zfs+import+root and zfs+import+root. Multiple: No Examples: - import+root="input:/tmp/web3.tgz" initscript="file" Custom InitScript. Note that this option is meaningless in a Makejail, as the InitScript is overwritten when generating one. See also appjail-initscript(5). Type: String Multiple: No Examples: - initscript="/tmp/initscript" ip4="ip4-address" | ip4="interface|ip4-address" IPv4 address assigned to the jail. The IPv4 address is assigned to the interface or to the interface specified by the alias option. See also the alias option for more details. See also jail(8). Type: String Multiple: Yes Conflicts (any) : - ip4_inherit - ip4_disable Requires (any) : - alias ip4_disable Stop the jail from using IPv4 entirely. Type: Boolean Multiple: No Conflicts (any) : - ip4 - ip4_inherit - virtualnet Requires (any) : - alias ip4_inherit Allow unrestricted access to all addresses on the system. Type: Boolean Multiple: No Conflicts (any) : - ip4 - ip4_disable - virtualnet Requires (any) : - alias ip6, ip6_disable, ip6_inherit Counterpart of ip4, ip4_disable and ip4_inherit. jng="name [iface:]interface ... [bridge:bridge]" Use Netgraph with the jng script. This script will create Netgraph nodes such as ng_bridge(4) and ng_eiface(4). The bridge will be named interfacebridge and the nodes ng0_name, ng1_name ... ngN_name. You need to install the jng script before using this option. Run `install -m 555 /usr/share/examples/jails/jng /usr/local/bin/jng' to install it. Type: Options Parameters: - name: Name of links. - iface: An existing interface to use. - bridge: A secondary bridge is created when the bridge name is different from bridge. Multiple: Yes Conflicts (any) : - alias Examples: - jng="myjail jext" label="key[:value]" Add a new label to the jail. See also appjail-label(1). limits="rule [descr:description]" Add a resource limit rule to the jail. See also appjail-limits(1). Type: Options Parameters: - rule: rctl(8)'s rule. - descr: Rule description. Multiple: Yes Examples: - limits="vmemoryuse:deny=1g" linuxfs Mount filesystems required by many Linux distributions to work correctly. You probably want to set the devfs_ruleset option (unless you specify the devices by option with device) to another value because LinuxJail will not work with the default value specified by the DEFAULT_DEVFS_RULESET parameter. The following mount points are used: /dev, /dev/shm, /dev/fd, /proc and /sys. Type: Boolean Multiple: No Conflicts (any) : - mount_devfs login Log in to the jail after starting it with the start option. See also appjail-login(1). Type: Boolean Multiple: No Requires (any) : - start login_user="username" Log in as username with the login option. If not specified, the user specified by the DEFAULT_LOGIN_USER parameter is used. Type: Boolean Multiple: No macaddr="interface:addr" | macaddr="interface:random" | macaddr="interface:static[:prefix]" Changes the MAC address of a given interface. Type: Options Parameters: - interface: Target interface to change MAC address. - addr: Mac Address. Two special values are accepted, that is, random to use a random MAC address, and static, which optionally accepts a MAC address prefix of 8 bytes in length. The special value static generates a MAC address using the jail name and if prefix is defined, it will be used as a prefix of the MAC address. Multiple: Yes Requires (any) : - bridge - jng - vnet Examples: - macaddr="sb_nginx:aa-bb-cc-dd-ee-ff" - macaddr="sb_apache:aa:bb:cc:aa:10:fe" - macaddr="sb_jtest:random" - macaddr="em1:static" - macaddr="em0:static:ab:cd:ef" mount_devfs Mount a devfs(5) filesystem on the chrooted /dev directory, and apply the ruleset specified by devfs_ruleset option to restrict the devices visible inside the jail. If you don't specify devfs_ruleset, but do specify the device option, appjail quick will assign a ruleset number automatically. Type: Boolean Multiple: No Conflicts (any) : - linuxfs nat | nat="[ext_if:interface] [logopts[:options]] [network:network] [on_if:interface]" Mask the jail's IPv4 address using the ext_if's interface on the on_if's interface. Type: Options Parameters: - ext_if: Interface to obtain the external IPv4 address. If not set, the interface specified by the EXT_IF parameter is used. - logopts: Firewall-specific logging options. Logging can be enabled without providing any arguments. - network: Network to obtain the jail's IPv4 address. If not set, the default network defined by the default subparameter of the virtualnet option is used. If you don't specify a network using this subparameter or even none is marked as default, an error will be raised. - on_if: Apply rules to packets coming in on, or going out through, this interface. If not set, the interface specified by the ON_IF parameter is used. Multiple: Yes Requires (any) : - virtualnet network="name address [description]" Create a new network if it does not exist. Type: Options Parameters: - name: Network name. - address: Network address. - description Description of the network. Multiple: Yes Examples: - network="dns 172.0.0.0/10 \"DNS network\"" noboot Don't use the boot option. Type: Boolean Multiple: No nomount_devfs Don't use the mount_devfs option. Type: Boolean Multiple: No nonat | nonat="[ext_if:interface] [network:network] [on_if:interface]" Don't perform NAT on the jail with the given parameters. Type: Options Multiple: Yes Parameters: - ext_if: Interface to obtain the external IPv4 address. If not set, the interface specified by the EXT_IF parameter is used. - network: Network to obtain the jail's IPv4 address. If not set, the default network defined by the default subparameter of the virtualnet option is used. If you don't specify a network using this subparameter or even none is marked as default, an error will be raised. - on_if: Apply rules to packets coming in on, or going out through, this interface. If not set, the interface specified by the ON_IF parameter is used. nologin Don't use the login option. Type: Boolean Multiple: No nooverwrite Don't use the overwrite option. Type: Boolean Multiple: No noresolv_conf Don't use the resolv_conf option. Type: Boolean Multiple: No norestart Don't use the restart option. Type: Boolean Multiple: No norun Don't use the run option. Type: Boolean Multiple: No nostart Don't use the start option. Type: Boolean Multiple: No notzdata Don't use the tzdata option. Type: Boolean Multiple: No osarch="architecture" Specify the architecture to use in the jail. If this option is not set, the architecture specified by the FREEBSD_ARCH parameter is used. Type: String Multiple: No osversion="version" Specify the version of the operating system to use in the jail. If this option is not set, the version specified by the FREEBSD_VERSION parameter is used. Type: String Multiple: No overwrite | overwrite="force|recursive|force+recursive" Stop and destroy the jail if it exists. With force , appjail quick will forcibly unmount datasets and with recursive , appjail quick will recursively destroy all dependents, including cloned file systems outside the target hierarchy. To use both options, use force+recursive . force, recursive and force+recursive do nothing when ZFS is not enabled. Type: String Multiple: No pkg="package" Install a package. Type: String Multiple: Yes priority="priority" Priority number. If this option is not set, the priority specified by the DEFAULT_PRIORITY parameter is used. See also appjail-startup(1). Type: String Multiple: No release="release" Specify the release to use in the jail. If this option is not set, the release specified by the DEFAULT_RELEASE parameter is used. See also appjail-fetch(1). Type: String Multiple: No resolv_conf | resolv_conf="file" Copy a resolv.conf(5) file to the jail. If this option is used without arguments, the resolv.conf(5) file specified by the DEFAULT_RESOLV_CONF parameter is used. Type: String Multiple: No restart Restart the jail after starting it with the start option. Type: Boolean Multiple: No run Run the cmd stage after starting the jail with the start option. Type: Boolean Multiple: No run_args="parameter=value" Set default parameters for the cmd stage. See also appjail-enable(1). Type: String Multiple: Yes run_env="name=value" Set default environment variables for the cmd stage. See also appjail-enable(1). Type: String Multiple: Yes slaac="interface" Configure interface using SLAAC. Type: String Multiple: Yes Requires (any) : - bridge - jng - vnet Examples: - slaac="sb_mariadb" - slaac="ng1_httpd" start Start the jail after its creation. Type: Boolean Multiple: No start_args="parameter=value" Set default parameters for the start stage. See also appjail-enable(1). Type: String Multiple: Yes start_env="name=value" Set default environment variables for the start stage. See also appjail-enable(1). Type: String Multiple: Yes stop_args="parameter=value" Set default parameters for the stop stage. See also appjail-enable(1). Type: String Multiple: Yes stop_env="name=value" Set default environment variables for the stop stage. See also appjail-enable(1). Type: String Multiple: Yes template="template" Template file. If not specified, the template file specified by the DEFAULT_TEMPLATE parameter is used. Type: String Multiple: No tiny+import="file" Create a new jail by importing a TinyJail. Type: String Multiple: No Conflicts (any) : - clone+jail - clone+release - copy - empty - import+jail - import+root - zfs+import+jail - zfs+import+root tmpdir Create a directory and an appjail-fstab(5)'s entry to mount /tmp within the jail. The directory is created with permissions `1777'. Type: Boolean Multiple: No Conflicts (any) : - x11 type Type on which the jail is based. The default is thin. See also appjail-jail(1). Type: String Multiple: No Examples: - type="thin" - type="thick" - type="linux+debootstrap" tzdata | tzdata="zoneinfo-name" Copy a tzfile(5) file to the jail. If this option is used without arguments, /etc/localtime is used. If set, a symlink is created inside the jail as /etc/localtime . If this option is not set, the tzfile(5) specified by the DEFAULT_TIMEZONE parameter is used. Type: String Multiple: No Examples: - tzdata="America/Caracas" virtualnet="[network]:interface [default] [address:ipv4-address] [interface_desc:description]" Create a bridge called network and attach interface to it. Additionally, assign an IPv4 address from the network address pool. Type: Options Parameters: - network: Network to use. If specified, network must exist previously created using the network option or using the appjail-network(1) command. If not set, appjail quick will create a network using parameters such as AUTO_NETWORK_ADDR, AUTO_NETWORK_NAME, and AUTO_NETWORK_DESC. We recommend leaving this responsibility to appjail quick to automatically create the network, but check if the AUTO_* parameters are okay for your environment and change them if necessary. - interface: if_epair(4) interface to create. There are two special names for the interface name, <name>, to use the jail name, and <random> to use a random hexadecimal string. We recommend <random> instead of <name> as the latter can cause problems when the jail name and interface name are incompatible. - default: Mark this network as default, so options like expose and nat can use it without explicitly specifying it. - address: Static IPv4 address that must be valid for network . If not set, an address is assigned automatically. - interface_desc: Interface description. Multiple: Yes Examples: - virtualnet="web:nginx default \"interface_desc:Interface used by the nginx jail.\"" - virtualnet="db:mariadb address:10.42.0.17" - virtualnet=":<random> default" - virtualnet=":<name> default" vnet="interface" A network interface to give to a vnet-enabled jail after is it created. The interface will automatically be released when the jail is removed. Type: String Multiple: Yes Conflicts (any) : - alias volume="volume [group:gid] [mountpoint:mountpoint] [owner:uid] [perm:mode] [type:type]" Create a new volume. See also appjail-volume(1). Type: Options Parameters: - volume: Volume name. - group: volume's group ID. - mountpoint: Path within the jail to mount the volume. - owner: volume's user ID. - perm: volume's file mode. - type: File system type. Multiple: Yes x11 Create a directory and an appjail-fstab(5)'s entry to mount /tmp/.X11-unix within the jail. The directory is created with permissions `1777'. Type: Boolean Multiple: No Conflicts (any) : - tmpdir zfs+import+jail="input:file [compress:algo]" Create a new jail by importing a ZFS image into the jail directory. Type: Options Parameters: - input: ZFS image. - compress: Change the compression algorithm. Automatic detection of the algorithm used by the ZFS image is performed, but if it fails or you need to change for some reason, you do so using this subparameter. Multiple: No Conflicts (any) : - clone+jail - clone+release - copy - empty - import+jail - import+root - tiny+import - zfs+import+root zfs+import+root="input:file [compress:algo]" Create a new jail by importing a ZFS image into the root directory of the jail. Type: Options Parameters: - input: ZFS image. - compress: Change the compression algorithm. Automatic detection of the algorithm used by the ZFS image is performed, but if it fails or you need to change for some reason, you do so using this subparameter. Multiple: No Conflicts (any) : - clone+jail - clone+release - copy - empty - import+jail - import+root - tiny+import - zfs+import+jail DIRTY JAIL If you create a jail with appjail quick, the jail is marked as dirty until you finish creating it. Creation implies that all options used implicitly or explicitly are done. Keep this in mind when using options like login, as the jail is dirty until the session ends. See appjail-jail(1) for more details, but basically this means that appjail quick considers that this jail failed in some way and can proceed to remove it without the user's permission. EXAMPLES The following examples show how to use appjail quick and assume that you have some things like the loopback interface used by LinuxJails or that you already have the components downloaded by appjail-fetch(1) to create jails. See appjail-tutorial(7) if you want more information on how to configure these things. Example 1: Basic Usage # appjail quick jtest start overwrite=force Example 2: Virtual Networks # appjail quick jtest overwrite=force start virtualnet=":<random> default" nat Example 3: LinuxJails # appjail quick ubuntu \ start \ overwrite=force \ osversion=jammy \ type=linux+debootstrap \ linuxfs \ device='include $devfsrules_hide_all' \ device='include $devfsrules_unhide_basic' \ device='include $devfsrules_unhide_login' \ device='path shm unhide' \ device="path 'shm/*' unhide" \ template=/usr/local/share/examples/appjail/templates/linux.conf Example 4: LinuxJails & Virtual Networks # appjail quick ubuntu \ start \ overwrite=force \ osversion=jammy \ type=linux+debootstrap \ linuxfs \ device='include $devfsrules_hide_all' \ device='include $devfsrules_unhide_basic' \ device='include $devfsrules_unhide_login' \ device='path shm unhide' \ device="path 'shm/*' unhide" \ template=/usr/local/share/examples/appjail/templates/linux.conf \ virtualnet=":appjail0 default" \ nat \ alias EXIT STATUS The appjail quick utility exits 0 on success, and >0 if an error oc- curs. SEE ALSO appjail(1) appjail-jail(1) appjail-makejail(1) appjail.conf(5) appjail-template(5) appjail-makejail(5) AUTHORS Jess Daniel Colmenares Oviedo <DtxdF@disroot.org> CAVEATS Most of the options described in this document are executed after the jail performs some specific operation, e.g. start or stop it. FreeBSD Ports 14.quarterly March 30, 2024 APPJAIL-QUICK(1)
NAME | SYNOPSIS | DESCRIPTION | DATA TYPES | OPTIONS | DIRTY JAIL | EXAMPLES | EXIT STATUS | SEE ALSO | AUTHORS | CAVEATS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=appjail-quick&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>
