Nikos
Nikos is a simple command line tool to download Kernel headers for multiple Linux distributions.
Support
- Debian
- Ubuntu
- RHEL
- CentOS
- Fedora
- OpenSUSE Leap
- SLES
- Google Container Optimized OS
- WSL2
Usage
On a host
$ nikos download --output /tmp
Inside a container
You need to bind mount a few folders from the host:
Building
Requirements
Both APT
and Container Optimized OS
use pure Golang implementationns.
To support RPM based distributions, you need libdnf.
On Fedora, simply use dnf install libdnf-devel
. To target machines that do not have libdnf
, an
omnibus project is available here.
Compilation
$ go build -tags dnf
If you used the omnibus
method described above, you should use:
$ PKG_CONFIG_PATH=/opt/nikos/embedded/lib/pkgconfig CGO_LDFLAGS="-Wl,-rpath,/opt/nikos/embedded/lib" go build -tags dnf
Testing
Tests are using the Molecule framework.
To run the tests, you can either:
- Compile the Nikos dependencies using
omnibus
as described in Requirements.
- Download a precompiled version of it here. You then need to
decompress it in your local Nikos repository folder.
To run the tests for Debian, simply run in the tests
folder:
$ molecule test -s debian
You can also run the tests for centos
, debian
, opensuse
and ubuntu
.