How do I create a swap partition using parted?

How do I create a swap partition using command line gparted? (parted)

I've managed to create a partition but I can't seem to set the partition to Linux swap / Solaris. I've tried

mkpart extended linux-swap -512MB -1s
// -> Error: Invalid number.
&

mkpart extended linux-swap(v1) -512MB -1s
// -> Error: Invalid number.
&

mkpart
type:   extended
Start:  -512MB
End:    -1s
// this works, but I can't set the FS-TYPE

// help page

(parted) help mkpart                                                      
  mkpart PART-TYPE [FS-TYPE] START END     make a partition

    PART-TYPE is one of: primary, logical, extended
        FS-TYPE is one of: zfs, btrfs, nilfs2, ext4, ext3, ext2, fat32, fat16, hfsx, hfs+, hfs, jfs, swsusp, linux-swap(v1), linux-swap(v0), ntfs,
        reiserfs, freebsd-ufs, hp-ufs, sun-ufs, xfs, apfs2, apfs1, asfs, amufs5, amufs4, amufs3, amufs2, amufs1, amufs0, amufs, affs7, affs6, affs5,
        affs4, affs3, affs2, affs1, affs0, linux-swap, linux-swap(new), linux-swap(old)
        START and END are disk locations, such as 4GB or 10%.  Negative values count from the end of the disk.  For example, -1s specifies exactly the
        last sector.

        'mkpart' makes a partition without creating a new file system on the partition.  FS-TYPE may be specified to set an appropriate partition ID.

Solution 1:

Assuming you use parted on the /dev/sda disk device and you have created the primary ext4 partition on /dev/sda2

$ sudo parted /dev/sda
(parted) mkpart
Partition type? primary/extended? primary
File system type? [ext2]? linux-swap
Start? 0%
End? 100%

Then you need to format the swap filesystem and turn it on

$ sudo mkswap /dev/vdb2
$ sudo swapon --all --verbose
swapon on /dev/sda2
swapon: /dev/sda2: found swap signature: version 1, page-size 4, same byte order
swapon: /dev/sda2: pagesize=4096, swapsize=2147483648, devsize=2147483648

Add it to /etc/fstab so that it will be mounted on every reboot.

$ sudo vi /etc/fstab
/dev/sda2 none swap sw 0 0

Ubuntu's guide on Swap is pretty comprehensive.