---
name: "tgtimg"
section: "8"
platform: "linux"
package: "tgt"
version: "1.0.97-3"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/tgtimg"
---

# tgtimg(8)

Linux SCSI Target Framework Image File Utility

## NAME

tgtimg - Linux SCSI Target Framework Image File Utility

## SYNOPSIS

**tgtimg** \[-o --op \<operation\>\] \[-Y --device-type \<device-type\>\] \[-b --barcode \<barcode\>\] \[-s --size \<size\>\] \[-t --type \<media-type\>\] \[-f --file \<path\>\] \[-T --thin-provisioning\]

**tgtimg --help**

## DESCRIPTION

Tgtimg is a utility to create and manage the image files used by the TGTD device emulation.

This command is used to initialize device image files with the additional metadata, such as barcode, list of blocks, total size, etc that the TGTD emulation needs.

## OPTIONS

- **-h, --help**

  Show a help screen and exit.

- **-o, --op {new\|show}**

  Operation. Is either new to create a new image file or show to show the content of an existing image file.

- **-Y, --device-type \<type\>**

  This specifies the type of image file.

```
Supported device types are :
    cd   : to create media for a dvd device
    disk : to create media for a disk device
    tape : to create media for a tape device
```

- **-t, --type \<media-type\>**

  When creating a new image, this specifies the type of media to emulate. The available mediatypes depend on the type of the device.

```
Supported media types for cd devices are :
    dvd+r : create a blank writeable DVD+R disk
Supported media types for disk devices are :
    disk  : create an empty disk
Supported media types for tape devices are :
    data  : create a normal data tape
    clean : create a cleaning tape
    worm  : create a worm
```

- **-b, --barcode \<barcode\>**

  When creating a new image, this argument specifies the barcode to use with this image file. Backup application software often uses barcodes to identify specific tapes. When emulating a VTL, make sure that all tape images use unique barcodes.

- **-s, --size \<size\>**

  When creating a new image, this specifies the size in megabytes for the virtual tape image.

- **-f, --file \<path\>**

  The filename of the image file.

- **-T, --thin-provisioning**

  This argument makes the allocation of the image format use thin-provisioning. This means that the file created will be a sparse file that will allocate blocks from the filesystem on demand.

  Be careful when using thin-provisioning. If the filesystem fills up a iSCSI write to a thin-provisioned LUN can fail. Initiators generally do not handle "out of space" errors gracefully.

  Thin-provisioning uses FALLOC\_FL\_PUNCH\_HOLE which is only available on some linux filesystems. Thin-provisioning can only be used for DISK images.

## EXAMPLES

To create a new 100MByte disk

```
      tgtimg --op new --device-type disk --type disk --size 100 --file /data/hd001.raw
```

To create a new tape image

```
      tgtimg --op new --device-type tape --barcode 12345 --size 100 --type data --file /data/tape001.img
```

To view the content of an existing image

```
      tgtimg --op show --device-type tape --file /data/tape001.img
```

To create a new blank DVD+R image

```
      tgtimg --op new --device-type cd --type dvd+r --file /data/dvd001.iso
```

## SEE ALSO

[tgtd(8)](/tgtd/8.md), [tgtadm(8)](/tgtadm/8.md), [tgt-admin(8)](/tgt-admin/8.md), [tgt-setup-lun(8)](/tgt-setup-lun/8.md). **https://github.com/fujita/tgt**

## REPORTING BUGS

Report bugs to \<stgt@vger.kernel.org\>
