DSCREATE(8)

πŸ’… DSCREATE(8) β€” bestie's guide to dscreate

okay so you found the dscreate page, and honestly? good for you. this is the little command that spins up Directory Server instances, and it's giving ✨ main character energy ✨ β€” whether you're a root user doing root things, or a regular human who just wants their own instance in their own lil corner of the filesystem. it lives in section 8 of the manual (that's the sysadmin section, iykyk), and it's part of the Generated Python Manual situation. let's get into it πŸ’–


🌸 SYNOPSIS 🌸

dscreate [-h] [-v] [-j] {from-file,interactive,create-template,ds-root} ...

so it's dscreate plus some optional flags, and then you HAVE to pick one of the four subcommands: from-file, interactive, create-template, or ds-root. no subcommand, no party. periodt.


πŸŽ€ POSITIONAL ARGUMENTS πŸŽ€

these are your four subcommands, and each one is its own little vibe:

  • dscreate from-file β€” create an instance of Directory Server from an inf answer file. you wrote out your answers in advance, now let the command cook πŸ‘‘
  • dscreate interactive β€” start the interactive installer for Directory Server installation. it asks, you answer, magic happens πŸͺ„
  • dscreate create-template β€” display an example inf answer file, or hand it a file name and it writes that template to disk instead πŸ“
  • dscreate ds-root β€” prepare a root directory in which a non-root user can create, run and administer instances. yes bestie, you don't need root for everything 🌈

✨ COMMAND dscreate from-file ✨

its usage looks like this:

dscreate from-file [-h] [-n] file

here's the deal with that argument:

  • file β€” the inf file to use with your prepared answers. you can generate an example of this with dscreate create-template. basically homework you did in advance so the install is an open-book test πŸ“–

πŸ’œ OPTIONS dscreate from-file πŸ’œ

just the one:

  • -n, --dryrun β€” validate system and configurations ONLY. do not alter the system. it's the "look but don't touch" of installs, a little window shopping moment πŸ›οΈ

πŸ¦‹ COMMAND dscreate interactive πŸ¦‹

usage:

dscreate interactive [-h]

that's it, that's the whole thing. no extra args, no extra options. she just wants to chat πŸ’¬


πŸ“ COMMAND dscreate create-template πŸ“

usage:

dscreate create-template [-h] [--advanced] [template_file]

arguments:

  • template_file β€” write the example template to this file. give it a name and it saves; don't, and it just shows you the goods πŸ‘€

πŸ’… OPTIONS dscreate create-template πŸ’…

  • --advanced β€” add advanced options to the template. ⚠️ careful though: changing the advanced options may make your instance install fail. so like, advanced mode is not a personality trait you should casually dabble in, bestie 😭

🌈 COMMAND dscreate ds-root 🌈

usage:

dscreate ds-root [-h] root_dir [bin_dir]

arguments:

  • root_dir β€” a directory that will be used as virtual root. your own lil universe 🌌
  • bin_dir β€” a directory in which administration wrappers are installed. (should be in PATH, or nothing's gonna find them πŸ™ˆ)

πŸ‘‘ OPTIONS πŸ‘‘

these are the global ones, the flags that apply across the whole command:

  • -v, --verbose β€” display verbose operation tracing during command execution. she's narrating her every move πŸ”
  • -j, --json β€” return the result as a json message. perfect for when you're piping things into other things, very "let the machines talk" πŸ€–

πŸ’€ COMMENTS πŸ’€

here's the moment we've all been waiting for β€” an example of an install by a non-root user:

PATH=$HOME/bin:$PATH # Should be in .profile
dscreate ds-root $HOME/mydsroot $HOME/bin
hash -d dscreate # bash command to insure new dscreate wrapper will be used
dscreate interactive
# Note: Make sure to use non priviledged port number (i.e > 1000)

okay let's walk through the slay:

  1. put $HOME/bin at the front of your PATH β€” and fr fr, that line should live in your .profile so it sticks around.
  2. run dscreate ds-root $HOME/mydsroot $HOME/bin to set up your virtual root and your wrapper bin dir.
  3. run hash -d dscreate β€” that's a bash command to insure the new dscreate wrapper will be used (bash caches command locations, so this evicts the old one from the cache so you get the new hotness).
  4. run dscreate interactive and go be an installer icon πŸ’–
  5. and note πŸ“Œ: make sure to use a non priviledged port number (i.e > 1000). low ports are gatekept, and not in the fun way.

🫢 AUTHOR 🫢

"Red Hat, Inc., and William Brown" <389-devel@lists.fedoraproject.org>


aaaand that's the whole page, bestie. this is lib389 version 3.3.1, dated 2026-09-11. go forth, create instances, be the root (or not-root) of your own destiny β­πŸŽ€ no cap.

πŸ“¦ where this page comes from