device.conf(5)
π device.conf(5) β bestie's guide to the config file
okay so this is the manual page for device.conf, and it's the config file for vtllibrary(1) and vtltape(1). yes, both. it's giving shared custody. π«Ά
β¨ NAME β¨
device.conf β the configuration file for vtllibrary(1) and vtltape(1). that's it. that's the name section. slay.
πΈ DESCRIPTION πΈ
so every device you configure gets its own unique entry in device.conf. one entry per device, no sharing, no "we can just put it all in one blob" nonsense. π
each section starts at column 1 and is terminated by a blank line. that's the whole rule. column 1, blank line, done. don't overthink it bestie.
here's what a section looks like, literally verbatim, do not touch:
Library: 10 CHANNEL: 00 TARGET: 00 LUN: 00
Vendor identification: SPECTRA
Product identification: PYTHON
Product revision level: 550V
Unit serial number: XYZZY_A
NAA: 10:22:33:44:ab:00:00:00
Home directory: /var/lib/mhvtl/Spectra
fifo: /var/tmp/mhvtl
PERSIST: True
see how cute that is? now let me break down what's actually happening here.
the descriptor Library: or Drive: starts each section, and it's followed by a unique ID β which is a decimal number. no hex, no vibes, decimal.
on that same line, right after the descriptor, you've got the SCSI coordinates for the device being described (CHANNEL, TARGET, LUN β the whole trio).
π the common fields
Vendor identification, Product identification, Product revision level and Unit serial number are common fields across all device types. so like, everyone has them, no matter what kind of device you are. it's giving universal experience.
π¦ NAA (the mysterious one)
the NAA field is used by some backup software (e.g. Legato) as a means to uniquely identify devices. it's used by INQUIRY VPD page 0x83. but ngl, most software just uses the Unit serial number as the unique identifier instead. so the NAA is lowkey the understudy here. π
π₯ Compression
Compression: factor X enabled Y
where:
Xis 1 through 9.1is fastest compression,9is best compression.
Y1: compression is enabled,0: compression is disabled.
so X is your speed-vs-size slider (1 = zoom zoom, 9 = smol file) and Y is just the on/off switch. iconic duo honestly.
π§ Compression type
Compression type: β it's either zlib or lzo. pick your fighter.
β Backoff
Backoff: β a value between 10 and 10000. default is 1000.
what does it do? okay so this value gets added to the existing 'usleep' time in between ioctl polls. and if there's actually work to do, the usleep time gets reset to 10. so it's basically the "chill out for a sec" number, but it snaps back to 10 the moment there's stuff happening. main character energy: knows when to rest, knows when to go. β¨
π Home directory
Home directory: /some/where/with/space
you use this to specify a parent directory for the virtual media associated with this library. but heads up β it's only valid in ^Library: entries, not for ^Tape: entries. so don't try it on a tape entry, it's not gonna happen for you. π
π fifo
fifo: /some/where/for/named/pipe
if fifo: is defined, (near) real time state information will be available for external applications β they just read from this named pipe. cute little info stream. π«Ά
β οΈ note: the -f fifo switch on daemon startup has higher precedence. so like, that one wins if there's a fight.
π PERSIST
PERSIST: True | False
if PERSIST is set to 'Yes' or 'True' β enable saving state on shutdown. a file 'library_contents.XX.persist' will be created on shutdown to save persistent state. and on startup? default to reading the library_contents.XX.persist if the file exists. falls back to library_contents.XX if no .persist file exists. so it remembers things, and if it can't, it just uses the regular one. resilient queen. π
π AUTHOR π
Written by Mark Harvey. legend behavior.
π BUGS π
- This man page.
- No version information.
- Config file not xml.
vtllibrary(1)andvtltape(1)needs to be restarted to read any changes made.
that last one is the real jump scare bestie β you change the config and the daemons just do not care until you restart them. no hot reload, no nothing. periodt.
π¦ REPORTING BUGS π¦
Report bugs to <markh794@gmail.com> β go off, tell them everything.
π COPYRIGHT π
Copyright Β© 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
like, none. zero. don't come for them if it breaks. π
π SEE ALSO π
library_contents(5) make_vtl_media(1), mktape(1), vtlcmd(1), vtllibrary(1), vtltape(1)
the whole friend group, honestly. iykyk. π«Ά
okay that's the whole page!! this was device.conf(5) from mhvtl 1.72_release+6.a11b6777660..., dated May 2025. go configure some virtual tapes bestie, you're gonna ate π
β¨
π¦ where this page comes from
- opensuse-leap 16.0: mhvtl 1.72_release+6.a11b6777660b-lp160.3.1 Β· GPL-2.0-only
- opensuse-leap 16.0: mhvtl 1.72_release+6.a11b6777660b-lp160.3.1 Β· GPL-2.0-only
- opensuse-leap 16.0: mhvtl 1.72_release+6.a11b6777660b-lp160.3.1 Β· GPL-2.0-only
- opensuse-leap 16.0: mhvtl 1.72_release+6.a11b6777660b-lp160.3.1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms