Repositories
Athena OS leverages on several repositories for accessing to security tools and learning resources in a comfortable manner.
Athena Arch
- Athena repository for Athena tools or pentesting packages. It started as a clone of BlackArch repository.
- Chaotic repository for accessing to the AUR packages directly by pacman
- Arch Linux repositories for system and utility packages
- core
- extra
- community
- multilib
These repositories are set in /etc/pacman.conf
. Here you can choose to add more repositories or remove the existing ones. Each time you edit this file by adding or removing repositories, run sudo pacman -Syy
to synchronize the database.
The structure of the Athena OS repository package source is public and available for any contribution.
The source files of each single package is inside the related packages
sub-directory. Each package has PKGBUILD
file for defining the .pkg.tar.zst
package rules and some packages have build.sh
file that is used for automating this process by generating the new .pkg.tar.zst
, signing it, moving it and its signature to x86_64
folder and delete all the temporary files.
The building process is mainly managed by Hephaestus container.
The declaration of Athena repository is defined inside /etc/pacman.conf
as:
In Athena, the repository keys and related files, athena.gpg
, athena-trusted
, athena-revoked
, chaotic.gpg
, chaotic-trusted
and chaotic-revoked
files are stored in /usr/share/pacman/keyrings/
folder. athena.gpg
file is the public key needed to be imported in order to access to Athena repository, athena-trusted
contains the keys to trust, and athena-revoked
contains the list of revoked keys in long format.
This operation is managed by the installer that will initialize all the keys stored in /usr/share/pacman/keyrings/
folder.
Installation
If you wish to use Athena repository in a different operating system, you can do this by adding the following to your /etc/pacman.conf:
Get the mirrorlist file by running:
On the terminal, execute:
Finally, trust the imported key by:
Athena Nix
- Athena Nix repository for all the modules designed specifically for Athena OS
- Nixpkgs repository to retrieve all packages and security tools
Athena uses stable version of Nixpks repository and it is managed by Nix Channels. To keep the nix channel of the stable version updated, in order to retrieve always the most updated stable packages, run:
Athena Nix repository can be used also by flakes. In this manner an host can retrieve a specific configuration set in Athena Nix remotely with minimum effort. The usage of flakes is specified in the main page of Athena Nix repository. To keep update flakes in order to retrieve always the latest updated packages, run: