fast-vm-repo - Get fast-vm images from terminal
Tired of remembering where to look for public fast-vm images (here)? The new
fast-vm-repo scripts comes to help by providing same content as the website with public fast-vm images without need to open up the browser. Bonus feature: auto-completion in terminal for repository and image names.
GitHub repository: https://github.com/ondrejhome/fast-vm-repo/
Years long idea at the bottom of the Issues page of
fast-vm project coming to implementation - repository system for fast-vm images. In its current form providing the comfort of just getting the fast-vm image repository metadata, looking at available fast-vm images from terminal and choosing which one to import into local fast-vm.
Installation on RPM based systems
- Enable the COPR repository with fast-vm (which now also contains
- Install the
fast-vm-repopackage which provides the
fast-vm-reposcript without any repositories.
- Get some repository files (
.repofiles) either by
- installing package
fast-vm-public-repositoriesthat will install all available public repositories from all mirrors - same as using the website with public fast-vm images OR
- installing your closest mirror repository package (
fast-vm-public-repositories-krpackage for South Korean mirror or
fast-vm-public-repositories-czfor mirror in Czechia) OR
- or just downloading directly
.repofile from fast-vm-repo GitHub repository into
- installing package
Example installation on EL8 systems:
# curl -o /etc/yum.repos.d/fast-vm.repo https://copr.fedorainfracloud.org/coprs/ondrejhome/fast-vm/repo/epel-8/ondrejhome-fast-vm-epel-8.repo
# dnf install fast-vm-repo
# dnf install fast-vm-public-repositories
Package Arch Version Repository Size
fast-vm-repo noarch 0.3-1.el8 copr:copr.fedorainfracloud.org:ondrejhome:fast-vm 29 k
fast-vm-public-repositories noarch 20220222-1.el8 copr:copr.fedorainfracloud.org:ondrejhome:fast-vm 7.2 k
fast-vm-public-repositories-cz noarch 20220222-1.el8 copr:copr.fedorainfracloud.org:ondrejhome:fast-vm 9.9 k
fast-vm-public-repositories-kr noarch 20220222-1.el8 copr:copr.fedorainfracloud.org:ondrejhome:fast-vm 9.9 k
Note that versioning of
fast-vm-public-repositories is decoupled from each other intentionally - there could be changes to list of public repositories regardless of
Usage workflow might sound familiar to user of RPM based systems and contains following steps:
- Download the repository metadata (if not already present)
# fast-vm-repo repolist refresh [inf] Remote file: https://kr.famera.cz/fastvm-images/repository/kr_alma.xml [inf] Remote file size: 2065' [ok] Downloaded https://kr.famera.cz/fastvm-images/repository/kr_alma.xml ... [inf] Remote file: http://ftp.linux.cz/pub/linux/people/ondrej_famera/fastvm-images/repository/cz_alma.xml [inf] Remote file size: 2245' [ok] Downloaded http://ftp.linux.cz/pub/linux/people/ondrej_famera/fastvm-images/repository/cz_alma.xml ... RepoID Enabled Cached Images Repository description cz_alma yes yes 3 CZ Alma Linux images ... kr_alma yes yes 3 KR AlmaLinux images ...
- Browse list of available images.
# fast-vm-repo list === Repo: (cz_alma) CZ Alma Linux images Image|Hack| Download size |Extra Image name Size|file| XZ | ZST | file alma-8.3 6g yes| 428MB| 445MB| no alma-8.4 6g yes| 440MB| 456MB| no alma-8.5 6g yes| 483MB| 499MB| no ... === Repo: (kr_alma) KR AlmaLinux images Image|Hack| Download size |Extra Image name Size|file| XZ | ZST | file alma-8.3 6g yes| 428MB| 445MB| no alma-8.4 6g yes| 440MB| 456MB| no alma-8.5 6g yes| 483MB| 499MB| no ...
- Import image into local fast-vm (In example below the Alma Linux 8.5 XZ image is imported from Czechia mirror)
# fast-vm-repo import cz_alma alma-8.5 [ok] Calling fast-vm-image to import the image. =========> fast-vm-image [__][inf] Detected remote file with size '524128308'. [__][inf] Detected remote file with size '1707'. ...
Note that in case that you run above command on machine that hasn’t
fast-vminstalled your will receive following message. The
fast-vm-image import ...command can be used in verbatim form on machine that has fast-vm installed.
# fast-vm-repo import cz_alma alma-8.5 [inf] fast-vm-image import alma-8.5 http://ftp.linux.cz/pub/linux/people/ondrej_famera/fastvm-images/generated/6g__alma-8.5.img.xz https://raw.githubusercontent.com/OndrejHome/fast-vm-public-images/master/alma/xml/alma-8.3-current.xml https://raw.githubusercontent.com/OndrejHome/fast-vm-public-images/master/alma/hacks/6g_alma-8-hacks.sh [err] fast-vm-image command cannot be found, you probably need to install it and then you can run above command to import the image.
- Disable the repositories you don’t want to use by changing
/etc/fast-vm.repos.d/*.repofiles - this is recommended instead of deleting the files as the updated version of package could bring such file back while existing disabled file should remain untouched by the updates.
- Checking the details of the images with
fast-vm info <repo> <image_name>- At present you can find the URLs for the resources for given image file and placeholder for description of image that is not yet populated with data.
- To import the images that are available in ZST format you may add the
zstat the end import command to use that image instead. By default the format is xz. For example
fast-vm-repo import cz_alma alma-8.5 zstwill import ZST image. Both XZ and ZST images are identical in content but while ZST is slightly larger in size, it imports several times faster than XZ and is a recommended choice if you use SSD disk for fast-vm.
- Documentation on how to contribute and maintain your own fast-vm image repository. This will allow same convenience of getting the public images also to users that wants to use fast-vm for their internal images that cannot be made public. One such idea is already repository of RHEL images at company I work right now.
- Ability to download all needed files for given image to local directory - for those cases where you need few images with all the needed files for offline use.
- Mirroring subcommand to allow creating fast-vm image repository mirrors - both for public or internal use
In long term (which might take some time):
- Additional metadata that will provide information about images in repository in structured way, such as which appliance functionality is required for the image, where to import the extra files, etc.
- Integrity checking of fast-vm images in repository (for proper checksums or just for missing files/wrong links).
- Generation of webpage with images information from same data as repositories.
In summary the
fast-vm-repo script brings in some “quality of life” improvements to fast-vm users that prefers to get stuff done from one place - from the terminal.