diff --git a/404.html b/404.html new file mode 100644 index 000000000..786fdb661 --- /dev/null +++ b/404.html @@ -0,0 +1,33 @@ + + + + + + AlmaLinux Wiki + + + + + + + + + +

404

That's a Four-Oh-Four.
+ Take me home. +
+ + + diff --git a/CNAME b/CNAME new file mode 100644 index 000000000..e9ab65041 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +wiki.almalinux.org diff --git a/Comparison.html b/Comparison.html new file mode 100644 index 000000000..937ad22db --- /dev/null +++ b/Comparison.html @@ -0,0 +1,61 @@ + + + + + + Enterprise Linux Comparison | AlmaLinux Wiki + + + + + + + + + +

# Enterprise Linux Comparison

# Last updated 2024-09-09

When deciding what OS to use, there are many factors that come into play for a variety of reasons. This page attempts to outline some of the specific differences, while focusing on the reasons that many in the AlmaLinux community have cited as the reasons they pick AlmaLinux. The enterprise linux ecosystem is vast and has many differentiators that are nuanced, hard to articulated, and don't fit easily into charts, but we have attempted to capture some of the differentiations below.

# Build Sources

In June of 2023 Red Hat announced that they would no longer be shipping their sources for Red Hat Enterprise Linux (RHEL) to git.centos.org, and would be limiting access to RHEL's sources to their customers. As a result of that change, we adjusted where we get our sources to match where RHEL gets its source. AlmaLinux utilizes package sources from both RHEL and CentOS Stream to build its distribution, in addition to other upstream sources, ensuring that our operating system remains stable and safe to use for our users.

Build pipeline image

You can hear specifics about how AlmaLinux is built today in this presentation (opens new window) from AlmaLinux Day: Germany, in March of 2024.

Rocky Linux outlined where they would be getting their sources in a blog post after the shift (opens new window).

# Ownership

AlmaLinux is wholly owned by the AlmaLinux OS Foundation, a non-profit organization founded in the US. Red Hat and Oracle are both for-profit corporations, and the Rocky Enterprise Software Foundation (opens new window) is a B-Corp (opens new window).

At the outset, it was important to the founding members of the AlmaLinux OS project to set the structure around the project in such a way that it is nearly impossible for bad actors to take control of the project and use it for personal gain. The project needed to be able to operate with a single mission: its community. While corporate social responsibility is a noble aim, the B Corp option wasn’t a good fit as it didn’t comply with AlmaLinux’s ‘north star’ of putting ownership of the OS, the IP, and the project’s direction in the hands of the community.

# Technical breakdown

Benchmarking against RHEL AlmaLinux OS Oracle Linux Rocky Linux CentOS Stream RHEL
First release Mar. '21, AlmaLinux 8.3 (opens new window) Oct. 2006 June '21, Rocky Linux 8.4 (opens new window) Sept. '19, Stream 8.0 (opens new window) Mar. 2002
RHEL compatibility minor version** minor version** minor version** major version* n/a
Last minor version release delay 5 days (opens new window) 6 days (opens new window) 8 days (opens new window) n/a n/a
Errata Yes (opens new window) Yes Yes No Yes
Lifecycle 10 Years 10 Years 10 Years 5.5 Years 10-14 years
Commercial support 3rd party Oracle, 3rd parties 3rd party 3rd Party 1st party (Red Hat)
Livepatching service KernelCare Oracle Ksplice, KernelCare KernelCare Not available kpatch
FIPS compliance*** 140-3 for 9.2, 3rd party (opens new window) Many, 1st party (opens new window) Planned, via 3rd party (opens new window) Not available Many, 1st party (opens new window)
Architectures (all: x86_64) x86_64 (at launch)
aarch64 (since 8.4 (opens new window))
ppc64le (since 8.5 (opens new window))
s390x (since 8.6 (opens new window))
x86_64
aarch64
x86_64
aarch64 (versions ≥ 9)
ppc64le (versions ≥ 9)
s390x (versions ≥ 9)
x86_64
aarch64
ppc64le
s390x
x86_64
aarch64
ppc64le
s390x
Backing organization AlmaLinux OS Foundation (501c6 non-profit) Oracle, Inc. (opens new window) Rocky Enterprise Software Foundation Red Hat, Inc. (opens new window) Red Hat, Inc. (opens new window)

* major version compatible: aims for compatibility with the corresponding major version of RHEL
+** minor version compatible: aims for compatibility with the corresponding minor version of RHEL
+*** achieving FIPs compliance is a very complex and multi-year process not easily represented here, but links to the most recent information are provided.

Note: Previous versions of this table included a row for SecureBoot, but all distros now offer it, so it was removed.

+ + + diff --git a/Contribute-to-Documentation.html b/Contribute-to-Documentation.html new file mode 100644 index 000000000..7d4646d82 --- /dev/null +++ b/Contribute-to-Documentation.html @@ -0,0 +1,77 @@ + + + + + + Documentation | AlmaLinux Wiki + + + + + + + + + +
# last updated: 2024-03-25

# Contribute to AlmaLinux Documentation

If you are interested in contributing to AlmaLinux Wiki Documentation, we recommend you follow these guidelines.

# Prerequisites

# Starting the process

Before you start writing a wiki page/instruction or modifying an existing one, we strongly recommend:

  • Look through existing open and closed issues (opens new window) for similar content, to prevent duplication.
  • Open an issue (opens new window) on the repo to propose your content before you begin writing it to ensure that is appropriate for the AlmaLinux Wiki and to collaborate with the AlmaLinux OS Foundation, Team and Community.

You are also welcome to discuss the content and share your feedback and thoughts in the Documentation Chat Channel (opens new window).

# Setting up the environment

The Wiki is powered by VuePress (opens new window).

The general process to contribute to the wiki includes these steps:

  • Fork the Wiki repository (opens new window).
  • Clone your forked repository and navigate to its directory.
  • Create a new branch.
  • Edit or create a page.
  • Check your changes on the local wiki - see the steps below.
  • Commit your changes.
  • Create a pull-request to the master branch as described in the GitHub documentation (opens new window).

There are two ways to run the wiki locally to check your changes:

Please, note, most steps are suitable for all three Linux, Windows and macOS systems, but some commands may need some adjustments.

# Install yarn

TIP

For Windows and macOS, you may need to install nodejs (opens new window) first.

# Use a container

You can use a container engine like Podman or Docker to deploy a local development version of wiki inside a container.

Requirements: Docker or Podman

  • The wiki repository contains the Containerfile file that is used to create a container image with development dependencies installed. The command to create the container image requires setting a container name which, for example, is wiki_dev:
    podman build -t wiki_dev .
    +

    WARNING

    It's recommended to rebuild the container image if there is a change in the package.json file to make sure it matches the deployed version of vuepress. +You can do it either by removing the current one and building the new one documented above or by creating a new one with a different name without removing the old one.

    podman rmi localhost/wiki_dev
    +
  • Clean up the first stage container image:
    podman image prune --filter label=stage=auto-clean-stage1
    +
  • Now you can create a container from this image whenever is needed from the image that was built above and mount docs to /wiki/docs inside the container:
    podman run --name wiki_dev --rm -i -t -p 8080:8080 -v "$(pwd)"/docs:/wiki/docs:ro,z localhost/wiki_dev
    +
    The options of the command are: +
    • podman/docker - container engine
    • run - create a container
    • --name wiki_dev - name a container wiki_dev
    • --rm - remove the container once it is stopped
    • -i -t - an interactive terminal session where you can track the deployment process and check the logs. Stop it with Ctrl+C.
    • -p 8080:8080 - map the port number 8080 inside the container to 8080 on the host
    • -v "$(pwd)"/docs:/wiki/docs:ro,z - mount docs in the current directory on /wiki/docs inside the container read-only (ro). ,z is needed only for systems that have SELinux.
    • localhost/wiki_dev - the name of the container image
  • The wiki instance should be up and running on http://localhost:8080/ (opens new window).
  • Don't forget to stop the container when you've finished.

# Working with AlmaLinux documentation

TIP

We kindly ask that all members respect each other's diverse skills and abilities by acknowledging and appreciating the unique contributions each person brings to the team. Remember to provide as much detail as possible when sharing your expertise to enhance understanding and collaboration among all members.

AlmaLinux Wiki documentation is written with Markdown (opens new window). Some HTML elements can also be used.

All the content is located in the /wiki/docs directory.

To create a new page:

  • Navigate to the /wiki/docs directory.
  • Create a markdown file page-name.md with a clear name that corresponds to the topic of the page.
  • In order to get a page displayed, enlist it in the config.js file that is located in the /wiki/docs/.vuepress directory.

# Pages style guide

When editing an existing page or writing a new one, we recommend you follow this style guide.

  • The top of the page should include meta data with the page title. It should match the file/page name and topic.

    ---
    +title: ' '
    +---
    +
  • If applicable (for example, when creating a new guide), fill out the form below and place it as a table at the top of the page right after the title.

    Experience Level ⭑⭑⭒⭒⭒ (Intermediate)
    Last modified date YYYY-MM-DD
    • If possible, evaluate the level of skills and experience needed based on the target audience. Experience level options: Beginner, Intermediate, Advanced, Fluent and Proficient
    • Put the last modified or updated date below the experience level. The date format should go as YYYY-MM-DD.
  • If using this form is not applicable here, it's preferable to write right after the page title the date when the page was last modified. Please, stick, to the following format:

    ###### last updated: YYYY-MM-DD
    +
  • Write the content of the page using Markdown syntax (opens new window). Some HTML elements are also allowed.

    • It's recommended to use clear and simple language.
    • It's preferable to divide the content into sections, including these basic ones: +
      • Introduction: stating what the page is about.
      • Body: describing all the instructions.
      • Version specific directions: Remember that AlmaLinux currently more than one supported major version. If the directions differ for each release, consider dividing your instructions for each supported version into separate sections.
      • Known caveats: If there are any known or popular issues, write them as a separate section. +We encourage images in guides, but please follow the below guidelines
    • If the page includes images, put them in the /wiki/docs/.vuepress/public/images directory where all images are stored.
    • The image name should be clear to understand and match the topic subject it's related to.
    • The image should not violate any trademarks or copyrights and should be relevant to the content.
    • The image should not contain any personal information for security reasons.
    • The image should be a proper size that is clear to read.
    • The image will serve from /images/, so do not change the beginning of this path.
  • All the commands (even separate ones) and code blocks should be formatted as code blocks, not as inline code:

    {your command(s)/code}
    +
    • If there's any example output/code/result, consider mentioning it right after according to the format below. Also, consider formatting it as a code block or as an image.

    An example output you may see:

    example
    +
  • If there's anything to warn about or provide a tip, highlight it with markdown tips and warnings.

  • If there are trademarks mentioned on the page, we recommend writing Trademark notices at the bottom of the page.

  • Before committing the changes and creating a pull request, we also recommend to:

    • Make sure the page is displayed on the wiki correctly by running it on http://localhost:8080/ (opens new window).
    • Look through the page to see if any cosmetic changes (typos, minor styling, etc) are needed.

# Review process

Any member of the AlmaLinux OS Foundation, Team and Community can take part in the review process and request any changes or updates. +Merging the content is under the AlmaLinux OS Foundation and Team responsibility.

+ + + diff --git a/Contribute-to-Testing.html b/Contribute-to-Testing.html new file mode 100644 index 000000000..4863f99ac --- /dev/null +++ b/Contribute-to-Testing.html @@ -0,0 +1,59 @@ + + + + + + Testing | AlmaLinux Wiki + + + + + + + + + +
# last updated: 2024-08-30

# Contribute to Testing

At AlmaLinux, we're dedicated to providing a high-quality experience for our community. We believe that thorough testing is crucial to guaranteeing the quality and reliability of the distribution. We put a lot of effort into testing and making sure everything works smoothly regardless of where or what you run.

# Beta testing

New AlmaLinux OS Beta and Stable versions are released every six months. We rely on our community to help us test Beta releases by providing feedback, reporting bugs, and identifying issues. Your input is crucial in ensuring our production releases are smooth and successful and we welcome your participation in this process.

If you're interested in contributing to Beta testing, please, see the installation/upgrade instructions in release notes and join the testing (opens new window) chat channel to stay informed.

# openQA

AlmaLinux has implemented openQA - a tool created and maintained by SUSE - for the automation of testing. With openQA we set up testing environments and scenarios, making it easier to run tests to reproduce the installation process of our images. This helps us identify and fix any issues with the installer, graphics, branding, and visual defects, allowing our developers to quickly and efficiently test AlmaLinux and catch any problems before they're released to the public.

openQA is publicly available at openqa.almalinux.org (opens new window) and users can monitor the testing progress and see the results as screenshots and video recordings.

We have long-term goals of improving our openQA infrastructure with additional tests and expanding our openQA documentation on our wiki. If you're interested in contributing to openQA, please, see more details on the openQA wiki page and join the testing (opens new window) chat channel to stay updated and involved.

# Updated packages

AlmaLinux OS is binary compatible with RHEL® and part ways in some matters. Before releasing an updated package with a patch or security fix, the AlmaLinux OS Foundation invites the community to participate in testing before its official release.

If you're interested in testing, please, join the testing (opens new window) and release engineering (opens new window) chat channels to stay updated and involved.

# Migration and Upgrades

AlmaLinux offers one project for upgrading your operating system in-place (ELevate (opens new window)), and one for migrating to AlmaLinux (AlmaLinux-deploy (opens new window))! We're actively working on improving them with the community's help, and invite you to join us.

If you're interested in participating check the Migration wiki section, Migration SIG page and join the Migration SIG (opens new window) chat channel to get involved. You can assist AlmaLinux in:

# Trademarks

Red Hat, and Red Hat Enterprise Linux, are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

+ + + diff --git a/Contribute.html b/Contribute.html new file mode 100644 index 000000000..6bb9c2fad --- /dev/null +++ b/Contribute.html @@ -0,0 +1,59 @@ + + + + + + Help AlmaLinux OS | AlmaLinux Wiki + + + + + + + + + +

# Contributing to the AlmaLinux project

AlmaLinux OS development, infrastructure management, and overall project promotion are organized using our community chat. There are many ways to contribute to AlmaLinux OS - testing, quality assurance, documentation, and more. We'd love to welcome you! To help get you started, here is a Q&A video on the subject:

And here are some ideas to get you going:

How you or your team can contribute their time:

  • Content Creation: Create engaging content around interesting projects which showcase the use of AlmaLinux
  • ELevate - assist in expanding ELevate capabilities (migrations from additional versions), adding PES data for packages
  • Improve or expand documentation on our wiki
  • Become part of the infrastructure team for AlmaLinux – help maintain AlmaLinux core infrastructure, including build, test & mirror infrastructure
  • Become part of the security team for AlmaLinux - help define security architecture, maintain periodic audits and log reviews, etc.
  • Become part of the AlmaLinux build team - work on rebuilding RHEL packages, and building packages requested by the community. Assist in packing for EPEL.
  • Expert help - help users on our Mailing List, Mattermost chat & Reddit
  • Events staffing - represent AlmaLinux at LUG & Linux / OpenSource conferences - when they are geographically close to your location
  • Help with AlmaLinux branding - Web design, graphical design - almalinux.org website (Hugo!), swag or sticker design
  • Help get AlmaLinux through Common Criteria certification - CIS Benchmark and STIGs
  • Participate in the development of build platform, mirror platform - or any other part of the infrastructure (Python, JavaScript)
  • Improve or expand the translations of the AlmaLinux website

If your company benefits from the existence of AlmaLinux, consider sponsoring AlmaLinux enabling all of the work we do across the world!

If any of those sound interesting to you, then take a look at the list of SIGs, join the AlmaLinux chat on Mattermost (opens new window), and introduce yourself (opens new window) or join one of the topical channels below to find out more!

# Help with reporting bugs and making fixes

Since AlmaLinux aims to be as close to RHEL as possible, it should have nearly identical bugs as the current release of RHEL. AlmaLinux recommends following an "upstream first" approach in order to help not just the AlmaLinux but the whole EL community:

  • Try to reproduce the steps and check whether the bug is present in CentOS Stream or has been already fixed.
  • If present, it means that the bug is upstream. Please, submit the bug to CentOS Stream bugzilla (opens new window) providing all the necessary information about an issue and reproducing steps. This is the contribution path to get the bug fix into the upstream, which will, in turn, be built into AlmaLinux.
  • If you are able to help investigate and fix the bug, please collaborate with CentOS Stream, as this is the best an AlmaLinux Community Member can do. Check the CentOS Contributor's Guide (opens new window) for more details.
  • If the bug is AlmaLinux-specific, please open a bug on AlmaLinux Bug Tracker (opens new window) providing all the necessary information about an issue and reproducing steps.

Please, file your bugs (opens new window) and join us for discussions on GitHub (opens new window) and on AlmaLinux Chat on Mattermost (opens new window).

If you are interested in contributing, and learning more details about the technology stack of the tool and tests, please, visit the repository (opens new window).

Also, you might be interested with ELevate Project Contribution Guide.

# Specific Areas We Need Help With

Each SIG has their own specific focus areas that are looking for help, but here are some more general ones!

# 1. Help with reporting bugs and making fixes

To make AlmaLinux successful, we need the close involvement of the community members. We use our bug tracking system to find, track, and fix bugs. We encourage AlmaLinux users to help us by filling in bug-reports. You can track and discuss all bugs on bugs.almalinux.org (opens new window).

# 2. Improve the documentation

The importance of documentation cannot be understated, as it is like an investment in the future. It can take time and energy, but it is essential to create full and comprehensive documentation together.

If you want to participate, please, follow the guidelines.

# 3. Help with Azure mirrors deployment

We want to make sure that AlmaLinux images in Azure Cloud will use local mirrors for each region, and don't pay for traffic. More info here.

# 4. Promotion, blog posts, translations, and more!

If you are looking to flex skills not directly involved in development, we are always looking for guest blog posts, help with translations of our website, folks to staff events, and much more! Reach out in the Marketing (opens new window) channel for more info!

# 5. More ways to help for DevOps & Programmers

# Need assistance? We are here to help!

If you're seeking assistance in connecting with the appropriate individual or group, or if you're interested in guidance on becoming a contributor to AlmaLinux, please don't hesitate to reach out. Join chat or reach out on our forums (opens new window)! Our community of amazing users of all experience levels are happy to help you puzzle out your problem.

+ + + diff --git a/Election2022.html b/Election2022.html new file mode 100644 index 000000000..967810156 --- /dev/null +++ b/Election2022.html @@ -0,0 +1,60 @@ + + + + + + Election 2022 | AlmaLinux Wiki + + + + + + + + + +

# AlmaLinux Board of Directors Election 2022

# Sept 19, 2022 - Election Results

Community Director:

Board Members:

# History

AlmaLinux OS Foundation is starting the election of the Board of Directors. We have 7 open positions to fill. +The election will start on September 4th, 2022.

At this stage we are looking for nominees for the Board of Director position. To be nominated you have to:

  • Be a member for at least 3 month by Sep 4th, 2022
  • Nominated by AlmaLinux member in good standing
  • To nominate someone email name & contact information of nominee to election2022@almalinux.org

Please, check FAQ section for more information.

# Nominees as of Aug 11, 2022

# FAQ

  • When does election start?

    • The election starts on Sep 4th, 2022 and run until Sep 19th, 2022. If we don't reach quorum by Sep 19th, the election will stay open until quorum is reached.
    • To reach the quorum we need 50% of all members to vote.
  • Who can be nominated?

    • Any member in good standing, approved by the membership committee not less than 3 months before the election
    • Note: only members in good standing may nominate a potential board member, and each nominee must have a supporting member (you cannot nominate yourself).
  • My company is a member sponsor, can it nominate any company employee?

    • Yes, sponsors can nominate any company employee, but if the employee is terminated, or company sponsorship laps, the person will be required to step down from the role.
  • Can I nominate myself?

    • No, you must be nominated by a supporting member in good standing.
  • How can I nominate someone?

    • E-Mail name & contact information of nominee to election2022@almalinux.org
  • Who can vote?

    • Any Platinum, Gold, Silver, Contributor, User, Alumnus, or Mirror member in good standing, approved by the membership committee on or before August 23rd
  • How can I vote?

    • You will get a link to the voting page in your e-mail on the day voting starts.
  • How many votes does each member get?

    • Contributor, Alumnus, Mirror members: 1 vote each
    • Platinum sponsors: 50 votes each
    • Gold sponsors: 15 votes each
    • Silver sponsors: 5 votes each
  • What is the minimum number of votes you need to win?

    • At least 50% of our membership must vote in order for the election to be valid
    • Top 7 candidates with most votes will win
  • How many seats are on the board, and how many are vacant?

    • There are 7 seats on the board, 3 are vacant, and 4 are up for re-election.
  • How long does a director serve?

    • A term on the board is 3 years, unless the director leaves for any reasons.
  • What platform will you use for the elections?

    • Helios.
  • Who can be nominated?

    • Any member in good standing, approved by the membership committee not less than 3 months before the election
    • Note: only members in good standing may nominate a potential board member, and each nominee must have a supporting nominee
  • Can I nominate myself?

    • No, you must be nominated by a supporting member in good standing
  • How are vacancies handled in the event that a director leaves before the end of their term?

    • If a seat is vacated less than three months before a planned election, the board may fill the vacancy by a majority vote, or may choose to leave the seat vacant.
    • If a seat is vacated more than three months before a planned election, the board must trigger an election to fill the seat or appoint someone to fill the seat.
  • Are directors on the board compensated?

    • Board positions are not compensated positions
  • Is Director at the AlmaLinux OS Foundation a full-time position?

    • It is not a full-time position.
  • How is the Chair of the board of directors elected?

    • The chair is one of the officers elected at the first meeting of the board of directors, or as needed.
  • Will the current board members need to be re-elected?

    • Yes, at every term they need to be re-nominated and elected
  • Can two members of the board also work at the same company?

    • No.
+ + + diff --git a/FAQ.html b/FAQ.html new file mode 100644 index 000000000..5d6b2717b --- /dev/null +++ b/FAQ.html @@ -0,0 +1,59 @@ + + + + + + FAQ | AlmaLinux Wiki + + + + + + + + + +
# last updated: 2023-10-02

# Frequently asked questions

# What is AlmaLinux?

AlmaLinux OS is a community-owned and driven, stable and secure Linux® distribution that is compatible with RHEL.

# Can I do X, Y, or Z with AlmaLinux?

Sure! AlmaLinux OS, much like RHEL and CentOS Stream, is a general purpose operating system. If it works with RHEL, then it should work exactly the same on AlmaLinux. We are not 1:1 with CentOS Stream, as Stream may at points track well ahead of our releases.

# What does ABI/binary compatible with RHEL mean?

In July of 2023, we announced (opens new window) that we were shifting our goal from being a downstream rebuild of RHEL to maintaining ABI compatibility with RHEL. For the AlmaLinux team that means that everything from software applications to kernel modules that work on RHEL will work on AlmaLinux, and if they don't we would consider that a bug.

# Is AlmaLinux OS FIPS-140 compliant??

AlmaLinux OS 9.2 is FIPS-140 compliant. Read more in this blog post: FIPS Validation for AlmaLinux OS (opens new window)

# Where did the name "AlmaLinux" come from?

We chose the name AlmaLinux in homage to the open source community around the world. Alma means soul in Spanish and other Latin languages. A vital part of Open Source is the passionate, diverse developer community, helping support the work of projects like the Linux kernel and really all open and free software. We believe that community is the soul of Linux, and Linux distribution users are indebted to the community's efforts.

# How is the community protected from future course changes?

The AlmaLinux OS Foundation is a 501(c)(6) that was founded in March of 2021 to own and manage the AlmaLinux OS project. We have been involving the community since the beginning, and the governing board is chosen by members of the foundation. At all times, AlmaLinux OS will be free and open.

# Why use AlmaLinux?

AlmaLinux OS is a community-owned and driven, stable, and secure Linux distribution. AlmaLinux is an opportunity for us to provide a Linux distribution that serves the broader community and which powers the computing needs of a wide range of users. Whether you are running a particle accelerator unlocking the mysteries of the universe, a Top500 HPC cluster, an enterprise running your database workloads, or a developer working on open source projects, AlmaLinux is for you.

AlmaLinux puts out new releases--fast. We typically release with a day or two of upstream RHEL releases. Updates are generally within 24 hours.

Our governance is under a 501(c)(6) non-profit organization to facilitate our objectives of being open, transparent and participatory. Community members who apply for membership in the foundation (for free) and are able to vote on the governing board of the AlmaLinux project and on critical decisions. There is no "ownership," and no controlling shareholders or interests. The foundation is by the members, for the members. All board meeting minutes are published and shared, including financial positions.

# What architectures and platforms do you support?

AlmaLinux currently supports four architectures - x86_64, aarch64, ppc64le, and s390x - providing full parity with upstream. In addition, we provide a wide range of other images and repositories: traditional ISOs, cloud and container images, live media, WSL - Windows Subsystem for Linux, and Raspberry Pi.

# Is AlmaLinux secure?

AlmaLinux provides a commitment to security updates and bug fixes for a period of 10 years for each major version. Moreover, AlmaLinux provides Errata, public OVAL streams, OpenSCAP and SCAP Workbench packages, including the availability of the official CIS Benchmark for AlmaLinux (opens new window). AlmaLinux has SBOM integrated into our build pipeline, facilitating software supply chain security.

# Where does AlmaLinux get package sources? How AlmaLinux is built?

The process in general looks like this:

  • We clone the upstream sources from the CentOS git repositories. These are the same source that Red Hat uses to build their packages.
  • De-branding: any trademarks are replaced at this point, and the .alma postfix is added to the end of the modified packages' "Release" field to distinguish our packages from upstream ones. You can also check the Modified packages page for more details.

    TIP

    Note: Most RPMs are rebuilt directly from the sources. The rebranding is required when any of the text/visual displays says Red Hat or RHN license manager enforcements.

  • Our build system Builds (opens new window) packages with notarization (SBOM).
  • Our testing system runs automated package Tests (opens new window) & we fix issues.
  • Release!

# How do I migrate a single host from CentOS to AlmaLinux?

AlmaLinux developed a migration tool (opens new window) to make it simple to migrate to AlmaLinux from other Linux distributions including CentOS and CentOS Stream.

You can read more details and find guide steps on the Migration wiki page.

# How do I migrate an entire fleet of servers from CentOS to AlmaLinux?

Since AlmaLinux is compatible with RHEL®, your applications and services should be completely interoperable. You can rapidly migrate any number of servers using AlmaLinux-deploy (opens new window).

# How do I migrate from CentOS 7 to AlmaLinux 8?

The AlmaLinux community has developed the ELevate project as an initiative to support migrations between a major version of RHEL-derivatives. It uses the Leapp utility (opens new window) and a few patches (opens new window) to support migration from CentOS are used to perform the upgrade.

Check the ELevate page for the list of the available migration directions and for the Quickstart Guide.

# How long will AlmaLinux be supported?

The AlmaLinux OS Foundation is committed to supporting AlmaLinux including stable and thoroughly tested updates and security patches until:

Release End-of-Life
AlmaLinux 8.x 2029
AlmaLinux 9.x 2032

# How to Report Bugs

# I found a bug in RHEL; can I contribute the bug fix to AlmaLinux?

Since AlmaLinux aims to be as close to RHEL as possible, it should have nearly the same bugs as the current release of RHEL. AlmaLinux recommends following an "upstream first" approach to fix these bugs by testing against CentOS Stream, and submitting them to CentOS Stream (opens new window). For more information, please, see the Contribute page.

# Bug Tracker

To make AlmaLinux successful, we need the close involvement of the community members. We use our bug tracking system to find, track, and fix bugs. We encourage AlmaLinux users to help us by filling in bug-reports. You can track and discuss all bugs on bugs.almalinux.org (opens new window).

# How can I request a package be added to AlmaLinux?

Since AlmaLinux attempts to be as close to RHEL as possible, it does not add packages to the distribution unless they are added to RHEL. In general, the best place for additional packages is the Extra Packages for Enterprise Linux (EPEL) (opens new window) repository. Any Fedora package that is not in RHEL can be requested (opens new window).

# Why does the AlmaLinux codename include cats?

Having codenames for operating systems has a long history and has been adopted widely. While they aren't needed for us specifically, we keep them as part of our distribution both as an homage to our roots, and because the add a bit of levity to our work. Each minor version of AlmaLinux follows a specific pattern.

  • AlmaLinux 8 - blue color + cat name
  • AlmaLinux 9 - green color + cat name

Icelandic people believed that cats can eat you for Christmas dinner.

Many sailors and fishermen think that if a cat falls overboard, a storm will show up and the ship will be capsized.

Every Norwegian Forest Cat is supposedly thought to be either a fairy or a goblin in disguise.

The AlmaLinux project prefers to ignore such superstitions and goes for the Japanese version of the cat’s soul nature - the maneki-neko (opens new window) is an iconic Japanese talisman that, it’s believed, brings good fortune to its owner. One legend explains that a Japanese cat once waved a paw to beckon a lord into a house, which saved him from being struck by lightning a moment later, and so a cat who beckons with her paw is considered a lucky gesture.

Which is why we have decided to choose color + cat breed for AlmaLinux release naming convention. The first release was named Purple Manul, and the releases since have followed the same pattern.

# Trademark notices

Red Hat, Red Hat Enterprise Linux are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.

+ + + diff --git a/Help-and-Support.html b/Help-and-Support.html new file mode 100644 index 000000000..892f6733f --- /dev/null +++ b/Help-and-Support.html @@ -0,0 +1,59 @@ + + + + + + Help and Support | AlmaLinux Wiki + + + + + + + + + +
# last modified: 2024-03-05

# Get Community Help and Support

The AlmaLinux Worldwide Community is made up of users with diverse skill sets and experience levels who can assist and support you across a range of questions, topics, and troubleshooting technical issues.

There are various spaces, forums and chats for discussions so that you can reach out to the Community.

TIP

Please, note, that typically signing up is required to join AlmaLinux discussion spaces.

# Community Chats

Community chats allow users to communicate in various channels, each with specific topics like Packaging, Cloud, and Documentation, etc. If you have a question or need help, post a question in the General (opens new window) channel or in the relevant channel for assistance.

# Forums

AlmaLinux OS also provides public forums for free information sharing and assistance from other AlmaLinux members. Additional Subforum categories foster conversations around a specific aspect of AlmaLinux.

# Mailing Lists

You can receive information, announcements, news letters, and updates over email by subscribing to the AlmaLinux Mailing Lists (opens new window).

# Social Media

If you want to stay up-to-date, stay tuned on AlmaLinux Social Media:

# Chat Policies

We kindly ask any Community member to:

  • Be respectful and polite to others.
  • Refrain from using offensive language or harassing others.
  • Be mindful of cultural and social sensitivities when engaging in conversation.
  • Avoid sharing personal information or disclosing confidential details.
  • Respect each other's diverse skills and abilities.
  • For those, who are sharing their expertise, provide as much detail as possible to enhance understanding and collaboration among all members.
  • Report any violations of the rules to the AlmaLinux OS Foundation.

# Getting Help Recommendations

For the convenience of all Community members and a faster response, we advise minding these recommendations when posting a question/issue:

  • Formulate a question/problem. It should be formulated clearly and easily to understand.
  • Provide as many details including software/hardware information as possible.
  • Provide any logs that might be relevant and helpful.
  • Provide any command output that might be relevant and helpful.

# Providing an output

When asking for assistance, we kindly ask you to use the mentioned below ways of sharing any output.

Note, that it's preferable and recommended to use bash syntax.

# paste.almalinux.org

We suggest you use the https://paste.almalinux.org/ (opens new window) service for sharing your outputs.

  • Navigate to https://paste.almalinux.org/ (opens new window)

  • Select bash syntax.

  • Create a file name that is easy to understand.

    image

  • Enter your code/output in the window and select its expiration time.

    image

  • Click the Add another file to add more code/output pieces.

  • Click the Paste button to complete.

    image

  • Copy the link, paste it to the chat and send it with a message describing your problem. Download your output if needed for further usage.

    image

# Markdown code block

Another way to send your output is to use Markdown elements to enter your code/output.

This example is based on Mattermost chat.

  • Click on the code chat element.

    image

  • It will create an input code element - ``. Extend it to be a code block and add bash syntax. Write your output into this code block.

    ```bash
    +enter your output
    +```

    That is how it will look in the chat: +image

  • Click the eye sign in the top left corner to preview how your output looks: +image

  • Send the output with a message describing your problem.

+ + + diff --git a/Help-translating-site.html b/Help-translating-site.html new file mode 100644 index 000000000..ded1475d9 --- /dev/null +++ b/Help-translating-site.html @@ -0,0 +1,59 @@ + + + + + + Help translating site | AlmaLinux Wiki + + + + + + + + + +

# Help translating the site

The almalinux.org website (opens new window) localization and translation is managed by Weblate (opens new window) and supported by contributors. The translations that get submitted through Weblate are automatically submitted to the almalinux.org repo (opens new window) as a pull request.

Pull requests from Weblate are reviewed by a member of the marketing SIG or another team lead, and merged as appropriate.

If you would like to help contribute to translations, you can do so by following the directions below!

# Create an account

First you need to create a Weblate (opens new window) account. You could use accounts from other service providers or fill in the form shown below to create it.

image

# Starting to translate

After creating an account we need to head to AlmaLinux Foundation Weblate (opens new window):

image

Choosing each one of the two should send you to a page similar to the image below.

image

Then choose the language you want to translate to. For this example, I'll choose Hebrew (opens new window).

image

After translating from English to your chosen language (.e.g Hebrew) press on "Save and continue" and your translation will be sent eventually as a PR to the almalinux.org repo (opens new window) and reviewed by a member of the marketing SIG or another team lead, then merged as appropriate.

# Request new languages

You can request new languages to be added by creating a ticket in GitHub issues (opens new window), like so:

image

+ + + diff --git a/Howto.html b/Howto.html new file mode 100644 index 000000000..1604e8cd6 --- /dev/null +++ b/Howto.html @@ -0,0 +1,59 @@ + + + + + + Howtos | AlmaLinux Wiki + + + + + + + + + +
+ + + diff --git a/LiveMedia.html b/LiveMedia.html new file mode 100644 index 000000000..c80d2eb8e --- /dev/null +++ b/LiveMedia.html @@ -0,0 +1,63 @@ + + + + + + Live Media | AlmaLinux Wiki + + + + + + + + + +

# Live Media

# About Live Media

Live Media is a way to try AlmaLinux on your computer without installing it to the hard drive. You can run it from a USB or DVD to preview and for system rescue needs. Images support both BIOS and UEFI, including Secure Boot mode.

# Live Media Options

There are a few AlmaLinux Live Media Options:

  • GNOME Mini: contains a core GNOME environment with Firefox browser
  • GNOME: contains a full GNOME environment with popular workstation applications like LibreOffice, Thunderbird and so on.

image

  • KDE: contains KDE desktop environment with Firefox browser, Konqueror browser, and applications like LibreOffice, Thunderbird, etc.

image

  • MATE: contains MATE desktop environment with Firefox browser, LibreOffice and other applications.

image

  • XFCE: contains XFCE desktop environment with Firefox browser, Thunderbird, LibreOffice, and more applications.

image

# How to download and write images

The first step is to download an AlmaLinux image:

Then it all depends on what OS you use.

Linux:

It is simple to use the dd command for any Linux OS.

Insert your target USB and locate it. There are different ways to do it but here are some of them:

  • sudo fdisk -l - this command shows you the connected block storage devices, including the USB devices.

  • lsblk - this command gives you all the available block storage devices, including the USB block storage devices.

  • sudo blkid - this command gives you the same information as lsblk, but you have to rub it as root.

You need to look for /dev/sda or /dev/sdb or /dev/sdc, which is your target USB.

After you found out the location of your target USB, navigate to the location of your source ISO. Run dd command to copy files from ISO to USB:

sudo dd if=/AlmaLinux-8-x86_64-Live-GNOME-Mini-beta-1.iso of=/dev/sdc status=progress

dd: Start the dd command to write DVD/CD iso image. +if=AlmaLinux-8-x86_64-Live-GNOME-Mini-beta-1.iso: path to the input file. +of=/dev/sdc : path to destination USB disk/stick. +status=progress: display a progress bar while writing the image to the USB stick such as /dev/sdb. +That’s all! You now have ready Live AlmaLinux on a USB stick.

WARNING

This example is for AlmaLinux 8. Don't forget to replace 8 version with 9 to work with AlmaLinux 9 image.

Windows:

For Windows OS there is a helpful free and open-source application - Rufus (opens new window).

Open the application, choose your target USB, ISO you need to burn, press start - and Live OS is ready to run.

macOS:

The cross-platform tool balenaEtcher (opens new window) is used to write images on macOS. It is simple too. Open balenaEtcher, choose the image and the USB, press Flash.

More details and information about AlmaLinux Live Media can be found on Live Media SIG (opens new window).

+ + + diff --git a/Mirrors.html b/Mirrors.html new file mode 100644 index 000000000..5676e7f77 --- /dev/null +++ b/Mirrors.html @@ -0,0 +1,130 @@ + + + + + + Mirrors | AlmaLinux Wiki + + + + + + + + + +

# How to create a public mirror for AlmaLinux

Mirrors are extremely important to provide a fast and reliable +infrastructure, and we are very grateful to people and organizations that +help us with this. The current list of public mirrors can be found on the +mirrors.almalinux.org (opens new window) website.

You can create a public AlmaLinux mirror in a few easy steps:

  1. Make sure that you have enough free space: 500GB per major version is the suggested minimum. As there are currently two supported major versions (8 and 9) the recommended minimum storage space is 1TB.

Optional but recommended

Use updated version of rsync with xxhash support.

  • xxhash provides a superior hashing algorithm to rsync which lightens the load on the source and destination +servers. +We maintain an up-to-date version +of rsync in the AlmaLinux backports repository. To use this repository on EL8 and EL9 distros:
    curl https://repo.almalinux.org/backports/almalinux-backports-rsync.repo --output /etc/yum.repos.d/almalinux-backports-rsync.repo
    +yum -y update rsync
    +
  • You can verify that you have the expected version of rsync and xxhash support as follows:
    $ rsync --version |grep xxhash
    +xxh128 xxh3 xxh64 (xxhash) md5 md4 sha1 none
    +
  1. Synchronize with the official AlmaLinux mirror via rsync:

    /usr/bin/rsync -avSH --exclude='.~tmp~' --delete-delay --delay-updates rsync://rsync.repo.almalinux.org/almalinux/ /almalinux/dir/on/your/server/
    +
    • The official tier0 rsync mirrors are in Atlanta, GA, USA, and Seattle, WA, USA. We use geolocation-based DNS steering to send your traffic to the closest tier0 mirror. If your mirror is not in the United States or you are +otherwise seeing suboptimal speed from this source we recommend performing the initial sync from a mirror +close to you. Make sure that your cron syncs from the official mirror, however.
  2. Create a cron task to sync it periodically (we recommend updating the +mirror every 3 hours):

    0 */3 * * * sleep $(((RANDOM\%3500)+1)) && /usr/bin/flock -n /var/run/almalinux_rsync.lock -c "/usr/bin/rsync -avSH --exclude='.~tmp~' --delete-delay --delay-updates rsync://rsync.repo.almalinux.org/almalinux/ /almalinux/dir/on/your/server/"
    +
  3. Ensure the accuracy of city, longitude, and latitude data for your mirror IP(s) with IPinfo at +https://ipinfo.io (opens new window). +Submit a correction request (opens new window) with accurate city data +if the information is incorrect.

    Our mirrorlist URL tries to serve the best mirror to a client based on IPinfo geolocation data +so having accurate IPinfo data ensures the best possible experience for users.

  4. Join the mirror-announce (opens new window) mailing list to receive +important mirror-related updates from the AlmaLinux team.

    You may also consider joining the mirror (opens new window) mailing list for +general discussion/help related to mirrors.

    We recommend joining the mirrors channel on Mattermost (opens new window) for any questions +as well as updates from our team that impact mirror hosts in a live interactive format.

  5. Fork the github.com/AlmaLinux/mirrors (opens new window) +repository and create a pull request that will add a YAML file describing +your mirror to the mirrors.d directory. +You can use the official AlmaLinux repo file (opens new window) +as an example. Your mirror does not have to provide all the protocols +that our main mirror provides, but either HTTP or HTTPS is required. Format of a mirror's config is described below. +Also, you can validate your config to use some JSON online validator using that JSON schema (opens new window) and converting your config to JSON.

    ---
    +name: <domain name of a mirror, e.g. almalinux.mirror.link>
    +cloud_type: <azure|aws. It'll be required if a mirror is located in AWS/Azure cloud>
    +address:
    +  http: <http URL to a mirror, e.g. http://almalinux.mirror.link/almalinux>
    +  https: <https URL to a mirror, e.g. https://almalinux.mirror.link/almalinux>
    +  rsync: <rsync URL to a mirror, e.g. rsync://almalinux.mirror.link/almalinux>
    +  ftp: <ftp URL to a mirror, e.g. ftp://almalinux.mirror.link/almalinux>
    +update_frequency: <update frequency of a mirror, e.g. 1h>
    +sponsor: <Name of a mirror's sponsor/holder, e.g. Some company name>
    +sponsor_url: <URL of a mirror's sponsor/holder, e.g. http://some.company.name>
    +email: <e-mail of a mirror's sponsor/holder, e.g. admin@some.company.name>
    +geolocation:
    +  continent: <name of a continent, e.g. North America; this field is not mandatory>
    +  country: <two-letter name of a country, e.g. US>
    +  state_province: <name of a province, e.g. New York>
    +  city: <name of a city, e.g. New York>
    +private: <true|false. A mirror is available in some local network if the param is true>
    +monopoly: <true|false. The mirrors list contains only this private mirror for a suitable client if param is true>
    +# The list will be required if a mirror is local or cloud.
    +# It contains subnets behind which located a private mirror.
    +# Also, it can be string and contains URL which returns json list with subnets
    +subnets:
    +  - <network mask>
    +# That parameter can specify ASN which is maintained by a mirror is located in cloud
    +# It can be number or list of numbers:
    +# asn: 40162
    +# or
    +# asn:
    +#   - 41222
    +#   - 91213
    +# or
    +# asn: [12345, 98765]
    +asn: <ASN number or list of ASN numbers, see https://en.wikipedia.org/wiki/Autonomous_system_(Internet)>.
    +# The list will be required if a mirror is located in Azure/AWS cloud
    +cloud_regions:
    +  - <cloud_region of Azure/AWS, e.g. australiacentral2>
    +...
    +

    You could find more information about creating a pull request in +GitHub documentation (opens new window). +After reviewing the pull request your mirror will be published at the +mirrors.almalinux.org (opens new window) page and will +be added to the mirrorlists that dnf package manager works with.

All mirror hosts are eligible for membership to the AlmaLinux OS Foundation. +Make sure you submit your application for membership (opens new window)!

+ + + diff --git a/Transparency.html b/Transparency.html new file mode 100644 index 000000000..0d25f57c5 --- /dev/null +++ b/Transparency.html @@ -0,0 +1,60 @@ + + + + + + AlmaLinux OS Foundation | AlmaLinux Wiki + + + + + + + + + +

# AlmaLinux OS Foundation

The AlmaLinux OS Foundation is 501(c)(6) non-profit organization. It owns all assets related to AlmaLinux OS. It is governed by a set of Bylaws (opens new window).

# We strive to be transparent

The goals of a Community-owned operating system needs to include transparency in all things. If you ever have a question, request, or need that isn't being satisfied through the available channels, you may always reach out to any member of the board for assistance. As of January 10th, 2023 the board has adopted a Code of Ethics (opens new window).

As of December 17, 2023, the foundation has a 9 board directors.

Non-voting invited experts to the board

  • David Snead (opens new window) - David is the current Legal Counsel at WebPros and acts in a general advisory role for the AlmaLinux OS Foundation board

# First board elections

# The plans for the board

  • The board has completed the membership structure, and has opened membership. Blog post (opens new window) Press Release (opens new window)
  • Igor Seletskiy has stepped down from the Board of Directors, and the Board has elected benny Vasquez to replace him.
  • The board will be expanded to up to 13 directors (as new Platinum members arrive) to make sure that no single company controls the AlmaLinux OS Foundation.

# Assets and build environment

All the code we release is under GPL3 or MIT license. +All the trademarks and assets are owned by AlmaLinux OS Foundation.

Some assets were initially owned by CloudLinux, Inc, but were transferred from CloudLinux to the AlmaLinux OS Foundation.

asset What needs to be done Status
almalinux.org domain Assign the rights to AlmaLinux, in theory, we can leave the control over it to the CloudLinux IT folks, same as over the rest AlmaLinux infrastructure DONE as of May 24, 2021
AlmaLinux OS trademark sublicense Request CloudLinux Foundation to re-assign AlmaLinux OS from CL to AlmaLinux OS Foundation DONE, Sublicense ID number 20210506-0001
social media accounts Reassign them to AlmaLinux OS Foundation. In Progress
github almalinux account Already open-sourced, nothing needs to be done DONE
Build/Test system Work has started to open source it, but it will require some time. ETA - end of Q2 or Q3 DONE (opens new window)
RPM signing keys Need to be "assigned" as belonging to AlmaLinux OS Foundation, need to come up with signing ceremony, who controls it Q3 2023: Need to come up with rules for holding keys
EV certificate for Secure Boot We've been on an AlmaLinux owned cert since 8.8/9.2 DONE
Logo License for the foundation Transfer documents, and initial acquisition document uploaded into a Logo Transfer folder, transfer document signed DONE - all assets in the Google drive

# Minutes of AlmaLinux OS Foundation Board Meetings

The Board of Directors meets monthly on the second Tuesday of the month. At each meeting, the board works to keep minutes so that they can be approved as part of that meeting and shared immediately after the meeting completes. In the event that there is little to discuss, the Chair of the board may opt to cancel a meeting, allowing the board to meet every other month.

# Membership Committee

In September of 2021, the Board of Directors opened up membership applications (opens new window) for all the members of the AlmaLinux community wishing to participate in the future of AlmaLinux. The Board also ratified the Membership Committee Governance, and appointed a selection of existing Foundation Members to participate in the Membership Committee.

The Membership Committee meets on the third Tuesday of every month for 30 minutes as long as there are applicants to be reviewed, and reviews as many applications as the time allows.

As of Oct 11, 2021 the Membership Committee consists of:

+ + + diff --git a/alesco.html b/alesco.html new file mode 100644 index 000000000..8749d2b73 --- /dev/null +++ b/alesco.html @@ -0,0 +1,52 @@ + + + + + + ALESCo | AlmaLinux Wiki + + + + + + + + + +
# last updated: 2024-05-20

# ALESCo

The AlmaLinux Engineering Steering Committee (ALESCo), is a self-governing body made of active contributors to the project that will guide the technical direction of the AlmaLinux distribution. Participation in the meetings, discussions around potential changes, and other needs will be open to the AlmaLinux community, unless prevented for specific reasons (for example: an embargoed security patch). This committee was formed by vote of the 32nd meeting (opens new window) of the AlmaLinux OS Foundation board, May 8th of 2024.

# How to participate

Adding your voice to the ALESCo discussions is the easiest way to participate! You can show up to a meeting, add a vote or perspective to a change discussion, or ask or answer questions in chat! Not every participant needs to be a member of ALESCo, but if you do, we will soon have a way for you to express your interest.

Where we chat

We use the AlmaLinux mattermost for most communication.

~alesco on chat.almalinux.org (opens new window)

Where and when we meet

Meeting times have yet to be decided, but they will eventually be listed on events.almalinux.org (opens new window) in the ALESCo topic.

# Activities, projects, and deliverables

Dubbed “air traffic control” for all engineering matters, ALESCo will ensure AlmaLinux’s robustness, reliability, and sustainability while working collaboratively with and overseeing technical decisions in relevant Special Interest Groups (SIGs). The committee will hold five key responsibilities:

  • Technical oversight for the operating system
  • Transparency in engineering decisions
  • Ensuring Long-Term Stability Focus
  • Release Management
  • SIG support

# Help wanted

As the committee gets its feet under it, this section will be expanded to include more information. Initially, this committee's responsibilities will be defining a collection of processes:

  • how the AlmaLinux project accepts requests for changes from the community
  • what changes the project is willing to consider
  • how the project solicits feedback from the greater AlmaLinux community about the changes it considers
  • how community members express interest in joining ALESCo

# Committee members

The foundation board appointed the initial committee members, but the rest of the management of the members will be done by the committee itself. Current members:

# Accepted Proposal

This proposal was a collaboration between the foundation board and many community members, and now acts as the governing document for this committee. Adjustments to this governing document require board approval.

# AlmaLinux Engineering Steering Committee (ALESCo)

co-authored by: Jonathan Wright, Infrastructure Lead; Cody Robertson, Infrastructure Team

# Mission Statement:

The AlmaLinux Engineering Steering Committee (ALESCo) is dedicated to guiding the technical direction of the AlmaLinux distribution on a day-to-day basis within the guidelines set forth by the board, ensuring its robustness, reliability, sustainability, and relevance in the open-source ecosystem. ALESCo will work collaboratively with, and oversee relevant technical-focused Special Interest Groups (SIGs) to achieve these goals. It is "air traffic control" for engineering matters.

# Tasks and Responsibilities:

  1. Policy Oversight: Create and maintain policies on the management of technical aspects of the AlmaLinux project. Its primary purpose is to be a policy-making group for when the need arises; for example, to lay out a clear framework for when we would deviate from upstream to provide a CVE or bug-fix patch early.  Examples: +
    1. Change Proposals: Evaluate and approve new features or changes proposed for inclusion in AlmaLinux or relating to AlmaLinux's technical and engineering operations.
    2. Package and Software Decisions: Supervise the inclusion, updating, and maintenance of software packages in the AlmaLinux repositories and ultimately decide which packages are added and removed from AlmaLinux.
  2. Conflict Mediation: Act as a final arbiter in technical disputes related to AlmaLinux's operations within the community, ensuring decisions align with the project's best interests.
  3. Long-Term Stability Focus: Prioritize the unique needs of users by ensuring enterprise-grade stability, compatibility, and long-term support in ALESCo's decisions. This includes a commitment to rigorous testing of updates, maintaining consistent software packages and configurations, emphasizing security, and providing comprehensive documentation to support deployments at all scales.
  4. Release Management: Oversee the release cycle of AlmaLinux to meet the needs and expectations of our users per our mission statement.
  5. SIG Liaisons: Each technical SIG needs to ensure ALESCo is aware of its plans and actions. To address this, if an ALESCo member is not actively participating in the SIG, it should work with the SIG to ensure a liaison attends ALESCo meetings.

# Policies:

  1. Transparency: All meetings, decisions, and discussions will be public, ensuring transparency and community involvement. ALESCo members must publicly disclose their employer and any conflicts of interest, and maintain this disclosure in the wiki, updating it as necessary for accuracy.
  2. Appointments: The first ALESCo members are to be appointed by the Board of Directors.  After the initial appointment, the membership of ALESCo will manage itself - adding members or filling vacancies as deemed necessary by vote of the current members. ALESCo members are expected to have and maintain relevant knowledge and understanding of the technical aspects surrounding AlmaLinux as well as the greater enterprise Linux and open source ecosystems to allow them to make informed decisions in policy creation and voting.
  3. Term Duration: ALESCo members are appointed with no set term. Every 6 months, at the time of chair election within ALESCo, each member is to be asked if they intend to continue serving or choose to step down.
  4. Meeting Frequency: ALESCo will meet regularly, no less than once per month.
  5. Decision Making: Decisions will be made based on a majority vote. In case of a tie, the chairperson (or a designated member) will have the deciding vote.
  6. Quorum: A quorum is defined as 50% of members +1 with a minimum quorum always being at least four (4) members. A quorum is required for any votes.
  7. Dissolution: At a point where the ALESCo is no longer functioning for the good of the AlmaLinux community, the board reserves the right to dissolve the committee and reform it with new members.

# Chair:

  1. The position of the chair will rotate among the elected members of ALESCo on a semi-annual basis- a 6-month term. This ensures diverse leadership and prevents a single point of prolonged control, fostering a more inclusive decision-making process.
  2. To ensure a smooth transition, the outgoing chair will work closely with the incoming chair, facilitating knowledge transfer and operational continuity.
  3. The chair will be elected by members of ALESCo.
  4. The chair cannot serve more than 2 consecutive terms (1 year) as chair.
  5. The chair's primary responsibility is coordinating and facilitating meetings. The chair holds no special powers outside of what is defined in this document.

# Acknowledgements:

We would like to thank the following people for their contribution to this proposal in the form of feedback and ideas:

  • Alex Iribarren; CERN
  • benny Vasquez; Chair, AlmaLinux Board of Directors
  • Brian Farrell; Hawk Host, Inc.
  • Daniel Pearson; KnownHost, LLC
+ + + diff --git a/alesco/meeting-minutes.html b/alesco/meeting-minutes.html new file mode 100644 index 000000000..06a131ca2 --- /dev/null +++ b/alesco/meeting-minutes.html @@ -0,0 +1,59 @@ + + + + + + AlmaLinux Wiki + + + + + + + + + +

Each meeting of ALESCo is public, and future meetings can be found on events.almalinux.org (opens new window)

# ALESCo Meeting Minutes

+ + + diff --git a/alesco/meeting-minutes/2024-07-24.html b/alesco/meeting-minutes/2024-07-24.html new file mode 100644 index 000000000..d887dfd96 --- /dev/null +++ b/alesco/meeting-minutes/2024-07-24.html @@ -0,0 +1,65 @@ + + + + + + ALESCo Meeting Minutes (2024-07-24) | AlmaLinux Wiki + + + + + + + + + +

# ALESCo Meeting Minutes (2024-07-24)

Minutes recorded by Cody Robertson.

Edited by Cody Robertson and Jonathan Wright for publishing.

# Members

# Attendance

  • Jonathan Wright
  • Cody Robertson
  • Andrew Lukoshko
  • Elkhan Mammadli
  • Ben Thomas
  • Neal Gompa

# Community Attendees

  • Michel Lind

# Decisions Adopted

  1. AlmaLinux 10's default x86_64 microarchitecture build will be v3, following RHEL. Approved building and maintaining x86_64_v2 as a separate architecture for AlmaLinux 10. +
    • Unanimous decision.
  2. AlmaLinux 10 will have frame pointers enabled, diverging from RHEL 10 which will not have frame pointers. +
    • Unanimous decision
  3. AlmaLinux will publish a rolling-style distro build, serving as a continuous beta release, starting with AlmaLinux 10. +
    • Unanimous decision

# Minutes

  • ALESCo Logistics +
    • Items: +
      • Meeting times
      • Recording
      • Meeting chat (public?, live?)
      • Where to publish: minutes, recordings (GitHub repository, wiki, etc)
      • Issue tracker (GH repo?)
      • Policy/procedure documentation
    • Will be discussing further via chat channels
  • RHEL moving to x86_64 v3 microarchitecture in version 10 +
    • Some older hardware becomes unsupported
    • Improved performance
    • Community has voiced concerns with RHEL's decision on social media +
      • CERN and other labs have voiced concerns
    • AlmaLinux will build a maintain a separate x86_64_v2 release. v3 will be the default.
    • Package naming is TBD. RHEL is using x86_64 for v3 which is incorrect, they should use x86_64_v3 +
      • Will have discussions with them at FLOCK about this +
        • We'd like to follow RHEL's direction as our upstream, so we hope to talk with them about using the architecture tagging properly.
      • AlmaLinux v2 builds will use x86_64_v2 tags +
        • Andrew & team working on patching various applications in the RPM stack to support this within AlmaLinux +
          • Can potentially PR this work upstream to help convince RHEL to use the proper _v3 naming within RHEL 10
    • Enable frame pointers in AlmaLinux 10 builds +
      • Most competing distros are enabling them now
      • Negligible performance impact +
        • Loss of a register affects x86 32bit, legacy hardware take a noticeable hit
      • Allows continuous real-time profiling for "cheap"
      • Fedora enabled them several versions ago with no complaints after enablement
      • Especially useful in HPC
      • CentOS Hyperscale SIG considering enabling it by default
      • Do we offer non-frame pointer builds
    • Rolling release build for AlmaLinux 10 +
      • Serves as continous beta release
      • Will run full composes at least twice-yearly
      • Package updates will be a constant flow
      • Separate mirror source/repo on infra side
      • We're doing this already for AlmaLinux 10 development, just not currently publishing the resulting builds in a repoitory/as an OS
      • Not a replacement for point releases
      • We have to be mindful of security releases/patches from upstream
      • OpenQA to test all of the builds
      • Build in-line with point release (ex, frame pointers enabled)
+ + + diff --git a/alesco/meeting-minutes/2024-08-21.html b/alesco/meeting-minutes/2024-08-21.html new file mode 100644 index 000000000..57f968b06 --- /dev/null +++ b/alesco/meeting-minutes/2024-08-21.html @@ -0,0 +1,68 @@ + + + + + + ALESCo Meeting Minutes (2024-08-21) | AlmaLinux Wiki + + + + + + + + + +

# ALESCo Meeting Minutes (2024-08-21)

Minutes recorded by Jonathan Wright.

Edited by Jonathan Wright for publishing.

# Members

# ALESCo Member Attendees

  • Jonathan Wright
  • Cody Robertson
  • Andrew Lukoshko
  • Elkhan Mammadli
  • Ben Thomas
  • Neal Gompa

# Board Attendees

  • benny Vasquez
  • Alex Iribarren

# Community Attendees

# Decisions Adopted

  1. SPICE support to be added back to AlmaLinux 10 +
    • Removed in RHEL 9
    • Will revisit for enablement in AlmaLinux 9 at a later time
    • Unanimous decision

# Minutes

  • SPICE Support in AlmaLinux +
    • Neal: Dropped in RHEL due to no RHEL stacks dependent on it. +
      • Cody: https://bugzilla.redhat.com/show_bug.cgi?id=2030592
    • We can package server-side components in AlmaLinux
    • We can package client-side components in EPEL
    • benny: Concerned about further deviation from RHEL +
      • Retracted after clarification of no modifcations to kernel, and only addition of packages
    • Neal: Virt stack in RHEL remains relatively close to upstream, so good for maintainability of these additions
    • Neal: Upstream libvirt maintainers are good to work with, can probably propose running their CI against AlmaLinux Kitten 10
    • Voted to enable/build necessary packages for AlmaLinux 10 unanimously
    • Tabled discussion of adding back to AlmaLinux 9 at a later time
  • benny: ALESCo Live Community Q&A +
    • No ALESCo members against this
    • Will be moderated by benny
    • Potentially quarterly
    • benny will coordinate a time that works for ALESCo members, maybe Sept. 4 or Sept. 11
    • Great for transparency and community engagement
  • Disabled HW in RHEL10 +
    • Andrew: What should we re-enable +
      • All: Mellanox definitely
      • Andrew: 10s of devices disabled in EL10 kernel
      • Jonathan: QLogic & other less-used devices?
    • Neal: Linux Plumbers will be useful to make connections to RHEL kernel maintainers +
      • They are generally willing to merge things for RHEL-disabled components as long as they don't impact enabled-components.
      • We probably need a separate process for users to request hardware enablement of devices
    • Ben: Already has requests within UCL for re-adding support for QLogic cards
    • Alex (Board): Must be careful when enabling things that might appear easy to flip a flag now but will potentially later become more difficult to maintain.
    • Jonathan: We can agree on an initial list of things to re-enable that are very common and/or we have direct experience with and vote on the rest as demand arises throughout the AlmaLinux 10 life cycle.
  • Elkhan: Separate kernel for PPC with KVM enabled +
    • Neal: Basically what centos hyperscale does with their kernel - RHEL-ish config (based on Fedora) + enablement on some thingfs
    • Neal: What if we just re-enable it in the main Alma kernel since it is a flag? +
      • Jonathan: We can mark that feature specifically as experimental, even in the main Alma kernel
      • Andrew: Just changing the flag isn't enough, a few patches are required to get it to build
    • Elkhan: Use-case is openQA and image building +
      • All: not aware of any use-cases or requests from users
    • Ben: Separate workflow for kernel-specific requests? +
      • Neal: fits within the other already-discussed to-be-defined change request processes
  • Andrew: Secure-Boot Signing ELRepo or other 3rd party kernels +
    • Building works, signing works, never got further feedback on if we want to do this or not
    • Are we going to collaborate with 3rd party if we were to do this?
    • Neal: Anything we sign should be AlmaLinux-hosted +
      • All: agreed on this point
    • Neal: Have discussed with Jonathan about also maintaing the Hyperscale kernel for AlmaLinux
    • Jonathan: Situation is too fluid right now to make a decision on this at the moment.
    • Jonathan: Better if we have a SIG that wants to maintain something within AlmaLinux versus pulling from a 3rd party
    • Neal: Signing SIG kernels in general +
      • We have to be able to trust the full tree and trace back all changes to the origin
    • Jonathan: Motion to revisit this at a later time +
      • All: agreed
  • Jonathan: Revisit ALESCo meeting times +
    • Have heard from interested community members they cannot attend the current time of 10AM EST
    • Was difficult to select current time, tough to fit into ALESCo members schedules given varying countries/schedules
    • Neal: Potential compromise is scheduling the community Q/A sessions at varying times to be more accessible
    • Cody: Can re-run a discussion among ALESCo members to try to find a new time
+ + + diff --git a/alesco/meeting-minutes/2024-09-04.html b/alesco/meeting-minutes/2024-09-04.html new file mode 100644 index 000000000..dc805d074 --- /dev/null +++ b/alesco/meeting-minutes/2024-09-04.html @@ -0,0 +1,54 @@ + + + + + + ALESCo Meeting Minutes (2024-09-04) | AlmaLinux Wiki + + + + + + + + + +

# ALESCo Meeting Minutes (2024-09-04)

Minutes recorded by Jonathan Wright.

Edited by Jonathan Wright for publishing.

# Members

# ALESCo Member Attendees

  • Jonathan Wright
  • Cody Robertson
  • Andrew Lukoshko
  • Elkhan Mammadli
  • Ben Thomas
  • Neal Gompa

# Board Attendees

  • benny Vasquez

# Community Attendees

  • Lance Albertson

# Decisions Adopted

  • KVM will be supported on POWER in AlmaLinux 10. +
    • Unanimous decision

# Minutes

  • Cody: Old business: tabled discussion about adding SPICE to EL9 from previous meeting

    • Andrew: too early to decide, built for 10 but haven't tested yet
    • Cody: will table indefinitely/for a month or two
  • Cody: will revisit times for meetings this week

  • Cody: alesco chair

    • Jonathan: nominates Cody
    • vote: unanimous
  • Lance: kvm on power on el9, currently maintaining own patches

    • Elkhan/Andrew: we're doing this sort of now internally, not published/maintained
    • Elkhan: have you noticed any issues? +
      • Lance: haven't tested much yet, don't have el9 live on infra yet, seems fine so far
    • Jonathan: dropped from 10 as well?
    • Andrew: yes
    • Neal: maybe should skip 9 and aim for 10
    • Jonathan to lance: can you skip to 10? +
      • Lance: dependent upon rdo, probably would have to keep patching manually
    • Neal: let's push as much as we can upstream to centos kernel
    • Lance: power 8 support in el10? It got dropped
+ + + diff --git a/assets/css/0.styles.5d429379.css b/assets/css/0.styles.5d429379.css new file mode 100644 index 000000000..902c36552 --- /dev/null +++ b/assets/css/0.styles.5d429379.css @@ -0,0 +1 @@ +code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}.theme-default-content code{color:#476582;padding:.25rem .5rem;margin:0;font-size:.85em;background-color:rgba(27,31,35,.05);border-radius:3px}.theme-default-content code .token.deleted{color:#ec5975}.theme-default-content code .token.inserted{color:#017698}.theme-default-content pre,.theme-default-content pre[class*=language-]{line-height:1.4;padding:1.25rem 1.5rem;margin:.85rem 0;background-color:#264154;border-radius:6px;overflow:auto}.theme-default-content pre[class*=language-] code,.theme-default-content pre code{color:#fff;padding:0;background-color:transparent;border-radius:0}div[class*=language-]{position:relative;background-color:#264154;border-radius:6px}div[class*=language-] .highlight-lines{-webkit-user-select:none;user-select:none;padding-top:1.3rem;position:absolute;top:0;left:0;width:100%;line-height:1.4}div[class*=language-] .highlight-lines .highlighted{background-color:rgba(0,0,0,.66)}div[class*=language-] pre,div[class*=language-] pre[class*=language-]{background:transparent;position:relative;z-index:1}div[class*=language-]:before{position:absolute;z-index:3;top:.8em;right:1em;font-size:.75rem;color:hsla(0,0%,100%,.4)}div[class*=language-]:not(.line-numbers-mode) .line-numbers-wrapper{display:none}div[class*=language-].line-numbers-mode .highlight-lines .highlighted{position:relative}div[class*=language-].line-numbers-mode .highlight-lines .highlighted:before{content:" ";position:absolute;z-index:3;left:0;top:0;display:block;width:3.5rem;height:100%;background-color:rgba(0,0,0,.66)}div[class*=language-].line-numbers-mode pre{padding-left:4.5rem;vertical-align:middle}div[class*=language-].line-numbers-mode .line-numbers-wrapper{position:absolute;top:0;width:3.5rem;text-align:center;color:hsla(0,0%,100%,.3);padding:1.25rem 0;line-height:1.4}div[class*=language-].line-numbers-mode .line-numbers-wrapper br{-webkit-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-numbers-wrapper .line-number{position:relative;z-index:4;-webkit-user-select:none;user-select:none;font-size:.85em}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;z-index:2;top:0;left:0;width:3.5rem;height:100%;border-radius:6px 0 0 6px;border-right:1px solid rgba(0,0,0,.66);background-color:#264154}div[class~=language-js]:before{content:"js"}div[class~=language-ts]:before{content:"ts"}div[class~=language-html]:before{content:"html"}div[class~=language-md]:before{content:"md"}div[class~=language-vue]:before{content:"vue"}div[class~=language-css]:before{content:"css"}div[class~=language-sass]:before{content:"sass"}div[class~=language-scss]:before{content:"scss"}div[class~=language-less]:before{content:"less"}div[class~=language-stylus]:before{content:"stylus"}div[class~=language-go]:before{content:"go"}div[class~=language-java]:before{content:"java"}div[class~=language-c]:before{content:"c"}div[class~=language-sh]:before{content:"sh"}div[class~=language-yaml]:before{content:"yaml"}div[class~=language-py]:before{content:"py"}div[class~=language-docker]:before{content:"docker"}div[class~=language-dockerfile]:before{content:"dockerfile"}div[class~=language-makefile]:before{content:"makefile"}div[class~=language-javascript]:before{content:"js"}div[class~=language-typescript]:before{content:"ts"}div[class~=language-markup]:before{content:"html"}div[class~=language-markdown]:before{content:"md"}div[class~=language-json]:before{content:"json"}div[class~=language-ruby]:before{content:"rb"}div[class~=language-python]:before{content:"py"}div[class~=language-bash]:before{content:"sh"}div[class~=language-php]:before{content:"php"}.custom-block .custom-block-title{font-weight:600;margin-bottom:-.4rem}.custom-block.danger,.custom-block.tip,.custom-block.warning{padding:.1rem 1.5rem;border-left-width:.5rem;border-left-style:solid;margin:1rem 0}.custom-block.tip{background-color:#f3f5f7;border-color:#42b983}.custom-block.warning{background-color:rgba(255,229,100,.3);border-color:#e7c000;color:#6b5900}.custom-block.warning .custom-block-title{color:#b29400}.custom-block.warning a{color:#2c3e50}.custom-block.danger{background-color:#ffe6e6;border-color:#c00;color:#4d0000}.custom-block.danger .custom-block-title{color:#900}.custom-block.danger a{color:#2c3e50}.custom-block.details{display:block;position:relative;border-radius:2px;margin:1.6em 0;padding:1.6em;background-color:#eee}.custom-block.details h4{margin-top:0}.custom-block.details figure:last-child,.custom-block.details p:last-child{margin-bottom:0;padding-bottom:0}.custom-block.details summary{outline:none;cursor:pointer}.arrow{display:inline-block;width:0;height:0}.arrow.up{border-bottom:6px solid #ccc}.arrow.down,.arrow.up{border-left:4px solid transparent;border-right:4px solid transparent}.arrow.down{border-top:6px solid #ccc}.arrow.right{border-left:6px solid #ccc}.arrow.left,.arrow.right{border-top:4px solid transparent;border-bottom:4px solid transparent}.arrow.left{border-right:6px solid #ccc}.theme-default-content:not(.custom){max-width:auto;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.theme-default-content:not(.custom){padding:2rem}}@media (max-width:419px){.theme-default-content:not(.custom){padding:1.5rem}}.table-of-contents .badge{vertical-align:middle}body,html{padding:0;margin:0;background-color:#fff}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;color:#2c3e50}.page{padding-left:20rem}.navbar{z-index:20;right:0;height:3.6rem;background-color:#fff;box-sizing:border-box;border-bottom:1px solid #eaecef}.navbar,.sidebar-mask{position:fixed;top:0;left:0}.sidebar-mask{z-index:9;width:100vw;height:100vh;display:none}.sidebar{font-size:16px;background-color:#fff;width:20rem;position:fixed;z-index:10;margin:0;top:3.6rem;left:0;bottom:0;box-sizing:border-box;border-right:1px solid #eaecef;overflow-y:auto}.theme-default-content:not(.custom)>:first-child{margin-top:3.6rem}.theme-default-content:not(.custom) a:hover{text-decoration:underline}.theme-default-content:not(.custom) p.demo{padding:1rem 1.5rem;border:1px solid #ddd;border-radius:4px}.theme-default-content:not(.custom) img{max-width:100%}.theme-default-content.custom{padding:0;margin:0}.theme-default-content.custom img{max-width:100%}a{font-weight:500;text-decoration:none}a,p a code{color:#017698}p a code{font-weight:400}kbd{background:#eee;border:.15rem solid #ddd;border-bottom:.25rem solid #ddd;border-radius:.15rem;padding:0 .15em}blockquote{font-size:1rem;color:#999;border-left:.2rem solid #dfe2e5;margin:1rem 0;padding:.25rem 0 .25rem 1rem}blockquote>p{margin:0}ol,ul{padding-left:1.2em}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25}.theme-default-content:not(.custom)>h1,.theme-default-content:not(.custom)>h2,.theme-default-content:not(.custom)>h3,.theme-default-content:not(.custom)>h4,.theme-default-content:not(.custom)>h5,.theme-default-content:not(.custom)>h6{margin-top:-3.1rem;padding-top:4.6rem;margin-bottom:0}.theme-default-content:not(.custom)>h1:first-child,.theme-default-content:not(.custom)>h2:first-child,.theme-default-content:not(.custom)>h3:first-child,.theme-default-content:not(.custom)>h4:first-child,.theme-default-content:not(.custom)>h5:first-child,.theme-default-content:not(.custom)>h6:first-child{margin-top:-1.5rem;margin-bottom:1rem}.theme-default-content:not(.custom)>h1:first-child+.custom-block,.theme-default-content:not(.custom)>h1:first-child+p,.theme-default-content:not(.custom)>h1:first-child+pre,.theme-default-content:not(.custom)>h2:first-child+.custom-block,.theme-default-content:not(.custom)>h2:first-child+p,.theme-default-content:not(.custom)>h2:first-child+pre,.theme-default-content:not(.custom)>h3:first-child+.custom-block,.theme-default-content:not(.custom)>h3:first-child+p,.theme-default-content:not(.custom)>h3:first-child+pre,.theme-default-content:not(.custom)>h4:first-child+.custom-block,.theme-default-content:not(.custom)>h4:first-child+p,.theme-default-content:not(.custom)>h4:first-child+pre,.theme-default-content:not(.custom)>h5:first-child+.custom-block,.theme-default-content:not(.custom)>h5:first-child+p,.theme-default-content:not(.custom)>h5:first-child+pre,.theme-default-content:not(.custom)>h6:first-child+.custom-block,.theme-default-content:not(.custom)>h6:first-child+p,.theme-default-content:not(.custom)>h6:first-child+pre{margin-top:2rem}h1:focus .header-anchor,h1:hover .header-anchor,h2:focus .header-anchor,h2:hover .header-anchor,h3:focus .header-anchor,h3:hover .header-anchor,h4:focus .header-anchor,h4:hover .header-anchor,h5:focus .header-anchor,h5:hover .header-anchor,h6:focus .header-anchor,h6:hover .header-anchor{opacity:1}h1{font-size:2.2rem}h2{font-size:1.65rem;padding-bottom:.3rem;border-bottom:1px solid #eaecef}h3{font-size:1.35rem}a.header-anchor{font-size:.85em;float:left;margin-left:-.87em;padding-right:.23em;margin-top:.125em;-webkit-user-select:none;user-select:none;opacity:0}a.header-anchor:focus,a.header-anchor:hover{text-decoration:none}.line-number,code,kbd{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}ol,p,ul{line-height:1.7}hr{border:0;border-top:1px solid #eaecef}table{border-collapse:collapse;margin:1rem 0;display:block;overflow-x:auto}tr{border-top:1px solid #dfe2e5}tr:nth-child(2n){background-color:#f6f8fa}td,th{border:1px solid #dfe2e5;padding:.6em 1em}.theme-container.sidebar-open .sidebar-mask{display:block}.theme-container.no-navbar .theme-default-content:not(.custom)>h1,.theme-container.no-navbar h2,.theme-container.no-navbar h3,.theme-container.no-navbar h4,.theme-container.no-navbar h5,.theme-container.no-navbar h6{margin-top:1.5rem;padding-top:0}.theme-container.no-navbar .sidebar{top:0}@media (min-width:720px){.theme-container.no-sidebar .sidebar{display:none}.theme-container.no-sidebar .page{padding-left:0}}@media (max-width:959px){.sidebar{font-size:15px;width:16.4rem}.page{padding-left:16.4rem}}@media (max-width:719px){.sidebar{top:0;padding-top:3.6rem;transform:translateX(-100%);transition:transform .2s ease}.page{padding-left:0}.theme-container.sidebar-open .sidebar{transform:translateX(0)}.theme-container.no-navbar .sidebar{padding-top:0}}@media (max-width:419px){h1{font-size:1.9rem}.theme-default-content div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji!important}h1{font-size:1.8rem}h2{font-size:1.5rem}table thead th{background-color:#304b5e;color:#fff;font-weight:600}tr:nth-child(2n){background-color:rgba(220,215,215,.251)}.navbar{background-color:#082336!important}.navbar .site-name{color:#fff!important;font-size:1.4rem!important;font-weight:600!important}.navbar .links{background-color:#082336!important;font-family:montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,oxygen-sans,Ubuntu,Cantarell,Helvetica Neue,Arial,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol!important}.nav-links a{color:#fff!important;font-size:15px!important;font-weight:600!important}.nav-links a:hover{color:#0069da!important}.sidebar .nav-links{background-color:#082336!important}.sidebar-heading,.sidebar>.sidebar-links>li>a.sidebar-link{font-size:1em!important;font-weight:600!important}.custom-block.warning{background-color:rgba(255,203,18,.314);border-color:#e1ad00}.custom-block.warning .custom-block-title{color:#e1ad00}.custom-block.tip{background-color:rgba(220,215,215,.251);border-color:#68bc11}.custom-block.danger{background-color:rgba(255,110,113,.251);border-color:#e1282b}#nprogress{pointer-events:none}#nprogress .bar{background:#017698;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #017698,0 0 5px #017698;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border-color:#017698 transparent transparent #017698;border-style:solid;border-width:2px;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.icon.outbound{color:#aaa;display:inline-block;vertical-align:middle;position:relative;top:-1px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.algolia-search-wrapper>span{vertical-align:middle}.algolia-search-wrapper .algolia-autocomplete{line-height:normal}.algolia-search-wrapper .algolia-autocomplete .ds-dropdown-menu{background-color:#fff;border:1px solid #999;border-radius:4px;font-size:16px;margin:6px 0 0;padding:4px;text-align:left}.algolia-search-wrapper .algolia-autocomplete .ds-dropdown-menu:before{border-color:#999}.algolia-search-wrapper .algolia-autocomplete .ds-dropdown-menu [class*=ds-dataset-]{border:none;padding:0}.algolia-search-wrapper .algolia-autocomplete .ds-dropdown-menu .ds-suggestions{margin-top:0}.algolia-search-wrapper .algolia-autocomplete .ds-dropdown-menu .ds-suggestion{border-bottom:1px solid #eaecef}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion--highlight{color:#2c815b}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion{border-color:#eaecef;padding:0}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--category-header{padding:5px 10px;margin-top:0;background:#017698;color:#fff;font-weight:600}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--highlight{background:hsla(0,0%,100%,.6)}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--wrapper{padding:0}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--title{font-weight:600;margin-bottom:0;color:#2c3e50}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column{vertical-align:top;padding:5px 7px 5px 5px;border-color:#eaecef;background:#f1f3f5}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column:after{display:none}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column-text{color:#555}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-footer{border-color:#eaecef}.algolia-search-wrapper .algolia-autocomplete .ds-cursor .algolia-docsearch-suggestion--content{background-color:#e7edf3!important;color:#2c3e50}@media (min-width:719px){.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column{float:none;width:150px;min-width:150px;display:table-cell}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--content{float:none;display:table-cell;width:100%;vertical-align:top}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .ds-dropdown-menu{min-width:515px!important}}@media (max-width:719px){.algolia-search-wrapper .ds-dropdown-menu{min-width:calc(100vw - 4rem)!important;max-width:calc(100vw - 4rem)!important}.algolia-search-wrapper .algolia-docsearch-suggestion--wrapper{padding:5px 7px 5px 5px!important}.algolia-search-wrapper .algolia-docsearch-suggestion--subcategory-column{padding:0!important;background:#fff!important}.algolia-search-wrapper .algolia-docsearch-suggestion--subcategory-column-text:after{content:" > ";font-size:10px;line-height:14.4px;display:inline-block;width:5px;margin:-3px 3px 0;vertical-align:middle}}.home{padding:3.6rem 2rem 0;max-width:960px;margin:0 auto;display:block}.home .hero{text-align:center}.home .hero img{max-width:100%;max-height:280px;display:block;margin:3rem auto 1.5rem}.home .hero h1{font-size:3rem}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.8rem auto}.home .hero .description{max-width:35rem;font-size:1.6rem;line-height:1.3;color:#6a8bad}.home .hero .action-button{display:inline-block;font-size:1.2rem;color:#fff;background-color:#017698;padding:.8rem 1.6rem;border-radius:4px;transition:background-color .1s ease;box-sizing:border-box;border-bottom:1px solid #016a89}.home .hero .action-button:hover{background-color:#0192bb}.home .features{border-top:1px solid #eaecef;padding:1.2rem 0;margin-top:2.5rem;display:flex;flex-wrap:wrap;align-items:flex-start;align-content:stretch;justify-content:space-between}.home .feature{flex-grow:1;flex-basis:30%;max-width:30%}.home .feature h2{font-size:1.4rem;font-weight:500;border-bottom:none;padding-bottom:0;color:#3a5169}.home .feature p{color:#4e6e8e}.home .footer{padding:2.5rem;border-top:1px solid #eaecef;text-align:center;color:#4e6e8e}@media (max-width:719px){.home .features{flex-direction:column}.home .feature{max-width:100%;padding:0 2.5rem}}@media (max-width:419px){.home{padding-left:1.5rem;padding-right:1.5rem}.home .hero img{max-height:210px;margin:2rem auto 1.2rem}.home .hero h1{font-size:2rem}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.2rem auto}.home .hero .description{font-size:1.2rem}.home .hero .action-button{font-size:1rem;padding:.6rem 1.2rem}.home .feature h2{font-size:1.25rem}}.search-box{display:inline-block;position:relative;margin-right:1rem}.search-box input{cursor:text;width:10rem;height:2rem;color:#4e6e8e;display:inline-block;border:1px solid #cfd4db;border-radius:2rem;font-size:.9rem;line-height:2rem;padding:0 .5rem 0 2rem;outline:none;transition:all .2s ease;background:#fff url(/assets/img/search.83621669.svg) .6rem .5rem no-repeat;background-size:1rem}.search-box input:focus{cursor:auto;border-color:#017698}.search-box .suggestions{background:#fff;width:20rem;position:absolute;top:2rem;border:1px solid #cfd4db;border-radius:6px;padding:.4rem;list-style-type:none}.search-box .suggestions.align-right{right:0}.search-box .suggestion{line-height:1.4;padding:.4rem .6rem;border-radius:4px;cursor:pointer}.search-box .suggestion a{white-space:normal;color:#5d82a6}.search-box .suggestion a .page-title{font-weight:600}.search-box .suggestion a .header{font-size:.9em;margin-left:.25em}.search-box .suggestion.focused{background-color:#f3f4f5}.search-box .suggestion.focused a{color:#017698}@media (max-width:959px){.search-box input{cursor:pointer;width:0;border-color:transparent;position:relative}.search-box input:focus{cursor:text;left:0;width:10rem}}@media (-ms-high-contrast:none){.search-box input{height:2rem}}@media (max-width:959px) and (min-width:719px){.search-box .suggestions{left:0}}@media (max-width:719px){.search-box{margin-right:0}.search-box input{left:1rem}.search-box .suggestions{right:0}}@media (max-width:419px){.search-box .suggestions{width:calc(100vw - 4rem)}.search-box input:focus{width:8rem}}.sidebar-button{cursor:pointer;display:none;width:1.25rem;height:1.25rem;position:absolute;padding:.6rem;top:.6rem;left:1rem}.sidebar-button .icon{display:block;width:1.25rem;height:1.25rem}@media (max-width:719px){.sidebar-button{display:block}}.dropdown-enter,.dropdown-leave-to{height:0!important}.badge[data-v-15b7b770]{display:inline-block;font-size:14px;height:18px;line-height:18px;border-radius:3px;padding:0 6px;color:#fff}.badge.green[data-v-15b7b770],.badge.tip[data-v-15b7b770],.badge[data-v-15b7b770]{background-color:#42b983}.badge.error[data-v-15b7b770]{background-color:#da5961}.badge.warn[data-v-15b7b770],.badge.warning[data-v-15b7b770],.badge.yellow[data-v-15b7b770]{background-color:#e7c000}.badge+.badge[data-v-15b7b770]{margin-left:5px}.theme-code-block[data-v-759a7d02]{display:none}.theme-code-block__active[data-v-759a7d02]{display:block}.theme-code-block>pre[data-v-759a7d02]{background-color:orange}.theme-code-group__nav[data-v-deefee04]{margin-bottom:-35px;background-color:#264154;padding-bottom:22px;border-top-left-radius:6px;border-top-right-radius:6px;padding-left:10px;padding-top:10px}.theme-code-group__ul[data-v-deefee04]{margin:auto 0;padding-left:0;display:inline-flex;list-style:none}.theme-code-group__nav-tab[data-v-deefee04]{border:0;padding:5px;cursor:pointer;background-color:transparent;font-size:.85em;line-height:1.4;color:hsla(0,0%,100%,.9);font-weight:600}.theme-code-group__nav-tab-active[data-v-deefee04]{border-bottom:1px solid #42b983}.pre-blank[data-v-deefee04]{color:#42b983}.searchbox{display:inline-block;position:relative;width:200px;height:32px!important;white-space:nowrap;box-sizing:border-box;visibility:visible!important}.searchbox .algolia-autocomplete{display:block;width:100%;height:100%}.searchbox__wrapper{width:100%;height:100%;z-index:999;position:relative}.searchbox__input{display:inline-block;box-sizing:border-box;transition:box-shadow .4s ease,background .4s ease;border:0;border-radius:16px;box-shadow:inset 0 0 0 1px #ccc;background:#fff!important;padding:0 26px 0 32px;width:100%;height:100%;vertical-align:middle;white-space:normal;font-size:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbox__input::-webkit-search-cancel-button,.searchbox__input::-webkit-search-decoration,.searchbox__input::-webkit-search-results-button,.searchbox__input::-webkit-search-results-decoration{display:none}.searchbox__input:hover{box-shadow:inset 0 0 0 1px #b3b3b3}.searchbox__input:active,.searchbox__input:focus{outline:0;box-shadow:inset 0 0 0 1px #aaa;background:#fff}.searchbox__input::-moz-placeholder{color:#aaa}.searchbox__input::placeholder{color:#aaa}.searchbox__submit{position:absolute;top:0;margin:0;border:0;border-radius:16px 0 0 16px;background-color:rgba(69,142,225,0);padding:0;width:32px;height:100%;vertical-align:middle;text-align:center;font-size:inherit;-webkit-user-select:none;-moz-user-select:none;user-select:none;right:inherit;left:0}.searchbox__submit:before{display:inline-block;margin-right:-4px;height:100%;vertical-align:middle;content:""}.searchbox__submit:active,.searchbox__submit:hover{cursor:pointer}.searchbox__submit:focus{outline:0}.searchbox__submit svg{width:14px;height:14px;vertical-align:middle;fill:#6d7e96}.searchbox__reset{display:block;position:absolute;top:8px;right:8px;margin:0;border:0;background:none;cursor:pointer;padding:0;font-size:inherit;-webkit-user-select:none;-moz-user-select:none;user-select:none;fill:rgba(0,0,0,.5)}.searchbox__reset.hide{display:none}.searchbox__reset:focus{outline:0}.searchbox__reset svg{display:block;margin:4px;width:8px;height:8px}.searchbox__input:valid~.searchbox__reset{display:block;animation-name:sbx-reset-in;animation-duration:.15s}@keyframes sbx-reset-in{0%{transform:translate3d(-20%,0,0);opacity:0}to{transform:none;opacity:1}}.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu{right:0!important;left:inherit!important}.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu:before{right:48px}.algolia-autocomplete.algolia-autocomplete-left .ds-dropdown-menu{left:0!important;right:inherit!important}.algolia-autocomplete.algolia-autocomplete-left .ds-dropdown-menu:before{left:48px}.algolia-autocomplete .ds-dropdown-menu{top:-6px;border-radius:4px;margin:6px 0 0;padding:0;text-align:left;height:auto;position:relative;background:transparent;border:none;z-index:999;max-width:600px;min-width:500px;box-shadow:0 1px 0 0 rgba(0,0,0,.2),0 2px 3px 0 rgba(0,0,0,.1)}.algolia-autocomplete .ds-dropdown-menu:before{display:block;position:absolute;content:"";width:14px;height:14px;background:#fff;z-index:1000;top:-7px;border-top:1px solid #d9d9d9;border-right:1px solid #d9d9d9;transform:rotate(-45deg);border-radius:2px}.algolia-autocomplete .ds-dropdown-menu .ds-suggestions{position:relative;z-index:1000;margin-top:8px}.algolia-autocomplete .ds-dropdown-menu .ds-suggestions a:hover{text-decoration:none}.algolia-autocomplete .ds-dropdown-menu .ds-suggestion{cursor:pointer}.algolia-autocomplete .ds-dropdown-menu .ds-suggestion.ds-cursor .algolia-docsearch-suggestion.suggestion-layout-simple,.algolia-autocomplete .ds-dropdown-menu .ds-suggestion.ds-cursor .algolia-docsearch-suggestion:not(.suggestion-layout-simple) .algolia-docsearch-suggestion--content{background-color:rgba(69,142,225,.05)}.algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]{position:relative;border:1px solid #d9d9d9;background:#fff;border-radius:4px;overflow:auto;padding:0 8px 8px}.algolia-autocomplete .ds-dropdown-menu *{box-sizing:border-box}.algolia-autocomplete .algolia-docsearch-suggestion{display:block;position:relative;padding:0 8px;background:#fff;color:#02060c;overflow:hidden}.algolia-autocomplete .algolia-docsearch-suggestion--highlight{color:#174d8c;background:rgba(143,187,237,.1);padding:.1em .05em}.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl0 .algolia-docsearch-suggestion--highlight,.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl1 .algolia-docsearch-suggestion--highlight,.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{padding:0 0 1px;background:inherit;box-shadow:inset 0 -2px 0 0 rgba(69,142,225,.8);color:inherit}.algolia-autocomplete .algolia-docsearch-suggestion--content{display:block;float:right;width:70%;position:relative;padding:5.33333px 0 5.33333px 10.66667px;cursor:pointer}.algolia-autocomplete .algolia-docsearch-suggestion--content:before{content:"";position:absolute;display:block;top:0;height:100%;width:1px;background:#ddd;left:-1px}.algolia-autocomplete .algolia-docsearch-suggestion--category-header{position:relative;border-bottom:1px solid #ddd;display:none;margin-top:8px;padding:4px 0;font-size:1em;color:#33363d}.algolia-autocomplete .algolia-docsearch-suggestion--wrapper{width:100%;float:left;padding:8px 0 0}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column{float:left;width:30%;text-align:right;position:relative;padding:5.33333px 10.66667px;color:#a4a7ae;font-size:.9em;word-wrap:break-word}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column:before{content:"";position:absolute;display:block;top:0;height:100%;width:1px;background:#ddd;right:0}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-inline{display:none}.algolia-autocomplete .algolia-docsearch-suggestion--title{margin-bottom:4px;color:#02060c;font-size:.9em;font-weight:700}.algolia-autocomplete .algolia-docsearch-suggestion--text{display:block;line-height:1.2em;font-size:.85em;color:#63676d}.algolia-autocomplete .algolia-docsearch-suggestion--no-results{width:100%;padding:8px 0;text-align:center;font-size:1.2em}.algolia-autocomplete .algolia-docsearch-suggestion--no-results:before{display:none}.algolia-autocomplete .algolia-docsearch-suggestion code{padding:1px 5px;font-size:90%;border:none;color:#222;background-color:#ebebeb;border-radius:3px;font-family:Menlo,Monaco,Consolas,Courier New,monospace}.algolia-autocomplete .algolia-docsearch-suggestion code .algolia-docsearch-suggestion--highlight{background:none}.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__main .algolia-docsearch-suggestion--category-header,.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__secondary{display:block}@media (min-width:768px){.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column{display:block}}@media (max-width:768px){.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column{display:inline-block;width:auto;float:left;padding:0;color:#02060c;font-size:.9em;font-weight:700;text-align:left;opacity:.5}.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column:before{display:none}.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column:after{content:"|"}.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--content{display:inline-block;width:auto;text-align:left;float:left;padding:0}.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--content:before{display:none}}.algolia-autocomplete .suggestion-layout-simple.algolia-docsearch-suggestion{border-bottom:1px solid #eee;padding:8px;margin:0}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--content{width:100%;padding:0}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--content:before{display:none}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header{margin:0;padding:0;display:block;width:100%;border:none}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl0,.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl1{opacity:.6;font-size:.85em}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl1:before{background-image:url('data:image/svg+xml;utf8,');content:"";width:10px;height:10px;display:inline-block}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--wrapper{width:100%;float:left;margin:0;padding:0}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--duplicate-content,.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--subcategory-inline{display:none!important}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--title{margin:0;color:#458ee1;font-size:.9em;font-weight:400}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--title:before{content:"#";font-weight:700;color:#458ee1;display:inline-block}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--text{margin:4px 0 0;display:block;line-height:1.4em;padding:5.33333px 8px;background:#f8f8f8;font-size:.85em;opacity:.8}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{color:#3f4145;font-weight:700;box-shadow:none}.algolia-autocomplete .algolia-docsearch-footer{width:134px;height:20px;z-index:2000;margin-top:10.66667px;float:right;font-size:0;line-height:0}.algolia-autocomplete .algolia-docsearch-footer--logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='168' height='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M78.988.938h16.594a2.968 2.968 0 012.966 2.966V20.5a2.967 2.967 0 01-2.966 2.964H78.988a2.967 2.967 0 01-2.966-2.964V3.897A2.961 2.961 0 0178.988.938zm41.937 17.866c-4.386.02-4.386-3.54-4.386-4.106l-.007-13.336 2.675-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-10.846-2.18c.821 0 1.43-.047 1.855-.129v-2.719a6.334 6.334 0 00-1.574-.199 5.7 5.7 0 00-.897.069 2.699 2.699 0 00-.814.24c-.24.116-.439.28-.582.491-.15.212-.219.335-.219.656 0 .628.219.991.616 1.23s.938.362 1.615.362zm-.233-9.7c.883 0 1.629.109 2.231.328.602.218 1.088.525 1.444.915.363.396.609.922.76 1.483.157.56.232 1.175.232 1.85v6.874a32.5 32.5 0 01-1.868.314c-.834.123-1.772.185-2.813.185-.69 0-1.327-.069-1.895-.198a4.001 4.001 0 01-1.471-.636 3.085 3.085 0 01-.951-1.134c-.226-.465-.343-1.12-.343-1.803 0-.656.13-1.073.384-1.525a3.24 3.24 0 011.047-1.106c.445-.287.95-.492 1.532-.615a8.8 8.8 0 011.82-.185 8.404 8.404 0 011.972.24v-.438c0-.307-.035-.6-.11-.874a1.88 1.88 0 00-.384-.73 1.784 1.784 0 00-.724-.493 3.164 3.164 0 00-1.143-.205c-.616 0-1.177.075-1.69.164a7.735 7.735 0 00-1.26.307l-.321-2.192c.335-.117.834-.233 1.478-.349a10.98 10.98 0 012.073-.178zm52.842 9.626c.822 0 1.43-.048 1.854-.13V13.7a6.347 6.347 0 00-1.574-.199c-.294 0-.595.021-.896.069a2.7 2.7 0 00-.814.24 1.46 1.46 0 00-.582.491c-.15.212-.218.335-.218.656 0 .628.218.991.615 1.23.404.245.938.362 1.615.362zm-.226-9.694c.883 0 1.629.108 2.231.327.602.219 1.088.526 1.444.915.355.39.609.923.759 1.483a6.8 6.8 0 01.233 1.852v6.873c-.41.088-1.034.19-1.868.314-.834.123-1.772.184-2.813.184-.69 0-1.327-.068-1.895-.198a4.001 4.001 0 01-1.471-.635 3.085 3.085 0 01-.951-1.134c-.226-.465-.343-1.12-.343-1.804 0-.656.13-1.073.384-1.524.26-.45.608-.82 1.047-1.107.445-.286.95-.491 1.532-.614a8.803 8.803 0 012.751-.13c.329.034.671.096 1.04.185v-.437a3.3 3.3 0 00-.109-.875 1.873 1.873 0 00-.384-.731 1.784 1.784 0 00-.724-.492 3.165 3.165 0 00-1.143-.205c-.616 0-1.177.075-1.69.164a7.75 7.75 0 00-1.26.307l-.321-2.193c.335-.116.834-.232 1.478-.348a11.633 11.633 0 012.073-.177zm-8.034-1.271a1.626 1.626 0 01-1.628-1.62c0-.895.725-1.62 1.628-1.62.904 0 1.63.725 1.63 1.62 0 .895-.733 1.62-1.63 1.62zm1.348 13.22h-2.689V7.27l2.69-.423v11.956zm-4.714 0c-4.386.02-4.386-3.54-4.386-4.107l-.008-13.336 2.676-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-8.698-5.903c0-1.156-.253-2.119-.746-2.788-.493-.677-1.183-1.01-2.067-1.01-.882 0-1.574.333-2.065 1.01-.493.676-.733 1.632-.733 2.788 0 1.168.246 1.953.74 2.63.492.683 1.183 1.018 2.066 1.018.882 0 1.574-.342 2.067-1.019.492-.683.738-1.46.738-2.63zm2.737-.007c0 .902-.13 1.584-.397 2.33a5.52 5.52 0 01-1.128 1.906 4.986 4.986 0 01-1.752 1.223c-.685.286-1.739.45-2.265.45-.528-.006-1.574-.157-2.252-.45a5.096 5.096 0 01-1.744-1.223c-.487-.527-.863-1.162-1.137-1.906a6.345 6.345 0 01-.41-2.33c0-.902.123-1.77.397-2.508a5.554 5.554 0 011.15-1.892 5.133 5.133 0 011.75-1.216c.679-.287 1.425-.423 2.232-.423.808 0 1.553.142 2.237.423a4.88 4.88 0 011.753 1.216 5.644 5.644 0 011.135 1.892c.287.738.431 1.606.431 2.508zm-20.138 0c0 1.12.246 2.363.738 2.882.493.52 1.13.78 1.91.78.424 0 .828-.062 1.204-.178.377-.116.677-.253.917-.417V9.33a10.476 10.476 0 00-1.766-.226c-.971-.028-1.71.37-2.23 1.004-.513.636-.773 1.75-.773 2.788zm7.438 5.274c0 1.824-.466 3.156-1.404 4.004-.936.846-2.367 1.27-4.296 1.27-.705 0-2.17-.137-3.34-.396l.431-2.118c.98.205 2.272.26 2.95.26 1.074 0 1.84-.219 2.299-.656.459-.437.684-1.086.684-1.948v-.437a8.07 8.07 0 01-1.047.397c-.43.13-.93.198-1.492.198-.739 0-1.41-.116-2.018-.349a4.206 4.206 0 01-1.567-1.025c-.431-.45-.774-1.017-1.013-1.694-.24-.677-.363-1.885-.363-2.773 0-.834.13-1.88.384-2.577.26-.696.629-1.298 1.129-1.796.493-.498 1.095-.881 1.8-1.162a6.605 6.605 0 012.428-.457c.87 0 1.67.109 2.45.24.78.129 1.444.265 1.985.415V18.17z' fill='%235468FF'/%3E%3Cpath d='M6.972 6.677v1.627c-.712-.446-1.52-.67-2.425-.67-.585 0-1.045.13-1.38.391a1.24 1.24 0 00-.502 1.03c0 .425.164.765.494 1.02.33.256.835.532 1.516.83.447.192.795.356 1.045.495.25.138.537.332.862.582.324.25.563.548.718.894.154.345.23.741.23 1.188 0 .947-.334 1.691-1.004 2.234-.67.542-1.537.814-2.601.814-1.18 0-2.16-.229-2.936-.686v-1.708c.84.628 1.814.942 2.92.942.585 0 1.048-.136 1.388-.407.34-.271.51-.646.51-1.125 0-.287-.1-.55-.302-.79-.203-.24-.42-.42-.655-.542-.234-.123-.585-.29-1.053-.503a61.27 61.27 0 01-.582-.271 13.67 13.67 0 01-.55-.287 4.275 4.275 0 01-.567-.351 6.92 6.92 0 01-.455-.4c-.18-.17-.31-.34-.39-.51-.08-.17-.155-.37-.224-.598a2.553 2.553 0 01-.104-.742c0-.915.333-1.638.998-2.17.664-.532 1.523-.798 2.576-.798.968 0 1.793.17 2.473.51zm7.468 5.696v-.287c-.022-.607-.187-1.088-.495-1.444-.309-.357-.75-.535-1.324-.535-.532 0-.99.194-1.373.583-.382.388-.622.949-.717 1.683h3.909zm1.005 2.792v1.404c-.596.34-1.383.51-2.362.51-1.255 0-2.255-.377-3-1.132-.744-.755-1.116-1.744-1.116-2.968 0-1.297.34-2.316 1.021-3.055.68-.74 1.548-1.11 2.6-1.11 1.033 0 1.852.323 2.458.966.606.644.91 1.572.91 2.784 0 .33-.033.676-.096 1.038h-5.314c.107.702.405 1.239.894 1.611.49.372 1.106.558 1.85.558.862 0 1.58-.202 2.155-.606zm6.605-1.77h-1.212c-.596 0-1.045.116-1.349.35-.303.234-.454.532-.454.894 0 .372.117.664.35.877.235.213.575.32 1.022.32.51 0 .912-.142 1.204-.424.293-.281.44-.651.44-1.108v-.91zm-4.068-2.554V9.325c.627-.361 1.457-.542 2.489-.542 2.116 0 3.175 1.026 3.175 3.08V17h-1.548v-.957c-.415.68-1.143 1.02-2.186 1.02-.766 0-1.38-.22-1.843-.661-.462-.442-.694-1.003-.694-1.684 0-.776.293-1.38.878-1.81.585-.431 1.404-.647 2.457-.647h1.34V11.8c0-.554-.133-.971-.399-1.253-.266-.282-.707-.423-1.324-.423a4.07 4.07 0 00-2.345.718zm9.333-1.93v1.42c.394-1 1.101-1.5 2.123-1.5.148 0 .313.016.494.048v1.531a1.885 1.885 0 00-.75-.143c-.542 0-.989.24-1.34.718-.351.479-.527 1.048-.527 1.707V17h-1.563V8.91h1.563zm5.01 4.084c.022.82.272 1.492.75 2.019.479.526 1.15.79 2.01.79.639 0 1.235-.176 1.788-.527v1.404c-.521.319-1.186.479-1.995.479-1.265 0-2.276-.4-3.031-1.197-.755-.798-1.133-1.792-1.133-2.984 0-1.16.38-2.151 1.14-2.975.761-.825 1.79-1.237 3.088-1.237.702 0 1.346.149 1.93.447v1.436a3.242 3.242 0 00-1.77-.495c-.84 0-1.513.266-2.019.798-.505.532-.758 1.213-.758 2.042zM40.24 5.72v4.579c.458-1 1.293-1.5 2.505-1.5.787 0 1.42.245 1.899.734.479.49.718 1.17.718 2.042V17h-1.564v-5.106c0-.553-.14-.98-.422-1.284-.282-.303-.652-.455-1.11-.455-.531 0-1.002.202-1.411.606-.41.405-.615 1.022-.615 1.851V17h-1.563V5.72h1.563zm14.966 10.02c.596 0 1.096-.253 1.5-.758.404-.506.606-1.157.606-1.955 0-.915-.202-1.62-.606-2.114-.404-.495-.92-.742-1.548-.742-.553 0-1.05.224-1.491.67-.442.447-.662 1.133-.662 2.058 0 .958.212 1.67.638 2.138.425.469.946.703 1.563.703zM53.004 5.72v4.42c.574-.894 1.388-1.341 2.44-1.341 1.022 0 1.857.383 2.506 1.149.649.766.973 1.781.973 3.047 0 1.138-.309 2.109-.925 2.912-.617.803-1.463 1.205-2.537 1.205-1.075 0-1.894-.447-2.457-1.34V17h-1.58V5.72h1.58zm9.908 11.104l-3.223-7.913h1.739l1.005 2.632 1.26 3.415c.096-.32.48-1.458 1.15-3.415l.909-2.632h1.66l-2.92 7.866c-.777 2.074-1.963 3.11-3.559 3.11a2.92 2.92 0 01-.734-.079v-1.34c.17.042.351.064.543.064 1.032 0 1.755-.57 2.17-1.708z' fill='%235D6494'/%3E%3Cpath d='M89.632 5.967v-.772a.978.978 0 00-.978-.977h-2.28a.978.978 0 00-.978.977v.793c0 .088.082.15.171.13a7.127 7.127 0 011.984-.28c.65 0 1.295.088 1.917.259.082.02.164-.04.164-.13m-6.248 1.01l-.39-.389a.977.977 0 00-1.382 0l-.465.465a.973.973 0 000 1.38l.383.383c.062.061.15.047.205-.014.226-.307.472-.601.746-.874.281-.28.568-.526.883-.751.068-.042.075-.137.02-.2m4.16 2.453v3.341c0 .096.104.165.192.117l2.97-1.537c.068-.034.089-.117.055-.184a3.695 3.695 0 00-3.08-1.866c-.068 0-.136.054-.136.13m0 8.048a4.489 4.489 0 01-4.49-4.482 4.488 4.488 0 014.49-4.482 4.488 4.488 0 014.489 4.482 4.484 4.484 0 01-4.49 4.482m0-10.85a6.363 6.363 0 100 12.729 6.37 6.37 0 006.372-6.368 6.358 6.358 0 00-6.371-6.36' fill='%23FFF'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;background-position:50%;background-size:100%;overflow:hidden;text-indent:-9000px;padding:0!important;width:100%;height:100%;display:block}.dropdown-wrapper{cursor:pointer}.dropdown-wrapper .dropdown-title,.dropdown-wrapper .mobile-dropdown-title{display:block;font-size:.9rem;font-family:inherit;cursor:inherit;padding:inherit;line-height:1.4rem;background:transparent;border:none;font-weight:500;color:#2c3e50}.dropdown-wrapper .dropdown-title:hover,.dropdown-wrapper .mobile-dropdown-title:hover{border-color:transparent}.dropdown-wrapper .dropdown-title .arrow,.dropdown-wrapper .mobile-dropdown-title .arrow{vertical-align:middle;margin-top:-1px;margin-left:.4rem}.dropdown-wrapper .mobile-dropdown-title{display:none;font-weight:600}.dropdown-wrapper .mobile-dropdown-title font-size inherit:hover{color:#017698}.dropdown-wrapper .nav-dropdown .dropdown-item{color:inherit;line-height:1.7rem}.dropdown-wrapper .nav-dropdown .dropdown-item h4{margin:.45rem 0 0;border-top:1px solid #eee;padding:1rem 1.5rem .45rem 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper{padding:0;list-style:none}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper .dropdown-subitem{font-size:.9em}.dropdown-wrapper .nav-dropdown .dropdown-item a{display:block;line-height:1.7rem;position:relative;border-bottom:none;font-weight:400;margin-bottom:0;padding:0 1.5rem 0 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active,.dropdown-wrapper .nav-dropdown .dropdown-item a:hover{color:#017698}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{content:"";width:0;height:0;border-left:5px solid #017698;border-top:3px solid transparent;border-bottom:3px solid transparent;position:absolute;top:calc(50% - 2px);left:9px}.dropdown-wrapper .nav-dropdown .dropdown-item:first-child h4{margin-top:0;padding-top:0;border-top:0}@media (max-width:719px){.dropdown-wrapper.open .dropdown-title{margin-bottom:.5rem}.dropdown-wrapper .dropdown-title{display:none}.dropdown-wrapper .mobile-dropdown-title{display:block}.dropdown-wrapper .nav-dropdown{transition:height .1s ease-out;overflow:hidden}.dropdown-wrapper .nav-dropdown .dropdown-item h4{border-top:0;margin-top:0;padding-top:0}.dropdown-wrapper .nav-dropdown .dropdown-item>a,.dropdown-wrapper .nav-dropdown .dropdown-item h4{font-size:15px;line-height:2rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem{font-size:14px;padding-left:1rem}}@media (min-width:719px){.dropdown-wrapper{height:1.8rem}.dropdown-wrapper.open .nav-dropdown,.dropdown-wrapper:hover .nav-dropdown{display:block!important}.dropdown-wrapper .nav-dropdown{display:none;height:auto!important;box-sizing:border-box;max-height:calc(100vh - 2.7rem);overflow-y:auto;position:absolute;top:100%;right:0;background-color:#fff;padding:.6rem 0;border:1px solid;border-color:#ddd #ddd #ccc;text-align:left;border-radius:.25rem;white-space:nowrap;margin:0}}.nav-links{display:inline-block}.nav-links a{line-height:1.4rem;color:inherit}.nav-links a.router-link-active,.nav-links a:hover{color:#017698}.nav-links .nav-item{position:relative;display:inline-block;margin-left:1.5rem;line-height:2rem}.nav-links .nav-item:first-child{margin-left:0}.nav-links .repo-link{margin-left:1.5rem}@media (max-width:719px){.nav-links .nav-item,.nav-links .repo-link{margin-left:0}}@media (min-width:719px){.nav-links a.router-link-active,.nav-links a:hover{color:#2c3e50}.nav-item>a:not(.external).router-link-active,.nav-item>a:not(.external):hover{margin-bottom:-2px;border-bottom:2px solid #018cb4}}.navbar{padding:.7rem 1.5rem;line-height:2.2rem}.navbar a,.navbar img,.navbar span{display:inline-block}.navbar .logo{height:2.2rem;min-width:2.2rem;margin-right:.8rem;vertical-align:top}.navbar .site-name{font-size:1.3rem;font-weight:600;color:#2c3e50;position:relative}.navbar .links{padding-left:1.5rem;box-sizing:border-box;background-color:#fff;white-space:nowrap;font-size:.9rem;position:absolute;right:1.5rem;top:.7rem;display:flex}.navbar .links .search-box{flex:0 0 auto;vertical-align:top}@media (max-width:719px){.navbar{padding-left:4rem}.navbar .can-hide{display:none}.navbar .links{padding-left:1.5rem}.navbar .site-name{width:calc(100vw - 9.4rem);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}.page-edit{max-width:auto;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-edit{padding:2rem}}@media (max-width:419px){.page-edit{padding:1.5rem}}.page-edit{padding-top:1rem;padding-bottom:1rem;overflow:auto}.page-edit .edit-link{display:inline-block}.page-edit .edit-link a{color:#4e6e8e;margin-right:.25rem}.page-edit .last-updated{float:right;font-size:.9em}.page-edit .last-updated .prefix{font-weight:500;color:#4e6e8e}.page-edit .last-updated .time{font-weight:400;color:#767676}@media (max-width:719px){.page-edit .edit-link{margin-bottom:.5rem}.page-edit .last-updated{font-size:.8em;float:none;text-align:left}}.page-nav{max-width:auto;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-nav{padding:2rem}}@media (max-width:419px){.page-nav{padding:1.5rem}}.page-nav{padding-top:1rem;padding-bottom:0}.page-nav .inner{min-height:2rem;margin-top:0;border-top:1px solid #eaecef;padding-top:1rem;overflow:auto}.page-nav .next{float:right}.page{padding-bottom:2rem;display:block}.sidebar-group .sidebar-group{padding-left:.5em}.sidebar-group:not(.collapsable) .sidebar-heading:not(.clickable){cursor:auto;color:inherit}.sidebar-group.is-sub-group{padding-left:0}.sidebar-group.is-sub-group>.sidebar-heading{font-size:.95em;line-height:1.4;font-weight:400;padding-left:2rem}.sidebar-group.is-sub-group>.sidebar-heading:not(.clickable){opacity:.5}.sidebar-group.is-sub-group>.sidebar-group-items{padding-left:1rem}.sidebar-group.is-sub-group>.sidebar-group-items>li>.sidebar-link{font-size:.95em;border-left:none}.sidebar-group.depth-2>.sidebar-heading{border-left:none}.sidebar-heading{color:#2c3e50;transition:color .15s ease;cursor:pointer;font-size:1.1em;font-weight:700;padding:.35rem 1.5rem .35rem 1.25rem;width:100%;box-sizing:border-box;margin:0;border-left:.25rem solid transparent}.sidebar-heading.open,.sidebar-heading:hover{color:inherit}.sidebar-heading .arrow{position:relative;top:-.12em;left:.5em}.sidebar-heading.clickable.active{font-weight:600;color:#017698;border-left-color:#017698}.sidebar-heading.clickable:hover{color:#017698}.sidebar-group-items{transition:height .1s ease-out;font-size:.95em;overflow:hidden}.sidebar .sidebar-sub-headers{padding-left:1rem;font-size:.95em}a.sidebar-link{font-size:1em;font-weight:400;display:inline-block;color:#2c3e50;border-left:.25rem solid transparent;padding:.35rem 1rem .35rem 1.25rem;line-height:1.4;width:100%;box-sizing:border-box}a.sidebar-link:hover{color:#017698}a.sidebar-link.active{font-weight:600;color:#017698;border-left-color:#017698}.sidebar-group a.sidebar-link{padding-left:2rem}.sidebar-sub-headers a.sidebar-link{padding-top:.25rem;padding-bottom:.25rem;border-left:none}.sidebar-sub-headers a.sidebar-link.active{font-weight:500}.sidebar ul{padding:0;margin:0;list-style-type:none}.sidebar a{display:inline-block}.sidebar .nav-links{display:none;border-bottom:1px solid #eaecef;padding:.5rem 0 .75rem}.sidebar .nav-links a{font-weight:600}.sidebar .nav-links .nav-item,.sidebar .nav-links .repo-link{display:block;line-height:1.25rem;font-size:1.1em;padding:.5rem 0 .5rem 1.5rem}.sidebar>.sidebar-links{padding:1.5rem 0}.sidebar>.sidebar-links>li>a.sidebar-link{font-size:1.1em;line-height:1.7;font-weight:700}.sidebar>.sidebar-links>li:not(:first-child){margin-top:.75rem}@media (max-width:719px){.sidebar .nav-links{display:block}.sidebar .nav-links .dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{top:calc(1rem - 2px)}.sidebar>.sidebar-links{padding:1rem 0}} \ No newline at end of file diff --git a/assets/img/almalinux-install-source.21eb642f.png b/assets/img/almalinux-install-source.21eb642f.png new file mode 100644 index 000000000..dc22517e7 Binary files /dev/null and b/assets/img/almalinux-install-source.21eb642f.png differ diff --git a/assets/img/search.83621669.svg b/assets/img/search.83621669.svg new file mode 100644 index 000000000..03d83913e --- /dev/null +++ b/assets/img/search.83621669.svg @@ -0,0 +1 @@ + diff --git a/assets/js/1.65ee4eb4.js b/assets/js/1.65ee4eb4.js new file mode 100644 index 000000000..ef04d8d20 --- /dev/null +++ b/assets/js/1.65ee4eb4.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[1,12,14,19,20,21],{240:function(t,e,n){"use strict";n.d(e,"d",(function(){return s})),n.d(e,"a",(function(){return r})),n.d(e,"i",(function(){return o})),n.d(e,"f",(function(){return l})),n.d(e,"g",(function(){return u})),n.d(e,"h",(function(){return c})),n.d(e,"b",(function(){return h})),n.d(e,"e",(function(){return f})),n.d(e,"k",(function(){return p})),n.d(e,"l",(function(){return d})),n.d(e,"c",(function(){return m})),n.d(e,"j",(function(){return k}));n(90);const s=/#.*$/,i=/\.(md|html)$/,r=/\/$/,o=/^[a-z]+:/i;function a(t){return decodeURI(t).replace(s,"").replace(i,"")}function l(t){return o.test(t)}function u(t){return/^mailto:/.test(t)}function c(t){return/^tel:/.test(t)}function h(t){if(l(t))return t;const e=t.match(s),n=e?e[0]:"",i=a(t);return r.test(i)?t:i+".html"+n}function f(t,e){const n=decodeURIComponent(t.hash),i=function(t){const e=t.match(s);if(e)return e[0]}(e);if(i&&n!==i)return!1;return a(t.path)===a(e)}function p(t,e,n){if(l(e))return{type:"external",path:e};n&&(e=function(t,e,n){const s=t.charAt(0);if("/"===s)return t;if("?"===s||"#"===s)return e+t;const i=e.split("/");n&&i[i.length-1]||i.pop();const r=t.replace(/^\//,"").split("/");for(let t=0;tfunction t(e,n,s,i=1){if("string"==typeof e)return p(n,e,s);if(Array.isArray(e))return Object.assign(p(n,e[0],s),{title:e[1]});{const r=e.children||[];return 0===r.length&&e.path?Object.assign(p(n,e.path,s),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:r.map(e=>t(e,n,s,i+1)),collapsable:!1!==e.collapsable}}}(t,i,n)):[]}return[]}function g(t){const e=m(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}))}]}function m(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(t=>2===t.level)}function k(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},241:function(t,e,n){},242:function(t,e,n){"use strict";n.r(e);var s=n(240),i={name:"NavLink",props:{item:{required:!0}},computed:{link(){return Object(s.b)(this.item.link)},exact(){return this.$site.locales?Object.keys(this.$site.locales).some(t=>t===this.link):"/"===this.link},isNonHttpURI(){return Object(s.g)(this.link)||Object(s.h)(this.link)},isBlankTarget(){return"_blank"===this.target},isInternal(){return!Object(s.f)(this.link)&&!this.isBlankTarget},target(){return this.isNonHttpURI?null:this.item.target?this.item.target:Object(s.f)(this.link)?"_blank":""},rel(){return this.isNonHttpURI||!1===this.item.rel?null:this.item.rel?this.item.rel:this.isBlankTarget?"noopener noreferrer":null}},methods:{focusoutAction(){this.$emit("focusout")}}},r=n(14),o=Object(r.a)(i,(function(){var t=this,e=t._self._c;return t.isInternal?e("RouterLink",{staticClass:"nav-link",attrs:{to:t.link,exact:t.exact},nativeOn:{focusout:function(e){return t.focusoutAction.apply(null,arguments)}}},[t._v("\n "+t._s(t.item.text)+"\n")]):e("a",{staticClass:"nav-link external",attrs:{href:t.link,target:t.target,rel:t.rel},on:{focusout:t.focusoutAction}},[t._v("\n "+t._s(t.item.text)+"\n "),t.isBlankTarget?e("OutboundLink"):t._e()],1)}),[],!1,null,null,null);e.default=o.exports},243:function(t,e,n){"use strict";n.r(e);var s={name:"DropdownTransition",methods:{setHeight(t){t.style.height=t.scrollHeight+"px"},unsetHeight(t){t.style.height=""}}},i=(n(244),n(14)),r=Object(i.a)(s,(function(){return(0,this._self._c)("transition",{attrs:{name:"dropdown"},on:{enter:this.setHeight,"after-enter":this.unsetHeight,"before-leave":this.setHeight}},[this._t("default")],2)}),[],!1,null,null,null);e.default=r.exports},244:function(t,e,n){"use strict";n(241)},245:function(t,e,n){},248:function(t,e,n){},252:function(t,e,n){"use strict";n(245)},255:function(t,e,n){"use strict";n.r(e);var s=n(242),i=n(243),r=n(91),o=n.n(r),a={name:"DropdownLink",components:{NavLink:s.default,DropdownTransition:i.default},props:{item:{required:!0}},data:()=>({open:!1}),computed:{dropdownAriaLabel(){return this.item.ariaLabel||this.item.text}},watch:{$route(){this.open=!1}},methods:{setOpen(t){this.open=t},isLastItemOfArray:(t,e)=>o()(e)===t,handleDropdown(){0===event.detail&&this.setOpen(!this.open)}}},l=(n(252),n(14)),u=Object(l.a)(a,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"dropdown-wrapper",class:{open:t.open}},[e("button",{staticClass:"dropdown-title",attrs:{type:"button","aria-label":t.dropdownAriaLabel},on:{click:t.handleDropdown}},[e("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),e("span",{staticClass:"arrow down"})]),t._v(" "),e("button",{staticClass:"mobile-dropdown-title",attrs:{type:"button","aria-label":t.dropdownAriaLabel},on:{click:function(e){return t.setOpen(!t.open)}}},[e("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),e("span",{staticClass:"arrow",class:t.open?"down":"right"})]),t._v(" "),e("DropdownTransition",[e("ul",{directives:[{name:"show",rawName:"v-show",value:t.open,expression:"open"}],staticClass:"nav-dropdown"},t._l(t.item.items,(function(n,s){return e("li",{key:n.link||s,staticClass:"dropdown-item"},["links"===n.type?e("h4",[t._v("\n "+t._s(n.text)+"\n ")]):t._e(),t._v(" "),"links"===n.type?e("ul",{staticClass:"dropdown-subitem-wrapper"},t._l(n.items,(function(s){return e("li",{key:s.link,staticClass:"dropdown-subitem"},[e("NavLink",{attrs:{item:s},on:{focusout:function(e){t.isLastItemOfArray(s,n.items)&&t.isLastItemOfArray(n,t.item.items)&&t.setOpen(!1)}}})],1)})),0):e("NavLink",{attrs:{item:n},on:{focusout:function(e){t.isLastItemOfArray(n,t.item.items)&&t.setOpen(!1)}}})],1)})),0)])],1)}),[],!1,null,null,null);e.default=u.exports},258:function(t,e,n){"use strict";n(248)},259:function(t,e,n){},266:function(t,e,n){"use strict";n.r(e);var s=n(255),i=n(240),r={name:"NavLinks",components:{NavLink:n(242).default,DropdownLink:s.default},computed:{userNav(){return this.$themeLocaleConfig.nav||this.$site.themeConfig.nav||[]},nav(){const{locales:t}=this.$site;if(t&&Object.keys(t).length>1){const e=this.$page.path,n=this.$router.options.routes,s=this.$site.themeConfig.locales||{},i={text:this.$themeLocaleConfig.selectText||"Languages",ariaLabel:this.$themeLocaleConfig.ariaLabel||"Select language",items:Object.keys(t).map(i=>{const r=t[i],o=s[i]&&s[i].label||r.lang;let a;return r.lang===this.$lang?a=e:(a=e.replace(this.$localeConfig.path,i),n.some(t=>t.path===a)||(a=i)),{text:o,link:a}})};return[...this.userNav,i]}return this.userNav},userLinks(){return(this.nav||[]).map(t=>Object.assign(Object(i.j)(t),{items:(t.items||[]).map(i.j)}))},repoLink(){const{repo:t}=this.$site.themeConfig;return t?/^https?:/.test(t)?t:"https://github.com/"+t:null},repoLabel(){if(!this.repoLink)return;if(this.$site.themeConfig.repoLabel)return this.$site.themeConfig.repoLabel;const t=this.repoLink.match(/^https?:\/\/[^/]+/)[0],e=["GitHub","GitLab","Bitbucket"];for(let n=0;n{let s=i()(e,"title","");return i()(e,"frontmatter.tags")&&(s+=" "+e.frontmatter.tags.join(" ")),n&&(s+=" "+n),o(t,s)};const o=(t,e)=>{const n=t=>t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),s=new RegExp("[^\0-]"),i=t.split(/\s+/g).map(t=>t.trim()).filter(t=>!!t);if(s.test(t))return i.some(t=>e.toLowerCase().indexOf(t)>-1);{const s=t.endsWith(" ");return new RegExp(i.map((t,e)=>i.length!==e+1||s?`(?=.*\\b${n(t)}\\b)`:`(?=.*\\b${n(t)})`).join("")+".+","gi").test(e)}};var a={name:"SearchBox",data:()=>({query:"",focused:!1,focusIndex:0,placeholder:void 0}),computed:{showSuggestions(){return this.focused&&this.suggestions&&this.suggestions.length},suggestions(){const t=this.query.trim().toLowerCase();if(!t)return;const{pages:e}=this.$site,n=this.$site.themeConfig.searchMaxSuggestions||5,s=this.$localePath,i=[];for(let o=0;o=n);o++){const a=e[o];if(this.getPageLocalePath(a)===s&&this.isSearchable(a))if(r(t,a))i.push(a);else if(a.headers)for(let e=0;e=n);e++){const n=a.headers[e];n.title&&r(t,a,n.title)&&i.push(Object.assign({},a,{path:a.path+"#"+n.slug,header:n}))}}return i},alignRight(){return(this.$site.themeConfig.nav||[]).length+(this.$site.repo?1:0)<=2}},mounted(){this.placeholder=this.$site.themeConfig.searchPlaceholder||"",document.addEventListener("keydown",this.onHotkey)},beforeDestroy(){document.removeEventListener("keydown",this.onHotkey)},methods:{getPageLocalePath(t){for(const e in this.$site.locales||{})if("/"!==e&&0===t.path.indexOf(e))return e;return"/"},isSearchable(t){let e=null;return null===e||(e=Array.isArray(e)?e:new Array(e),e.filter(e=>t.path.match(e)).length>0)},onHotkey(t){t.srcElement===document.body&&["s","/"].includes(t.key)&&(this.$refs.input.focus(),t.preventDefault())},onUp(){this.showSuggestions&&(this.focusIndex>0?this.focusIndex--:this.focusIndex=this.suggestions.length-1)},onDown(){this.showSuggestions&&(this.focusIndex "+t._s(n.header.title))]):t._e()])])})),0):t._e()])}),[],!1,null,null,null).exports,c=n(284),h=n(266);function f(t,e){return t.ownerDocument.defaultView.getComputedStyle(t,null)[e]}var p={name:"Navbar",components:{SidebarButton:c.default,NavLinks:h.default,SearchBox:u,AlgoliaSearchBox:{}},data:()=>({linksWrapMaxWidth:null}),computed:{algolia(){return this.$themeLocaleConfig.algolia||this.$site.themeConfig.algolia||{}},isAlgoliaSearch(){return this.algolia&&this.algolia.apiKey&&this.algolia.indexName}},mounted(){const t=parseInt(f(this.$el,"paddingLeft"))+parseInt(f(this.$el,"paddingRight")),e=()=>{document.documentElement.clientWidth<719?this.linksWrapMaxWidth=null:this.linksWrapMaxWidth=this.$el.offsetWidth-t-(this.$refs.siteName&&this.$refs.siteName.offsetWidth||0)};e(),window.addEventListener("resize",e,!1)}},d=(n(291),Object(l.a)(p,(function(){var t=this,e=t._self._c;return e("header",{staticClass:"navbar"},[e("SidebarButton",{on:{"toggle-sidebar":function(e){return t.$emit("toggle-sidebar")}}}),t._v(" "),e("RouterLink",{staticClass:"home-link",attrs:{to:t.$localePath}},[t.$site.themeConfig.logo?e("img",{staticClass:"logo",attrs:{src:t.$withBase(t.$site.themeConfig.logo),alt:t.$siteTitle}}):t._e(),t._v(" "),t.$siteTitle?e("span",{ref:"siteName",staticClass:"site-name",class:{"can-hide":t.$site.themeConfig.logo}},[t._v(t._s(t.$siteTitle))]):t._e()]),t._v(" "),e("div",{staticClass:"links",style:t.linksWrapMaxWidth?{"max-width":t.linksWrapMaxWidth+"px"}:{}},[t.isAlgoliaSearch?e("AlgoliaSearchBox",{attrs:{options:t.algolia}}):!1!==t.$site.themeConfig.search&&!1!==t.$page.frontmatter.search?e("SearchBox"):t._e(),t._v(" "),e("NavLinks",{staticClass:"can-hide"})],1)],1)}),[],!1,null,null,null));e.default=d.exports}}]); \ No newline at end of file diff --git a/assets/js/10.e08288fd.js b/assets/js/10.e08288fd.js new file mode 100644 index 000000000..9486de913 --- /dev/null +++ b/assets/js/10.e08288fd.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[10,3,12,14,18,19,21],{240:function(t,e,n){"use strict";n.d(e,"d",(function(){return i})),n.d(e,"a",(function(){return r})),n.d(e,"i",(function(){return a})),n.d(e,"f",(function(){return l})),n.d(e,"g",(function(){return u})),n.d(e,"h",(function(){return c})),n.d(e,"b",(function(){return p})),n.d(e,"e",(function(){return h})),n.d(e,"k",(function(){return d})),n.d(e,"l",(function(){return f})),n.d(e,"c",(function(){return m})),n.d(e,"j",(function(){return g}));n(90);const i=/#.*$/,s=/\.(md|html)$/,r=/\/$/,a=/^[a-z]+:/i;function o(t){return decodeURI(t).replace(i,"").replace(s,"")}function l(t){return a.test(t)}function u(t){return/^mailto:/.test(t)}function c(t){return/^tel:/.test(t)}function p(t){if(l(t))return t;const e=t.match(i),n=e?e[0]:"",s=o(t);return r.test(s)?t:s+".html"+n}function h(t,e){const n=decodeURIComponent(t.hash),s=function(t){const e=t.match(i);if(e)return e[0]}(e);if(s&&n!==s)return!1;return o(t.path)===o(e)}function d(t,e,n){if(l(e))return{type:"external",path:e};n&&(e=function(t,e,n){const i=t.charAt(0);if("/"===i)return t;if("?"===i||"#"===i)return e+t;const s=e.split("/");n&&s[s.length-1]||s.pop();const r=t.replace(/^\//,"").split("/");for(let t=0;tfunction t(e,n,i,s=1){if("string"==typeof e)return d(n,e,i);if(Array.isArray(e))return Object.assign(d(n,e[0],i),{title:e[1]});{const r=e.children||[];return 0===r.length&&e.path?Object.assign(d(n,e.path,i),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:r.map(e=>t(e,n,i,s+1)),collapsable:!1!==e.collapsable}}}(t,s,n)):[]}return[]}function b(t){const e=m(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}))}]}function m(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(t=>2===t.level)}function g(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},241:function(t,e,n){},242:function(t,e,n){"use strict";n.r(e);var i=n(240),s={name:"NavLink",props:{item:{required:!0}},computed:{link(){return Object(i.b)(this.item.link)},exact(){return this.$site.locales?Object.keys(this.$site.locales).some(t=>t===this.link):"/"===this.link},isNonHttpURI(){return Object(i.g)(this.link)||Object(i.h)(this.link)},isBlankTarget(){return"_blank"===this.target},isInternal(){return!Object(i.f)(this.link)&&!this.isBlankTarget},target(){return this.isNonHttpURI?null:this.item.target?this.item.target:Object(i.f)(this.link)?"_blank":""},rel(){return this.isNonHttpURI||!1===this.item.rel?null:this.item.rel?this.item.rel:this.isBlankTarget?"noopener noreferrer":null}},methods:{focusoutAction(){this.$emit("focusout")}}},r=n(14),a=Object(r.a)(s,(function(){var t=this,e=t._self._c;return t.isInternal?e("RouterLink",{staticClass:"nav-link",attrs:{to:t.link,exact:t.exact},nativeOn:{focusout:function(e){return t.focusoutAction.apply(null,arguments)}}},[t._v("\n "+t._s(t.item.text)+"\n")]):e("a",{staticClass:"nav-link external",attrs:{href:t.link,target:t.target,rel:t.rel},on:{focusout:t.focusoutAction}},[t._v("\n "+t._s(t.item.text)+"\n "),t.isBlankTarget?e("OutboundLink"):t._e()],1)}),[],!1,null,null,null);e.default=a.exports},243:function(t,e,n){"use strict";n.r(e);var i={name:"DropdownTransition",methods:{setHeight(t){t.style.height=t.scrollHeight+"px"},unsetHeight(t){t.style.height=""}}},s=(n(244),n(14)),r=Object(s.a)(i,(function(){return(0,this._self._c)("transition",{attrs:{name:"dropdown"},on:{enter:this.setHeight,"after-enter":this.unsetHeight,"before-leave":this.setHeight}},[this._t("default")],2)}),[],!1,null,null,null);e.default=r.exports},244:function(t,e,n){"use strict";n(241)},245:function(t,e,n){},246:function(t,e,n){},248:function(t,e,n){},251:function(t,e,n){},252:function(t,e,n){"use strict";n(245)},253:function(t,e,n){"use strict";n(246)},254:function(t,e,n){"use strict";n.r(e);var i=n(267),s=n(256),r=n(240);function a(t,e){if("group"===e.type){const n=e.path&&Object(r.e)(t,e.path),i=e.children.some(e=>"group"===e.type?a(t,e):"page"===e.type&&Object(r.e)(t,e.path));return n||i}return!1}var o={name:"SidebarLinks",components:{SidebarGroup:i.default,SidebarLink:s.default},props:["items","depth","sidebarDepth","initialOpenGroupIndex"],data(){return{openGroupIndex:this.initialOpenGroupIndex||0}},watch:{$route(){this.refreshIndex()}},created(){this.refreshIndex()},methods:{refreshIndex(){const t=function(t,e){for(let n=0;n-1&&(this.openGroupIndex=t)},toggleGroup(t){this.openGroupIndex=t===this.openGroupIndex?-1:t},isActive(t){return Object(r.e)(this.$route,t.regularPath)}}},l=n(14),u=Object(l.a)(o,(function(){var t=this,e=t._self._c;return t.items.length?e("ul",{staticClass:"sidebar-links"},t._l(t.items,(function(n,i){return e("li",{key:i},["group"===n.type?e("SidebarGroup",{attrs:{item:n,open:i===t.openGroupIndex,collapsable:n.collapsable||n.collapsible,depth:t.depth},on:{toggle:function(e){return t.toggleGroup(i)}}}):e("SidebarLink",{attrs:{"sidebar-depth":t.sidebarDepth,item:n}})],1)})),0):t._e()}),[],!1,null,null,null);e.default=u.exports},255:function(t,e,n){"use strict";n.r(e);var i=n(242),s=n(243),r=n(91),a=n.n(r),o={name:"DropdownLink",components:{NavLink:i.default,DropdownTransition:s.default},props:{item:{required:!0}},data:()=>({open:!1}),computed:{dropdownAriaLabel(){return this.item.ariaLabel||this.item.text}},watch:{$route(){this.open=!1}},methods:{setOpen(t){this.open=t},isLastItemOfArray:(t,e)=>a()(e)===t,handleDropdown(){0===event.detail&&this.setOpen(!this.open)}}},l=(n(252),n(14)),u=Object(l.a)(o,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"dropdown-wrapper",class:{open:t.open}},[e("button",{staticClass:"dropdown-title",attrs:{type:"button","aria-label":t.dropdownAriaLabel},on:{click:t.handleDropdown}},[e("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),e("span",{staticClass:"arrow down"})]),t._v(" "),e("button",{staticClass:"mobile-dropdown-title",attrs:{type:"button","aria-label":t.dropdownAriaLabel},on:{click:function(e){return t.setOpen(!t.open)}}},[e("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),e("span",{staticClass:"arrow",class:t.open?"down":"right"})]),t._v(" "),e("DropdownTransition",[e("ul",{directives:[{name:"show",rawName:"v-show",value:t.open,expression:"open"}],staticClass:"nav-dropdown"},t._l(t.item.items,(function(n,i){return e("li",{key:n.link||i,staticClass:"dropdown-item"},["links"===n.type?e("h4",[t._v("\n "+t._s(n.text)+"\n ")]):t._e(),t._v(" "),"links"===n.type?e("ul",{staticClass:"dropdown-subitem-wrapper"},t._l(n.items,(function(i){return e("li",{key:i.link,staticClass:"dropdown-subitem"},[e("NavLink",{attrs:{item:i},on:{focusout:function(e){t.isLastItemOfArray(i,n.items)&&t.isLastItemOfArray(n,t.item.items)&&t.setOpen(!1)}}})],1)})),0):e("NavLink",{attrs:{item:n},on:{focusout:function(e){t.isLastItemOfArray(n,t.item.items)&&t.setOpen(!1)}}})],1)})),0)])],1)}),[],!1,null,null,null);e.default=u.exports},256:function(t,e,n){"use strict";n.r(e);var i=n(240);function s(t,e,n,i,s){const r={props:{to:e,activeClass:"",exactActiveClass:""},class:{active:i,"sidebar-link":!0}};return s>2&&(r.style={"padding-left":s+"rem"}),t("RouterLink",r,n)}function r(t,e,n,a,o,l=1){return!e||l>o?null:t("ul",{class:"sidebar-sub-headers"},e.map(e=>{const u=Object(i.e)(a,n+"#"+e.slug);return t("li",{class:"sidebar-sub-header"},[s(t,n+"#"+e.slug,e.title,u,e.level-1),r(t,e.children,n,a,o,l+1)])}))}var a={functional:!0,props:["item","sidebarDepth"],render(t,{parent:{$page:e,$site:n,$route:a,$themeConfig:o,$themeLocaleConfig:l},props:{item:u,sidebarDepth:c}}){const p=Object(i.e)(a,u.path),h="auto"===u.type?p||u.children.some(t=>Object(i.e)(a,u.basePath+"#"+t.slug)):p,d="external"===u.type?function(t,e,n){return t("a",{attrs:{href:e,target:"_blank",rel:"noopener noreferrer"},class:{"sidebar-link":!0}},[n,t("OutboundLink")])}(t,u.path,u.title||u.path):s(t,u.path,u.title||u.path,h),f=[e.frontmatter.sidebarDepth,c,l.sidebarDepth,o.sidebarDepth,1].find(t=>void 0!==t),b=l.displayAllHeaders||o.displayAllHeaders;if("auto"===u.type)return[d,r(t,u.children,u.basePath,a,f)];if((h||b)&&u.headers&&!i.d.test(u.path)){return[d,r(t,Object(i.c)(u.headers),u.path,a,f)]}return d}},o=(n(253),n(14)),l=Object(o.a)(a,void 0,void 0,!1,null,null,null);e.default=l.exports},258:function(t,e,n){"use strict";n(248)},264:function(t,e,n){"use strict";n(251)},265:function(t,e,n){},266:function(t,e,n){"use strict";n.r(e);var i=n(255),s=n(240),r={name:"NavLinks",components:{NavLink:n(242).default,DropdownLink:i.default},computed:{userNav(){return this.$themeLocaleConfig.nav||this.$site.themeConfig.nav||[]},nav(){const{locales:t}=this.$site;if(t&&Object.keys(t).length>1){const e=this.$page.path,n=this.$router.options.routes,i=this.$site.themeConfig.locales||{},s={text:this.$themeLocaleConfig.selectText||"Languages",ariaLabel:this.$themeLocaleConfig.ariaLabel||"Select language",items:Object.keys(t).map(s=>{const r=t[s],a=i[s]&&i[s].label||r.lang;let o;return r.lang===this.$lang?o=e:(o=e.replace(this.$localeConfig.path,s),n.some(t=>t.path===o)||(o=s)),{text:a,link:o}})};return[...this.userNav,s]}return this.userNav},userLinks(){return(this.nav||[]).map(t=>Object.assign(Object(s.j)(t),{items:(t.items||[]).map(s.j)}))},repoLink(){const{repo:t}=this.$site.themeConfig;return t?/^https?:/.test(t)?t:"https://github.com/"+t:null},repoLabel(){if(!this.repoLink)return;if(this.$site.themeConfig.repoLabel)return this.$site.themeConfig.repoLabel;const t=this.repoLink.match(/^https?:\/\/[^/]+/)[0],e=["GitHub","GitLab","Bitbucket"];for(let n=0;n"')]),e._v("\ngpg: WARNING: This key is not certified with a trusted signature"),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("!")]),e._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: 5E9B 8F56 17B5 066C E920 57C3 488F CF7C 3ABB 34F8\n Subkey fingerprint: E53C F5EF 91CE B0AD "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("1812")]),e._v(" ECB8 51D6 647E C21A D6EA\n")])])]),t("p",[e._v("Verify the downloaded ISO image checksum:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# calculate the downloaded ISO SHA256 checksum")]),e._v("\n$ sha256sum AlmaLinux-8.5-beta-1-x86_64-boot.iso\n0be5eb574b872737a930ae77d4163b89709cbd537be0f541dbfef046b1813feb AlmaLinux-8.5-beta-1-x86_64-boot.iso\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# compare it with expected checksum, it should be the same")]),e._v("\n$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" CHECKSUM "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-E")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v("'SHA256.*AlmaLinux-8.5-beta-1-x86_64-boot.iso'")]),e._v("\nSHA256 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("AlmaLinux-8.5-beta-1-x86_64-boot.iso"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" 0be5eb574b872737a930ae77d4163b89709cbd537be0f541dbfef046b1813feb\n")])])]),t("p",[e._v("If you decide to use the "),t("code",[e._v("AlmaLinux-8.5-beta-1-x86_64-boot.iso")]),e._v(" image, you will need to provide the "),t("code",[e._v("8.5-beta/BaseOS/x86_64/kickstart/")]),e._v(" repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.")]),e._v(" "),t("p",[e._v("There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.")]),e._v(" "),t("h2",{attrs:{id:"upgrade-instructions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-instructions"}},[e._v("#")]),e._v(" Upgrade Instructions")]),e._v(" "),t("p",[t("strong",[e._v("Please do not use these update instructions on production machines, unless you don't mind if something breaks.")]),e._v(" 😉")]),e._v(" "),t("p",[e._v("Upgrade the almalinux-release package to the 8.5-1.el8 version from the beta repositories:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ dnf "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("install")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v(" https://repo.almalinux.org/almalinux/almalinux-release-latest-8-beta.x86_64.rpm\n$ dnf clean all\n")])])]),t("p",[e._v("the new package contains updated repository URLs so that you can just run:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ dnf upgrade "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v("\n")])])]),t("p",[e._v("to update the rest of the packages.")]),e._v(" "),t("h2",{attrs:{id:"added-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#added-packages"}},[e._v("#")]),e._v(" Added packages")]),e._v(" "),t("p",[e._v("Here is a list of added packages in comparison with upstream distribution.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Package")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("almalinux-backgrounds")]),e._v(" "),t("td",[e._v("AlmaLinux background images."),t("br"),e._v("Replaces "),t("code",[e._v("redhat-backgrounds")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-indexhtml")]),e._v(" "),t("td",[e._v("AlmaLinux default browser page"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-indexhtml")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for OS"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos-httpd")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for HTTPD server"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos-httpd")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos-ipa")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for IPA server"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos-ipa")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-release")]),e._v(" "),t("td",[e._v("AlmaLinux release package, repos, and EULA"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-release")]),e._v(" and "),t("code",[e._v("redhat-release-eula")])])])])]),e._v(" "),t("h2",{attrs:{id:"removed-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#removed-packages"}},[e._v("#")]),e._v(" Removed packages")]),e._v(" "),t("p",[e._v("Here is a list of removed packages in comparison with the upstream distribution."),t("br"),e._v("\nAlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/engineeringpackaging",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat"),t("OutboundLink")],1),e._v(" as well as filing a bug report at "),t("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),t("OutboundLink")],1),e._v(" to discuss if you think any of the packages below should be included into the repos.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Package")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("insights-client")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("kmod-redhat-*")]),e._v(" "),t("td",[e._v("RHEL specific modules from Driver Update Program")])]),e._v(" "),t("tr",[t("td",[e._v("kpatch*")]),e._v(" "),t("td",[e._v("RHEL specific live patches for kernel")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-backgrounds")]),e._v(" "),t("td",[e._v("RHEL specific background images")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-indexhtml")]),e._v(" "),t("td",[e._v("RHEL specific default browser page")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos")]),e._v(" "),t("td",[e._v("RHEL specific graphics for OS")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos-httpd")]),e._v(" "),t("td",[e._v("RHEL specific graphics for HTTPD server")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos-ipa")]),e._v(" "),t("td",[e._v("RHEL specific graphics for IPA server")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-release")]),e._v(" "),t("td",[e._v("RHEL specific release package and repos")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-release-eula")]),e._v(" "),t("td",[e._v("RHEL specific EULA")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-support-lib-python")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-support-tool")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhc")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhc-worker-playbook")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhsm-gtk")]),e._v(" "),t("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("rhsm-icons")]),e._v(" "),t("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("spice-client-win-x64")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-client-win-x86")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-qxl-wddm-dod")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-vdagent-win-x64")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-vdagent-win-x86")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-cockpit")]),e._v(" "),t("td",[e._v("RHEL specific Cockpit module for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-initial-setup-addon")]),e._v(" "),t("td",[e._v("RHEL specific initial setup addon for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-plugin-container")]),e._v(" "),t("td",[e._v("RHEL specific Subscription Manager plugin for upstream vendor containers")])]),e._v(" "),t("tr",[t("td",[e._v("virt-who")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("virtio-win")]),e._v(" "),t("td",[e._v("Contain binaries built by upstream vendor")])])])]),e._v(" "),t("p",[e._v("Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/101.7f1c2c44.js b/assets/js/101.7f1c2c44.js new file mode 100644 index 000000000..922c5b109 --- /dev/null +++ b/assets/js/101.7f1c2c44.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[101],{382:function(e,t,a){"use strict";a.r(t);var r=a(14),s=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"almalinux-8-5-for-powerpc-release-notes"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-8-5-for-powerpc-release-notes"}},[e._v("#")]),e._v(" AlmaLinux 8.5 for PowerPC Release Notes")]),e._v(" "),t("p",[e._v("These are the release notes for AlmaLinux OS 8.5 Stable for ppc64le.\nDistributed kernel version: 4.18.0-348")]),e._v(" "),t("h2",{attrs:{id:"providing-feedback-and-getting-help"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#providing-feedback-and-getting-help"}},[e._v("#")]),e._v(" Providing Feedback and Getting Help")]),e._v(" "),t("p",[e._v("Please report any issues you may encounter on the "),t("a",{attrs:{href:"https://bugs.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),t("OutboundLink")],1),e._v(". Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out "),t("a",{attrs:{href:"https://chat.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community Chat"),t("OutboundLink")],1),e._v(", "),t("a",{attrs:{href:"https://forums.almalinux.org/c/85/5",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Forums"),t("OutboundLink")],1),e._v(" and "),t("a",{attrs:{href:"https://reddit.com/r/almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community on Reddit"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"changelog"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[e._v("#")]),e._v(" Changelog")]),e._v(" "),t("p",[e._v("This changelog contains updates that have been improved or added since PowerPC 8.5 Beta release. You can reference the upstream "),t("a",{attrs:{href:"https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/8.5_release_notes/index",target:"_blank",rel:"noopener noreferrer"}},[e._v("RHEL 8.5 release notes"),t("OutboundLink")],1),e._v(" for a full list of changes in the 8.5 Stable release.")]),e._v(" "),t("ul",[t("li",[e._v("Added the "),t("strong",[e._v("maven:3.6")]),e._v(" module.")])]),e._v(" "),t("h2",{attrs:{id:"installation-instructions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#installation-instructions"}},[e._v("#")]),e._v(" Installation instructions")]),e._v(" "),t("p",[e._v("There are three installation ISO images available:")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-8.5-ppc64le-boot.iso")]),e._v(" - a single network installation CD image that downloads packages over the Internet.")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-8.5-ppc64le-minimal.iso")]),e._v(" - a minimal self-containing DVD image that makes possible offline installation.")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-8.5-ppc64le-dvd.iso")]),e._v(" - a full installation DVD image that contains mostly all AlmaLinux packages.")]),e._v(" "),t("p",[e._v("You should select a mirror closest to your geographic area listed on the "),t("a",{attrs:{href:"https://mirrors.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("mirrors.almalinux.org"),t("OutboundLink")],1),e._v(" website (local mirrors will be a lot quicker than using "),t("code",[e._v("repo.almalinux.org")]),e._v(" directly) and download a suitable ISO image from the 8.5/isos/ppc64le/ directory, for example:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/8.5/isos/ppc64le/AlmaLinux-8.5-ppc64le-boot.iso\n")])])]),t("p",[e._v("Download and import the AlmaLinux public key:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux\n$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" RPM-GPG-KEY-AlmaLinux\n")])])]),t("p",[e._v("Download and verify a checksums list:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/8.5/isos/ppc64le/CHECKSUM\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# we are looking for “Good signature”")]),e._v("\n$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--verify")]),e._v(" CHECKSUM\ngpg: Signature made Thu "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("24")]),e._v(" Feb "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("2022")]),e._v(" 07:16:49 PM UTC using RSA key ID C21AD6EA\ngpg: Good signature from "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux "')]),e._v("\ngpg: WARNING: This key is not certified with a trusted signature"),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("!")]),e._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: 5E9B 8F56 17B5 066C E920 57C3 488F CF7C 3ABB 34F8\n Subkey fingerprint: E53C F5EF 91CE B0AD "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("1812")]),e._v(" ECB8 51D6 647E C21A D6EA\n")])])]),t("p",[e._v("Verify the downloaded ISO image checksum:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# calculate the downloaded ISO SHA256 checksum")]),e._v("\n$ sha256sum AlmaLinux-8.5-ppc64le-boot.iso\nedc1d2713f97db5104271de6a35d4e8f3cc0464ba0467ebc080ab7dd68f92de1 AlmaLinux-8.5-ppc64le-boot.iso\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# compare it with expected checksum, it should be the same")]),e._v("\n$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" CHECKSUM "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-E")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v("'SHA256.*AlmaLinux-8.5-ppc64le-boot.iso'")]),e._v("\nSHA256 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("AlmaLinux-8.5-ppc64le-boot.iso"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" edc1d2713f97db5104271de6a35d4e8f3cc0464ba0467ebc080ab7dd68f92de1\n")])])]),t("p",[e._v("If you decide to use the "),t("code",[e._v("AlmaLinux-8.5-ppc64le-boot.iso")]),e._v(" image, you will\nneed to provide the "),t("code",[e._v("8.5/BaseOS/ppc64le/kickstart/")]),e._v(" repository from the\nselected mirror as the Installation Source.")]),e._v(" "),t("p",[e._v("There are no extra Installation Sources required if you decided to go with\neither the minimal or DVD ISO images.")]),e._v(" "),t("h2",{attrs:{id:"added-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#added-packages"}},[e._v("#")]),e._v(" Added packages")]),e._v(" "),t("p",[e._v("Here is a list of added packages in comparison with the upstream distribution.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Package")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("almalinux-backgrounds")]),e._v(" "),t("td",[e._v("AlmaLinux background images."),t("br"),e._v("Replaces "),t("code",[e._v("redhat-backgrounds")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-indexhtml")]),e._v(" "),t("td",[e._v("AlmaLinux default browser page"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-indexhtml")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for OS"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos-httpd")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for HTTPD server"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos-httpd")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos-ipa")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for IPA server"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos-ipa")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-release")]),e._v(" "),t("td",[e._v("AlmaLinux release package, repos, and EULA"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-release")]),e._v(" and "),t("code",[e._v("redhat-release-eula")])])])])]),e._v(" "),t("h2",{attrs:{id:"removed-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#removed-packages"}},[e._v("#")]),e._v(" Removed packages")]),e._v(" "),t("p",[e._v("Here is a list of removed packages in comparison with the upstream distribution."),t("br"),e._v("\nAlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/engineeringpackaging",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat"),t("OutboundLink")],1),e._v(" as well as file a bug report at "),t("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),t("OutboundLink")],1),e._v(" to discuss if you think any of the packages below should be included into the repos.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Package")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("insights-client")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("kmod-redhat-*")]),e._v(" "),t("td",[e._v("RHEL specific modules from Driver Update Program")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-backgrounds")]),e._v(" "),t("td",[e._v("RHEL specific background images")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-indexhtml")]),e._v(" "),t("td",[e._v("RHEL specific default browser page")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos")]),e._v(" "),t("td",[e._v("RHEL specific graphics for OS")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos-httpd")]),e._v(" "),t("td",[e._v("RHEL specific graphics for HTTPD server")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos-ipa")]),e._v(" "),t("td",[e._v("RHEL specific graphics for IPA server")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-release")]),e._v(" "),t("td",[e._v("RHEL specific release package and repos")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-release-eula")]),e._v(" "),t("td",[e._v("RHEL specific EULA")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-support-lib-python")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-support-tool")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhc")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhc-worker-playbook")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhsm-gtk")]),e._v(" "),t("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("rhsm-icons")]),e._v(" "),t("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("spice-client-win-x64")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-client-win-x86")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-qxl-wddm-dod")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-vdagent-win-x64")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-vdagent-win-x86")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-cockpit")]),e._v(" "),t("td",[e._v("RHEL specific Cockpit module for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-initial-setup-addon")]),e._v(" "),t("td",[e._v("RHEL specific initial setup addon for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-plugin-container")]),e._v(" "),t("td",[e._v("RHEL specific Subscription Manager plugin for upstream vendor containers")])]),e._v(" "),t("tr",[t("td",[e._v("virt-who")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("virtio-win")]),e._v(" "),t("td",[e._v("Contain binaries built by upstream vendor")])])])]),e._v(" "),t("p",[e._v("Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/102.9fa0692f.js b/assets/js/102.9fa0692f.js new file mode 100644 index 000000000..cf8c5f22b --- /dev/null +++ b/assets/js/102.9fa0692f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[102],{383:function(e,t,a){"use strict";a.r(t);var r=a(14),n=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"almalinux-8-5-release-notes"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-8-5-release-notes"}},[e._v("#")]),e._v(" AlmaLinux 8.5 Release Notes")]),e._v(" "),t("p",[e._v("Thank you for downloading AlmaLinux OS. These are the release notes for AlmaLinux OS 8.5 Stable for both the x86_64 and ARM architectures, codename Arctic Sphynx.\nDistributed kernel version: 4.18.0-348.")]),e._v(" "),t("h2",{attrs:{id:"providing-feedback-and-getting-help"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#providing-feedback-and-getting-help"}},[e._v("#")]),e._v(" Providing Feedback and Getting Help")]),e._v(" "),t("p",[e._v("Please report any issues you may encounter on the "),t("a",{attrs:{href:"https://bugs.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),t("OutboundLink")],1),e._v(". Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out "),t("a",{attrs:{href:"https://chat.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community Chat"),t("OutboundLink")],1),e._v(", "),t("a",{attrs:{href:"https://forums.almalinux.org/c/85/5",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Forums"),t("OutboundLink")],1),e._v(" and "),t("a",{attrs:{href:"https://reddit.com/r/almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community on Reddit"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"changelog"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[e._v("#")]),e._v(" Changelog")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("Added new module streams:")]),e._v(" "),t("ul",[t("li",[e._v("nginx 1.20")]),e._v(" "),t("li",[e._v("Node.js 16")]),e._v(" "),t("li",[e._v("Ruby 3.0")])])]),e._v(" "),t("li",[t("p",[e._v("Updated components:")]),e._v(" "),t("ul",[t("li",[e._v("PHP 7.4.19")]),e._v(" "),t("li",[e._v("Squid 4.15")]),e._v(" "),t("li",[e._v("Mutt 2.0.7")])])]),e._v(" "),t("li",[t("p",[e._v("Compiler Updates:")]),e._v(" "),t("ul",[t("li",[e._v("GCC Toolset 11")]),e._v(" "),t("li",[e._v("LLVM Toolset 12.0.1")]),e._v(" "),t("li",[e._v("Rust Toolset 1.54.0")]),e._v(" "),t("li",[e._v("Go Toolset 1.16.7")])])]),e._v(" "),t("li",[t("p",[e._v("The closest mirror will be selected automatically in network install mode.")])]),e._v(" "),t("li",[t("p",[e._v("Added new repositories:")]),e._v(" "),t("ul",[t("li",[e._v("ResilientStorage")]),e._v(" "),t("li",[e._v("Plus")])])]),e._v(" "),t("li",[t("p",[e._v("SCAP Security Guide includes new profiles and improvements for the existing profiles:")]),e._v(" "),t("ul",[t("li",[e._v("A new profile aligned with the Australian Cyber Security Centre Information Security Manual (ACSC ISM).")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://www.cisecurity.org/benchmark/almalinuxos_linux/",target:"_blank",rel:"noopener noreferrer"}},[e._v("The Center for Internet Security (CIS) AlmaLinux profile"),t("OutboundLink")],1),e._v(" restructured into four different profiles (Workstation Level 1, Workstation Level 2, Server Level 1, Server Level 2).")]),e._v(" "),t("li",[e._v("The Security Technical Implementation Guide (STIG) security profile updated to version V1R3.")]),e._v(" "),t("li",[e._v("A new STIG profile compatible with Server with GUI installations.")]),e._v(" "),t("li",[e._v("A new French National Security Agency (ANSSI) High Level profile, which completes the availability of profiles for all ANSSI-BP-028 v1.2 hardening levels in the SCAP Security Guide.")])])])]),e._v(" "),t("p",[e._v("You can reference the upstream "),t("a",{attrs:{href:"https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/8.5_release_notes/index",target:"_blank",rel:"noopener noreferrer"}},[e._v("RHEL 8.5 release notes"),t("OutboundLink")],1),e._v(" for a full list of changes in this release.")]),e._v(" "),t("h2",{attrs:{id:"installation-instructions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#installation-instructions"}},[e._v("#")]),e._v(" Installation Instructions")]),e._v(" "),t("p",[e._v("There are three installation ISO images available:")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-8.5-x86_64-boot.iso")]),e._v(" - a single network installation CD image that downloads packages over the Internet.")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-8.5-x86_64-minimal.iso")]),e._v(" - a minimal self-containing DVD image that makes possible offline installation.")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-8.5-x86_64-dvd.iso")]),e._v(" - a full installation DVD image that contains mostly all AlmaLinux packages.")]),e._v(" "),t("p",[e._v("The recommended way to download ISO images is using the "),t("a",{attrs:{href:"http://repo.almalinux.org/almalinux/8.5/isos/x86_64/AlmaLinux-8.5-x86_64.torrent",target:"_blank",rel:"noopener noreferrer"}},[e._v("torrent"),t("OutboundLink")],1),e._v(" links. Alternatively, you can select a mirror closest to your geographic area listed on the "),t("a",{attrs:{href:"https://mirrors.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("mirrors.almalinux.org"),t("OutboundLink")],1),e._v(" website. A local mirror will be a lot quicker than using "),t("code",[e._v("repo.almalinux.org")]),e._v(" directly. Then, download a suitable ISO image from the 8.5/isos/$arch/ directory of your source, for example:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" http://almalinux-mirror.dal1.hivelocity.net/almalinux/8.5/isos/x86_64/AlmaLinux-8.5-x86_64-boot.iso\n")])])]),t("p",[e._v("Download and import the AlmaLinux public key:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux\n$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" RPM-GPG-KEY-AlmaLinux\n")])])]),t("p",[e._v("Download and verify a checksums list:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/8.5/isos/x86_64/CHECKSUM\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# we are looking for “Good signature”")]),e._v("\n$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--verify")]),e._v(" CHECKSUM\ngpg: Signature made Thu "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("11")]),e._v(" Nov "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("2021")]),e._v(" 05:28:05 PM UTC using RSA key ID C21AD6EA\ngpg: Good signature from "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux "')]),e._v("\ngpg: WARNING: This key is not certified with a trusted signature"),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("!")]),e._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: 5E9B 8F56 17B5 066C E920 57C3 488F CF7C 3ABB 34F8\n Subkey fingerprint: E53C F5EF 91CE B0AD "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("1812")]),e._v(" ECB8 51D6 647E C21A D6EA\n")])])]),t("p",[e._v("Verify the downloaded ISO image checksum:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# calculate the downloaded ISO SHA256 checksum")]),e._v("\n$ sha256sum AlmaLinux-8.5-x86_64-boot.iso\n65b3b4c17ce322081e2d743ee420b37b7213f4b14d2ec4f3c4f026d57aa148ec AlmaLinux-8.5-x86_64-boot.iso\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# compare it with expected checksum, it should be the same")]),e._v("\n$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" CHECKSUM "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-E")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v("'SHA256.*AlmaLinux-8.5-x86_64-boot.iso'")]),e._v("\nSHA256 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("AlmaLinux-8.5-x86_64-boot.iso"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" 65b3b4c17ce322081e2d743ee420b37b7213f4b14d2ec4f3c4f026d57aa148ec\n")])])]),t("p",[e._v("If you decide to use the "),t("code",[e._v("AlmaLinux-8.5-x86_64-boot.iso")]),e._v(" image, you will need to provide the "),t("code",[e._v("8.5/BaseOS/x86_64/kickstart/")]),e._v(" repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.")]),e._v(" "),t("p",[e._v("There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.")]),e._v(" "),t("h2",{attrs:{id:"upgrade-instructions-from-8-4-to-8-5"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-instructions-from-8-4-to-8-5"}},[e._v("#")]),e._v(" Upgrade Instructions from 8.4 to 8.5")]),e._v(" "),t("p",[e._v("To update your AlmaLinux OS 8.4 Stable to 8.5:")]),e._v(" "),t("p",[t("code",[e._v("$ dnf upgrade -y")])]),e._v(" "),t("p",[e._v("To upgrade from the 8.5 Beta Release run the same command "),t("strong",[e._v("twice")]),e._v(":")]),e._v(" "),t("p",[t("code",[e._v("$ dnf upgrade -y")])]),e._v(" "),t("h2",{attrs:{id:"packages-added-in-this-release"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#packages-added-in-this-release"}},[e._v("#")]),e._v(" Packages Added in this Release")]),e._v(" "),t("p",[e._v("Here is a list of added packages in comparison with upstream distribution.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Package")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("almalinux-backgrounds")]),e._v(" "),t("td",[e._v("AlmaLinux background images."),t("br"),e._v("Replaces "),t("code",[e._v("redhat-backgrounds")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-indexhtml")]),e._v(" "),t("td",[e._v("AlmaLinux default browser page"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-indexhtml")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for OS"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos-httpd")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for HTTPD server"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos-httpd")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos-ipa")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for IPA server"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos-ipa")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-release")]),e._v(" "),t("td",[e._v("AlmaLinux release package, repos, and EULA"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-release")]),e._v(" and "),t("code",[e._v("redhat-release-eula")])])])])]),e._v(" "),t("h2",{attrs:{id:"packages-removed-in-this-release"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#packages-removed-in-this-release"}},[e._v("#")]),e._v(" Packages Removed in this Release")]),e._v(" "),t("p",[e._v("Here is a list of removed packages in comparison with the upstream distribution."),t("br"),e._v("\nAlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/engineeringpackaging",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat"),t("OutboundLink")],1),e._v(" as well as filing a bug report at "),t("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),t("OutboundLink")],1),e._v(" to discuss if you think any of the packages below should be included into the repos.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Package")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("insights-client")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("kmod-redhat-*")]),e._v(" "),t("td",[e._v("RHEL specific modules from Driver Update Program")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-backgrounds")]),e._v(" "),t("td",[e._v("RHEL specific background images")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-indexhtml")]),e._v(" "),t("td",[e._v("RHEL specific default browser page")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos")]),e._v(" "),t("td",[e._v("RHEL specific graphics for OS")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos-httpd")]),e._v(" "),t("td",[e._v("RHEL specific graphics for HTTPD server")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos-ipa")]),e._v(" "),t("td",[e._v("RHEL specific graphics for IPA server")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-release")]),e._v(" "),t("td",[e._v("RHEL specific release package and repos")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-release-eula")]),e._v(" "),t("td",[e._v("RHEL specific EULA")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-support-lib-python")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-support-tool")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhc")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhc-worker-playbook")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhsm-gtk")]),e._v(" "),t("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("rhsm-icons")]),e._v(" "),t("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("spice-client-win-x64")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-client-win-x86")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-qxl-wddm-dod")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-vdagent-win-x64")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-vdagent-win-x86")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-cockpit")]),e._v(" "),t("td",[e._v("RHEL specific Cockpit module for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-initial-setup-addon")]),e._v(" "),t("td",[e._v("RHEL specific initial setup addon for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-plugin-container")]),e._v(" "),t("td",[e._v("RHEL specific Subscription Manager plugin for upstream vendor containers")])]),e._v(" "),t("tr",[t("td",[e._v("virt-who")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("virtio-win")]),e._v(" "),t("td",[e._v("Contain binaries built by upstream vendor")])])])]),e._v(" "),t("p",[e._v("Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/103.9f6a738b.js b/assets/js/103.9f6a738b.js new file mode 100644 index 000000000..74a1fe5b0 --- /dev/null +++ b/assets/js/103.9f6a738b.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[103],{384:function(e,a,t){"use strict";t.r(a);var r=t(14),s=Object(r.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"almalinux-8-6-beta-release-notes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-8-6-beta-release-notes"}},[e._v("#")]),e._v(" AlmaLinux 8.6 Beta Release Notes")]),e._v(" "),a("p",[e._v("These are the release notes for AlmaLinux OS 8.6 Beta for x86_64, aarch64 and ppc64le architectures, codename Sky Tiger.")]),e._v(" "),a("h2",{attrs:{id:"beta-release"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beta-release"}},[e._v("#")]),e._v(" Beta Release")]),e._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),a("p",[e._v("This is a "),a("strong",[e._v("BETA")]),e._v(" release and should not be used for production installations. The provided upgrade instructions should not be used on production machines, unless you don't mind if something breaks 😉")])]),e._v(" "),a("h2",{attrs:{id:"providing-feedback-and-getting-help"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#providing-feedback-and-getting-help"}},[e._v("#")]),e._v(" Providing Feedback and Getting Help")]),e._v(" "),a("p",[e._v("Please report any issues you may encounter during tests on the "),a("a",{attrs:{href:"https://bugs.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),a("OutboundLink")],1),e._v(". Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out "),a("a",{attrs:{href:"https://chat.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community Chat"),a("OutboundLink")],1),e._v(", "),a("a",{attrs:{href:"https://forums.almalinux.org/c/86-beta/5",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Forums"),a("OutboundLink")],1),e._v(" and "),a("a",{attrs:{href:"https://reddit.com/r/almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community on Reddit"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"changelog"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[e._v("#")]),e._v(" Changelog")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("Added new module streams:")]),e._v(" "),a("ul",[a("li",[e._v("PHP 8.0")]),e._v(" "),a("li",[e._v("Perl 5.32")]),e._v(" "),a("li",[e._v("log4j 2")]),e._v(" "),a("li",[e._v("container-tools 4.0")])])]),e._v(" "),a("li",[a("p",[e._v("Added new repositories:")]),e._v(" "),a("ul",[a("li",[e._v("Real Time (RT)")]),e._v(" "),a("li",[e._v("Real Time for NFV (NFV)")])])]),e._v(" "),a("li",[a("p",[e._v("Added drop-in configuration files support to OpenSSH")])]),e._v(" "),a("li",[a("p",[e._v("Added "),a("code",[e._v("--checksum")]),e._v(" option to the "),a("code",[e._v("semodule")]),e._v(" command to verify the versions of installed SELinux policy modules")])])]),e._v(" "),a("h2",{attrs:{id:"installation-instructions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#installation-instructions"}},[e._v("#")]),e._v(" Installation instructions")]),e._v(" "),a("p",[e._v("There are three installation ISO images available:")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-8.6-beta-1-x86_64-boot.iso")]),e._v(" - a single network installation CD image that downloads packages over the Internet.")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-8.6-beta-1-x86_64-minimal.iso")]),e._v(" - a minimal self-containing DVD image that makes possible offline installation.")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-8.6-beta-1-x86_64-dvd.iso")]),e._v(" - a full installation DVD image that contains mostly all AlmaLinux packages.")]),e._v(" "),a("p",[e._v("You can select a mirror closest to your geographic area listed on the "),a("a",{attrs:{href:"https://mirrors.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("mirrors.almalinux.org"),a("OutboundLink")],1),e._v(" website. A local mirror will be a lot quicker than using "),a("code",[e._v("repo.almalinux.org")]),e._v(" directly. Then, download a suitable ISO image from the 8.6-beta/isos/$arch/ directory of your source, for example:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://mirror.interserver.net/almalinux/8.6-beta/isos/x86_64/AlmaLinux-8.6-beta-1-x86_64-boot.iso\n")])])]),a("p",[e._v("Download and import the AlmaLinux public key:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux\n$ gpg "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" RPM-GPG-KEY-AlmaLinux\n")])])]),a("p",[e._v("Download and verify a checksums list:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/8.6-beta/isos/x86_64/CHECKSUM\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# we are looking for “Good signature”")]),e._v("\n$ gpg "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--verify")]),e._v(" CHECKSUM\ngpg: Signature made Fri 06 May "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("2022")]),e._v(" 01:28:48 AM UTC\ngpg: using RSA key 51D6647EC21AD6EA\ngpg: Good signature from "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux "')]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("unknown"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\ngpg: WARNING: This key is not certified with a trusted signature"),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("!")]),e._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: 5E9B 8F56 17B5 066C E920 57C3 488F CF7C 3ABB 34F8\n Subkey fingerprint: E53C F5EF 91CE B0AD "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("1812")]),e._v(" ECB8 51D6 647E C21A D6EA\n")])])]),a("p",[e._v("Verify the downloaded ISO image checksum:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# calculate the downloaded ISO SHA256 checksum")]),e._v("\n$ sha256sum AlmaLinux-8.6-beta-1-x86_64-boot.iso\n7bbcd5ad3815ec75e5b0f8207adf4c4dbb97a6a56e2b048ee41bdb27921887a0 AlmaLinux-8.6-beta-1-x86_64-boot.iso\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# compare it with expected checksum, it should be the same")]),e._v("\n$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" CHECKSUM "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-E")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'SHA256.*AlmaLinux-8.6-beta-1-x86_64-boot.iso'")]),e._v("\nSHA256 "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("AlmaLinux-8.6-beta-1-x86_64-boot.iso"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" 7bbcd5ad3815ec75e5b0f8207adf4c4dbb97a6a56e2b048ee41bdb27921887a0\n")])])]),a("p",[e._v("If you decide to use the "),a("code",[e._v("AlmaLinux-8.6-beta-1-x86_64-boot.iso")]),e._v(" image, you will need to provide the "),a("code",[e._v("8.6-beta/BaseOS/x86_64/kickstart/")]),e._v(" repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.")]),e._v(" "),a("p",[e._v("There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.")]),e._v(" "),a("h2",{attrs:{id:"upgrade-instructions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-instructions"}},[e._v("#")]),e._v(" Upgrade Instructions")]),e._v(" "),a("p",[a("strong",[e._v("Please do not use these update instructions on production machines, unless you don't mind if something breaks")]),e._v(" 😉")]),e._v(" "),a("p",[e._v("Upgrade the almalinux-release package to the 8.6-0.0.el8 version from the beta repositories:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ dnf "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("install")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v(" https://repo.almalinux.org/almalinux/almalinux-release-latest-8-beta.x86_64.rpm\n$ dnf clean all\n")])])]),a("p",[e._v("the new package contains updated repository URLs so that you can just run:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ dnf upgrade "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v("\n")])])]),a("p",[e._v("to update the rest of the packages.")]),e._v(" "),a("h2",{attrs:{id:"added-packages"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#added-packages"}},[e._v("#")]),e._v(" Added packages")]),e._v(" "),a("p",[e._v("Here is a list of added packages in comparison with upstream distribution.")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Package")]),e._v(" "),a("th",[e._v("Description")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("almalinux-backgrounds")]),e._v(" "),a("td",[e._v("AlmaLinux background images."),a("br"),e._v("Replaces "),a("code",[e._v("redhat-backgrounds")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-indexhtml")]),e._v(" "),a("td",[e._v("AlmaLinux default browser page"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-indexhtml")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-logos")]),e._v(" "),a("td",[e._v("AlmaLinux graphics for OS"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-logos")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-logos-httpd")]),e._v(" "),a("td",[e._v("AlmaLinux graphics for HTTPD server"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-logos-httpd")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-logos-ipa")]),e._v(" "),a("td",[e._v("AlmaLinux graphics for IPA server"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-logos-ipa")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-release")]),e._v(" "),a("td",[e._v("AlmaLinux release package, repos, and EULA"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-release")]),e._v(" and "),a("code",[e._v("redhat-release-eula")])])])])]),e._v(" "),a("h2",{attrs:{id:"removed-packages"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#removed-packages"}},[e._v("#")]),e._v(" Removed packages")]),e._v(" "),a("p",[e._v("Here is a list of removed packages in comparison with the upstream distribution."),a("br"),e._v("\nAlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join "),a("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/engineeringpackaging",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat"),a("OutboundLink")],1),e._v(" as well as filing a bug report at "),a("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),a("OutboundLink")],1),e._v(" to discuss if you think any of the packages below should be included into the repos.")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Package")]),e._v(" "),a("th",[e._v("Description")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("insights-client")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("kmod-redhat-*")]),e._v(" "),a("td",[e._v("RHEL specific modules from Driver Update Program")])]),e._v(" "),a("tr",[a("td",[e._v("kpatch*")]),e._v(" "),a("td",[e._v("RHEL specific live patches for kernel")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-backgrounds")]),e._v(" "),a("td",[e._v("RHEL specific background images")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-indexhtml")]),e._v(" "),a("td",[e._v("RHEL specific default browser page")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-logos")]),e._v(" "),a("td",[e._v("RHEL specific graphics for OS")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-logos-httpd")]),e._v(" "),a("td",[e._v("RHEL specific graphics for HTTPD server")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-logos-ipa")]),e._v(" "),a("td",[e._v("RHEL specific graphics for IPA server")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-release")]),e._v(" "),a("td",[e._v("RHEL specific release package and repos")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-release-eula")]),e._v(" "),a("td",[e._v("RHEL specific EULA")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-support-lib-python")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-support-tool")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("rhc")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("rhc-worker-playbook")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("rhsm-gtk")]),e._v(" "),a("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("rhsm-icons")]),e._v(" "),a("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("spice-client-win-x64")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-client-win-x86")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-qxl-wddm-dod")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-vdagent-win-x64")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-vdagent-win-x86")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("subscription-manager-cockpit")]),e._v(" "),a("td",[e._v("RHEL specific Cockpit module for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("subscription-manager-initial-setup-addon")]),e._v(" "),a("td",[e._v("RHEL specific initial setup addon for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("subscription-manager-plugin-container")]),e._v(" "),a("td",[e._v("RHEL specific Subscription Manager plugin for upstream vendor containers")])]),e._v(" "),a("tr",[a("td",[e._v("virt-who")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("virtio-win")]),e._v(" "),a("td",[e._v("Contain binaries built by upstream vendor")])])])]),e._v(" "),a("p",[e._v("Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")])])}),[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/104.e64dc265.js b/assets/js/104.e64dc265.js new file mode 100644 index 000000000..eac88d6d9 --- /dev/null +++ b/assets/js/104.e64dc265.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[104],{409:function(e,t,a){"use strict";a.r(t);var r=a(14),s=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"almalinux-8-6-release-notes"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-8-6-release-notes"}},[e._v("#")]),e._v(" AlmaLinux 8.6 Release Notes")]),e._v(" "),t("p",[e._v("These are the release notes for AlmaLinux OS 8.6 Stable for all supported architectures:")]),e._v(" "),t("ul",[t("li",[e._v("x86_64")]),e._v(" "),t("li",[e._v("aarch64")]),e._v(" "),t("li",[e._v("ppc64le")]),e._v(" "),t("li",[e._v("s390x")])]),e._v(" "),t("p",[e._v("Codename: Sky Tiger.\nDistributed kernel version: 4.18.0-372.9.1.el8.")]),e._v(" "),t("h2",{attrs:{id:"providing-feedback-and-getting-help"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#providing-feedback-and-getting-help"}},[e._v("#")]),e._v(" Providing Feedback and Getting Help")]),e._v(" "),t("p",[e._v("Please report any issues you may encounter during tests on the "),t("a",{attrs:{href:"https://bugs.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),t("OutboundLink")],1),e._v(". Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out "),t("a",{attrs:{href:"https://chat.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community Chat"),t("OutboundLink")],1),e._v(", "),t("a",{attrs:{href:"https://forums.almalinux.org/c/86/5",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Forums"),t("OutboundLink")],1),e._v(" and "),t("a",{attrs:{href:"https://reddit.com/r/almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community on Reddit"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"changelog"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[e._v("#")]),e._v(" Changelog")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("Added new module streams:")]),e._v(" "),t("ul",[t("li",[e._v("PHP 8.0")]),e._v(" "),t("li",[e._v("Perl 5.32")]),e._v(" "),t("li",[e._v("log4j 2")]),e._v(" "),t("li",[e._v("container-tools 4.0")])])]),e._v(" "),t("li",[t("p",[e._v("Added new repositories:")]),e._v(" "),t("ul",[t("li",[e._v("Real Time (RT)")]),e._v(" "),t("li",[e._v("Real Time for NFV (NFV)")])])]),e._v(" "),t("li",[t("p",[e._v("Compiler updates:")]),e._v(" "),t("ul",[t("li",[e._v("GCC Toolset 11")]),e._v(" "),t("li",[e._v("LLVM Toolset 13.0.1")]),e._v(" "),t("li",[e._v("Rust Toolset 1.58.1")]),e._v(" "),t("li",[e._v("Go Toolset 1.17.7")])])]),e._v(" "),t("li",[t("p",[e._v("Added drop-in configuration files support to OpenSSH")])]),e._v(" "),t("li",[t("p",[e._v("Added "),t("code",[e._v("--checksum")]),e._v(" option to the "),t("code",[e._v("semodule")]),e._v(" command to verify the versions of installed SELinux policy modules")])])]),e._v(" "),t("p",[e._v("You can reference the upstream "),t("a",{attrs:{href:"https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/8.6_release_notes/index",target:"_blank",rel:"noopener noreferrer"}},[e._v("RHEL 8.6 release notes"),t("OutboundLink")],1),e._v(" for a full list of changes in this release.")]),e._v(" "),t("h2",{attrs:{id:"installation-instructions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#installation-instructions"}},[e._v("#")]),e._v(" Installation instructions")]),e._v(" "),t("p",[e._v("There are three installation ISO images available:")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-8.6-x86_64-boot.iso")]),e._v(" - a single network installation CD image that downloads packages over the Internet.")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-8.6-x86_64-minimal.iso")]),e._v(" - a minimal self-containing DVD image that makes possible offline installation.")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-8.6-x86_64-dvd.iso")]),e._v(" - a full installation DVD image that contains mostly all AlmaLinux packages.")]),e._v(" "),t("p",[e._v("The recommended way to download ISO images is using the "),t("a",{attrs:{href:"https://repo.almalinux.org/almalinux/8.6/isos/x86_64/AlmaLinux-8.6-x86_64.torrent",target:"_blank",rel:"noopener noreferrer"}},[e._v("torrent"),t("OutboundLink")],1),e._v(" links. Alternatively, you can select a mirror closest to your geographic area listed on the "),t("a",{attrs:{href:"https://mirrors.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("mirrors.almalinux.org"),t("OutboundLink")],1),e._v(" website. A local mirror will be a lot quicker than using "),t("code",[e._v("repo.almalinux.org")]),e._v(" directly. Then, download a suitable ISO image from the 8.6/isos/$arch/ directory of your source, for example:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://mirror.interserver.net/almalinux/8.6/isos/x86_64/AlmaLinux-8.6-x86_64-boot.iso\n")])])]),t("p",[e._v("Download and import the AlmaLinux public key:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux\n$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" RPM-GPG-KEY-AlmaLinux\n")])])]),t("p",[e._v("Download and verify a checksums list:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/8.6/isos/x86_64/CHECKSUM\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# we are looking for “Good signature”")]),e._v("\n$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--verify")]),e._v(" CHECKSUM\ngpg: Signature made Wed May "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("11")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("21")]),e._v(":11:12 "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("2022")]),e._v(" UTC\ngpg: using RSA key 51D6647EC21AD6EA\ngpg: Good signature from "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux "')]),e._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("unknown"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\ngpg: WARNING: This key is not certified with a trusted signature"),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("!")]),e._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: 5E9B 8F56 17B5 066C E920 57C3 488F CF7C 3ABB 34F8\n Subkey fingerprint: E53C F5EF 91CE B0AD "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("1812")]),e._v(" ECB8 51D6 647E C21A D6EA\n")])])]),t("p",[e._v("Verify the downloaded ISO image checksum:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# calculate the downloaded ISO SHA256 checksum")]),e._v("\n$ sha256sum AlmaLinux-8.6-x86_64-boot.iso\nde92004fcc5bb5b9af586c9b5ab0e0c7c5a5eedce4d2be85156c5dd31a4fa81b AlmaLinux-8.6-x86_64-boot.iso\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# compare it with expected checksum, it should be the same")]),e._v("\n$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" CHECKSUM "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-E")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v("'SHA256.*AlmaLinux-8.6-x86_64-boot.iso'")]),e._v("\nSHA256 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("AlmaLinux-8.6-x86_64-boot.iso"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" de92004fcc5bb5b9af586c9b5ab0e0c7c5a5eedce4d2be85156c5dd31a4fa81b\n")])])]),t("p",[e._v("If you decide to use the "),t("code",[e._v("AlmaLinux-8.6-x86_64-boot.iso")]),e._v(" image, you will need to provide the "),t("code",[e._v("8.6/BaseOS/x86_64/kickstart/")]),e._v(" repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.")]),e._v(" "),t("p",[e._v("There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.")]),e._v(" "),t("p",[e._v('Notice: the size of the ramdisk has increased. If you encounter remote "ks.cfg not found" this could be due memory limits in your template VM (4GB of RAM is known to work)')]),e._v(" "),t("h2",{attrs:{id:"upgrade-instructions-from-8-5-to-8-6"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-instructions-from-8-5-to-8-6"}},[e._v("#")]),e._v(" Upgrade Instructions from 8.5 to 8.6")]),e._v(" "),t("p",[e._v("To update your AlmaLinux OS 8.5 Stable to 8.6:")]),e._v(" "),t("p",[t("code",[e._v("$ dnf upgrade -y")])]),e._v(" "),t("p",[e._v("To upgrade from the 8.6 Beta Release run the same command "),t("strong",[e._v("twice")]),e._v(":")]),e._v(" "),t("p",[t("code",[e._v("$ dnf upgrade -y")])]),e._v(" "),t("h2",{attrs:{id:"added-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#added-packages"}},[e._v("#")]),e._v(" Added packages")]),e._v(" "),t("p",[e._v("Here is a list of added packages in comparison with upstream distribution.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Package")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("almalinux-backgrounds")]),e._v(" "),t("td",[e._v("AlmaLinux background images."),t("br"),e._v("Replaces "),t("code",[e._v("redhat-backgrounds")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-indexhtml")]),e._v(" "),t("td",[e._v("AlmaLinux default browser page"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-indexhtml")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for OS"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos-httpd")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for HTTPD server"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos-httpd")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos-ipa")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for IPA server"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos-ipa")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-release")]),e._v(" "),t("td",[e._v("AlmaLinux release package, repos, and EULA"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-release")]),e._v(" and "),t("code",[e._v("redhat-release-eula")])])])])]),e._v(" "),t("h2",{attrs:{id:"removed-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#removed-packages"}},[e._v("#")]),e._v(" Removed packages")]),e._v(" "),t("p",[e._v("Here is a list of removed packages in comparison with the upstream distribution."),t("br"),e._v("\nAlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/engineeringpackaging",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat"),t("OutboundLink")],1),e._v(" as well as filing a bug report at "),t("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),t("OutboundLink")],1),e._v(" to discuss if you think any of the packages below should be included into the repos.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Package")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("insights-client")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("kmod-redhat-*")]),e._v(" "),t("td",[e._v("RHEL specific modules from Driver Update Program")])]),e._v(" "),t("tr",[t("td",[e._v("kpatch*")]),e._v(" "),t("td",[e._v("RHEL specific live patches for kernel")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-backgrounds")]),e._v(" "),t("td",[e._v("RHEL specific background images")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-indexhtml")]),e._v(" "),t("td",[e._v("RHEL specific default browser page")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos")]),e._v(" "),t("td",[e._v("RHEL specific graphics for OS")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos-httpd")]),e._v(" "),t("td",[e._v("RHEL specific graphics for HTTPD server")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos-ipa")]),e._v(" "),t("td",[e._v("RHEL specific graphics for IPA server")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-release")]),e._v(" "),t("td",[e._v("RHEL specific release package and repos")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-release-eula")]),e._v(" "),t("td",[e._v("RHEL specific EULA")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-support-lib-python")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-support-tool")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhc")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhc-worker-playbook")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhsm-gtk")]),e._v(" "),t("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("rhsm-icons")]),e._v(" "),t("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("spice-client-win-x64")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-client-win-x86")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-qxl-wddm-dod")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-vdagent-win-x64")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-vdagent-win-x86")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-cockpit")]),e._v(" "),t("td",[e._v("RHEL specific Cockpit module for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-initial-setup-addon")]),e._v(" "),t("td",[e._v("RHEL specific initial setup addon for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-plugin-container")]),e._v(" "),t("td",[e._v("RHEL specific Subscription Manager plugin for upstream vendor containers")])]),e._v(" "),t("tr",[t("td",[e._v("virt-who")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("virtio-win")]),e._v(" "),t("td",[e._v("Contain binaries built by upstream vendor")])])])]),e._v(" "),t("p",[e._v("Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/105.450f0956.js b/assets/js/105.450f0956.js new file mode 100644 index 000000000..4121d56b7 --- /dev/null +++ b/assets/js/105.450f0956.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[105],{385:function(e,t,a){"use strict";a.r(t);var r=a(14),s=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"almalinux-8-7-beta-release-notes"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-8-7-beta-release-notes"}},[e._v("#")]),e._v(" AlmaLinux 8.7 Beta Release Notes")]),e._v(" "),t("p",[e._v("These are the release notes for AlmaLinux OS 8.7 Beta for x86_64, aarch64, ppc64le and s390x architectures, codename Stone Smilodon.")]),e._v(" "),t("p",[e._v("Distributed kernel version: 4.18.0-423.el8.")]),e._v(" "),t("h2",{attrs:{id:"beta-release"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#beta-release"}},[e._v("#")]),e._v(" Beta Release")]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("This is a "),t("strong",[e._v("BETA")]),e._v(" release and should not be used for production installations. The provided upgrade instructions should not be used on production machines, unless you don't mind if something breaks 😉")])]),e._v(" "),t("h2",{attrs:{id:"providing-feedback-and-getting-help"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#providing-feedback-and-getting-help"}},[e._v("#")]),e._v(" Providing Feedback and Getting Help")]),e._v(" "),t("p",[e._v("Please report any issues you may encounter during tests on the "),t("a",{attrs:{href:"https://bugs.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),t("OutboundLink")],1),e._v(". Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out "),t("a",{attrs:{href:"https://chat.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community Chat"),t("OutboundLink")],1),e._v(", "),t("a",{attrs:{href:"https://forums.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Forums"),t("OutboundLink")],1),e._v(" and "),t("a",{attrs:{href:"https://reddit.com/r/almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community on Reddit"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"changelog"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[e._v("#")]),e._v(" Changelog")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("Added a new package:")]),e._v(" "),t("ul",[t("li",[e._v("XMLStarlet")])])]),e._v(" "),t("li",[t("p",[e._v("Added new module streams:")]),e._v(" "),t("ul",[t("li",[e._v("Ruby 3.1")]),e._v(" "),t("li",[e._v("Mercurial 6.2")]),e._v(" "),t("li",[e._v("Node.js 18")])])]),e._v(" "),t("li",[t("p",[e._v("Updated module stream:")]),e._v(" "),t("ul",[t("li",[e._v("Redis 6 to version 6.2.7")])])]),e._v(" "),t("li",[t("p",[e._v("Updated command-line tools:")]),e._v(" "),t("ul",[t("li",[e._v("opencryptoki 3.18.0")]),e._v(" "),t("li",[e._v("powerpc-utils 1.3.10")]),e._v(" "),t("li",[e._v("libva to 2.13.0")])])]),e._v(" "),t("li",[t("p",[e._v("Updated infrastructure services tools:")]),e._v(" "),t("ul",[t("li",[e._v("chrony 4.2")]),e._v(" "),t("li",[e._v("unbound to version 1.16.2")])])]),e._v(" "),t("li",[t("p",[e._v("Minimal ISO changes:")]),e._v(" "),t("ul",[t("li",[e._v("OpenSCAP profiles are available during install ("),t("a",{attrs:{href:"https://bugs.almalinux.org/view.php?id=94",target:"_blank",rel:"noopener noreferrer"}},[e._v("albz#94"),t("OutboundLink")],1),e._v(")")]),e._v(" "),t("li",[e._v("rsyslog package is now part of the Minimal install class ("),t("a",{attrs:{href:"https://bugs.almalinux.org/view.php?id=187",target:"_blank",rel:"noopener noreferrer"}},[e._v("albz#187"),t("OutboundLink")],1),e._v(")")]),e._v(" "),t("li",[e._v("kernel-modules-extra package is included to support more hardware")])])]),e._v(" "),t("li",[t("p",[e._v("The system configuration and the clevis-luks-systemd subpackage changes enable the Clevis encryption client to unlock also LUKS-encrypted volumes that mount late in the boot process without using the systemctl "),t("code",[e._v("enable clevis-luks-askpass.path command")]),e._v(" during the deployment process.")])])]),e._v(" "),t("h2",{attrs:{id:"installation-instructions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#installation-instructions"}},[e._v("#")]),e._v(" Installation instructions")]),e._v(" "),t("p",[e._v("There are three installation ISO images available:")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-8.7-beta-1-x86_64-boot.iso")]),e._v(" - a single network installation CD image that downloads packages over the Internet.")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-8.7-beta-1-x86_64-minimal.iso")]),e._v(" - a minimal self-containing DVD image that makes possible offline installation.")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-8.7-beta-1-x86_64-dvd.iso")]),e._v(" - a full installation DVD image that contains mostly all AlmaLinux packages.")]),e._v(" "),t("p",[e._v("You can select a mirror closest to your geographic area listed on the "),t("a",{attrs:{href:"https://mirrors.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("mirrors.almalinux.org"),t("OutboundLink")],1),e._v(" website. A local mirror will be a lot quicker than using "),t("code",[e._v("repo.almalinux.org")]),e._v(" directly. Then, download a suitable ISO image from the 8.7-beta/isos/$arch/ directory of your source, for example:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://mirror.interserver.net/almalinux/8.7-beta/isos/x86_64/AlmaLinux-8.7-beta-1-x86_64-boot.iso\n")])])]),t("p",[e._v("Download and import the AlmaLinux public key:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux\n$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" RPM-GPG-KEY-AlmaLinux\n")])])]),t("p",[e._v("Download and verify a checksums list:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/8.7-beta/isos/x86_64/CHECKSUM\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# we are looking for “Good signature”")]),e._v("\n$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--verify")]),e._v(" CHECKSUM\ngpg: Signature made Mon "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("24")]),e._v(" Oct "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("2022")]),e._v(" 04:26:50 PM EDT\ngpg: using RSA key 51D6647EC21AD6EA\ngpg: Good signature from "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux "')]),e._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("unknown"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\ngpg: WARNING: This key is not certified with a trusted signature"),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("!")]),e._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: 5E9B 8F56 17B5 066C E920 57C3 488F CF7C 3ABB 34F8\n Subkey fingerprint: E53C F5EF 91CE B0AD "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("1812")]),e._v(" ECB8 51D6 647E C21A D6EA\n")])])]),t("p",[e._v("Verify the downloaded ISO image checksum:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# calculate the downloaded ISO SHA256 checksum")]),e._v("\n$ sha256sum AlmaLinux-8.7-beta-1-x86_64-boot.iso\nfee4a528059c8de4bd07385284609e099db27f76b984939ffef178799cc86531 AlmaLinux-8.7-beta-1-x86_64-boot.iso\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# compare it with expected checksum, it should be the same")]),e._v("\n$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" CHECKSUM "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-E")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v("'SHA256.*AlmaLinux-8.7-beta-1-x86_64-boot.iso'")]),e._v("\nSHA256 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("AlmaLinux-8.7-beta-1-x86_64-boot.iso"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" fee4a528059c8de4bd07385284609e099db27f76b984939ffef178799cc86531\n")])])]),t("p",[e._v("If you decide to use the "),t("code",[e._v("AlmaLinux-8.7-beta-1-x86_64-boot.iso")]),e._v(" image, you will need to provide the "),t("code",[e._v("8.7-beta/BaseOS/x86_64/kickstart/")]),e._v(" repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.")]),e._v(" "),t("p",[e._v("There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.")]),e._v(" "),t("h2",{attrs:{id:"upgrade-instructions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-instructions"}},[e._v("#")]),e._v(" Upgrade Instructions")]),e._v(" "),t("p",[t("strong",[e._v("Please do not use these update instructions on production machines, unless you don't mind if something breaks")]),e._v(" 😉")]),e._v(" "),t("p",[e._v("Upgrade the almalinux-release package to the 8.7-0.2.el8 version from the beta repositories:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ dnf "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("install")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v(" https://repo.almalinux.org/almalinux/almalinux-release-latest-8-beta.x86_64.rpm\n$ dnf clean all\n")])])]),t("p",[e._v("the new package contains updated repository URLs so that you can just run:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ dnf upgrade "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v("\n")])])]),t("p",[e._v("to update the rest of the packages.")]),e._v(" "),t("h2",{attrs:{id:"added-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#added-packages"}},[e._v("#")]),e._v(" Added packages")]),e._v(" "),t("p",[e._v("Here is a list of added packages in comparison with upstream distribution.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Package")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("almalinux-backgrounds")]),e._v(" "),t("td",[e._v("AlmaLinux background images."),t("br"),e._v("Replaces "),t("code",[e._v("redhat-backgrounds")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-indexhtml")]),e._v(" "),t("td",[e._v("AlmaLinux default browser page"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-indexhtml")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for OS"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos-httpd")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for HTTPD server"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos-httpd")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos-ipa")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for IPA server"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos-ipa")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-release")]),e._v(" "),t("td",[e._v("AlmaLinux release package, repos, and EULA"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-release")]),e._v(" and "),t("code",[e._v("redhat-release-eula")])])])])]),e._v(" "),t("h2",{attrs:{id:"removed-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#removed-packages"}},[e._v("#")]),e._v(" Removed packages")]),e._v(" "),t("p",[e._v("Here is a list of removed packages in comparison with the upstream distribution."),t("br"),e._v("\nAlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/engineeringpackaging",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat"),t("OutboundLink")],1),e._v(" as well as filing a bug report at "),t("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),t("OutboundLink")],1),e._v(" to discuss if you think any of the packages below should be included into the repos.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Package")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("insights-client")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("kmod-redhat-*")]),e._v(" "),t("td",[e._v("RHEL specific modules from Driver Update Program")])]),e._v(" "),t("tr",[t("td",[e._v("kpatch*")]),e._v(" "),t("td",[e._v("RHEL specific live patches for kernel")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-backgrounds")]),e._v(" "),t("td",[e._v("RHEL specific background images")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-indexhtml")]),e._v(" "),t("td",[e._v("RHEL specific default browser page")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos")]),e._v(" "),t("td",[e._v("RHEL specific graphics for OS")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos-httpd")]),e._v(" "),t("td",[e._v("RHEL specific graphics for HTTPD server")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos-ipa")]),e._v(" "),t("td",[e._v("RHEL specific graphics for IPA server")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-release")]),e._v(" "),t("td",[e._v("RHEL specific release package and repos")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-release-eula")]),e._v(" "),t("td",[e._v("RHEL specific EULA")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-support-lib-python")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-support-tool")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhc")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhc-worker-playbook")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhsm-gtk")]),e._v(" "),t("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("rhsm-icons")]),e._v(" "),t("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("spice-client-win-x64")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-client-win-x86")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-qxl-wddm-dod")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-vdagent-win-x64")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-vdagent-win-x86")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-cockpit")]),e._v(" "),t("td",[e._v("RHEL specific Cockpit module for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-initial-setup-addon")]),e._v(" "),t("td",[e._v("RHEL specific initial setup addon for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-plugin-container")]),e._v(" "),t("td",[e._v("RHEL specific Subscription Manager plugin for upstream vendor containers")])]),e._v(" "),t("tr",[t("td",[e._v("virt-who")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("virtio-win")]),e._v(" "),t("td",[e._v("Contain binaries built by upstream vendor")])])])]),e._v(" "),t("p",[e._v("Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/106.5afd19b2.js b/assets/js/106.5afd19b2.js new file mode 100644 index 000000000..0f3836368 --- /dev/null +++ b/assets/js/106.5afd19b2.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[106],{387:function(e,t,a){"use strict";a.r(t);var r=a(14),s=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"almalinux-8-7-release-notes"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-8-7-release-notes"}},[e._v("#")]),e._v(" AlmaLinux 8.7 Release Notes")]),e._v(" "),t("p",[e._v("These are the release notes for AlmaLinux OS 8.7 Stable for all supported architectures:")]),e._v(" "),t("ul",[t("li",[e._v("x86_64")]),e._v(" "),t("li",[e._v("aarch64")]),e._v(" "),t("li",[e._v("ppc64le")]),e._v(" "),t("li",[e._v("s390x")])]),e._v(" "),t("p",[e._v("Codename: Stone Smilodon.\nDistributed kernel version: 4.18.0-425.3.1.el8.")]),e._v(" "),t("h2",{attrs:{id:"providing-feedback-and-getting-help"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#providing-feedback-and-getting-help"}},[e._v("#")]),e._v(" Providing Feedback and Getting Help")]),e._v(" "),t("p",[e._v("Please report any issues you may encounter during tests on the "),t("a",{attrs:{href:"https://bugs.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),t("OutboundLink")],1),e._v(". Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out "),t("a",{attrs:{href:"https://chat.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community Chat"),t("OutboundLink")],1),e._v(", "),t("a",{attrs:{href:"https://forums.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Forums"),t("OutboundLink")],1),e._v(" and "),t("a",{attrs:{href:"https://reddit.com/r/almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community on Reddit"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"changelog"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[e._v("#")]),e._v(" Changelog")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("Added a new package:")]),e._v(" "),t("ul",[t("li",[e._v("XMLStarlet")])])]),e._v(" "),t("li",[t("p",[e._v("Added new module streams:")]),e._v(" "),t("ul",[t("li",[e._v("Ruby 3.1")]),e._v(" "),t("li",[e._v("Mercurial 6.2")]),e._v(" "),t("li",[e._v("Node.js 18")])])]),e._v(" "),t("li",[t("p",[e._v("Updated module stream:")]),e._v(" "),t("ul",[t("li",[e._v("Redis 6 to version 6.2.7")])])]),e._v(" "),t("li",[t("p",[e._v("Updated command-line tools:")]),e._v(" "),t("ul",[t("li",[e._v("opencryptoki 3.18.0")]),e._v(" "),t("li",[e._v("powerpc-utils 1.3.10")]),e._v(" "),t("li",[e._v("libva to 2.13.0")])])]),e._v(" "),t("li",[t("p",[e._v("Updated infrastructure services tools:")]),e._v(" "),t("ul",[t("li",[e._v("chrony to version 4.2")]),e._v(" "),t("li",[e._v("unbound to version 1.16.2")])])]),e._v(" "),t("li",[t("p",[e._v("Updated performance tools and debuggers:")]),e._v(" "),t("ul",[t("li",[e._v("Valgrind 3.19")]),e._v(" "),t("li",[e._v("SystemTap 4.7")]),e._v(" "),t("li",[e._v("Dyninst 12.1.0")]),e._v(" "),t("li",[e._v("elfutils 0.187")])])]),e._v(" "),t("li",[t("p",[e._v("Updated performance monitoring tools")]),e._v(" "),t("ul",[t("li",[e._v("PCP 5.3.7")]),e._v(" "),t("li",[e._v("Grafana 7.5.13")])])]),e._v(" "),t("li",[t("p",[e._v("Updated compiler toolsets")]),e._v(" "),t("ul",[t("li",[e._v("GCC Toolset 12")]),e._v(" "),t("li",[e._v("LLVM Toolset 14.0.6")]),e._v(" "),t("li",[e._v("Rust Toolset 1.62")]),e._v(" "),t("li",[e._v("Go Toolset 1.18")])])]),e._v(" "),t("li",[t("p",[e._v("Java tools updates:")]),e._v(" "),t("ul",[t("li",[e._v("Added Maven 3.8 module stream")])])]),e._v(" "),t("li",[t("p",[e._v("Minimal ISO changes:")]),e._v(" "),t("ul",[t("li",[e._v("OpenSCAP profiles are available during install ("),t("a",{attrs:{href:"https://bugs.almalinux.org/view.php?id=94",target:"_blank",rel:"noopener noreferrer"}},[e._v("albz#94"),t("OutboundLink")],1),e._v(")")]),e._v(" "),t("li",[e._v("rsyslog package is now part of Minimal install class ("),t("a",{attrs:{href:"https://bugs.almalinux.org/view.php?id=187",target:"_blank",rel:"noopener noreferrer"}},[e._v("albz#187"),t("OutboundLink")],1),e._v(")")]),e._v(" "),t("li",[e._v("kernel-modules-extra package is included to support more hardware")])])]),e._v(" "),t("li",[t("p",[e._v("New repositories:")]),e._v(" "),t("ul",[t("li",[e._v("SAP")]),e._v(" "),t("li",[e._v("SAPHANA")])])]),e._v(" "),t("li",[t("p",[e._v("The system configuration and the clevis-luks-systemd subpackage changes enable the Clevis encryption client to unlock also LUKS-encrypted volumes that mount late in the boot process without using the systemctl "),t("code",[e._v("enable clevis-luks-askpass.path command")]),e._v(" during the deployment process.")])]),e._v(" "),t("li",[t("p",[e._v("scap-security-guide package updates:")]),e._v(" "),t("ul",[t("li",[e._v("The DISA STIG for Red Hat Enterprise Linux 8 profile is now better aligned with DISA’s content")]),e._v(" "),t("li",[e._v("The Center for Internet Security (CIS) profiles are now aligned with CIS AlmaLinux 8 Benchmark version 2.0.0.")])])])]),e._v(" "),t("p",[e._v("You can reference the upstream "),t("a",{attrs:{href:"https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/8.7_release_notes/index",target:"_blank",rel:"noopener noreferrer"}},[e._v("RHEL 8.7 release notes"),t("OutboundLink")],1),e._v("for a full list of changes in this release.")]),e._v(" "),t("h2",{attrs:{id:"installation-instructions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#installation-instructions"}},[e._v("#")]),e._v(" Installation instructions")]),e._v(" "),t("p",[e._v("There are three installation ISO images available:")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-8.7-x86_64-boot.iso")]),e._v(" - a single network installation CD image that downloads packages over the Internet.")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-8.7-x86_64-minimal.iso")]),e._v(" - a minimal self-containing DVD image that makes possible offline installation.")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-8.7-x86_64-dvd.iso")]),e._v(" - a full installation DVD image that contains mostly all AlmaLinux packages.")]),e._v(" "),t("p",[e._v("The recommended way to download ISO images is using the "),t("a",{attrs:{href:"https://repo.almalinux.org/almalinux/8.7/isos/x86_64/AlmaLinux-8.7-x86_64.torrent",target:"_blank",rel:"noopener noreferrer"}},[e._v("torrent"),t("OutboundLink")],1),e._v(" links. Alternatively, you can select a mirror closest to your geographic area listed on the "),t("a",{attrs:{href:"https://mirrors.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("mirrors.almalinux.org"),t("OutboundLink")],1),e._v(" website. A local mirror will be a lot quicker than using "),t("code",[e._v("repo.almalinux.org")]),e._v(" directly. Then, download a suitable ISO image from the 8.6/isos/$arch/ directory of your source, for example:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://mirror.interserver.net/almalinux/8.7/isos/x86_64/AlmaLinux-8.7-x86_64-boot.iso\n")])])]),t("p",[e._v("Download and import the AlmaLinux public key:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux\n$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" RPM-GPG-KEY-AlmaLinux\n")])])]),t("p",[e._v("Download and verify a checksums list:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/8.7/isos/x86_64/CHECKSUM\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# we are looking for “Good signature”")]),e._v("\n$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--verify")]),e._v(" CHECKSUM\ngpg: Signature made Thu "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("10")]),e._v(" Nov "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("2022")]),e._v(" 02:23:36 AM EST\ngpg: using RSA key E53CF5EF91CEB0AD1812ECB851D6647EC21AD6EA\ngpg: Good signature from "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux "')]),e._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("unknown"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\ngpg: WARNING: This key is not certified with a trusted signature"),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("!")]),e._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: 5E9B 8F56 17B5 066C E920 57C3 488F CF7C 3ABB 34F8\n Subkey fingerprint: E53C F5EF 91CE B0AD "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("1812")]),e._v(" ECB8 51D6 647E C21A D6EA\n")])])]),t("p",[e._v("Verify the downloaded ISO image checksum:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# calculate the downloaded ISO SHA256 checksum")]),e._v("\n$ sha256sum AlmaLinux-8.7-x86_64-boot.iso\na4fc8c53878e09f63849f2357228db9e2b547beea6f2b47758da2995bd59356e AlmaLinux-8.7-x86_64-boot.iso\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# compare it with expected checksum, it should be the same")]),e._v("\n$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" CHECKSUM "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-E")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v("'SHA256.*AlmaLinux-8.7-x86_64-boot.iso'")]),e._v("\nSHA256 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("AlmaLinux-8.7-x86_64-boot.iso"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" a4fc8c53878e09f63849f2357228db9e2b547beea6f2b47758da2995bd59356e\n")])])]),t("p",[e._v("If you decide to use the "),t("code",[e._v("AlmaLinux-8.7-x86_64-boot.iso")]),e._v(" image, you will need to provide the "),t("code",[e._v("8.7/BaseOS/x86_64/kickstart/")]),e._v(" repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.")]),e._v(" "),t("p",[e._v("There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.")]),e._v(" "),t("h2",{attrs:{id:"upgrade-instructions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-instructions"}},[e._v("#")]),e._v(" Upgrade Instructions")]),e._v(" "),t("p",[e._v("To update your AlmaLinux OS 8 to 8.7 run:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ dnf upgrade "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v("\n")])])]),t("h2",{attrs:{id:"added-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#added-packages"}},[e._v("#")]),e._v(" Added packages")]),e._v(" "),t("p",[e._v("Here is a list of added packages in comparison with upstream distribution.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Package")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("almalinux-backgrounds")]),e._v(" "),t("td",[e._v("AlmaLinux background images."),t("br"),e._v("Replaces "),t("code",[e._v("redhat-backgrounds")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-indexhtml")]),e._v(" "),t("td",[e._v("AlmaLinux default browser page"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-indexhtml")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for OS"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos-httpd")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for HTTPD server"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos-httpd")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos-ipa")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for IPA server"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos-ipa")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-release")]),e._v(" "),t("td",[e._v("AlmaLinux release package, repos, and EULA"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-release")]),e._v(" and "),t("code",[e._v("redhat-release-eula")])])])])]),e._v(" "),t("h2",{attrs:{id:"removed-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#removed-packages"}},[e._v("#")]),e._v(" Removed packages")]),e._v(" "),t("p",[e._v("Here is a list of removed packages in comparison with the upstream distribution."),t("br"),e._v("\nAlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/engineeringpackaging",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat"),t("OutboundLink")],1),e._v(" as well as filing a bug report at "),t("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),t("OutboundLink")],1),e._v(" to discuss if you think any of the packages below should be included into the repos.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Package")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("insights-client")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("kmod-redhat-*")]),e._v(" "),t("td",[e._v("RHEL specific modules from Driver Update Program")])]),e._v(" "),t("tr",[t("td",[e._v("kpatch*")]),e._v(" "),t("td",[e._v("RHEL specific live patches for kernel")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-backgrounds")]),e._v(" "),t("td",[e._v("RHEL specific background images")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-indexhtml")]),e._v(" "),t("td",[e._v("RHEL specific default browser page")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos")]),e._v(" "),t("td",[e._v("RHEL specific graphics for OS")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos-httpd")]),e._v(" "),t("td",[e._v("RHEL specific graphics for HTTPD server")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos-ipa")]),e._v(" "),t("td",[e._v("RHEL specific graphics for IPA server")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-release")]),e._v(" "),t("td",[e._v("RHEL specific release package and repos")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-release-eula")]),e._v(" "),t("td",[e._v("RHEL specific EULA")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-support-lib-python")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-support-tool")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhc")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhc-worker-playbook")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhsm-gtk")]),e._v(" "),t("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("rhsm-icons")]),e._v(" "),t("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("spice-client-win-x64")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-client-win-x86")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-qxl-wddm-dod")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-vdagent-win-x64")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-vdagent-win-x86")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-cockpit")]),e._v(" "),t("td",[e._v("RHEL specific Cockpit module for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-initial-setup-addon")]),e._v(" "),t("td",[e._v("RHEL specific initial setup addon for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-plugin-container")]),e._v(" "),t("td",[e._v("RHEL specific Subscription Manager plugin for upstream vendor containers")])]),e._v(" "),t("tr",[t("td",[e._v("virt-who")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("virtio-win")]),e._v(" "),t("td",[e._v("Contain binaries built by upstream vendor")])])])]),e._v(" "),t("p",[e._v("Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/107.a074ed24.js b/assets/js/107.a074ed24.js new file mode 100644 index 000000000..f3315c0ca --- /dev/null +++ b/assets/js/107.a074ed24.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[107],{388:function(e,t,a){"use strict";a.r(t);var r=a(14),s=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"almalinux-8-8-beta-release-notes"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-8-8-beta-release-notes"}},[e._v("#")]),e._v(" AlmaLinux 8.8 Beta Release Notes")]),e._v(" "),t("p",[e._v("These are the release notes for AlmaLinux OS 8.8 Beta for all supported architectures:")]),e._v(" "),t("ul",[t("li",[e._v("x86_64")]),e._v(" "),t("li",[e._v("aarch64")]),e._v(" "),t("li",[e._v("ppc64le")]),e._v(" "),t("li",[e._v("s390x")])]),e._v(" "),t("p",[e._v("Codename: Sapphire Caracal.\nDistributed kernel version: 4.18.0-477.el8")]),e._v(" "),t("h2",{attrs:{id:"beta-release"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#beta-release"}},[e._v("#")]),e._v(" Beta Release")]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("This is a "),t("strong",[e._v("BETA")]),e._v(" release and should not be used for production installations. The provided upgrade instructions should not be used on production machines, unless you don't mind if something breaks 😉")])]),e._v(" "),t("h2",{attrs:{id:"providing-feedback-and-getting-help"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#providing-feedback-and-getting-help"}},[e._v("#")]),e._v(" Providing Feedback and Getting Help")]),e._v(" "),t("p",[e._v("Please report any issues you may encounter during tests on the "),t("a",{attrs:{href:"https://bugs.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),t("OutboundLink")],1),e._v(". Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out "),t("a",{attrs:{href:"https://chat.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community Chat"),t("OutboundLink")],1),e._v(", "),t("a",{attrs:{href:"https://forums.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Forums"),t("OutboundLink")],1),e._v(" and "),t("a",{attrs:{href:"https://reddit.com/r/almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community on Reddit"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"changelog"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[e._v("#")]),e._v(" Changelog")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("Updated module streams:")]),e._v(" "),t("ul",[t("li",[e._v("Python 3.11")]),e._v(" "),t("li",[e._v("nginx 1.22")]),e._v(" "),t("li",[e._v("PostgreSQL 15")])])]),e._v(" "),t("li",[t("p",[e._v("Updated components:")]),e._v(" "),t("ul",[t("li",[e._v("Git to version 2.39.1")]),e._v(" "),t("li",[e._v("Git LFS to version 3.2.0")])])]),e._v(" "),t("li",[t("p",[e._v("Performance tools and debuggers updates:")]),e._v(" "),t("ul",[t("li",[e._v("Valgrind 3.19")]),e._v(" "),t("li",[e._v("SystemTap 4.8")]),e._v(" "),t("li",[e._v("Dyninst 12.1.0")]),e._v(" "),t("li",[e._v("elfutils 0.188")])])]),e._v(" "),t("li",[t("p",[e._v("Updated performance monitoring tools:")]),e._v(" "),t("ul",[t("li",[e._v("PCP 5.3.7")]),e._v(" "),t("li",[e._v("Grafana 7.5.15")])])]),e._v(" "),t("li",[t("p",[e._v("Compiler updates:")]),e._v(" "),t("ul",[t("li",[e._v("GCC Toolset 12")]),e._v(" "),t("li",[e._v("LLVM Toolset 15.0.7")]),e._v(" "),t("li",[e._v("Rust Toolset 1.66")]),e._v(" "),t("li",[e._v("Go Toolset 1.19.4")])])]),e._v(" "),t("li",[t("p",[e._v("The Libreswan IPsec implementation was rebased to version 4.9.")])]),e._v(" "),t("li",[t("p",[e._v("The "),t("code",[e._v("fapolicyd")]),e._v(" software framework allows filtering of the RPM database.")])]),e._v(" "),t("li",[t("p",[e._v("The latest version of the OpenSCAP security compliance utility is now available 1.3.7.")])]),e._v(" "),t("li",[t("p",[e._v("Rsyslog TLS-encrypted logging now supports multiple CA files.")])]),e._v(" "),t("li",[t("p",[e._v("Updated SELinux policy allows running the "),t("code",[e._v("systemd-socket-proxyd")]),e._v(" in its own SELinux domain.")])]),e._v(" "),t("li",[t("p",[e._v("System now uses updated AlmaLinux EV Code Sign Secure Boot certificate")])]),e._v(" "),t("li",[t("p",[e._v("Beta repositories are now located in the "),t("a",{attrs:{href:"https://repo.almalinux.org/vault/8.8-beta/",target:"_blank",rel:"noopener noreferrer"}},[e._v("vault"),t("OutboundLink")],1),e._v(" repository to reduce storage usage on mirrors.")])])]),e._v(" "),t("p",[e._v("You can reference the upstream "),t("a",{attrs:{href:"https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8-beta/html/8.8_release_notes/index",target:"_blank",rel:"noopener noreferrer"}},[e._v("RHEL 8.8 Beta release notes"),t("OutboundLink")],1),e._v(" for a full list of changes in this release.")]),e._v(" "),t("h2",{attrs:{id:"installation-instructions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#installation-instructions"}},[e._v("#")]),e._v(" Installation instructions")]),e._v(" "),t("p",[e._v("There are three installation ISO images available:")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-8.8-beta-1-x86_64-boot.iso")]),e._v(" - a single network installation CD image that downloads packages over the Internet.")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-8.8-beta-1-x86_64-minimal.iso")]),e._v(" - a minimal self-containing DVD image that makes possible offline installation.")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-8.8-beta-1-x86_64-dvd.iso")]),e._v(" - a full installation DVD image that contains mostly all AlmaLinux packages.")]),e._v(" "),t("p",[e._v("You can select a mirror closest to your geographic area listed on the "),t("a",{attrs:{href:"https://mirrors.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("mirrors.almalinux.org"),t("OutboundLink")],1),e._v(" website. A local mirror will be a lot quicker than using "),t("code",[e._v("repo.almalinux.org")]),e._v(" directly. Then, download a suitable ISO image from the 8.8-beta/isos/$arch/ directory of your source, for example:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://mirror.interserver.net/almalinux/8.8-beta/isos/x86_64/AlmaLinux-8.8-beta-1-x86_64-boot.iso\n")])])]),t("p",[e._v("Download and import the AlmaLinux public key:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux\n$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" RPM-GPG-KEY-AlmaLinux\n")])])]),t("p",[e._v("Download and verify a checksums list:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/8.8-beta/isos/x86_64/CHECKSUM\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# we are looking for “Good signature”")]),e._v("\n$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--verify")]),e._v(" CHECKSUM\ngpg: Signature made Thu "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("20")]),e._v(" Apr "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("2023")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("12")]),e._v(":04:10 PM EDT\ngpg: using RSA key 51D6647EC21AD6EA\ngpg: Good signature from "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux "')]),e._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("unknown"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\ngpg: WARNING: This key is not certified with a trusted signature"),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("!")]),e._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: 5E9B 8F56 17B5 066C E920 57C3 488F CF7C 3ABB 34F8\n Subkey fingerprint: E53C F5EF 91CE B0AD "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("1812")]),e._v(" ECB8 51D6 647E C21A D6EA\n")])])]),t("p",[e._v("Verify the downloaded ISO image checksum:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# calculate the downloaded ISO SHA256 checksum")]),e._v("\n$ sha256sum AlmaLinux-8.8-beta-1-x86_64-boot.iso\nad9237ec5f21ff3d1c500674623bd86d7d196e06cef301943f574b92ef091b13 AlmaLinux-8.8-beta-1-x86_64-boot.iso\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# compare it with expected checksum, it should be the same")]),e._v("\n$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" CHECKSUM "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-E")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v("'SHA256.*AlmaLinux-8.8-beta-1-x86_64-boot.iso'")]),e._v("\nSHA256 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("AlmaLinux-8.8-beta-1-x86_64-boot.iso"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" ad9237ec5f21ff3d1c500674623bd86d7d196e06cef301943f574b92ef091b13\n")])])]),t("p",[e._v("If you decide to use the "),t("code",[e._v("AlmaLinux-8.8-beta-1-x86_64-boot.iso")]),e._v(" image, you will need to provide the "),t("code",[e._v("https://repo.almalinux.org/vault/8.8-beta/BaseOS/x86_64/kickstart/")]),e._v(" URL as the Installation Source if the installer will not be able to find closest mirror for some reason.")]),e._v(" "),t("p",[e._v("There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.")]),e._v(" "),t("h2",{attrs:{id:"upgrade-instructions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-instructions"}},[e._v("#")]),e._v(" Upgrade Instructions")]),e._v(" "),t("p",[t("strong",[e._v("Please do not use these update instructions on production machines, unless you don't mind if something breaks")]),e._v(" 😉")]),e._v(" "),t("p",[e._v("Upgrade the almalinux-release package to the 8.8-0.5.el8 version from the beta repositories:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ dnf "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("install")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v(" https://repo.almalinux.org/vault/almalinux-release-latest-8-beta.x86_64.rpm\n$ dnf clean all\n")])])]),t("p",[e._v("the new package contains updated repository URLs so that you can just run:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ dnf upgrade "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v("\n")])])]),t("p",[e._v("to update the rest of the packages.")]),e._v(" "),t("h2",{attrs:{id:"added-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#added-packages"}},[e._v("#")]),e._v(" Added packages")]),e._v(" "),t("p",[e._v("Here is a list of added packages in comparison with upstream distribution.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Package")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("almalinux-backgrounds")]),e._v(" "),t("td",[e._v("AlmaLinux background images."),t("br"),e._v("Replaces "),t("code",[e._v("redhat-backgrounds")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-indexhtml")]),e._v(" "),t("td",[e._v("AlmaLinux default browser page"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-indexhtml")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for OS"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos-httpd")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for HTTPD server"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos-httpd")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos-ipa")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for IPA server"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos-ipa")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-release")]),e._v(" "),t("td",[e._v("AlmaLinux release package, repos, and EULA"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-release")]),e._v(" and "),t("code",[e._v("redhat-release-eula")])])])])]),e._v(" "),t("h2",{attrs:{id:"removed-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#removed-packages"}},[e._v("#")]),e._v(" Removed packages")]),e._v(" "),t("p",[e._v("Here is a list of removed packages in comparison with the upstream distribution."),t("br"),e._v("\nAlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/engineeringpackaging",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat"),t("OutboundLink")],1),e._v(" as well as filing a bug report at "),t("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),t("OutboundLink")],1),e._v(" to discuss if you think any of the packages below should be included into the repos.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Package")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("insights-client")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("kmod-redhat-*")]),e._v(" "),t("td",[e._v("RHEL specific modules from Driver Update Program")])]),e._v(" "),t("tr",[t("td",[e._v("kpatch*")]),e._v(" "),t("td",[e._v("RHEL specific live patches for kernel")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-backgrounds")]),e._v(" "),t("td",[e._v("RHEL specific background images")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-indexhtml")]),e._v(" "),t("td",[e._v("RHEL specific default browser page")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos")]),e._v(" "),t("td",[e._v("RHEL specific graphics for OS")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos-httpd")]),e._v(" "),t("td",[e._v("RHEL specific graphics for HTTPD server")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos-ipa")]),e._v(" "),t("td",[e._v("RHEL specific graphics for IPA server")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-release")]),e._v(" "),t("td",[e._v("RHEL specific release package and repos")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-release-eula")]),e._v(" "),t("td",[e._v("RHEL specific EULA")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-support-lib-python")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-support-tool")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhc")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhc-worker-playbook")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhsm-gtk")]),e._v(" "),t("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("rhsm-icons")]),e._v(" "),t("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("spice-client-win-x64")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-client-win-x86")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-qxl-wddm-dod")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-vdagent-win-x64")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-vdagent-win-x86")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-cockpit")]),e._v(" "),t("td",[e._v("RHEL specific Cockpit module for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-initial-setup-addon")]),e._v(" "),t("td",[e._v("RHEL specific initial setup addon for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-plugin-container")]),e._v(" "),t("td",[e._v("RHEL specific Subscription Manager plugin for upstream vendor containers")])]),e._v(" "),t("tr",[t("td",[e._v("virt-who")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("virtio-win")]),e._v(" "),t("td",[e._v("Contain binaries built by upstream vendor")])])])]),e._v(" "),t("p",[e._v("Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/108.84d2a595.js b/assets/js/108.84d2a595.js new file mode 100644 index 000000000..32279f85b --- /dev/null +++ b/assets/js/108.84d2a595.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[108],{390:function(e,t,a){"use strict";a.r(t);var r=a(14),s=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"almalinux-8-8-release-notes"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-8-8-release-notes"}},[e._v("#")]),e._v(" AlmaLinux 8.8 Release Notes")]),e._v(" "),t("p",[e._v("These are the release notes for AlmaLinux OS 8.8 Stable for all supported architectures:")]),e._v(" "),t("ul",[t("li",[e._v("x86_64")]),e._v(" "),t("li",[e._v("aarch64")]),e._v(" "),t("li",[e._v("ppc64le")]),e._v(" "),t("li",[e._v("s390x")])]),e._v(" "),t("p",[e._v("Codename: Sapphire Caracal.")]),e._v(" "),t("p",[e._v("Distributed kernel version: 4.18.0-477.10.1.el8_8.")]),e._v(" "),t("h2",{attrs:{id:"providing-feedback-and-getting-help"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#providing-feedback-and-getting-help"}},[e._v("#")]),e._v(" Providing Feedback and Getting Help")]),e._v(" "),t("p",[e._v("Please report any issues you may encounter during tests on the "),t("a",{attrs:{href:"https://bugs.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),t("OutboundLink")],1),e._v(". Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out "),t("a",{attrs:{href:"https://chat.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community Chat"),t("OutboundLink")],1),e._v(", "),t("a",{attrs:{href:"https://forums.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Forums"),t("OutboundLink")],1),e._v(" and "),t("a",{attrs:{href:"https://reddit.com/r/almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community on Reddit"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"changelog"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[e._v("#")]),e._v(" Changelog")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("Updated module streams:")]),e._v(" "),t("ul",[t("li",[e._v("Python 3.11")]),e._v(" "),t("li",[e._v("nginx 1.22")]),e._v(" "),t("li",[e._v("PostgreSQL 15")])])]),e._v(" "),t("li",[t("p",[e._v("Updated components:")]),e._v(" "),t("ul",[t("li",[e._v("Git to version 2.39.1")]),e._v(" "),t("li",[e._v("Git LFS to version 3.2.0")])])]),e._v(" "),t("li",[t("p",[e._v("Performance tools and debuggers updates:")]),e._v(" "),t("ul",[t("li",[e._v("Valgrind 3.19")]),e._v(" "),t("li",[e._v("SystemTap 4.8")]),e._v(" "),t("li",[e._v("elfutils 0.188")])])]),e._v(" "),t("li",[t("p",[e._v("Updated performance monitoring tools:")]),e._v(" "),t("ul",[t("li",[e._v("PCP 5.3.7")]),e._v(" "),t("li",[e._v("Grafana 7.5.15")])])]),e._v(" "),t("li",[t("p",[e._v("Compiler updates:")]),e._v(" "),t("ul",[t("li",[e._v("GCC Toolset 12")]),e._v(" "),t("li",[e._v("LLVM Toolset 15.0.7")]),e._v(" "),t("li",[e._v("Rust Toolset 1.66")]),e._v(" "),t("li",[e._v("Go Toolset 1.19.4")])])]),e._v(" "),t("li",[t("p",[e._v("Security updates:")]),e._v(" "),t("ul",[t("li",[e._v("The FIPS mode settings in the kernel have been adjusted to conform to the Federal Information Processing Standard (FIPS) 140-3.")]),e._v(" "),t("li",[e._v("The Libreswan IPsec implementation was rebased to version 4.9.")]),e._v(" "),t("li",[e._v("Еhe "),t("code",[e._v("fapolicyd")]),e._v(" software framework allows filtering the RPM database.")]),e._v(" "),t("li",[e._v("The latest version of the OpenSCAP security compliance utility is now available 1.3.7.")]),e._v(" "),t("li",[e._v("Rsyslog TLS-encrypted logging now supports multiple CA files.")]),e._v(" "),t("li",[e._v("Updated SELinux policy allows running the "),t("code",[e._v("systemd-socket-proxyd")]),e._v(" in its own SELinux domain.")]),e._v(" "),t("li",[e._v("System now uses updated AlmaLinux EV Code Sign Secure Boot certificate")])])])]),e._v(" "),t("p",[e._v("You can reference the upstream "),t("a",{attrs:{href:"https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/8.8_release_notes/index",target:"_blank",rel:"noopener noreferrer"}},[e._v("RHEL 8.8 release notes"),t("OutboundLink")],1),e._v(" for a full list of changes in this release.")]),e._v(" "),t("h2",{attrs:{id:"installation-instructions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#installation-instructions"}},[e._v("#")]),e._v(" Installation instructions")]),e._v(" "),t("p",[e._v("There are three installation ISO images available:")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-8.8-x86_64-boot.iso")]),e._v(" - a single network installation CD image that downloads packages over the Internet.")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-8.8-x86_64-minimal.iso")]),e._v(" - a minimal self-containing DVD image that makes possible offline installation.")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-8.8-x86_64-dvd.iso")]),e._v(" - a full installation DVD image that contains mostly all AlmaLinux packages.")]),e._v(" "),t("p",[e._v("You can select a mirror closest to your geographic area listed on the "),t("a",{attrs:{href:"https://mirrors.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("mirrors.almalinux.org"),t("OutboundLink")],1),e._v(" website. A local mirror will be a lot quicker than using "),t("code",[e._v("repo.almalinux.org")]),e._v(" directly. Then, download a suitable ISO image from the 8.8/isos/$arch/ directory of your source, for example:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://mirror.interserver.net/almalinux/8.8/isos/x86_64/AlmaLinux-8.8-x86_64-boot.iso\n")])])]),t("p",[e._v("Download and import the AlmaLinux public key:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux\n$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" RPM-GPG-KEY-AlmaLinux\n")])])]),t("p",[e._v("Download and verify a checksums list:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/8.8/isos/x86_64/CHECKSUM\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# we are looking for “Good signature”")]),e._v("\n$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--verify")]),e._v(" CHECKSUM\ngpg: Signature made Wed "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("17")]),e._v(" May "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("2023")]),e._v(" 01:25:21 PM EDT\ngpg: using RSA key E53CF5EF91CEB0AD1812ECB851D6647EC21AD6EA\ngpg: Good signature from "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux "')]),e._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("unknown"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\ngpg: WARNING: This key is not certified with a trusted signature"),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("!")]),e._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: 5E9B 8F56 17B5 066C E920 57C3 488F CF7C 3ABB 34F8\n Subkey fingerprint: E53C F5EF 91CE B0AD "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("1812")]),e._v(" ECB8 51D6 647E C21A D6EA\n")])])]),t("p",[e._v("Verify the downloaded ISO image checksum:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# calculate the downloaded ISO SHA256 checksum")]),e._v("\n$ sha256sum AlmaLinux-8.8-x86_64-boot.iso\n0d28926ed9bff9f5848365dea04e747f86fb68c917087d0b4063387f656eeb52 AlmaLinux-8.8-x86_64-boot.iso\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# compare it with expected checksum, it should be the same")]),e._v("\n$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" CHECKSUM "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-E")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v("'SHA256.*AlmaLinux-8.8-x86_64-boot.iso'")]),e._v("\nSHA256 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("AlmaLinux-8.8-x86_64-boot.iso"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" 0d28926ed9bff9f5848365dea04e747f86fb68c917087d0b4063387f656eeb52\n")])])]),t("p",[e._v("If you decide to use the "),t("code",[e._v("AlmaLinux-8.8-x86_64-boot.iso")]),e._v(" image, you will need to provide the "),t("code",[e._v("8.8/BaseOS/x86_64/kickstart/")]),e._v(" URL repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.")]),e._v(" "),t("p",[e._v("There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.")]),e._v(" "),t("h2",{attrs:{id:"upgrade-instructions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-instructions"}},[e._v("#")]),e._v(" Upgrade Instructions")]),e._v(" "),t("p",[e._v("To update your AlmaLinux OS 8 to 8.8 run:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ dnf upgrade "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v("\n")])])]),t("h2",{attrs:{id:"added-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#added-packages"}},[e._v("#")]),e._v(" Added packages")]),e._v(" "),t("p",[e._v("Here is a list of added packages in comparison with upstream distribution.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Package")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("almalinux-backgrounds")]),e._v(" "),t("td",[e._v("AlmaLinux background images."),t("br"),e._v("Replaces "),t("code",[e._v("redhat-backgrounds")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-indexhtml")]),e._v(" "),t("td",[e._v("AlmaLinux default browser page"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-indexhtml")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for OS"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos-httpd")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for HTTPD server"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos-httpd")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos-ipa")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for IPA server"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos-ipa")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-release")]),e._v(" "),t("td",[e._v("AlmaLinux release package, repos, and EULA"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-release")]),e._v(" and "),t("code",[e._v("redhat-release-eula")])])])])]),e._v(" "),t("h2",{attrs:{id:"removed-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#removed-packages"}},[e._v("#")]),e._v(" Removed packages")]),e._v(" "),t("p",[e._v("Here is a list of removed packages in comparison with the upstream distribution."),t("br"),e._v("\nAlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/engineeringpackaging",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat"),t("OutboundLink")],1),e._v(" as well as filing a bug report at "),t("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),t("OutboundLink")],1),e._v(" to discuss if you think any of the packages below should be included into the repos.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Package")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("insights-client")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("kmod-redhat-*")]),e._v(" "),t("td",[e._v("RHEL specific modules from Driver Update Program")])]),e._v(" "),t("tr",[t("td",[e._v("kpatch*")]),e._v(" "),t("td",[e._v("RHEL specific live patches for kernel")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-backgrounds")]),e._v(" "),t("td",[e._v("RHEL specific background images")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-indexhtml")]),e._v(" "),t("td",[e._v("RHEL specific default browser page")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos")]),e._v(" "),t("td",[e._v("RHEL specific graphics for OS")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos-httpd")]),e._v(" "),t("td",[e._v("RHEL specific graphics for HTTPD server")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos-ipa")]),e._v(" "),t("td",[e._v("RHEL specific graphics for IPA server")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-release")]),e._v(" "),t("td",[e._v("RHEL specific release package and repos")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-release-eula")]),e._v(" "),t("td",[e._v("RHEL specific EULA")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-support-lib-python")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-support-tool")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhc")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhc-worker-playbook")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhsm-gtk")]),e._v(" "),t("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("rhsm-icons")]),e._v(" "),t("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("spice-client-win-x64")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-client-win-x86")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-qxl-wddm-dod")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-vdagent-win-x64")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-vdagent-win-x86")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-cockpit")]),e._v(" "),t("td",[e._v("RHEL specific Cockpit module for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-initial-setup-addon")]),e._v(" "),t("td",[e._v("RHEL specific initial setup addon for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-plugin-container")]),e._v(" "),t("td",[e._v("RHEL specific Subscription Manager plugin for upstream vendor containers")])]),e._v(" "),t("tr",[t("td",[e._v("virt-who")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("virtio-win")]),e._v(" "),t("td",[e._v("Contain binaries built by upstream vendor")])])])]),e._v(" "),t("p",[e._v("Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/109.4e87dc9f.js b/assets/js/109.4e87dc9f.js new file mode 100644 index 000000000..4819911c0 --- /dev/null +++ b/assets/js/109.4e87dc9f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[109],{389:function(e,a,t){"use strict";t.r(a);var s=t(14),r=Object(s.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"almalinux-8-9-beta-release-notes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-8-9-beta-release-notes"}},[e._v("#")]),e._v(" AlmaLinux 8.9 Beta Release Notes")]),e._v(" "),a("p",[e._v("These are the release notes for AlmaLinux OS 8.9 Beta for all supported architectures:")]),e._v(" "),a("ul",[a("li",[e._v("x86_64")]),e._v(" "),a("li",[e._v("aarch64")]),e._v(" "),a("li",[e._v("ppc64le")]),e._v(" "),a("li",[e._v("s390x")])]),e._v(" "),a("p",[e._v("Codename: Midnight Oncilla.")]),e._v(" "),a("p",[e._v("Distributed kernel version: 4.18.0-513.el8.")]),e._v(" "),a("h2",{attrs:{id:"beta-release"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beta-release"}},[e._v("#")]),e._v(" Beta Release")]),e._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),a("p",[e._v("This is a "),a("strong",[e._v("BETA")]),e._v(" release and should not be used for production installations. The provided upgrade instructions should not be used on production machines unless you don't mind if something breaks 😉")])]),e._v(" "),a("h2",{attrs:{id:"providing-feedback-and-getting-help"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#providing-feedback-and-getting-help"}},[e._v("#")]),e._v(" Providing Feedback and Getting Help")]),e._v(" "),a("p",[e._v("Please report any issues you may encounter during tests on the "),a("a",{attrs:{href:"https://bugs.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),a("OutboundLink")],1),e._v(". Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out "),a("a",{attrs:{href:"https://chat.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community Chat"),a("OutboundLink")],1),e._v(", "),a("a",{attrs:{href:"https://forums.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Forums"),a("OutboundLink")],1),e._v(" and "),a("a",{attrs:{href:"https://reddit.com/r/almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community on Reddit"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"changelog"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[e._v("#")]),e._v(" Changelog")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("Added a new module streams:")]),e._v(" "),a("ul",[a("li",[e._v("Node.js 20")])])]),e._v(" "),a("li",[a("p",[e._v("Updated components:")]),e._v(" "),a("ul",[a("li",[e._v("Git to version 2.39.1")]),e._v(" "),a("li",[e._v("Git LFS to version 3.2.0")])])]),e._v(" "),a("li",[a("p",[e._v("Performance tools and debuggers updates:")]),e._v(" "),a("ul",[a("li",[e._v("Valgrind 3.21")]),e._v(" "),a("li",[e._v("SystemTap 4.9")]),e._v(" "),a("li",[e._v("elfutils 0.189")])])]),e._v(" "),a("li",[a("p",[e._v("Updated performance monitoring tools:")]),e._v(" "),a("ul",[a("li",[e._v("Grafana 9.2.10")]),e._v(" "),a("li",[e._v("grafana-pcp 5.1.1")])])]),e._v(" "),a("li",[a("p",[e._v("Compiler updates:")]),e._v(" "),a("ul",[a("li",[e._v("GCC Toolset 13")]),e._v(" "),a("li",[e._v("LLVM Toolset 16.0.6")]),e._v(" "),a("li",[e._v("Rust Toolset 1.71.1")]),e._v(" "),a("li",[e._v("Go Toolset 1.20.6")])])]),e._v(" "),a("li",[a("p",[e._v("Security")]),e._v(" "),a("ul",[a("li",[e._v("OpenSCAP 1.3.8")]),e._v(" "),a("li",[e._v("ANSSI-BP-028 SCAP security profiles were updated to version 2.0")]),e._v(" "),a("li",[e._v("SCAP Security Guide now contains improved rules to provide more consistent interactive user configuration and the DISA STIG profile supports "),a("code",[e._v("audit_rules_login_events_faillock")]),e._v(".")])])])]),e._v(" "),a("p",[e._v("You can reference the "),a("a",{attrs:{href:"https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8-beta/html/8.9_release_notes/index",target:"_blank",rel:"noopener noreferrer"}},[e._v("RHEL 8.9 Beta release notes"),a("OutboundLink")],1),e._v(" for a full list of changes in this release.")]),e._v(" "),a("h2",{attrs:{id:"installation-instructions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#installation-instructions"}},[e._v("#")]),e._v(" Installation instructions")]),e._v(" "),a("p",[e._v("There are three installation ISO images available:")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-8.9-beta-1-x86_64-boot.iso")]),e._v(" - a single network installation CD image that downloads packages over the Internet.")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-8.9-beta-1-x86_64-minimal.iso")]),e._v(" - a minimal self-containing DVD image that makes possible offline installation.")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-8.9-beta-1-x86_64-dvd.iso")]),e._v(" - a full installation DVD image that contains mostly all AlmaLinux packages.")]),e._v(" "),a("p",[e._v("Download a suitable ISO image from the 8.9-beta/isos/$arch/ directory, for example:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/8.9-beta/isos/x86_64/AlmaLinux-8.9-beta-1-x86_64-boot.iso\n")])])]),a("p",[e._v("Download and import the AlmaLinux public key:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux\n$ gpg "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" RPM-GPG-KEY-AlmaLinux\n")])])]),a("p",[e._v("Download and verify a checksums list:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/8.9-beta/isos/x86_64/CHECKSUM\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# we are looking for “Good signature”")]),e._v("\n$ gpg "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--verify")]),e._v(" CHECKSUM\ngpg: Signature made Thu 02 Nov "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("2023")]),e._v(" 04:46:13 AM EDT\ngpg: using RSA key E53CF5EF91CEB0AD1812ECB851D6647EC21AD6EA\ngpg: Good signature from "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux "')]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("unknown"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\ngpg: WARNING: This key is not certified with a trusted signature"),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("!")]),e._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: 5E9B 8F56 17B5 066C E920 57C3 488F CF7C 3ABB 34F8\n Subkey fingerprint: E53C F5EF 91CE B0AD "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("1812")]),e._v(" ECB8 51D6 647E C21A D6EA\n")])])]),a("p",[e._v("Verify the downloaded ISO image checksum:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# calculate the downloaded ISO SHA256 checksum")]),e._v("\n$ sha256sum AlmaLinux-8.9-beta-1-x86_64-boot.iso\nfe73e692f0a970c2f65f5bec1b66b10aaa02a9978eb2c4d20c751a59fe284dcd AlmaLinux-8.9-beta-1-x86_64-boot.iso\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# compare it with expected checksum, it should be the same")]),e._v("\n$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" CHECKSUM "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-E")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'SHA256.*AlmaLinux-8.9-beta-1-x86_64-boot.iso'")]),e._v("\nSHA256 "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("AlmaLinux-8.9-beta-1-x86_64-boot.iso"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" fe73e692f0a970c2f65f5bec1b66b10aaa02a9978eb2c4d20c751a59fe284dcd\n")])])]),a("p",[e._v("If you decide to use the "),a("code",[e._v("AlmaLinux-8.9-beta-1-x86_64-boot.iso")]),e._v(" image, you may need to provide the "),a("code",[e._v("https://repo.almalinux.org/vault/8.9-beta/BaseOS/x86_64/kickstart/")]),e._v(" URL repository as the Installation Source in the event that the installer is not able to find it automatically for some reason.")]),e._v(" "),a("p",[e._v("There are no extra Installation Sources required if you decided to go with either the Minimal or DVD ISO images.")]),e._v(" "),a("h2",{attrs:{id:"upgrade-instructions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-instructions"}},[e._v("#")]),e._v(" Upgrade Instructions")]),e._v(" "),a("p",[a("strong",[e._v("Please do not use these update instructions on production machines unless you don't mind if something breaks")]),e._v(" 😉")]),e._v(" "),a("p",[e._v("Upgrade the almalinux-release package to the 8.9-0.0.el8 version from the beta repositories:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ dnf "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("install")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v(" https://repo.almalinux.org/vault/almalinux-release-latest-8-beta.x86_64.rpm\n$ dnf clean all\n")])])]),a("p",[e._v("the new package contains updated repository URLs so that you can just run:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ dnf upgrade "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v("\n")])])]),a("p",[e._v("to update the rest of the packages.")]),e._v(" "),a("h2",{attrs:{id:"additional-packages"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#additional-packages"}},[e._v("#")]),e._v(" Additional packages")]),e._v(" "),a("p",[e._v("Here is a list of packages that are AlmaLinux-specific, and will not be found in compatible versions of RHEL..")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Package")]),e._v(" "),a("th",[e._v("Description")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("almalinux-backgrounds")]),e._v(" "),a("td",[e._v("AlmaLinux background images."),a("br"),e._v("Replaces "),a("code",[e._v("redhat-backgrounds")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-indexhtml")]),e._v(" "),a("td",[e._v("AlmaLinux default browser page"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-indexhtml")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-logos")]),e._v(" "),a("td",[e._v("AlmaLinux graphics for OS"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-logos")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-logos-httpd")]),e._v(" "),a("td",[e._v("AlmaLinux graphics for HTTPD server"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-logos-httpd")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-logos-ipa")]),e._v(" "),a("td",[e._v("AlmaLinux graphics for IPA server"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-logos-ipa")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-release")]),e._v(" "),a("td",[e._v("AlmaLinux release package, repos, and EULA"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-release")]),e._v(" and "),a("code",[e._v("redhat-release-eula")])])])])]),e._v(" "),a("h2",{attrs:{id:"removed-packages"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#removed-packages"}},[e._v("#")]),e._v(" Removed packages")]),e._v(" "),a("p",[e._v("Here is a list of packages you will not find in AlmaLinux when comparing with the compatible version of RHEL.")]),e._v(" "),a("p",[e._v("AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join "),a("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/engineeringpackaging",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat"),a("OutboundLink")],1),e._v(" as well as filing a bug report at "),a("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),a("OutboundLink")],1),e._v(" to discuss if you think any of the packages below should be included into the repos.")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Package")]),e._v(" "),a("th",[e._v("Description")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("insights-client")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("kmod-redhat-*")]),e._v(" "),a("td",[e._v("RHEL specific modules from Driver Update Program")])]),e._v(" "),a("tr",[a("td",[e._v("kpatch*")]),e._v(" "),a("td",[e._v("RHEL specific live patches for kernel")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-backgrounds")]),e._v(" "),a("td",[e._v("RHEL specific background images")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-indexhtml")]),e._v(" "),a("td",[e._v("RHEL specific default browser page")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-logos")]),e._v(" "),a("td",[e._v("RHEL specific graphics for OS")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-logos-httpd")]),e._v(" "),a("td",[e._v("RHEL specific graphics for HTTPD server")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-logos-ipa")]),e._v(" "),a("td",[e._v("RHEL specific graphics for IPA server")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-release")]),e._v(" "),a("td",[e._v("RHEL specific release package and repos")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-release-eula")]),e._v(" "),a("td",[e._v("RHEL specific EULA")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-support-lib-python")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-support-tool")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("rhc")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("rhc-worker-playbook")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("rhsm-gtk")]),e._v(" "),a("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("rhsm-icons")]),e._v(" "),a("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("spice-client-win-x64")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-client-win-x86")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-qxl-wddm-dod")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-vdagent-win-x64")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-vdagent-win-x86")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("subscription-manager-cockpit")]),e._v(" "),a("td",[e._v("RHEL specific Cockpit module for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("subscription-manager-initial-setup-addon")]),e._v(" "),a("td",[e._v("RHEL specific initial setup addon for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("subscription-manager-plugin-container")]),e._v(" "),a("td",[e._v("RHEL specific Subscription Manager plugin for upstream vendor containers")])]),e._v(" "),a("tr",[a("td",[e._v("virt-who")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("virtio-win")]),e._v(" "),a("td",[e._v("Contain binaries built by upstream vendor")])])])]),e._v(" "),a("p",[e._v("Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/11.36b97ebb.js b/assets/js/11.36b97ebb.js new file mode 100644 index 000000000..f98fa4aef --- /dev/null +++ b/assets/js/11.36b97ebb.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[11,15,17],{240:function(t,e,n){"use strict";n.d(e,"d",(function(){return r})),n.d(e,"a",(function(){return a})),n.d(e,"i",(function(){return s})),n.d(e,"f",(function(){return u})),n.d(e,"g",(function(){return c})),n.d(e,"h",(function(){return l})),n.d(e,"b",(function(){return p})),n.d(e,"e",(function(){return f})),n.d(e,"k",(function(){return d})),n.d(e,"l",(function(){return h})),n.d(e,"c",(function(){return v})),n.d(e,"j",(function(){return m}));n(90);const r=/#.*$/,i=/\.(md|html)$/,a=/\/$/,s=/^[a-z]+:/i;function o(t){return decodeURI(t).replace(r,"").replace(i,"")}function u(t){return s.test(t)}function c(t){return/^mailto:/.test(t)}function l(t){return/^tel:/.test(t)}function p(t){if(u(t))return t;const e=t.match(r),n=e?e[0]:"",i=o(t);return a.test(i)?t:i+".html"+n}function f(t,e){const n=decodeURIComponent(t.hash),i=function(t){const e=t.match(r);if(e)return e[0]}(e);if(i&&n!==i)return!1;return o(t.path)===o(e)}function d(t,e,n){if(u(e))return{type:"external",path:e};n&&(e=function(t,e,n){const r=t.charAt(0);if("/"===r)return t;if("?"===r||"#"===r)return e+t;const i=e.split("/");n&&i[i.length-1]||i.pop();const a=t.replace(/^\//,"").split("/");for(let t=0;tfunction t(e,n,r,i=1){if("string"==typeof e)return d(n,e,r);if(Array.isArray(e))return Object.assign(d(n,e[0],r),{title:e[1]});{const a=e.children||[];return 0===a.length&&e.path?Object.assign(d(n,e.path,r),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:a.map(e=>t(e,n,r,i+1)),collapsable:!1!==e.collapsable}}}(t,i,n)):[]}return[]}function g(t){const e=v(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}))}]}function v(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(t=>2===t.level)}function m(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},247:function(t,e){t.exports=function(t){return null==t}},249:function(t,e,n){},250:function(t,e,n){},260:function(t,e,n){"use strict";n(249)},261:function(t,e,n){var r=n(11),i=n(4),a=n(10);t.exports=function(t){return"string"==typeof t||!i(t)&&a(t)&&"[object String]"==r(t)}},262:function(t,e,n){"use strict";n(250)},263:function(t,e,n){},268:function(t,e,n){"use strict";n.r(e);var r=n(247),i=n.n(r),a=n(240),s={name:"PageEdit",computed:{lastUpdated(){return this.$page.lastUpdated},lastUpdatedText(){return"string"==typeof this.$themeLocaleConfig.lastUpdated?this.$themeLocaleConfig.lastUpdated:"string"==typeof this.$site.themeConfig.lastUpdated?this.$site.themeConfig.lastUpdated:"Last Updated"},editLink(){const t=i()(this.$page.frontmatter.editLink)?this.$site.themeConfig.editLinks:this.$page.frontmatter.editLink,{repo:e,docsDir:n="",docsBranch:r="master",docsRepo:a=e}=this.$site.themeConfig;return t&&a&&this.$page.relativePath?this.createEditLink(e,a,n,r,this.$page.relativePath):null},editLinkText(){return this.$themeLocaleConfig.editLinkText||this.$site.themeConfig.editLinkText||"Edit this page"}},methods:{createEditLink(t,e,n,r,i){if(/bitbucket.org/.test(e)){return e.replace(a.a,"")+"/src"+`/${r}/`+(n?n.replace(a.a,"")+"/":"")+i+`?mode=edit&spa=0&at=${r}&fileviewer=file-view-default`}if(/gitlab.com/.test(e)){return e.replace(a.a,"")+"/-/edit"+`/${r}/`+(n?n.replace(a.a,"")+"/":"")+i}return(a.i.test(e)?e:"https://github.com/"+e).replace(a.a,"")+"/edit"+`/${r}/`+(n?n.replace(a.a,"")+"/":"")+i}}},o=(n(260),n(14)),u=Object(o.a)(s,(function(){var t=this,e=t._self._c;return e("footer",{staticClass:"page-edit"},[t.editLink?e("div",{staticClass:"edit-link"},[e("a",{attrs:{href:t.editLink,target:"_blank",rel:"noopener noreferrer"}},[t._v(t._s(t.editLinkText))]),t._v(" "),e("OutboundLink")],1):t._e(),t._v(" "),t.lastUpdated?e("div",{staticClass:"last-updated"},[e("span",{staticClass:"prefix"},[t._v(t._s(t.lastUpdatedText)+":")]),t._v(" "),e("span",{staticClass:"time"},[t._v(t._s(t.lastUpdated))])]):t._e()])}),[],!1,null,null,null);e.default=u.exports},269:function(t,e,n){"use strict";n.r(e);n(90);var r=n(240),i=n(261),a=n.n(i),s=n(247),o=n.n(s),u={name:"PageNav",props:["sidebarItems"],computed:{prev(){return l(c.PREV,this)},next(){return l(c.NEXT,this)}}};const c={NEXT:{resolveLink:function(t,e){return p(t,e,1)},getThemeLinkConfig:({nextLinks:t})=>t,getPageLinkConfig:({frontmatter:t})=>t.next},PREV:{resolveLink:function(t,e){return p(t,e,-1)},getThemeLinkConfig:({prevLinks:t})=>t,getPageLinkConfig:({frontmatter:t})=>t.prev}};function l(t,{$themeConfig:e,$page:n,$route:i,$site:s,sidebarItems:u}){const{resolveLink:c,getThemeLinkConfig:l,getPageLinkConfig:p}=t,f=l(e),d=p(n),h=o()(d)?f:d;return!1===h?void 0:a()(h)?Object(r.k)(s.pages,h,i.path):c(n,u)}function p(t,e,n){const r=[];!function t(e,n){for(let r=0,i=e.length;r"')]),e._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("unknown"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\ngpg: WARNING: This key is not certified with a trusted signature"),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("!")]),e._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: 5E9B 8F56 17B5 066C E920 57C3 488F CF7C 3ABB 34F8\n Subkey fingerprint: E53C F5EF 91CE B0AD "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("1812")]),e._v(" ECB8 51D6 647E C21A D6EA\n")])])]),t("p",[e._v("Verify the downloaded ISO image checksum:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# calculate the downloaded ISO SHA256 checksum")]),e._v("\n$ sha256sum AlmaLinux-8.9-x86_64-boot.iso\nab861d80c8b68634f3c16d414a4141759a082548ad7b251d8924675fa09decab AlmaLinux-8.9-x86_64-boot.iso\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# compare it with expected checksum, it should be the same")]),e._v("\n$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" CHECKSUM "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-E")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v("'SHA256.*AlmaLinux-8.9-x86_64-boot.iso'")]),e._v("\nSHA256 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("AlmaLinux-8.9-x86_64-boot.iso"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" ab861d80c8b68634f3c16d414a4141759a082548ad7b251d8924675fa09decab\n")])])]),t("p",[e._v("If you decide to use the "),t("code",[e._v("AlmaLinux-8.9-x86_64-boot.iso")]),e._v(" image, you will need to provide the "),t("code",[e._v("8.9/BaseOS/x86_64/kickstart/")]),e._v(" URL repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.")]),e._v(" "),t("p",[e._v("There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.")]),e._v(" "),t("h2",{attrs:{id:"upgrade-instructions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-instructions"}},[e._v("#")]),e._v(" Upgrade Instructions")]),e._v(" "),t("p",[e._v("To update your AlmaLinux OS 8 to 8.9 run:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ dnf upgrade "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v("\n")])])]),t("h2",{attrs:{id:"added-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#added-packages"}},[e._v("#")]),e._v(" Added packages")]),e._v(" "),t("p",[e._v("Here is a list of added packages in comparison with upstream distribution.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Package")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("almalinux-backgrounds")]),e._v(" "),t("td",[e._v("AlmaLinux background images."),t("br"),e._v("Replaces "),t("code",[e._v("redhat-backgrounds")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-indexhtml")]),e._v(" "),t("td",[e._v("AlmaLinux default browser page"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-indexhtml")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for OS"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos-httpd")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for HTTPD server"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos-httpd")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos-ipa")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for IPA server"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos-ipa")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-release")]),e._v(" "),t("td",[e._v("AlmaLinux release package, repos, and EULA"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-release")]),e._v(" and "),t("code",[e._v("redhat-release-eula")])])])])]),e._v(" "),t("h2",{attrs:{id:"removed-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#removed-packages"}},[e._v("#")]),e._v(" Removed packages")]),e._v(" "),t("p",[e._v("Here is a list of removed packages in comparison with the upstream distribution."),t("br"),e._v("\nAlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/engineeringpackaging",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat"),t("OutboundLink")],1),e._v(" as well as filing a bug report at "),t("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),t("OutboundLink")],1),e._v(" to discuss if you think any of the packages below should be included into the repos.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Package")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("insights-client")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("kmod-redhat-*"),t("br"),e._v("excluding kmod-redhat-oracleasm")]),e._v(" "),t("td",[e._v("RHEL specific modules from Driver Update Program")])]),e._v(" "),t("tr",[t("td",[e._v("kpatch*")]),e._v(" "),t("td",[e._v("RHEL specific live patches for kernel")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-backgrounds")]),e._v(" "),t("td",[e._v("RHEL specific background images")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-indexhtml")]),e._v(" "),t("td",[e._v("RHEL specific default browser page")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos")]),e._v(" "),t("td",[e._v("RHEL specific graphics for OS")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos-httpd")]),e._v(" "),t("td",[e._v("RHEL specific graphics for HTTPD server")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos-ipa")]),e._v(" "),t("td",[e._v("RHEL specific graphics for IPA server")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-release")]),e._v(" "),t("td",[e._v("RHEL specific release package and repos")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-release-eula")]),e._v(" "),t("td",[e._v("RHEL specific EULA")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-support-lib-python")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-support-tool")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhc")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhc-worker-playbook")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhsm-gtk")]),e._v(" "),t("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("rhsm-icons")]),e._v(" "),t("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("spice-client-win-x64")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-client-win-x86")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-qxl-wddm-dod")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-vdagent-win-x64")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-vdagent-win-x86")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-cockpit")]),e._v(" "),t("td",[e._v("RHEL specific Cockpit module for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-initial-setup-addon")]),e._v(" "),t("td",[e._v("RHEL specific initial setup addon for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-plugin-container")]),e._v(" "),t("td",[e._v("RHEL specific Subscription Manager plugin for upstream vendor containers")])]),e._v(" "),t("tr",[t("td",[e._v("virt-who")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("virtio-win")]),e._v(" "),t("td",[e._v("Contain binaries built by upstream vendor")])])])]),e._v(" "),t("p",[e._v("Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/111.04a6f17b.js b/assets/js/111.04a6f17b.js new file mode 100644 index 000000000..6a60e4a32 --- /dev/null +++ b/assets/js/111.04a6f17b.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[111],{391:function(e,a,t){"use strict";t.r(a);var r=t(14),s=Object(r.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"almalinux-9-0-beta-release-notes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-9-0-beta-release-notes"}},[e._v("#")]),e._v(" AlmaLinux 9.0 Beta Release Notes")]),e._v(" "),a("p",[e._v("These are the release notes for AlmaLinux OS 9.0 Beta for x86_64, aarch64, ppc64le and s390x architectures, codename Emerald Puma.")]),e._v(" "),a("p",[e._v("Distributed kernel version: 5.14.0-70.5.1.el9_0.")]),e._v(" "),a("h2",{attrs:{id:"beta-release"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beta-release"}},[e._v("#")]),e._v(" Beta Release")]),e._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),a("p",[e._v("This is a "),a("strong",[e._v("BETA")]),e._v(" release and should not be used for production installations.")])]),e._v(" "),a("h2",{attrs:{id:"providing-feedback-and-getting-help"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#providing-feedback-and-getting-help"}},[e._v("#")]),e._v(" Providing Feedback and Getting Help")]),e._v(" "),a("p",[e._v("Please report any issues you may encounter during tests on the "),a("a",{attrs:{href:"https://bugs.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),a("OutboundLink")],1),e._v(". Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out "),a("a",{attrs:{href:"https://chat.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community Chat"),a("OutboundLink")],1),e._v(", "),a("a",{attrs:{href:"https://forums.almalinux.org/c/",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Forums"),a("OutboundLink")],1),e._v(" and "),a("a",{attrs:{href:"https://reddit.com/r/almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community on Reddit"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"changelog"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[e._v("#")]),e._v(" Changelog")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("AlmaLinux 9 packages and repos are signed with the new "),a("a",{attrs:{href:"http://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9",target:"_blank",rel:"noopener noreferrer"}},[e._v("RPM-GPG-KEY-AlmaLinux-9"),a("OutboundLink")],1)])]),e._v(" "),a("li",[a("p",[e._v("Updated dynamic programming languages, web and database servers:")]),e._v(" "),a("ul",[a("li",[e._v("Perl 5.32")]),e._v(" "),a("li",[e._v("PHP 8.0")]),e._v(" "),a("li",[e._v("Git 2.31")]),e._v(" "),a("li",[e._v("Apache HTTP Server 2.4")]),e._v(" "),a("li",[e._v("Varnish Cache 6.5")]),e._v(" "),a("li",[e._v("Squid 5.2")]),e._v(" "),a("li",[e._v("MySQL 8.0")]),e._v(" "),a("li",[e._v("Redis 6.2")])])]),e._v(" "),a("li",[a("p",[e._v("Updated components:")]),e._v(" "),a("ul",[a("li",[e._v("GCC 11.2")]),e._v(" "),a("li",[e._v("glibc 2.34")]),e._v(" "),a("li",[e._v("binutils 2.35")])])]),e._v(" "),a("li",[a("p",[e._v("Compiler updates:")]),e._v(" "),a("ul",[a("li",[e._v("Go Toolset 1.17.7")])])]),e._v(" "),a("li",[a("p",[e._v("Performance tools and debuggers updates:")]),e._v(" "),a("ul",[a("li",[e._v("GDB 10.2")]),e._v(" "),a("li",[e._v("Valgrind 3.18.1")]),e._v(" "),a("li",[e._v("SystemTap 4.6")]),e._v(" "),a("li",[e._v("Dyninst 11.0.0")]),e._v(" "),a("li",[e._v("elfutils 0.186")])])]),e._v(" "),a("li",[a("p",[e._v("Java tools updates:")]),e._v(" "),a("ul",[a("li",[e._v("Maven 3.6")]),e._v(" "),a("li",[e._v("Ant 1.10")])])])]),e._v(" "),a("p",[e._v("You can reference the upstream "),a("a",{attrs:{href:"https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9-beta/html/9.0_release_notes/overview#overview-major-changes",target:"_blank",rel:"noopener noreferrer"}},[e._v("RHEL 9.0 beta release notes"),a("OutboundLink")],1),e._v(" for a full list of changes in this release.")]),e._v(" "),a("h2",{attrs:{id:"installation-instructions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#installation-instructions"}},[e._v("#")]),e._v(" Installation instructions")]),e._v(" "),a("p",[e._v("There are three installation ISO images available:")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-9.0-beta-1-x86_64-boot.iso")]),e._v(" - a single network installation CD image that downloads packages over the Internet.")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-9.0-beta-1-x86_64-minimal.iso")]),e._v(" - a minimal self-containing DVD image that makes possible offline installation.")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-9.0-beta-1-x86_64-dvd.iso")]),e._v(" - a full installation DVD image that contains mostly all AlmaLinux packages.")]),e._v(" "),a("p",[e._v("You can select a mirror closest to your geographic area listed on the "),a("a",{attrs:{href:"https://mirrors.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("mirrors.almalinux.org"),a("OutboundLink")],1),e._v(" website. A local mirror will be a lot quicker than using "),a("code",[e._v("repo.almalinux.org")]),e._v(" directly. Then, download a suitable ISO image from the 9-beta/isos/$arch/ directory of your source, for example:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://mirror.interserver.net/almalinux/9.0-beta/isos/x86_64/AlmaLinux-9.0-beta-1-x86_64-boot.iso\n")])])]),a("p",[e._v("Download and import the AlmaLinux public key:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9\n$ gpg "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" RPM-GPG-KEY-AlmaLinux-9\n")])])]),a("p",[e._v("Download and verify a checksums list:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/9.0-beta/isos/x86_64/CHECKSUM\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# we are looking for “Good signature”")]),e._v("\n$ gpg "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--verify")]),e._v(" CHECKSUM\ngpg: Signature made Mon "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("18")]),e._v(" Apr "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("2022")]),e._v(" 09:59:43 PM UTC using RSA key ID B86B3716\ngpg: Good signature from "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux OS 9 "')]),e._v("\ngpg: WARNING: This key is not certified with a trusted signature"),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("!")]),e._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: BF18 AC28 "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("7617")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("8908")]),e._v(" D6E7 "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("1267")]),e._v(" D36C B86C B86B "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("3716")]),e._v("\n")])])]),a("p",[e._v("Verify the downloaded ISO image checksum:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# calculate the downloaded ISO SHA256 checksum")]),e._v("\n$ sha256sum AlmaLinux-9.0-beta-1-x86_64-boot.iso\n62faf2d2f3449f247435cd91ec6155ed9d1c1f949f55c17b75827cb0f98adef2 AlmaLinux-9.0-beta-1-x86_64-boot.iso\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# compare it with expected checksum, it should be the same")]),e._v("\n$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" CHECKSUM "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-E")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'SHA256.*AlmaLinux-9.0-beta-1-x86_64-boot.iso'")]),e._v("\nSHA256 "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("AlmaLinux-9.0-beta-1-x86_64-boot.iso"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" 62faf2d2f3449f247435cd91ec6155ed9d1c1f949f55c17b75827cb0f98adef2\n")])])]),a("p",[e._v("If you decide to use the "),a("code",[e._v("AlmaLinux-9.0-beta-1-x86_64-boot.iso")]),e._v(" image, you will need to provide the "),a("code",[e._v("9.0-beta/BaseOS/x86_64/kickstart/")]),e._v(" repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.")]),e._v(" "),a("p",[e._v("There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.")]),e._v(" "),a("h2",{attrs:{id:"known-issues"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#known-issues"}},[e._v("#")]),e._v(" Known issues")]),e._v(" "),a("ul",[a("li",[e._v("OpenSCAP AlmaLinux 9 profiles are not ready yet and will be released later")])]),e._v(" "),a("h2",{attrs:{id:"added-packages"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#added-packages"}},[e._v("#")]),e._v(" Added packages")]),e._v(" "),a("p",[e._v("Here is a list of added packages in comparison with upstream distribution.")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Package")]),e._v(" "),a("th",[e._v("Description")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("almalinux-backgrounds")]),e._v(" "),a("td",[e._v("AlmaLinux background images."),a("br"),e._v("Replaces "),a("code",[e._v("redhat-backgrounds")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-indexhtml")]),e._v(" "),a("td",[e._v("AlmaLinux default browser page"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-indexhtml")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-logos")]),e._v(" "),a("td",[e._v("AlmaLinux graphics for OS"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-logos")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-logos-httpd")]),e._v(" "),a("td",[e._v("AlmaLinux graphics for HTTPD server"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-logos-httpd")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-logos-ipa")]),e._v(" "),a("td",[e._v("AlmaLinux graphics for IPA server"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-logos-ipa")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-release")]),e._v(" "),a("td",[e._v("AlmaLinux release package, repos, and EULA"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-release")]),e._v(" and "),a("code",[e._v("redhat-release-eula")])])])])]),e._v(" "),a("h2",{attrs:{id:"removed-packages"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#removed-packages"}},[e._v("#")]),e._v(" Removed packages")]),e._v(" "),a("p",[e._v("Here is a list of removed packages in comparison with the upstream distribution."),a("br"),e._v("\nAlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join "),a("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/engineeringpackaging",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat"),a("OutboundLink")],1),e._v(" as well as filing a bug report at "),a("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),a("OutboundLink")],1),e._v(" to discuss if you think any of the packages below should be included into the repos.")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Package")]),e._v(" "),a("th",[e._v("Description")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("insights-client")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("kmod-redhat-*")]),e._v(" "),a("td",[e._v("RHEL specific modules from Driver Update Program")])]),e._v(" "),a("tr",[a("td",[e._v("kpatch*")]),e._v(" "),a("td",[e._v("RHEL specific live patches for kernel")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-backgrounds")]),e._v(" "),a("td",[e._v("RHEL specific background images")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-indexhtml")]),e._v(" "),a("td",[e._v("RHEL specific default browser page")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-logos")]),e._v(" "),a("td",[e._v("RHEL specific graphics for OS")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-logos-httpd")]),e._v(" "),a("td",[e._v("RHEL specific graphics for HTTPD server")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-logos-ipa")]),e._v(" "),a("td",[e._v("RHEL specific graphics for IPA server")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-release")]),e._v(" "),a("td",[e._v("RHEL specific release package and repos")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-release-eula")]),e._v(" "),a("td",[e._v("RHEL specific EULA")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-support-lib-python")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-support-tool")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("rhc")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("rhc-worker-playbook")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("rhsm-gtk")]),e._v(" "),a("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("rhsm-icons")]),e._v(" "),a("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("spice-client-win-x64")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-client-win-x86")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-qxl-wddm-dod")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-vdagent-win-x64")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-vdagent-win-x86")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("subscription-manager-cockpit")]),e._v(" "),a("td",[e._v("RHEL specific Cockpit module for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("subscription-manager-initial-setup-addon")]),e._v(" "),a("td",[e._v("RHEL specific initial setup addon for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("subscription-manager-plugin-container")]),e._v(" "),a("td",[e._v("RHEL specific Subscription Manager plugin for upstream vendor containers")])]),e._v(" "),a("tr",[a("td",[e._v("virt-who")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("virtio-win")]),e._v(" "),a("td",[e._v("Contain binaries built by upstream vendor")])])])]),e._v(" "),a("p",[e._v("Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")])])}),[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/112.fdee3f7e.js b/assets/js/112.fdee3f7e.js new file mode 100644 index 000000000..1bef71bec --- /dev/null +++ b/assets/js/112.fdee3f7e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[112],{392:function(e,a,t){"use strict";t.r(a);var r=t(14),s=Object(r.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"almalinux-9-0-release-notes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-9-0-release-notes"}},[e._v("#")]),e._v(" AlmaLinux 9.0 Release Notes")]),e._v(" "),a("p",[e._v("These are the release notes for AlmaLinux OS 9.0 for x86_64, aarch64, ppc64le and s390x architectures, codename Emerald Puma.")]),e._v(" "),a("p",[e._v("Distributed kernel version: 5.14.0-70.13.1.el9_0.")]),e._v(" "),a("img",{attrs:{src:"/images/9-0.png",width:"75%",height:"75%"}}),e._v(" "),a("h2",{attrs:{id:"providing-feedback-and-getting-help"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#providing-feedback-and-getting-help"}},[e._v("#")]),e._v(" Providing Feedback and Getting Help")]),e._v(" "),a("p",[e._v("The AlmaLinux Community maintains many avenues for helping, supporting and assisting you. If you find an issue, please report it on the "),a("a",{attrs:{href:"https://bugs.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),a("OutboundLink")],1),e._v(". Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out "),a("a",{attrs:{href:"https://chat.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community Chat"),a("OutboundLink")],1),e._v(", "),a("a",{attrs:{href:"https://forums.almalinux.org/c/",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Forums"),a("OutboundLink")],1),e._v(" and "),a("a",{attrs:{href:"https://reddit.com/r/almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community on Reddit"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("Please note our Community Chat is bridged to several services including "),a("a",{attrs:{href:"https://web.libera.chat/#almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("IRC"),a("OutboundLink")],1),e._v(", "),a("a",{attrs:{href:"https://matrix.to/#/#almalinux:matrix.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Matrix"),a("OutboundLink")],1),e._v(" and Discord.")]),e._v(" "),a("h2",{attrs:{id:"upstream-release-notes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#upstream-release-notes"}},[e._v("#")]),e._v(" Upstream Release Notes")]),e._v(" "),a("p",[e._v("The upstream Red Hat Enterprise Linux release notes can be accessed via the "),a("a",{attrs:{href:"https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/9.0_release_notes/index",target:"_blank",rel:"noopener noreferrer"}},[e._v("Red Hat Enterprise Linux 9 Release Notes"),a("OutboundLink")],1)]),e._v(" "),a("h2",{attrs:{id:"changelog"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[e._v("#")]),e._v(" Changelog")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("AlmaLinux 9 packages and repositories are signed with the new "),a("a",{attrs:{href:"http://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9",target:"_blank",rel:"noopener noreferrer"}},[e._v("RPM-GPG-KEY-AlmaLinux-9"),a("OutboundLink")],1),e._v(" GPG key")])]),e._v(" "),a("li",[a("p",[e._v("The use of SHA-1 for signatures is restricted in the default crypto policy. Please be aware that this may cause issues using "),a("strong",[e._v("SSH")]),e._v(" to access older systems, such as RHEL/CentOS 6. To allow SHA-1 you can run:")])])]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("update-crypto-policies --set DEFAULT:SHA1\n")])])]),a("p",[e._v("Please see this "),a("a",{attrs:{href:"https://access.redhat.com/solutions/6816771",target:"_blank",rel:"noopener noreferrer"}},[e._v("Red Hat Knowledge Article"),a("OutboundLink")],1),e._v(" (subscription required) for more information.")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("New repositories added:")]),e._v(" "),a("ul",[a("li",[e._v("SAP")]),e._v(" "),a("li",[e._v("SAPHANA")])])]),e._v(" "),a("li",[a("p",[e._v("Updated dynamic programming languages, web and database servers:")]),e._v(" "),a("ul",[a("li",[e._v("Perl 5.32")]),e._v(" "),a("li",[e._v("PHP 8.0")]),e._v(" "),a("li",[e._v("Git 2.31")]),e._v(" "),a("li",[e._v("Apache HTTP Server 2.4.51")]),e._v(" "),a("li",[e._v("Varnish Cache 6.6")]),e._v(" "),a("li",[e._v("Squid 5.2")]),e._v(" "),a("li",[e._v("MySQL 8.0")]),e._v(" "),a("li",[e._v("Redis 6.2")])])]),e._v(" "),a("li",[a("p",[e._v("Updated components:")]),e._v(" "),a("ul",[a("li",[e._v("GCC 11.2.1")]),e._v(" "),a("li",[e._v("glibc 2.34")]),e._v(" "),a("li",[e._v("binutils 2.35.2")])])]),e._v(" "),a("li",[a("p",[e._v("Compiler updates:")]),e._v(" "),a("ul",[a("li",[e._v("Go Toolset 1.17.7")])])]),e._v(" "),a("li",[a("p",[e._v("Performance tools and debuggers updates:")]),e._v(" "),a("ul",[a("li",[e._v("PCP 5.3.5")]),e._v(" "),a("li",[e._v("Grafana 7.5.11")]),e._v(" "),a("li",[e._v("GDB 10.2")]),e._v(" "),a("li",[e._v("Valgrind 3.18.1")]),e._v(" "),a("li",[e._v("SystemTap 4.6")]),e._v(" "),a("li",[e._v("Dyninst 11.0.0")]),e._v(" "),a("li",[e._v("elfutils 0.186")])])]),e._v(" "),a("li",[a("p",[e._v("Java tools updates:")]),e._v(" "),a("ul",[a("li",[e._v("Maven 3.6")]),e._v(" "),a("li",[e._v("Ant 1.10")])])])]),e._v(" "),a("h2",{attrs:{id:"installation-instructions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#installation-instructions"}},[e._v("#")]),e._v(" Installation Instructions")]),e._v(" "),a("p",[e._v("There are three installation ISO images available:")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-9.0-x86_64-boot.iso")]),e._v(" - a single network installation CD image that downloads packages over the Internet.")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-9.0-x86_64-minimal.iso")]),e._v(" - a minimal self-containing DVD image for local/offline installation.")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-9.0-x86_64-dvd.iso")]),e._v(" - a full installation DVD image that contains almost all AlmaLinux packages.")]),e._v(" "),a("p",[e._v("The recommended way to download ISO images is using the "),a("a",{attrs:{href:"https://repo.almalinux.org/almalinux/9.0/isos/x86_64/AlmaLinux-9.0-x86_64.torrent",target:"_blank",rel:"noopener noreferrer"}},[e._v("torrent"),a("OutboundLink")],1),e._v(" links. Alternatively, you can select a mirror closest to your geographic area listed on the "),a("a",{attrs:{href:"https://mirrors.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("mirrors.almalinux.org"),a("OutboundLink")],1),e._v(" website. A local mirror will be a lot quicker than using "),a("code",[e._v("repo.almalinux.org")]),e._v(" directly. Then, download a suitable ISO image from the 9/isos/$arch/ directory of your source, for example:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://mirror.interserver.net/almalinux/9.0/isos/x86_64/AlmaLinux-9.0-x86_64-boot.iso\n")])])]),a("p",[e._v("Download and import the AlmaLinux public key:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9\n$ gpg "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" RPM-GPG-KEY-AlmaLinux-9\n")])])]),a("p",[e._v("Download and verify a checksums list:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/9.0/isos/x86_64/CHECKSUM\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# we are looking for “Good signature”")]),e._v("\n$ gpg "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--verify")]),e._v(" CHECKSUM\ngpg: Signature made Wed "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("25")]),e._v(" May "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("2022")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("11")]),e._v(":08:37 PM UTC\ngpg: using RSA key D36CB86CB86B3716\ngpg: Good signature from "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux OS 9 "')]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("unknown"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\ngpg: WARNING: This key is not certified with a trusted signature"),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("!")]),e._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: BF18 AC28 "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("7617")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("8908")]),e._v(" D6E7 "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("1267")]),e._v(" D36C B86C B86B "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("3716")]),e._v("\n")])])]),a("p",[e._v("Verify the downloaded ISO image checksum:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# calculate the downloaded ISO SHA256 checksum")]),e._v("\n$ sha256sum AlmaLinux-9.0-x86_64-boot.iso\nc41ce7bc2f4ab27a3597b3e160fc8b01c56a6b58e1046a4a23b8518fb9e9a61f AlmaLinux-9.0-x86_64-boot.iso\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# compare it with expected checksum, it should be the same")]),e._v("\n$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" CHECKSUM "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-E")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'SHA256.*AlmaLinux-9.0-x86_64-boot.iso'")]),e._v("\nSHA256 "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("AlmaLinux-9.0-1-x86_64-boot.iso"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" c41ce7bc2f4ab27a3597b3e160fc8b01c56a6b58e1046a4a23b8518fb9e9a61f\n")])])]),a("p",[e._v("If you decide to use the "),a("code",[e._v("AlmaLinux-9.0-x86_64-boot.iso")]),e._v(" image, you will need to provide the "),a("code",[e._v("9.0/BaseOS/x86_64/kickstart/")]),e._v(" repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.")]),e._v(" "),a("p",[e._v("There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.")]),e._v(" "),a("h2",{attrs:{id:"upgrade-instructions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-instructions"}},[e._v("#")]),e._v(" Upgrade Instructions")]),e._v(" "),a("p",[e._v("Run the following command twice to upgrade from 9.0 beta:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("$ dnf upgrade -y\n")])])]),a("h2",{attrs:{id:"added-packages"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#added-packages"}},[e._v("#")]),e._v(" Added Packages")]),e._v(" "),a("p",[e._v("Here is a list of added packages in comparison with upstream distribution.")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Package")]),e._v(" "),a("th",[e._v("Description")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("almalinux-backgrounds")]),e._v(" "),a("td",[e._v("AlmaLinux background images."),a("br"),e._v("Replaces "),a("code",[e._v("redhat-backgrounds")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-indexhtml")]),e._v(" "),a("td",[e._v("AlmaLinux default browser page"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-indexhtml")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-logos")]),e._v(" "),a("td",[e._v("AlmaLinux graphics for OS"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-logos")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-logos-httpd")]),e._v(" "),a("td",[e._v("AlmaLinux graphics for HTTPD server"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-logos-httpd")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-logos-ipa")]),e._v(" "),a("td",[e._v("AlmaLinux graphics for IPA server"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-logos-ipa")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-release")]),e._v(" "),a("td",[e._v("AlmaLinux release package, repos, and EULA"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-release")]),e._v(" and "),a("code",[e._v("redhat-release-eula")])])])])]),e._v(" "),a("h2",{attrs:{id:"removed-packages"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#removed-packages"}},[e._v("#")]),e._v(" Removed Packages")]),e._v(" "),a("p",[e._v("Here is a list of removed packages in comparison with the upstream distribution."),a("br"),e._v("\nAlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join "),a("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/engineeringpackaging",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat"),a("OutboundLink")],1),e._v(" as well as filing a bug report at "),a("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),a("OutboundLink")],1),e._v(" to discuss if you think any of the packages below should be included into the repos.")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Package")]),e._v(" "),a("th",[e._v("Description")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("insights-client")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("kmod-redhat-*")]),e._v(" "),a("td",[e._v("RHEL specific modules from Driver Update Program")])]),e._v(" "),a("tr",[a("td",[e._v("kpatch*")]),e._v(" "),a("td",[e._v("RHEL specific live patches for kernel")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-backgrounds")]),e._v(" "),a("td",[e._v("RHEL specific background images")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-indexhtml")]),e._v(" "),a("td",[e._v("RHEL specific default browser page")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-logos")]),e._v(" "),a("td",[e._v("RHEL specific graphics for OS")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-logos-httpd")]),e._v(" "),a("td",[e._v("RHEL specific graphics for HTTPD server")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-logos-ipa")]),e._v(" "),a("td",[e._v("RHEL specific graphics for IPA server")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-release")]),e._v(" "),a("td",[e._v("RHEL specific release package and repos")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-release-eula")]),e._v(" "),a("td",[e._v("RHEL specific EULA")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-support-lib-python")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-support-tool")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("rhc")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("rhc-worker-playbook")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("rhsm-gtk")]),e._v(" "),a("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("rhsm-icons")]),e._v(" "),a("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("spice-client-win-x64")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-client-win-x86")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-qxl-wddm-dod")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-vdagent-win-x64")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-vdagent-win-x86")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("subscription-manager-cockpit")]),e._v(" "),a("td",[e._v("RHEL specific Cockpit module for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("subscription-manager-initial-setup-addon")]),e._v(" "),a("td",[e._v("RHEL specific initial setup addon for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("subscription-manager-plugin-container")]),e._v(" "),a("td",[e._v("RHEL specific Subscription Manager plugin for upstream vendor containers")])]),e._v(" "),a("tr",[a("td",[e._v("virt-who")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("virtio-win")]),e._v(" "),a("td",[e._v("Contain binaries built by upstream vendor")])])])]),e._v(" "),a("p",[e._v("Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")])])}),[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/113.f0a138a4.js b/assets/js/113.f0a138a4.js new file mode 100644 index 000000000..016cb78d9 --- /dev/null +++ b/assets/js/113.f0a138a4.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[113],{395:function(e,t,a){"use strict";a.r(t);var s=a(14),r=Object(s.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"almalinux-9-1-beta-release-notes"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-9-1-beta-release-notes"}},[e._v("#")]),e._v(" AlmaLinux 9.1 Beta Release Notes")]),e._v(" "),t("p",[e._v("These are the release notes for AlmaLinux OS 9.1 Beta for x86_64, aarch64, ppc64le and s390x architectures, codename Lime Lynx.")]),e._v(" "),t("p",[e._v("Distributed kernel version: 5.14.0-160.el9")]),e._v(" "),t("h2",{attrs:{id:"beta-release"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#beta-release"}},[e._v("#")]),e._v(" Beta Release")]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("This is a "),t("strong",[e._v("BETA")]),e._v(" release and should not be used for production installations. The provided upgrade instructions should not be used on production machines, unless you don't mind if something breaks 😉")])]),e._v(" "),t("h2",{attrs:{id:"providing-feedback-and-getting-help"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#providing-feedback-and-getting-help"}},[e._v("#")]),e._v(" Providing Feedback and Getting Help")]),e._v(" "),t("p",[e._v("Please report any issues you may encounter during tests on the "),t("a",{attrs:{href:"https://bugs.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),t("OutboundLink")],1),e._v(". Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out "),t("a",{attrs:{href:"https://chat.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community Chat"),t("OutboundLink")],1),e._v(", "),t("a",{attrs:{href:"https://forums.almalinux.org/c/91-beta/5",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Forums"),t("OutboundLink")],1),e._v(" and "),t("a",{attrs:{href:"https://reddit.com/r/almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community on Reddit"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"changelog"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[e._v("#")]),e._v(" Changelog")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("Added a new remote machine attestation tool:")]),e._v(" "),t("ul",[t("li",[e._v("Keylime")])])]),e._v(" "),t("li",[t("p",[e._v("Updated packages:")]),e._v(" "),t("ul",[t("li",[e._v("SELinux user-space packages to version 3.4")])])]),e._v(" "),t("li",[t("p",[e._v("Added SHA-256 support in the semodule tool")])]),e._v(" "),t("li",[t("p",[e._v("libsepol-utils package has new policy utilities")])]),e._v(" "),t("li",[t("p",[e._v("The system configuration and the clevis-luks-systemd subpackage changes enable the Clevis encryption client to unlock also LUKS-encrypted volumes that mount late in the boot process without using the systemctl "),t("code",[e._v("enable clevis-luks-askpass.path")]),e._v(" command during the deployment process.")])]),e._v(" "),t("li",[t("p",[e._v("Added a new package:")]),e._v(" "),t("ul",[t("li",[e._v("XMLStarlet")])])]),e._v(" "),t("li",[t("p",[e._v("Updated command-line tools:")]),e._v(" "),t("ul",[t("li",[e._v("opencryptoki to version 3.18.0")]),e._v(" "),t("li",[e._v("powerpc-utils to version 1.3.10")]),e._v(" "),t("li",[e._v("libvpd to version 2.2.9")]),e._v(" "),t("li",[e._v("lsvpd to version 1.7.14")]),e._v(" "),t("li",[e._v("ppc64-diag to version 2.7.8")])])]),e._v(" "),t("li",[t("p",[e._v("Updated infrastructure services tools:")]),e._v(" "),t("ul",[t("li",[e._v("chrony to version 4.2")]),e._v(" "),t("li",[e._v("unbound to version 1.16.2")]),e._v(" "),t("li",[e._v("frr to version 8.2.2")])])]),e._v(" "),t("li",[t("p",[e._v("Added new module streams:")]),e._v(" "),t("ul",[t("li",[e._v("PHP 8.1")]),e._v(" "),t("li",[e._v("Ruby 3.1")]),e._v(" "),t("li",[e._v("Node.js 18")])])]),e._v(" "),t("li",[t("p",[e._v("Updated module stream:")]),e._v(" "),t("ul",[t("li",[e._v("Apache HTTP Server to version 2.4.53.")])])]),e._v(" "),t("li",[t("p",[e._v("Performance tools and debuggers updates:")]),e._v(" "),t("ul",[t("li",[e._v("Valgrind 3.19")]),e._v(" "),t("li",[e._v("SystemTap 4.7")]),e._v(" "),t("li",[e._v("Dyninst 12.1.0")]),e._v(" "),t("li",[e._v("elfutils 0.187")])])]),e._v(" "),t("li",[t("p",[e._v("Updated performance monitoring tools:")]),e._v(" "),t("ul",[t("li",[e._v("PCP 5.3.7")]),e._v(" "),t("li",[e._v("Grafana 7.5.13")])])]),e._v(" "),t("li",[t("p",[e._v("Compiler updates:")]),e._v(" "),t("ul",[t("li",[e._v("GCC Toolset 12")]),e._v(" "),t("li",[e._v("LLVM Toolset 14.0.0")]),e._v(" "),t("li",[e._v("Rust Toolset 1.62")]),e._v(" "),t("li",[e._v("Go Toolset 1.18")])])]),e._v(" "),t("li",[t("p",[e._v("Minimal ISO changes:")]),e._v(" "),t("ul",[t("li",[e._v("OpenSCAP profiles are available during install ("),t("a",{attrs:{href:"https://bugs.almalinux.org/view.php?id=94",target:"_blank",rel:"noopener noreferrer"}},[e._v("albz#94"),t("OutboundLink")],1),e._v(")")]),e._v(" "),t("li",[e._v("rsyslog package is now part of Minimal install class ("),t("a",{attrs:{href:"https://bugs.almalinux.org/view.php?id=187",target:"_blank",rel:"noopener noreferrer"}},[e._v("albz#187"),t("OutboundLink")],1),e._v(")")]),e._v(" "),t("li",[e._v("kernel-modules-extra package is included to support more hardware")])])])]),e._v(" "),t("h2",{attrs:{id:"installation-instructions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#installation-instructions"}},[e._v("#")]),e._v(" Installation instructions")]),e._v(" "),t("p",[e._v("There are three installation ISO images available:")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-9.1-beta-1-x86_64-boot.iso")]),e._v(" - a single network installation CD image that downloads packages over the Internet.")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-9.1-beta-1-x86_64-minimal.iso")]),e._v(" - a minimal self-containing DVD image that makes possible offline installation.")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-9.1-beta-1-x86_64-dvd.iso")]),e._v(" - a full installation DVD image that contains mostly all AlmaLinux packages.")]),e._v(" "),t("p",[e._v("You can select a mirror closest to your geographic area listed on the "),t("a",{attrs:{href:"https://mirrors.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("mirrors.almalinux.org"),t("OutboundLink")],1),e._v(" website. A local mirror will be a lot quicker than using "),t("code",[e._v("repo.almalinux.org")]),e._v(" directly. Then, download a suitable ISO image from the 9.1-beta/isos/$arch/ directory of your source, for example:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://mirror.interserver.net/almalinux/9.1-beta/isos/x86_64/AlmaLinux-9.1-beta-1-x86_64-boot.iso\n")])])]),t("p",[e._v("Download and import the AlmaLinux public key:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9\n$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" RPM-GPG-KEY-AlmaLinux\n")])])]),t("p",[e._v("Download and verify a checksums list:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/9.1-beta/isos/x86_64/CHECKSUM\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# we are looking for “Good signature”")]),e._v("\n$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--verify")]),e._v(" CHECKSUM\ngpg: Signature made Mon "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("31")]),e._v(" Oct "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("2022")]),e._v(" 05:48:38 PM EDT\ngpg: using RSA key D36CB86CB86B3716\ngpg: Good signature from "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux OS 9 "')]),e._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("unknown"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\ngpg: WARNING: This key is not certified with a trusted signature"),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("!")]),e._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: BF18 AC28 "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("7617")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("8908")]),e._v(" D6E7 "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("1267")]),e._v(" D36C B86C B86B "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("3716")]),e._v("\n")])])]),t("p",[e._v("Verify the downloaded ISO image checksum:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# calculate the downloaded ISO SHA256 checksum")]),e._v("\n$ sha256sum AlmaLinux-9.1-beta-1-x86_64-boot.iso\n4bcdec0039c84d0e1ae86dc40029f897f2da398222f0643bf8b6b3e9870970c5 AlmaLinux-9.1-beta-1-x86_64-boot.iso\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# compare it with expected checksum, it should be the same")]),e._v("\n$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" CHECKSUM "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-E")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v("'SHA256.*AlmaLinux-9.1-beta-1-x86_64-boot.iso'")]),e._v("\nSHA256 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("AlmaLinux-9.1-beta-1-x86_64-boot.iso"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" 4bcdec0039c84d0e1ae86dc40029f897f2da398222f0643bf8b6b3e9870970c5\n")])])]),t("p",[e._v("If you decide to use the "),t("code",[e._v("AlmaLinux-9.1-beta-1-x86_64-boot.iso")]),e._v(" image, you will need to provide the "),t("code",[e._v("9.1-beta/BaseOS/x86_64/kickstart/")]),e._v(" repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.")]),e._v(" "),t("p",[e._v("There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.")]),e._v(" "),t("h2",{attrs:{id:"upgrade-instructions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-instructions"}},[e._v("#")]),e._v(" Upgrade Instructions")]),e._v(" "),t("p",[t("strong",[e._v("Please do not use these update instructions on production machines, unless you don't mind if something breaks")]),e._v(" 😉")]),e._v(" "),t("p",[e._v("Upgrade the almalinux-release package to the 9.1-1.8.el9 version from the beta repositories:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ dnf "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("install")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v(" https://repo.almalinux.org/almalinux/almalinux-release-latest-9-beta.x86_64.rpm\n$ dnf clean all\n")])])]),t("p",[e._v("the new package contains updated repository URLs so that you can just run:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ dnf upgrade "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v("\n")])])]),t("p",[e._v("to update the rest of the packages.")]),e._v(" "),t("h2",{attrs:{id:"added-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#added-packages"}},[e._v("#")]),e._v(" Added packages")]),e._v(" "),t("p",[e._v("Here is a list of added packages in comparison with upstream distribution.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Package")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("almalinux-backgrounds")]),e._v(" "),t("td",[e._v("AlmaLinux background images."),t("br"),e._v("Replaces "),t("code",[e._v("redhat-backgrounds")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-indexhtml")]),e._v(" "),t("td",[e._v("AlmaLinux default browser page"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-indexhtml")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for OS"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos-httpd")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for HTTPD server"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos-httpd")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos-ipa")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for IPA server"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos-ipa")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-release")]),e._v(" "),t("td",[e._v("AlmaLinux release package, repos, and EULA"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-release")]),e._v(" and "),t("code",[e._v("redhat-release-eula")])])])])]),e._v(" "),t("h2",{attrs:{id:"removed-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#removed-packages"}},[e._v("#")]),e._v(" Removed packages")]),e._v(" "),t("p",[e._v("Here is a list of removed packages in comparison with the upstream distribution."),t("br"),e._v("\nAlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/engineeringpackaging",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat"),t("OutboundLink")],1),e._v(" as well as filing a bug report at "),t("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),t("OutboundLink")],1),e._v(" to discuss if you think any of the packages below should be included into the repos.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Package")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("insights-client")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("kmod-redhat-*")]),e._v(" "),t("td",[e._v("RHEL specific modules from Driver Update Program")])]),e._v(" "),t("tr",[t("td",[e._v("kpatch*")]),e._v(" "),t("td",[e._v("RHEL specific live patches for kernel")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-backgrounds")]),e._v(" "),t("td",[e._v("RHEL specific background images")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-indexhtml")]),e._v(" "),t("td",[e._v("RHEL specific default browser page")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos")]),e._v(" "),t("td",[e._v("RHEL specific graphics for OS")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos-httpd")]),e._v(" "),t("td",[e._v("RHEL specific graphics for HTTPD server")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos-ipa")]),e._v(" "),t("td",[e._v("RHEL specific graphics for IPA server")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-release")]),e._v(" "),t("td",[e._v("RHEL specific release package and repos")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-release-eula")]),e._v(" "),t("td",[e._v("RHEL specific EULA")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-support-lib-python")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-support-tool")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhc")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhc-worker-playbook")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhsm-gtk")]),e._v(" "),t("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("rhsm-icons")]),e._v(" "),t("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("spice-client-win-x64")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-client-win-x86")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-qxl-wddm-dod")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-vdagent-win-x64")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-vdagent-win-x86")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-cockpit")]),e._v(" "),t("td",[e._v("RHEL specific Cockpit module for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-initial-setup-addon")]),e._v(" "),t("td",[e._v("RHEL specific initial setup addon for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-plugin-container")]),e._v(" "),t("td",[e._v("RHEL specific Subscription Manager plugin for upstream vendor containers")])]),e._v(" "),t("tr",[t("td",[e._v("virt-who")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("virtio-win")]),e._v(" "),t("td",[e._v("Contain binaries built by upstream vendor")])])])]),e._v(" "),t("p",[e._v("Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/114.5d027244.js b/assets/js/114.5d027244.js new file mode 100644 index 000000000..366a30250 --- /dev/null +++ b/assets/js/114.5d027244.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[114],{394:function(e,t,a){"use strict";a.r(t);var r=a(14),s=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"almalinux-9-1-release-notes"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-9-1-release-notes"}},[e._v("#")]),e._v(" AlmaLinux 9.1 Release Notes")]),e._v(" "),t("p",[e._v("These are the release notes for AlmaLinux OS 9.1 Stable for all supported architectures:")]),e._v(" "),t("ul",[t("li",[e._v("x86_64")]),e._v(" "),t("li",[e._v("aarch64")]),e._v(" "),t("li",[e._v("ppc64le")]),e._v(" "),t("li",[e._v("s390x")])]),e._v(" "),t("p",[e._v("Codename: Lime Lynx.")]),e._v(" "),t("p",[e._v("Distributed kernel version: 5.14.0-162.6.1.el9_1.")]),e._v(" "),t("h2",{attrs:{id:"providing-feedback-and-getting-help"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#providing-feedback-and-getting-help"}},[e._v("#")]),e._v(" Providing Feedback and Getting Help")]),e._v(" "),t("p",[e._v("Please report any issues you may encounter during tests on the "),t("a",{attrs:{href:"https://bugs.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),t("OutboundLink")],1),e._v(". Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out "),t("a",{attrs:{href:"https://chat.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community Chat"),t("OutboundLink")],1),e._v(", "),t("a",{attrs:{href:"https://forums.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Forums"),t("OutboundLink")],1),e._v(" and "),t("a",{attrs:{href:"https://reddit.com/r/almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community on Reddit"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"changelog"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[e._v("#")]),e._v(" Changelog")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("Added a new remote machine attestation tool:")]),e._v(" "),t("ul",[t("li",[e._v("Keylime")])])]),e._v(" "),t("li",[t("p",[e._v("Updated packages:")]),e._v(" "),t("ul",[t("li",[e._v("SELinux user-space packages to version 3.4")])])]),e._v(" "),t("li",[t("p",[e._v("Added SHA-256 support in the semodule tool")])]),e._v(" "),t("li",[t("p",[e._v("libsepol-utils package has new policy utilities")])]),e._v(" "),t("li",[t("p",[e._v("The system configuration and the clevis-luks-systemd subpackage changes enable the Clevis encryption client to unlock also LUKS-encrypted volumes that mount late in the boot process without using the systemctl "),t("code",[e._v("enable clevis-luks-askpass.path")]),e._v(" command during the deployment process.")])]),e._v(" "),t("li",[t("p",[e._v("Added NetworkManager support for migrating connection profiles from the deprecated ifcfg format to keyfile format.")])]),e._v(" "),t("li",[t("p",[e._v("NetworkManager indicates that WEP support is not available in AlmaLinux 9.")])]),e._v(" "),t("li",[t("p",[e._v("The MultiPath TCP (MPTCP) code in the kernel has been updated and upstream Linux 5.19.")])]),e._v(" "),t("li",[t("p",[e._v("Added a new package:")]),e._v(" "),t("ul",[t("li",[e._v("XMLStarlet")])])]),e._v(" "),t("li",[t("p",[e._v("Updated command-line tools:")]),e._v(" "),t("ul",[t("li",[e._v("opencryptoki to version 3.18.0")]),e._v(" "),t("li",[e._v("powerpc-utils to version 1.3.10")]),e._v(" "),t("li",[e._v("libvpd to version 2.2.9")]),e._v(" "),t("li",[e._v("lsvpd to version 1.7.14")]),e._v(" "),t("li",[e._v("ppc64-diag to version 2.7.8")])])]),e._v(" "),t("li",[t("p",[e._v("Updated infrastructure services tools:")]),e._v(" "),t("ul",[t("li",[e._v("chrony to version 4.2")]),e._v(" "),t("li",[e._v("unbound to version 1.16.2")]),e._v(" "),t("li",[e._v("frr to version 8.2.2")])])]),e._v(" "),t("li",[t("p",[e._v("Added new module streams:")]),e._v(" "),t("ul",[t("li",[e._v("PHP 8.1")]),e._v(" "),t("li",[e._v("Ruby 3.1")]),e._v(" "),t("li",[e._v("Node.js 18")])])]),e._v(" "),t("li",[t("p",[e._v("Updated module stream:")]),e._v(" "),t("ul",[t("li",[e._v("Apache HTTP Server to version 2.4.53.")])])]),e._v(" "),t("li",[t("p",[e._v("Performance tools and debuggers updates:")]),e._v(" "),t("ul",[t("li",[e._v("Valgrind 3.19")]),e._v(" "),t("li",[e._v("SystemTap 4.7")]),e._v(" "),t("li",[e._v("Dyninst 12.1.0")]),e._v(" "),t("li",[e._v("elfutils 0.187")])])]),e._v(" "),t("li",[t("p",[e._v("Updated performance monitoring tools:")]),e._v(" "),t("ul",[t("li",[e._v("PCP 5.3.7")]),e._v(" "),t("li",[e._v("Grafana 7.5.13")])])]),e._v(" "),t("li",[t("p",[e._v("Compiler updates:")]),e._v(" "),t("ul",[t("li",[e._v("GCC Toolset 12")]),e._v(" "),t("li",[e._v("LLVM Toolset 14.0.6")]),e._v(" "),t("li",[e._v("Rust Toolset 1.62")]),e._v(" "),t("li",[e._v("Go Toolset 1.18")])])]),e._v(" "),t("li",[t("p",[e._v("Minimal ISO changes:")]),e._v(" "),t("ul",[t("li",[e._v("OpenSCAP profiles are available during install ("),t("a",{attrs:{href:"https://bugs.almalinux.org/view.php?id=94",target:"_blank",rel:"noopener noreferrer"}},[e._v("albz#94"),t("OutboundLink")],1),e._v(")")]),e._v(" "),t("li",[e._v("rsyslog package is now part of Minimal install class ("),t("a",{attrs:{href:"https://bugs.almalinux.org/view.php?id=187",target:"_blank",rel:"noopener noreferrer"}},[e._v("albz#187"),t("OutboundLink")],1),e._v(")")]),e._v(" "),t("li",[e._v("kernel-modules-extra package is included to support more hardware")])])])]),e._v(" "),t("p",[e._v("You can reference the upstream "),t("a",{attrs:{href:"https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/9.1_release_notes/index",target:"_blank",rel:"noopener noreferrer"}},[e._v("RHEL 9.1 release notes"),t("OutboundLink")],1),e._v(" for a full list of changes in this release.")]),e._v(" "),t("h2",{attrs:{id:"installation-instructions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#installation-instructions"}},[e._v("#")]),e._v(" Installation instructions")]),e._v(" "),t("p",[e._v("There are three installation ISO images available:")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-9.1-x86_64-boot.iso")]),e._v(" - a single network installation CD image that downloads packages over the Internet.")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-9.1-x86_64-minimal.iso")]),e._v(" - a minimal self-containing DVD image that makes possible offline installation.")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-9.1-x86_64-dvd.iso")]),e._v(" - a full installation DVD image that contains mostly all AlmaLinux packages.")]),e._v(" "),t("p",[e._v("You can select a mirror closest to your geographic area listed on the "),t("a",{attrs:{href:"https://mirrors.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("mirrors.almalinux.org"),t("OutboundLink")],1),e._v(" website. A local mirror will be a lot quicker than using "),t("code",[e._v("repo.almalinux.org")]),e._v(" directly. Then, download a suitable ISO image from the 9.1/isos/$arch/ directory of your source, for example:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://mirror.interserver.net/almalinux/9.1/isos/x86_64/AlmaLinux-9.1-x86_64-boot.iso\n")])])]),t("p",[e._v("Download and import the AlmaLinux public key:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9\n$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" RPM-GPG-KEY-AlmaLinux\n")])])]),t("p",[e._v("Download and verify a checksums list:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/9.1/isos/x86_64/CHECKSUM\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# we are looking for “Good signature”")]),e._v("\n$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--verify")]),e._v(" CHECKSUM\ngpg: Signature made Wed "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("16")]),e._v(" Nov "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("2022")]),e._v(" 09:41:17 AM EST\ngpg: using RSA key BF18AC2876178908D6E71267D36CB86CB86B3716\ngpg: Good signature from "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux OS 9 "')]),e._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("unknown"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\ngpg: WARNING: This key is not certified with a trusted signature"),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("!")]),e._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: BF18 AC28 "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("7617")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("8908")]),e._v(" D6E7 "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("1267")]),e._v(" D36C B86C B86B "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("3716")]),e._v("\n")])])]),t("p",[e._v("Verify the downloaded ISO image checksum:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# calculate the downloaded ISO SHA256 checksum")]),e._v("\n$ sha256sum AlmaLinux-9.1-x86_64-boot.iso\n56df83b8e13a83e2448aad29e14cce255491675a7d1e3f075ca3148c4e9c00f8 AlmaLinux-9.1-x86_64-boot.iso\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# compare it with expected checksum, it should be the same")]),e._v("\n$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" CHECKSUM "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-E")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v("'SHA256.*AlmaLinux-9.1-x86_64-boot.iso'")]),e._v("\nSHA256 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("AlmaLinux-9.1-x86_64-boot.iso"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" 56df83b8e13a83e2448aad29e14cce255491675a7d1e3f075ca3148c4e9c00f8\n")])])]),t("p",[e._v("If you decide to use the "),t("code",[e._v("AlmaLinux-9.1-x86_64-boot.iso")]),e._v(" image, you will need to provide the "),t("code",[e._v("9.1/BaseOS/x86_64/kickstart/")]),e._v(" repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.")]),e._v(" "),t("p",[e._v("There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.")]),e._v(" "),t("h2",{attrs:{id:"upgrade-instructions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-instructions"}},[e._v("#")]),e._v(" Upgrade Instructions")]),e._v(" "),t("p",[e._v("To update your AlmaLinux OS 9 to 9.1 run:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ dnf upgrade "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v("\n")])])]),t("h2",{attrs:{id:"added-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#added-packages"}},[e._v("#")]),e._v(" Added packages")]),e._v(" "),t("p",[e._v("Here is a list of added packages in comparison with upstream distribution.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Package")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("almalinux-backgrounds")]),e._v(" "),t("td",[e._v("AlmaLinux background images."),t("br"),e._v("Replaces "),t("code",[e._v("redhat-backgrounds")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-indexhtml")]),e._v(" "),t("td",[e._v("AlmaLinux default browser page"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-indexhtml")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for OS"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos-httpd")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for HTTPD server"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos-httpd")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos-ipa")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for IPA server"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos-ipa")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-release")]),e._v(" "),t("td",[e._v("AlmaLinux release package, repos, and EULA"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-release")]),e._v(" and "),t("code",[e._v("redhat-release-eula")])])])])]),e._v(" "),t("h2",{attrs:{id:"removed-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#removed-packages"}},[e._v("#")]),e._v(" Removed packages")]),e._v(" "),t("p",[e._v("Here is a list of removed packages in comparison with the upstream distribution."),t("br"),e._v("\nAlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/engineeringpackaging",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat"),t("OutboundLink")],1),e._v(" as well as filing a bug report at "),t("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),t("OutboundLink")],1),e._v(" to discuss if you think any of the packages below should be included into the repos.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Package")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("insights-client")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("kmod-redhat-*")]),e._v(" "),t("td",[e._v("RHEL specific modules from Driver Update Program")])]),e._v(" "),t("tr",[t("td",[e._v("kpatch*")]),e._v(" "),t("td",[e._v("RHEL specific live patches for kernel")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-backgrounds")]),e._v(" "),t("td",[e._v("RHEL specific background images")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-indexhtml")]),e._v(" "),t("td",[e._v("RHEL specific default browser page")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos")]),e._v(" "),t("td",[e._v("RHEL specific graphics for OS")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos-httpd")]),e._v(" "),t("td",[e._v("RHEL specific graphics for HTTPD server")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos-ipa")]),e._v(" "),t("td",[e._v("RHEL specific graphics for IPA server")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-release")]),e._v(" "),t("td",[e._v("RHEL specific release package and repos")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-release-eula")]),e._v(" "),t("td",[e._v("RHEL specific EULA")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-support-lib-python")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-support-tool")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhc")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhc-worker-playbook")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhsm-gtk")]),e._v(" "),t("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("rhsm-icons")]),e._v(" "),t("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("spice-client-win-x64")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-client-win-x86")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-qxl-wddm-dod")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-vdagent-win-x64")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-vdagent-win-x86")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-cockpit")]),e._v(" "),t("td",[e._v("RHEL specific Cockpit module for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-initial-setup-addon")]),e._v(" "),t("td",[e._v("RHEL specific initial setup addon for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-plugin-container")]),e._v(" "),t("td",[e._v("RHEL specific Subscription Manager plugin for upstream vendor containers")])]),e._v(" "),t("tr",[t("td",[e._v("virt-who")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("virtio-win")]),e._v(" "),t("td",[e._v("Contain binaries built by upstream vendor")])])])]),e._v(" "),t("p",[e._v("Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/115.b50aec7e.js b/assets/js/115.b50aec7e.js new file mode 100644 index 000000000..30dade83c --- /dev/null +++ b/assets/js/115.b50aec7e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[115],{396:function(e,t,a){"use strict";a.r(t);var r=a(14),s=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"almalinux-9-2-beta-release-notes"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-9-2-beta-release-notes"}},[e._v("#")]),e._v(" AlmaLinux 9.2 Beta Release Notes")]),e._v(" "),t("p",[e._v("These are the release notes for AlmaLinux OS 9.2 Beta for all supported architectures:")]),e._v(" "),t("ul",[t("li",[e._v("x86_64")]),e._v(" "),t("li",[e._v("aarch64")]),e._v(" "),t("li",[e._v("ppc64le")]),e._v(" "),t("li",[e._v("s390x")])]),e._v(" "),t("p",[e._v("Codename: Turquoise Kodkod.")]),e._v(" "),t("p",[e._v("Distributed kernel version: 5.14.0-283.el9")]),e._v(" "),t("h2",{attrs:{id:"beta-release"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#beta-release"}},[e._v("#")]),e._v(" Beta Release")]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("This is a "),t("strong",[e._v("BETA")]),e._v(" release and should not be used for production installations. The provided upgrade instructions should not be used on production machines, unless you don't mind if something breaks 😉")])]),e._v(" "),t("h2",{attrs:{id:"providing-feedback-and-getting-help"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#providing-feedback-and-getting-help"}},[e._v("#")]),e._v(" Providing Feedback and Getting Help")]),e._v(" "),t("p",[e._v("Please report any issues you may encounter during tests on the "),t("a",{attrs:{href:"https://bugs.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),t("OutboundLink")],1),e._v(". Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out "),t("a",{attrs:{href:"https://chat.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community Chat"),t("OutboundLink")],1),e._v(", "),t("a",{attrs:{href:"https://forums.almalinux.org/c/91-beta/5",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Forums"),t("OutboundLink")],1),e._v(" and "),t("a",{attrs:{href:"https://reddit.com/r/almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community on Reddit"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"changelog"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[e._v("#")]),e._v(" Changelog")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("Updated module streams:")]),e._v(" "),t("ul",[t("li",[e._v("Python 3.11")]),e._v(" "),t("li",[e._v("nginx 1.22")]),e._v(" "),t("li",[e._v("PostgreSQL 15")])])]),e._v(" "),t("li",[t("p",[e._v("Updated components:")]),e._v(" "),t("ul",[t("li",[e._v("Git to version 2.39.1")]),e._v(" "),t("li",[e._v("Git LFS to version 3.2.0")])])]),e._v(" "),t("li",[t("p",[e._v("Updated toolchain components:")]),e._v(" "),t("ul",[t("li",[e._v("GCC 11.3.1")]),e._v(" "),t("li",[e._v("glibc 2.34")]),e._v(" "),t("li",[e._v("binutils 2.35.2")])])]),e._v(" "),t("li",[t("p",[e._v("Performance tools and debuggers updates:")]),e._v(" "),t("ul",[t("li",[e._v("GDB 10.2")]),e._v(" "),t("li",[e._v("Valgrind 3.19")]),e._v(" "),t("li",[e._v("SystemTap 4.8")]),e._v(" "),t("li",[e._v("Dyninst 12.1.0")]),e._v(" "),t("li",[e._v("elfutils 0.188")])])]),e._v(" "),t("li",[t("p",[e._v("Updated performance monitoring tools:")]),e._v(" "),t("ul",[t("li",[e._v("PCP 6.0.1")]),e._v(" "),t("li",[e._v("Grafana 9.0.9")])])]),e._v(" "),t("li",[t("p",[e._v("Compiler updates:")]),e._v(" "),t("ul",[t("li",[e._v("GCC Toolset 12")]),e._v(" "),t("li",[e._v("LLVM Toolset 15.0.7")]),e._v(" "),t("li",[e._v("Rust Toolset 1.66")]),e._v(" "),t("li",[e._v("Go Toolset 1.19.4")])])]),e._v(" "),t("li",[t("p",[e._v("The OpenSSL secure communications library was updated to version 3.0.7.")])]),e._v(" "),t("li",[t("p",[e._v("SELinux user-space packages were updated to version 3.5.")])]),e._v(" "),t("li",[t("p",[e._v("OpenSCAP was rebased to version 1.3.7.")])]),e._v(" "),t("li",[t("p",[e._v("SCAP Security Guide was rebased to version 0.1.66.")])]),e._v(" "),t("li",[t("p",[e._v("A new rule for idle session termination was added to SCAP.")])]),e._v(" "),t("li",[t("p",[e._v("Clevis now accepts external tokens.")])]),e._v(" "),t("li",[t("p",[e._v("Rsyslog TLS-encrypted logging now supports multiple CA files.")])]),e._v(" "),t("li",[t("p",[e._v("Rsyslog privileges are limited to minimize security exposure.")])]),e._v(" "),t("li",[t("p",[e._v("System now uses updated AlmaLinux EV Code Sign Secure Boot certificate")])]),e._v(" "),t("li",[t("p",[e._v("Beta repositories are now located in the "),t("a",{attrs:{href:"https://repo.almalinux.org/vault/9.2-beta/",target:"_blank",rel:"noopener noreferrer"}},[e._v("vault"),t("OutboundLink")],1),e._v(" repository to reduce storage usage on mirrors.")])]),e._v(" "),t("li",[t("p",[e._v("Debuginfo repo ids renamed from "),t("code",[e._v("*-debug")]),e._v(" to"),t("code",[e._v("*-debuginfo")]),e._v(" to fix dnf debuginfo-install plugin")])])]),e._v(" "),t("h2",{attrs:{id:"installation-instructions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#installation-instructions"}},[e._v("#")]),e._v(" Installation instructions")]),e._v(" "),t("p",[e._v("There are three installation ISO images available:")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-9.2-beta-1-x86_64-boot.iso")]),e._v(" - a single network installation CD image that downloads packages over the Internet.")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-9.2-beta-1-x86_64-minimal.iso")]),e._v(" - a minimal self-containing DVD image that makes possible offline installation.")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-9.2-beta-1-x86_64-dvd.iso")]),e._v(" - a full installation DVD image that contains mostly all AlmaLinux packages.")]),e._v(" "),t("p",[e._v("You can select a mirror closest to your geographic area listed on the "),t("a",{attrs:{href:"https://mirrors.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("mirrors.almalinux.org"),t("OutboundLink")],1),e._v(" website. A local mirror will be a lot quicker than using "),t("code",[e._v("repo.almalinux.org")]),e._v(" directly. Then, download a suitable ISO image from the 9.2-beta/isos/$arch/ directory of your source, for example:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://mirror.interserver.net/almalinux/9.2-beta/isos/x86_64/AlmaLinux-9.2-beta-1-x86_64-boot.iso\n")])])]),t("p",[e._v("Download and import the AlmaLinux public key:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9\n$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" RPM-GPG-KEY-AlmaLinux\n")])])]),t("p",[e._v("Download and verify a checksums list:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/9.2-beta/isos/x86_64/CHECKSUM\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# we are looking for “Good signature”")]),e._v("\n$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--verify")]),e._v(" CHECKSUM\ngpg: Signature made Wed "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("26")]),e._v(" Apr "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("2023")]),e._v(" 03:50:07 PM EDT\ngpg: using RSA key BF18AC2876178908D6E71267D36CB86CB86B3716\ngpg: Good signature from "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux OS 9 "')]),e._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("unknown"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\ngpg: WARNING: This key is not certified with a trusted signature"),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("!")]),e._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: BF18 AC28 "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("7617")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("8908")]),e._v(" D6E7 "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("1267")]),e._v(" D36C B86C B86B "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("3716")]),e._v("\n")])])]),t("p",[e._v("Verify the downloaded ISO image checksum:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# calculate the downloaded ISO SHA256 checksum")]),e._v("\n$ sha256sum AlmaLinux-9.2-beta-1-x86_64-boot.iso\n9c222f1de0d38132ab923f690b419278ff08e9b1f6743d650ba81a9b50d22f84 AlmaLinux-9.2-beta-1-x86_64-boot.iso\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# compare it with expected checksum, it should be the same")]),e._v("\n$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" CHECKSUM "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-E")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v("'SHA256.*AlmaLinux-9.2-beta-1-x86_64-boot.iso'")]),e._v("\nSHA256 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("AlmaLinux-9.2-beta-1-x86_64-boot.iso"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" 9c222f1de0d38132ab923f690b419278ff08e9b1f6743d650ba81a9b50d22f84\n")])])]),t("p",[e._v("If you decide to use the "),t("code",[e._v("AlmaLinux-9.2-beta-1-x86_64-boot.iso")]),e._v(" image, you will need to provide the "),t("code",[e._v("https://repo.almalinux.org/vault/9.2-beta/BaseOS/x86_64/kickstart/")]),e._v(" URL repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.")]),e._v(" "),t("p",[e._v("There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.")]),e._v(" "),t("h2",{attrs:{id:"upgrade-instructions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-instructions"}},[e._v("#")]),e._v(" Upgrade Instructions")]),e._v(" "),t("p",[t("strong",[e._v("Please do not use these update instructions on production machines, unless you don't mind if something breaks")]),e._v(" 😉")]),e._v(" "),t("p",[e._v("Upgrade the almalinux-release packages to the 9.2-0.11.el9 version from the beta repositories:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ dnf "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("install")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v(" https://repo.almalinux.org/vault/almalinux-"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("release,repos,gpg-keys"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),e._v("-latest-9-beta.x86_64.rpm\n$ dnf clean all\n")])])]),t("p",[e._v("the new package contains updated repository URLs so that you can just run:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ dnf upgrade "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v("\n")])])]),t("p",[e._v("to update the rest of the packages.")]),e._v(" "),t("h2",{attrs:{id:"added-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#added-packages"}},[e._v("#")]),e._v(" Added packages")]),e._v(" "),t("p",[e._v("Here is a list of added packages in comparison with upstream distribution.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Package")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("almalinux-backgrounds")]),e._v(" "),t("td",[e._v("AlmaLinux background images."),t("br"),e._v("Replaces "),t("code",[e._v("redhat-backgrounds")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-indexhtml")]),e._v(" "),t("td",[e._v("AlmaLinux default browser page"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-indexhtml")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for OS"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos-httpd")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for HTTPD server"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos-httpd")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos-ipa")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for IPA server"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos-ipa")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-release")]),e._v(" "),t("td",[e._v("AlmaLinux release package, repos, and EULA"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-release")]),e._v(" and "),t("code",[e._v("redhat-release-eula")])])])])]),e._v(" "),t("h2",{attrs:{id:"removed-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#removed-packages"}},[e._v("#")]),e._v(" Removed packages")]),e._v(" "),t("p",[e._v("Here is a list of removed packages in comparison with the upstream distribution."),t("br"),e._v("\nAlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/engineeringpackaging",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat"),t("OutboundLink")],1),e._v(" as well as filing a bug report at "),t("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),t("OutboundLink")],1),e._v(" to discuss if you think any of the packages below should be included into the repos.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Package")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("insights-client")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("kmod-redhat-*")]),e._v(" "),t("td",[e._v("RHEL specific modules from Driver Update Program")])]),e._v(" "),t("tr",[t("td",[e._v("kpatch*")]),e._v(" "),t("td",[e._v("RHEL specific live patches for kernel")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-backgrounds")]),e._v(" "),t("td",[e._v("RHEL specific background images")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-indexhtml")]),e._v(" "),t("td",[e._v("RHEL specific default browser page")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos")]),e._v(" "),t("td",[e._v("RHEL specific graphics for OS")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos-httpd")]),e._v(" "),t("td",[e._v("RHEL specific graphics for HTTPD server")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos-ipa")]),e._v(" "),t("td",[e._v("RHEL specific graphics for IPA server")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-release")]),e._v(" "),t("td",[e._v("RHEL specific release package and repos")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-release-eula")]),e._v(" "),t("td",[e._v("RHEL specific EULA")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-support-lib-python")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-support-tool")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhc")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhc-worker-playbook")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhsm-gtk")]),e._v(" "),t("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("rhsm-icons")]),e._v(" "),t("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("spice-client-win-x64")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-client-win-x86")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-qxl-wddm-dod")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-vdagent-win-x64")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-vdagent-win-x86")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-cockpit")]),e._v(" "),t("td",[e._v("RHEL specific Cockpit module for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-initial-setup-addon")]),e._v(" "),t("td",[e._v("RHEL specific initial setup addon for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-plugin-container")]),e._v(" "),t("td",[e._v("RHEL specific Subscription Manager plugin for upstream vendor containers")])]),e._v(" "),t("tr",[t("td",[e._v("virt-who")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("virtio-win")]),e._v(" "),t("td",[e._v("Contain binaries built by upstream vendor")])])])]),e._v(" "),t("p",[e._v("Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/116.90c8e9cd.js b/assets/js/116.90c8e9cd.js new file mode 100644 index 000000000..1ca66c5e6 --- /dev/null +++ b/assets/js/116.90c8e9cd.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[116],{398:function(e,t,a){"use strict";a.r(t);var r=a(14),s=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"almalinux-9-2-release-notes"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-9-2-release-notes"}},[e._v("#")]),e._v(" AlmaLinux 9.2 Release Notes")]),e._v(" "),t("p",[e._v("These are the release notes for AlmaLinux OS 9.2 Stable for all supported architectures:")]),e._v(" "),t("ul",[t("li",[e._v("x86_64")]),e._v(" "),t("li",[e._v("aarch64")]),e._v(" "),t("li",[e._v("ppc64le")]),e._v(" "),t("li",[e._v("s390x")])]),e._v(" "),t("p",[e._v("Codename: Turquoise Kodkod.")]),e._v(" "),t("p",[e._v("Distributed kernel version: 5.14.0-284.11.1.el9_2.")]),e._v(" "),t("h2",{attrs:{id:"providing-feedback-and-getting-help"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#providing-feedback-and-getting-help"}},[e._v("#")]),e._v(" Providing Feedback and Getting Help")]),e._v(" "),t("p",[e._v("Please report any issues you may encounter during tests on the "),t("a",{attrs:{href:"https://bugs.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),t("OutboundLink")],1),e._v(". Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out "),t("a",{attrs:{href:"https://chat.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community Chat"),t("OutboundLink")],1),e._v(", "),t("a",{attrs:{href:"https://forums.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Forums"),t("OutboundLink")],1),e._v(" and "),t("a",{attrs:{href:"https://reddit.com/r/almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community on Reddit"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"changelog"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[e._v("#")]),e._v(" Changelog")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("Updated module streams:")]),e._v(" "),t("ul",[t("li",[e._v("Python 3.11")]),e._v(" "),t("li",[e._v("nginx 1.22")]),e._v(" "),t("li",[e._v("PostgreSQL 15")])])]),e._v(" "),t("li",[t("p",[e._v("Updated components:")]),e._v(" "),t("ul",[t("li",[e._v("Git to version 2.39.1")]),e._v(" "),t("li",[e._v("Git LFS to version 3.2.0")])])]),e._v(" "),t("li",[t("p",[e._v("Updated toolchain components:")]),e._v(" "),t("ul",[t("li",[e._v("GCC 11.3.1")]),e._v(" "),t("li",[e._v("glibc 2.34")]),e._v(" "),t("li",[e._v("binutils 2.35.2")])])]),e._v(" "),t("li",[t("p",[e._v("Performance tools and debuggers updates:")]),e._v(" "),t("ul",[t("li",[e._v("GDB 10.2")]),e._v(" "),t("li",[e._v("Valgrind 3.19")]),e._v(" "),t("li",[e._v("SystemTap 4.8")]),e._v(" "),t("li",[e._v("Dyninst 12.1.0")]),e._v(" "),t("li",[e._v("elfutils 0.188")])])]),e._v(" "),t("li",[t("p",[e._v("Updated performance monitoring tools:")]),e._v(" "),t("ul",[t("li",[e._v("PCP 6.0.1")]),e._v(" "),t("li",[e._v("Grafana 9.0.9")])])]),e._v(" "),t("li",[t("p",[e._v("Compiler updates:")]),e._v(" "),t("ul",[t("li",[e._v("GCC Toolset 12")]),e._v(" "),t("li",[e._v("LLVM Toolset 15.0.7")]),e._v(" "),t("li",[e._v("Rust Toolset 1.66")]),e._v(" "),t("li",[e._v("Go Toolset 1.19.6")])])]),e._v(" "),t("li",[t("p",[e._v("Security updates:")]),e._v(" "),t("ul",[t("li",[e._v("The OpenSSL secure communications library was updated to version 3.0.7.")]),e._v(" "),t("li",[e._v("SELinux user-space packages were updated to version 3.5.")]),e._v(" "),t("li",[e._v("Keylime was updated to version 6.5.2")]),e._v(" "),t("li",[e._v("OpenSCAP was rebased to version 1.3.7.")]),e._v(" "),t("li",[e._v("SCAP Security Guide was rebased to version 0.1.66.")]),e._v(" "),t("li",[e._v("A new rule for idle session termination was added to SCAP.")]),e._v(" "),t("li",[e._v("Clevis now accepts external tokens.")]),e._v(" "),t("li",[e._v("Rsyslog TLS-encrypted logging now supports multiple CA files.")]),e._v(" "),t("li",[e._v("Rsyslog privileges are limited to minimize security exposure.")]),e._v(" "),t("li",[e._v("The fapolicyd framework now provides filtering of the RPM database.")]),e._v(" "),t("li",[e._v("System now uses updated AlmaLinux EV Code Sign Secure Boot certificate.")])])]),e._v(" "),t("li",[t("p",[e._v("Debuginfo repo ids renamed from "),t("code",[e._v("*-debug")]),e._v(" to"),t("code",[e._v("*-debuginfo")]),e._v(" to fix dnf debuginfo-install plugin.")])])]),e._v(" "),t("p",[e._v("You can reference the upstream "),t("a",{attrs:{href:"https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/9.2_release_notes/index",target:"_blank",rel:"noopener noreferrer"}},[e._v("RHEL 9.2 release notes"),t("OutboundLink")],1),e._v(" for a full list of changes in this release.")]),e._v(" "),t("h2",{attrs:{id:"installation-instructions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#installation-instructions"}},[e._v("#")]),e._v(" Installation instructions")]),e._v(" "),t("p",[e._v("There are three installation ISO images available:")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-9.2-x86_64-boot.iso")]),e._v(" - a single network installation CD image that downloads packages over the Internet.")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-9.2-x86_64-minimal.iso")]),e._v(" - a minimal self-containing DVD image that makes possible offline installation.")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-9.2-x86_64-dvd.iso")]),e._v(" - a full installation DVD image that contains mostly all AlmaLinux packages.")]),e._v(" "),t("p",[e._v("You can select a mirror closest to your geographic area listed on the "),t("a",{attrs:{href:"https://mirrors.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("mirrors.almalinux.org"),t("OutboundLink")],1),e._v(" website. A local mirror will be a lot quicker than using "),t("code",[e._v("repo.almalinux.org")]),e._v(" directly. Then, download a suitable ISO image from the 9.2/isos/$arch/ directory of your source, for example:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://mirror.interserver.net/almalinux/9.2/isos/x86_64/AlmaLinux-9.2-x86_64-boot.iso\n")])])]),t("p",[e._v("Download and import the AlmaLinux public key:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9\n$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" RPM-GPG-KEY-AlmaLinux\n")])])]),t("p",[e._v("Download and verify a checksums list:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/9.2/isos/x86_64/CHECKSUM\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# we are looking for “Good signature”")]),e._v("\n$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--verify")]),e._v(" CHECKSUM\ngpg: Signature made Wed "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("10")]),e._v(" May "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("2023")]),e._v(" 01:44:28 PM EDT\ngpg: using RSA key BF18AC2876178908D6E71267D36CB86CB86B3716\ngpg: Good signature from "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux OS 9 "')]),e._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("unknown"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\ngpg: WARNING: This key is not certified with a trusted signature"),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("!")]),e._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: BF18 AC28 "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("7617")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("8908")]),e._v(" D6E7 "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("1267")]),e._v(" D36C B86C B86B "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("3716")]),e._v("\n")])])]),t("p",[e._v("Verify the downloaded ISO image checksum:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# calculate the downloaded ISO SHA256 checksum")]),e._v("\n$ sha256sum AlmaLinux-9.2-x86_64-boot.iso\nf501de55f92e59a3fcf4ad252fdfc4e02ee2ad013d2e1ec818bb38052bcb3c32 AlmaLinux-9.2-x86_64-boot.iso\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# compare it with expected checksum, it should be the same")]),e._v("\n$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" CHECKSUM "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-E")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v("'SHA256.*AlmaLinux-9.2-x86_64-boot.iso'")]),e._v("\nSHA256 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("AlmaLinux-9.2-x86_64-boot.iso"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" f501de55f92e59a3fcf4ad252fdfc4e02ee2ad013d2e1ec818bb38052bcb3c32\n")])])]),t("p",[e._v("If you decide to use the "),t("code",[e._v("AlmaLinux-9.2-x86_64-boot.iso")]),e._v(" image, you will need to provide the "),t("code",[e._v("9.2/BaseOS/x86_64/kickstart/")]),e._v(" URL repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.")]),e._v(" "),t("p",[e._v("There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.")]),e._v(" "),t("h2",{attrs:{id:"upgrade-instructions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-instructions"}},[e._v("#")]),e._v(" Upgrade Instructions")]),e._v(" "),t("p",[e._v("To update your AlmaLinux OS 9 to 9.2 run:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ dnf upgrade "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v("\n")])])]),t("h2",{attrs:{id:"added-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#added-packages"}},[e._v("#")]),e._v(" Added packages")]),e._v(" "),t("p",[e._v("Here is a list of added packages in comparison with upstream distribution.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Package")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("almalinux-backgrounds")]),e._v(" "),t("td",[e._v("AlmaLinux background images."),t("br"),e._v("Replaces "),t("code",[e._v("redhat-backgrounds")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-indexhtml")]),e._v(" "),t("td",[e._v("AlmaLinux default browser page"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-indexhtml")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for OS"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos-httpd")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for HTTPD server"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos-httpd")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos-ipa")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for IPA server"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos-ipa")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-release")]),e._v(" "),t("td",[e._v("AlmaLinux release package, repos, and EULA"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-release")]),e._v(" and "),t("code",[e._v("redhat-release-eula")])])])])]),e._v(" "),t("h2",{attrs:{id:"removed-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#removed-packages"}},[e._v("#")]),e._v(" Removed packages")]),e._v(" "),t("p",[e._v("Here is a list of removed packages in comparison with the upstream distribution."),t("br"),e._v("\nAlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/engineeringpackaging",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat"),t("OutboundLink")],1),e._v(" as well as filing a bug report at "),t("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),t("OutboundLink")],1),e._v(" to discuss if you think any of the packages below should be included into the repos.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Package")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("insights-client")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("kmod-redhat-*")]),e._v(" "),t("td",[e._v("RHEL specific modules from Driver Update Program")])]),e._v(" "),t("tr",[t("td",[e._v("kpatch*")]),e._v(" "),t("td",[e._v("RHEL specific live patches for kernel")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-backgrounds")]),e._v(" "),t("td",[e._v("RHEL specific background images")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-indexhtml")]),e._v(" "),t("td",[e._v("RHEL specific default browser page")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos")]),e._v(" "),t("td",[e._v("RHEL specific graphics for OS")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos-httpd")]),e._v(" "),t("td",[e._v("RHEL specific graphics for HTTPD server")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos-ipa")]),e._v(" "),t("td",[e._v("RHEL specific graphics for IPA server")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-release")]),e._v(" "),t("td",[e._v("RHEL specific release package and repos")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-release-eula")]),e._v(" "),t("td",[e._v("RHEL specific EULA")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-support-lib-python")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-support-tool")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhc")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhc-worker-playbook")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhsm-gtk")]),e._v(" "),t("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("rhsm-icons")]),e._v(" "),t("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("spice-client-win-x64")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-client-win-x86")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-qxl-wddm-dod")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-vdagent-win-x64")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-vdagent-win-x86")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-cockpit")]),e._v(" "),t("td",[e._v("RHEL specific Cockpit module for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-initial-setup-addon")]),e._v(" "),t("td",[e._v("RHEL specific initial setup addon for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-plugin-container")]),e._v(" "),t("td",[e._v("RHEL specific Subscription Manager plugin for upstream vendor containers")])]),e._v(" "),t("tr",[t("td",[e._v("virt-who")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("virtio-win")]),e._v(" "),t("td",[e._v("Contain binaries built by upstream vendor")])])])]),e._v(" "),t("p",[e._v("Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/117.63e76fd7.js b/assets/js/117.63e76fd7.js new file mode 100644 index 000000000..23298e604 --- /dev/null +++ b/assets/js/117.63e76fd7.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[117],{399:function(e,a,t){"use strict";t.r(a);var s=t(14),r=Object(s.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"almalinux-9-3-beta-release-notes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-9-3-beta-release-notes"}},[e._v("#")]),e._v(" AlmaLinux 9.3 Beta Release Notes")]),e._v(" "),a("p",[e._v("These are the release notes for AlmaLinux OS 9.3 Beta for all supported architectures:")]),e._v(" "),a("ul",[a("li",[e._v("x86_64")]),e._v(" "),a("li",[e._v("aarch64")]),e._v(" "),a("li",[e._v("ppc64le")]),e._v(" "),a("li",[e._v("s390x")])]),e._v(" "),a("p",[e._v("Codename: Shamrock Pampas Cat.")]),e._v(" "),a("p",[e._v("Distributed kernel version: 5.14.0-362.2.1.el9_3")]),e._v(" "),a("h2",{attrs:{id:"beta-release"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beta-release"}},[e._v("#")]),e._v(" Beta Release")]),e._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),a("p",[e._v("This is a "),a("strong",[e._v("BETA")]),e._v(" release and should not be used for production installations. The provided upgrade instructions should not be used on production machines unless you don't mind if something breaks 😉")])]),e._v(" "),a("h2",{attrs:{id:"providing-feedback-and-getting-help"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#providing-feedback-and-getting-help"}},[e._v("#")]),e._v(" Providing Feedback and Getting Help")]),e._v(" "),a("p",[e._v("Please report any issues you may encounter during tests on the "),a("a",{attrs:{href:"https://bugs.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),a("OutboundLink")],1),e._v(". Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out "),a("a",{attrs:{href:"https://chat.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community Chat"),a("OutboundLink")],1),e._v(", "),a("a",{attrs:{href:"https://forums.almalinux.org/c/93-beta/5",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Forums"),a("OutboundLink")],1),e._v(" and "),a("a",{attrs:{href:"https://reddit.com/r/almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community on Reddit"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"changelog"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[e._v("#")]),e._v(" Changelog")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("Updated toolchain components:")]),e._v(" "),a("ul",[a("li",[e._v("GCC 11.4.1")])])]),e._v(" "),a("li",[a("p",[e._v("Performance tools and debuggers updates:")]),e._v(" "),a("ul",[a("li",[e._v("Valgrind 3.21")]),e._v(" "),a("li",[e._v("SystemTap 4.9")]),e._v(" "),a("li",[e._v("elfutils 0.189")])])]),e._v(" "),a("li",[a("p",[e._v("Updated performance monitoring tools:")]),e._v(" "),a("ul",[a("li",[e._v("PCP 6.0.5")]),e._v(" "),a("li",[e._v("Grafana 9.2.10")])])]),e._v(" "),a("li",[a("p",[e._v("Compiler updates:")]),e._v(" "),a("ul",[a("li",[e._v("GCC Toolset 13")]),e._v(" "),a("li",[e._v("LLVM Toolset 16.0.6")]),e._v(" "),a("li",[e._v("Rust Toolset 1.71.1")]),e._v(" "),a("li",[e._v("Go Toolset 1.20.6")])])]),e._v(" "),a("li",[a("p",[e._v("Updated dynamic programming languages, web and database servers:")]),e._v(" "),a("ul",[a("li",[e._v("Redis 7")]),e._v(" "),a("li",[e._v("Node.js 20")]),e._v(" "),a("li",[e._v("Apache HTTP Server 2.4.57")])])]),e._v(" "),a("li",[a("p",[e._v("Security updates:")]),e._v(" "),a("ul",[a("li",[e._v("Keylime 7.3.0.")]),e._v(" "),a("li",[e._v("OpenSSH was further migrated from the less secure SHA-1 message digest.")]),e._v(" "),a("li",[e._v("The pcsc-lite-ccid USB Chip/Smart Card Interface Device(CCID) and Integrated Circuit Card Device (ICCD) driver was rebased to version 1.5.2.")]),e._v(" "),a("li",[e._v("AlmaLinux 9.3 introduces further improvements to support the Extended Master Secret (EMS) extension (RFC 7627) required by the FIPS-140-3 standard for all TLS 1.2 connections.")]),e._v(" "),a("li",[e._v("SEtools, the collection of graphical tools, command-line tools, and libraries for SELinux policy analysis, was rebased to version 4.4.2.")]),e._v(" "),a("li",[e._v("OpenSCAP was rebased to version 1.3.8.")]),e._v(" "),a("li",[e._v("SCAP Security Guide was rebased to version 0.1.69.")])])])]),e._v(" "),a("h2",{attrs:{id:"installation-instructions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#installation-instructions"}},[e._v("#")]),e._v(" Installation instructions")]),e._v(" "),a("p",[e._v("There are three installation ISO images available:")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-9.3-beta-1-x86_64-boot.iso")]),e._v(" - a single network installation CD image that downloads packages over the Internet.")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-9.3-beta-1-x86_64-minimal.iso")]),e._v(" - a minimal self-containing DVD image that makes possible offline installation.")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-9.3-beta-1-x86_64-dvd.iso")]),e._v(" - a full installation DVD image that contains mostly all AlmaLinux packages.")]),e._v(" "),a("p",[e._v("Download a suitable ISO image from the 9.3-beta/isos/$arch/ directory, for example:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/9.3-beta/isos/x86_64/AlmaLinux-9.3-beta-1-x86_64-boot.iso\n")])])]),a("p",[e._v("Download and import the AlmaLinux public key:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9\n$ gpg "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" RPM-GPG-KEY-AlmaLinux\n")])])]),a("p",[e._v("Download and verify a checksums list:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/9.3-beta/isos/x86_64/CHECKSUM\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# we are looking for “Good signature”")]),e._v("\n$ gpg "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--verify")]),e._v(" CHECKSUM\ngpg: Signature made Wed "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("25")]),e._v(" Oct "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("2023")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("12")]),e._v(":28:57 PM EDT\ngpg: using RSA key BF18AC2876178908D6E71267D36CB86CB86B3716\ngpg: Good signature from "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux OS 9 "')]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("unknown"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\ngpg: WARNING: This key is not certified with a trusted signature"),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("!")]),e._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: BF18 AC28 "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("7617")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("8908")]),e._v(" D6E7 "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("1267")]),e._v(" D36C B86C B86B "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("3716")]),e._v("\n")])])]),a("p",[e._v("Verify the downloaded ISO image checksum:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# calculate the downloaded ISO SHA256 checksum")]),e._v("\n$ sha256sum AlmaLinux-9.3-beta-1-x86_64-boot.iso\n7bca61c7b67e27db9194ddacec3ad3983f25a781721a69bbf5586903d9075465 AlmaLinux-9.3-beta-1-x86_64-boot.iso\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# compare it with expected checksum, it should be the same")]),e._v("\n$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" CHECKSUM "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-E")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'SHA256.*AlmaLinux-9.3-beta-1-x86_64-boot.iso'")]),e._v("\nSHA256 "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("AlmaLinux-9.3-beta-1-x86_64-boot.iso"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" 7bca61c7b67e27db9194ddacec3ad3983f25a781721a69bbf5586903d9075465\n")])])]),a("p",[e._v("If you decide to use the "),a("code",[e._v("AlmaLinux-9.3-beta-1-x86_64-boot.iso")]),e._v(" image, you may need to provide the "),a("code",[e._v("https://repo.almalinux.org/vault/9.3-beta/BaseOS/x86_64/kickstart/")]),e._v(" URL repository as the Installation Source in the event that the installer is not able to find it automatically for some reason.")]),e._v(" "),a("p",[e._v("There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.")]),e._v(" "),a("h2",{attrs:{id:"upgrade-instructions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-instructions"}},[e._v("#")]),e._v(" Upgrade Instructions")]),e._v(" "),a("p",[a("strong",[e._v("Please do not use these update instructions on production machines unless you don't mind if something breaks")]),e._v(" 😉")]),e._v(" "),a("p",[e._v("Upgrade the almalinux-release packages to the 9.3-0.4.el9 version from the beta repositories:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ dnf "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("install")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v(" https://repo.almalinux.org/vault/almalinux-"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("release,repos,gpg-keys"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),e._v("-latest-9-beta.x86_64.rpm\n$ dnf clean all\n")])])]),a("p",[e._v("the new package contains updated repository URLs so that you can just run:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ dnf upgrade "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v("\n")])])]),a("p",[e._v("to update the rest of the packages.")]),e._v(" "),a("h2",{attrs:{id:"known-issues"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#known-issues"}},[e._v("#")]),e._v(" Known issues")]),e._v(" "),a("ul",[a("li",[e._v("OpenJDK 21 is not included in AlmaLinux 9.3 Beta release and will be available in AlmaLinux 9.3")])]),e._v(" "),a("h2",{attrs:{id:"additional-packages"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#additional-packages"}},[e._v("#")]),e._v(" Additional packages")]),e._v(" "),a("p",[e._v("Here is a list of packages that are AlmaLinux-specific, and will not be found in compatible versions of RHEL.")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Package")]),e._v(" "),a("th",[e._v("Description")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("almalinux-backgrounds")]),e._v(" "),a("td",[e._v("AlmaLinux background images."),a("br"),e._v("Replaces "),a("code",[e._v("redhat-backgrounds")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-indexhtml")]),e._v(" "),a("td",[e._v("AlmaLinux default browser page"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-indexhtml")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-logos")]),e._v(" "),a("td",[e._v("AlmaLinux graphics for OS"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-logos")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-logos-httpd")]),e._v(" "),a("td",[e._v("AlmaLinux graphics for HTTPD server"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-logos-httpd")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-logos-ipa")]),e._v(" "),a("td",[e._v("AlmaLinux graphics for IPA server"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-logos-ipa")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-release")]),e._v(" "),a("td",[e._v("AlmaLinux release package, repos, and EULA"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-release")]),e._v(" and "),a("code",[e._v("redhat-release-eula")])])])])]),e._v(" "),a("h2",{attrs:{id:"removed-packages"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#removed-packages"}},[e._v("#")]),e._v(" Removed packages")]),e._v(" "),a("p",[e._v("Here is a list of packages you will not find in AlmaLinux when comparing with the compatible version of RHEL.")]),e._v(" "),a("p",[e._v("AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join "),a("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/engineeringpackaging",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat"),a("OutboundLink")],1),e._v(" as well as filing a bug report at "),a("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),a("OutboundLink")],1),e._v(" to discuss if you think any of the packages below should be included into the repos.")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Package")]),e._v(" "),a("th",[e._v("Description")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("insights-client")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("kmod-redhat-*")]),e._v(" "),a("td",[e._v("RHEL specific modules from Driver Update Program")])]),e._v(" "),a("tr",[a("td",[e._v("kpatch*")]),e._v(" "),a("td",[e._v("RHEL specific live patches for kernel")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-backgrounds")]),e._v(" "),a("td",[e._v("RHEL specific background images")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-indexhtml")]),e._v(" "),a("td",[e._v("RHEL specific default browser page")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-logos")]),e._v(" "),a("td",[e._v("RHEL specific graphics for OS")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-logos-httpd")]),e._v(" "),a("td",[e._v("RHEL specific graphics for HTTPD server")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-logos-ipa")]),e._v(" "),a("td",[e._v("RHEL specific graphics for IPA server")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-release")]),e._v(" "),a("td",[e._v("RHEL specific release package and repos")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-release-eula")]),e._v(" "),a("td",[e._v("RHEL specific EULA")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-support-lib-python")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-support-tool")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("rhc")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("rhc-worker-playbook")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("rhsm-gtk")]),e._v(" "),a("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("rhsm-icons")]),e._v(" "),a("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("spice-client-win-x64")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-client-win-x86")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-qxl-wddm-dod")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-vdagent-win-x64")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-vdagent-win-x86")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("subscription-manager-cockpit")]),e._v(" "),a("td",[e._v("RHEL specific Cockpit module for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("subscription-manager-initial-setup-addon")]),e._v(" "),a("td",[e._v("RHEL specific initial setup addon for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("subscription-manager-plugin-container")]),e._v(" "),a("td",[e._v("RHEL specific Subscription Manager plugin for upstream vendor containers")])]),e._v(" "),a("tr",[a("td",[e._v("virt-who")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("virtio-win")]),e._v(" "),a("td",[e._v("Contain binaries built by upstream vendor")])])])]),e._v(" "),a("p",[e._v("Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/118.e8533c0b.js b/assets/js/118.e8533c0b.js new file mode 100644 index 000000000..2f62b9f5e --- /dev/null +++ b/assets/js/118.e8533c0b.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[118],{397:function(e,a,t){"use strict";t.r(a);var r=t(14),s=Object(r.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"almalinux-9-3-release-notes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-9-3-release-notes"}},[e._v("#")]),e._v(" AlmaLinux 9.3 Release Notes")]),e._v(" "),a("p",[e._v("These are the release notes for AlmaLinux OS 9.3 Stable for all supported architectures:")]),e._v(" "),a("ul",[a("li",[e._v("x86_64")]),e._v(" "),a("li",[e._v("aarch64")]),e._v(" "),a("li",[e._v("ppc64le")]),e._v(" "),a("li",[e._v("s390x")])]),e._v(" "),a("p",[e._v("Codename: Shamrock Pampas Cat")]),e._v(" "),a("p",[e._v("Distributed kernel version: 5.14.0-362.8.1.el9_3")]),e._v(" "),a("h2",{attrs:{id:"providing-feedback-and-getting-help"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#providing-feedback-and-getting-help"}},[e._v("#")]),e._v(" Providing Feedback and Getting Help")]),e._v(" "),a("p",[e._v("Please report any issues you may encounter during tests on the "),a("a",{attrs:{href:"https://bugs.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),a("OutboundLink")],1),e._v(". Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out "),a("a",{attrs:{href:"https://chat.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community Chat"),a("OutboundLink")],1),e._v(", "),a("a",{attrs:{href:"https://forums.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Forums"),a("OutboundLink")],1),e._v(" and "),a("a",{attrs:{href:"https://reddit.com/r/almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community on Reddit"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"changelog"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[e._v("#")]),e._v(" Changelog")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("Updated toolchain components:")]),e._v(" "),a("ul",[a("li",[e._v("GCC 11.4.1")])])]),e._v(" "),a("li",[a("p",[e._v("Performance tools and debuggers updates:")]),e._v(" "),a("ul",[a("li",[e._v("Valgrind 3.21")]),e._v(" "),a("li",[e._v("SystemTap 4.9")]),e._v(" "),a("li",[e._v("elfutils 0.189")])])]),e._v(" "),a("li",[a("p",[e._v("Updated performance monitoring tools:")]),e._v(" "),a("ul",[a("li",[e._v("PCP 6.0.5")]),e._v(" "),a("li",[e._v("Grafana 9.2.10")])])]),e._v(" "),a("li",[a("p",[e._v("Compiler updates:")]),e._v(" "),a("ul",[a("li",[e._v("GCC Toolset 13")]),e._v(" "),a("li",[e._v("LLVM Toolset 16.0.6")]),e._v(" "),a("li",[e._v("Rust Toolset 1.71.1")]),e._v(" "),a("li",[e._v("Go Toolset 1.20.10")])])]),e._v(" "),a("li",[a("p",[e._v("Updated dynamic programming languages, web and database servers:")]),e._v(" "),a("ul",[a("li",[e._v("Redis 7")]),e._v(" "),a("li",[e._v("Node.js 20")]),e._v(" "),a("li",[e._v("Apache HTTP Server 2.4.57")])])]),e._v(" "),a("li",[a("p",[e._v("Security updates:")]),e._v(" "),a("ul",[a("li",[e._v("Keylime 7.3.0.")]),e._v(" "),a("li",[e._v("OpenSSH was further migrated from the less secure SHA-1 message digest.")]),e._v(" "),a("li",[e._v("The pcsc-lite-ccid USB Chip/Smart Card Interface Device(CCID) and Integrated Circuit Card Device (ICCD) driver was rebased to version 1.5.2.")]),e._v(" "),a("li",[e._v("AlmaLinux 9.3 introduces further improvements to support the Extended Master Secret (EMS) extension (RFC 7627) required by the FIPS-140-3 standard for all TLS 1.2 connections.")]),e._v(" "),a("li",[e._v("SEtools, the collection of graphical tools, command-line tools, and libraries for SELinux policy analysis, was rebased to version 4.4.3.")]),e._v(" "),a("li",[e._v("OpenSCAP was rebased to version 1.3.8.")]),e._v(" "),a("li",[e._v("SCAP Security Guide was rebased to version 0.1.69 including updates:\n"),a("ul",[a("li",[e._v("ANSSI profiles were updated to version 2.0.")]),e._v(" "),a("li",[e._v("Three new SCAP profiles were added for AlmaLinux 9 aligned with the CCN-STIC-610A22 Guide.")])])])])])]),e._v(" "),a("p",[e._v("You can reference the "),a("a",{attrs:{href:"https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/9.3_release_notes/overview",target:"_blank",rel:"noopener noreferrer"}},[e._v("RHEL 9.3 release notes"),a("OutboundLink")],1),e._v(" for a full list of changes in this release.")]),e._v(" "),a("h2",{attrs:{id:"installation-instructions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#installation-instructions"}},[e._v("#")]),e._v(" Installation instructions")]),e._v(" "),a("p",[e._v("There are three installation ISO images available:")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-9.3-x86_64-boot.iso")]),e._v(" - a single network installation CD image that downloads packages over the Internet.")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-9.3-x86_64-minimal.iso")]),e._v(" - a minimal self-containing DVD image that makes possible offline installation.")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-9.3-x86_64-dvd.iso")]),e._v(" - a full installation DVD image that contains mostly all AlmaLinux packages.")]),e._v(" "),a("p",[e._v("You can select a mirror closest to your geographic area listed on the "),a("a",{attrs:{href:"https://mirrors.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("mirrors.almalinux.org"),a("OutboundLink")],1),e._v(" website. A local mirror will be a lot quicker than using "),a("code",[e._v("repo.almalinux.org")]),e._v(" directly. Then, download a suitable ISO image from the 9.3/isos/$arch/ directory of your source, for example:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://atl.mirrors.knownhost.com/almalinux/9.3/isos/x86_64/AlmaLinux-9.3-x86_64-boot.iso\n")])])]),a("p",[e._v("Download and import the AlmaLinux public key:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9\n$ gpg "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" RPM-GPG-KEY-AlmaLinux-9\n")])])]),a("p",[e._v("Download and verify a checksums list:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/9.3/isos/x86_64/CHECKSUM\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# we are looking for “Good signature”")]),e._v("\n$ gpg "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--verify")]),e._v(" CHECKSUM\ngpg: Signature made Sun "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("12")]),e._v(" Nov "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("2023")]),e._v(" 06:08:57 PM EST\ngpg: using RSA key D36CB86CB86B3716\ngpg: Good signature from "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux OS 9 "')]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("unknown"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\ngpg: WARNING: This key is not certified with a trusted signature"),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("!")]),e._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: BF18 AC28 "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("7617")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("8908")]),e._v(" D6E7 "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("1267")]),e._v(" D36C B86C B86B "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("3716")]),e._v("\n")])])]),a("p",[e._v("Verify the downloaded ISO image checksum:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# calculate the downloaded ISO SHA256 checksum")]),e._v("\n$ sha256sum AlmaLinux-9.3-x86_64-boot.iso\naf5377a1d16bbe599ea91a8761ad645f2f54687075802bdc0c0703ee610182e9 AlmaLinux-9.3-x86_64-boot.iso\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# compare it with expected checksum, it should be the same")]),e._v("\n$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" CHECKSUM "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-E")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'SHA256.*AlmaLinux-9.3-x86_64-boot.iso'")]),e._v("\nSHA256 "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("AlmaLinux-9.3-x86_64-boot.iso"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" af5377a1d16bbe599ea91a8761ad645f2f54687075802bdc0c0703ee610182e9\n")])])]),a("p",[e._v("If you decide to use the "),a("code",[e._v("AlmaLinux-9.3-x86_64-boot.iso")]),e._v(" image, you may need to provide the "),a("code",[e._v("9.3/BaseOS/x86_64/kickstart/")]),e._v(" URL repository from the selected mirror as the Installation Source in the event that the installer is not able to find the closest mirror for some reason.")]),e._v(" "),a("p",[e._v("There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.")]),e._v(" "),a("h2",{attrs:{id:"upgrade-instructions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-instructions"}},[e._v("#")]),e._v(" Upgrade Instructions")]),e._v(" "),a("p",[e._v("To update your AlmaLinux OS 9 to 9.3 run:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ dnf upgrade "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v("\n")])])]),a("h2",{attrs:{id:"additional-packages"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#additional-packages"}},[e._v("#")]),e._v(" Additional packages")]),e._v(" "),a("p",[e._v("Here is a list of packages that are AlmaLinux-specific, and will not be found in compatible versions of RHEL.")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Package")]),e._v(" "),a("th",[e._v("Description")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("almalinux-backgrounds")]),e._v(" "),a("td",[e._v("AlmaLinux background images."),a("br"),e._v("Replaces "),a("code",[e._v("redhat-backgrounds")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-indexhtml")]),e._v(" "),a("td",[e._v("AlmaLinux default browser page"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-indexhtml")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-logos")]),e._v(" "),a("td",[e._v("AlmaLinux graphics for OS"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-logos")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-logos-httpd")]),e._v(" "),a("td",[e._v("AlmaLinux graphics for HTTPD server"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-logos-httpd")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-logos-ipa")]),e._v(" "),a("td",[e._v("AlmaLinux graphics for IPA server"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-logos-ipa")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-release")]),e._v(" "),a("td",[e._v("AlmaLinux release package, repos, and EULA"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-release")]),e._v(" and "),a("code",[e._v("redhat-release-eula")])])])])]),e._v(" "),a("h2",{attrs:{id:"removed-packages"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#removed-packages"}},[e._v("#")]),e._v(" Removed packages")]),e._v(" "),a("p",[e._v("Here is a list of packages you will not find in AlmaLinux when comparing with the compatible version of RHEL.")]),e._v(" "),a("p",[e._v("AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join "),a("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/engineeringpackaging",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat"),a("OutboundLink")],1),e._v(" as well as filing a bug report at "),a("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),a("OutboundLink")],1),e._v(" to discuss if you think any of the packages below should be included into the repos.")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Package")]),e._v(" "),a("th",[e._v("Description")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("insights-client")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("kmod-redhat-*")]),e._v(" "),a("td",[e._v("RHEL specific modules from Driver Update Program")])]),e._v(" "),a("tr",[a("td",[e._v("kpatch*")]),e._v(" "),a("td",[e._v("RHEL specific live patches for kernel")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-backgrounds")]),e._v(" "),a("td",[e._v("RHEL specific background images")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-indexhtml")]),e._v(" "),a("td",[e._v("RHEL specific default browser page")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-logos")]),e._v(" "),a("td",[e._v("RHEL specific graphics for OS")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-logos-httpd")]),e._v(" "),a("td",[e._v("RHEL specific graphics for HTTPD server")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-logos-ipa")]),e._v(" "),a("td",[e._v("RHEL specific graphics for IPA server")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-release")]),e._v(" "),a("td",[e._v("RHEL specific release package and repos")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-release-eula")]),e._v(" "),a("td",[e._v("RHEL specific EULA")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-support-lib-python")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-support-tool")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("rhc")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("rhc-worker-playbook")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("rhsm-gtk")]),e._v(" "),a("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("rhsm-icons")]),e._v(" "),a("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("spice-client-win-x64")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-client-win-x86")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-qxl-wddm-dod")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-vdagent-win-x64")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-vdagent-win-x86")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("subscription-manager-cockpit")]),e._v(" "),a("td",[e._v("RHEL specific Cockpit module for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("subscription-manager-initial-setup-addon")]),e._v(" "),a("td",[e._v("RHEL specific initial setup addon for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("subscription-manager-plugin-container")]),e._v(" "),a("td",[e._v("RHEL specific Subscription Manager plugin for upstream vendor containers")])]),e._v(" "),a("tr",[a("td",[e._v("virt-who")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("virtio-win")]),e._v(" "),a("td",[e._v("Contain binaries built by upstream vendor")])])])]),e._v(" "),a("p",[e._v("Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")])])}),[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/119.41d6841d.js b/assets/js/119.41d6841d.js new file mode 100644 index 000000000..cc87931a9 --- /dev/null +++ b/assets/js/119.41d6841d.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[119],{401:function(t,v,_){"use strict";_.r(v);var a=_(14),e=Object(a.a)({},(function(){var t=this,v=t._self._c;return v("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[v("h6",{attrs:{id:"last-updated-2024-04-15"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#last-updated-2024-04-15"}},[t._v("#")]),t._v(" last updated: 2024-04-15")]),t._v(" "),v("h1",{attrs:{id:"almalinux-9-4-beta-release-notes"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-9-4-beta-release-notes"}},[t._v("#")]),t._v(" AlmaLinux 9.4 Beta Release Notes")]),t._v(" "),v("p",[t._v("These are the release notes for AlmaLinux OS 9.4 Beta for all supported architectures:")]),t._v(" "),v("ul",[v("li",[t._v("x86_64")]),t._v(" "),v("li",[t._v("aarch64")]),t._v(" "),v("li",[t._v("ppc64le")]),t._v(" "),v("li",[t._v("s390x")])]),t._v(" "),v("p",[t._v("Codename: Seafoam Ocelot.")]),t._v(" "),v("p",[t._v("Distributed kernel version: 5.14.0-427.el9")]),t._v(" "),v("h2",{attrs:{id:"beta-release"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#beta-release"}},[t._v("#")]),t._v(" Beta Release")]),t._v(" "),v("div",{staticClass:"custom-block warning"},[v("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),v("p",[t._v("This is a "),v("strong",[t._v("BETA")]),t._v(" release and should not be used for production installations. The provided upgrade instructions should not be used on production machines unless you have backups and a recovery option. 😉")])]),t._v(" "),v("h2",{attrs:{id:"providing-feedback-and-getting-help"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#providing-feedback-and-getting-help"}},[t._v("#")]),t._v(" Providing Feedback and Getting Help")]),t._v(" "),v("p",[t._v("Please report any issues you may encounter during tests on the "),v("a",{attrs:{href:"https://bugs.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("AlmaLinux Bug Tracker"),v("OutboundLink")],1),t._v(". Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out "),v("a",{attrs:{href:"https://chat.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("The AlmaLinux Community Chat"),v("OutboundLink")],1),t._v(", "),v("a",{attrs:{href:"https://forums.almalinux.org/c/93-beta/5",target:"_blank",rel:"noopener noreferrer"}},[t._v("The AlmaLinux Forums"),v("OutboundLink")],1),t._v(" and "),v("a",{attrs:{href:"https://reddit.com/r/almalinux",target:"_blank",rel:"noopener noreferrer"}},[t._v("The AlmaLinux Community on Reddit"),v("OutboundLink")],1),t._v(".")]),t._v(" "),v("h2",{attrs:{id:"changelog"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[t._v("#")]),t._v(" Changelog")]),t._v(" "),v("ul",[v("li",[v("p",[t._v("Updated module streams:")]),t._v(" "),v("ul",[v("li",[t._v("Python 3.12")]),t._v(" "),v("li",[t._v("Ruby 3.3")]),t._v(" "),v("li",[t._v("PHP 8.2")]),t._v(" "),v("li",[t._v("nginx 1.24")]),t._v(" "),v("li",[t._v("MariaDB 10.11")]),t._v(" "),v("li",[t._v("PostgreSQL 16")])])]),t._v(" "),v("li",[v("p",[t._v("Updated components:")]),t._v(" "),v("ul",[v("li",[t._v("Git to version 2.43.0")]),t._v(" "),v("li",[t._v("Git LFS to version 3.4.1")])])]),t._v(" "),v("li",[v("p",[t._v("Security updates:")]),t._v(" "),v("ul",[v("li",[t._v("The SELinux userspace release 3.6 introduces deny rules for further customizing SELinux policies.")]),t._v(" "),v("li",[t._v("The Keylime server components, the verifier and registrar, are available as containers.")]),t._v(" "),v("li",[t._v("The Rsyslog log processing system introduces customizable TLS/SSL encryption settings and additional options that relate to capability dropping.")]),t._v(" "),v("li",[t._v("The OpenSSL TLS toolkit adds a drop-in directory for provider-specific configuration files.")]),t._v(" "),v("li",[t._v("The Linux kernel cryptographic API (libkcapi) 1.4.0 introduces new tools and options. Notably, with the new "),v("code",[t._v("-T")]),t._v(" option, you can specify target file names in hash-sum calculations.")]),t._v(" "),v("li",[t._v("The stunnel TLS/SSL tunneling service 5.71 changes the behavior of OpenSSL 1.1 and later versions in FIPS mode. Besides this change, version 5.71 provides many new features such as support for modern PostgreSQL clients.")])])]),t._v(" "),v("li",[v("p",[t._v("The following device drivers were modified to re-add PCI IDs for hardware that was previously disabled in our upstream:")]),t._v(" "),v("ul",[v("li",[v("strong",[t._v("aacraid")]),t._v(" - Dell PERC2, 2/Si, 3/Si, 3/Di, Adaptec Advanced Raid Products, HP NetRAID-4M, IBM ServeRAID & ICP SCSI")]),t._v(" "),v("li",[v("strong",[t._v("be2iscsi")]),t._v(" - Emulex OneConnectOpen-iSCSI for BladeEngine 2 and 3 adapters")]),t._v(" "),v("li",[v("strong",[t._v("hpsa")]),t._v(" - HP Smart Array Controller")]),t._v(" "),v("li",[v("strong",[t._v("lpfc")]),t._v(" - Emulex LightPulse Fibre Channel SCSI")]),t._v(" "),v("li",[v("strong",[t._v("megaraid_sas")]),t._v(" - Broadcom MegaRAID SAS")]),t._v(" "),v("li",[v("strong",[t._v("mpt3sas")]),t._v(" - LSI MPT Fusion SAS 3.0")]),t._v(" "),v("li",[v("strong",[t._v("mptsas")]),t._v(" - Fusion MPT SAS Host")]),t._v(" "),v("li",[v("strong",[t._v("qla2xxx")]),t._v(" - QLogic Fibre Channel HBA")]),t._v(" "),v("li",[v("strong",[t._v("qla4xxx")]),t._v(" - QLogic iSCSI HBA")])])])]),t._v(" "),v("p",[t._v("For a complete list of hardware support for which was added in this release, see the "),v("a",{attrs:{href:"#extended-hardware-support"}},[t._v("Extended hardware support")]),t._v(" section.")]),t._v(" "),v("h2",{attrs:{id:"upgrade-instructions"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-instructions"}},[t._v("#")]),t._v(" Upgrade Instructions")]),t._v(" "),v("p",[v("strong",[t._v("Please do not use these update instructions on production machines unless you don't mind if something breaks")]),t._v(" 😉")]),t._v(" "),v("p",[t._v("Upgrade the almalinux-release packages to the 9.4-0.2.el9 version from the beta repositories:")]),t._v(" "),v("div",{staticClass:"language-bash extra-class"},[v("pre",{pre:!0,attrs:{class:"language-bash"}},[v("code",[t._v("$ dnf "),v("span",{pre:!0,attrs:{class:"token function"}},[t._v("install")]),t._v(" "),v("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-y")]),t._v(" https://repo.almalinux.org/vault/almalinux-"),v("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("release,repos,gpg-keys"),v("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("-latest-9-beta.x86_64.rpm\n$ dnf clean all\n")])])]),v("p",[t._v("the new package contains updated repository URLs so that you can just run:")]),t._v(" "),v("div",{staticClass:"language-bash extra-class"},[v("pre",{pre:!0,attrs:{class:"language-bash"}},[v("code",[t._v("$ dnf upgrade "),v("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-y")]),t._v("\n")])])]),v("p",[t._v("to update the rest of the packages.")]),t._v(" "),v("h2",{attrs:{id:"installation-instructions"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#installation-instructions"}},[t._v("#")]),t._v(" Installation instructions")]),t._v(" "),v("p",[t._v("There are three installation ISO images available:")]),t._v(" "),v("p",[v("code",[t._v("AlmaLinux-9.4-beta-1-x86_64-boot.iso")]),t._v(" - a single network installation CD image that downloads packages over the Internet.")]),t._v(" "),v("p",[v("code",[t._v("AlmaLinux-9.4-beta-1-x86_64-minimal.iso")]),t._v(" - a minimal self-containing DVD image that makes possible offline installation.")]),t._v(" "),v("p",[v("code",[t._v("AlmaLinux-9.4-beta-1-x86_64-dvd.iso")]),t._v(" - a full installation DVD image that contains mostly all AlmaLinux packages.")]),t._v(" "),v("p",[t._v("Download a suitable ISO image from the 9.4-beta/isos/$arch/ directory, for example:")]),t._v(" "),v("div",{staticClass:"language-bash extra-class"},[v("pre",{pre:!0,attrs:{class:"language-bash"}},[v("code",[t._v("$ "),v("span",{pre:!0,attrs:{class:"token function"}},[t._v("wget")]),t._v(" https://repo.almalinux.org/almalinux/9.4-beta/isos/x86_64/AlmaLinux-9.4-beta-1-x86_64-boot.iso\n")])])]),v("p",[t._v("Download and import the AlmaLinux public key:")]),t._v(" "),v("div",{staticClass:"language-bash extra-class"},[v("pre",{pre:!0,attrs:{class:"language-bash"}},[v("code",[t._v("$ "),v("span",{pre:!0,attrs:{class:"token function"}},[t._v("wget")]),t._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9\n$ gpg "),v("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("--import")]),t._v(" RPM-GPG-KEY-AlmaLinux\n")])])]),v("p",[t._v("Download and verify a checksums list:")]),t._v(" "),v("div",{staticClass:"language-bash extra-class"},[v("pre",{pre:!0,attrs:{class:"language-bash"}},[v("code",[t._v("$ "),v("span",{pre:!0,attrs:{class:"token function"}},[t._v("wget")]),t._v(" https://repo.almalinux.org/almalinux/9.4-beta/isos/x86_64/CHECKSUM\n\n"),v("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# we are looking for “Good signature”")]),t._v("\n$ gpg "),v("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("--verify")]),t._v(" CHECKSUM\ngpg: Signature made Wed "),v("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),t._v(" Apr "),v("span",{pre:!0,attrs:{class:"token number"}},[t._v("2024")]),t._v(" 04:21:57 PM EDT\ngpg: using RSA key BF18AC2876178908D6E71267D36CB86CB86B3716\ngpg: Good signature from "),v("span",{pre:!0,attrs:{class:"token string"}},[t._v('"AlmaLinux OS 9 "')]),t._v(" "),v("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("unknown"),v("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\ngpg: WARNING: This key is not certified with a trusted signature"),v("span",{pre:!0,attrs:{class:"token operator"}},[t._v("!")]),t._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: BF18 AC28 "),v("span",{pre:!0,attrs:{class:"token number"}},[t._v("7617")]),t._v(" "),v("span",{pre:!0,attrs:{class:"token number"}},[t._v("8908")]),t._v(" D6E7 "),v("span",{pre:!0,attrs:{class:"token number"}},[t._v("1267")]),t._v(" D36C B86C B86B "),v("span",{pre:!0,attrs:{class:"token number"}},[t._v("3716")]),t._v("\n")])])]),v("p",[t._v("Verify the downloaded ISO image checksum:")]),t._v(" "),v("div",{staticClass:"language-bash extra-class"},[v("pre",{pre:!0,attrs:{class:"language-bash"}},[v("code",[v("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# calculate the downloaded ISO SHA256 checksum")]),t._v("\n$ sha256sum AlmaLinux-9.4-beta-1-x86_64-boot.iso\nd8ae806840a615d6cd02d9f2bb4b838bb01fc1e444e9d8e73512c8b0c4dcef0e AlmaLinux-9.4-beta-1-x86_64-boot.iso\n\n"),v("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# compare it with expected checksum, it should be the same")]),t._v("\n$ "),v("span",{pre:!0,attrs:{class:"token function"}},[t._v("cat")]),t._v(" CHECKSUM "),v("span",{pre:!0,attrs:{class:"token operator"}},[t._v("|")]),t._v(" "),v("span",{pre:!0,attrs:{class:"token function"}},[t._v("grep")]),t._v(" "),v("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-E")]),t._v(" "),v("span",{pre:!0,attrs:{class:"token string"}},[t._v("'SHA256.*AlmaLinux-9.4-beta-1-x86_64-boot.iso'")]),t._v("\nSHA256 "),v("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("AlmaLinux-9.4-beta-1-x86_64-boot.iso"),v("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),v("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" d8ae806840a615d6cd02d9f2bb4b838bb01fc1e444e9d8e73512c8b0c4dcef0e\n")])])]),v("p",[t._v("If you decide to use the "),v("code",[t._v("AlmaLinux-9.4-beta-1-x86_64-boot.iso")]),t._v(" image, you may need to provide the "),v("code",[t._v("https://repo.almalinux.org/vault/9.4-beta/BaseOS/x86_64/kickstart/")]),t._v(" URL repository from the selected mirror as the Installation Source in the event that the installer is not able to find the closest mirror for some reason.")]),t._v(" "),v("p",[t._v("There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.")]),t._v(" "),v("h2",{attrs:{id:"additional-packages"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#additional-packages"}},[t._v("#")]),t._v(" Additional packages")]),t._v(" "),v("p",[t._v("Here is a list of packages that are AlmaLinux-specific, and will not be found in compatible versions of RHEL.")]),t._v(" "),v("table",[v("thead",[v("tr",[v("th",[t._v("Package")]),t._v(" "),v("th",[t._v("Description")])])]),t._v(" "),v("tbody",[v("tr",[v("td",[t._v("almalinux-backgrounds")]),t._v(" "),v("td",[t._v("AlmaLinux background images."),v("br"),t._v("Replaces "),v("code",[t._v("redhat-backgrounds")])])]),t._v(" "),v("tr",[v("td",[t._v("almalinux-indexhtml")]),t._v(" "),v("td",[t._v("AlmaLinux default browser page"),v("br"),t._v("Replaces "),v("code",[t._v("redhat-indexhtml")])])]),t._v(" "),v("tr",[v("td",[t._v("almalinux-logos")]),t._v(" "),v("td",[t._v("AlmaLinux graphics for OS"),v("br"),t._v("Replaces "),v("code",[t._v("redhat-logos")])])]),t._v(" "),v("tr",[v("td",[t._v("almalinux-logos-httpd")]),t._v(" "),v("td",[t._v("AlmaLinux graphics for HTTPD server"),v("br"),t._v("Replaces "),v("code",[t._v("redhat-logos-httpd")])])]),t._v(" "),v("tr",[v("td",[t._v("almalinux-logos-ipa")]),t._v(" "),v("td",[t._v("AlmaLinux graphics for IPA server"),v("br"),t._v("Replaces "),v("code",[t._v("redhat-logos-ipa")])])]),t._v(" "),v("tr",[v("td",[t._v("almalinux-release")]),t._v(" "),v("td",[t._v("AlmaLinux release package, repos, and EULA"),v("br"),t._v("Replaces "),v("code",[t._v("redhat-release")]),t._v(" and "),v("code",[t._v("redhat-release-eula")])])])])]),t._v(" "),v("h2",{attrs:{id:"removed-packages"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#removed-packages"}},[t._v("#")]),t._v(" Removed packages")]),t._v(" "),v("p",[t._v("Here is a list of packages you will not find in AlmaLinux when comparing with the compatible version of RHEL.")]),t._v(" "),v("p",[t._v("AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join "),v("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/engineeringpackaging",target:"_blank",rel:"noopener noreferrer"}},[t._v("AlmaLinux Chat"),v("OutboundLink")],1),t._v(" as well as filing a bug report at "),v("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("AlmaLinux Bug Tracker"),v("OutboundLink")],1),t._v(" to discuss if you think any of the packages below should be included into the repos.")]),t._v(" "),v("table",[v("thead",[v("tr",[v("th",[t._v("Package")]),t._v(" "),v("th",[t._v("Description")])])]),t._v(" "),v("tbody",[v("tr",[v("td",[t._v("insights-client")]),t._v(" "),v("td",[t._v("RHEL specific package to connect to upstream vendor resources")])]),t._v(" "),v("tr",[v("td",[t._v("kmod-redhat-*")]),t._v(" "),v("td",[t._v("RHEL specific modules from Driver Update Program")])]),t._v(" "),v("tr",[v("td",[t._v("kpatch*")]),t._v(" "),v("td",[t._v("RHEL specific live patches for kernel")])]),t._v(" "),v("tr",[v("td",[t._v("openssl-fips-provider")]),t._v(" "),v("td",[t._v("RHEL specific package with FIPS certified openssl binaries")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-backgrounds")]),t._v(" "),v("td",[t._v("RHEL specific background images")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-indexhtml")]),t._v(" "),v("td",[t._v("RHEL specific default browser page")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-logos")]),t._v(" "),v("td",[t._v("RHEL specific graphics for OS")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-logos-httpd")]),t._v(" "),v("td",[t._v("RHEL specific graphics for HTTPD server")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-logos-ipa")]),t._v(" "),v("td",[t._v("RHEL specific graphics for IPA server")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-release")]),t._v(" "),v("td",[t._v("RHEL specific release package and repos")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-release-eula")]),t._v(" "),v("td",[t._v("RHEL specific EULA")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-support-lib-python")]),t._v(" "),v("td",[t._v("RHEL specific package to connect to upstream vendor resources")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-support-tool")]),t._v(" "),v("td",[t._v("RHEL specific package to connect to upstream vendor resources")])]),t._v(" "),v("tr",[v("td",[t._v("rhc")]),t._v(" "),v("td",[t._v("RHEL specific package to connect to upstream vendor resources")])]),t._v(" "),v("tr",[v("td",[t._v("rhc-worker-playbook")]),t._v(" "),v("td",[t._v("RHEL specific package to connect to upstream vendor resources")])]),t._v(" "),v("tr",[v("td",[t._v("rhsm-gtk")]),t._v(" "),v("td",[t._v("RHEL specific GUI for Subscription Manager")])]),t._v(" "),v("tr",[v("td",[t._v("rhsm-icons")]),t._v(" "),v("td",[t._v("RHEL specific GUI for Subscription Manager")])]),t._v(" "),v("tr",[v("td",[t._v("spice-client-win-x64")]),t._v(" "),v("td",[t._v("Contains binaries built by upstream vendor")])]),t._v(" "),v("tr",[v("td",[t._v("spice-client-win-x86")]),t._v(" "),v("td",[t._v("Contains binaries built by upstream vendor")])]),t._v(" "),v("tr",[v("td",[t._v("spice-qxl-wddm-dod")]),t._v(" "),v("td",[t._v("Contains binaries built by upstream vendor")])]),t._v(" "),v("tr",[v("td",[t._v("spice-vdagent-win-x64")]),t._v(" "),v("td",[t._v("Contains binaries built by upstream vendor")])]),t._v(" "),v("tr",[v("td",[t._v("spice-vdagent-win-x86")]),t._v(" "),v("td",[t._v("Contains binaries built by upstream vendor")])]),t._v(" "),v("tr",[v("td",[t._v("subscription-manager-cockpit")]),t._v(" "),v("td",[t._v("RHEL specific Cockpit module for Subscription Manager")])]),t._v(" "),v("tr",[v("td",[t._v("subscription-manager-initial-setup-addon")]),t._v(" "),v("td",[t._v("RHEL specific initial setup addon for Subscription Manager")])]),t._v(" "),v("tr",[v("td",[t._v("subscription-manager-plugin-container")]),t._v(" "),v("td",[t._v("RHEL specific Subscription Manager plugin for upstream vendor containers")])]),t._v(" "),v("tr",[v("td",[t._v("virt-who")]),t._v(" "),v("td",[t._v("RHEL specific package to connect to upstream vendor resources")])]),t._v(" "),v("tr",[v("td",[t._v("virtio-win")]),t._v(" "),v("td",[t._v("Contain binaries built by upstream vendor")])])])]),t._v(" "),v("h2",{attrs:{id:"extended-hardware-support"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#extended-hardware-support"}},[t._v("#")]),t._v(" Extended hardware support")]),t._v(" "),v("p",[t._v("The following devices support is added in this release, when compared with the RHEL 9.4 Beta:")]),t._v(" "),v("table",[v("thead",[v("tr",[v("th",[t._v("Device PCI ID")]),t._v(" "),v("th",[t._v("Device name")]),t._v(" "),v("th",[t._v("Driver name")])])]),t._v(" "),v("tbody",[v("tr",[v("td",[t._v("0x0E11:"),v("em",[t._v(":")]),t._v(": *:01:04")]),t._v(" "),v("td",[t._v("Compaq")]),t._v(" "),v("td",[t._v("hpsa")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0050")]),t._v(" "),v("td",[t._v("LSI SAS1064")]),t._v(" "),v("td",[t._v("mptsas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0054")]),t._v(" "),v("td",[t._v("LSI SAS1068")]),t._v(" "),v("td",[t._v("mptsas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0056")]),t._v(" "),v("td",[t._v("LSI SAS1064E")]),t._v(" "),v("td",[t._v("mptsas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0058")]),t._v(" "),v("td",[t._v("LSI SAS1068E")]),t._v(" "),v("td",[t._v("mptsas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0059")]),t._v(" "),v("td",[t._v("LSI SAS1068_820XELP")]),t._v(" "),v("td",[t._v("mptsas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0060")]),t._v(" "),v("td",[t._v("LSI MegaRAID SAS1078R")]),t._v(" "),v("td",[t._v("megaraid_sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0062")]),t._v(" "),v("td",[t._v("LSI SAS1078")]),t._v(" "),v("td",[t._v("mptsas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0064")]),t._v(" "),v("td",[t._v("LSI SAS2116_1")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0065")]),t._v(" "),v("td",[t._v("LSI SAS2116_2")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0070")]),t._v(" "),v("td",[t._v("LSI SAS2004")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0072")]),t._v(" "),v("td",[t._v("LSI SAS2008")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0074")]),t._v(" "),v("td",[t._v("LSI SAS2108_1")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0076")]),t._v(" "),v("td",[t._v("LSI SAS2108_2")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0077")]),t._v(" "),v("td",[t._v("LSI SAS2108_3")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0078")]),t._v(" "),v("td",[t._v("LSI MegaRAID SAS1078 Gen2")]),t._v(" "),v("td",[t._v("megaraid_sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x007C")]),t._v(" "),v("td",[t._v("LSI MegaRAID SAS1078DE")]),t._v(" "),v("td",[t._v("megaraid_sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x007E")]),t._v(" "),v("td",[t._v("LSI SSS6200")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0411")]),t._v(" "),v("td",[t._v("LSI MegaRAID SAS1064R")]),t._v(" "),v("td",[t._v("megaraid_sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0413")]),t._v(" "),v("td",[t._v("LSI MegaRAID SAS1068 Verde ZCR")]),t._v(" "),v("td",[t._v("megaraid_sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1011:0x0046:0x103C:0x10C2")]),t._v(" "),v("td",[t._v("HP NetRAID-4M")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1011:0x0046:0x9005:0x0364")]),t._v(" "),v("td",[t._v("Adaptec 5400S (Mustang)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1011:0x0046:0x9005:0x0365")]),t._v(" "),v("td",[t._v("Adaptec 5400S (Mustang)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1011:0x0046:0x9005:0x1364")]),t._v(" "),v("td",[t._v("Dell PERC 2/QC")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x0001:0x1028:0x0001")]),t._v(" "),v("td",[t._v("DELL PERC 2/Si (Iguana)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x0002:0x1028:0x0002")]),t._v(" "),v("td",[t._v("DELL PERC 3/Di (Opal)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x0002:0x1028:0x00D1")]),t._v(" "),v("td",[t._v("DELL PERC 3/Di (Viper)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x0002:0x1028:0x00D9")]),t._v(" "),v("td",[t._v("DELL PERC 3/Di (Lexus)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x0003:0x1028:0x0003")]),t._v(" "),v("td",[t._v("DELL PERC 3/Si (SlimFast)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x0004:0x1028:0x00D0")]),t._v(" "),v("td",[t._v("DELL PERC 3/Di (Iguana FlipChip)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x000A:0x1028:0x0106")]),t._v(" "),v("td",[t._v("DELL PERC 3/Di (Jaguar)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x000A:0x1028:0x011B")]),t._v(" "),v("td",[t._v("DELL PERC 3/Di (Dagger)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x000A:0x1028:0x0121")]),t._v(" "),v("td",[t._v("DELL PERC 3/Di (Boxster)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x0015")]),t._v(" "),v("td",[t._v("Dell PERC5")]),t._v(" "),v("td",[t._v("megaraid_sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x103C::: *:01:04")]),t._v(" "),v("td",[t._v("HP")]),t._v(" "),v("td",[t._v("hpsa")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x2100")]),t._v(" "),v("td",[t._v("QLogic ISP2100")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x2200")]),t._v(" "),v("td",[t._v("QLogic ISP2200")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x2300")]),t._v(" "),v("td",[t._v("QLogic ISP2300")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x2312")]),t._v(" "),v("td",[t._v("QLogic ISP2312")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x2322")]),t._v(" "),v("td",[t._v("QLogic ISP2322")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x2422")]),t._v(" "),v("td",[t._v("QLogic ISP2422")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x2432")]),t._v(" "),v("td",[t._v("QLogic ISP2432")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x5422")]),t._v(" "),v("td",[t._v("QLogic ISP5422")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x5432")]),t._v(" "),v("td",[t._v("QLogic ISP5432 / QLE220")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x6312")]),t._v(" "),v("td",[t._v("QLogic ISP6312")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x6322")]),t._v(" "),v("td",[t._v("QLogic ISP6322")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x8001")]),t._v(" "),v("td",[t._v("QLogic ISP8001 / QLE81xx")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x8021")]),t._v(" "),v("td",[t._v("QLogic ISP8021 / QLE82xx")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x8022")]),t._v(" "),v("td",[t._v("QLogic ISP8022")]),t._v(" "),v("td",[t._v("qla4xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x8032")]),t._v(" "),v("td",[t._v("QLogic ISP8324")]),t._v(" "),v("td",[t._v("qla4xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x8042")]),t._v(" "),v("td",[t._v("QLogic ISP8042")]),t._v(" "),v("td",[t._v("qla4xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x8044")]),t._v(" "),v("td",[t._v("QLogic ISP8044 / QLE84xx")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x8432")]),t._v(" "),v("td",[t._v("QLogic ISP8432 / QLE8000")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0xF001")]),t._v(" "),v("td",[t._v("QLogic ISPF001 / QLE10000")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0x1AE5")]),t._v(" "),v("td",[t._v("FIREFLY")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xE100")]),t._v(" "),v("td",[t._v("PROTEUS VF")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xE131")]),t._v(" "),v("td",[t._v("BALIUS")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xE180")]),t._v(" "),v("td",[t._v("PROTEUS PF")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xE208")]),t._v(" "),v("td",[t._v("LANCER_FC_VF")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xE260")]),t._v(" "),v("td",[t._v("Emulex OneConnect OCe15102-FM/OCe15104-FM/OCm15108-F-P")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xE268")]),t._v(" "),v("td",[t._v("LANCER_FCOE_VF")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF095")]),t._v(" "),v("td",[t._v("RFLY")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF098")]),t._v(" "),v("td",[t._v("PFLY")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF0A1")]),t._v(" "),v("td",[t._v("LP101")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF0A5")]),t._v(" "),v("td",[t._v("TFLY")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF0D1")]),t._v(" "),v("td",[t._v("BSMB")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF0F5")]),t._v(" "),v("td",[t._v("NEPTUNE")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF0F6")]),t._v(" "),v("td",[t._v("NEPTUNE SCSP")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF0F7")]),t._v(" "),v("td",[t._v("NEPTUNE DCSP")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF700")]),t._v(" "),v("td",[t._v("SUPERFLY")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF800")]),t._v(" "),v("td",[t._v("DRAGONFLY")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF900")]),t._v(" "),v("td",[t._v("CENTAUR")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF980")]),t._v(" "),v("td",[t._v("PEGASUS")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFA00")]),t._v(" "),v("td",[t._v("THOR")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFB00")]),t._v(" "),v("td",[t._v("VIPER")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFC00")]),t._v(" "),v("td",[t._v("LP10000S")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFC10")]),t._v(" "),v("td",[t._v("LP11000S")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFC20")]),t._v(" "),v("td",[t._v("LPE11000S")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFC50")]),t._v(" "),v("td",[t._v("PROTEUS S")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFD00")]),t._v(" "),v("td",[t._v("HELIOS")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFD11")]),t._v(" "),v("td",[t._v("HELIOS SCSP")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFD12")]),t._v(" "),v("td",[t._v("HELIOS DCSP")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0212")]),t._v(" "),v("td",[t._v("Emulex BladeEngine 2 10Gb iSCSI Initiator")]),t._v(" "),v("td",[t._v("be2iscsi")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0222")]),t._v(" "),v("td",[t._v("Emulex BladeEngine 3 iSCSI")]),t._v(" "),v("td",[t._v("be2iscsi")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0702")]),t._v(" "),v("td",[t._v("Emulex OneConnect OCe10101/OCm10101/OCe10102/OCm10102")]),t._v(" "),v("td",[t._v("be2iscsi")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0703")]),t._v(" "),v("td",[t._v("Emulex OneConnect OCe10100")]),t._v(" "),v("td",[t._v("be2iscsi")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0704")]),t._v(" "),v("td",[t._v("Emulex OneConnect Tigershark FCoE")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0712")]),t._v(" "),v("td",[t._v("Emulex OneConnect Tomcat iSCSI")]),t._v(" "),v("td",[t._v("be2iscsi")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0714")]),t._v(" "),v("td",[t._v("Emulex OneConnect Tomcat FCoE")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0200:0x9005:0x0200")]),t._v(" "),v("td",[t._v("Themisto Jupiter Platform")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0283:0x9005:0x0283")]),t._v(" "),v("td",[t._v("Catapult")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0284:0x9005:0x0284")]),t._v(" "),v("td",[t._v("Tomcat")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285")]),t._v(" "),v("td",[t._v("Adaptec Catch All")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x1014:0x02F2")]),t._v(" "),v("td",[t._v("IBM 8i (AvonPark)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x1014:0x0312")]),t._v(" "),v("td",[t._v("IBM 8i (AvonPark Lite)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x1028")]),t._v(" "),v("td",[t._v("Dell Catchall")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x1028:0x0287")]),t._v(" "),v("td",[t._v("Perc 320/DC")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x1028:0x0291")]),t._v(" "),v("td",[t._v("CERC SATA RAID 2 PCI SATA 6ch (DellCorsair)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x103C:0x3227")]),t._v(" "),v("td",[t._v("AAR-2610SA PCI SATA 6ch")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x17AA")]),t._v(" "),v("td",[t._v("Legend Catchall")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x17AA:0x0286")]),t._v(" "),v("td",[t._v("Legend S220 (Legend Crusader)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x17AA:0x0287")]),t._v(" "),v("td",[t._v("Legend S230 (Legend Vulcan)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0285")]),t._v(" "),v("td",[t._v("Adaptec 2200S (Vulcan)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0286")]),t._v(" "),v("td",[t._v("Adaptec 2120S (Crusader)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0287")]),t._v(" "),v("td",[t._v("Adaptec 2200S (Vulcan-2m)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0288")]),t._v(" "),v("td",[t._v("Adaptec 3230S (Harrier)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0289")]),t._v(" "),v("td",[t._v("Adaptec 3240S (Tornado)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x028A")]),t._v(" "),v("td",[t._v("ASR-2020ZCR SCSI PCI-X ZCR (Skyhawk)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x028B")]),t._v(" "),v("td",[t._v("ASR-2025ZCR SCSI SO-DIMM PCI-X ZCR (Terminator)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x028E")]),t._v(" "),v("td",[t._v("ASR-2020SA SATA PCI-X ZCR (Skyhawk)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x028F")]),t._v(" "),v("td",[t._v("ASR-2025SA SATA SO-DIMM PCI-X ZCR (Terminator)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0290")]),t._v(" "),v("td",[t._v("AAR-2410SA PCI SATA 4ch (Jaguar II)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0292")]),t._v(" "),v("td",[t._v("AAR-2810SA PCI SATA 8ch (Corsair-8)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0293")]),t._v(" "),v("td",[t._v("AAR-21610SA PCI SATA 16ch (Corsair-16)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0294")]),t._v(" "),v("td",[t._v("ESD SO-DIMM PCI-X SATA ZCR (Prowler)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0296")]),t._v(" "),v("td",[t._v("ASR-2240S (SabreExpress)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0297")]),t._v(" "),v("td",[t._v("ASR-4005")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0298")]),t._v(" "),v("td",[t._v("ASR-4000 (BlackBird)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0299")]),t._v(" "),v("td",[t._v("ASR-4800SAS (Marauder-X)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x029A")]),t._v(" "),v("td",[t._v("ASR-4805SAS (Marauder-E)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x02A4")]),t._v(" "),v("td",[t._v("ICP9085LI (Marauder-X)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x02A5")]),t._v(" "),v("td",[t._v("ICP5085BR (Marauder-E)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286")]),t._v(" "),v("td",[t._v("Adaptec Rocket Catch All")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x1014:0x9540")]),t._v(" "),v("td",[t._v("IBM 8k/8k-l4 (Aurora Lite)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x1014:0x9580")]),t._v(" "),v("td",[t._v("IBM 8k/8k-l8 (Aurora)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x028C")]),t._v(" "),v("td",[t._v("ASR-2230S/ASR-2230SLP PCI-X (Lancer)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x028D")]),t._v(" "),v("td",[t._v("ASR-2130S (Lancer)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x029B")]),t._v(" "),v("td",[t._v("AAR-2820SA (Intruder)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x029C")]),t._v(" "),v("td",[t._v("AAR-2620SA (Intruder)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x029D")]),t._v(" "),v("td",[t._v("AAR-2420SA (Intruder)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x029E")]),t._v(" "),v("td",[t._v("ICP9024RO (Lancer)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x029F")]),t._v(" "),v("td",[t._v("ICP9014RO (Lancer)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x02A0")]),t._v(" "),v("td",[t._v("ICP9047MA (Lancer)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x02A1")]),t._v(" "),v("td",[t._v("ICP9087MA (Lancer)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x02A2")]),t._v(" "),v("td",[t._v("ASR-3800 (Hurricane44)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x02A3")]),t._v(" "),v("td",[t._v("ICP5445AU (Hurricane44)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x02A6")]),t._v(" "),v("td",[t._v("ICP9067MA (Intruder-6)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x0800")]),t._v(" "),v("td",[t._v("Callisto Jupiter Platform")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0287:0x9005:0x0800")]),t._v(" "),v("td",[t._v("Themisto Jupiter Platform")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0288")]),t._v(" "),v("td",[t._v("Adaptec NEMER/ARK Catch All")]),t._v(" "),v("td",[t._v("aacraid")])])])]),t._v(" "),v("h5",{attrs:{id:"trademarks"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#trademarks"}},[t._v("#")]),t._v(" Trademarks")]),t._v(" "),v("p",[t._v("Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")])])}),[],!1,null,null,null);v.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/12.8e1c1f75.js b/assets/js/12.8e1c1f75.js new file mode 100644 index 000000000..49f49bbf6 --- /dev/null +++ b/assets/js/12.8e1c1f75.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[12,14,19,21],{240:function(t,e,n){"use strict";n.d(e,"d",(function(){return i})),n.d(e,"a",(function(){return s})),n.d(e,"i",(function(){return a})),n.d(e,"f",(function(){return l})),n.d(e,"g",(function(){return u})),n.d(e,"h",(function(){return c})),n.d(e,"b",(function(){return p})),n.d(e,"e",(function(){return h})),n.d(e,"k",(function(){return f})),n.d(e,"l",(function(){return d})),n.d(e,"c",(function(){return b})),n.d(e,"j",(function(){return g}));n(90);const i=/#.*$/,r=/\.(md|html)$/,s=/\/$/,a=/^[a-z]+:/i;function o(t){return decodeURI(t).replace(i,"").replace(r,"")}function l(t){return a.test(t)}function u(t){return/^mailto:/.test(t)}function c(t){return/^tel:/.test(t)}function p(t){if(l(t))return t;const e=t.match(i),n=e?e[0]:"",r=o(t);return s.test(r)?t:r+".html"+n}function h(t,e){const n=decodeURIComponent(t.hash),r=function(t){const e=t.match(i);if(e)return e[0]}(e);if(r&&n!==r)return!1;return o(t.path)===o(e)}function f(t,e,n){if(l(e))return{type:"external",path:e};n&&(e=function(t,e,n){const i=t.charAt(0);if("/"===i)return t;if("?"===i||"#"===i)return e+t;const r=e.split("/");n&&r[r.length-1]||r.pop();const s=t.replace(/^\//,"").split("/");for(let t=0;tfunction t(e,n,i,r=1){if("string"==typeof e)return f(n,e,i);if(Array.isArray(e))return Object.assign(f(n,e[0],i),{title:e[1]});{const s=e.children||[];return 0===s.length&&e.path?Object.assign(f(n,e.path,i),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:s.map(e=>t(e,n,i,r+1)),collapsable:!1!==e.collapsable}}}(t,r,n)):[]}return[]}function m(t){const e=b(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}))}]}function b(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(t=>2===t.level)}function g(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},241:function(t,e,n){},242:function(t,e,n){"use strict";n.r(e);var i=n(240),r={name:"NavLink",props:{item:{required:!0}},computed:{link(){return Object(i.b)(this.item.link)},exact(){return this.$site.locales?Object.keys(this.$site.locales).some(t=>t===this.link):"/"===this.link},isNonHttpURI(){return Object(i.g)(this.link)||Object(i.h)(this.link)},isBlankTarget(){return"_blank"===this.target},isInternal(){return!Object(i.f)(this.link)&&!this.isBlankTarget},target(){return this.isNonHttpURI?null:this.item.target?this.item.target:Object(i.f)(this.link)?"_blank":""},rel(){return this.isNonHttpURI||!1===this.item.rel?null:this.item.rel?this.item.rel:this.isBlankTarget?"noopener noreferrer":null}},methods:{focusoutAction(){this.$emit("focusout")}}},s=n(14),a=Object(s.a)(r,(function(){var t=this,e=t._self._c;return t.isInternal?e("RouterLink",{staticClass:"nav-link",attrs:{to:t.link,exact:t.exact},nativeOn:{focusout:function(e){return t.focusoutAction.apply(null,arguments)}}},[t._v("\n "+t._s(t.item.text)+"\n")]):e("a",{staticClass:"nav-link external",attrs:{href:t.link,target:t.target,rel:t.rel},on:{focusout:t.focusoutAction}},[t._v("\n "+t._s(t.item.text)+"\n "),t.isBlankTarget?e("OutboundLink"):t._e()],1)}),[],!1,null,null,null);e.default=a.exports},243:function(t,e,n){"use strict";n.r(e);var i={name:"DropdownTransition",methods:{setHeight(t){t.style.height=t.scrollHeight+"px"},unsetHeight(t){t.style.height=""}}},r=(n(244),n(14)),s=Object(r.a)(i,(function(){return(0,this._self._c)("transition",{attrs:{name:"dropdown"},on:{enter:this.setHeight,"after-enter":this.unsetHeight,"before-leave":this.setHeight}},[this._t("default")],2)}),[],!1,null,null,null);e.default=s.exports},244:function(t,e,n){"use strict";n(241)},245:function(t,e,n){},248:function(t,e,n){},252:function(t,e,n){"use strict";n(245)},255:function(t,e,n){"use strict";n.r(e);var i=n(242),r=n(243),s=n(91),a=n.n(s),o={name:"DropdownLink",components:{NavLink:i.default,DropdownTransition:r.default},props:{item:{required:!0}},data:()=>({open:!1}),computed:{dropdownAriaLabel(){return this.item.ariaLabel||this.item.text}},watch:{$route(){this.open=!1}},methods:{setOpen(t){this.open=t},isLastItemOfArray:(t,e)=>a()(e)===t,handleDropdown(){0===event.detail&&this.setOpen(!this.open)}}},l=(n(252),n(14)),u=Object(l.a)(o,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"dropdown-wrapper",class:{open:t.open}},[e("button",{staticClass:"dropdown-title",attrs:{type:"button","aria-label":t.dropdownAriaLabel},on:{click:t.handleDropdown}},[e("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),e("span",{staticClass:"arrow down"})]),t._v(" "),e("button",{staticClass:"mobile-dropdown-title",attrs:{type:"button","aria-label":t.dropdownAriaLabel},on:{click:function(e){return t.setOpen(!t.open)}}},[e("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),e("span",{staticClass:"arrow",class:t.open?"down":"right"})]),t._v(" "),e("DropdownTransition",[e("ul",{directives:[{name:"show",rawName:"v-show",value:t.open,expression:"open"}],staticClass:"nav-dropdown"},t._l(t.item.items,(function(n,i){return e("li",{key:n.link||i,staticClass:"dropdown-item"},["links"===n.type?e("h4",[t._v("\n "+t._s(n.text)+"\n ")]):t._e(),t._v(" "),"links"===n.type?e("ul",{staticClass:"dropdown-subitem-wrapper"},t._l(n.items,(function(i){return e("li",{key:i.link,staticClass:"dropdown-subitem"},[e("NavLink",{attrs:{item:i},on:{focusout:function(e){t.isLastItemOfArray(i,n.items)&&t.isLastItemOfArray(n,t.item.items)&&t.setOpen(!1)}}})],1)})),0):e("NavLink",{attrs:{item:n},on:{focusout:function(e){t.isLastItemOfArray(n,t.item.items)&&t.setOpen(!1)}}})],1)})),0)])],1)}),[],!1,null,null,null);e.default=u.exports},258:function(t,e,n){"use strict";n(248)},266:function(t,e,n){"use strict";n.r(e);var i=n(255),r=n(240),s={name:"NavLinks",components:{NavLink:n(242).default,DropdownLink:i.default},computed:{userNav(){return this.$themeLocaleConfig.nav||this.$site.themeConfig.nav||[]},nav(){const{locales:t}=this.$site;if(t&&Object.keys(t).length>1){const e=this.$page.path,n=this.$router.options.routes,i=this.$site.themeConfig.locales||{},r={text:this.$themeLocaleConfig.selectText||"Languages",ariaLabel:this.$themeLocaleConfig.ariaLabel||"Select language",items:Object.keys(t).map(r=>{const s=t[r],a=i[r]&&i[r].label||s.lang;let o;return s.lang===this.$lang?o=e:(o=e.replace(this.$localeConfig.path,r),n.some(t=>t.path===o)||(o=r)),{text:a,link:o}})};return[...this.userNav,r]}return this.userNav},userLinks(){return(this.nav||[]).map(t=>Object.assign(Object(r.j)(t),{items:(t.items||[]).map(r.j)}))},repoLink(){const{repo:t}=this.$site.themeConfig;return t?/^https?:/.test(t)?t:"https://github.com/"+t:null},repoLabel(){if(!this.repoLink)return;if(this.$site.themeConfig.repoLabel)return this.$site.themeConfig.repoLabel;const t=this.repoLink.match(/^https?:\/\/[^/]+/)[0],e=["GitHub","GitLab","Bitbucket"];for(let n=0;n"')]),t._v(" "),v("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("unknown"),v("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\ngpg: WARNING: This key is not certified with a trusted signature"),v("span",{pre:!0,attrs:{class:"token operator"}},[t._v("!")]),t._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: BF18 AC28 "),v("span",{pre:!0,attrs:{class:"token number"}},[t._v("7617")]),t._v(" "),v("span",{pre:!0,attrs:{class:"token number"}},[t._v("8908")]),t._v(" D6E7 "),v("span",{pre:!0,attrs:{class:"token number"}},[t._v("1267")]),t._v(" D36C B86C B86B "),v("span",{pre:!0,attrs:{class:"token number"}},[t._v("3716")]),t._v("\n")])])]),v("p",[t._v("Verify the downloaded ISO image checksum:")]),t._v(" "),v("div",{staticClass:"language-bash extra-class"},[v("pre",{pre:!0,attrs:{class:"language-bash"}},[v("code",[v("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# calculate the downloaded ISO SHA256 checksum")]),t._v("\n$ sha256sum AlmaLinux-9.4-x86_64-boot.iso\n1e5d7da3d84d5d9a5a1177858a5df21b868390bfccf7f0f419b1e59acc293160 AlmaLinux-9.4-x86_64-boot.iso\n\n"),v("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# compare it with expected checksum, it should be the same")]),t._v("\n$ "),v("span",{pre:!0,attrs:{class:"token function"}},[t._v("cat")]),t._v(" CHECKSUM "),v("span",{pre:!0,attrs:{class:"token operator"}},[t._v("|")]),t._v(" "),v("span",{pre:!0,attrs:{class:"token function"}},[t._v("grep")]),t._v(" "),v("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-E")]),t._v(" "),v("span",{pre:!0,attrs:{class:"token string"}},[t._v("'SHA256.*AlmaLinux-9.4-x86_64-boot.iso'")]),t._v("\nSHA256 "),v("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("AlmaLinux-9.4-x86_64-boot.iso"),v("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),v("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" 1e5d7da3d84d5d9a5a1177858a5df21b868390bfccf7f0f419b1e59acc293160\n")])])]),v("p",[t._v("If you decide to use the "),v("code",[t._v("AlmaLinux-9.4-x86_64-boot.iso")]),t._v(" image, you may need to provide the "),v("code",[t._v("9.4/BaseOS/x86_64/kickstart/")]),t._v(" URL repository from the selected mirror as the Installation Source in the event that the installer is not able to find the closest mirror for some reason.")]),t._v(" "),v("p",[t._v("There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.")]),t._v(" "),v("h2",{attrs:{id:"upgrade-instructions"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-instructions"}},[t._v("#")]),t._v(" Upgrade Instructions")]),t._v(" "),v("p",[t._v("To update your AlmaLinux OS 9 to 9.4 run:")]),t._v(" "),v("div",{staticClass:"language-bash extra-class"},[v("pre",{pre:!0,attrs:{class:"language-bash"}},[v("code",[t._v("$ dnf upgrade "),v("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-y")]),t._v("\n")])])]),v("h2",{attrs:{id:"_9-4-beta-testers"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_9-4-beta-testers"}},[t._v("#")]),t._v(" 9.4 Beta Testers")]),t._v(" "),v("p",[t._v("To update your AlmaLinux 0S 9.4 beta to 9.4 run:")]),t._v(" "),v("div",{staticClass:"language-bash extra-class"},[v("pre",{pre:!0,attrs:{class:"language-bash"}},[v("code",[t._v("$ "),v("span",{pre:!0,attrs:{class:"token function"}},[t._v("rpm")]),t._v(" "),v("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-i")]),t._v(" https://repo.almalinux.org/almalinux/9.4/BaseOS/x86_64/os/Packages/almalinux-repos-9.4-1.el9.x86_64.rpm "),v("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("--replacefiles")]),t._v("\n$ dnf upgrade "),v("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-y")]),t._v("\n")])])]),v("h2",{attrs:{id:"additional-packages"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#additional-packages"}},[t._v("#")]),t._v(" Additional packages")]),t._v(" "),v("p",[t._v("Here is a list of packages that are AlmaLinux-specific, and will not be found in compatible versions of RHEL.")]),t._v(" "),v("table",[v("thead",[v("tr",[v("th",[t._v("Package")]),t._v(" "),v("th",[t._v("Description")])])]),t._v(" "),v("tbody",[v("tr",[v("td",[t._v("almalinux-backgrounds")]),t._v(" "),v("td",[t._v("AlmaLinux background images."),v("br"),t._v("Replaces "),v("code",[t._v("redhat-backgrounds")])])]),t._v(" "),v("tr",[v("td",[t._v("almalinux-indexhtml")]),t._v(" "),v("td",[t._v("AlmaLinux default browser page"),v("br"),t._v("Replaces "),v("code",[t._v("redhat-indexhtml")])])]),t._v(" "),v("tr",[v("td",[t._v("almalinux-logos")]),t._v(" "),v("td",[t._v("AlmaLinux graphics for OS"),v("br"),t._v("Replaces "),v("code",[t._v("redhat-logos")])])]),t._v(" "),v("tr",[v("td",[t._v("almalinux-logos-httpd")]),t._v(" "),v("td",[t._v("AlmaLinux graphics for HTTPD server"),v("br"),t._v("Replaces "),v("code",[t._v("redhat-logos-httpd")])])]),t._v(" "),v("tr",[v("td",[t._v("almalinux-logos-ipa")]),t._v(" "),v("td",[t._v("AlmaLinux graphics for IPA server"),v("br"),t._v("Replaces "),v("code",[t._v("redhat-logos-ipa")])])]),t._v(" "),v("tr",[v("td",[t._v("almalinux-release")]),t._v(" "),v("td",[t._v("AlmaLinux release package, repos, and EULA"),v("br"),t._v("Replaces "),v("code",[t._v("redhat-release")]),t._v(" and "),v("code",[t._v("redhat-release-eula")])])])])]),t._v(" "),v("h2",{attrs:{id:"removed-packages"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#removed-packages"}},[t._v("#")]),t._v(" Removed packages")]),t._v(" "),v("p",[t._v("Here is a list of packages you will not find in AlmaLinux when comparing with the compatible version of RHEL.")]),t._v(" "),v("p",[t._v("AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join "),v("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/engineeringpackaging",target:"_blank",rel:"noopener noreferrer"}},[t._v("AlmaLinux Chat"),v("OutboundLink")],1),t._v(" as well as filing a bug report at "),v("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("AlmaLinux Bug Tracker"),v("OutboundLink")],1),t._v(" to discuss if you think any of the packages below should be included into the repos.")]),t._v(" "),v("table",[v("thead",[v("tr",[v("th",[t._v("Package")]),t._v(" "),v("th",[t._v("Description")])])]),t._v(" "),v("tbody",[v("tr",[v("td",[t._v("insights-client")]),t._v(" "),v("td",[t._v("RHEL specific package to connect to upstream vendor resources")])]),t._v(" "),v("tr",[v("td",[t._v("kmod-redhat-*")]),t._v(" "),v("td",[t._v("RHEL specific modules from Driver Update Program")])]),t._v(" "),v("tr",[v("td",[t._v("kpatch*")]),t._v(" "),v("td",[t._v("RHEL specific live patches for kernel")])]),t._v(" "),v("tr",[v("td",[t._v("openssl-fips-provider")]),t._v(" "),v("td",[t._v("RHEL specific package with FIPS certified openssl binaries")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-backgrounds")]),t._v(" "),v("td",[t._v("RHEL specific background images")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-indexhtml")]),t._v(" "),v("td",[t._v("RHEL specific default browser page")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-logos")]),t._v(" "),v("td",[t._v("RHEL specific graphics for OS")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-logos-httpd")]),t._v(" "),v("td",[t._v("RHEL specific graphics for HTTPD server")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-logos-ipa")]),t._v(" "),v("td",[t._v("RHEL specific graphics for IPA server")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-release")]),t._v(" "),v("td",[t._v("RHEL specific release package and repos")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-release-eula")]),t._v(" "),v("td",[t._v("RHEL specific EULA")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-support-lib-python")]),t._v(" "),v("td",[t._v("RHEL specific package to connect to upstream vendor resources")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-support-tool")]),t._v(" "),v("td",[t._v("RHEL specific package to connect to upstream vendor resources")])]),t._v(" "),v("tr",[v("td",[t._v("rhc")]),t._v(" "),v("td",[t._v("RHEL specific package to connect to upstream vendor resources")])]),t._v(" "),v("tr",[v("td",[t._v("rhc-worker-playbook")]),t._v(" "),v("td",[t._v("RHEL specific package to connect to upstream vendor resources")])]),t._v(" "),v("tr",[v("td",[t._v("rhsm-gtk")]),t._v(" "),v("td",[t._v("RHEL specific GUI for Subscription Manager")])]),t._v(" "),v("tr",[v("td",[t._v("rhsm-icons")]),t._v(" "),v("td",[t._v("RHEL specific GUI for Subscription Manager")])]),t._v(" "),v("tr",[v("td",[t._v("spice-client-win-x64")]),t._v(" "),v("td",[t._v("Contains binaries built by upstream vendor")])]),t._v(" "),v("tr",[v("td",[t._v("spice-client-win-x86")]),t._v(" "),v("td",[t._v("Contains binaries built by upstream vendor")])]),t._v(" "),v("tr",[v("td",[t._v("spice-qxl-wddm-dod")]),t._v(" "),v("td",[t._v("Contains binaries built by upstream vendor")])]),t._v(" "),v("tr",[v("td",[t._v("spice-vdagent-win-x64")]),t._v(" "),v("td",[t._v("Contains binaries built by upstream vendor")])]),t._v(" "),v("tr",[v("td",[t._v("spice-vdagent-win-x86")]),t._v(" "),v("td",[t._v("Contains binaries built by upstream vendor")])]),t._v(" "),v("tr",[v("td",[t._v("subscription-manager-cockpit")]),t._v(" "),v("td",[t._v("RHEL specific Cockpit module for Subscription Manager")])]),t._v(" "),v("tr",[v("td",[t._v("subscription-manager-initial-setup-addon")]),t._v(" "),v("td",[t._v("RHEL specific initial setup addon for Subscription Manager")])]),t._v(" "),v("tr",[v("td",[t._v("subscription-manager-plugin-container")]),t._v(" "),v("td",[t._v("RHEL specific Subscription Manager plugin for upstream vendor containers")])]),t._v(" "),v("tr",[v("td",[t._v("virt-who")]),t._v(" "),v("td",[t._v("RHEL specific package to connect to upstream vendor resources")])]),t._v(" "),v("tr",[v("td",[t._v("virtio-win")]),t._v(" "),v("td",[t._v("Contain binaries built by upstream vendor")])])])]),t._v(" "),v("h2",{attrs:{id:"extended-hardware-support"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#extended-hardware-support"}},[t._v("#")]),t._v(" Extended hardware support")]),t._v(" "),v("p",[t._v("The following devices support is added in this release, when compared with the RHEL 9.4:")]),t._v(" "),v("table",[v("thead",[v("tr",[v("th",[t._v("Device PCI ID")]),t._v(" "),v("th",[t._v("Device name")]),t._v(" "),v("th",[t._v("Driver name")])])]),t._v(" "),v("tbody",[v("tr",[v("td",[t._v("0x0E11:"),v("em",[t._v(":")]),t._v(": *:01:04")]),t._v(" "),v("td",[t._v("Compaq")]),t._v(" "),v("td",[t._v("hpsa")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0050")]),t._v(" "),v("td",[t._v("LSI SAS1064")]),t._v(" "),v("td",[t._v("mptsas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0054")]),t._v(" "),v("td",[t._v("LSI SAS1068")]),t._v(" "),v("td",[t._v("mptsas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0056")]),t._v(" "),v("td",[t._v("LSI SAS1064E")]),t._v(" "),v("td",[t._v("mptsas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0058")]),t._v(" "),v("td",[t._v("LSI SAS1068E")]),t._v(" "),v("td",[t._v("mptsas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0059")]),t._v(" "),v("td",[t._v("LSI SAS1068_820XELP")]),t._v(" "),v("td",[t._v("mptsas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0060")]),t._v(" "),v("td",[t._v("LSI MegaRAID SAS1078R")]),t._v(" "),v("td",[t._v("megaraid_sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0062")]),t._v(" "),v("td",[t._v("LSI SAS1078")]),t._v(" "),v("td",[t._v("mptsas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0064")]),t._v(" "),v("td",[t._v("LSI SAS2116_1")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0065")]),t._v(" "),v("td",[t._v("LSI SAS2116_2")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0070")]),t._v(" "),v("td",[t._v("LSI SAS2004")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0072")]),t._v(" "),v("td",[t._v("LSI SAS2008")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0074")]),t._v(" "),v("td",[t._v("LSI SAS2108_1")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0076")]),t._v(" "),v("td",[t._v("LSI SAS2108_2")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0077")]),t._v(" "),v("td",[t._v("LSI SAS2108_3")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0078")]),t._v(" "),v("td",[t._v("LSI MegaRAID SAS1078 Gen2")]),t._v(" "),v("td",[t._v("megaraid_sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x007C")]),t._v(" "),v("td",[t._v("LSI MegaRAID SAS1078DE")]),t._v(" "),v("td",[t._v("megaraid_sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x007E")]),t._v(" "),v("td",[t._v("LSI SSS6200")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0411")]),t._v(" "),v("td",[t._v("LSI MegaRAID SAS1064R")]),t._v(" "),v("td",[t._v("megaraid_sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0413")]),t._v(" "),v("td",[t._v("LSI MegaRAID SAS1068 Verde ZCR")]),t._v(" "),v("td",[t._v("megaraid_sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1011:0x0046:0x103C:0x10C2")]),t._v(" "),v("td",[t._v("HP NetRAID-4M")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1011:0x0046:0x9005:0x0364")]),t._v(" "),v("td",[t._v("Adaptec 5400S (Mustang)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1011:0x0046:0x9005:0x0365")]),t._v(" "),v("td",[t._v("Adaptec 5400S (Mustang)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1011:0x0046:0x9005:0x1364")]),t._v(" "),v("td",[t._v("Dell PERC 2/QC")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x0001:0x1028:0x0001")]),t._v(" "),v("td",[t._v("DELL PERC 2/Si (Iguana)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x0002:0x1028:0x0002")]),t._v(" "),v("td",[t._v("DELL PERC 3/Di (Opal)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x0002:0x1028:0x00D1")]),t._v(" "),v("td",[t._v("DELL PERC 3/Di (Viper)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x0002:0x1028:0x00D9")]),t._v(" "),v("td",[t._v("DELL PERC 3/Di (Lexus)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x0003:0x1028:0x0003")]),t._v(" "),v("td",[t._v("DELL PERC 3/Si (SlimFast)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x0004:0x1028:0x00D0")]),t._v(" "),v("td",[t._v("DELL PERC 3/Di (Iguana FlipChip)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x000A:0x1028:0x0106")]),t._v(" "),v("td",[t._v("DELL PERC 3/Di (Jaguar)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x000A:0x1028:0x011B")]),t._v(" "),v("td",[t._v("DELL PERC 3/Di (Dagger)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x000A:0x1028:0x0121")]),t._v(" "),v("td",[t._v("DELL PERC 3/Di (Boxster)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x0015")]),t._v(" "),v("td",[t._v("Dell PERC5")]),t._v(" "),v("td",[t._v("megaraid_sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x103C::: *:01:04")]),t._v(" "),v("td",[t._v("HP")]),t._v(" "),v("td",[t._v("hpsa")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x2100")]),t._v(" "),v("td",[t._v("QLogic ISP2100")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x2200")]),t._v(" "),v("td",[t._v("QLogic ISP2200")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x2300")]),t._v(" "),v("td",[t._v("QLogic ISP2300")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x2312")]),t._v(" "),v("td",[t._v("QLogic ISP2312")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x2322")]),t._v(" "),v("td",[t._v("QLogic ISP2322")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x2422")]),t._v(" "),v("td",[t._v("QLogic ISP2422")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x2432")]),t._v(" "),v("td",[t._v("QLogic ISP2432")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x5422")]),t._v(" "),v("td",[t._v("QLogic ISP5422")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x5432")]),t._v(" "),v("td",[t._v("QLogic ISP5432 / QLE220")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x6312")]),t._v(" "),v("td",[t._v("QLogic ISP6312")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x6322")]),t._v(" "),v("td",[t._v("QLogic ISP6322")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x8001")]),t._v(" "),v("td",[t._v("QLogic ISP8001 / QLE81xx")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x8021")]),t._v(" "),v("td",[t._v("QLogic ISP8021 / QLE82xx")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x8022")]),t._v(" "),v("td",[t._v("QLogic ISP8022")]),t._v(" "),v("td",[t._v("qla4xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x8032")]),t._v(" "),v("td",[t._v("QLogic ISP8324")]),t._v(" "),v("td",[t._v("qla4xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x8042")]),t._v(" "),v("td",[t._v("QLogic ISP8042")]),t._v(" "),v("td",[t._v("qla4xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x8044")]),t._v(" "),v("td",[t._v("QLogic ISP8044 / QLE84xx")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x8432")]),t._v(" "),v("td",[t._v("QLogic ISP8432 / QLE8000")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0xF001")]),t._v(" "),v("td",[t._v("QLogic ISPF001 / QLE10000")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0x1AE5")]),t._v(" "),v("td",[t._v("FIREFLY")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xE100")]),t._v(" "),v("td",[t._v("PROTEUS VF")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xE131")]),t._v(" "),v("td",[t._v("BALIUS")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xE180")]),t._v(" "),v("td",[t._v("PROTEUS PF")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xE208")]),t._v(" "),v("td",[t._v("LANCER_FC_VF")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xE260")]),t._v(" "),v("td",[t._v("Emulex OneConnect OCe15102-FM/OCe15104-FM/OCm15108-F-P")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xE268")]),t._v(" "),v("td",[t._v("LANCER_FCOE_VF")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF095")]),t._v(" "),v("td",[t._v("RFLY")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF098")]),t._v(" "),v("td",[t._v("PFLY")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF0A1")]),t._v(" "),v("td",[t._v("LP101")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF0A5")]),t._v(" "),v("td",[t._v("TFLY")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF0D1")]),t._v(" "),v("td",[t._v("BSMB")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF0F5")]),t._v(" "),v("td",[t._v("NEPTUNE")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF0F6")]),t._v(" "),v("td",[t._v("NEPTUNE SCSP")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF0F7")]),t._v(" "),v("td",[t._v("NEPTUNE DCSP")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF700")]),t._v(" "),v("td",[t._v("SUPERFLY")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF800")]),t._v(" "),v("td",[t._v("DRAGONFLY")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF900")]),t._v(" "),v("td",[t._v("CENTAUR")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF980")]),t._v(" "),v("td",[t._v("PEGASUS")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFA00")]),t._v(" "),v("td",[t._v("THOR")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFB00")]),t._v(" "),v("td",[t._v("VIPER")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFC00")]),t._v(" "),v("td",[t._v("LP10000S")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFC10")]),t._v(" "),v("td",[t._v("LP11000S")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFC20")]),t._v(" "),v("td",[t._v("LPE11000S")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFC50")]),t._v(" "),v("td",[t._v("PROTEUS S")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFD00")]),t._v(" "),v("td",[t._v("HELIOS")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFD11")]),t._v(" "),v("td",[t._v("HELIOS SCSP")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFD12")]),t._v(" "),v("td",[t._v("HELIOS DCSP")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0211")]),t._v(" "),v("td",[t._v("Emulex BladeEngine 2 Network Adapter")]),t._v(" "),v("td",[t._v("be2net *")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0212")]),t._v(" "),v("td",[t._v("Emulex BladeEngine 2 10Gb iSCSI Initiator")]),t._v(" "),v("td",[t._v("be2iscsi")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0221")]),t._v(" "),v("td",[t._v("Emulex BladeEngine 3 Network Adapter")]),t._v(" "),v("td",[t._v("be2net *")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0222")]),t._v(" "),v("td",[t._v("Emulex BladeEngine 3 iSCSI")]),t._v(" "),v("td",[t._v("be2iscsi")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0700")]),t._v(" "),v("td",[t._v("Emulex OneConnect Tigershark NIC")]),t._v(" "),v("td",[t._v("be2net *")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0702")]),t._v(" "),v("td",[t._v("Emulex OneConnect OCe10101/OCm10101/OCe10102/OCm10102")]),t._v(" "),v("td",[t._v("be2iscsi")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0703")]),t._v(" "),v("td",[t._v("Emulex OneConnect OCe10100")]),t._v(" "),v("td",[t._v("be2iscsi")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0704")]),t._v(" "),v("td",[t._v("Emulex OneConnect Tigershark FCoE")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0710")]),t._v(" "),v("td",[t._v("Emulex OneConnect Tomcat NIC")]),t._v(" "),v("td",[t._v("be2net *")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0712")]),t._v(" "),v("td",[t._v("Emulex OneConnect Tomcat iSCSI")]),t._v(" "),v("td",[t._v("be2iscsi")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0714")]),t._v(" "),v("td",[t._v("Emulex OneConnect Tomcat FCoE")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0200:0x9005:0x0200")]),t._v(" "),v("td",[t._v("Themisto Jupiter Platform")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0283:0x9005:0x0283")]),t._v(" "),v("td",[t._v("Catapult")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0284:0x9005:0x0284")]),t._v(" "),v("td",[t._v("Tomcat")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285")]),t._v(" "),v("td",[t._v("Adaptec Catch All")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x1014:0x02F2")]),t._v(" "),v("td",[t._v("IBM 8i (AvonPark)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x1014:0x0312")]),t._v(" "),v("td",[t._v("IBM 8i (AvonPark Lite)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x1028")]),t._v(" "),v("td",[t._v("Dell Catchall")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x1028:0x0287")]),t._v(" "),v("td",[t._v("Perc 320/DC")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x1028:0x0291")]),t._v(" "),v("td",[t._v("CERC SATA RAID 2 PCI SATA 6ch (DellCorsair)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x103C:0x3227")]),t._v(" "),v("td",[t._v("AAR-2610SA PCI SATA 6ch")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x17AA")]),t._v(" "),v("td",[t._v("Legend Catchall")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x17AA:0x0286")]),t._v(" "),v("td",[t._v("Legend S220 (Legend Crusader)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x17AA:0x0287")]),t._v(" "),v("td",[t._v("Legend S230 (Legend Vulcan)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0285")]),t._v(" "),v("td",[t._v("Adaptec 2200S (Vulcan)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0286")]),t._v(" "),v("td",[t._v("Adaptec 2120S (Crusader)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0287")]),t._v(" "),v("td",[t._v("Adaptec 2200S (Vulcan-2m)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0288")]),t._v(" "),v("td",[t._v("Adaptec 3230S (Harrier)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0289")]),t._v(" "),v("td",[t._v("Adaptec 3240S (Tornado)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x028A")]),t._v(" "),v("td",[t._v("ASR-2020ZCR SCSI PCI-X ZCR (Skyhawk)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x028B")]),t._v(" "),v("td",[t._v("ASR-2025ZCR SCSI SO-DIMM PCI-X ZCR (Terminator)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x028E")]),t._v(" "),v("td",[t._v("ASR-2020SA SATA PCI-X ZCR (Skyhawk)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x028F")]),t._v(" "),v("td",[t._v("ASR-2025SA SATA SO-DIMM PCI-X ZCR (Terminator)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0290")]),t._v(" "),v("td",[t._v("AAR-2410SA PCI SATA 4ch (Jaguar II)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0292")]),t._v(" "),v("td",[t._v("AAR-2810SA PCI SATA 8ch (Corsair-8)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0293")]),t._v(" "),v("td",[t._v("AAR-21610SA PCI SATA 16ch (Corsair-16)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0294")]),t._v(" "),v("td",[t._v("ESD SO-DIMM PCI-X SATA ZCR (Prowler)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0296")]),t._v(" "),v("td",[t._v("ASR-2240S (SabreExpress)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0297")]),t._v(" "),v("td",[t._v("ASR-4005")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0298")]),t._v(" "),v("td",[t._v("ASR-4000 (BlackBird)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0299")]),t._v(" "),v("td",[t._v("ASR-4800SAS (Marauder-X)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x029A")]),t._v(" "),v("td",[t._v("ASR-4805SAS (Marauder-E)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x02A4")]),t._v(" "),v("td",[t._v("ICP9085LI (Marauder-X)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x02A5")]),t._v(" "),v("td",[t._v("ICP5085BR (Marauder-E)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286")]),t._v(" "),v("td",[t._v("Adaptec Rocket Catch All")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x1014:0x9540")]),t._v(" "),v("td",[t._v("IBM 8k/8k-l4 (Aurora Lite)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x1014:0x9580")]),t._v(" "),v("td",[t._v("IBM 8k/8k-l8 (Aurora)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x028C")]),t._v(" "),v("td",[t._v("ASR-2230S/ASR-2230SLP PCI-X (Lancer)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x028D")]),t._v(" "),v("td",[t._v("ASR-2130S (Lancer)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x029B")]),t._v(" "),v("td",[t._v("AAR-2820SA (Intruder)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x029C")]),t._v(" "),v("td",[t._v("AAR-2620SA (Intruder)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x029D")]),t._v(" "),v("td",[t._v("AAR-2420SA (Intruder)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x029E")]),t._v(" "),v("td",[t._v("ICP9024RO (Lancer)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x029F")]),t._v(" "),v("td",[t._v("ICP9014RO (Lancer)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x02A0")]),t._v(" "),v("td",[t._v("ICP9047MA (Lancer)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x02A1")]),t._v(" "),v("td",[t._v("ICP9087MA (Lancer)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x02A2")]),t._v(" "),v("td",[t._v("ASR-3800 (Hurricane44)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x02A3")]),t._v(" "),v("td",[t._v("ICP5445AU (Hurricane44)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x02A6")]),t._v(" "),v("td",[t._v("ICP9067MA (Intruder-6)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x0800")]),t._v(" "),v("td",[t._v("Callisto Jupiter Platform")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0287:0x9005:0x0800")]),t._v(" "),v("td",[t._v("Themisto Jupiter Platform")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0288")]),t._v(" "),v("td",[t._v("Adaptec NEMER/ARK Catch All")]),t._v(" "),v("td",[t._v("aacraid")])])])]),t._v(" "),v("p",[t._v("* Since kernel version 5.14.0-427.18.1.el9_4")]),t._v(" "),v("h5",{attrs:{id:"trademarks"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#trademarks"}},[t._v("#")]),t._v(" Trademarks")]),t._v(" "),v("p",[t._v("Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")])])}),[],!1,null,null,null);v.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/121.e4c9fcf8.js b/assets/js/121.e4c9fcf8.js new file mode 100644 index 000000000..80645c373 --- /dev/null +++ b/assets/js/121.e4c9fcf8.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[121],{402:function(t,e,v){"use strict";v.r(e);var _=v(14),a=Object(_.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"almalinux-release-notes"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-release-notes"}},[t._v("#")]),t._v(" AlmaLinux Release Notes")]),t._v(" "),e("p",[t._v("These are AlmaLinux Release Notes listed with Release Version, General Availability Date, Codename, Kernel Version.")]),t._v(" "),e("h3",{attrs:{id:"almalinux-9"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-9"}},[t._v("#")]),t._v(" AlmaLinux 9")]),t._v(" "),e("p",[t._v("Version 9 will have active support until 31 May 2027, and security support until 31 May 2032. Release of new 9.x version ends support for the previous version.")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Release")]),t._v(" "),e("th",[t._v("Codename "),e("br"),t._v(" "),e("small",[e("RouterLink",{attrs:{to:"/FAQ.html#why-does-the-almalinux-codename-include-cats"}},[t._v("Why cats?")])],1)]),t._v(" "),e("th",[t._v("Beta Date")]),t._v(" "),e("th",[t._v("Release Date")]),t._v(" "),e("th",[t._v("Kernel")]),t._v(" "),e("th",[t._v("Supported Architectures")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[e("a",{attrs:{href:"/release-notes/9.4"}},[t._v("9.4")])]),t._v(" "),e("td",[t._v("Seafoam Ocelot")]),t._v(" "),e("td",[t._v("15 Apr 2024")]),t._v(" "),e("td",[t._v("06 May 2024")]),t._v(" "),e("td",[t._v("5.14.0-427.13.1")]),t._v(" "),e("td",[t._v("x86_64, aarch64, ppc64le, s390x")])]),t._v(" "),e("tr",[e("td",[e("a",{attrs:{href:"/release-notes/9.3"}},[t._v("9.3")])]),t._v(" "),e("td",[t._v("Shamrock Pampas Cat")]),t._v(" "),e("td",[t._v("26 Oct 2023")]),t._v(" "),e("td",[t._v("13 Nov 2023")]),t._v(" "),e("td",[t._v("5.14.0-362.8.1")]),t._v(" "),e("td",[t._v("x86_64, aarch64, ppc64le, s390x")])]),t._v(" "),e("tr",[e("td",[e("a",{attrs:{href:"/release-notes/9.2"}},[t._v("9.2")])]),t._v(" "),e("td",[t._v("Turquoise Kodkod")]),t._v(" "),e("td",[t._v("27 Apr 2023")]),t._v(" "),e("td",[t._v("10 May 2023")]),t._v(" "),e("td",[t._v("5.14.0-284.11.1")]),t._v(" "),e("td",[t._v("x86_64, aarch64, ppc64le, s390x")])]),t._v(" "),e("tr",[e("td",[e("a",{attrs:{href:"/release-notes/9.1"}},[t._v("9.1")])]),t._v(" "),e("td",[t._v("Lime Lynx")]),t._v(" "),e("td",[t._v("02 Nov 2022")]),t._v(" "),e("td",[t._v("16 Nov 2022")]),t._v(" "),e("td",[t._v("5.14.0-162.6.1")]),t._v(" "),e("td",[t._v("x86_64, aarch64, ppc64le, s390x")])]),t._v(" "),e("tr",[e("td",[e("a",{attrs:{href:"/release-notes/9.0"}},[t._v("9.0")])]),t._v(" "),e("td",[t._v("Emerald Puma")]),t._v(" "),e("td",[t._v("19 Apr 2022")]),t._v(" "),e("td",[t._v("26 May 2022")]),t._v(" "),e("td",[t._v("5.14.0-70.13.1")]),t._v(" "),e("td",[t._v("x86_64, aarch64, ppc64le, s390x")])])])]),t._v(" "),e("h3",{attrs:{id:"almalinux-8"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-8"}},[t._v("#")]),t._v(" AlmaLinux 8")]),t._v(" "),e("p",[t._v("Version 8 will have active support until 31 May 2024, and security support until 31 May 2029. Release of new 8.x version ends support for the previous version.")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Release")]),t._v(" "),e("th",[t._v("Codename "),e("br"),t._v(" "),e("small",[e("RouterLink",{attrs:{to:"/FAQ.html#why-does-the-almalinux-codename-include-cats"}},[t._v("Why cats?")])],1)]),t._v(" "),e("th",[t._v("Beta Date")]),t._v(" "),e("th",[t._v("Release Date")]),t._v(" "),e("th",[t._v("Kernel")]),t._v(" "),e("th",[t._v("Supported Architectures")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[e("a",{attrs:{href:"/release-notes/8.10"}},[t._v("8.10")])]),t._v(" "),e("td",[t._v("Cerulean Leopard")]),t._v(" "),e("td",[t._v("17 Apr 2024")]),t._v(" "),e("td",[t._v("28 May 2024")]),t._v(" "),e("td",[t._v("4.18.0-553")]),t._v(" "),e("td",[t._v("x86_64, aarch64, ppc64le, s390x")])]),t._v(" "),e("tr",[e("td",[e("a",{attrs:{href:"/release-notes/8.9"}},[t._v("8.9")])]),t._v(" "),e("td",[t._v("Midnight Oncilla")]),t._v(" "),e("td",[t._v("2 Nov 2023")]),t._v(" "),e("td",[t._v("21 Nov 2023")]),t._v(" "),e("td",[t._v("4.18.0-513.5.1")]),t._v(" "),e("td",[t._v("x86_64, aarch64, ppc64le, s390x")])]),t._v(" "),e("tr",[e("td",[e("a",{attrs:{href:"/release-notes/8.8"}},[t._v("8.8")])]),t._v(" "),e("td",[t._v("Sapphire Caracal")]),t._v(" "),e("td",[t._v("21 Apr 2023")]),t._v(" "),e("td",[t._v("18 May 2023")]),t._v(" "),e("td",[t._v("4.18.0-477.10.1")]),t._v(" "),e("td",[t._v("x86_64, aarch64, ppc64le, s390x")])]),t._v(" "),e("tr",[e("td",[e("a",{attrs:{href:"/release-notes/8.7"}},[t._v("8.7")])]),t._v(" "),e("td",[t._v("Stone Smilodon")]),t._v(" "),e("td",[t._v("25 Oct 2022")]),t._v(" "),e("td",[t._v("10 Nov 2022")]),t._v(" "),e("td",[t._v("4.18.0-425.3.1")]),t._v(" "),e("td",[t._v("x86_64, aarch64, ppc64le, s390x")])]),t._v(" "),e("tr",[e("td",[e("a",{attrs:{href:"/release-notes/8.6"}},[t._v("8.6")])]),t._v(" "),e("td",[t._v("Sky Tiger")]),t._v(" "),e("td",[t._v("06 May 2022")]),t._v(" "),e("td",[t._v("12 May 2022")]),t._v(" "),e("td",[t._v("4.18.0-372.9.1")]),t._v(" "),e("td",[t._v("x86_64, aarch64, ppc64le, s390x")])]),t._v(" "),e("tr",[e("td",[e("a",{attrs:{href:"/release-notes/8.5"}},[t._v("8.5")])]),t._v(" "),e("td",[t._v("Arctic Sphynx")]),t._v(" "),e("td",[t._v("13 Oct 2021")]),t._v(" "),e("td",[t._v("12 Nov 2021")]),t._v(" "),e("td",[t._v("4.18.0-348")]),t._v(" "),e("td",[t._v("x86_64, aarch64, ppc64le")])]),t._v(" "),e("tr",[e("td",[e("a",{attrs:{href:"/release-notes/8.4"}},[t._v("8.4")])]),t._v(" "),e("td",[t._v("Electric Cheetah")]),t._v(" "),e("td",[t._v("20 Apr 2021")]),t._v(" "),e("td",[t._v("26 May 2021")]),t._v(" "),e("td",[t._v("4.18.0-305")]),t._v(" "),e("td",[t._v("x86_64, aarch64")])]),t._v(" "),e("tr",[e("td",[e("a",{attrs:{href:"/release-notes/8.3"}},[t._v("8.3")])]),t._v(" "),e("td",[t._v("Purple Manul")]),t._v(" "),e("td",[t._v("1 Feb 2021")]),t._v(" "),e("td",[t._v("30 Mar 2021")]),t._v(" "),e("td",[t._v("4.18.0-240")]),t._v(" "),e("td",[t._v("x86_64")])])])]),t._v(" "),e("p",[e("strong",[t._v("Run the following commands to find:")])]),t._v(" "),e("ul",[e("li",[t._v("your AlmaLinux release")])]),t._v(" "),e("div",{staticClass:"language- extra-class"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[t._v("cat /etc/almalinux-release\n")])])]),e("ul",[e("li",[t._v("your kernel version")])]),t._v(" "),e("div",{staticClass:"language- extra-class"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[t._v("uname -a\n")])])])])}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/122.7ee56c8c.js b/assets/js/122.7ee56c8c.js new file mode 100644 index 000000000..ded7be6be --- /dev/null +++ b/assets/js/122.7ee56c8c.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[122],{404:function(e,t,a){"use strict";a.r(t);var n=a(14),o=Object(n.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"almalinux-repositories"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-repositories"}},[e._v("#")]),e._v(" AlmaLinux Repositories")]),e._v(" "),t("p",[e._v("Information about the main AlmaLinux repositories and how to install them can be found on this page.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Repository")]),e._v(" "),t("th",[e._v("Description")]),e._v(" "),t("th",[e._v("How to Enable on AlmaLinux 8")]),e._v(" "),t("th",[e._v("How to Enable on AlmaLinux 9")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("BaseOS")]),e._v(" "),t("td",[e._v("Content in the BaseOS repository is intended to provide a core set of the underlying OS functionality that provides the foundation for all installations.")]),e._v(" "),t("td",[e._v("Enabled by default")]),e._v(" "),t("td",[e._v("Enabled by default")])]),e._v(" "),t("tr",[t("td",[e._v("AppStream")]),e._v(" "),t("td",[e._v("Content in the AppStream repository includes additional user space applications, runtime languages, and databases in support of the varied workloads and use cases.")]),e._v(" "),t("td",[e._v("Enabled by default")]),e._v(" "),t("td",[e._v("Enabled by default")])]),e._v(" "),t("tr",[t("td",[e._v("Extras")]),e._v(" "),t("td",[e._v("Content in the extras repository includes packages that are not available in RHEL. They are mostly release packages for additional repos like EPEL, ELRepo or the various CentOS SIGs.")]),e._v(" "),t("td",[e._v("Enabled by default")]),e._v(" "),t("td",[e._v("Enabled by default")])]),e._v(" "),t("tr",[t("td",[e._v("High Availability")]),e._v(" "),t("td",[e._v("The High Availability add-on provides on-demand failover services between nodes within a cluster")]),e._v(" "),t("td",[e._v("# dnf config-manager --set-enabled ha")]),e._v(" "),t("td",[e._v("# dnf config-manager --set-enabled highavailability")])]),e._v(" "),t("tr",[t("td",[e._v("Plus")]),e._v(" "),t("td",[e._v("This repository contains packages that replace a core component via patched functionality. Packages have a .plus added to their version tag. These are not tested nor available in the upstream product.")]),e._v(" "),t("td",[e._v("# dnf config-manager --set-enabled plus")]),e._v(" "),t("td",[e._v("# dnf config-manager --set-enabled plus")])]),e._v(" "),t("tr",[t("td",[e._v("PowerTools/CRB")]),e._v(" "),t("td",[e._v('The PowerTools repository contains additional packages for use by developers. This repository is also known as the "CodeReady Builder" repository used on RHEL.')]),e._v(" "),t("td",[e._v("# dnf config-manager --set-enabled powertools")]),e._v(" "),t("td",[e._v("# dnf config-manager --set-enabled crb")])]),e._v(" "),t("tr",[t("td",[e._v("Real Time (RT)")]),e._v(" "),t("td",[e._v("The Real Time repository is designed to be used on well-tuned systems for applications with extremely high determinism requirements. Kernel system tuning offers the vast majority of the improvement in determinism.")]),e._v(" "),t("td",[e._v("# dnf config-manager --set-enabled rt")]),e._v(" "),t("td",[e._v("# dnf config-manager --set-enabled rt")])]),e._v(" "),t("tr",[t("td",[e._v("Real Time for NFV (NFV)")]),e._v(" "),t("td",[e._v("The Real Time for NFV repository can be used to virtualize network services, such as routers, firewalls, and load balancers, that have traditionally been run on proprietary hardware.")]),e._v(" "),t("td",[e._v("# dnf config-manager --set-enabled nfv")]),e._v(" "),t("td",[e._v("# dnf config-manager --set-enabled nfv")])]),e._v(" "),t("tr",[t("td",[e._v("ResilientStorage")]),e._v(" "),t("td",[e._v("The Resilient Storage add-on enables a shared storage or clustered file system to access the same storage device over a network through a pool of data that is available to each server in the group.")]),e._v(" "),t("td",[e._v("# dnf config-manager --set-enabled resilientstorage")]),e._v(" "),t("td",[e._v("# dnf config-manager --set-enabled resilientstorage")])]),e._v(" "),t("tr",[t("td",[e._v("SAP")]),e._v(" "),t("td",[e._v("The SAP repository provides additional software components necessary to run SAP NetWeaveror SAP Kernel on AlmaLinux")]),e._v(" "),t("td",[e._v("# dnf config-manager --set-enabled sap")]),e._v(" "),t("td",[e._v("# dnf config-manager --set-enabled sap")])]),e._v(" "),t("tr",[t("td",[e._v("SAPHANA")]),e._v(" "),t("td",[e._v("The SAPHANA repository is tailored to the needs of SAP workloads such as S/4HANA and SAP HANA platform.")]),e._v(" "),t("td",[e._v("# dnf config-manager --set-enabled saphana")]),e._v(" "),t("td",[e._v("# dnf config-manager --set-enabled saphana")])]),e._v(" "),t("tr",[t("td",[e._v("Testing")]),e._v(" "),t("td",[e._v("Content in the Testing repository includes updates that require additional testing before they are released to stable repositories. "),t("strong",[e._v("Please, note, that it's "),t("em",[e._v("NOT")]),e._v(" recommended to install packages from the Testing repo on production machines.")])]),e._v(" "),t("td",[e._v("# dnf install almalinux-release-testing")]),e._v(" "),t("td",[e._v("# dnf install almalinux-release-testing")])]),e._v(" "),t("tr",[t("td",[e._v("Devel")]),e._v(" "),t("td",[e._v("Content in the Devel repo includes packages that are not normally provided in the base nor extra repositories, but needed for build-time dependencies of other packages. "),t("strong",[e._v("Devel is "),t("em",[e._v("NOT")]),e._v(" meant to satisfy runtime dependencies or for long term use on general purpose machines.")])]),e._v(" "),t("td",[e._v("# dnf install almalinux-release-devel")]),e._v(" "),t("td",[e._v("# dnf install almalinux-release-devel")])])])]),e._v(" "),t("p",[e._v("AlmaLinux has a "),t("a",{attrs:{href:"http://repo.almalinux.org/vault/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Vault"),t("OutboundLink")],1),e._v(" repository that provides packages and isos for previous AlmaLinux OS versions. Also, the Vault repository contains 32-bit packages for the latest stable version to build. Vault and other AlmaLinux repositories are available on "),t("a",{attrs:{href:"http://repo.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("repo.almalinux.org"),t("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/123.7433383f.js b/assets/js/123.7433383f.js new file mode 100644 index 000000000..5d30a48ed --- /dev/null +++ b/assets/js/123.7433383f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[123],{403:function(t,e,a){"use strict";a.r(e);var n=a(14),s=Object(n.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h6",{attrs:{id:"last-modified-2024-06-12"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#last-modified-2024-06-12"}},[t._v("#")]),t._v(" last modified: 2024-06-12")]),t._v(" "),e("h1",{attrs:{id:"centos-sigs-repositories"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#centos-sigs-repositories"}},[t._v("#")]),t._v(" CentOS SIGs Repositories")]),t._v(" "),e("p",[t._v("CentOS Special Interest Groups (SIGs) are smaller groups within the CentOS community that focus on a small set of issues, in order to either create awareness or to focus on development along a specific topic. SIGs are often very popular and used quite frequently by the community. AlmaLinux has decided to make upstream CentOS SIGs usable from within AlmaLinux for the community's benefit. We encourage contributors interested in SIG development to work upstream and submit contributions there.")]),t._v(" "),e("div",{staticClass:"custom-block warning"},[e("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),e("p",[t._v("Since CentOS 8 Stream has reached its End-Of-Life, corresponding CentOS SIGs packages for AlmaLinux OS 8 are no longer valid and have been removed from the list.")])]),t._v(" "),e("h2",{attrs:{id:"cloud-sig"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#cloud-sig"}},[t._v("#")]),t._v(" Cloud SIG")]),t._v(" "),e("p",[t._v("The "),e("a",{attrs:{href:"https://wiki.centos.org/SpecialInterestGroup/Cloud",target:"_blank",rel:"noopener noreferrer"}},[t._v("Cloud SIG"),e("OutboundLink")],1),t._v(" focuses on issues around running Cloud Infrastructure / Hypervisor\nfor on-premise clouds as well as supports other SIGs and projects looking to consume some of the shared resources around on-premise cloud infra.")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Package")]),t._v(" "),e("th",[t._v("How to Enable on AlmaLinux 9")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[t._v("OpenStack Antelope")]),t._v(" "),e("td",[t._v("# dnf install centos-release-openstack-antelope")])]),t._v(" "),e("tr",[e("td",[t._v("OpenStack Bobcat")]),t._v(" "),e("td",[t._v("# dnf install centos-release-openstack-bobcat")])]),t._v(" "),e("tr",[e("td",[t._v("OpenStack Caracal")]),t._v(" "),e("td",[t._v("# dnf install centos-release-openstack-caracal")])]),t._v(" "),e("tr",[e("td",[t._v("OpenStack Client Xena")]),t._v(" "),e("td",[t._v("# dnf install centos-release-openstackclient-xena")])]),t._v(" "),e("tr",[e("td",[t._v("OpenStack Yoga")]),t._v(" "),e("td",[t._v("# dnf install centos-release-openstack-yoga")])]),t._v(" "),e("tr",[e("td",[t._v("Openstack Zed")]),t._v(" "),e("td",[t._v("# dnf install centos-release-openstack-zed")])]),t._v(" "),e("tr",[e("td",[t._v("okd-4.13")]),t._v(" "),e("td",[t._v("# dnf install centos-release-okd-4.13")])]),t._v(" "),e("tr",[e("td",[t._v("okd-4.14")]),t._v(" "),e("td",[t._v("# dnf install centos-release-okd-4.14")])]),t._v(" "),e("tr",[e("td",[t._v("okd-4.15")]),t._v(" "),e("td",[t._v("# dnf install centos-release-okd-4.15")])]),t._v(" "),e("tr",[e("td",[t._v("okd-4.16")]),t._v(" "),e("td",[t._v("# dnf install centos-release-okd-4.16")])])])]),t._v(" "),e("h2",{attrs:{id:"messaging-sig"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#messaging-sig"}},[t._v("#")]),t._v(" Messaging SIG")]),t._v(" "),e("p",[t._v("The "),e("a",{attrs:{href:"https://wiki.centos.org/SpecialInterestGroup/Messaging",target:"_blank",rel:"noopener noreferrer"}},[t._v("Messaging SIG"),e("OutboundLink")],1),t._v(" provides a unique source for messaging-related packages.")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Package")]),t._v(" "),e("th",[t._v("How to Enable on AlmaLinux 9")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[t._v("Rabbit 3.8")]),t._v(" "),e("td",[t._v("# dnf install centos-release-rabbitmq-38")])])])]),t._v(" "),e("h2",{attrs:{id:"network-functions-virtualization-sig"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#network-functions-virtualization-sig"}},[t._v("#")]),t._v(" Network Functions Virtualization SIG")]),t._v(" "),e("p",[t._v("The "),e("a",{attrs:{href:"https://wiki.centos.org/SpecialInterestGroup/NFV",target:"_blank",rel:"noopener noreferrer"}},[t._v("Network Functions Virtualization SIG"),e("OutboundLink")],1),t._v(" provides a stack that will serve as a platform for the deployment and testing of virtual network functions.")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Package")]),t._v(" "),e("th",[t._v("How to Enable on AlmaLinux 9")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[t._v("Openvswitch 2.x "),e("br"),t._v(" OVN 20.12.x")]),t._v(" "),e("td",[t._v("# dnf install centos-release-nfv-openvswitch")])])])]),t._v(" "),e("h2",{attrs:{id:"operational-tooling-sig"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#operational-tooling-sig"}},[t._v("#")]),t._v(" Operational Tooling SIG")]),t._v(" "),e("p",[t._v("The "),e("a",{attrs:{href:"https://wiki.centos.org/SpecialInterestGroup/OpsTools",target:"_blank",rel:"noopener noreferrer"}},[t._v("Ops Tools SIG"),e("OutboundLink")],1),t._v(" provides logging, monitoring and other operational tools for operators, system administrators, devops and developers doing infrastructure engineering on content based on CentOS Linux and related distributions.")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Package")]),t._v(" "),e("th",[t._v("How to Enable on AlmaLinux 9")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[t._v("collectd 5.x")]),t._v(" "),e("td",[t._v("# dnf install centos-release-opstools")])])])]),t._v(" "),e("h2",{attrs:{id:"storage-sig"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#storage-sig"}},[t._v("#")]),t._v(" Storage SIG")]),t._v(" "),e("p",[t._v("The "),e("a",{attrs:{href:"https://wiki.centos.org/SpecialInterestGroup/Storage",target:"_blank",rel:"noopener noreferrer"}},[t._v("Storage SIG"),e("OutboundLink")],1),t._v(" focuses on deploying CentOS/AlmaLinux as a storage node.")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Package")]),t._v(" "),e("th",[t._v("How to Enable on AlmaLinux 9")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[t._v("Ceph 16 Pacific")]),t._v(" "),e("td",[t._v("# dnf install centos-release-ceph-pacific")])]),t._v(" "),e("tr",[e("td",[t._v("Ceph 17 Quincy")]),t._v(" "),e("td",[t._v("# dnf install centos-release-ceph-quincy")])]),t._v(" "),e("tr",[e("td",[t._v("Ceph 18 Reef")]),t._v(" "),e("td",[t._v("# dnf install centos-release-ceph-reef")])]),t._v(" "),e("tr",[e("td",[t._v("GlusterFS 9")]),t._v(" "),e("td",[t._v("# dnf install centos-release-gluster9")])]),t._v(" "),e("tr",[e("td",[t._v("GlusterFS 10")]),t._v(" "),e("td",[t._v("# dnf install centos-release-gluster10")])]),t._v(" "),e("tr",[e("td",[t._v("GlusterFS 11")]),t._v(" "),e("td",[t._v("# dnf install centos-release-gluster11")])]),t._v(" "),e("tr",[e("td",[t._v("NFS Ganesha 4")]),t._v(" "),e("td",[t._v("# dnf install centos-release-nfs-ganesha4")])]),t._v(" "),e("tr",[e("td",[t._v("NFS Ganesha 5")]),t._v(" "),e("td",[t._v("# dnf install centos-release-nfs-ganesha5")])]),t._v(" "),e("tr",[e("td",[t._v("Samba 4.14")]),t._v(" "),e("td",[t._v("# dnf install centos-release-samba414")])]),t._v(" "),e("tr",[e("td",[t._v("Samba 4.15")]),t._v(" "),e("td",[t._v("# dnf install centos-release-samba415")])]),t._v(" "),e("tr",[e("td",[t._v("Samba 4.16")]),t._v(" "),e("td",[t._v("# dnf install centos-release-samba416")])]),t._v(" "),e("tr",[e("td",[t._v("Samba 4.17")]),t._v(" "),e("td",[t._v("# dnf install centos-release-samba417")])]),t._v(" "),e("tr",[e("td",[t._v("Samba 4.18")]),t._v(" "),e("td",[t._v("# dnf install centos-release-samba418")])]),t._v(" "),e("tr",[e("td",[t._v("Samba 4.19")]),t._v(" "),e("td",[t._v("# dnf install centos-release-samba419")])]),t._v(" "),e("tr",[e("td",[t._v("Samba 4.20")]),t._v(" "),e("td",[t._v("# dnf install centos-release-samba420")])])])]),t._v(" "),e("h2",{attrs:{id:"virtualization-sig"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#virtualization-sig"}},[t._v("#")]),t._v(" Virtualization SIG")]),t._v(" "),e("p",[t._v("The "),e("a",{attrs:{href:"https://wiki.centos.org/SpecialInterestGroup/Virtualization",target:"_blank",rel:"noopener noreferrer"}},[t._v("Virtualization SIG"),e("OutboundLink")],1),t._v(" aims to deliver a user consumable full stack for virtualization technologies. This includes delivery, deployment, management, update and patch application (for full lifecycle management) of the baseline platform when deployed in sync with a technology curated by the Virt-SIG.")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Package")]),t._v(" "),e("th",[t._v("How to Enable on AlmaLinux 9")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[t._v("oVirt 4.5")]),t._v(" "),e("td",[t._v("# dnf install centos-release-ovirt45")])])])])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/124.c130e96e.js b/assets/js/124.c130e96e.js new file mode 100644 index 000000000..c8c5f3ed7 --- /dev/null +++ b/assets/js/124.c130e96e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[124],{405:function(e,t,r){"use strict";r.r(t);var a=r(14),s=Object(a.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"extra-repositories"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#extra-repositories"}},[e._v("#")]),e._v(" Extra Repositories")]),e._v(" "),t("h2",{attrs:{id:"epel"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#epel"}},[e._v("#")]),e._v(" EPEL")]),e._v(" "),t("p",[e._v("Extra Packages for Enterprise Linux or "),t("a",{attrs:{href:"https://fedoraproject.org/wiki/EPEL",target:"_blank",rel:"noopener noreferrer"}},[e._v("EPEL"),t("OutboundLink")],1),e._v(" is a Fedora Special Interest Group that creates, maintains, and manages a high quality set of additional packages for Enterprise Linux.\nEPEL packages are usually based on their Fedora counterparts and will never conflict with or replace packages in the base Enterprise Linux distributions. EPEL uses much of the same infrastructure as Fedora, including buildsystem, bugzilla instance, updates manager, mirror manager and more.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Repository")]),e._v(" "),t("th",[e._v("How to Enable")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("EPEL and CRB")]),e._v(" "),t("td",[e._v("# dnf install epel-release")])])])]),e._v(" "),t("p",[e._v("For more detailed information see the "),t("a",{attrs:{href:"https://docs.fedoraproject.org/en-US/epel/",target:"_blank",rel:"noopener noreferrer"}},[e._v("EPEL Quickstart Guide"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v('During the installation process, you might get a prompt to install a GPG key. Compare the key to the "Primary key fingerprint" (see '),t("RouterLink",{attrs:{to:"/documentation/installation-guide.html#iso-verification"}},[e._v('"Verify the downloaded ISO image checksum:"')]),e._v(') and if the fingerprints match, type "y" to continue.')],1)]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("Most EPEL packages require packages from PowerTools/CRB repository as dependencies. Run the suitable command to enable the PowerTools/CRB repository:")]),e._v(" "),t("p",[t("strong",[e._v("AlmaLinux OS 8")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("dnf config-manager --set-enabled powertools\n")])])]),t("p",[t("strong",[e._v("AlmaLinux OS 9")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("dnf config-manager --set-enabled crb\n")])])])]),e._v(" "),t("h2",{attrs:{id:"the-elrepo-project"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#the-elrepo-project"}},[e._v("#")]),e._v(" The ELRepo Project")]),e._v(" "),t("p",[t("a",{attrs:{href:"http://elrepo.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("The ELRepo Project"),t("OutboundLink")],1),e._v(" focuses on hardware related packages to enhance your experience with Enterprise Linux. This includes filesystem drivers, graphics drivers, network drivers, sound drivers, webcam and video drivers. Newer kernels, "),t("code",[e._v("kernel-ml")]),e._v(" and "),t("code",[e._v("kernel-lt")]),e._v(", are also available.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Repository")]),e._v(" "),t("th",[e._v("How to Enable")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("ELRepo")]),e._v(" "),t("td",[e._v("# dnf install elrepo-release")])])])]),e._v(" "),t("h2",{attrs:{id:"rpm-fusion"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#rpm-fusion"}},[e._v("#")]),e._v(" RPM Fusion")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://rpmfusion.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("RPM Fusion"),t("OutboundLink")],1),e._v(" provides software that RHEL and other Enterprise Linux distributions do not ship (like software codecs).")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Repository")]),e._v(" "),t("th",[e._v("How to Enable")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("ELRepo")]),e._v(" "),t("td",[e._v("See "),t("em",[t("a",{attrs:{href:"/documentation/epel-and-rpmfusion"}},[e._v("Installing EPEL and RPM Fusion")])])])])])])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/125.db275901.js b/assets/js/125.db275901.js new file mode 100644 index 000000000..2280e354d --- /dev/null +++ b/assets/js/125.db275901.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[125],{406:function(e,t,r){"use strict";r.r(t);var s=r(14),o=Object(s.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"repositories"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#repositories"}},[e._v("#")]),e._v(" Repositories")]),e._v(" "),t("p",[e._v("A repository stores software packages on a remote server that are used for installing and updating on Linux systems.")]),e._v(" "),t("p",[e._v("Any repository that is intended for RHEL or CentOS can be used in AlmaLinux. As a part of the project, besides AlmaLinux repositories, you may also use CentOS SIGs, EPEL, the ELRepo Project and Synergy repositories\nwith the following instructions:")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"/repos/AlmaLinux"}},[e._v("AlmaLinux")]),e._v(" - AlmaLinux repositories.")]),e._v(" "),t("li",[t("a",{attrs:{href:"/repos/CentOS"}},[e._v("CentOS SIG")]),e._v(" - CentOS SIG's repositories.")]),e._v(" "),t("li",[t("a",{attrs:{href:"/repos/Extras"}},[e._v("Extras")]),e._v(" - Extra repositories such as EPEL and the ELRepo Project.")]),e._v(" "),t("li",[t("a",{attrs:{href:"/repos/Synergy"}},[e._v("Synergy")]),e._v(" - Repository for any RHEL-compatible distribution with packages that are not present in RHEL or EPEL yet but were requested by the Community.")])])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/126.6237062a.js b/assets/js/126.6237062a.js new file mode 100644 index 000000000..bd4aedfb1 --- /dev/null +++ b/assets/js/126.6237062a.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[126],{408:function(e,a,t){"use strict";t.r(a);var r=t(14),o=Object(r.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"synergy-repository"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#synergy-repository"}},[e._v("#")]),e._v(" Synergy Repository")]),e._v(" "),a("h2",{attrs:{id:"about"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#about"}},[e._v("#")]),e._v(" About")]),e._v(" "),a("p",[e._v("Synergy repository contains packages that are not present in RHEL or EPEL yet but were requested by the Community for the Community.\nThis repository can be considered a pre-EPEL repo, since the AlmaLinux OS Foundation, as a member of the EL community, will make every effort to get packages into EPEL so that they become widely available on all RHEL-compatible distributions.\nThe release package of the Synergy repository also allows you to use it not only with AlmaLinux, but with any RHEL-compatible distribution, see the instructions below.")]),e._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[e._v("Package removal policy")]),e._v(" "),a("p",[e._v("Please, "),a("strong",[e._v("note")]),e._v(", that as soon as a package is in EPEL or RHEL, it will be removed from the Synergy repository.")])]),e._v(" "),a("h2",{attrs:{id:"enabling-the-repository"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#enabling-the-repository"}},[e._v("#")]),e._v(" Enabling the repository")]),e._v(" "),a("p",[e._v("Synergy repository can be enabled for AlmaLinux OS and for other distros in EL-ecosystem like RHEL, CentOS, Rocky Linux, etc.")]),e._v(" "),a("p",[e._v("To enable the Synergy repository on AlmaLinux machines run the following command:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("dnf install -y almalinux-release-synergy\n")])])]),a("p",[e._v("To enable the Synergy repository on any RHEL-compatible distribution run the following command:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("dnf install -y https://repo.almalinux.org/almalinux/almalinux-release-synergy-latest-$(rpm -E %rhel).noarch.rpm\n")])])]),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[e._v("Enabling PowerTools/CRB repository")]),e._v(" "),a("p",[e._v("Please, note, that enabling the Synergy repository will also automatically enable EPEL and PowerTools/CRB repositories if epel-release provided by your distribution is recent enough. If you still don't have PowerTools/CRB enabled you should run the following:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("dnf update -y epel-release\ncrb enable\n")])])])]),e._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[e._v("Distributions without epel-release package")]),e._v(" "),a("p",[e._v("If your distribution doesn't provide "),a("code",[e._v("epel-release")]),e._v(" package you'll get a dependency error during "),a("code",[e._v("almalinux-release-synergy")]),e._v(" package install. In this case use the following command to enable the Synergy repository:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm -E %rhel).noarch.rpm \\\n https://repo.almalinux.org/almalinux/almalinux-release-synergy-latest-$(rpm -E %rhel).noarch.rpm\n")])])])]),e._v(" "),a("p",[e._v("Available packages can also be found on "),a("a",{attrs:{href:"https://repo.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("repo.almalinux.org"),a("OutboundLink")],1),e._v(":")]),e._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://repo.almalinux.org/almalinux/8/synergy/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux OS 8"),a("OutboundLink")],1)]),e._v(" "),a("li",[a("a",{attrs:{href:"https://repo.almalinux.org/almalinux/9/synergy/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux OS 9"),a("OutboundLink")],1)])]),e._v(" "),a("p",[e._v("You can use the closest "),a("a",{attrs:{href:"https://mirrors.almalinux.org/isos.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("mirror"),a("OutboundLink")],1),e._v(" for faster access.")]),e._v(" "),a("h2",{attrs:{id:"request-a-package"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#request-a-package"}},[e._v("#")]),e._v(" Request a package")]),e._v(" "),a("p",[e._v("A package can be requested via "),a("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/engineeringpackaging",target:"_blank",rel:"noopener noreferrer"}},[e._v("Packaging chat channel"),a("OutboundLink")],1),e._v(" in Mattermost.\nTo be included in the Synergy repository, a package must meet the following criteria:")]),e._v(" "),a("ul",[a("li",[e._v("The package must not be in the RHEL repositories (including additional repositories like RT, NFV, SAP, etc.)")]),e._v(" "),a("li",[e._v("The package must not be in the EPEL repository")]),e._v(" "),a("li",[e._v("The package must not update, replace, or conflict with packages from RHEL and EPEL")]),e._v(" "),a("li",[e._v("The package developer does not maintain a YUM/DNF repository for RHEL-compatible distributions")])])])}),[],!1,null,null,null);a.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/127.04b265ce.js b/assets/js/127.04b265ce.js new file mode 100644 index 000000000..9cf3a2242 --- /dev/null +++ b/assets/js/127.04b265ce.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[127],{407:function(t,s,a){"use strict";a.r(s);var e=a(14),n=Object(e.a)({},(function(){var t=this,s=t._self._c;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"deploy-a-lamp-server"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#deploy-a-lamp-server"}},[t._v("#")]),t._v(" Deploy a LAMP server")]),t._v(" "),s("table",[s("thead",[s("tr",[s("th",[t._v("Experience Level")]),t._v(" "),s("th",[t._v("⭑⭑")])])]),t._v(" "),s("tbody",[s("tr",[s("td",[t._v("Last modified date")]),t._v(" "),s("td",[t._v("2024-05-18")])])])]),t._v(" "),s("p",[t._v("The "),s("strong",[t._v("LAMP")]),t._v(" stack, comprising "),s("strong",[t._v("L")]),t._v("inux, "),s("strong",[t._v("A")]),t._v("pache, "),s("strong",[t._v("M")]),t._v("ySQL, and "),s("strong",[t._v("P")]),t._v("HP owes much of its popularity and versatility to its open-source nature.")]),t._v(" "),s("ul",[s("li",[s("p",[s("strong",[t._v("L")]),t._v("inux, the operating system at its core, embodies collaborative development, providing a stable foundation for web servers.")])]),t._v(" "),s("li",[s("p",[s("strong",[t._v("A")]),t._v("pache, the iconic web server software, benefits from a community-driven approach, ensuring flexibility and reliability.")])]),t._v(" "),s("li",[s("p",[s("strong",[t._v("M")]),t._v("ySQL, the relational database management system, democratizes access to robust database technology, thanks to its open-source ethos.")])]),t._v(" "),s("li",[s("p",[s("strong",[t._v("P")]),t._v("HP, thrives on community contributions, facilitating dynamic and interactive web experiences.")])])]),t._v(" "),s("p",[t._v("Together, the LAMP stack exemplifies the power of open-source collaboration, empowering developers worldwide to create scalable, cost-effective web applications that drive the modern internet.")]),t._v(" "),s("h2",{attrs:{id:"introduction"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#introduction"}},[t._v("#")]),t._v(" Introduction")]),t._v(" "),s("p",[t._v("For the sake of this guide we'll focus on a "),s("strong",[t._v("LAMP")]),t._v(" server that is composed of these four components:")]),t._v(" "),s("table",[s("thead",[s("tr",[s("th",[t._v("Name")]),t._v(" "),s("th",[t._v("Description")])])]),t._v(" "),s("tbody",[s("tr",[s("td",[t._v("("),s("strong",[t._v("L")]),t._v(") AlmaLinux")]),t._v(" "),s("td",[t._v("The operating system, in this case AlmaLinux 8")])]),t._v(" "),s("tr",[s("td",[s("strong",[t._v("A")]),t._v("pache 2")]),t._v(" "),s("td",[t._v("A trusted open-source web server software known for its reliability and scalability.")])]),t._v(" "),s("tr",[s("td",[s("strong",[t._v("M")]),t._v("ariaDB")]),t._v(" "),s("td",[t._v("A popular open-source database system for managing structured data efficiently.")])]),t._v(" "),s("tr",[s("td",[s("strong",[t._v("P")]),t._v("HP, php-fpm")]),t._v(" "),s("td",[t._v("A widely-used web scripting language known for its simplicity, flexibility, and strong community.")])])])]),t._v(" "),s("h3",{attrs:{id:"requirements"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#requirements"}},[t._v("#")]),t._v(" Requirements")]),t._v(" "),s("ul",[s("li",[t._v("A privileged user ("),s("em",[t._v("sudoer")]),t._v(") or access to the root user.")]),t._v(" "),s("li",[t._v("RHEL based OS, AlmaLinux 8 or 9.")])]),t._v(" "),s("h2",{attrs:{id:"first-step-install-apache-2"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#first-step-install-apache-2"}},[t._v("#")]),t._v(" First step - install Apache 2")]),t._v(" "),s("p",[t._v("Apache is a project designed to develop and maintain an open source HTTP server for modern operating systems along with high security with efficient resource consumption and meeting HTTP standards.\nIt first appeared in 1995 and since 1996 the most popular web server in the world.")]),t._v(" "),s("ul",[s("li",[s("p",[s("strong",[t._v("Install Apache 2:")])]),t._v(" "),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[t._v("sudo")]),t._v(" dnf "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("install")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-y")]),t._v(" httpd\n")])])])]),t._v(" "),s("li",[s("p",[s("strong",[t._v("Allow traffic on port 80:")])]),t._v(" "),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[t._v("sudo")]),t._v(" firewall-cmd --add-port"),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("80")]),t._v("/tcp "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("--permanent")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("sudo")]),t._v(" firewall-cmd "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("--reload")]),t._v("\n")])])])]),t._v(" "),s("li",[s("p",[s("strong",[t._v("Enable and start apache 2:")])]),t._v(" "),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[t._v("sudo")]),t._v(" systemctl "),s("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v("enable")]),t._v(" httpd\n"),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("sudo")]),t._v(" systemctl start httpd\n")])])])])]),t._v(" "),s("p",[t._v("You can test that Apache runs properly by accessing http://YOUR-IP ("),s("strong",[t._v("YOUR-IP")]),t._v(" being your ip address), you should get the following page:")]),t._v(" "),s("p",[s("img",{attrs:{src:"/images/HowTo-LAMP-server-1.png",alt:"AlmaLinux-Apache-Default-page"}})]),t._v(" "),s("h2",{attrs:{id:"second-step-install-mariadb"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#second-step-install-mariadb"}},[t._v("#")]),t._v(" Second step - install MariaDB")]),t._v(" "),s("p",[t._v("MariaDB is one of the major relational databases in the market, built by the developers of MySQL, ensuring to remain open-source, with a large part of the cloud utilizing it for data management purposes.")]),t._v(" "),s("ul",[s("li",[s("p",[s("strong",[t._v("To use a newer repo of MariaDB (To install a newer version) run the following in your cmd:")])]),t._v(" "),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[t._v("cat")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<<")]),t._v("EOF"),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(">")]),t._v("/etc/yum.repos.d/MariaDB.repo\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("mariadb"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\nname "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" MariaDB\nbaseurl "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" https://rpm.mariadb.org/11.3/rhel/8/x86_64/\nmodule_hotfixes "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),t._v("\ngpgkey "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB\ngpgcheck "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),t._v("\nEOF\n")])])])]),t._v(" "),s("li",[s("p",[s("strong",[t._v("Then install, enable and start MariaDB:")])]),t._v(" "),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[t._v("sudo")]),t._v(" dnf "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("install")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-y")]),t._v(" MariaDB-server\n"),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("sudo")]),t._v(" systemctl "),s("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v("enable")]),t._v(" mariadb\n"),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("sudo")]),t._v(" systemctl start mariadb\n")])])])]),t._v(" "),s("li",[s("p",[s("strong",[t._v("Next, run the mariadb-secure-installation:")])]),t._v(" "),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[t._v("mariadb-secure-installation\n")])])]),s("p",[t._v("Enter the following input:")]),t._v(" "),s("table",[s("thead",[s("tr",[s("th",[t._v("Step")]),t._v(" "),s("th",[t._v("Input")])])]),t._v(" "),s("tbody",[s("tr",[s("td",[t._v("Enter current password for root (enter for none)")]),t._v(" "),s("td",[t._v("Press enter")])]),t._v(" "),s("tr",[s("td",[t._v("Switch to unix_socket authentication [Y/n]")]),t._v(" "),s("td",[t._v("Y")])]),t._v(" "),s("tr",[s("td",[t._v("Change the root password? [Y/n]")]),t._v(" "),s("td",[t._v("Y")])]),t._v(" "),s("tr",[s("td",[t._v("Remove anonymous users? [Y/n]")]),t._v(" "),s("td",[t._v("Y")])]),t._v(" "),s("tr",[s("td",[t._v("Disallow root login remotely? [Y/n]")]),t._v(" "),s("td",[t._v("Y")])]),t._v(" "),s("tr",[s("td",[t._v("Remove test database and access to it? [Y/n]")]),t._v(" "),s("td",[t._v("Y")])]),t._v(" "),s("tr",[s("td",[t._v("Reload privilege tables now? [Y/n]")]),t._v(" "),s("td",[t._v("Y")])])])])])]),t._v(" "),s("h2",{attrs:{id:"third-step-install-php-fpm"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#third-step-install-php-fpm"}},[t._v("#")]),t._v(" Third step - install php-fpm")]),t._v(" "),s("p",[t._v("PHP-FPM, or PHP FastCGI Process Manager, is a versatile and efficient PHP processor that separates PHP processes from the web server, enabling better resource management and scalability.\nIt's widely favored by developers for its flexibility and performance, seamlessly integrating with popular web servers like Nginx and Apache (Like in here) to optimize PHP execution across different deployment environments.")]),t._v(" "),s("ul",[s("li",[s("p",[s("strong",[t._v("Enable remi repos:")])]),t._v(" "),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[t._v("sudo")]),t._v(" dnf "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("install")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-y")]),t._v(" https://rpms.remirepo.net/enterprise/remi-release-8.rpm\n")])])])]),t._v(" "),s("li",[s("p",[s("strong",[t._v("Enable php 8.3:")])]),t._v(" "),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[t._v("sudo")]),t._v(" dnf module "),s("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v("enable")]),t._v(" php:remi-8.3 "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-y")]),t._v("\n")])])])]),t._v(" "),s("li",[s("p",[s("strong",[t._v("Install, enable and start php-fpm:")])]),t._v(" "),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[t._v("sudo")]),t._v(" dnf "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("install")]),t._v(" php-fpm\n"),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("sudo")]),t._v(" systemctl "),s("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v("enable")]),t._v(" php-fpm\n"),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("sudo")]),t._v(" systemctl start php-fpm\n")])])])])]),t._v(" "),s("h2",{attrs:{id:"optional-step-adding-a-website"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#optional-step-adding-a-website"}},[t._v("#")]),t._v(" Optional step - adding a website")]),t._v(" "),s("ul",[s("li",[s("p",[s("strong",[t._v("Make a user in which the site would belong to and add the needed directories:")])]),t._v(" "),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[t._v("useradd")]),t._v(" almasite\n"),s("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v("cd")]),t._v(" /home/almasite/\n"),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("mkdir")]),t._v(" logs public_html\n")])])])]),t._v(" "),s("li",[s("p",[s("strong",[t._v("Fix the privileges:")])]),t._v(" "),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[t._v("chown")]),t._v(" almasite:almasite logs public_html\n")])])])]),t._v(" "),s("li",[s("p",[s("strong",[t._v("Create a configuration file in "),s("code",[t._v("/etc/httpd/conf.d/")]),t._v(" named almasite.conf:")])]),t._v(" "),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<")]),t._v("VirtualHost *:8"),s("span",{pre:!0,attrs:{class:"token operator"}},[s("span",{pre:!0,attrs:{class:"token file-descriptor important"}},[t._v("0")]),t._v(">")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# The domain")]),t._v("\n ServerName almasite.com\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# The domains alias")]),t._v("\n ServerAlias www.almasite.com\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Full path to the website files")]),t._v("\n DocumentRoot /home/almasite/public_html\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Full path to the error log file")]),t._v("\n ErrorLog /home/almasite/logs/error.log\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# A custom log to record requests to the website")]),t._v("\n CustomLog /home/almasite/logs/access.log combined\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Apply directives only on a given directory")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<")]),t._v("Directory /home/almasite/public_html"),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(">")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Enables the server to follow symbolic links within directories")]),t._v("\n Options Indexes FollowSymLinks\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Permits the use of .htaccess files to override server configuration settings")]),t._v("\n AllowOverride All\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Allow access to the specified directory and its contents to all users")]),t._v("\n Require all granted\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Specifies default file for directory access")]),t._v("\n DirectoryIndex index.php\n "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<")]),t._v("/Directory"),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(">")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Route requests based on patterns")]),t._v("\n ProxyPassMatch ^/"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v(".*"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("\\")]),t._v(".php"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("/.*"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("?"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("$ fcgi://127.0.0.1:9000/home/almasite/public_html/\n"),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<")]),t._v("/VirtualHost"),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(">")]),t._v("\n")])])]),s("p",[t._v("Notice the comments explaining each directive.")])]),t._v(" "),s("li",[s("p",[s("strong",[t._v("Add a php-fpm pool")])]),t._v(" "),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[t._v("cp")]),t._v(" /etc/php-fpm.d/www.conf /etc/php-fpm.d/almasite.conf\n")])])]),s("p",[t._v("Open the newly created file with your preferred text editor and change the following:")]),t._v(" "),s("ul",[s("li",[s("strong",[t._v("[www]")]),t._v(" - with the pools name (.e.g almasite)")]),t._v(" "),s("li",[s("strong",[t._v("user = apache")]),t._v(" - your user (.i.e almasite)")]),t._v(" "),s("li",[s("strong",[t._v("group = apache")]),t._v(" - your group (.i.e almasite)")]),t._v(" "),s("li",[s("strong",[t._v("listen = /run/php-fpm/www.soc")]),t._v(" - your listening method, in this case we use port 9000 (listen = 9000)")])])]),t._v(" "),s("li",[s("p",[s("strong",[t._v("Add the websites files: (or file in this case 😉)")])]),t._v(" "),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[t._v("touch")]),t._v(" /home/almasite/public_html/index.php\n")])])]),s("p",[t._v("Open your preferred text editor and add the following:")]),t._v(" "),s("div",{staticClass:"language-html extra-class"},[s("pre",{pre:!0,attrs:{class:"language-html"}},[s("code",[s("span",{pre:!0,attrs:{class:"token doctype"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("html")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("head")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("title")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("Hello world!"),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("body")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token prolog"}},[t._v('Hello world!
This message is sent from PHP, the time now is $now" ?>')]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])]),t._v(" "),s("li",[s("p",[s("strong",[t._v("Manipulate your hosts file to view your newly created website:")])]),t._v(" "),s("div",{staticClass:"custom-block tip"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("While I cant tell you your "),s("strong",[t._v("IP")]),t._v(" address, I can tell you that the domain is almasite.com and the alias is www.almasite.com. (That is if you followed my guide exactly)")]),t._v(" "),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[t._v("YOUR-IP-ADDRESS www.almasite.com almasite.com\n")])])])]),t._v(" "),s("br"),t._v(" "),s("p",[s("em",[s("ins",[t._v("Linux")]),t._v(":")])]),t._v(" "),s("p",[t._v("Edit your hosts file using vim:")]),t._v(" "),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[t._v("sudo")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("vim")]),t._v(" /etc/hosts\n")])])]),s("p",[t._v("Then press "),s("code",[t._v("i")]),t._v(" to enter insert mode and add the following line "),s("strong",[t._v("end")]),t._v(" of the file:")]),t._v(" "),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("IP ADDRESS"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("DOMAIN"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n")])])]),t._v(" "),s("br"),t._v(" "),s("p",[s("em",[s("ins",[t._v("Windows")]),t._v(":")])]),t._v(" "),s("p",[t._v("Open Notepad as administrator and open the hosts file:")]),t._v(" "),s("blockquote",[s("p",[t._v("path: "),s("strong",[t._v("c:\\Windows\\System32\\Drivers\\etc\\hosts")])])]),t._v(" "),s("p",[t._v("Add the following line at the end of the file:")]),t._v(" "),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("IP ADDRESS"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("DOMAIN"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n")])])]),s("p",[t._v("And save.")])]),t._v(" "),s("li",[s("p",[s("strong",[t._v("Results:")])]),t._v(" "),s("p",[t._v("You should get a similar result:\n"),s("img",{attrs:{src:"/images/HowTo-LAMP-server-2.png",alt:"LAMP-server-results"}})])])])])}),[],!1,null,null,null);s.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/128.d1473bb6.js b/assets/js/128.d1473bb6.js new file mode 100644 index 000000000..67d483f3e --- /dev/null +++ b/assets/js/128.d1473bb6.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[128],{410:function(e,t,s){"use strict";s.r(t);var i=s(14),r=Object(i.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"howto-series-almalinux-tutorials-🚀"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#howto-series-almalinux-tutorials-🚀"}},[e._v("#")]),e._v(" Howto Series: AlmaLinux Tutorials 🚀")]),e._v(" "),t("p",[e._v("Welcome to our Howto series on AlmaLinux! In this series, we provide comprehensive guides and tutorials to help you learn and master various aspects of AlmaLinux. Whether you are interested in Nginx or system-related topics, we've got you covered.")]),e._v(" "),t("h2",{attrs:{id:"nginx-series"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#nginx-series"}},[e._v("#")]),e._v(" Nginx Series")]),e._v(" "),t("p",[e._v("The Nginx series focuses on all things related to Nginx web server. From installation to configuration, security, and optimization, you will find step-by-step guides to help you deploy and manage a powerful web server on AlmaLinux.")]),e._v(" "),t("p",[e._v("Browse the articles in the Nginx series:")]),e._v(" "),t("ul",[t("li",[t("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA01.html"}},[e._v("A01")]),e._v(" ❯ Beginner's Guide")],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA02R8.html"}},[e._v("A02 R8")]),e._v(" ❯ AlmaLinux 8.x Installation Examples")],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA02R91.html"}},[e._v("A02 R9.1")]),e._v(" ❯ AlmaLinux 9.1 Installation Examples")],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA02R92.html"}},[e._v("A02 R9.2")]),e._v(" ❯ AlmaLinux 9.2 Installation Examples")],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA03.html"}},[e._v("A03")]),e._v(" ❯ Default Configuration Guide")],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA04P1.html"}},[e._v("A04")]),e._v(" ❯ Secure Nginx Deployment")],1)]),e._v(" "),t("h2",{attrs:{id:"system-series"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#system-series"}},[e._v("#")]),e._v(" System Series")]),e._v(" "),t("p",[t("strong",[e._v("The vision:")]),e._v(" (In near future) The System series covers a wide range of system-related topics on AlmaLinux. This guides will help you enhance your system administration skills and ensure the stability and security of your AlmaLinux environment.")]),e._v(" "),t("p",[e._v("Explore the articles in the System series:")]),e._v(" "),t("ul",[t("li",[t("RouterLink",{attrs:{to:"/series/system/SystemSeriesA01.html"}},[e._v("A01")]),e._v(" ❯ Application Streams")],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/series/system/SystemSeriesA02.html"}},[e._v("A02")]),e._v(" ❯ Firewalld: A Beginner's Guide")],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/series/system/SystemSeriesA03.html"}},[e._v("A03")]),e._v(" ❯ NVIDIA Driver Installation Guide")],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/series/system/SystemSeriesA03R8.html"}},[e._v("A03 R8")]),e._v(" ❯ NVIDIA Driver: Installation on 8.x")],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/series/system/SystemSeriesA03R9.html"}},[e._v("A03 R9")]),e._v(" ❯ NVIDIA Driver: Installation on 9.x")],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/series/system/SystemSeriesA04.html"}},[e._v("A04")]),e._v(" ❯ Snapd Installation Guide")],1),e._v(" "),t("li",[t("RouterLink",{attrs:{to:"/series/system/SystemSeriesA05.html"}},[e._v("A05")]),e._v(" ❯ Multimedia Codecs Installation Guide")],1)]),e._v(" "),t("p",[e._v("Dive into our Howto series and unlock the full potential of AlmaLinux. Happy hacking! 🐧💻🚀")]),e._v(" "),t("hr"),e._v(" "),t("h5",{attrs:{id:"trademark-notices"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#trademark-notices"}},[e._v("#")]),e._v(" Trademark Notices")]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[t("strong",[e._v("AlmaLinux")]),e._v(" is a registered trademark of AlmaLinux OS Foundation.")]),e._v(" "),t("p",[t("strong",[e._v("Linux®")]),e._v(" is a registered trademark of Linus Torvalds in the U.S. and other countries.")]),e._v(" "),t("p",[t("strong",[e._v("macOS")]),e._v(" are trademarks of Apple Inc., registered in the U.S. and other countries.")]),e._v(" "),t("p",[t("strong",[e._v("NVIDIA")]),e._v(" is a registered trademark of NVIDIA Corporation in the U.S. and other countries.")]),e._v(" "),t("p",[t("strong",[e._v("Red Hat")]),e._v(" is a registered trademark of Red Hat, Inc. or its subsidiaries in the United States and other countries.")]),e._v(" "),t("p",[t("strong",[e._v("Windows")]),e._v(" is a registered trademark of Microsoft Corporation in the United States and other countries.")]),e._v(" "),t("p",[e._v("All other trademarks are the property of their respective owners.")])])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/129.af95411e.js b/assets/js/129.af95411e.js new file mode 100644 index 000000000..9ac8dc0bf --- /dev/null +++ b/assets/js/129.af95411e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[129],{413:function(e,t,a){"use strict";a.r(t);var s=a(14),n=Object(s.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"a01-❯-a-beginner-s-guide"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#a01-❯-a-beginner-s-guide"}},[e._v("#")]),e._v(" A01 ❯ A Beginner's Guide")]),e._v(" "),t("p",[t("small",[e._v("ℹ️ This article is part of AlmaLinux "),t("RouterLink",{attrs:{to:"/series/"}},[e._v("Nginx Series")]),e._v(".")],1)]),t("hr"),t("p"),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("💡")]),e._v(" "),t("th",[e._v("Experience Level")]),e._v(" "),t("th",[e._v("⭐☆☆☆☆")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("📆")]),e._v(" "),t("td",[t("small",[e._v("Last modified ")])]),e._v(" "),t("td",[e._v("2023-05-10")])]),e._v(" "),t("tr",[t("td",[e._v("🔧")]),e._v(" "),t("td",[t("small",[e._v("Tested by "),t("br"),e._v(" ↳ version | platform | date ")])]),e._v(" "),t("td",[t("small",[t("a",{attrs:{href:"mailto:psuchanecki@almalinux.org"}},[e._v("Pawel Suchanecki")]),e._v(" "),t("br"),e._v(" ↳ 9.1 | x86_64 | 2023-04-21 ")])])])])]),e._v(" "),t("br"),e._v(" "),t("h2",{attrs:{id:"🌟-introduction"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#🌟-introduction"}},[e._v("#")]),e._v(" 🌟 Introduction")]),e._v(" "),t("p",[e._v("In this guide, we offer a detailed walk-through of Nginx installation, exploring three potential installation methods with examples for AlmaLinux OS 8.x and 9.x. You'll gain insights into essential Nginx interactions, and we'll present a tailored-learning path crafted to assist you in mastering Nginx and achieving proficiency in its utilization.")]),e._v(" "),t("h3",{attrs:{id:"about-nginx"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#about-nginx"}},[e._v("#")]),e._v(" About Nginx")]),e._v(" "),t("p",[e._v("Nginx is a popular open-source, powerful web server and reverse proxy that is known for its high performance and stability. It can be used to serve static and dynamic content, load balance traffic, and optimize performance and scalability.")]),e._v(" "),t("h3",{attrs:{id:"architecture"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#architecture"}},[e._v("#")]),e._v(" Architecture")]),e._v(" "),t("p",[e._v("Nginx is based on an event-driven architecture, which differs from traditional thread-based web servers by handling multiple connections simultaneously without creating a separate thread for each one. This approach enables Nginx to efficiently manage a large number of connections with minimal overhead, resulting in improved performance, especially under high load conditions.")]),e._v(" "),t("h3",{attrs:{id:"primary-components"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#primary-components"}},[e._v("#")]),e._v(" Primary components")]),e._v(" "),t("p",[e._v("The primary components of Nginx include the master process, worker processes, and configuration files. The master process is responsible for reading and validating the configuration file, managing worker processes, and handling signals. Worker processes handle incoming client requests, process them, and send responses back to the clients. Configuration files define the behavior of Nginx, specifying how it should handle different types of requests, route traffic, and manage other settings.")]),e._v(" "),t("h3",{attrs:{id:"best-practices"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#best-practices"}},[e._v("#")]),e._v(" Best practices")]),e._v(" "),t("p",[e._v("In this series, we will delve into best practices and uncover new aspects of Nginx to accelerate your learning and develop practical skills. Here is a basic set of best practices:")]),e._v(" "),t("ul",[t("li",[t("strong",[e._v("Strengthen Server Security")]),e._v(": Adopt security best practices, including firewalls, intrusion detection systems, and regular software updates, to safeguard your server from potential attacks.")]),e._v(" "),t("li",[t("strong",[e._v("Implement HTTPS")]),e._v(": Ensure SSL/TLS certificates are in place to encrypt traffic between your server and users.")]),e._v(" "),t("li",[t("strong",[e._v("Enhance Performance")]),e._v(": Employ caching and load balancing techniques to optimize your server's performance and scalability.")])]),e._v(" "),t("h2",{attrs:{id:"🧠-fundamental-concepts"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#🧠-fundamental-concepts"}},[e._v("#")]),e._v(" 🧠 Fundamental Concepts")]),e._v(" "),t("h3",{attrs:{id:"nginx-installation-variants"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#nginx-installation-variants"}},[e._v("#")]),e._v(" Nginx Installation Variants")]),e._v(" "),t("p",[e._v("There are three ways of installing Nginx on AlmaLinux 8.x and 9.x:")]),e._v(" "),t("ul",[t("li",[t("strong",[e._v("AppStream non-module")]),e._v("\n-- Installs the default, non-module version from the AppStream repository")]),e._v(" "),t("li",[t("strong",[e._v("AppStream module")]),e._v("\n-- Installs the module version from the AppStream repository\n-- Allows installation of a specific version for compatibility reasons")]),e._v(" "),t("li",[t("strong",[e._v("F5 Networks repository")]),e._v("\n-- Involves defining a new repository data for your system\n-- Installs the latest RPM package from external main-line repository\n-- Allows always running the latest version of Nginx")])]),e._v(" "),t("h2",{attrs:{id:"📝-key-takeaways"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#📝-key-takeaways"}},[e._v("#")]),e._v(" 📝 Key Takeaways")]),e._v(" "),t("h3",{attrs:{id:"➡️-installing"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#➡️-installing"}},[e._v("#")]),e._v(" ➡️ Installing")]),e._v(" "),t("ul",[t("li",[t("strong",[e._v("Update System Packages")]),e._v(": Ensure your system packages are up-to-date before installing Nginx by running:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo dnf update\n")])])]),t("ul",[t("li",[t("strong",[e._v("Configure Firewall")]),e._v(": Allow incoming traffic on TCP ports for HTTP & HTTPS services (80 & 443, respectively):")])]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("On AlmaLinux OS, the "),t("code",[e._v("Firewalld")]),e._v(" packet filtering service is enabled by default")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo firewall-cmd --permanent --add-service={http,https} \nsudo firewall-cmd --reload\n")])])]),t("ul",[t("li",[t("p",[t("strong",[e._v("Install Nginx")]),e._v(": Install Nginx using one of the three variants: default package repository, Appstream module, or Nginx repository.")]),e._v(" "),t("p",[t("u",[e._v("Compatibility Matrix")])]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Install Variant")]),e._v(" "),t("th",[e._v("8.7")]),e._v(" "),t("th",[e._v("9.1")]),e._v(" "),t("th",[e._v("9.2")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("I. AppStream non-module")]),e._v(" "),t("td",[e._v("❗¹")]),e._v(" "),t("td",[e._v("✅")]),e._v(" "),t("td",[e._v("❗²")])]),e._v(" "),t("tr",[t("td",[e._v("II. AppStream module")]),e._v(" "),t("td",[e._v("✅")]),e._v(" "),t("td",[e._v("❌")]),e._v(" "),t("td",[e._v("✅")])]),e._v(" "),t("tr",[t("td",[e._v("III. Mainline repo")]),e._v(" "),t("td",[e._v("✅")]),e._v(" "),t("td",[e._v("✅")]),e._v(" "),t("td",[e._v("✅")])])])]),e._v(" "),t("p",[e._v("¹ On 8.7, this will actually install the AppStream module.\n"),t("br"),e._v("\n² Default version is outdated; AppStream module is recommended.")])])]),e._v(" "),t("h3",{attrs:{id:"➡️-testing"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#➡️-testing"}},[e._v("#")]),e._v(" ➡️ Testing")]),e._v(" "),t("ul",[t("li",[t("strong",[e._v("Start Nginx Service")]),e._v(": After installation, start the Nginx service with:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo systemctl start nginx\n")])])]),t("ul",[t("li",[t("strong",[e._v("Check Nginx Status")]),e._v(": Verify if Nginx is running properly by running:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo systemctl status nginx\n")])])]),t("ul",[t("li",[t("strong",[e._v("Check Firewall Status")]),e._v(": make sure "),t("code",[e._v("http")]),e._v(" & "),t("code",[e._v("https")]),e._v(" services are enabled (open ports):")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo firewall-cmd --list-services \n")])])]),t("ul",[t("li",[t("strong",[e._v("Test Nginx Installation")]),e._v(": Navigate a web browser of your choice to your server's hostname or IP address to check for the default page.")])]),e._v(" "),t("p",[t("strong",[e._v("Example:")]),e._v(" we use "),t("code",[e._v("lynx")]),e._v(" to be able to perform the check from command-line-interface:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("lynx http://localhost/ \n")])])]),t("details",{staticClass:"custom-block details"},[t("summary",[e._v("DETAILS")]),e._v(" "),t("p",[t("code",[e._v("lynx")]),e._v(" is a text-based web browser for use on cursor-addressable character (cell) terminals.")]),e._v(" "),t("p",[e._v("Install it with "),t("code",[e._v("dnf install lynx")]),e._v(".")])]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("To exit "),t("code",[e._v("lynx")]),e._v(" press "),t("code",[e._v("q")]),e._v(" and then "),t("code",[e._v("y")]),e._v(" to confirm.")])]),e._v(" "),t("h3",{attrs:{id:"➡️-configuring"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#➡️-configuring"}},[e._v("#")]),e._v(" ➡️ Configuring")]),e._v(" "),t("ul",[t("li",[t("p",[t("strong",[e._v("Configure Nginx")]),e._v(": To serve your own content, edit the Nginx configuration file at:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("/etc/nginx/nginx.conf\n")])])])]),e._v(" "),t("li",[t("p",[t("strong",[e._v("Test Nginx Configuration")]),e._v(": Before reloading Nginx, test the configuration file for syntax errors using:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo nginx -t\n")])])])])]),e._v(" "),t("h3",{attrs:{id:"➡️-management"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#➡️-management"}},[e._v("#")]),e._v(" ➡️ Management")]),e._v(" "),t("ul",[t("li",[t("p",[t("strong",[e._v("Reload Nginx")]),e._v(": Reload Nginx to apply configuration changes with:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo systemctl reload nginx\n")])])])]),e._v(" "),t("li",[t("p",[t("strong",[e._v("Stop Nginx Service")]),e._v(": To stop the Nginx service, execute the command:")])])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo systemctl stop nginx\n")])])]),t("ul",[t("li",[t("strong",[e._v("Enable Nginx at Boot")]),e._v(": To start Nginx automatically at system boot, run:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo systemctl enable nginx \n")])])]),t("h2",{attrs:{id:"📖-release-specific-installation"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#📖-release-specific-installation"}},[e._v("#")]),e._v(" 📖 Release-Specific Installation")]),e._v(" "),t("p",[t("u",[e._v("AlmaLinux version-specific examples:")])]),e._v(" "),t("ul",[t("li",[e._v("AlmaLinux Nginx Series ❯ "),t("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA02R8.html"}},[e._v("AlmaLinux OS 8.x Installation Examples")])],1),e._v(" "),t("li",[e._v("AlmaLinux Nginx Series ❯ "),t("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA02R91.html"}},[e._v("AlmaLinux OS 9.1 Installation Examples")])],1),e._v(" "),t("li",[e._v("AlmaLinux Nginx Series ❯ "),t("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA02R92.html"}},[e._v("AlmaLinux OS 9.2 Installation Examples")])],1)]),e._v(" "),t("h2",{attrs:{id:"📚-further-reading-and-next-steps"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#📚-further-reading-and-next-steps"}},[e._v("#")]),e._v(" 📚 Further reading and Next Steps")]),e._v(" "),t("p",[t("u",[e._v("In-depth Resources:")])]),e._v(" "),t("ul",[t("li",[e._v("AlmaLinux Nginx Series ❯ "),t("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA03.html"}},[e._v("Default Configuration Guide")])],1),e._v(" "),t("li",[e._v("AlmaLinux Nginx Series ❯ "),t("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA04P1.html"}},[e._v("Secure Nginx Deployment")])],1)]),e._v(" "),t("p",[t("u",[e._v("Related Resources:")])]),e._v(" "),t("ul",[t("li",[e._v("AlmaLinux Firewalld Series ❯ "),t("RouterLink",{attrs:{to:"/series/system/SystemSeriesA02.html"}},[e._v("A Beginner's Guide")])],1),e._v(" "),t("li",[e._v("AlmaLinux System Series ❯ "),t("RouterLink",{attrs:{to:"/series/system/SystemSeriesA01.html"}},[e._v("Application Streams")])],1)])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/13.2da78b42.js b/assets/js/13.2da78b42.js new file mode 100644 index 000000000..cbf90dcdc --- /dev/null +++ b/assets/js/13.2da78b42.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{274:function(e,t,a){"use strict";var i=TypeError;e.exports=function(e,t){if(e({placeholder:void 0}),watch:{$lang(e){this.update(this.options,e)},options(e){this.update(e,this.$lang)}},mounted(){this.initialize(this.options,this.$lang),this.placeholder=this.$site.themeConfig.searchPlaceholder||""},methods:{initialize(e,t){Promise.all([Promise.all([a.e(0),a.e(9)]).then(a.t.bind(null,297,7)),Promise.all([a.e(0),a.e(9)]).then(a.t.bind(null,298,7))]).then(([a])=>{a=a.default;const{algoliaOptions:i={}}=e;a(Object.assign({},e,{inputSelector:"#algolia-search-input",algoliaOptions:{...i,facetFilters:["lang:"+t].concat(i.facetFilters||[])},handleSelected:(e,t,a)=>{const{pathname:i,hash:n}=new URL(a.url),r=i.replace(this.$site.base,"/"),s=decodeURIComponent(n);this.$router.push(`${r}${s}`)}}))})},update(e,t){this.$el.innerHTML='',this.initialize(e,t)}}},n=(a(289),a(14)),r=Object(n.a)(i,(function(){var e=this._self._c;return e("form",{staticClass:"algolia-search-wrapper search-box",attrs:{id:"search-form",role:"search"}},[e("input",{staticClass:"search-query",attrs:{id:"algolia-search-input",placeholder:this.placeholder}})])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/130.9e95b766.js b/assets/js/130.9e95b766.js new file mode 100644 index 000000000..61770e276 --- /dev/null +++ b/assets/js/130.9e95b766.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[130],{412:function(e,n,a){"use strict";a.r(n);var l=a(14),t=Object(l.a)({},(function(){var e=this,n=e._self._c;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("h1",{attrs:{id:"a02-r8-❯-almalinux-8-x-installation"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#a02-r8-❯-almalinux-8-x-installation"}},[e._v("#")]),e._v(" A02 R8 ❯ AlmaLinux 8.x Installation")]),e._v(" "),n("p",[n("small",[e._v("ℹ️ This article is part of AlmaLinux "),n("RouterLink",{attrs:{to:"/series/"}},[e._v("Nginx Series")]),e._v(".")],1)]),n("hr"),n("p"),e._v(" "),n("table",[n("thead",[n("tr",[n("th",[e._v("💡")]),e._v(" "),n("th",[e._v("Experience Level")]),e._v(" "),n("th",[e._v("⭐☆☆☆☆")])])]),e._v(" "),n("tbody",[n("tr",[n("td",[e._v("📆")]),e._v(" "),n("td",[n("small",[e._v("Last modified ")])]),e._v(" "),n("td",[e._v("2023-05-16")])]),e._v(" "),n("tr",[n("td",[e._v("🔧")]),e._v(" "),n("td",[n("small",[e._v("Tested by "),n("br"),e._v(" ↳ version | platform | date ")])]),e._v(" "),n("td",[n("small",[n("a",{attrs:{href:"mailto:psuchanecki@almalinux.org"}},[e._v("Pawel Suchanecki")]),e._v(" "),n("br"),e._v(" ↳ 9.1 | x86_64 | 2023-04-21 ")])])])])]),e._v(" "),n("br"),e._v(" "),n("h2",{attrs:{id:"🌟-introduction"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#🌟-introduction"}},[e._v("#")]),e._v(" 🌟 Introduction")]),e._v(" "),n("p",[e._v("This is a dedicated example for the "),n("strong",[e._v("AlmaLinux 8.x series")]),e._v(", demonstrating how to install Nginx using one of the three variants:")]),e._v(" "),n("ul",[n("li",[e._v("Variant I: AppStream non-module")]),e._v(" "),n("li",[e._v("Variant II: AppStream module")]),e._v(" "),n("li",[e._v("Variant III: Nginx mainline repository")])]),e._v(" "),n("h2",{attrs:{id:"📝-installation-instructions"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#📝-installation-instructions"}},[e._v("#")]),e._v(" 📝 Installation instructions")]),e._v(" "),n("h3",{attrs:{id:"system-updates-first"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#system-updates-first"}},[e._v("#")]),e._v(" System Updates First!")]),e._v(" "),n("div",{staticClass:"custom-block warning"},[n("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),n("p",[e._v("Please make sure to run "),n("strong",[n("code",[e._v("sudo dnf update")])]),e._v(" before proceeding with any other installation or configuration steps to ensure that your system is up-to-date and any known security vulnerabilities or bugs are patched.")])]),e._v(" "),n("h3",{attrs:{id:"📖-available-nginx-versions-almalinux-os-8-7"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#📖-available-nginx-versions-almalinux-os-8-7"}},[e._v("#")]),e._v(" 📖 Available Nginx Versions (AlmaLinux OS 8.7)")]),e._v(" "),n("p",[e._v("Different Nginx server versions are available to install depending on the installation variant.")]),e._v(" "),n("table",[n("thead",[n("tr",[n("th"),e._v(" "),n("th",[e._v("Installation Variant")]),e._v(" "),n("th",[e._v("Nginx Versions available")]),e._v(" "),n("th",[e._v("Notes")])])]),e._v(" "),n("tbody",[n("tr",[n("td",[e._v("🟥")]),e._v(" "),n("td",[e._v("AppStream non-module")]),e._v(" "),n("td",[e._v("1.14")]),e._v(" "),n("td",[e._v("Default version is outdated and does not get updates! Inadvisable.")])]),e._v(" "),n("tr",[n("td",[e._v("🟩")]),e._v(" "),n("td",[e._v("AppStream module")]),e._v(" "),n("td",[e._v("1.14 -- 1.20")]),e._v(" "),n("td",[e._v("Module version are getting the security updates. "),n("strong",[e._v("The recommended method")]),e._v(".")])]),e._v(" "),n("tr",[n("td",[e._v("🟨")]),e._v(" "),n("td",[e._v("Nginx mainline repo")]),e._v(" "),n("td",[e._v("1.15.2 -- 1.23.3¹")]),e._v(" "),n("td",[e._v("You always get latest version of Nginx avaiable. Second good (small chance of incompatibilty).")])])])]),e._v(" "),n("p",[e._v("¹ current version at the time of testing (1.23.4 already available at Nginx.org)")]),e._v(" "),n("p",[n("u",[e._v("Architecture Compatibility")])]),e._v(" "),n("table",[n("thead",[n("tr",[n("th",[e._v("Architecture")]),e._v(" "),n("th",[e._v("Supported")])])]),e._v(" "),n("tbody",[n("tr",[n("td",[e._v("Aarch64")]),e._v(" "),n("td",[e._v("✅")])]),e._v(" "),n("tr",[n("td",[e._v("PowerPC")]),e._v(" "),n("td",[e._v("❌")])]),e._v(" "),n("tr",[n("td",[e._v("S390X")]),e._v(" "),n("td",[e._v("✅")])]),e._v(" "),n("tr",[n("td",[e._v("X86_64")]),e._v(" "),n("td",[e._v("✅")])])])]),e._v(" "),n("h3",{attrs:{id:"🔖-variant-i-appstream-non-module-install"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#🔖-variant-i-appstream-non-module-install"}},[e._v("#")]),e._v(" 🔖 Variant I - AppStream Non-module Install")]),e._v(" "),n("p",[e._v("There is no Nginx AppStream non-module package on AlmaLinux 8.x series, but there is an Appstream module one. For that reason, "),n("code",[e._v("dnf")]),e._v(" will offer you to install Nginx as module (version "),n("strong",[e._v("1:1.14")]),e._v(") and accompanying elements of its Application Stream, by default.")]),e._v(" "),n("h3",{attrs:{id:"➡️-install"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#➡️-install"}},[e._v("#")]),e._v(" ➡️ Install")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("sudo dnf install nginx\n")])])]),n("p",[e._v("Example output:")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("Last metadata expiration check: 8:40:11 ago on Thu 13 Apr 2023 09:34:17 PM EDT.\nDependencies resolved.\n================================================================================================================================\n Package Architecture Version Repository Size\n================================================================================================================================\nInstalling:\n nginx x86_64 1:1.14.1-9.module_el8.3.0+2165+af250afe.alma appstream 568 k\nInstalling dependencies:\n gd x86_64 2.2.5-7.el8 appstream 143 k\n jbigkit-libs x86_64 2.1-14.el8 appstream 54 k\n libXpm x86_64 3.5.12-9.el8_7 appstream 57 k\n libjpeg-turbo x86_64 1.5.3-12.el8 appstream 156 k\n libtiff x86_64 4.0.9-26.el8_7 appstream 188 k\n libwebp x86_64 1.0.0-5.el8 appstream 271 k\n nginx-all-modules noarch 1:1.14.1-9.module_el8.3.0+2165+af250afe.alma appstream 23 k\n nginx-filesystem noarch 1:1.14.1-9.module_el8.3.0+2165+af250afe.alma appstream 23 k\n nginx-mod-http-image-filter x86_64 1:1.14.1-9.module_el8.3.0+2165+af250afe.alma appstream 34 k\n nginx-mod-http-perl x86_64 1:1.14.1-9.module_el8.3.0+2165+af250afe.alma appstream 44 k\n nginx-mod-http-xslt-filter x86_64 1:1.14.1-9.module_el8.3.0+2165+af250afe.alma appstream 32 k\n nginx-mod-mail x86_64 1:1.14.1-9.module_el8.3.0+2165+af250afe.alma appstream 63 k\n nginx-mod-stream x86_64 1:1.14.1-9.module_el8.3.0+2165+af250afe.alma appstream 84 k\n perl-Carp noarch 1.42-396.el8 baseos 30 k\n perl-Data-Dumper x86_64 2.167-399.el8 baseos 58 k\n perl-Digest noarch 1.17-395.el8 appstream 27 k\n perl-Digest-MD5 x86_64 2.55-396.el8 appstream 37 k\n perl-Encode x86_64 4:2.97-3.el8 baseos 1.5 M\n perl-Errno x86_64 1.28-421.el8 baseos 75 k\n perl-Exporter noarch 5.72-396.el8 baseos 34 k\n perl-File-Path noarch 2.15-2.el8 baseos 38 k\n perl-File-Temp noarch 0.230.600-1.el8 baseos 62 k\n perl-Getopt-Long noarch 1:2.50-4.el8 baseos 63 k\n perl-HTTP-Tiny noarch 0.074-1.el8 baseos 58 k\n perl-IO x86_64 1.38-421.el8 baseos 141 k\n perl-MIME-Base64 x86_64 3.15-396.el8 baseos 30 k\n perl-Net-SSLeay x86_64 1.88-2.module_el8.6.0+2811+fe6c84b0 appstream 378 k\n perl-PathTools x86_64 3.74-1.el8 baseos 90 k\n perl-Pod-Escapes noarch 1:1.07-395.el8 baseos 20 k\n perl-Pod-Perldoc noarch 3.28-396.el8 baseos 86 k\n perl-Pod-Simple noarch 1:3.35-395.el8 baseos 213 k\n perl-Pod-Usage noarch 4:1.69-395.el8 baseos 34 k\n perl-Scalar-List-Utils x86_64 3:1.49-2.el8 baseos 68 k\n perl-Socket x86_64 4:2.027-3.el8 baseos 59 k\n perl-Storable x86_64 1:3.11-3.el8 baseos 98 k\n perl-Term-ANSIColor noarch 4.06-396.el8 baseos 46 k\n perl-Term-Cap noarch 1.17-395.el8 baseos 23 k\n perl-Text-ParseWords noarch 3.30-395.el8 baseos 18 k\n perl-Text-Tabs+Wrap noarch 2013.0523-395.el8 baseos 24 k\n perl-Time-Local noarch 1:1.280-1.el8 baseos 33 k\n perl-URI noarch 1.73-3.el8 appstream 116 k\n perl-Unicode-Normalize x86_64 1.25-396.el8 baseos 82 k\n perl-constant noarch 1.33-396.el8 baseos 25 k\n perl-interpreter x86_64 4:5.26.3-421.el8 baseos 6.3 M\n perl-libnet noarch 3.11-3.el8 appstream 121 k\n perl-libs x86_64 4:5.26.3-421.el8 baseos 1.6 M\n perl-macros x86_64 4:5.26.3-421.el8 baseos 71 k\n perl-parent noarch 1:0.237-1.el8 baseos 20 k\n perl-podlators noarch 4.11-1.el8 baseos 118 k\n perl-threads x86_64 1:2.21-2.el8 baseos 61 k\n perl-threads-shared x86_64 1.58-2.el8 baseos 47 k\nInstalling weak dependencies:\n perl-IO-Socket-IP noarch 0.39-5.el8 appstream 47 k\n perl-IO-Socket-SSL noarch 2.066-4.module_el8.6.0+2811+fe6c84b0 appstream 297 k\n perl-Mozilla-CA noarch 20160104-7.module_el8.5.0+2812+ed912d05 appstream 14 k\nEnabling module streams:\n nginx 1.14 \n perl 5.26 \n perl-IO-Socket-SSL 2.066 \n perl-libwww-perl 6.34 \n\nTransaction Summary\n================================================================================================================================\nInstall 55 Packages\n\nTotal download size: 14 M\nInstalled size: 40 M\nIs this ok [y/N]: y\nDownloading Packages:\n(1/55): perl-Carp-1.42-396.el8.noarch.rpm 304 kB/s | 30 kB 00:00 \n(2/55): perl-Data-Dumper-2.167-399.el8.x86_64.rpm 489 kB/s | 58 kB 00:00 \n(3/55): perl-Exporter-5.72-396.el8.noarch.rpm 992 kB/s | 34 kB 00:00 \n(4/55): perl-Errno-1.28-421.el8.x86_64.rpm 1.1 MB/s | 75 kB 00:00 \n(5/55): perl-File-Path-2.15-2.el8.noarch.rpm 1.2 MB/s | 38 kB 00:00 \n(6/55): perl-File-Temp-0.230.600-1.el8.noarch.rpm 1.2 MB/s | 62 kB 00:00 \n(7/55): perl-Getopt-Long-2.50-4.el8.noarch.rpm 1.5 MB/s | 63 kB 00:00 \n(8/55): perl-HTTP-Tiny-0.074-1.el8.noarch.rpm 1.5 MB/s | 58 kB 00:00 \n(9/55): perl-IO-1.38-421.el8.x86_64.rpm 3.0 MB/s | 141 kB 00:00 \n(10/55): perl-Encode-2.97-3.el8.x86_64.rpm 5.0 MB/s | 1.5 MB 00:00 \n(11/55): perl-MIME-Base64-3.15-396.el8.x86_64.rpm 714 kB/s | 30 kB 00:00 \n(12/55): perl-PathTools-3.74-1.el8.x86_64.rpm 2.1 MB/s | 90 kB 00:00 \n(13/55): perl-Pod-Escapes-1.07-395.el8.noarch.rpm 791 kB/s | 20 kB 00:00 \n(14/55): perl-Pod-Perldoc-3.28-396.el8.noarch.rpm 2.3 MB/s | 86 kB 00:00 \n(15/55): perl-Pod-Simple-3.35-395.el8.noarch.rpm 5.8 MB/s | 213 kB 00:00 \n(16/55): perl-Pod-Usage-1.69-395.el8.noarch.rpm 935 kB/s | 34 kB 00:00 \n(17/55): perl-Scalar-List-Utils-1.49-2.el8.x86_64.rpm 2.2 MB/s | 68 kB 00:00 \n(18/55): perl-Socket-2.027-3.el8.x86_64.rpm 1.9 MB/s | 59 kB 00:00 \n(19/55): perl-Storable-3.11-3.el8.x86_64.rpm 2.8 MB/s | 98 kB 00:00 \n(20/55): perl-Term-ANSIColor-4.06-396.el8.noarch.rpm 1.5 MB/s | 46 kB 00:00 \n(21/55): perl-Term-Cap-1.17-395.el8.noarch.rpm 740 kB/s | 23 kB 00:00 \n(22/55): perl-Text-ParseWords-3.30-395.el8.noarch.rpm 665 kB/s | 18 kB 00:00 \n(23/55): perl-Text-Tabs+Wrap-2013.0523-395.el8.noarch.rpm 882 kB/s | 24 kB 00:00 \n(24/55): perl-Time-Local-1.280-1.el8.noarch.rpm 907 kB/s | 33 kB 00:00 \n(25/55): perl-Unicode-Normalize-1.25-396.el8.x86_64.rpm 2.0 MB/s | 82 kB 00:00 \n(26/55): perl-constant-1.33-396.el8.noarch.rpm 642 kB/s | 25 kB 00:00 \n(27/55): perl-macros-5.26.3-421.el8.x86_64.rpm 1.2 MB/s | 71 kB 00:00 \n(28/55): perl-parent-0.237-1.el8.noarch.rpm 389 kB/s | 20 kB 00:00 \n(29/55): perl-podlators-4.11-1.el8.noarch.rpm 2.3 MB/s | 118 kB 00:00 \n(30/55): perl-threads-2.21-2.el8.x86_64.rpm 1.5 MB/s | 61 kB 00:00 \n(31/55): perl-threads-shared-1.58-2.el8.x86_64.rpm 956 kB/s | 47 kB 00:00 \n(32/55): perl-libs-5.26.3-421.el8.x86_64.rpm 5.4 MB/s | 1.6 MB 00:00 \n(33/55): gd-2.2.5-7.el8.x86_64.rpm 2.3 MB/s | 143 kB 00:00 \n(34/55): jbigkit-libs-2.1-14.el8.x86_64.rpm 1.1 MB/s | 54 kB 00:00 \n(35/55): libXpm-3.5.12-9.el8_7.x86_64.rpm 1.8 MB/s | 57 kB 00:00 \n(36/55): libjpeg-turbo-1.5.3-12.el8.x86_64.rpm 2.1 MB/s | 156 kB 00:00 \n(37/55): libtiff-4.0.9-26.el8_7.x86_64.rpm 2.4 MB/s | 188 kB 00:00 \n(38/55): libwebp-1.0.0-5.el8.x86_64.rpm 2.4 MB/s | 271 kB 00:00 \n(39/55): nginx-1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64.rpm 3.9 MB/s | 568 kB 00:00 \n(40/55): nginx-all-modules-1.14.1-9.module_el8.3.0+2165+af250afe.alma.noarch.rpm 371 kB/s | 23 kB 00:00 \n(41/55): nginx-filesystem-1.14.1-9.module_el8.3.0+2165+af250afe.alma.noarch.rpm 456 kB/s | 23 kB 00:00 \n(42/55): nginx-mod-http-image-filter-1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64.rpm 605 kB/s | 34 kB 00:00 \n(43/55): nginx-mod-http-perl-1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64.rpm 766 kB/s | 44 kB 00:00 \n(44/55): nginx-mod-http-xslt-filter-1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64.rpm 616 kB/s | 32 kB 00:00 \n(45/55): nginx-mod-mail-1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64.rpm 1.1 MB/s | 63 kB 00:00 \n(46/55): nginx-mod-stream-1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64.rpm 1.4 MB/s | 84 kB 00:00 \n(47/55): perl-interpreter-5.26.3-421.el8.x86_64.rpm 7.8 MB/s | 6.3 MB 00:00 \n(48/55): perl-Digest-1.17-395.el8.noarch.rpm 375 kB/s | 27 kB 00:00 \n(49/55): perl-Digest-MD5-2.55-396.el8.x86_64.rpm 599 kB/s | 37 kB 00:00 \n(50/55): perl-IO-Socket-IP-0.39-5.el8.noarch.rpm 1.7 MB/s | 47 kB 00:00 \n(51/55): perl-Mozilla-CA-20160104-7.module_el8.5.0+2812+ed912d05.noarch.rpm 399 kB/s | 14 kB 00:00 \n(52/55): perl-IO-Socket-SSL-2.066-4.module_el8.6.0+2811+fe6c84b0.noarch.rpm 5.8 MB/s | 297 kB 00:00 \n(53/55): perl-URI-1.73-3.el8.noarch.rpm 2.8 MB/s | 116 kB 00:00 \n(54/55): perl-Net-SSLeay-1.88-2.module_el8.6.0+2811+fe6c84b0.x86_64.rpm 5.2 MB/s | 378 kB 00:00 \n(55/55): perl-libnet-3.11-3.el8.noarch.rpm 2.5 MB/s | 121 kB 00:00 \n--------------------------------------------------------------------------------------------------------------------------------\nTotal 4.5 MB/s | 14 MB 00:03 \nRunning transaction check\nTransaction check succeeded.\nRunning transaction test\nTransaction test succeeded.\nRunning transaction\n Preparing : 1/1 \n Installing : perl-Digest-1.17-395.el8.noarch 1/55 \n Installing : perl-Digest-MD5-2.55-396.el8.x86_64 2/55 \n Installing : perl-Data-Dumper-2.167-399.el8.x86_64 3/55 \n Installing : perl-libnet-3.11-3.el8.noarch 4/55 \n Installing : perl-Net-SSLeay-1.88-2.module_el8.6.0+2811+fe6c84b0.x86_64 5/55 \n Installing : perl-URI-1.73-3.el8.noarch 6/55 \n Installing : perl-Pod-Escapes-1:1.07-395.el8.noarch 7/55 \n Installing : perl-Time-Local-1:1.280-1.el8.noarch 8/55 \n Installing : perl-IO-Socket-IP-0.39-5.el8.noarch 9/55 \n Installing : perl-Mozilla-CA-20160104-7.module_el8.5.0+2812+ed912d05.noarch 10/55 \n Installing : perl-IO-Socket-SSL-2.066-4.module_el8.6.0+2811+fe6c84b0.noarch 11/55 \n Installing : perl-Term-ANSIColor-4.06-396.el8.noarch 12/55 \n Installing : perl-Term-Cap-1.17-395.el8.noarch 13/55 \n Installing : perl-File-Temp-0.230.600-1.el8.noarch 14/55 \n Installing : perl-Pod-Simple-1:3.35-395.el8.noarch 15/55 \n Installing : perl-HTTP-Tiny-0.074-1.el8.noarch 16/55 \n Installing : perl-podlators-4.11-1.el8.noarch 17/55 \n Installing : perl-Pod-Perldoc-3.28-396.el8.noarch 18/55 \n Installing : perl-Text-ParseWords-3.30-395.el8.noarch 19/55 \n Installing : perl-Pod-Usage-4:1.69-395.el8.noarch 20/55 \n Installing : perl-MIME-Base64-3.15-396.el8.x86_64 21/55 \n Installing : perl-Storable-1:3.11-3.el8.x86_64 22/55 \n Installing : perl-Getopt-Long-1:2.50-4.el8.noarch 23/55 \n Installing : perl-Errno-1.28-421.el8.x86_64 24/55 \n Installing : perl-Socket-4:2.027-3.el8.x86_64 25/55 \n Installing : perl-Encode-4:2.97-3.el8.x86_64 26/55 \n Installing : perl-Exporter-5.72-396.el8.noarch 27/55 \n Installing : perl-Scalar-List-Utils-3:1.49-2.el8.x86_64 28/55 \n Installing : perl-macros-4:5.26.3-421.el8.x86_64 29/55 \n Installing : perl-parent-1:0.237-1.el8.noarch 30/55 \n Installing : perl-Text-Tabs+Wrap-2013.0523-395.el8.noarch 31/55 \n Installing : perl-Unicode-Normalize-1.25-396.el8.x86_64 32/55 \n Installing : perl-File-Path-2.15-2.el8.noarch 33/55 \n Installing : perl-IO-1.38-421.el8.x86_64 34/55 \n Installing : perl-PathTools-3.74-1.el8.x86_64 35/55 \n Installing : perl-constant-1.33-396.el8.noarch 36/55 \n Installing : perl-threads-1:2.21-2.el8.x86_64 37/55 \n Installing : perl-threads-shared-1.58-2.el8.x86_64 38/55 \n Installing : perl-libs-4:5.26.3-421.el8.x86_64 39/55 \n Installing : perl-Carp-1.42-396.el8.noarch 40/55 \n Installing : perl-interpreter-4:5.26.3-421.el8.x86_64 41/55 \n Installing : libjpeg-turbo-1.5.3-12.el8.x86_64 42/55 \n Running scriptlet: nginx-filesystem-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.noarch 43/55 \n Installing : nginx-filesystem-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.noarch 43/55 \n Installing : libwebp-1.0.0-5.el8.x86_64 44/55 \n Installing : libXpm-3.5.12-9.el8_7.x86_64 45/55 \n Installing : jbigkit-libs-2.1-14.el8.x86_64 46/55 \n Running scriptlet: jbigkit-libs-2.1-14.el8.x86_64 46/55 \n Installing : libtiff-4.0.9-26.el8_7.x86_64 47/55 \n Installing : gd-2.2.5-7.el8.x86_64 48/55 \n Running scriptlet: gd-2.2.5-7.el8.x86_64 48/55 \n Installing : nginx-mod-http-image-filter-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64 49/55 \n Running scriptlet: nginx-mod-http-image-filter-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64 49/55 \n Installing : nginx-mod-http-xslt-filter-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64 50/55 \n Running scriptlet: nginx-mod-http-xslt-filter-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64 50/55 \n Installing : nginx-mod-mail-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64 51/55 \n Running scriptlet: nginx-mod-mail-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64 51/55 \n Installing : nginx-mod-stream-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64 52/55 \n Running scriptlet: nginx-mod-stream-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64 52/55 \n Installing : nginx-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64 53/55 \n Running scriptlet: nginx-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64 53/55 \n Installing : nginx-mod-http-perl-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64 54/55 \n Running scriptlet: nginx-mod-http-perl-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64 54/55 \n Installing : nginx-all-modules-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.noarch 55/55 \n Running scriptlet: nginx-all-modules-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.noarch 55/55 \n Verifying : perl-Carp-1.42-396.el8.noarch 1/55 \n Verifying : perl-Data-Dumper-2.167-399.el8.x86_64 2/55 \n Verifying : perl-Encode-4:2.97-3.el8.x86_64 3/55 \n Verifying : perl-Errno-1.28-421.el8.x86_64 4/55 \n Verifying : perl-Exporter-5.72-396.el8.noarch 5/55 \n Verifying : perl-File-Path-2.15-2.el8.noarch 6/55 \n Verifying : perl-File-Temp-0.230.600-1.el8.noarch 7/55 \n Verifying : perl-Getopt-Long-1:2.50-4.el8.noarch 8/55 \n Verifying : perl-HTTP-Tiny-0.074-1.el8.noarch 9/55 \n Verifying : perl-IO-1.38-421.el8.x86_64 10/55 \n Verifying : perl-MIME-Base64-3.15-396.el8.x86_64 11/55 \n Verifying : perl-PathTools-3.74-1.el8.x86_64 12/55 \n Verifying : perl-Pod-Escapes-1:1.07-395.el8.noarch 13/55 \n Verifying : perl-Pod-Perldoc-3.28-396.el8.noarch 14/55 \n Verifying : perl-Pod-Simple-1:3.35-395.el8.noarch 15/55 \n Verifying : perl-Pod-Usage-4:1.69-395.el8.noarch 16/55 \n Verifying : perl-Scalar-List-Utils-3:1.49-2.el8.x86_64 17/55 \n Verifying : perl-Socket-4:2.027-3.el8.x86_64 18/55 \n Verifying : perl-Storable-1:3.11-3.el8.x86_64 19/55 \n Verifying : perl-Term-ANSIColor-4.06-396.el8.noarch 20/55 \n Verifying : perl-Term-Cap-1.17-395.el8.noarch 21/55 \n Verifying : perl-Text-ParseWords-3.30-395.el8.noarch 22/55 \n Verifying : perl-Text-Tabs+Wrap-2013.0523-395.el8.noarch 23/55 \n Verifying : perl-Time-Local-1:1.280-1.el8.noarch 24/55 \n Verifying : perl-Unicode-Normalize-1.25-396.el8.x86_64 25/55 \n Verifying : perl-constant-1.33-396.el8.noarch 26/55 \n Verifying : perl-interpreter-4:5.26.3-421.el8.x86_64 27/55 \n Verifying : perl-libs-4:5.26.3-421.el8.x86_64 28/55 \n Verifying : perl-macros-4:5.26.3-421.el8.x86_64 29/55 \n Verifying : perl-parent-1:0.237-1.el8.noarch 30/55 \n Verifying : perl-podlators-4.11-1.el8.noarch 31/55 \n Verifying : perl-threads-1:2.21-2.el8.x86_64 32/55 \n Verifying : perl-threads-shared-1.58-2.el8.x86_64 33/55 \n Verifying : gd-2.2.5-7.el8.x86_64 34/55 \n Verifying : jbigkit-libs-2.1-14.el8.x86_64 35/55 \n Verifying : libXpm-3.5.12-9.el8_7.x86_64 36/55 \n Verifying : libjpeg-turbo-1.5.3-12.el8.x86_64 37/55 \n Verifying : libtiff-4.0.9-26.el8_7.x86_64 38/55 \n Verifying : libwebp-1.0.0-5.el8.x86_64 39/55 \n Verifying : nginx-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64 40/55 \n Verifying : nginx-all-modules-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.noarch 41/55 \n Verifying : nginx-filesystem-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.noarch 42/55 \n Verifying : nginx-mod-http-image-filter-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64 43/55 \n Verifying : nginx-mod-http-perl-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64 44/55 \n Verifying : nginx-mod-http-xslt-filter-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64 45/55 \n Verifying : nginx-mod-mail-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64 46/55 \n Verifying : nginx-mod-stream-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64 47/55 \n Verifying : perl-Digest-1.17-395.el8.noarch 48/55 \n Verifying : perl-Digest-MD5-2.55-396.el8.x86_64 49/55 \n Verifying : perl-IO-Socket-IP-0.39-5.el8.noarch 50/55 \n Verifying : perl-IO-Socket-SSL-2.066-4.module_el8.6.0+2811+fe6c84b0.noarch 51/55 \n Verifying : perl-Mozilla-CA-20160104-7.module_el8.5.0+2812+ed912d05.noarch 52/55 \n Verifying : perl-Net-SSLeay-1.88-2.module_el8.6.0+2811+fe6c84b0.x86_64 53/55 \n Verifying : perl-URI-1.73-3.el8.noarch 54/55 \n Verifying : perl-libnet-3.11-3.el8.noarch 55/55 \n\nInstalled:\n gd-2.2.5-7.el8.x86_64 \n jbigkit-libs-2.1-14.el8.x86_64 \n libXpm-3.5.12-9.el8_7.x86_64 \n libjpeg-turbo-1.5.3-12.el8.x86_64 \n libtiff-4.0.9-26.el8_7.x86_64 \n libwebp-1.0.0-5.el8.x86_64 \n nginx-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64 \n nginx-all-modules-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.noarch \n nginx-filesystem-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.noarch \n nginx-mod-http-image-filter-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64 \n nginx-mod-http-perl-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64 \n nginx-mod-http-xslt-filter-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64 \n nginx-mod-mail-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64 \n nginx-mod-stream-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64 \n perl-Carp-1.42-396.el8.noarch \n perl-Data-Dumper-2.167-399.el8.x86_64 \n perl-Digest-1.17-395.el8.noarch \n perl-Digest-MD5-2.55-396.el8.x86_64 \n perl-Encode-4:2.97-3.el8.x86_64 \n perl-Errno-1.28-421.el8.x86_64 \n perl-Exporter-5.72-396.el8.noarch \n perl-File-Path-2.15-2.el8.noarch \n perl-File-Temp-0.230.600-1.el8.noarch \n perl-Getopt-Long-1:2.50-4.el8.noarch \n perl-HTTP-Tiny-0.074-1.el8.noarch \n perl-IO-1.38-421.el8.x86_64 \n perl-IO-Socket-IP-0.39-5.el8.noarch \n perl-IO-Socket-SSL-2.066-4.module_el8.6.0+2811+fe6c84b0.noarch \n perl-MIME-Base64-3.15-396.el8.x86_64 \n perl-Mozilla-CA-20160104-7.module_el8.5.0+2812+ed912d05.noarch \n perl-Net-SSLeay-1.88-2.module_el8.6.0+2811+fe6c84b0.x86_64 \n perl-PathTools-3.74-1.el8.x86_64 \n perl-Pod-Escapes-1:1.07-395.el8.noarch \n perl-Pod-Perldoc-3.28-396.el8.noarch \n perl-Pod-Simple-1:3.35-395.el8.noarch \n perl-Pod-Usage-4:1.69-395.el8.noarch \n perl-Scalar-List-Utils-3:1.49-2.el8.x86_64 \n perl-Socket-4:2.027-3.el8.x86_64 \n perl-Storable-1:3.11-3.el8.x86_64 \n perl-Term-ANSIColor-4.06-396.el8.noarch \n perl-Term-Cap-1.17-395.el8.noarch \n perl-Text-ParseWords-3.30-395.el8.noarch \n perl-Text-Tabs+Wrap-2013.0523-395.el8.noarch \n perl-Time-Local-1:1.280-1.el8.noarch \n perl-URI-1.73-3.el8.noarch \n perl-Unicode-Normalize-1.25-396.el8.x86_64 \n perl-constant-1.33-396.el8.noarch \n perl-interpreter-4:5.26.3-421.el8.x86_64 \n perl-libnet-3.11-3.el8.noarch \n perl-libs-4:5.26.3-421.el8.x86_64 \n perl-macros-4:5.26.3-421.el8.x86_64 \n perl-parent-1:0.237-1.el8.noarch \n perl-podlators-4.11-1.el8.noarch \n perl-threads-1:2.21-2.el8.x86_64 \n perl-threads-shared-1.58-2.el8.x86_64 \n\nComplete!\n")])])]),n("h3",{attrs:{id:"➡️-test-installation"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#➡️-test-installation"}},[e._v("#")]),e._v(" ➡️ Test installation")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("nginx -v\n")])])]),n("p",[e._v("Expected output:")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("nginx version: nginx/1.14.1\n")])])]),n("h3",{attrs:{id:"🔖-variant-ii-appstream-module-install"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#🔖-variant-ii-appstream-module-install"}},[e._v("#")]),e._v(" 🔖 Variant II: AppStream Module Install")]),e._v(" "),n("p",[e._v('To install the latest module version of Nginx on AlmaLinux (8.7 in the example below) you can list available module versions (streams) and then install ("enable" for modules) selected version.')]),e._v(" "),n("h3",{attrs:{id:"➡️-pre-install-list-versions"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#➡️-pre-install-list-versions"}},[e._v("#")]),e._v(" ➡️ Pre-Install: list versions")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("sudo dnf module list nginx\n")])])]),n("p",[e._v("Example output (pre-install):")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("AlmaLinux 8 - AppStream 5.0 kB/s | 4.1 kB 00:00 \nAlmaLinux 8 - AppStream 6.3 MB/s | 12 MB 00:01 \nAlmaLinux 8 - Extras 4.2 kB/s | 3.8 kB 00:00 \nAlmaLinux 8 - Extras 21 kB/s | 19 kB 00:00 \nExtra Packages for Enterprise Linux 8 - x86_64 11 kB/s | 28 kB 00:02 \nExtra Packages for Enterprise Linux 8 - x86_64 6.5 MB/s | 14 MB 00:02 \nSymas OpenLDAP for Linux RPM repository 4.2 kB/s | 2.9 kB 00:00 \nAlmaLinux 8 - AppStream\nName Stream Profiles Summary \nnginx 1.14 [d][x] common [d] nginx webserver \nnginx 1.16 [x] common [d] nginx webserver \nnginx 1.18 [x] common [d] nginx webserver \nnginx 1.20 [x] common [d] nginx webserver \n\nHint: [d]efault, [e]nabled, [x]disabled, [i]nstalled\n")])])]),n("h3",{attrs:{id:"➡️-install-enable-the-selected-module-version"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#➡️-install-enable-the-selected-module-version"}},[e._v("#")]),e._v(" ➡️ Install: enable the selected module version")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("sudo dnf module enable nginx:1.20\n")])])]),n("p",[e._v("Example output (module enable)):")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("Last metadata expiration check: 0:00:44 ago on Thu 13 Apr 2023 09:06:58 PM EDT.\nDependencies resolved.\n================================================================================================================================\n Package Architecture Version Repository Size\n================================================================================================================================\nEnabling module streams:\n nginx 1.20 \n\nTransaction Summary\n================================================================================================================================\n\nIs this ok [y/N]: y\nComplete!\n")])])]),n("h3",{attrs:{id:"➡️-install-actual-package-installation"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#➡️-install-actual-package-installation"}},[e._v("#")]),e._v(" ➡️ Install: actual package installation")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("sudo dnf install nginx\n")])])]),n("p",[e._v("Expected output (install):")]),e._v(" "),n("div",{staticClass:"custom-block warning"},[n("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),n("p",[e._v("TODO: EXAMPLE IS MISSING!\n::😒")]),e._v(" "),n("h3",{attrs:{id:"➡️-test-installation-2"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#➡️-test-installation-2"}},[e._v("#")]),e._v(" ➡️ Test installation")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("nginx -v\n")])])]),n("p",[e._v("Expected output (test)")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("nginx version: nginx/1.20.1 \n")])])]),n("div",{staticClass:"custom-block warning"},[n("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),n("p",[e._v("Note: If you switch between different versions of a module, you may need to "),n("u",[e._v("reset its state")]),e._v(" using the command "),n("code",[e._v("dnf module reset ")]),e._v(" to enable installing another version.")]),e._v(" "),n("p",[e._v("In Nginx case "),n("code",[e._v("")]),e._v(" is "),n("code",[e._v("nginx")]),e._v(".")])])]),e._v(" "),n("h3",{attrs:{id:"🔖-variant-iii-main-line-repository-install"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#🔖-variant-iii-main-line-repository-install"}},[e._v("#")]),e._v(" 🔖 Variant III: Main-line Repository Install")]),e._v(" "),n("p",[e._v("To install the latest RPM package of Nginx on AlmaLinux (8.7 in example below) from the official Nginx repository (https://nginx.org), you can follow these steps:")]),e._v(" "),n("h3",{attrs:{id:"➡️-add-the-repository"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#➡️-add-the-repository"}},[e._v("#")]),e._v(" ➡️ Add the repository")]),e._v(" "),n("p",[n("strong",[e._v("Import the Nginx signing key")])]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("sudo rpm --import https://nginx.org/keys/nginx_signing.key\n")])])]),n("p",[n("strong",[e._v("Create a new Nginx repository file in the /etc/yum.repos.d/ directory with editor of choice")])]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("sudo tee /etc/yum.repos.d/nginx.repo\n")])])]),n("p",[e._v("** Populate the new repo file with below text (copy-paste & press "),n("code",[e._v("Ctrl+D")]),e._v(")**")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("[nginx-mainline]\nname=nginx mainline repo\nbaseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/\ngpgcheck=1\nenabled=0\ngpgkey=https://nginx.org/keys/nginx_signing.key\nmodule_hotfixes=true\n")])])]),n("div",{staticClass:"custom-block tip"},[n("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),n("p",[e._v("When editing the file, you can change "),n("code",[e._v("enabled=0")]),e._v(" setting it to "),n("code",[e._v("1")]),e._v(". With that change you can skip next two steps (installing "),n("code",[e._v("dnf-utils")]),e._v(" and running "),n("code",[e._v("dnf config-manager")]),e._v(").")])]),e._v(" "),n("h3",{attrs:{id:"➡️-install-dnf-uils"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#➡️-install-dnf-uils"}},[e._v("#")]),e._v(" ➡️ Install "),n("code",[e._v("dnf-uils")])]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("sudo dnf install dnf-utils\n")])])]),n("p",[n("strong",[e._v("Enable the newly add external repo from nginx.org:")])]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("sudo dnf config-manager --enable nginx-mainline\n")])])]),n("p",[n("strong",[e._v("Finally, install Nginx:")])]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("sudo dnf install nginx\n")])])]),n("p",[e._v("Example output:")]),e._v(" "),n("p",[e._v("With the official Nginx mainline repo enabled "),n("code",[e._v("dnf")]),e._v(" allows to install the latest available: "),n("code",[e._v("1.23.3")]),e._v(".")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("nginx stable repo 24 kB/s | 2.9 kB 00:00 \nnginx mainline repo 39 kB/s | 2.9 kB 00:00 \nDependencies resolved.\n================================================================================================================================\n Package Architecture Version Repository Size\n================================================================================================================================\nInstalling:\n nginx x86_64 1:1.23.3-1.el8.ngx nginx-mainline 834 k\n\nTransaction Summary\n================================================================================================================================\nInstall 1 Package\n\nTotal download size: 834 k\nInstalled size: 2.8 M\nIs this ok [y/N]: y\nDownloading Packages:\nnginx-1.23.3-1.el8.ngx.x86_64.rpm 2.9 MB/s | 834 kB 00:00 \n--------------------------------------------------------------------------------------------------------------------------------\nTotal 2.9 MB/s | 834 kB 00:00 \nRunning transaction check\nTransaction check succeeded.\nRunning transaction test\nTransaction test succeeded.\nRunning transaction\n Preparing : 1/1 \n Running scriptlet: nginx-1:1.23.3-1.el8.ngx.x86_64 1/1 \n Installing : nginx-1:1.23.3-1.el8.ngx.x86_64 1/1 \n Running scriptlet: nginx-1:1.23.3-1.el8.ngx.x86_64 1/1 \n----------------------------------------------------------------------\n\nThanks for using nginx!\n\nPlease find the official documentation for nginx here:\n* https://nginx.org/en/docs/\n\nPlease subscribe to nginx-announce mailing list to get\nthe most important news about nginx:\n* https://nginx.org/en/support.html\n\nCommercial subscriptions for nginx are available on:\n* https://nginx.com/products/\n\n----------------------------------------------------------------------\n\n Verifying : nginx-1:1.23.3-1.el8.ngx.x86_64 1/1 \n\nInstalled:\n nginx-1:1.23.3-1.el8.ngx.x86_64 \n\nComplete!\n")])])]),n("h3",{attrs:{id:"➡️-test"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#➡️-test"}},[e._v("#")]),e._v(" ➡️ Test")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("nginx -v\n")])])]),n("p",[e._v("Expected output (test):")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("nginx version: nginx/1.23.3\n")])])]),n("h2",{attrs:{id:"📚-further-reading-and-next-steps"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#📚-further-reading-and-next-steps"}},[e._v("#")]),e._v(" 📚 Further reading and Next Steps")]),e._v(" "),n("p",[n("u",[e._v("Get Back:")])]),e._v(" "),n("ul",[n("li",[e._v("AlmaLinux Nginx Series ❯ "),n("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA01.html"}},[e._v("A Beginner's Guide")])],1)]),e._v(" "),n("p",[n("u",[e._v("In-depth Resources:")])]),e._v(" "),n("ul",[n("li",[e._v("AlmaLinux Nginx Series ❯ "),n("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA02R91.html"}},[e._v("AlmaLinux OS 9.1 Installation")])],1),e._v(" "),n("li",[e._v("AlmaLinux Nginx Series ❯ "),n("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA02R92.html"}},[e._v("AlmaLinux OS 9.2 Installation")])],1),e._v(" "),n("li",[e._v("AlmaLinux Nginx Series ❯ "),n("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA03.html"}},[e._v("Default Configuration Guide")])],1),e._v(" "),n("li",[e._v("AlmaLinux Nginx Series ❯ "),n("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA04P1.html"}},[e._v("Secure Nginx Deployment")])],1)]),e._v(" "),n("p",[n("u",[e._v("Related Resources:")])]),e._v(" "),n("ul",[n("li",[e._v("AlmaLinux Firewalld Series ❯ "),n("RouterLink",{attrs:{to:"/series/system/SystemSeriesA02.html"}},[e._v("A Beginner's Guide")])],1),e._v(" "),n("li",[e._v("AlmaLinux System Series ❯ "),n("RouterLink",{attrs:{to:"/series/system/SystemSeriesA01.html"}},[e._v("Application Streams")])],1)])])}),[],!1,null,null,null);n.default=t.exports}}]); \ No newline at end of file diff --git a/assets/js/131.6bdfcdac.js b/assets/js/131.6bdfcdac.js new file mode 100644 index 000000000..a613d15a8 --- /dev/null +++ b/assets/js/131.6bdfcdac.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[131],{411:function(n,t,a){"use strict";a.r(t);var e=a(14),i=Object(e.a)({},(function(){var n=this,t=n._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[t("h1",{attrs:{id:"a02-r91-❯-almalinux-9-1-installation"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#a02-r91-❯-almalinux-9-1-installation"}},[n._v("#")]),n._v(" A02 R91 ❯ AlmaLinux 9.1 Installation")]),n._v(" "),t("p",[t("small",[n._v("ℹ️ This article is part of AlmaLinux "),t("RouterLink",{attrs:{to:"/series/"}},[n._v("Nginx Series")]),n._v(".")],1)]),t("hr"),t("p"),n._v(" "),t("table",[t("thead",[t("tr",[t("th",[n._v("💡")]),n._v(" "),t("th",[n._v("Experience Level")]),n._v(" "),t("th",[n._v("⭐☆☆☆☆")])])]),n._v(" "),t("tbody",[t("tr",[t("td",[n._v("📆")]),n._v(" "),t("td",[t("small",[n._v("Last modified ")])]),n._v(" "),t("td",[n._v("2023-05-15")])]),n._v(" "),t("tr",[t("td",[n._v("🔧")]),n._v(" "),t("td",[t("small",[n._v("Tested by "),t("br"),n._v(" ↳ version | platform | date ")])]),n._v(" "),t("td",[t("small",[t("a",{attrs:{href:"mailto:psuchanecki@almalinux.org"}},[n._v("Pawel Suchanecki")]),n._v(" "),t("br"),n._v(" ↳ 9.1 | x86_64 | 2023-04-21 ")])])])])]),n._v(" "),t("br"),n._v(" "),t("h2",{attrs:{id:"🌟-introduction"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#🌟-introduction"}},[n._v("#")]),n._v(" 🌟 Introduction")]),n._v(" "),t("p",[n._v("This is a dedicated example for the "),t("strong",[n._v("AlmaLinux 9.x series")]),n._v(", demonstrating how to install Nginx using one of the two variants:")]),n._v(" "),t("ul",[t("li",[n._v("Variant I: AppStream non-module")]),n._v(" "),t("li",[n._v("Variant III¹: Nginx mainline repository")])]),n._v(" "),t("p",[t("small",[n._v("¹ - Variant II omitted by purpose.")])]),n._v(" "),t("h2",{attrs:{id:"📝-installation-instructions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#📝-installation-instructions"}},[n._v("#")]),n._v(" 📝 Installation instructions")]),n._v(" "),t("h3",{attrs:{id:"system-updates-first"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#system-updates-first"}},[n._v("#")]),n._v(" System Updates First!")]),n._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[n._v("WARNING")]),n._v(" "),t("p",[n._v("Please make sure to run "),t("strong",[t("code",[n._v("sudo dnf update")])]),n._v(" before proceeding with any other installation or configuration steps to ensure that your system is up-to-date and any known security vulnerabilities or bugs are patched.")])]),n._v(" "),t("h3",{attrs:{id:"📖-available-nginx-versions-almalinux-os-9-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#📖-available-nginx-versions-almalinux-os-9-1"}},[n._v("#")]),n._v(" 📖 Available Nginx Versions (AlmaLinux OS 9.1)")]),n._v(" "),t("p",[n._v("Different Nginx server versions are available to install depending on the installation variant.")]),n._v(" "),t("table",[t("thead",[t("tr",[t("th"),n._v(" "),t("th",[n._v("Installation Variant")]),n._v(" "),t("th",[n._v("Nginx Versions available")]),n._v(" "),t("th",[n._v("Notes")])])]),n._v(" "),t("tbody",[t("tr",[t("td",[n._v("🟩")]),n._v(" "),t("td",[n._v("AppStream non-module")]),n._v(" "),t("td",[n._v("1.20.1")]),n._v(" "),t("td",[n._v("Default version is good bu")])]),n._v(" "),t("tr",[t("td",[n._v("❌")]),n._v(" "),t("td",[n._v("AppStream module")]),n._v(" "),t("td",[n._v("Not Available")]),n._v(" "),t("td",[n._v("AppStream module method is not available on 9.1.")])]),n._v(" "),t("tr",[t("td",[n._v("🟨")]),n._v(" "),t("td",[n._v("Nginx mainline repo")]),n._v(" "),t("td",[n._v("1.21.6 -- 1.23.4¹")]),n._v(" "),t("td",[n._v("You always get latest version of Nginx avaiable. Second good (small chance of incompatibilty).")])])])]),n._v(" "),t("p",[n._v("¹ current version at the time of testing.")]),n._v(" "),t("p",[t("u",[n._v("Architecture Compatibility")])]),n._v(" "),t("table",[t("thead",[t("tr",[t("th",[n._v("Architecture")]),n._v(" "),t("th",[n._v("Supported")])])]),n._v(" "),t("tbody",[t("tr",[t("td",[n._v("Aarch64")]),n._v(" "),t("td",[n._v("✅")])]),n._v(" "),t("tr",[t("td",[n._v("PowerPC")]),n._v(" "),t("td",[n._v("❌")])]),n._v(" "),t("tr",[t("td",[n._v("S390X")]),n._v(" "),t("td",[n._v("✅")])]),n._v(" "),t("tr",[t("td",[n._v("X86_64")]),n._v(" "),t("td",[n._v("✅")])])])]),n._v(" "),t("h3",{attrs:{id:"🔖-variant-i-appstream-non-module-install"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#🔖-variant-i-appstream-non-module-install"}},[n._v("#")]),n._v(" 🔖 Variant I: AppStream Non-module Install")]),n._v(" "),t("h4",{attrs:{id:"example"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#example"}},[n._v("#")]),n._v(" Example")]),n._v(" "),t("h3",{attrs:{id:"➡️-install"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#➡️-install"}},[n._v("#")]),n._v(" ➡️ Install")]),n._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[n._v("sudo dnf install nginx\n")])])]),t("p",[n._v("➡️ Example output")]),n._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[n._v("Last metadata expiration check: 0:01:47 ago on Fri 14 Apr 2023 02:57:10 AM CEST.\nDependencies resolved.\n================================================================================================================\n Package Architecture Version Repository Size\n================================================================================================================\nInstalling:\n nginx x86_64 1:1.20.1-13.el9.alma appstream 38 k\nInstalling dependencies:\n almalinux-logos-httpd noarch 90.5.1-1.1.el9 appstream 18 k\n nginx-core x86_64 1:1.20.1-13.el9.alma appstream 567 k\n nginx-filesystem noarch 1:1.20.1-13.el9.alma appstream 11 k\n\nTransaction Summary\n================================================================================================================\nInstall 4 Packages\n\nTotal download size: 634 k\nInstalled size: 1.8 M\nIs this ok [y/N]: y\nDownloading Packages:\n(1/4): almalinux-logos-httpd-90.5.1-1.1.el9.noarch.rpm 9.9 kB/s | 18 kB 00:01 \n(2/4): nginx-1.20.1-13.el9.alma.x86_64.rpm 21 kB/s | 38 kB 00:01 \n(3/4): nginx-filesystem-1.20.1-13.el9.alma.noarch.rpm 243 kB/s | 11 kB 00:00 \n(4/4): nginx-core-1.20.1-13.el9.alma.x86_64.rpm 294 kB/s | 567 kB 00:01 \n----------------------------------------------------------------------------------------------------------------\nTotal 216 kB/s | 634 kB 00:02 \nRunning transaction check\nTransaction check succeeded.\nRunning transaction test\nTransaction test succeeded.\nRunning transaction\n Preparing : 1/1 \n Running scriptlet: nginx-filesystem-1:1.20.1-13.el9.alma.noarch 1/4 \n Installing : nginx-filesystem-1:1.20.1-13.el9.alma.noarch 1/4 \n Installing : nginx-core-1:1.20.1-13.el9.alma.x86_64 2/4 \n Installing : almalinux-logos-httpd-90.5.1-1.1.el9.noarch 3/4 \n Installing : nginx-1:1.20.1-13.el9.alma.x86_64 4/4 \n Running scriptlet: nginx-1:1.20.1-13.el9.alma.x86_64 4/4 \n Verifying : almalinux-logos-httpd-90.5.1-1.1.el9.noarch 1/4 \n Verifying : nginx-1:1.20.1-13.el9.alma.x86_64 2/4 \n Verifying : nginx-core-1:1.20.1-13.el9.alma.x86_64 3/4 \n Verifying : nginx-filesystem-1:1.20.1-13.el9.alma.noarch 4/4 \n\nInstalled:\n almalinux-logos-httpd-90.5.1-1.1.el9.noarch nginx-1:1.20.1-13.el9.alma.x86_64 \n nginx-core-1:1.20.1-13.el9.alma.x86_64 nginx-filesystem-1:1.20.1-13.el9.alma.noarch \n\nComplete!\n")])])]),t("h3",{attrs:{id:"🔖-variant-ii-appstream-module-install"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#🔖-variant-ii-appstream-module-install"}},[n._v("#")]),n._v(" 🔖 Variant II: AppStream Module Install")]),n._v(" "),t("p",[n._v("This method is not available on AlmaLinux 9.1 (Lime Lynx) -- there is no AppStream module version of Nginx in RHEL repos.")]),n._v(" "),t("h3",{attrs:{id:"🔖-variant-iii-main-line-repository-install"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#🔖-variant-iii-main-line-repository-install"}},[n._v("#")]),n._v(" 🔖 Variant III: Main-line Repository Install")]),n._v(" "),t("h4",{attrs:{id:"example-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#example-2"}},[n._v("#")]),n._v(" Example")]),n._v(" "),t("h3",{attrs:{id:"➡️-import-the-nginx-signing-key"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#➡️-import-the-nginx-signing-key"}},[n._v("#")]),n._v(" ➡️ Import the Nginx signing key")]),n._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[n._v("sudo rpm --import https://nginx.org/keys/nginx_signing.key\n")])])]),t("h3",{attrs:{id:"➡️-create-a-repo-definition-file-for-nginx"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#➡️-create-a-repo-definition-file-for-nginx"}},[n._v("#")]),n._v(" ➡️ Create a repo definition file for Nginx")]),n._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[n._v("sudo tee /etc/yum.repos.d/nginx.repo\n")])])]),t("h3",{attrs:{id:"➡️-populate-the-new-repo-file-with-below-text-copy-paste-ctrl-d"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#➡️-populate-the-new-repo-file-with-below-text-copy-paste-ctrl-d"}},[n._v("#")]),n._v(" ➡️ Populate the new repo file with below text (copy-paste & "),t("code",[n._v("Ctrl+D")]),n._v(")")]),n._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[n._v("[nginx-mainline]\nname=nginx mainline repo\nbaseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/\ngpgcheck=1\nenabled=0\ngpgkey=https://nginx.org/keys/nginx_signing.key\nmodule_hotfixes=true\n")])])]),t("h3",{attrs:{id:"➡️-install-dnf-uils"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#➡️-install-dnf-uils"}},[n._v("#")]),n._v(" ➡️ Install "),t("code",[n._v("dnf-uils")])]),n._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[n._v("WARNING")]),n._v(" "),t("p",[n._v("ℹ️ "),t("code",[n._v("dnf-utils")]),n._v(" are repo managment tools (classic YUM utilities implemented as CLI shims on top of DNF)")])]),n._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[n._v("sudo dnf install dnf-utils\n")])])]),t("h3",{attrs:{id:"➡️-enable-the-repository"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#➡️-enable-the-repository"}},[n._v("#")]),n._v(" ➡️ Enable the repository")]),n._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[n._v("dnf config-manager --enable nginx-mainline\n")])])]),t("h3",{attrs:{id:"➡️-enable-install-the-module"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#➡️-enable-install-the-module"}},[n._v("#")]),n._v(" ➡️ Enable/install the module")]),n._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[n._v("sudo dnf install nginx\n")])])]),t("p",[n._v("➡️ Example output (install)")]),n._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[n._v('nginx mainline repo 30 kB/s | 22 kB 00:00 \nDependencies resolved.\n========================================================================================================================================================================================\n Package Architecture Version Repository Size\n========================================================================================================================================================================================\nInstalling:\n nginx x86_64 1:1.23.4-1.el9.ngx nginx-mainline 868 k\n\nTransaction Summary\n========================================================================================================================================================================================\nInstall 1 Package\n\nTotal download size: 868 k\nInstalled size: 3.0 M\nIs this ok [y/N]: y\nDownloading Packages:\nnginx-1.23.4-1.el9.ngx.x86_64.rpm 67 kB/s | 868 kB 00:12 \n----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\nTotal 67 kB/s | 868 kB 00:12 \nnginx mainline repo 5.9 kB/s | 1.5 kB 00:00 \nImporting GPG key 0x7BD9BF62:\n Userid : "nginx signing key "\n Fingerprint: 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62\n From : https://nginx.org/keys/nginx_signing.key\nIs this ok [y/N]: y\nKey imported successfully\nRunning transaction check\nTransaction check succeeded.\nRunning transaction test\nTransaction test succeeded.\nRunning transaction\n Preparing : 1/1 \n Running scriptlet: nginx-1:1.23.4-1.el9.ngx.x86_64 1/1 \n Installing : nginx-1:1.23.4-1.el9.ngx.x86_64 1/1 \n Running scriptlet: nginx-1:1.23.4-1.el9.ngx.x86_64 1/1 \n----------------------------------------------------------------------\n\nThanks for using nginx!\n\nPlease find the official documentation for nginx here:\n* https://nginx.org/en/docs/\n\nPlease subscribe to nginx-announce mailing list to get\nthe most important news about nginx:\n* https://nginx.org/en/support.html\n\nCommercial subscriptions for nginx are available on:\n* https://nginx.com/products/\n\n----------------------------------------------------------------------\n\n Verifying : nginx-1:1.23.4-1.el9.ngx.x86_64 1/1 \n\nInstalled:\n nginx-1:1.23.4-1.el9.ngx.x86_64 \n\nComplete!\n')])])]),t("h3",{attrs:{id:"➡️-test"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#➡️-test"}},[n._v("#")]),n._v(" ➡️ Test")]),n._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[n._v("nginx -v\n")])])]),t("p",[n._v("Expected output (test):")]),n._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[n._v("nginx version: nginx/1.23.4\n")])])]),t("h2",{attrs:{id:"📚-further-reading-and-next-steps"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#📚-further-reading-and-next-steps"}},[n._v("#")]),n._v(" 📚 Further reading and Next Steps")]),n._v(" "),t("p",[t("u",[n._v("Get Back:")])]),n._v(" "),t("ul",[t("li",[n._v("AlmaLinux Nginx Series ❯ "),t("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA01.html"}},[n._v("A Beginner's Guide")])],1)]),n._v(" "),t("p",[t("u",[n._v("In-depth Resources:")])]),n._v(" "),t("ul",[t("li",[n._v("AlmaLinux Nginx Series ❯ "),t("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA02R8.html"}},[n._v("AlmaLinux OS 8.x Installation")])],1),n._v(" "),t("li",[n._v("AlmaLinux Nginx Series ❯ "),t("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA02R92.html"}},[n._v("AlmaLinux OS 9.2 Installation")])],1),n._v(" "),t("li",[n._v("AlmaLinux Nginx Series ❯ "),t("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA03.html"}},[n._v("Default Configuration Guide")])],1),n._v(" "),t("li",[n._v("AlmaLinux Nginx Series ❯ "),t("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA04P1.html"}},[n._v("Secure Nginx Deployment")])],1)]),n._v(" "),t("p",[t("u",[n._v("Related Resources:")])]),n._v(" "),t("ul",[t("li",[n._v("AlmaLinux Firewalld Series ❯ "),t("RouterLink",{attrs:{to:"/series/system/SystemSeriesA02.html"}},[n._v("A Beginner's Guide")])],1),n._v(" "),t("li",[n._v("AlmaLinux System Series ❯ "),t("RouterLink",{attrs:{to:"/series/system/SystemSeriesA01.html"}},[n._v("Application Streams")])],1)])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/132.3167ef02.js b/assets/js/132.3167ef02.js new file mode 100644 index 000000000..ad8886d90 --- /dev/null +++ b/assets/js/132.3167ef02.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[132],{414:function(e,n,l){"use strict";l.r(n);var a=l(14),r=Object(a.a)({},(function(){var e=this,n=e._self._c;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("h1",{attrs:{id:"a02-r92-❯-almalinux-9-2-installation"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#a02-r92-❯-almalinux-9-2-installation"}},[e._v("#")]),e._v(" A02 R92 ❯ AlmaLinux 9.2 Installation")]),e._v(" "),n("p",[n("small",[e._v("ℹ️ This article is part of AlmaLinux "),n("RouterLink",{attrs:{to:"/series/"}},[e._v("Nginx Series")]),e._v(".")],1)]),n("hr"),n("p"),e._v(" "),n("table",[n("thead",[n("tr",[n("th",[e._v("💡")]),e._v(" "),n("th",[e._v("Experience Level")]),e._v(" "),n("th",[e._v("⭐☆☆☆☆")])])]),e._v(" "),n("tbody",[n("tr",[n("td",[e._v("📆")]),e._v(" "),n("td",[n("small",[e._v("Last modified ")])]),e._v(" "),n("td",[e._v("2023-06-03")])]),e._v(" "),n("tr",[n("td",[e._v("🔧")]),e._v(" "),n("td",[n("small",[e._v("Tested by "),n("br"),e._v(" ↳ version | platform | date ")])]),e._v(" "),n("td",[n("small",[n("a",{attrs:{href:"mailto:psuchanecki@almalinux.org"}},[e._v("Pawel Suchanecki")]),e._v(" "),n("br"),e._v(" ↳ 9.2 | x86_64 | 2023-06-03 ")])])])])]),e._v(" "),n("br"),e._v(" "),n("h2",{attrs:{id:"🌟-introduction"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#🌟-introduction"}},[e._v("#")]),e._v(" 🌟 Introduction")]),e._v(" "),n("p",[e._v("This is a dedicated example for the "),n("strong",[e._v("AlmaLinux 9.x series")]),e._v(", demonstrating how to install Nginx using one of the two variants:")]),e._v(" "),n("ul",[n("li",[e._v("Variant I: AppStream non-module")]),e._v(" "),n("li",[e._v("Variant II: AppStream module")]),e._v(" "),n("li",[e._v("Variant III: Nginx mainline repository")])]),e._v(" "),n("h2",{attrs:{id:"📝-installation-instructions"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#📝-installation-instructions"}},[e._v("#")]),e._v(" 📝 Installation instructions")]),e._v(" "),n("h3",{attrs:{id:"system-updates-first"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#system-updates-first"}},[e._v("#")]),e._v(" System Updates First!")]),e._v(" "),n("div",{staticClass:"custom-block warning"},[n("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),n("p",[e._v("Please make sure to run "),n("strong",[n("code",[e._v("sudo dnf update")])]),e._v(" before proceeding with any other installation or configuration steps to ensure that your system is up-to-date and any known security vulnerabilities or bugs are patched.")])]),e._v(" "),n("h3",{attrs:{id:"📖-available-nginx-versions-almalinux-os-9-2"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#📖-available-nginx-versions-almalinux-os-9-2"}},[e._v("#")]),e._v(" 📖 Available Nginx Versions (AlmaLinux OS 9.2)")]),e._v(" "),n("p",[e._v("Different Nginx server versions are available to install depending on the installation variant.")]),e._v(" "),n("table",[n("thead",[n("tr",[n("th"),e._v(" "),n("th",[e._v("Installation Variant")]),e._v(" "),n("th",[e._v("Nginx Versions available")]),e._v(" "),n("th",[e._v("Notes")])])]),e._v(" "),n("tbody",[n("tr",[n("td",[e._v("🟨")]),e._v(" "),n("td",[e._v("AppStream non-module")]),e._v(" "),n("td",[e._v("1.20.1")]),e._v(" "),n("td",[e._v("Default version is outdated and does not get updates! Inadvisable.")])]),e._v(" "),n("tr",[n("td",[e._v("🟩")]),e._v(" "),n("td",[e._v("AppStream module")]),e._v(" "),n("td",[e._v("1.22")]),e._v(" "),n("td",[e._v("Module version are getting the security updates. "),n("strong",[e._v("The recommended method")]),e._v(".")])]),e._v(" "),n("tr",[n("td",[e._v("🟩")]),e._v(" "),n("td",[e._v("Nginx mainline repo")]),e._v(" "),n("td",[e._v("1.22.2 -- 1.25.0¹")]),e._v(" "),n("td",[e._v("You always get latest version of Nginx avaiable. Second good (small chance of incompatibilty).")])])])]),e._v(" "),n("p",[e._v("¹ current version at the time of testing.")]),e._v(" "),n("p",[n("u",[e._v("Architecture Compatibility")])]),e._v(" "),n("table",[n("thead",[n("tr",[n("th",[e._v("Architecture")]),e._v(" "),n("th",[e._v("Supported")])])]),e._v(" "),n("tbody",[n("tr",[n("td",[e._v("Aarch64")]),e._v(" "),n("td",[e._v("✅")])]),e._v(" "),n("tr",[n("td",[e._v("PowerPC")]),e._v(" "),n("td",[e._v("❌")])]),e._v(" "),n("tr",[n("td",[e._v("S390X")]),e._v(" "),n("td",[e._v("✅")])]),e._v(" "),n("tr",[n("td",[e._v("X86_64")]),e._v(" "),n("td",[e._v("✅")])])])]),e._v(" "),n("h3",{attrs:{id:"🔖-variant-i-appstream-non-module-install"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#🔖-variant-i-appstream-non-module-install"}},[e._v("#")]),e._v(" 🔖 Variant I: AppStream Non-module Install")]),e._v(" "),n("h4",{attrs:{id:"example"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#example"}},[e._v("#")]),e._v(" Example")]),e._v(" "),n("h3",{attrs:{id:"➡️-install"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#➡️-install"}},[e._v("#")]),e._v(" ➡️ Install")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("sudo dnf install nginx\n")])])]),n("p",[e._v("Expected output (install):")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("Last metadata expiration check: 0:26:09 ago on Fri Jun 2 20:17:44 2023.\nDependencies resolved.\n==================================================================================================================================================================\n Package Architecture Version Repository Size\n==================================================================================================================================================================\nInstalling:\n nginx x86_64 1:1.20.1-14.el9.alma appstream 38 k\nInstalling dependencies:\n almalinux-logos-httpd noarch 90.5.1-1.1.el9 appstream 18 k\n nginx-core x86_64 1:1.20.1-14.el9.alma appstream 567 k\n nginx-filesystem noarch 1:1.20.1-14.el9.alma appstream 11 k\n\nTransaction Summary\n==================================================================================================================================================================\nInstall 4 Packages\n\nTotal download size: 634 k\nInstalled size: 1.8 M\nIs this ok [y/N]: y\nDownloading Packages:\n(1/4): almalinux-logos-httpd-90.5.1-1.1.el9.noarch.rpm 85 kB/s | 18 kB 00:00 \n(2/4): nginx-1.20.1-14.el9.alma.x86_64.rpm 169 kB/s | 38 kB 00:00 \n(3/4): nginx-filesystem-1.20.1-14.el9.alma.noarch.rpm 396 kB/s | 11 kB 00:00 \n(4/4): nginx-core-1.20.1-14.el9.alma.x86_64.rpm 2.0 MB/s | 567 kB 00:00 \n------------------------------------------------------------------------------------------------------------------------------------------------------------------\nTotal 738 kB/s | 634 kB 00:00 \nRunning transaction check\nTransaction check succeeded.\nRunning transaction test\nTransaction test succeeded.\nRunning transaction\n Preparing : 1/1 \n Running scriptlet: nginx-filesystem-1:1.20.1-14.el9.alma.noarch 1/4 \n Installing : nginx-filesystem-1:1.20.1-14.el9.alma.noarch 1/4 \n Installing : nginx-core-1:1.20.1-14.el9.alma.x86_64 2/4 \n Installing : almalinux-logos-httpd-90.5.1-1.1.el9.noarch 3/4 \n Installing : nginx-1:1.20.1-14.el9.alma.x86_64 4/4 \n Running scriptlet: nginx-1:1.20.1-14.el9.alma.x86_64 4/4 \n Verifying : almalinux-logos-httpd-90.5.1-1.1.el9.noarch 1/4 \n Verifying : nginx-1:1.20.1-14.el9.alma.x86_64 2/4 \n Verifying : nginx-core-1:1.20.1-14.el9.alma.x86_64 3/4 \n Verifying : nginx-filesystem-1:1.20.1-14.el9.alma.noarch 4/4 \n\nInstalled:\n almalinux-logos-httpd-90.5.1-1.1.el9.noarch nginx-1:1.20.1-14.el9.alma.x86_64 nginx-core-1:1.20.1-14.el9.alma.x86_64 \n nginx-filesystem-1:1.20.1-14.el9.alma.noarch \n\nComplete!\n")])])]),n("h3",{attrs:{id:"➡️-test-installation"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#➡️-test-installation"}},[e._v("#")]),e._v(" ➡️ Test installation")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("nginx -v\n")])])]),n("p",[e._v("Expected output (test):")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("nginx version: nginx/1.20.1\n")])])]),n("h3",{attrs:{id:"🔖variant-ii-appstream-module-install"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#🔖variant-ii-appstream-module-install"}},[e._v("#")]),e._v(" 🔖Variant II: AppStream Module Install")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("sudo dnf module list nginx\n")])])]),n("p",[e._v("Expected output (module list):")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("Last metadata expiration check: 0:30:09 ago on Fri Jun 2 20:17:44 2023.\nAlmaLinux 9 - AppStream\nName Stream Profiles Summary \nnginx 1.22 [x] common [d] nginx webserver \n\nHint: [d]efault, [e]nabled, [x]disabled, [i]nstalled\n")])])]),n("h3",{attrs:{id:"➡️-install-enable-the-selected-module-version"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#➡️-install-enable-the-selected-module-version"}},[e._v("#")]),e._v(" ➡️ Install: enable the selected module version")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("sudo dnf module enable nginx:1.22\n")])])]),n("p",[e._v("Example output (module enable):")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("Last metadata expiration check: 0:33:47 ago on Fri Jun 2 20:17:44 2023.\nDependencies resolved.\n==================================================================================================================================================================\n Package Architecture Version Repository Size\n==================================================================================================================================================================\nEnabling module streams:\n nginx 1.22 \n\nTransaction Summary\n==================================================================================================================================================================\n\nIs this ok [y/N]: y\nComplete!\n")])])]),n("h3",{attrs:{id:"➡️-install-actual-package-installation"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#➡️-install-actual-package-installation"}},[e._v("#")]),e._v(" ➡️ Install: actual package installation")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("sudo dnf install nginx\n")])])]),n("p",[e._v("Example output (install):")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("Last metadata expiration check: 0:34:39 ago on Fri Jun 2 20:17:44 2023.\nDependencies resolved.\n==================================================================================================================================================================\n Package Architecture Version Repository Size\n==================================================================================================================================================================\nInstalling group/module packages:\n nginx x86_64 1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma appstream 39 k\n nginx-all-modules noarch 1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma appstream 10 k\n nginx-filesystem noarch 1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma appstream 11 k\n nginx-mod-http-image-filter x86_64 1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma appstream 22 k\n nginx-mod-http-perl x86_64 1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma appstream 33 k\n nginx-mod-http-xslt-filter x86_64 1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma appstream 20 k\n nginx-mod-mail x86_64 1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma appstream 55 k\n nginx-mod-stream x86_64 1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma appstream 81 k\nInstalling dependencies:\n almalinux-logos-httpd noarch 90.5.1-1.1.el9 appstream 18 k\n dejavu-sans-fonts noarch 2.37-18.el9 baseos 1.3 M\n fontconfig x86_64 2.14.0-2.el9_1 appstream 274 k\n gd x86_64 2.3.2-3.el9 appstream 131 k\n jbigkit-libs x86_64 2.1-23.el9 appstream 52 k\n langpacks-core-font-en noarch 3.0-16.el9 appstream 9.4 k\n libX11 x86_64 1.7.0-7.el9 appstream 646 k\n libX11-common noarch 1.7.0-7.el9 appstream 152 k\n libXau x86_64 1.0.9-8.el9 appstream 30 k\n libXpm x86_64 3.5.13-8.el9_1 appstream 57 k\n libtiff x86_64 4.4.0-7.el9 appstream 195 k\n libwebp x86_64 1.2.0-6.el9_1 appstream 275 k\n libxcb x86_64 1.13.1-9.el9 appstream 225 k\n libxslt x86_64 1.1.34-9.el9 appstream 240 k\n nginx-core x86_64 1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma appstream 573 k\n perl-AutoLoader noarch 5.74-480.el9 appstream 21 k\n perl-B x86_64 1.80-480.el9 appstream 179 k\n perl-Carp noarch 1.50-460.el9 appstream 29 k\n perl-Class-Struct noarch 0.66-480.el9 appstream 22 k\n perl-Data-Dumper x86_64 2.174-462.el9 appstream 55 k\n perl-Digest noarch 1.19-4.el9 appstream 25 k\n perl-Digest-MD5 x86_64 2.58-4.el9 appstream 36 k\n perl-Encode x86_64 4:3.08-462.el9 appstream 1.7 M\n perl-Errno x86_64 1.30-480.el9 appstream 15 k\n perl-Exporter noarch 5.74-461.el9 appstream 31 k\n perl-Fcntl x86_64 1.13-480.el9 appstream 20 k\n perl-File-Basename noarch 2.85-480.el9 appstream 17 k\n perl-File-Path noarch 2.18-4.el9 appstream 35 k\n perl-File-Temp noarch 1:0.231.100-4.el9 appstream 59 k\n perl-File-stat noarch 1.09-480.el9 appstream 17 k\n perl-FileHandle noarch 2.03-480.el9 appstream 16 k\n perl-Getopt-Long noarch 1:2.52-4.el9 appstream 59 k\n perl-Getopt-Std noarch 1.12-480.el9 appstream 16 k\n perl-HTTP-Tiny noarch 0.076-460.el9 appstream 54 k\n perl-IO x86_64 1.43-480.el9 appstream 86 k\n perl-IO-Socket-IP noarch 0.41-5.el9 appstream 42 k\n perl-IPC-Open3 noarch 1.21-480.el9 appstream 23 k\n perl-MIME-Base64 x86_64 3.16-4.el9 appstream 30 k\n perl-Net-SSLeay x86_64 1.92-2.el9 appstream 364 k\n perl-POSIX x86_64 1.94-480.el9 appstream 96 k\n perl-PathTools x86_64 3.78-461.el9 appstream 85 k\n perl-Pod-Escapes noarch 1:1.07-460.el9 appstream 20 k\n perl-Pod-Perldoc noarch 3.28.01-461.el9 appstream 83 k\n perl-Pod-Simple noarch 1:3.42-4.el9 appstream 215 k\n perl-Pod-Usage noarch 4:2.01-4.el9 appstream 40 k\n perl-Scalar-List-Utils x86_64 4:1.56-461.el9 appstream 71 k\n perl-SelectSaver noarch 1.02-480.el9 appstream 12 k\n perl-Socket x86_64 4:2.031-4.el9 appstream 54 k\n perl-Storable x86_64 1:3.21-460.el9 appstream 95 k\n perl-Symbol noarch 1.08-480.el9 appstream 14 k\n perl-Term-ANSIColor noarch 5.01-461.el9 appstream 48 k\n perl-Term-Cap noarch 1.17-460.el9 appstream 22 k\n perl-Text-ParseWords noarch 3.30-460.el9 appstream 16 k\n perl-Text-Tabs+Wrap noarch 2013.0523-460.el9 appstream 22 k\n perl-Time-Local noarch 2:1.300-7.el9 appstream 33 k\n perl-URI noarch 5.09-3.el9 appstream 108 k\n perl-base noarch 2.27-480.el9 appstream 16 k\n perl-constant noarch 1.33-461.el9 appstream 23 k\n perl-if noarch 0.60.800-480.el9 appstream 14 k\n perl-interpreter x86_64 4:5.32.1-480.el9 appstream 71 k\n perl-libnet noarch 3.13-4.el9 appstream 125 k\n perl-libs x86_64 4:5.32.1-480.el9 appstream 2.0 M\n perl-mro x86_64 1.23-480.el9 appstream 28 k\n perl-overload noarch 1.31-480.el9 appstream 46 k\n perl-overloading noarch 0.02-480.el9 appstream 13 k\n perl-parent noarch 1:0.238-460.el9 appstream 14 k\n perl-podlators noarch 1:4.14-460.el9 appstream 111 k\n perl-subs noarch 1.03-480.el9 appstream 12 k\n perl-vars noarch 1.05-480.el9 appstream 13 k\n xml-common noarch 0.6.3-58.el9 appstream 31 k\nInstalling weak dependencies:\n perl-IO-Socket-SSL noarch 2.073-1.el9 appstream 216 k\n perl-Mozilla-CA noarch 20200520-6.el9 appstream 12 k\n perl-NDBM_File x86_64 1.15-480.el9 appstream 22 k\nInstalling module profiles:\n nginx/common \n\nTransaction Summary\n==================================================================================================================================================================\nInstall 81 Packages\n\nTotal download size: 11 M\nInstalled size: 40 M\nIs this ok [y/N]: y\nDownloading Packages:\n(1/81): almalinux-logos-httpd-90.5.1-1.1.el9.noarch.rpm 91 kB/s | 18 kB 00:00 \n(2/81): jbigkit-libs-2.1-23.el9.x86_64.rpm 759 kB/s | 52 kB 00:00 \n(3/81): fontconfig-2.14.0-2.el9_1.x86_64.rpm 1.0 MB/s | 274 kB 00:00 \n(4/81): gd-2.3.2-3.el9.x86_64.rpm 482 kB/s | 131 kB 00:00 \n(5/81): langpacks-core-font-en-3.0-16.el9.noarch.rpm 114 kB/s | 9.4 kB 00:00 \n(6/81): libX11-1.7.0-7.el9.x86_64.rpm 4.5 MB/s | 646 kB 00:00 \n(7/81): libX11-common-1.7.0-7.el9.noarch.rpm 1.0 MB/s | 152 kB 00:00 \n(8/81): libXau-1.0.9-8.el9.x86_64.rpm 455 kB/s | 30 kB 00:00 \n(9/81): libXpm-3.5.13-8.el9_1.x86_64.rpm 2.0 MB/s | 57 kB 00:00 \n(10/81): libtiff-4.4.0-7.el9.x86_64.rpm 3.3 MB/s | 195 kB 00:00 \n(11/81): libwebp-1.2.0-6.el9_1.x86_64.rpm 3.3 MB/s | 275 kB 00:00 \n(12/81): libxcb-1.13.1-9.el9.x86_64.rpm 2.7 MB/s | 225 kB 00:00 \n(13/81): libxslt-1.1.34-9.el9.x86_64.rpm 3.6 MB/s | 240 kB 00:00 \n(14/81): nginx-1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64.rpm 794 kB/s | 39 kB 00:00 \n(15/81): nginx-all-modules-1.22.1-3.module_el9.2.0+20+2a475c1b.alma.noarch.rpm 315 kB/s | 10 kB 00:00 \n(16/81): nginx-core-1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64.rpm 8.0 MB/s | 573 kB 00:00 \n(17/81): nginx-filesystem-1.22.1-3.module_el9.2.0+20+2a475c1b.alma.noarch.rpm 163 kB/s | 11 kB 00:00 \n(18/81): nginx-mod-http-image-filter-1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64.rpm 365 kB/s | 22 kB 00:00 \n(19/81): nginx-mod-http-perl-1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64.rpm 1.4 MB/s | 33 kB 00:00 \n(20/81): nginx-mod-http-xslt-filter-1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64.rpm 896 kB/s | 20 kB 00:00 \n(21/81): nginx-mod-mail-1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64.rpm 2.0 MB/s | 55 kB 00:00 \n(22/81): nginx-mod-stream-1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64.rpm 2.4 MB/s | 81 kB 00:00 \n(23/81): perl-AutoLoader-5.74-480.el9.noarch.rpm 651 kB/s | 21 kB 00:00 \n(24/81): perl-B-1.80-480.el9.x86_64.rpm 3.8 MB/s | 179 kB 00:00 \n(25/81): perl-Carp-1.50-460.el9.noarch.rpm 1.4 MB/s | 29 kB 00:00 \n(26/81): perl-Class-Struct-0.66-480.el9.noarch.rpm 760 kB/s | 22 kB 00:00 \n(27/81): perl-Data-Dumper-2.174-462.el9.x86_64.rpm 1.4 MB/s | 55 kB 00:00 \n(28/81): perl-Digest-1.19-4.el9.noarch.rpm 621 kB/s | 25 kB 00:00 \n(29/81): perl-Digest-MD5-2.58-4.el9.x86_64.rpm 1.0 MB/s | 36 kB 00:00 \n(30/81): perl-Errno-1.30-480.el9.x86_64.rpm 103 kB/s | 15 kB 00:00 \n(31/81): perl-Exporter-5.74-461.el9.noarch.rpm 209 kB/s | 31 kB 00:00 \n(32/81): perl-Fcntl-1.13-480.el9.x86_64.rpm 245 kB/s | 20 kB 00:00 \n(33/81): perl-File-Basename-2.85-480.el9.noarch.rpm 200 kB/s | 17 kB 00:00 \n(34/81): perl-Encode-3.08-462.el9.x86_64.rpm 6.6 MB/s | 1.7 MB 00:00 \n(35/81): perl-File-Path-2.18-4.el9.noarch.rpm 1.1 MB/s | 35 kB 00:00 \n(36/81): perl-File-Temp-0.231.100-4.el9.noarch.rpm 1.8 MB/s | 59 kB 00:00 \n(37/81): perl-File-stat-1.09-480.el9.noarch.rpm 750 kB/s | 17 kB 00:00 \n(38/81): perl-FileHandle-2.03-480.el9.noarch.rpm 700 kB/s | 16 kB 00:00 \n(39/81): perl-Getopt-Long-2.52-4.el9.noarch.rpm 2.8 MB/s | 59 kB 00:00 \n(40/81): perl-Getopt-Std-1.12-480.el9.noarch.rpm 770 kB/s | 16 kB 00:00 \n(41/81): perl-HTTP-Tiny-0.076-460.el9.noarch.rpm 2.3 MB/s | 54 kB 00:00 \n(42/81): perl-IO-1.43-480.el9.x86_64.rpm 1.6 MB/s | 86 kB 00:00 \n(43/81): perl-IO-Socket-IP-0.41-5.el9.noarch.rpm 749 kB/s | 42 kB 00:00 \n(44/81): perl-IO-Socket-SSL-2.073-1.el9.noarch.rpm 2.5 MB/s | 216 kB 00:00 \n(45/81): perl-IPC-Open3-1.21-480.el9.noarch.rpm 471 kB/s | 23 kB 00:00 \n(46/81): perl-MIME-Base64-3.16-4.el9.x86_64.rpm 675 kB/s | 30 kB 00:00 \n(47/81): perl-Mozilla-CA-20200520-6.el9.noarch.rpm 591 kB/s | 12 kB 00:00 \n(48/81): perl-NDBM_File-1.15-480.el9.x86_64.rpm 938 kB/s | 22 kB 00:00 \n(49/81): perl-Net-SSLeay-1.92-2.el9.x86_64.rpm 6.6 MB/s | 364 kB 00:00 \n(50/81): perl-POSIX-1.94-480.el9.x86_64.rpm 2.2 MB/s | 96 kB 00:00 \n(51/81): perl-PathTools-3.78-461.el9.x86_64.rpm 1.8 MB/s | 85 kB 00:00 \n(52/81): perl-Pod-Escapes-1.07-460.el9.noarch.rpm 976 kB/s | 20 kB 00:00 \n(53/81): perl-Pod-Perldoc-3.28.01-461.el9.noarch.rpm 3.5 MB/s | 83 kB 00:00 \n(54/81): perl-Pod-Simple-3.42-4.el9.noarch.rpm 4.3 MB/s | 215 kB 00:00 \n(55/81): perl-Pod-Usage-2.01-4.el9.noarch.rpm 876 kB/s | 40 kB 00:00 \n(56/81): perl-Scalar-List-Utils-1.56-461.el9.x86_64.rpm 1.7 MB/s | 71 kB 00:00 \n(57/81): perl-SelectSaver-1.02-480.el9.noarch.rpm 501 kB/s | 12 kB 00:00 \n(58/81): perl-Socket-2.031-4.el9.x86_64.rpm 2.0 MB/s | 54 kB 00:00 \n(59/81): perl-Storable-3.21-460.el9.x86_64.rpm 3.1 MB/s | 95 kB 00:00 \n(60/81): perl-Symbol-1.08-480.el9.noarch.rpm 621 kB/s | 14 kB 00:00 \n(61/81): perl-Term-ANSIColor-5.01-461.el9.noarch.rpm 2.0 MB/s | 48 kB 00:00 \n(62/81): perl-Term-Cap-1.17-460.el9.noarch.rpm 1.0 MB/s | 22 kB 00:00 \n(63/81): perl-Text-ParseWords-3.30-460.el9.noarch.rpm 683 kB/s | 16 kB 00:00 \n(64/81): perl-Text-Tabs+Wrap-2013.0523-460.el9.noarch.rpm 1.0 MB/s | 22 kB 00:00 \n(65/81): perl-Time-Local-1.300-7.el9.noarch.rpm 1.4 MB/s | 33 kB 00:00 \n(66/81): perl-URI-5.09-3.el9.noarch.rpm 3.5 MB/s | 108 kB 00:00 \n(67/81): perl-base-2.27-480.el9.noarch.rpm 513 kB/s | 16 kB 00:00 \n(68/81): perl-constant-1.33-461.el9.noarch.rpm 928 kB/s | 23 kB 00:00 \n(69/81): perl-if-0.60.800-480.el9.noarch.rpm 689 kB/s | 14 kB 00:00 \n(70/81): perl-interpreter-5.32.1-480.el9.x86_64.rpm 3.1 MB/s | 71 kB 00:00 \n(71/81): perl-libnet-3.13-4.el9.noarch.rpm 3.8 MB/s | 125 kB 00:00 \n(72/81): perl-mro-1.23-480.el9.x86_64.rpm 311 kB/s | 28 kB 00:00 \n(73/81): perl-overload-1.31-480.el9.noarch.rpm 547 kB/s | 46 kB 00:00 \n(74/81): perl-overloading-0.02-480.el9.noarch.rpm 161 kB/s | 13 kB 00:00 \n(75/81): perl-parent-0.238-460.el9.noarch.rpm 176 kB/s | 14 kB 00:00 \n(76/81): perl-libs-5.32.1-480.el9.x86_64.rpm 9.5 MB/s | 2.0 MB 00:00 \n(77/81): perl-podlators-4.14-460.el9.noarch.rpm 2.8 MB/s | 111 kB 00:00 \n(78/81): perl-subs-1.03-480.el9.noarch.rpm 249 kB/s | 12 kB 00:00 \n(79/81): perl-vars-1.05-480.el9.noarch.rpm 253 kB/s | 13 kB 00:00 \n(80/81): xml-common-0.6.3-58.el9.noarch.rpm 510 kB/s | 31 kB 00:00 \n(81/81): dejavu-sans-fonts-2.37-18.el9.noarch.rpm 7.6 MB/s | 1.3 MB 00:00 \n------------------------------------------------------------------------------------------------------------------------------------------------------------------\nTotal 4.0 MB/s | 11 MB 00:02 \nRunning transaction check\nTransaction check succeeded.\nRunning transaction test\nTransaction test succeeded.\nRunning transaction\n Preparing : 1/1 \n Installing : dejavu-sans-fonts-2.37-18.el9.noarch 1/81 \n Running scriptlet: nginx-filesystem-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.noarch 2/81 \n Installing : nginx-filesystem-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.noarch 2/81 \n Installing : libwebp-1.2.0-6.el9_1.x86_64 3/81 \n Installing : nginx-core-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64 4/81 \n Installing : langpacks-core-font-en-3.0-16.el9.noarch 5/81 \n Installing : perl-Digest-1.19-4.el9.noarch 6/81 \n Installing : perl-Digest-MD5-2.58-4.el9.x86_64 7/81 \n Installing : perl-B-1.80-480.el9.x86_64 8/81 \n Installing : perl-FileHandle-2.03-480.el9.noarch 9/81 \n Installing : perl-Data-Dumper-2.174-462.el9.x86_64 10/81 \n Installing : perl-libnet-3.13-4.el9.noarch 11/81 \n Installing : perl-AutoLoader-5.74-480.el9.noarch 12/81 \n Installing : perl-base-2.27-480.el9.noarch 13/81 \n Installing : perl-URI-5.09-3.el9.noarch 14/81 \n Installing : perl-Net-SSLeay-1.92-2.el9.x86_64 15/81 \n Installing : perl-Mozilla-CA-20200520-6.el9.noarch 16/81 \n Installing : perl-if-0.60.800-480.el9.noarch 17/81 \n Installing : perl-IO-Socket-IP-0.41-5.el9.noarch 18/81 \n Installing : perl-Time-Local-2:1.300-7.el9.noarch 19/81 \n Installing : perl-File-Path-2.18-4.el9.noarch 20/81 \n Installing : perl-Pod-Escapes-1:1.07-460.el9.noarch 21/81 \n Installing : perl-Text-Tabs+Wrap-2013.0523-460.el9.noarch 22/81 \n Installing : perl-IO-Socket-SSL-2.073-1.el9.noarch 23/81 \n Installing : perl-Class-Struct-0.66-480.el9.noarch 24/81 \n Installing : perl-POSIX-1.94-480.el9.x86_64 25/81 \n Installing : perl-Term-ANSIColor-5.01-461.el9.noarch 26/81 \n Installing : perl-IPC-Open3-1.21-480.el9.noarch 27/81 \n Installing : perl-subs-1.03-480.el9.noarch 28/81 \n Installing : perl-File-Temp-1:0.231.100-4.el9.noarch 29/81 \n Installing : perl-Term-Cap-1.17-460.el9.noarch 30/81 \n Installing : perl-Pod-Simple-1:3.42-4.el9.noarch 31/81 \n Installing : perl-HTTP-Tiny-0.076-460.el9.noarch 32/81 \n Installing : perl-Socket-4:2.031-4.el9.x86_64 33/81 \n Installing : perl-SelectSaver-1.02-480.el9.noarch 34/81 \n Installing : perl-Symbol-1.08-480.el9.noarch 35/81 \n Installing : perl-File-stat-1.09-480.el9.noarch 36/81 \n Installing : perl-podlators-1:4.14-460.el9.noarch 37/81 \n Installing : perl-Pod-Perldoc-3.28.01-461.el9.noarch 38/81 \n Installing : perl-Fcntl-1.13-480.el9.x86_64 39/81 \n Installing : perl-Text-ParseWords-3.30-460.el9.noarch 40/81 \n Installing : perl-mro-1.23-480.el9.x86_64 41/81 \n Installing : perl-IO-1.43-480.el9.x86_64 42/81 \n Installing : perl-overloading-0.02-480.el9.noarch 43/81 \n Installing : perl-Pod-Usage-4:2.01-4.el9.noarch 44/81 \n Installing : perl-Errno-1.30-480.el9.x86_64 45/81 \n Installing : perl-File-Basename-2.85-480.el9.noarch 46/81 \n Installing : perl-Getopt-Std-1.12-480.el9.noarch 47/81 \n Installing : perl-MIME-Base64-3.16-4.el9.x86_64 48/81 \n Installing : perl-Scalar-List-Utils-4:1.56-461.el9.x86_64 49/81 \n Installing : perl-constant-1.33-461.el9.noarch 50/81 \n Installing : perl-Storable-1:3.21-460.el9.x86_64 51/81 \n Installing : perl-overload-1.31-480.el9.noarch 52/81 \n Installing : perl-parent-1:0.238-460.el9.noarch 53/81 \n Installing : perl-vars-1.05-480.el9.noarch 54/81 \n Installing : perl-Getopt-Long-1:2.52-4.el9.noarch 55/81 \n Installing : perl-Carp-1.50-460.el9.noarch 56/81 \n Installing : perl-Exporter-5.74-461.el9.noarch 57/81 \n Installing : perl-NDBM_File-1.15-480.el9.x86_64 58/81 \n Installing : perl-PathTools-3.78-461.el9.x86_64 59/81 \n Installing : perl-Encode-4:3.08-462.el9.x86_64 60/81 \n Installing : perl-libs-4:5.32.1-480.el9.x86_64 61/81 \n Installing : perl-interpreter-4:5.32.1-480.el9.x86_64 62/81 \n Running scriptlet: xml-common-0.6.3-58.el9.noarch 63/81 \n Installing : xml-common-0.6.3-58.el9.noarch 63/81 \n Installing : fontconfig-2.14.0-2.el9_1.x86_64 64/81 \n Running scriptlet: fontconfig-2.14.0-2.el9_1.x86_64 64/81 \n Installing : libxslt-1.1.34-9.el9.x86_64 65/81 \n Installing : libXau-1.0.9-8.el9.x86_64 66/81 \n Installing : libxcb-1.13.1-9.el9.x86_64 67/81 \n Installing : libX11-common-1.7.0-7.el9.noarch 68/81 \n Installing : libX11-1.7.0-7.el9.x86_64 69/81 \n Installing : libXpm-3.5.13-8.el9_1.x86_64 70/81 \n Installing : jbigkit-libs-2.1-23.el9.x86_64 71/81 \n Installing : libtiff-4.4.0-7.el9.x86_64 72/81 \n Installing : gd-2.3.2-3.el9.x86_64 73/81 \n Installing : almalinux-logos-httpd-90.5.1-1.1.el9.noarch 74/81 \n Installing : nginx-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64 75/81 \n Running scriptlet: nginx-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64 75/81 \n Installing : nginx-mod-http-image-filter-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64 76/81 \n Running scriptlet: nginx-mod-http-image-filter-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64 76/81 \n Installing : nginx-mod-http-perl-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64 77/81 \n Running scriptlet: nginx-mod-http-perl-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64 77/81 \n Installing : nginx-mod-http-xslt-filter-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64 78/81 \n Running scriptlet: nginx-mod-http-xslt-filter-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64 78/81 \n Installing : nginx-mod-mail-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64 79/81 \n Running scriptlet: nginx-mod-mail-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64 79/81 \n Installing : nginx-mod-stream-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64 80/81 \n Running scriptlet: nginx-mod-stream-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64 80/81 \n Installing : nginx-all-modules-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.noarch 81/81 \n Running scriptlet: fontconfig-2.14.0-2.el9_1.x86_64 81/81 \n Running scriptlet: nginx-all-modules-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.noarch 81/81 \n Verifying : almalinux-logos-httpd-90.5.1-1.1.el9.noarch 1/81 \n Verifying : fontconfig-2.14.0-2.el9_1.x86_64 2/81 \n Verifying : gd-2.3.2-3.el9.x86_64 3/81 \n Verifying : jbigkit-libs-2.1-23.el9.x86_64 4/81 \n Verifying : langpacks-core-font-en-3.0-16.el9.noarch 5/81 \n Verifying : libX11-1.7.0-7.el9.x86_64 6/81 \n Verifying : libX11-common-1.7.0-7.el9.noarch 7/81 \n Verifying : libXau-1.0.9-8.el9.x86_64 8/81 \n Verifying : libXpm-3.5.13-8.el9_1.x86_64 9/81 \n Verifying : libtiff-4.4.0-7.el9.x86_64 10/81 \n Verifying : libwebp-1.2.0-6.el9_1.x86_64 11/81 \n Verifying : libxcb-1.13.1-9.el9.x86_64 12/81 \n Verifying : libxslt-1.1.34-9.el9.x86_64 13/81 \n Verifying : nginx-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64 14/81 \n Verifying : nginx-all-modules-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.noarch 15/81 \n Verifying : nginx-core-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64 16/81 \n Verifying : nginx-filesystem-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.noarch 17/81 \n Verifying : nginx-mod-http-image-filter-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64 18/81 \n Verifying : nginx-mod-http-perl-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64 19/81 \n Verifying : nginx-mod-http-xslt-filter-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64 20/81 \n Verifying : nginx-mod-mail-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64 21/81 \n Verifying : nginx-mod-stream-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64 22/81 \n Verifying : perl-AutoLoader-5.74-480.el9.noarch 23/81 \n Verifying : perl-B-1.80-480.el9.x86_64 24/81 \n Verifying : perl-Carp-1.50-460.el9.noarch 25/81 \n Verifying : perl-Class-Struct-0.66-480.el9.noarch 26/81 \n Verifying : perl-Data-Dumper-2.174-462.el9.x86_64 27/81 \n Verifying : perl-Digest-1.19-4.el9.noarch 28/81 \n Verifying : perl-Digest-MD5-2.58-4.el9.x86_64 29/81 \n Verifying : perl-Encode-4:3.08-462.el9.x86_64 30/81 \n Verifying : perl-Errno-1.30-480.el9.x86_64 31/81 \n Verifying : perl-Exporter-5.74-461.el9.noarch 32/81 \n Verifying : perl-Fcntl-1.13-480.el9.x86_64 33/81 \n Verifying : perl-File-Basename-2.85-480.el9.noarch 34/81 \n Verifying : perl-File-Path-2.18-4.el9.noarch 35/81 \n Verifying : perl-File-Temp-1:0.231.100-4.el9.noarch 36/81 \n Verifying : perl-File-stat-1.09-480.el9.noarch 37/81 \n Verifying : perl-FileHandle-2.03-480.el9.noarch 38/81 \n Verifying : perl-Getopt-Long-1:2.52-4.el9.noarch 39/81 \n Verifying : perl-Getopt-Std-1.12-480.el9.noarch 40/81 \n Verifying : perl-HTTP-Tiny-0.076-460.el9.noarch 41/81 \n Verifying : perl-IO-1.43-480.el9.x86_64 42/81 \n Verifying : perl-IO-Socket-IP-0.41-5.el9.noarch 43/81 \n Verifying : perl-IO-Socket-SSL-2.073-1.el9.noarch 44/81 \n Verifying : perl-IPC-Open3-1.21-480.el9.noarch 45/81 \n Verifying : perl-MIME-Base64-3.16-4.el9.x86_64 46/81 \n Verifying : perl-Mozilla-CA-20200520-6.el9.noarch 47/81 \n Verifying : perl-NDBM_File-1.15-480.el9.x86_64 48/81 \n Verifying : perl-Net-SSLeay-1.92-2.el9.x86_64 49/81 \n Verifying : perl-POSIX-1.94-480.el9.x86_64 50/81 \n Verifying : perl-PathTools-3.78-461.el9.x86_64 51/81 \n Verifying : perl-Pod-Escapes-1:1.07-460.el9.noarch 52/81 \n Verifying : perl-Pod-Perldoc-3.28.01-461.el9.noarch 53/81 \n Verifying : perl-Pod-Simple-1:3.42-4.el9.noarch 54/81 \n Verifying : perl-Pod-Usage-4:2.01-4.el9.noarch 55/81 \n Verifying : perl-Scalar-List-Utils-4:1.56-461.el9.x86_64 56/81 \n Verifying : perl-SelectSaver-1.02-480.el9.noarch 57/81 \n Verifying : perl-Socket-4:2.031-4.el9.x86_64 58/81 \n Verifying : perl-Storable-1:3.21-460.el9.x86_64 59/81 \n Verifying : perl-Symbol-1.08-480.el9.noarch 60/81 \n Verifying : perl-Term-ANSIColor-5.01-461.el9.noarch 61/81 \n Verifying : perl-Term-Cap-1.17-460.el9.noarch 62/81 \n Verifying : perl-Text-ParseWords-3.30-460.el9.noarch 63/81 \n Verifying : perl-Text-Tabs+Wrap-2013.0523-460.el9.noarch 64/81 \n Verifying : perl-Time-Local-2:1.300-7.el9.noarch 65/81 \n Verifying : perl-URI-5.09-3.el9.noarch 66/81 \n Verifying : perl-base-2.27-480.el9.noarch 67/81 \n Verifying : perl-constant-1.33-461.el9.noarch 68/81 \n Verifying : perl-if-0.60.800-480.el9.noarch 69/81 \n Verifying : perl-interpreter-4:5.32.1-480.el9.x86_64 70/81 \n Verifying : perl-libnet-3.13-4.el9.noarch 71/81 \n Verifying : perl-libs-4:5.32.1-480.el9.x86_64 72/81 \n Verifying : perl-mro-1.23-480.el9.x86_64 73/81 \n Verifying : perl-overload-1.31-480.el9.noarch 74/81 \n Verifying : perl-overloading-0.02-480.el9.noarch 75/81 \n Verifying : perl-parent-1:0.238-460.el9.noarch 76/81 \n Verifying : perl-podlators-1:4.14-460.el9.noarch 77/81 \n Verifying : perl-subs-1.03-480.el9.noarch 78/81 \n Verifying : perl-vars-1.05-480.el9.noarch 79/81 \n Verifying : xml-common-0.6.3-58.el9.noarch 80/81 \n Verifying : dejavu-sans-fonts-2.37-18.el9.noarch 81/81 \n\nInstalled:\n almalinux-logos-httpd-90.5.1-1.1.el9.noarch dejavu-sans-fonts-2.37-18.el9.noarch \n fontconfig-2.14.0-2.el9_1.x86_64 gd-2.3.2-3.el9.x86_64 \n jbigkit-libs-2.1-23.el9.x86_64 langpacks-core-font-en-3.0-16.el9.noarch \n libX11-1.7.0-7.el9.x86_64 libX11-common-1.7.0-7.el9.noarch \n libXau-1.0.9-8.el9.x86_64 libXpm-3.5.13-8.el9_1.x86_64 \n libtiff-4.4.0-7.el9.x86_64 libwebp-1.2.0-6.el9_1.x86_64 \n libxcb-1.13.1-9.el9.x86_64 libxslt-1.1.34-9.el9.x86_64 \n nginx-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64 nginx-all-modules-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.noarch \n nginx-core-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64 nginx-filesystem-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.noarch \n nginx-mod-http-image-filter-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64 nginx-mod-http-perl-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64 \n nginx-mod-http-xslt-filter-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64 nginx-mod-mail-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64 \n nginx-mod-stream-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64 perl-AutoLoader-5.74-480.el9.noarch \n perl-B-1.80-480.el9.x86_64 perl-Carp-1.50-460.el9.noarch \n perl-Class-Struct-0.66-480.el9.noarch perl-Data-Dumper-2.174-462.el9.x86_64 \n perl-Digest-1.19-4.el9.noarch perl-Digest-MD5-2.58-4.el9.x86_64 \n perl-Encode-4:3.08-462.el9.x86_64 perl-Errno-1.30-480.el9.x86_64 \n perl-Exporter-5.74-461.el9.noarch perl-Fcntl-1.13-480.el9.x86_64 \n perl-File-Basename-2.85-480.el9.noarch perl-File-Path-2.18-4.el9.noarch \n perl-File-Temp-1:0.231.100-4.el9.noarch perl-File-stat-1.09-480.el9.noarch \n perl-FileHandle-2.03-480.el9.noarch perl-Getopt-Long-1:2.52-4.el9.noarch \n perl-Getopt-Std-1.12-480.el9.noarch perl-HTTP-Tiny-0.076-460.el9.noarch \n perl-IO-1.43-480.el9.x86_64 perl-IO-Socket-IP-0.41-5.el9.noarch \n perl-IO-Socket-SSL-2.073-1.el9.noarch perl-IPC-Open3-1.21-480.el9.noarch \n perl-MIME-Base64-3.16-4.el9.x86_64 perl-Mozilla-CA-20200520-6.el9.noarch \n perl-NDBM_File-1.15-480.el9.x86_64 perl-Net-SSLeay-1.92-2.el9.x86_64 \n perl-POSIX-1.94-480.el9.x86_64 perl-PathTools-3.78-461.el9.x86_64 \n perl-Pod-Escapes-1:1.07-460.el9.noarch perl-Pod-Perldoc-3.28.01-461.el9.noarch \n perl-Pod-Simple-1:3.42-4.el9.noarch perl-Pod-Usage-4:2.01-4.el9.noarch \n perl-Scalar-List-Utils-4:1.56-461.el9.x86_64 perl-SelectSaver-1.02-480.el9.noarch \n perl-Socket-4:2.031-4.el9.x86_64 perl-Storable-1:3.21-460.el9.x86_64 \n perl-Symbol-1.08-480.el9.noarch perl-Term-ANSIColor-5.01-461.el9.noarch \n perl-Term-Cap-1.17-460.el9.noarch perl-Text-ParseWords-3.30-460.el9.noarch \n perl-Text-Tabs+Wrap-2013.0523-460.el9.noarch perl-Time-Local-2:1.300-7.el9.noarch \n perl-URI-5.09-3.el9.noarch perl-base-2.27-480.el9.noarch \n perl-constant-1.33-461.el9.noarch perl-if-0.60.800-480.el9.noarch \n perl-interpreter-4:5.32.1-480.el9.x86_64 perl-libnet-3.13-4.el9.noarch \n perl-libs-4:5.32.1-480.el9.x86_64 perl-mro-1.23-480.el9.x86_64 \n perl-overload-1.31-480.el9.noarch perl-overloading-0.02-480.el9.noarch \n perl-parent-1:0.238-460.el9.noarch perl-podlators-1:4.14-460.el9.noarch \n perl-subs-1.03-480.el9.noarch perl-vars-1.05-480.el9.noarch \n xml-common-0.6.3-58.el9.noarch \n\nComplete!\n")])])]),n("h3",{attrs:{id:"➡️-test-installation-2"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#➡️-test-installation-2"}},[e._v("#")]),e._v(" ➡️ Test installation")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("nginx -v\n")])])]),n("p",[e._v("Expected output (test):")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("nginx version: nginx/1.22.1\n")])])]),n("h3",{attrs:{id:"🔖-variant-iii-main-line-repository-install"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#🔖-variant-iii-main-line-repository-install"}},[e._v("#")]),e._v(" 🔖 Variant III: Main-line Repository Install")]),e._v(" "),n("h4",{attrs:{id:"example-2"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#example-2"}},[e._v("#")]),e._v(" Example")]),e._v(" "),n("h3",{attrs:{id:"➡️-import-the-nginx-signing-key"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#➡️-import-the-nginx-signing-key"}},[e._v("#")]),e._v(" ➡️ Import the Nginx signing key")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("sudo rpm --import https://nginx.org/keys/nginx_signing.key\n")])])]),n("h3",{attrs:{id:"➡️-create-a-repo-definition-file-for-nginx"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#➡️-create-a-repo-definition-file-for-nginx"}},[e._v("#")]),e._v(" ➡️ Create a repo definition file for Nginx")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("sudo tee /etc/yum.repos.d/nginx.repo\n")])])]),n("h3",{attrs:{id:"➡️-populate-the-new-repo-file-with-below-text-copy-paste-ctrl-d"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#➡️-populate-the-new-repo-file-with-below-text-copy-paste-ctrl-d"}},[e._v("#")]),e._v(" ➡️ Populate the new repo file with below text (copy-paste & "),n("code",[e._v("Ctrl+D")]),e._v(")")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("[nginx-mainline]\nname=nginx mainline repo\nbaseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/\ngpgcheck=1\nenabled=0\ngpgkey=https://nginx.org/keys/nginx_signing.key\nmodule_hotfixes=true\n")])])]),n("h3",{attrs:{id:"➡️-install-dnf-uils"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#➡️-install-dnf-uils"}},[e._v("#")]),e._v(" ➡️ Install "),n("code",[e._v("dnf-uils")])]),e._v(" "),n("div",{staticClass:"custom-block tip"},[n("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),n("p",[e._v("In AlmaLinux 9.2 "),n("code",[e._v("dnf-utils")]),e._v(" can installed by default (depending on install type).")])]),e._v(" "),n("div",{staticClass:"custom-block warning"},[n("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),n("p",[n("code",[e._v("dnf-utils")]),e._v(" are repo managment tools (classic YUM utilities implemented as CLI shims on top of DNF)")])]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("sudo dnf install dnf-utils\n")])])]),n("p",[e._v("Expected output (install):")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("Last metadata expiration check: 0:46:06 ago on Fri Jun 2 20:17:44 2023.\nPackage yum-utils-4.3.0-5.el9_2.noarch is already installed.\nDependencies resolved.\nNothing to do.\nComplete!\n")])])]),n("h3",{attrs:{id:"➡️-enable-the-repository"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#➡️-enable-the-repository"}},[e._v("#")]),e._v(" ➡️ Enable the repository")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("dnf config-manager --enable nginx-mainline\n")])])]),n("h3",{attrs:{id:"➡️-install-the-package"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#➡️-install-the-package"}},[e._v("#")]),e._v(" ➡️ Install the package")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("sudo dnf install nginx\n")])])]),n("p",[e._v("Example output (install):")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v(' sudo dnf install nginx\nLast metadata expiration check: 0:00:10 ago on Fri Jun 2 21:06:02 2023.\nDependencies resolved.\n==================================================================================================================================================================\n Package Architecture Version Repository Size\n==================================================================================================================================================================\nInstalling:\n nginx x86_64 1:1.25.0-1.el9.ngx nginx-mainline 992 k\n\nTransaction Summary\n==================================================================================================================================================================\nInstall 1 Package\n\nTotal download size: 992 k\nInstalled size: 3.3 M\nIs this ok [y/N]: y\nDownloading Packages:\nnginx-1.25.0-1.el9.ngx.x86_64.rpm 11 MB/s | 992 kB 00:00 \n------------------------------------------------------------------------------------------------------------------------------------------------------------------\nTotal 11 MB/s | 992 kB 00:00 \nnginx mainline repo 21 kB/s | 1.5 kB 00:00 \nImporting GPG key 0x7BD9BF62:\n Userid : "nginx signing key "\n Fingerprint: 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62\n From : https://nginx.org/keys/nginx_signing.key\nIs this ok [y/N]: y\nKey imported successfully\nRunning transaction check\nTransaction check succeeded.\nRunning transaction test\nTransaction test succeeded.\nRunning transaction\n Preparing : 1/1 \n Running scriptlet: nginx-1:1.25.0-1.el9.ngx.x86_64 1/1 \n Installing : nginx-1:1.25.0-1.el9.ngx.x86_64 1/1 \n Running scriptlet: nginx-1:1.25.0-1.el9.ngx.x86_64 1/1 \n----------------------------------------------------------------------\n\nThanks for using nginx!\n\nPlease find the official documentation for nginx here:\n* https://nginx.org/en/docs/\n\nPlease subscribe to nginx-announce mailing list to get\nthe most important news about nginx:\n* https://nginx.org/en/support.html\n\nCommercial subscriptions for nginx are available on:\n* https://nginx.com/products/\n\n----------------------------------------------------------------------\n\n Verifying : nginx-1:1.25.0-1.el9.ngx.x86_64 1/1 \n\nInstalled:\n nginx-1:1.25.0-1.el9.ngx.x86_64 \n\nComplete!\n')])])]),n("h3",{attrs:{id:"➡️-test"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#➡️-test"}},[e._v("#")]),e._v(" ➡️ Test")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("nginx -v\n")])])]),n("p",[e._v("Expected output (test):")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("nginx version: nginx/1.25.0\n")])])]),n("h2",{attrs:{id:"📚-further-reading-and-next-steps"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#📚-further-reading-and-next-steps"}},[e._v("#")]),e._v(" 📚 Further reading and Next Steps")]),e._v(" "),n("p",[n("u",[e._v("Get Back:")])]),e._v(" "),n("ul",[n("li",[e._v("AlmaLinux Nginx Series ❯ "),n("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA01.html"}},[e._v("A Beginner's Guide")])],1)]),e._v(" "),n("p",[n("u",[e._v("In-depth Resources:")])]),e._v(" "),n("ul",[n("li",[e._v("AlmaLinux Nginx Series ❯ "),n("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA02R8.html"}},[e._v("AlmaLinux OS 8.x Installation")])],1),e._v(" "),n("li",[e._v("AlmaLinux Nginx Series ❯ "),n("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA02R91.html"}},[e._v("AlmaLinux OS 9.1 Installation")])],1),e._v(" "),n("li",[e._v("AlmaLinux Nginx Series ❯ "),n("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA03.html"}},[e._v("Default Configuration Guide")])],1),e._v(" "),n("li",[e._v("AlmaLinux Nginx Series ❯ "),n("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA04P1.html"}},[e._v("Secure Nginx Deployment")])],1)]),e._v(" "),n("p",[n("u",[e._v("Related Resources:")])]),e._v(" "),n("ul",[n("li",[e._v("AlmaLinux Firewalld Series ❯ "),n("RouterLink",{attrs:{to:"/series/system/SystemSeriesA02.html"}},[e._v("A Beginner's Guide")])],1),e._v(" "),n("li",[e._v("AlmaLinux System Series ❯ "),n("RouterLink",{attrs:{to:"/series/system/SystemSeriesA01.html"}},[e._v("Application Streams")])],1)])])}),[],!1,null,null,null);n.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/133.439395de.js b/assets/js/133.439395de.js new file mode 100644 index 000000000..273ab1cc2 --- /dev/null +++ b/assets/js/133.439395de.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[133],{423:function(e,t,a){"use strict";a.r(t);var s=a(14),r=Object(s.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"a03-❯-default-configuration-guide"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#a03-❯-default-configuration-guide"}},[e._v("#")]),e._v(" A03 ❯ Default Configuration Guide")]),e._v(" "),t("p",[t("small",[e._v("ℹ️ This article is part of AlmaLinux "),t("RouterLink",{attrs:{to:"/series/"}},[e._v("Nginx Series")]),e._v(".")],1)]),t("hr"),t("p"),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("💡")]),e._v(" "),t("th",[e._v("Experience Level")]),e._v(" "),t("th",[e._v("⭐⭐☆☆☆")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("📆")]),e._v(" "),t("td",[t("small",[e._v("Last modified ")])]),e._v(" "),t("td",[e._v("2023-05-15")])]),e._v(" "),t("tr",[t("td",[e._v("🔧")]),e._v(" "),t("td",[t("small",[e._v("Tested by "),t("br"),e._v(" ↳ version | platform | date ")])]),e._v(" "),t("td",[t("small",[t("a",{attrs:{href:"mailto:psuchanecki@almalinux.org"}},[e._v("Pawel Suchanecki")]),e._v(" "),t("br"),e._v(" ↳ 9.1 | x86_64 | 2023-04-21 ")])])])])]),e._v(" "),t("br"),e._v(" "),t("h2",{attrs:{id:"🌟-intoduction"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#🌟-intoduction"}},[e._v("#")]),e._v(" 🌟 Intoduction")]),e._v(" "),t("p",[e._v("By understanding each line in the default configuration, you can modify the settings to better suit your needs. Be sure to carefully review any changes you make to the configuration and test them before deploying in a production environment. This will help ensure that your Nginx server on AlmaLinux is properly configured and running optimally.")]),e._v(" "),t("h2",{attrs:{id:"🧠-fundamental-concepts"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#🧠-fundamental-concepts"}},[e._v("#")]),e._v(" 🧠 Fundamental Concepts")]),e._v(" "),t("h3",{attrs:{id:"nginx-configuration-file-structure"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#nginx-configuration-file-structure"}},[e._v("#")]),e._v(" Nginx Configuration File Structure")]),e._v(" "),t("p",[e._v("The main Nginx configuration file, typically named "),t("code",[e._v("nginx.conf")]),e._v(", "),t("u",[e._v("is organized into a hierarchy of configuration blocks")]),e._v(". The top-level block is the main block, which can contain "),t("code",[e._v("http")]),e._v(", "),t("code",[e._v("events")]),e._v(", and "),t("code",[e._v("stream")]),e._v(" blocks. The "),t("code",[e._v("http")]),e._v(" block can contain one or more "),t("code",[e._v("server")]),e._v(" blocks, which in turn can contain multiple "),t("code",[e._v("location")]),e._v(", if, and other directive blocks.")]),e._v(" "),t("h3",{attrs:{id:"directives"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#directives"}},[e._v("#")]),e._v(" Directives")]),e._v(" "),t("p",[t("u",[e._v("Directives")]),e._v(" are the building blocks of the Nginx configuration file. They define the behavior of the web server and can be set at various levels within the configuration hierarchy. Directives have a name and one or more parameters, and they end with a semicolon.")]),e._v(" "),t("h3",{attrs:{id:"contexts"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#contexts"}},[e._v("#")]),e._v(" Contexts")]),e._v(" "),t("p",[t("u",[e._v("Contexts")]),e._v(" are configuration blocks that group directives based on their functionality. Common contexts include "),t("code",[e._v("http")]),e._v(", "),t("code",[e._v("server")]),e._v(", "),t("code",[e._v("location")]),e._v(", and "),t("code",[e._v("events")]),e._v(". Directives can only be used within the appropriate context, and some directives can be used in multiple contexts.")]),e._v(" "),t("h3",{attrs:{id:"inheritance-and-directive-precedence"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#inheritance-and-directive-precedence"}},[e._v("#")]),e._v(" Inheritance and Directive Precedence")]),e._v(" "),t("p",[e._v("Directives set in a parent context are inherited by child contexts unless overridden by a more specific directive within the child context. When multiple directives with the same name are defined, the one in the most specific context takes precedence.")]),e._v(" "),t("h3",{attrs:{id:"variables"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#variables"}},[e._v("#")]),e._v(" Variables")]),e._v(" "),t("p",[e._v("Nginx provides a variety of built-in variables that can be used within the configuration file to store and reference values. These variables can be used to customize logging, rewrite URLs, or manipulate request and response headers.")]),e._v(" "),t("h3",{attrs:{id:"rewrite-and-redirect-rules"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#rewrite-and-redirect-rules"}},[e._v("#")]),e._v(" Rewrite and Redirect Rules")]),e._v(" "),t("p",[e._v("Nginx provides directives for creating rewrite and redirect rules, such as "),t("code",[e._v("rewrite")]),e._v(", "),t("code",[e._v("return")]),e._v(", and "),t("code",[e._v("error_page")]),e._v(". These rules can be used to manipulate incoming URLs and redirect clients to different resources based on specific conditions.")]),e._v(" "),t("h2",{attrs:{id:"📝-key-take-aways"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#📝-key-take-aways"}},[e._v("#")]),e._v(" 📝 Key take aways")]),e._v(" "),t("h3",{attrs:{id:"➡️-basic-configuration"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#➡️-basic-configuration"}},[e._v("#")]),e._v(" ➡️ Basic Configuration")]),e._v(" "),t("ul",[t("li",[e._v("System user account Nginx runs as:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("user nginx;\n")])])]),t("ul",[t("li",[e._v("Number of worker processes for handling requests (auto-detects CPU cores):")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("worker_processes auto;\n")])])]),t("ul",[t("li",[e._v("Error log file path:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("error_log /var/log/nginx/error.log;\n")])])]),t("ul",[t("li",[e._v("Process ID (PID) file path:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("pid /run/nginx.pid;\n")])])]),t("ul",[t("li",[e._v("Included dynamically loaded modules:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("include /usr/share/nginx/modules/*.conf;\n")])])]),t("h3",{attrs:{id:"➡️-performance-and-connection-settings"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#➡️-performance-and-connection-settings"}},[e._v("#")]),e._v(" ➡️ Performance and Connection Settings")]),e._v(" "),t("ul",[t("li",[e._v("Maximum connections per worker process:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("worker_connections 1024;\n")])])]),t("ul",[t("li",[e._v("Enables efficient file sending to clients:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sendfile on;\n")])])]),t("ul",[t("li",[e._v("Improves performance by sending small data packets without delay¹:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("tcp_nopush on;\n")])])]),t("ul",[t("li",[e._v("Improves performance by sending larger data packets without delay²:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("tcp_nodelay on;\n")])])]),t("ul",[t("li",[e._v("Time before an idle connection is closed:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("keepalive_timeout 65;\n")])])]),t("p",[e._v("¹ "),t("a",{attrs:{href:"http://nginx.org/en/docs/http/ngx_http_core_module.html#tcp_nopush",target:"_blank",rel:"noopener noreferrer"}},[e._v("Details of tcp_nopush option (nginx.org)"),t("OutboundLink")],1),t("br"),e._v("\n² "),t("a",{attrs:{href:"http://nginx.org/en/docs/http/ngx_http_core_module.html#tcp_nodelay",target:"_blank",rel:"noopener noreferrer"}},[e._v("Details of tcp_nodelay option (nginx.org)"),t("OutboundLink")],1),t("br"),e._v(" "),t("a",{attrs:{href:"https://en.wikipedia.org/wiki/Nagle%27s_algorithm",target:"_blank",rel:"noopener noreferrer"}},[e._v("About Neagle's algorithm (wikipedia.org)"),t("OutboundLink")],1)]),e._v(" "),t("h3",{attrs:{id:"📖-deep-dive-on-worker-connections"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#📖-deep-dive-on-worker-connections"}},[e._v("#")]),e._v(" 📖 Deep dive on "),t("code",[e._v("worker_connections")])]),e._v(" "),t("p",[t("code",[e._v("worker_connections")]),e._v(" directive is used to set the maximum number of simultaneous connections that a single worker process can handle. A worker process is a separate operating system process that handles the processing of client requests. The worker_connections directive is set within the events block of the Nginx configuration file.")]),e._v(" "),t("p",[e._v("Each connection requires a file descriptor, and the operating system has a limit on the number of file descriptors that can be opened simultaneously. The "),t("code",[e._v("worker_connections")]),e._v(" value should be set according to the available system resources, the expected number of concurrent connections, and the system’s file descriptor limit.")]),e._v(" "),t("p",[e._v("Keep in mind that the total number of connections the server can handle is determined by the number of worker processes ("),t("code",[e._v("worker_processes")]),e._v(" directive) multiplied by the number of "),t("code",[e._v("worker_connections")]),e._v(". For example, if you have 4 worker processes and 1024 worker connections, your server can handle up to 4096 simultaneous connections.")]),e._v(" "),t("p",[e._v("It’s important to find the right balance between the number of worker processes and worker connections to optimize the performance of your Nginx server based on your specific use case and hardware resources.")]),e._v(" "),t("h3",{attrs:{id:"➡️-mime-types-and-logging"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#➡️-mime-types-and-logging"}},[e._v("#")]),e._v(" ➡️ MIME Types and Logging")]),e._v(" "),t("ul",[t("li",[e._v("Maximum size of the MIME types hash table:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("types_hash_max_size 4096; \n")])])]),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("The hash table allows for faster lookups of MIME types when processing requests for different files. A larger "),t("code",[e._v("types_hash_max_size")]),e._v(" value will increase memory consumption but can improve performance for lookups in cases where there are a large number of MIME type.")])]),e._v(" "),t("ul",[t("li",[e._v("Included MIME types file:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("include /etc/nginx/mime.types;\n")])])]),t("ul",[t("li",[e._v("Default MIME type when undetermined.")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("default_type application/octet-stream;\n")])])]),t("ul",[t("li",[e._v("Access log file path and format.")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("access_log /var/log/nginx/access.log main;\n")])])]),t("ul",[t("li",[e._v("Log format used by Nginx")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('log_format main \'$remote_addr - $remote_user [$time_local] "$request" \'\n \'$status $body_bytes_sent "$http_referer" \'\n \'"$http_user_agent" "$http_x_forwarded_for"\';\n')])])]),t("h3",{attrs:{id:"📖-break-down-the-the-default-log-format"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#📖-break-down-the-the-default-log-format"}},[e._v("#")]),e._v(" 📖 Break down the the default "),t("code",[e._v("log_format")])]),e._v(" "),t("ul",[t("li",[e._v("The IP address of the client making the request:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("$remote_addr\n")])])]),t("ul",[t("li",[e._v("The authenticated user (if any) making the request. This value will be available only if authentication is enabled:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("$remote_user\n")])])]),t("ul",[t("li",[e._v("The local time when the request was received, enclosed in square brackets. The format is typically "),t("code",[e._v('"day/month/year:hour:minute:second timezone"')]),e._v(":")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("[$time_local]\n")])])]),t("ul",[t("li",[e._v("The full HTTP request line, enclosed in double quotes. It includes the HTTP method, the requested URI, and the HTTP version used by the client (e.g., "),t("code",[e._v('"GET /index.html HTTP/1.1"')]),e._v("):")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('"$request"\n')])])]),t("ul",[t("li",[e._v("The HTTP status code returned by the server for the request:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("$status\n")])])]),t("ul",[t("li",[e._v("The number of bytes sent in the response body (excluding headers) to the client:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("$body_bytes_sent\n")])])]),t("ul",[t("li",[e._v("The HTTP referer header, enclosed in double quotes. This is the URL of the page that linked to the requested resource (if available):")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('"$http_referer"\n')])])]),t("ul",[t("li",[e._v("The HTTP user agent header, enclosed in double quotes. This contains information about the client's browser and operating system:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('"$http_user_agent"\n')])])]),t("ul",[t("li",[e._v("The HTTP X-Forwarded-For header, enclosed in double quotes. This header is used to identify the originating IP address of a client when the request is made through a proxy or load balancer:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('"$http_x_forwarded_for"\n')])])]),t("h3",{attrs:{id:"➡️-http-server-block"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#➡️-http-server-block"}},[e._v("#")]),e._v(" ➡️ HTTP Server Block")]),e._v(" "),t("ul",[t("li",[e._v("Included configuration files for additional server blocks:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("include /etc/nginx/conf.d/*.conf;\n")])])]),t("ul",[t("li",[e._v("HTTP requests listened on port 80:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("listen 80;\n")])])]),t("ul",[t("li",[e._v("IPv6 requests listened on port 80:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("listen [::]:80;\n")])])]),t("ul",[t("li",[e._v("Default server name when unspecified:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("server_name _;\n")])])]),t("ul",[t("li",[e._v("Server's file root directory:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("root /usr/share/nginx/html;\n")])])]),t("ul",[t("li",[e._v("Included default server block configuration files:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("include /etc/nginx/default.d/*.conf;\n")])])]),t("ul",[t("li",[e._v("URL redirect for 404 errors:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("error_page 404 /404.html;\n")])])]),t("ul",[t("li",[e._v("Empty location block for 404 error page:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("location = /40x.html { }\n")])])]),t("ul",[t("li",[e._v("URL redirect for 500, 502, 503, or 504 errors:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("error_page 500 502 503 504 /50x.html;\n")])])]),t("ul",[t("li",[e._v("Empty location block for 500 error page:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("location = /50x.html { }\n")])])]),t("h3",{attrs:{id:"➡️-https-server-block-specific"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#➡️-https-server-block-specific"}},[e._v("#")]),e._v(" ➡️ HTTPS Server Block Specific")]),e._v(" "),t("ul",[t("li",[e._v("HTTPS requests listened on port 443 (SSL and HTTP/2 protocols):")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("listen 443 ssl http2;\n")])])]),t("ul",[t("li",[e._v("IPv6 HTTPS requests listened on port 443 (SSL and HTTP/2 protocols):")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("listen [::]:443 ssl http2;\n")])])]),t("ul",[t("li",[e._v("SSL certificate file path:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('ssl_certificate "/etc/pki/nginx/server.crt";\n')])])]),t("ul",[t("li",[e._v("SSL certificate key file path:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('ssl_certificate_key "/etc/pki/nginx/private/server.key";\n')])])]),t("ul",[t("li",[e._v("Shared SSL session cache:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("ssl_session_cache shared:SSL:1m;\n")])])]),t("ul",[t("li",[e._v("SSL session timeout value:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("ssl_session_timeout 10m;\n")])])]),t("ul",[t("li",[e._v("Prefers server's cipher suite over client's.")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("ssl_prefer_server_ciphers on;\n")])])]),t("ul",[t("li",[e._v("Cipher suites for SSL connections.")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("ssl_ciphers PROFILE=SYSTEM;\n")])])]),t("h3",{attrs:{id:"📖-more-about-ssl-ciphers-setting"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#📖-more-about-ssl-ciphers-setting"}},[e._v("#")]),e._v(" 📖 More about "),t("code",[e._v("ssl_ciphers")]),e._v(" setting")]),e._v(" "),t("p",[e._v("The "),t("code",[e._v("ssl_ciphers")]),e._v(" directive in Nginx is used to specify the list of available ciphers that can be used for SSL/TLS connections. The order of ciphers in the list affects their priority during the SSL/TLS handshake between the server and the client.")]),e._v(" "),t("p",[t("code",[e._v("ssl_ciphers PROFILE=SYSTEM;")]),e._v(" tells Nginx to use the system's default cipher list for SSL/TLS connections. The system default cipher list is determined by the OpenSSL library installed on your system.")]),e._v(" "),t("p",[e._v("Using "),t("code",[e._v("PROFILE=SYSTEM")]),e._v(" can be useful when you want to rely on the system-wide cipher configuration rather than specifying a custom list of ciphers in your Nginx configuration. This approach can simplify your Nginx configuration and ensure that your server uses the recommended ciphers for your system.")]),e._v(" "),t("h2",{attrs:{id:"📚-further-reading-and-next-steps"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#📚-further-reading-and-next-steps"}},[e._v("#")]),e._v(" 📚 Further reading and Next Steps")]),e._v(" "),t("p",[t("u",[e._v("Get Back:")])]),e._v(" "),t("ul",[t("li",[e._v("AlmaLinux Nginx Series ❯ "),t("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA01.html"}},[e._v("A Beginner's Guide")])],1),e._v(" "),t("li",[e._v("AlmaLinux Nginx Series ❯ "),t("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA02R8.html"}},[e._v("AlmaLinux OS 8.x Installation Examples")])],1),e._v(" "),t("li",[e._v("AlmaLinux Nginx Series ❯ "),t("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA02R91.html"}},[e._v("AlmaLinux OS 9.1 Installation Examples")])],1),e._v(" "),t("li",[e._v("AlmaLinux Nginx Series ❯ "),t("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA02R92.html"}},[e._v("AlmaLinux OS 9.2 Installation Examples")])],1)]),e._v(" "),t("p",[t("u",[e._v("In-depth Resources:")])]),e._v(" "),t("ul",[t("li",[e._v("AlmaLinux Nginx Series ❯ "),t("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA04P1.html"}},[e._v("Secure Nginx Deployment")])],1)]),e._v(" "),t("p",[t("u",[e._v("Related Resources:")])]),e._v(" "),t("ul",[t("li",[e._v("AlmaLinux Firewalld Series ❯ "),t("RouterLink",{attrs:{to:"/series/system/SystemSeriesA02.html"}},[e._v("A Beginner's Guide")])],1),e._v(" "),t("li",[e._v("AlmaLinux System Series ❯ "),t("RouterLink",{attrs:{to:"/series/system/SystemSeriesA01.html"}},[e._v("Application Streams")])],1)])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/134.31fc5c50.js b/assets/js/134.31fc5c50.js new file mode 100644 index 000000000..dea4c5c01 --- /dev/null +++ b/assets/js/134.31fc5c50.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[134],{415:function(e,t,s){"use strict";s.r(t);var a=s(14),i=Object(a.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"a04-❯-secure-nginx-deployment"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#a04-❯-secure-nginx-deployment"}},[e._v("#")]),e._v(" A04 ❯ Secure Nginx Deployment")]),e._v(" "),t("p",[t("small",[e._v("ℹ️ This article is part of AlmaLinux "),t("RouterLink",{attrs:{to:"/series/"}},[e._v("Nginx Series")]),e._v(".")],1)]),t("hr"),t("p"),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("💡")]),e._v(" "),t("th",[e._v("Experience Level")]),e._v(" "),t("th",[e._v("⭐☆☆☆☆")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("📆")]),e._v(" "),t("td",[t("small",[e._v("Last modified ")])]),e._v(" "),t("td",[e._v("2023-05-16")])]),e._v(" "),t("tr",[t("td",[e._v("🔧")]),e._v(" "),t("td",[t("small",[e._v("Tested by "),t("br"),e._v(" ↳ version | platform | date ")])]),e._v(" "),t("td",[t("small",[t("a",{attrs:{href:"mailto:psuchanecki@almalinux.org"}},[e._v("Pawel Suchanecki")]),e._v(" "),t("br"),e._v(" ↳ 9.1 | x86_64 | 2023-04-21 ")])])])])]),e._v(" "),t("br"),e._v(" "),t("h2",{attrs:{id:"🌟-introduction"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#🌟-introduction"}},[e._v("#")]),e._v(" 🌟 Introduction")]),e._v(" "),t("p",[e._v("As Nginx is a high-performance web server commonly used in public environments it makes it a prime target for malicious attacks. To enhance the security of your Nginx server and protect your web content, it's important to secure your system. This guide presents a few simple steps you can take to secure your Nginx server and help prevent unauthorized access.")]),e._v(" "),t("h2",{attrs:{id:"🧠-fundamental-concepts"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#🧠-fundamental-concepts"}},[e._v("#")]),e._v(" 🧠 Fundamental Concepts")]),e._v(" "),t("h3",{attrs:{id:"general-protection"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#general-protection"}},[e._v("#")]),e._v(" General Protection")]),e._v(" "),t("h4",{attrs:{id:"regular-updates-and-patches"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#regular-updates-and-patches"}},[e._v("#")]),e._v(" Regular Updates and Patches")]),e._v(" "),t("p",[e._v("Keeping your Nginx installation up-to-date is essential in ensuring that it is secure. Regularly check for software updates and patches from the official repository to stay informed of any vulnerabilities or bugs that could affect your Nginx server.")]),e._v(" "),t("h4",{attrs:{id:"file-and-directory-permissions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#file-and-directory-permissions"}},[e._v("#")]),e._v(" File and Directory Permissions")]),e._v(" "),t("p",[e._v("Make sure that the file and directory permissions are set appropriately for your Nginx server. Only allow users with the appropriate permissions to access the files and directories.")]),e._v(" "),t("h4",{attrs:{id:"use-a-dedicated-user-account"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#use-a-dedicated-user-account"}},[e._v("#")]),e._v(" Use a Dedicated User Account")]),e._v(" "),t("p",[e._v("Running Nginx as a dedicated user account can help limit the damage caused by an attacker if your server is compromised. This is because a dedicated user account only has access to the files and directories required to run Nginx, reducing the potential damage an attacker can cause if they gain access to your server.")]),e._v(" "),t("h4",{attrs:{id:"restrict-access-to-sensitive-information"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#restrict-access-to-sensitive-information"}},[e._v("#")]),e._v(" Restrict Access to Sensitive Information")]),e._v(" "),t("p",[e._v("To reduce the risk of exposing sensitive information, limit access to sensitive information on your server. You can do this by ensuring that only authorized users have access to sensitive files and directories.")]),e._v(" "),t("h4",{attrs:{id:"monitor-logs"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#monitor-logs"}},[e._v("#")]),e._v(" Monitor Logs")]),e._v(" "),t("p",[e._v("Monitoring your Nginx server logs can help you detect and respond to security incidents quickly. Regularly reviewing your logs can help you identify any suspicious activity or unauthorized access attempts. You can also set up alerts or notifications to receive notifications when specific events occur, such as failed login attempts.")]),e._v(" "),t("h3",{attrs:{id:"security-must-haves"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#security-must-haves"}},[e._v("#")]),e._v(" Security must-haves")]),e._v(" "),t("p",[e._v("⚠️ Implement a firewall to block all incoming traffic (default on AlmaLinux) except for the ports you want to allow. For a web server like Nginx, you typically want to allow ports for HTTP and HTTPS services.")]),e._v(" "),t("p",[e._v("⚠️ Use secure protocols for accessing your server, such as SSH, and disable password-based authentication in favor of public-key authentication.")]),e._v(" "),t("p",[e._v("⚠️ Use secure coding practices when developing your web application or service, such as input validation and sanitization, to prevent common web vulnerabilities like SQL injection and cross-site scripting (XSS).")]),e._v(" "),t("h3",{attrs:{id:"configuration-specific-practices"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#configuration-specific-practices"}},[e._v("#")]),e._v(" Configuration Specific Practices")]),e._v(" "),t("p",[e._v("➡️ Enable SSL/TLS encryption to encrypt your web traffic, preventing attackers from intercepting sensitive information. Obtaining an SSL certificate from a trusted certificate authority like Let's Encrypt is recommended.")]),e._v(" "),t("p",[e._v("➡️ Implement user authentication using the "),t("code",[e._v("htpasswd")]),e._v(" tool to restrict access to your Nginx server and control access to specific areas of your site.")]),e._v(" "),t("p",[e._v("➡️ Implement rate limiting to limit the number of requests from a particular IP address over a given period, preventing denial-of-service (DoS) attacks and other malicious traffic.")]),e._v(" "),t("p",[e._v("➡️ Disable server tokens in Nginx to prevent revealing information about the software and version being used, making it harder for attackers to find potential vulnerabilities in your server.")]),e._v(" "),t("h2",{attrs:{id:"📝-key-takeaways"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#📝-key-takeaways"}},[e._v("#")]),e._v(" 📝 Key Takeaways")]),e._v(" "),t("h3",{attrs:{id:"step-1-check-the-firewalld-configuration"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#step-1-check-the-firewalld-configuration"}},[e._v("#")]),e._v(" Step 1: Check The Firewalld Configuration")]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("On AlmaLinux OS, the Firewalld packet filtering service is enabled by default.")])]),e._v(" "),t("p",[e._v("To allow incoming traffic on ports 80 (HTTP) and 443 (HTTPS), run:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo firewall-cmd --permanent --zone=public --add-service={http,https}\n")])])]),t("p",[e._v("Then just reload the rules:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo firewall-cmd --reload\n")])])]),t("h3",{attrs:{id:"step-2-enable-ssl-tls-encryption"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#step-2-enable-ssl-tls-encryption"}},[e._v("#")]),e._v(" Step 2: Enable SSL/TLS Encryption")]),e._v(" "),t("p",[e._v("Encrypting your web traffic using SSL/TLS is an essential step in securing your Nginx installation. To enable SSL/TLS encryption, you will need to obtain an SSL certificate and configure Nginx to use it.\nOne way to obtain an SSL certificate is to use Let's Encrypt, a free, automated, and open certificate authority.")]),e._v(" "),t("p",[e._v("To install Let's Encrypt on AlmaLinux 9.x, run the following command:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo dnf install certbot python3-certbot-nginx\n")])])]),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("The "),t("code",[e._v("python3-certbot-nginx")]),e._v(" package is from EPEL repository, so if you get error to the above, just do:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("dnf install epel-release\n")])])])]),e._v(" "),t("p",[e._v("Then, obtain an SSL certificate for your domain by running the following command:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo certbot --nginx -d almalinux.example.com\n")])])]),t("p",[e._v("Replace example.com with your domain name.")]),e._v(" "),t("h4",{attrs:{id:"example-on-success"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#example-on-success"}},[e._v("#")]),e._v(" Example on success:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("...\nDeploying certificate\nSuccessfully deployed certificate for almalinux.example.com to /etc/nginx/nginx.conf\nCongratulations! You have successfully enabled HTTPS on https://almalinux.example.com\n")])])]),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("After successful configuration, '/etc/nginx/nginx.conf' will contain these new lines:")]),e._v(" "),t("details",{staticClass:"custom-block details"},[t("summary",[e._v("DETAILS")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v(" listen [::]:443 ssl ipv6only=on; # managed by Certbot\n listen 443 ssl; # managed by Certbot\n ssl_certificate /etc/letsencrypt/live/almalinux.example.com/fullchain.pem; # managed by Certbot\n ssl_certificate_key /etc/letsencrypt/live/almalinux.example.com/privkey.pem; # managed by Certbot\n include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot\n ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot\n \n \n server {\n if ($host = almalinux.example.com) {\n return 301 https://$host$request_uri;\n } # managed by Certbot\n listen 80;\n listen [::]:80;\n server_name almalinux.example.com;\n return 404; # managed by Certbot\n }\n")])])])])]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("If you get this weird error:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("...\nDeploying certificate\nCould not install certificate\nAn unexpected error occurred:\nOpenSSL.crypto.Error: [('Provider routines', '', 'invalid key length')]\nAsk for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.\n")])])]),t("p",[e._v("Please check if you have FIPS mode enabled which prevents 'unauthorized' uses of OpenSSL framework (instruction in Details).")]),e._v(" "),t("details",{staticClass:"custom-block details"},[t("summary",[e._v("DETAILS")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("fips-mode-setup --check\n")])])]),t("p",[e._v("Should tell you:\n"),t("code",[e._v("FIPS mode is disabled.")])]),e._v(" "),t("p",[e._v("If does not you need to disable the FIPS for the time of generation:")]),e._v(" "),t("ul",[t("li",[e._v("Disable it:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("fips-mode-setup --disable\n")])])]),t("ul",[t("li",[e._v("Reboot the system!\n ")]),e._v(" "),t("li",[e._v("Regenerate the certificate (or just reinstall - "),t("code",[e._v("certbot")]),e._v(" will offer that option when runs again) with the command that previously failed (above).")]),e._v(" "),t("li",[e._v("Renable FIPS:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("fips-mode-setup --enable\n")])])]),t("ul",[t("li",[e._v("Reboot the system!")])])])]),e._v(" "),t("h4",{attrs:{id:"check-if-that-works"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#check-if-that-works"}},[e._v("#")]),e._v(" Check if that works!")]),e._v(" "),t("p",[e._v("Navigate your browser to your site with "),t("code",[e._v("https")]),e._v(" protocol prefix.\n(Like: https://almalinux.example.com). "),t("u",[e._v("Now the connection is encrypted")]),e._v("(🔒).")]),e._v(" "),t("h3",{attrs:{id:"step-3-implement-user-authentication"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#step-3-implement-user-authentication"}},[e._v("#")]),e._v(" Step 3: Implement User Authentication")]),e._v(" "),t("p",[e._v("If you want to restrict access to your Nginx server, you can implement user authentication using the "),t("code",[e._v("htpasswd")]),e._v(" tool.")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[t("code",[e._v("htpasswd")]),e._v(" manages user accounts and passwords for accessing restricted areas of your website, helping to add basic authentication to your Nginx server and control access to specific areas of your site.")])]),e._v(" "),t("p",[e._v("To do this, run the following command to install "),t("code",[e._v("httpd-tools")]),e._v(" package:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo dnf install httpd-tools\n")])])]),t("p",[e._v("Then, create a password file for your user by running the following command:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo htpasswd -c /etc/nginx/.htpasswd myuser\n")])])]),t("p",[e._v("Replace "),t("code",[e._v("myuser")]),e._v(" with your desired username.")]),e._v(" "),t("p",[e._v("Finally, add the following configuration to your Nginx server block to require authentication for all requests (lines starting with "),t("code",[e._v("auth_basic")]),e._v("):")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('server {\n listen 80;\n server_name example.com;\n root /var/www/example.com;\n index index.html;\n\n auth_basic "Restricted Access";\n auth_basic_user_file /etc/nginx/.htpasswd;\n\n location / {\n try_files $uri $uri/ =404;\n }\n}\n')])])]),t("p",[e._v("Accessing the site will prompt user for username and password now.")]),e._v(" "),t("h3",{attrs:{id:"step-4-implement-rate-limiting"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#step-4-implement-rate-limiting"}},[e._v("#")]),e._v(" Step 4: Implement Rate Limiting")]),e._v(" "),t("p",[e._v("Rate limiting is a technique used to limit the number of requests from a particular IP address over a given period. This can help prevent denial-of-service (DoS) attacks and other malicious traffic.")]),e._v(" "),t("p",[e._v("To implement rate limiting in Nginx, add the following configuration to your server block (lines starting with "),t("code",[e._v("limit_req*")]),e._v(")")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("server {\n listen 80;\n server_name example.com;\n root /var/www/example.com;\n index index.html;\n\n limit_req zone=one burst=5 nodelay;\n limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;\n\n location / {\n try_files $uri $uri/ =404;\n }\n}\n")])])]),t("p",[e._v("This configuration will limit requests to one request per second per IP address, with a burst of 5 requests allowed before blocking further requests. The nodelay parameter ensures that requests exceeding the limit are blocked immediately.")]),e._v(" "),t("p",[e._v("Note: both can be added to "),t("code",[e._v("http")]),e._v(" block.")]),e._v(" "),t("details",{staticClass:"custom-block details"},[t("summary",[e._v("DETAILS")]),e._v(" "),t("p",[e._v("For more info on rate limitting please read "),t("strong",[t("a",{attrs:{href:"https://www.nginx.com/blog/rate-limiting-nginx/",target:"_blank",rel:"noopener noreferrer"}},[e._v(" a dedicated blog post Nginx.org "),t("OutboundLink")],1)])])]),e._v(" "),t("h3",{attrs:{id:"step-5-disable-server-tokens"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#step-5-disable-server-tokens"}},[e._v("#")]),e._v(" Step 5: Disable Server Tokens")]),e._v(" "),t("p",[e._v("By default, Nginx includes server tokens in its response headers, which can reveal information about the software and version being used. This can be useful for attackers to find potential vulnerabilities in your server.")]),e._v(" "),t("p",[e._v("To disable server tokens in Nginx, add the following configuration to your "),t("code",[e._v("nginx.conf")]),e._v(" file:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("server_tokens off;\n")])])]),t("p",[e._v("As with all the changes to the configuration file you need to reload the server for this to be effective:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("systemctl reload nginx\n")])])]),t("h2",{attrs:{id:"📖-faq"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#📖-faq"}},[e._v("#")]),e._v(" 📖 FAQ")]),e._v(" "),t("h4",{attrs:{id:"q-how-to-fix-nginx-stat-failed-13-permission-denied-with-selinux-enabled"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#q-how-to-fix-nginx-stat-failed-13-permission-denied-with-selinux-enabled"}},[e._v("#")]),e._v(" Q: How to fix "),t("code",[e._v("Nginx: stat() failed (13: Permission denied)")]),e._v(" with SELinux enabled?")]),e._v(" "),t("p",[e._v('Context: Nginx server is running under the user "nginx" and has access to to the files. But when I am attempting to list the contents of the /usr/share/nginx/srv/downloads/ directory on my server using a web browser. I have installed the Nginx server and set up configuration files, but when I try to access the directory, not all content is listed, and I receive a "Permission denied" error. The error message is as follows:')]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('2023/04/27 17:08:54 [crit] 12839#0: *1 stat() "/usr/share/nginx/srv/downloads/file.txt" failed (13: Permission denied), client: 192.168.0.26, server: localhost, request: "GET /downloads/ HTTP/1.1", host: "localhost"\n')])])]),t("p",[e._v('The Nginx server is running under the user "nginx," which is part of the "devs" group. I have verified that the user has access to the files by running the following command:')]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("su -l nginx -s /bin/stat /usr/share/nginx/srv/downloads/file.txt\n")])])]),t("p",[e._v("The output indicates that the user has the necessary permissions:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("Last login: Thu Apr 28 09:30:19 CEST 2023 on pts/0\n File: '/usr/share/nginx/srv/downloads/file.txt'\n Size: 0 Blocks: 0 IO Block: 4096 regular empty file\nDevice: fd00h/64768d Inode: 85524762 Links: 1\nAccess: (0644/-rw-r--r--) Uid: ( 1000/ is) Gid: ( 1000/ devs)\nContext: system_u:object_r:httpd_sys_content_t:s0\nAccess: 2023-04-28 09:45:48.393259661 +0200\nModify: 2023-04-28 09:45:48.393259661 +0200\nChange: 2023-04-28 09:45:48.393259661 +0200\n Birth: - \n")])])]),t("p",[e._v("I also tried with the user www-data, but the issue persists.")]),e._v(" "),t("p",[t("strong",[e._v("A:")])]),e._v(" "),t("ol",[t("li",[t("strong",[e._v("Reproduce the problem")]),e._v("\nThis issue is likely related to SELinux blocking access to the directory. To confirm if it's an SELinux issue, temporarily disable SELinux by running")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo setenforce 0\n")])])]),t("p",[e._v("then try loading the directory again.")]),e._v(" "),t("ol",{attrs:{start:"2"}},[t("li",[t("strong",[e._v("Generate SELinux policy")])])]),e._v(" "),t("p",[e._v("If this resolves the issue, you will need to adjust the context of the directory to allow Nginx access or use "),t("code",[e._v("audit2allow")]),e._v(" to identify a SELinux boolean that can be changed.")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[t("code",[e._v("audit2allow")]),e._v(" - generate SELinux policy allow/dontaudit rules from logs of denied operations")])]),e._v(" "),t("ol",{attrs:{start:"3"}},[t("li",[t("strong",[e._v("Fix the SELinux issue")])])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('sudo semanage fcontext -a -t httpd_sys_content_t "/usr/share/nginx/srv(/.*)?"\n')])])]),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo restorecon -R -v /usr/share/nginx/srv\n")])])]),t("p",[e._v("The first command tells SELinux that the "),t("code",[e._v("/usr/share/nginx/srv")]),e._v(" directory contains read-only content for an HTTP server. The second command relabels all the files in the "),t("code",[e._v("/usr/share/nginx/srv")]),e._v(" directory with the correct context.")]),e._v(" "),t("ol",{attrs:{start:"4"}},[t("li",[t("strong",[e._v("Re-enable SELinux")])])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo setenforce 1\n")])])]),t("h2",{attrs:{id:"📚-further-reading-and-next-steps"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#📚-further-reading-and-next-steps"}},[e._v("#")]),e._v(" 📚 Further reading and Next Steps")]),e._v(" "),t("p",[t("u",[e._v("Get Back:")])]),e._v(" "),t("ul",[t("li",[e._v("AlmaLinux Nginx Series ❯ "),t("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA01.html"}},[e._v("A Beginner's Guide")])],1),e._v(" "),t("li",[e._v("AlmaLinux Nginx Series ❯ "),t("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA01R8.html"}},[e._v("AlmaLinux OS 8.x Installation")])],1),e._v(" "),t("li",[e._v("AlmaLinux Nginx Series ❯ "),t("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA02R91.html"}},[e._v("AlmaLinux OS 9.1 Installation")])],1),e._v(" "),t("li",[e._v("AlmaLinux Nginx Series ❯ "),t("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA02R92.html"}},[e._v("AlmaLinux OS 9.2 Installation")])],1)]),e._v(" "),t("p",[t("u",[e._v("In-depth Resources:")])]),e._v(" "),t("p",[t("u",[e._v("Related Resources:")])]),e._v(" "),t("ul",[t("li",[e._v("AlmaLinux Firewalld Series ❯ "),t("RouterLink",{attrs:{to:"/series/system/SystemSeriesA02.html"}},[e._v("A Beginner's Guide")])],1),e._v(" "),t("li",[e._v("AlmaLinux System Series ❯ "),t("RouterLink",{attrs:{to:"/series/system/SystemSeriesA01.html"}},[e._v("Application Streams")])],1)])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/135.a3989aa1.js b/assets/js/135.a3989aa1.js new file mode 100644 index 000000000..39c5d7ccb --- /dev/null +++ b/assets/js/135.a3989aa1.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[135],{420:function(t,e,i){"use strict";i.r(e);var n=i(14),s=Object(n.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"almalinux-nginx-series"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-nginx-series"}},[t._v("#")]),t._v(" AlmaLinux Nginx Series")]),t._v(" "),e("h2",{attrs:{id:"welcome"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#welcome"}},[t._v("#")]),t._v(" Welcome!")]),t._v(" "),e("p",[t._v("The articles in the series guide you through the installation, configuration, security, and management of your Nginx server.")]),t._v(" "),e("h2",{attrs:{id:"article-list"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#article-list"}},[t._v("#")]),t._v(" "),e("strong",[t._v("Article List")])]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA01.html"}},[t._v("A01")]),t._v(" ❯ Beginner's Guide")],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA02R8.html"}},[t._v("A02 R8")]),t._v(" ❯ AlmaLinux 8.x Installation Examples")],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA02R91.html"}},[t._v("A02 R9.1")]),t._v(" ❯ AlmaLinux 9.1 Installation Examples")],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA02R92.html"}},[t._v("A02 R9.2")]),t._v(" ❯ AlmaLinux 9.2 Installation Examples")],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA03.html"}},[t._v("A03")]),t._v(" ❯ Default Configuration Guide")],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA04P1.html"}},[t._v("A04")]),t._v(" ❯ Secure Nginx Deployment")],1)])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/136.f06b9f68.js b/assets/js/136.f06b9f68.js new file mode 100644 index 000000000..469a44cb9 --- /dev/null +++ b/assets/js/136.f06b9f68.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[136],{416:function(t,e,s){"use strict";s.r(e);var i=s(14),r=Object(i.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"almalinux-system-series"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-system-series"}},[t._v("#")]),t._v(" AlmaLinux System Series")]),t._v(" "),e("h2",{attrs:{id:"welcome"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#welcome"}},[t._v("#")]),t._v(" Welcome!")]),t._v(" "),e("p",[t._v("This series will guide you through the installation, configuration, security, and management of your server.")]),t._v(" "),e("h2",{attrs:{id:"article-list"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#article-list"}},[t._v("#")]),t._v(" "),e("strong",[t._v("Article List")])]),t._v(" "),e("ul",[e("li",[e("RouterLink",{attrs:{to:"/series/system/SystemSeriesA01.html"}},[t._v("A01")]),t._v(" ❯ Application Streams")],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/series/system/SystemSeriesA02.html"}},[t._v("A02")]),t._v(" ❯ Firewalld: A Beginner's Guide")],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/series/system/SystemSeriesA03.html"}},[t._v("A03")]),t._v(" ❯ NVIDIA Driver Installation Guide")],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/series/system/SystemSeriesA04.html"}},[t._v("A04")]),t._v(" ❯ Snapd Installation Guide")],1),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/series/system/SystemSeriesA05.html"}},[t._v("A05")]),t._v(" ❯ Multimedia: Install Media Codecs")],1)])])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/137.6cdad12b.js b/assets/js/137.6cdad12b.js new file mode 100644 index 000000000..e706c507a --- /dev/null +++ b/assets/js/137.6cdad12b.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[137],{418:function(e,n,a){"use strict";a.r(n);var t=a(14),o=Object(t.a)({},(function(){var e=this,n=e._self._c;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("h1",{attrs:{id:"a01-❯-application-streams"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#a01-❯-application-streams"}},[e._v("#")]),e._v(" A01 ❯ Application Streams")]),e._v(" "),n("p",[n("small",[e._v("ℹ️ This article is part of AlmaLinux "),n("RouterLink",{attrs:{to:"/series/"}},[e._v("System Series")]),e._v(".")],1)]),n("hr"),n("p"),e._v(" "),n("table",[n("thead",[n("tr",[n("th",[e._v("💡")]),e._v(" "),n("th",[e._v("Experience Level")]),e._v(" "),n("th",[e._v("⭐☆☆☆☆")])])]),e._v(" "),n("tbody",[n("tr",[n("td",[e._v("📆")]),e._v(" "),n("td",[n("small",[e._v("Last modified ")])]),e._v(" "),n("td",[e._v("2023-05-16")])]),e._v(" "),n("tr",[n("td",[e._v("🔧")]),e._v(" "),n("td",[n("small",[e._v("Tested by "),n("br"),e._v(" ↳ version | platform | date ")])]),e._v(" "),n("td",[n("small",[n("a",{attrs:{href:"mailto:psuchanecki@almalinux.org"}},[e._v("Pawel Suchanecki")]),e._v(" "),n("br"),e._v(" ↳ 9.1 | x86_64 | 2023-04-21 ")])])])])]),e._v(" "),n("br"),e._v(" "),n("h2",{attrs:{id:"🌟-introduction"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#🌟-introduction"}},[e._v("#")]),e._v(" 🌟 Introduction")]),e._v(" "),n("p",[e._v("This guide will introduce the fundamental concepts of AppStream modules and demonstrate their usage in an AlmaLinux environment. With the introduction of Application Streams in Red Hat® Enterprise Linux 8, user-space components can be delivered and updated more frequently than the core operating system packages. This feature enables greater customization of your AlmaLinux installation without compromising the platform's underlying stability or specific deployments.")]),e._v(" "),n("h2",{attrs:{id:"🧠-fundamental-concepts"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#🧠-fundamental-concepts"}},[e._v("#")]),e._v(" 🧠 Fundamental Concepts")]),e._v(" "),n("h3",{attrs:{id:"appstream"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#appstream"}},[e._v("#")]),e._v(" AppStream")]),e._v(" "),n("p",[e._v("The AppStream repository contains both modular and non-modular packages. Non-modular packages, which serve as general-purpose utilities, libraries, or dependencies, are not tied to any specific module. They can be installed and updated independently, offering users more flexibility and control over their software stack.")]),e._v(" "),n("h3",{attrs:{id:"appstream-modularity"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#appstream-modularity"}},[e._v("#")]),e._v(" AppStream Modularity")]),e._v(" "),n("p",[e._v("AppStream's modular design ensures the delivery of software packages as independent modules, each with its own release schedule and lifecycle. This approach facilitates the provision of new features and updates for applications without necessitating a complete operating system upgrade. By incorporating both modular and non-modular packages, AppStream provides users with a wide variety of software options while maintaining system stability, compatibility, and security.\nAppStream modules provide a cohesive and tested set of packages that work together and ensure that all necessary packages are installed and configured correctly.")]),e._v(" "),n("h2",{attrs:{id:"📝-key-takeaways"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#📝-key-takeaways"}},[e._v("#")]),e._v(" 📝 Key Takeaways")]),e._v(" "),n("p",[e._v("To use AppStream modules in your AlmaLinux environment, you need to understand the following fundamental concepts:")]),e._v(" "),n("ul",[n("li",[n("strong",[e._v("Modules")]),e._v(": A module is a set of RPM packages that represent a component and are usually installed together. A typical module includes packages with the application, application-specific dependency libraries, documentation, and helper utilities.")]),e._v(" "),n("li",[n("strong",[e._v("Streams")]),e._v(": A stream is a version of a module. A module can have multiple streams that represent different versions of the same component.")]),e._v(" "),n("li",[n("strong",[e._v("Profiles")]),e._v(": A profile is a set of streams for a module. Each profile represents a specific use case or workload.")])]),e._v(" "),n("h2",{attrs:{id:"📖-version-specific-examples"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#📖-version-specific-examples"}},[e._v("#")]),e._v(" 📖 Version Specific Examples")]),e._v(" "),n("h3",{attrs:{id:"➡️-version-independent-calling-here-installing-syntax-is"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#➡️-version-independent-calling-here-installing-syntax-is"}},[e._v("#")]),e._v(" ➡️ Version independent calling (here installing) syntax is:")]),e._v(" "),n("p",[n("code",[e._v("sudo dnf module install nginx:/")])]),e._v(" "),n("div",{staticClass:"custom-block tip"},[n("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),n("p",[e._v("There is a substantially greater number of AppStream modules available for the AlmaLinux 8.x series compared to the 9.x series.")])]),e._v(" "),n("div",{staticClass:"custom-block warning"},[n("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),n("p",[e._v("Below we show list of modules available for each (major) AlmaLinux release.")])]),e._v(" "),n("h3",{attrs:{id:"🔖-almalinux-8-7"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#🔖-almalinux-8-7"}},[e._v("#")]),e._v(" 🔖 AlmaLinux 8.7")]),e._v(" "),n("h3",{attrs:{id:"➡️-list-modules"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#➡️-list-modules"}},[e._v("#")]),e._v(" ➡️ List modules")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("dnf module list\n")])])]),n("p",[e._v("Expected output:")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("Last metadata expiration check: 0:08:54 ago on Sun 16 Apr 2023 07:42:28 AM EDT.\nAlmaLinux 8 - AppStream\nName Stream Profiles Summary \n389-ds 1.4 389 Directory Server (base) \nant 1.10 [d] common [d] Java build tool \ncontainer-tools rhel8 [d][e] common [d] Most recent (rolling) versions of podman, buildah, skopeo, runc, conmon, runc, conmon, CRIU, Udica, etc as well as dependencies such as container-selinux built and tested together, and updated as frequently as every 12 weeks. \ncontainer-tools 1.0 common [d] Stable versions of podman 1.0, buildah 1.5, skopeo 0.1, runc, conmon, CRIU, Udica, etc as well as dependencies such as container-selinux built and tested together, and supported for 24 months. \ncontainer-tools 2.0 common [d] Stable versions of podman 1.6, buildah 1.11, skopeo 0.1, runc, conmon, etc as well as dependencies such as container-selinux built and tested together, and supported as documented on the Application Stream lifecycle page. \ncontainer-tools 3.0 common [d] Stable versions of podman 3.0, buildah 1.19, skopeo 1.2, runc, conmon, CRIU, Udica, etc as well as dependencies such as container-selinux built and tested together, and supported as documented on the Application Stream lifecycle page.\ncontainer-tools 4.0 common [d] Stable versions of podman 4.0, buildah 1.24, skopeo 1.6, runc, conmon, CRIU, Udica, etc as well as dependencies such as container-selinux built and tested together, and supported as documented on the Application Stream lifecycle page.\neclipse rhel8 java [d] An open, extensible IDE and application platform \nfreeradius 3.0 [d] server [d] High-performance and highly configurable free RADIUS server \ngimp 2.8 [d] common [d], devel gimp module \ngo-toolset rhel8 [d] common [d] Go \nhttpd 2.4 [d] common [d], devel, minimal Apache HTTP Server \nidm DL1 adtrust, client, common [d], dns, server The Red Hat Enterprise Linux Identity Management system module \nidm client [d] common [d] RHEL IdM long term support client module \ninkscape 0.92.3 [d] common [d] Vector-based drawing program using SVG \njavapackages-runtime 201801 [d] common [d] Basic runtime utilities to support Java applications \njmc rhel8 [d] common [d], core Java Mission Control is a profiling and diagnostics tool for the Hotspot JVM \nlibselinux-python 2.8 common Python 2 bindings for libselinux \nllvm-toolset rhel8 [d] common [d] LLVM \nlog4j 2 [d] common [d] Java logging library \nmailman 2.1 [d] common [d] Electronic mail discussion and e-newsletter lists managing software \nmariadb 10.3 [d] client, galera, server [d] MariaDB Module \nmariadb 10.5 client, galera, server [d] MariaDB Module \nmaven 3.5 [d] common [d] Java project management and project comprehension tool \nmaven 3.6 common [d] Java project management and project comprehension tool \nmaven 3.8 common [d] Java project management and project comprehension tool \nmercurial 4.8 [d] common [d] Mercurial -- a distributed SCM \nmercurial 6.2 common [d] Mercurial -- a distributed SCM \nmod_auth_openidc 2.3 [d] default [d] Apache module suporting OpenID Connect authentication \nmysql 8.0 [d] client, server [d] MySQL Module \nnginx 1.14 [d] common [d] nginx webserver \nnginx 1.16 common [d] nginx webserver \nnginx 1.18 common [d] nginx webserver \nnginx 1.20 [e] common [d] [i] nginx webserver \nnodejs 10 [d] common [d], development, minimal, s2i Javascript runtime \nnodejs 12 common [d], development, minimal, s2i Javascript runtime \nnodejs 14 common [d], development, minimal, s2i Javascript runtime \nnodejs 16 common [d], development, minimal, s2i Javascript runtime \nnodejs 18 common [d], development, minimal, s2i Javascript runtime \nparfait 0.5 common Parfait Module \nperl 5.24 common [d], minimal Practical Extraction and Report Language \nperl 5.26 [d][e] common [d], minimal Practical Extraction and Report Language \nperl 5.30 common [d], minimal Practical Extraction and Report Language \nperl 5.32 common [d], minimal Practical Extraction and Report Language \nperl-App-cpanminus 1.7044 [d] common [d] Get, unpack, build and install CPAN modules \nperl-DBD-MySQL 4.046 [d] common [d] A MySQL interface for Perl \nperl-DBD-Pg 3.7 [d] common [d] A PostgreSQL interface for Perl \nperl-DBD-SQLite 1.58 [d] common [d] SQLite DBI driver \nperl-DBI 1.641 [d] common [d] A database access API for Perl \nperl-FCGI 0.78 [d] common [d] FastCGI Perl bindings \nperl-IO-Socket-SSL 2.066 [d][e] common [d] Perl library for transparent TLS \nperl-YAML 1.24 [d] common [d] Perl parser for YAML \nperl-libwww-perl 6.34 [d][e] common [d] A Perl interface to the World-Wide Web \nphp 7.2 [d] common [d], devel, minimal PHP scripting language \nphp 7.3 common [d], devel, minimal PHP scripting language \nphp 7.4 common [d], devel, minimal PHP scripting language \nphp 8.0 common [d], devel, minimal PHP scripting language \npki-core 10.6 PKI Core module for PKI 10.6 or later \npki-deps 10.6 PKI Dependencies module for PKI 10.6 or later \npmdk 1_fileformat_v6 Persistent Memory Development Kit (former NVML) \npostgresql 9.6 client, server [d] PostgreSQL server and client module \npostgresql 10 [d] client, server [d] PostgreSQL server and client module \npostgresql 12 client, server [d] PostgreSQL server and client module \npostgresql 13 client, server [d] PostgreSQL server and client module \npython27 2.7 [d] common [d] Python programming language, version 2.7 \npython36 3.6 [d] build, common [d] Python programming language, version 3.6 \npython38 3.8 [d] build, common [d] Python programming language, version 3.8 \npython39 3.9 [d] build, common [d] Python programming language, version 3.9 \nredis 5 [d] common [d] Redis persistent key-value database \nredis 6 common [d] Redis persistent key-value database \nrhn-tools 1.0 [d] common [d] Red Hat Satellite 5 tools for RHEL \nruby 2.5 [d] common [d] An interpreter of object-oriented scripting language \nruby 2.6 common [d] An interpreter of object-oriented scripting language \nruby 2.7 common [d] An interpreter of object-oriented scripting language \nruby 3.0 common [d] An interpreter of object-oriented scripting language \nruby 3.1 common [d] An interpreter of object-oriented scripting language \nrust-toolset rhel8 [d] common [d] Rust \nsatellite-5-client 1.0 [d] common [d], gui Red Hat Satellite 5 client packages \nscala 2.10 [d] common [d] A hybrid functional/object-oriented language for the JVM \nsquid 4 [d] common [d] Squid - Optimising Web Delivery \nsubversion 1.10 [d] common [d], server Apache Subversion \nsubversion 1.14 common [d], server Apache Subversion \nswig 3.0 [d] common [d], complete Connects C/C++/Objective C to some high-level programming languages \nswig 4.0 common [d], complete Connects C/C++/Objective C to some high-level programming languages \nvarnish 6 [d] common [d] Varnish HTTP cache \nvirt rhel [d][e] common [d] Virtualization module \n\nHint: [d]efault, [e]nabled, [x]disabled, [i]nstalled\n\n\n")])])]),n("h3",{attrs:{id:"🔖-almalinux-9-1"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#🔖-almalinux-9-1"}},[e._v("#")]),e._v(" 🔖 AlmaLinux 9.1")]),e._v(" "),n("h3",{attrs:{id:"➡️-list-modules-2"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#➡️-list-modules-2"}},[e._v("#")]),e._v(" ➡️ List modules")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("dnf module list\n")])])]),n("p",[e._v("Expected output:")]),e._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[e._v("Last metadata expiration check: 13:03:40 ago on Sun 16 Apr 2023 12:31:58 AM CEST.\nAlmaLinux 9 - AppStream\nName Stream Profiles Summary \nmaven 3.8 common [d] Java project management and project comprehension tool \nnodejs 18 common [d], development, minimal, s2i Javascript runtime \nphp 8.1 common [d], devel, minimal PHP scripting language \nruby 3.1 common [d] An interpreter of object-oriented scripting language \n\nHint: [d]efault, [e]nabled, [x]disabled, [i]nstalled\n")])])]),n("h2",{attrs:{id:"📚-further-reading-and-next-steps"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#📚-further-reading-and-next-steps"}},[e._v("#")]),e._v(" 📚 Further Reading and Next Steps")]),e._v(" "),n("p",[n("u",[e._v("In-depth Resources:")])]),e._v(" "),n("ul",[n("li",[n("a",{attrs:{href:"https://www.redhat.com/en/blog/introduction-appstreams-and-modules-red-hat-enterprise-linux",target:"_blank",rel:"noopener noreferrer"}},[e._v("Introduction of Application Streams (RHEL 8)"),n("OutboundLink")],1)]),e._v(" "),n("li",[n("a",{attrs:{href:"https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/considerations_in_adopting_rhel_9/ref_application-streams_considerations-in-adopting-rhel-9",target:"_blank",rel:"noopener noreferrer"}},[e._v("Application Streams Considerations (RHEL 9)"),n("OutboundLink")],1)])]),e._v(" "),n("p",[n("u",[e._v("Related Resources:")])]),e._v(" "),n("ul",[n("li",[e._v("AlmaLinux Nginx Series ❯ "),n("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA01.html"}},[e._v("A Beginner's Guide")])],1),e._v(" "),n("li",[e._v("AlmaLinux Firewalld Series ❯ "),n("RouterLink",{attrs:{to:"/series/system/SystemSeriesA02.html"}},[e._v("A Beginner's Guide")])],1)])])}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/138.66195a21.js b/assets/js/138.66195a21.js new file mode 100644 index 000000000..043a70033 --- /dev/null +++ b/assets/js/138.66195a21.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[138],{417:function(e,t,a){"use strict";a.r(t);var s=a(14),v=Object(s.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"a02-❯-firewalld-a-beginner-s-guide"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#a02-❯-firewalld-a-beginner-s-guide"}},[e._v("#")]),e._v(" A02 ❯ Firewalld: A Beginner's Guide")]),e._v(" "),t("p",[t("small",[e._v("ℹ️ This article is part of AlmaLinux "),t("RouterLink",{attrs:{to:"/series/"}},[e._v("System Series")]),e._v(".")],1)]),t("hr"),t("p"),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("💡")]),e._v(" "),t("th",[e._v("Experience Level")]),e._v(" "),t("th",[e._v("⭐☆☆☆☆")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("📆")]),e._v(" "),t("td",[t("small",[e._v("Last modified ")])]),e._v(" "),t("td",[e._v("2023-05-10")])]),e._v(" "),t("tr",[t("td",[e._v("🔧")]),e._v(" "),t("td",[t("small",[e._v("Tested by "),t("br"),e._v(" ↳ version | platform | date ")])]),e._v(" "),t("td",[t("small",[t("a",{attrs:{href:"mailto:psuchanecki@almalinux.org"}},[e._v("Pawel Suchanecki")]),e._v(" "),t("br"),e._v(" ↳ 9.1 | x86_64 | 2023-04-21 ")])])])])]),e._v(" "),t("br"),e._v(" "),t("h2",{attrs:{id:"🌟-introduction"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#🌟-introduction"}},[e._v("#")]),e._v(" 🌟 Introduction")]),e._v(" "),t("p",[e._v("Firewalld is a dynamic firewall management tool that is enabled by default in AlmaLinux. It provides a flexible and powerful interface for configuring network traffic filtering rules and allows system administrators to easily manage firewall settings without needing to know the specifics of iptables or nftables. Firewalld uses zones, services, ports, source and destination, and masquerading/NAT to define firewall rules and secure network traffic. With firewalld, system administrators can create custom firewall configurations, add or remove services and ports, and manage network zones to secure their systems against unauthorized access and potential security threats.")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("On AlmaLinux OS, the Firewalld packet filtering service is enabled by default.")]),e._v(" "),t("details",{staticClass:"custom-block details"},[t("summary",[e._v("DETAILS")]),e._v(" "),t("p",[e._v("You can verify with later described command:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo firewall-cmd --state\n")])])]),t("p",[e._v("Example:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("running\n")])])])])]),e._v(" "),t("h2",{attrs:{id:"🧠-fundamental-concepts"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#🧠-fundamental-concepts"}},[e._v("#")]),e._v(" 🧠 Fundamental Concepts")]),e._v(" "),t("p",[e._v("Firewalld implements a number of fundamental concepts to provide flexible and powerful network traffic filtering. These concepts include:")]),e._v(" "),t("p",[t("strong",[e._v("Zones:")]),e._v(" Firewalld uses zones to define different levels of trust for network connections. Zones are predefined or custom-defined sets of rules that specify what traffic is allowed and what is not allowed. By default, Firewalld comes with three zones: public, internal, and trusted. Each zone is associated with a set of firewall rules that determine how incoming and outgoing traffic is handled.")]),e._v(" "),t("p",[t("strong",[e._v("Services:")]),e._v(" Firewalld uses services to group ports and protocols that are used by applications. A service is defined by a set of rules that determine what ports and protocols are associated with the service. By default, Firewalld comes with a number of predefined services, such as ssh, http, https, smtp, and dns.")]),e._v(" "),t("p",[t("strong",[e._v("Policies:")]),e._v(" Firewalld allows the definition of policies to control how traffic is forwarded between zones. Policies are defined rules that determine how traffic is handled when it is forwarded between different zones. Policies can be used to allow or deny traffic between zones or to modify the source or destination of traffic.")]),e._v(" "),t("p",[t("strong",[e._v("Ports:")]),e._v(" Firewalld uses ports to allow or deny traffic to specific ports. A port is a communication endpoint that is identified by a number. Ports are typically associated with specific protocols, such as TCP or UDP.")]),e._v(" "),t("p",[t("strong",[e._v("Source and Destination:")]),e._v(" Firewalld allows rules to be defined based on the source or destination of network traffic. Rules can be defined based on IP addresses, subnets, interfaces, and MAC addresses.")]),e._v(" "),t("p",[t("strong",[e._v("Masquerading and NAT:")]),e._v(" Firewalld provides support for Network Address Translation (NAT) and masquerading. NAT is used to map private IP addresses to public IP addresses, while masquerading is used to hide the source IP address of outgoing traffic.")]),e._v(" "),t("h2",{attrs:{id:"📝-key-takeaways"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#📝-key-takeaways"}},[e._v("#")]),e._v(" 📝 Key Takeaways")]),e._v(" "),t("h3",{attrs:{id:"predefined-zones"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#predefined-zones"}},[e._v("#")]),e._v(" Predefined zones")]),e._v(" "),t("p",[e._v("List of the predefined zones along with their respective trust levels and descriptions:")]),e._v(" "),t("ul",[t("li",[e._v("🟥 "),t("code",[e._v("drop")]),e._v(" - Blocks all incoming connections, allows only outgoing connections.")]),e._v(" "),t("li",[e._v("🟥 "),t("code",[e._v("block")]),e._v(" - Similar to drop, but rejects incoming requests.")]),e._v(" "),t("li",[e._v("🟥 "),t("code",[e._v("public")]),e._v(" - Allows selective incoming connections on a case-by-case basis.")]),e._v(" "),t("li",[e._v("🟥 "),t("code",[e._v("external")]),e._v(" - Enables NAT masquerading for private network accessibility.")]),e._v(" "),t("li",[e._v("🟨 "),t("code",[e._v("internal")]),e._v(" - Fairly trustworthy computers, additional services may be available.")]),e._v(" "),t("li",[e._v("🟨 "),t("code",[e._v("dmz")]),e._v(" - Permits specific incoming connections.")]),e._v(" "),t("li",[e._v("🟩 "),t("code",[e._v("work")]),e._v(" - Trusts most computers in the network, allows more services.")]),e._v(" "),t("li",[e._v("🟩 "),t("code",[e._v("home")]),e._v(" - Trusts most other computers, allows additional services.")]),e._v(" "),t("li",[e._v("🟩 "),t("code",[e._v("trusted")]),e._v(" - Trusts all machines in the network, use sparingly.")])]),e._v(" "),t("details",{staticClass:"custom-block details"},[t("summary",[e._v("DETAILS")]),e._v(" "),t("p",[e._v("List all defined zones:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo firewall-cmd --get-zones\n")])])])]),e._v(" "),t("h3",{attrs:{id:"default-config"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#default-config"}},[e._v("#")]),e._v(" Default config")]),e._v(" "),t("p",[e._v("By default, most of incoming traffic is denied, and only outgoing traffic is allowed in all three zones. You can add or remove services and ports from each zone as needed to configure the firewall rules for your system. By default you will have "),t("code",[e._v("cockpit")]),e._v(", "),t("code",[e._v("dhcpv6-client")]),e._v(" and "),t("code",[e._v("ssh")]),e._v(" enabled on default AlmaLinux installation.")]),e._v(" "),t("p",[e._v("By default, "),t("code",[e._v("firewalld")]),e._v(" on AlmaLinux uses the "),t("code",[e._v("public")]),e._v(" zone as the default zone for all network interfaces that are not explicitly assigned to another zone. This means that any incoming traffic that is not explicitly allowed or denied in another zone will be subject to the rules defined in the "),t("code",[e._v("public")]),e._v(" zone.")]),e._v(" "),t("h3",{attrs:{id:"firewall-cmd"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#firewall-cmd"}},[e._v("#")]),e._v(" "),t("code",[e._v("firewall-cmd")])]),e._v(" "),t("p",[t("code",[e._v("firewall-cmd")]),e._v(" is a command-line tool used to configure and manage firewalld, providing an easy way to configure firewall rules and zones, enable and disable services, and manage network traffic. With "),t("code",[e._v("firewall-cmd")]),e._v(", users can add, remove, and modify firewall rules in real-time, as well as make changes that persist across reboots and firewall restarts. It is recommended to use "),t("code",[e._v("firewall-cmd")]),e._v(" for managing the firewall configuration, as it simplifies the process and ensures that changes are made correctly.")]),e._v(" "),t("h3",{attrs:{id:"the-permanent-flag"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#the-permanent-flag"}},[e._v("#")]),e._v(" The "),t("code",[e._v("--permanent")]),e._v(" flag")]),e._v(" "),t("p",[e._v("The changes by "),t("code",[e._v("firewall-cmd")]),e._v(" when adding or removing rules are temporary are only effective for the current runtime of the firewall. If the firewall service is restarted, those changes will be lost.")]),e._v(" "),t("p",[e._v("Using the "),t("code",[e._v("--permanent")]),e._v(" option makes the changes permanent, meaning they will be saved to the firewall configuration files on disk. These configuration files are read and applied by the firewall service when it starts up, so the changes will persist across reboots and firewall restarts.")]),e._v(" "),t("h2",{attrs:{id:"📖-interacting-with-firewalld"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#📖-interacting-with-firewalld"}},[e._v("#")]),e._v(" 📖 Interacting with Firewalld")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("Keep in mind that sudo privileges are required for firewall modification commands.")])]),e._v(" "),t("h3",{attrs:{id:"➡️-adding-removing-temporary-rules"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#➡️-adding-removing-temporary-rules"}},[e._v("#")]),e._v(" ➡️ Adding / removing temporary rules")]),e._v(" "),t("p",[e._v("Here are some basic patterns for adding and removing rules temporarily or permanently:")]),e._v(" "),t("ul",[t("li",[e._v("To add a service to the default zone temporarily, use the command:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo firewall-cmd --add-service=\n")])])]),t("ul",[t("li",[e._v("To remove a service from the default zone temporarily, use the command:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo firewall-cmd --remove-service=\n")])])]),t("h3",{attrs:{id:"➡️-adding-removing-permanent-rules"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#➡️-adding-removing-permanent-rules"}},[e._v("#")]),e._v(" ➡️ Adding / removing permanent rules")]),e._v(" "),t("ul",[t("li",[e._v("To add a service to the default zone permanently, use the command:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo firewall-cmd --permanent --add-service=\n")])])]),t("ul",[t("li",[e._v("To remove a service from the default zone permanently, use the command:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo firewall-cmd --permanent --remove-service=\n")])])]),t("h2",{attrs:{id:"🔖-probing-settings"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#🔖-probing-settings"}},[e._v("#")]),e._v(" 🔖 Probing settings")]),e._v(" "),t("h3",{attrs:{id:"➡️-configuration"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#➡️-configuration"}},[e._v("#")]),e._v(" ➡️ Configuration")]),e._v(" "),t("p",[e._v("List the current active zone (by default it is "),t("code",[e._v("public")]),e._v(" zone), along with any configured rules and services for that zone:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo firewall-cmd --list-all\n")])])]),t("details",{staticClass:"custom-block details"},[t("summary",[e._v("DETAILS")]),e._v(" "),t("p",[e._v("Example:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("public (active)\n target: default\n icmp-block-inversion: no\n interfaces: eth0\n sources: \n services: cockpit dhcpv6-client ssh\n ports: \n protocols: \n forward: yes\n masquerade: no\n forward-ports: \n source-ports: \n icmp-blocks: \n rich rules: \n")])])])]),e._v(" "),t("h3",{attrs:{id:"➡️-zones"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#➡️-zones"}},[e._v("#")]),e._v(" ➡️ Zones")]),e._v(" "),t("p",[e._v("Current configuration of the firewall zones:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo firewall-cmd --get-default-zone\n")])])]),t("p",[e._v("List all available zones with:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo firewall-cmd --get-zones\n")])])]),t("p",[e._v("Get detailed information about a specific zone:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo firewall-cmd --info-zone= command\n")])])]),t("h3",{attrs:{id:"➡️-services-list-active-services"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#➡️-services-list-active-services"}},[e._v("#")]),e._v(" ➡️ Services: list active services")]),e._v(" "),t("p",[e._v("List of services that are currently allowed in the public zone.")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("If no services are allowed in the zone, the output will be empty. In example we have output for default AlmaLinux settings.")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo firewall-cmd --zone=public --list-services\n")])])]),t("details",{staticClass:"custom-block details"},[t("summary",[e._v("DETAILS")]),e._v(" "),t("p",[e._v("Example:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("cockpit dhcpv6-client ssh\n")])])])]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("Replace "),t("code",[e._v("public")]),e._v(" with the name of any other zone that you want to check.")])]),e._v(" "),t("h2",{attrs:{id:"🔖-configuring"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#🔖-configuring"}},[e._v("#")]),e._v(" 🔖 Configuring")]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("If on remote connection ("),t("code",[e._v("ssh")]),e._v(")\n"),t("strong",[e._v("Do not to block all incoming traffic")]),e._v(", it will cut you out from the remote system.")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("DANGEROUS firewall-cmd --set-default-zone=drop <--- dissallows ssh!\n")])])]),t("details",{staticClass:"custom-block details"},[t("summary",[e._v("DETAILS")]),e._v(" "),t("p",[e._v("Your access is allowed in the zone "),t("code",[e._v("public")]),e._v(":")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo firewall-cmd --zone=public --list-services\n")])])]),t("h4",{attrs:{id:"example-output"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#example-output"}},[e._v("#")]),e._v(" Example output:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("cockpit dhcpv6-client ssh\n")])])])])]),e._v(" "),t("h3",{attrs:{id:"➡️-selecting-zones-for-interfaces"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#➡️-selecting-zones-for-interfaces"}},[e._v("#")]),e._v(" ➡️ Selecting Zones for Interfaces")]),e._v(" "),t("p",[e._v("By default, each network interface is assigned to the default zone when the firewall is booted.\nTo change the zone of an interface during a session using the "),t("code",[e._v("--zone=")]),e._v(" parameter with the "),t("code",[e._v("--change-interface=")]),e._v(" parameter.")]),e._v(" "),t("p",[e._v("For example, to transition the eth0 interface to the "),t("code",[e._v("work")]),e._v(" zone, use the following command:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo firewall-cmd --zone=work--change-interface=eth0\n")])])]),t("h3",{attrs:{id:"➡️-changing-the-default-zone"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#➡️-changing-the-default-zone"}},[e._v("#")]),e._v(" ➡️ Changing the Default Zone")]),e._v(" "),t("p",[e._v("If you want to handle all your interfaces with a single zone, it's recommended to select the appropriate default zone for your configuration.\nTo change the default zone, use the "),t("code",[e._v("--set-default-zone=")]),e._v(" parameter followed by the desired zone name.\nThis command will immediately update any interface using the default zone.")]),e._v(" "),t("p",[e._v('For example, to set the default zone to "home", use the following command:')]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo firewall-cmd --set-default-zone=home\n")])])]),t("details",{staticClass:"custom-block details"},[t("summary",[e._v("DETAILS")]),e._v(" "),t("p",[e._v("Example:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("success\n")])])])]),e._v(" "),t("p",[e._v("By adjusting the default zone, you can simplify and customize your firewall configuration.")]),e._v(" "),t("h2",{attrs:{id:"📋-table-of-services"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#📋-table-of-services"}},[e._v("#")]),e._v(" 📋 Table of Services")]),e._v(" "),t("p",[e._v("Table below lists common services and ports that can be used with the "),t("code",[e._v("firewall-cmd")]),e._v(" command to add or remove them from the default zone (or other zones when using "),t("code",[e._v("--zone")]),e._v(").")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Group name")]),e._v(" "),t("th",[e._v("Description")]),e._v(" "),t("th",[e._v("Service Name")]),e._v(" "),t("th",[e._v("Protocol")]),e._v(" "),t("th",[e._v("Port")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[t("strong",[e._v("Databases")])]),e._v(" "),t("td"),e._v(" "),t("td"),e._v(" "),t("td"),e._v(" "),t("td")]),e._v(" "),t("tr",[t("td",[e._v("MongoDB")]),e._v(" "),t("td",[e._v("MongoDB database")]),e._v(" "),t("td",[e._v("mongodb")]),e._v(" "),t("td",[e._v("TCP")]),e._v(" "),t("td",[e._v("27017")])]),e._v(" "),t("tr",[t("td",[e._v("MySQL")]),e._v(" "),t("td",[e._v("MySQL database")]),e._v(" "),t("td",[e._v("mysql")]),e._v(" "),t("td",[e._v("TCP/UDP")]),e._v(" "),t("td",[e._v("3306")])]),e._v(" "),t("tr",[t("td",[e._v("PostgreSQL")]),e._v(" "),t("td",[e._v("PostgreSQL database")]),e._v(" "),t("td",[e._v("postgresql")]),e._v(" "),t("td",[e._v("TCP")]),e._v(" "),t("td",[e._v("5432")])]),e._v(" "),t("tr",[t("td",[e._v("Redis")]),e._v(" "),t("td",[e._v("Redis database")]),e._v(" "),t("td",[e._v("redis")]),e._v(" "),t("td",[e._v("TCP")]),e._v(" "),t("td",[e._v("6379")])]),e._v(" "),t("tr",[t("td",[t("strong",[e._v("Web Services")])]),e._v(" "),t("td"),e._v(" "),t("td"),e._v(" "),t("td"),e._v(" "),t("td")]),e._v(" "),t("tr",[t("td",[e._v("FTP")]),e._v(" "),t("td",[e._v("FTP service")]),e._v(" "),t("td",[e._v("ftp")]),e._v(" "),t("td",[e._v("TCP")]),e._v(" "),t("td",[e._v("21")])]),e._v(" "),t("tr",[t("td",[e._v("HTTP")]),e._v(" "),t("td",[e._v("HTTP service")]),e._v(" "),t("td",[e._v("http")]),e._v(" "),t("td",[e._v("TCP")]),e._v(" "),t("td",[e._v("80")])]),e._v(" "),t("tr",[t("td",[e._v("HTTPS")]),e._v(" "),t("td",[e._v("HTTPS service")]),e._v(" "),t("td",[e._v("https")]),e._v(" "),t("td",[e._v("TCP")]),e._v(" "),t("td",[e._v("443")])]),e._v(" "),t("tr",[t("td",[e._v("IMAP")]),e._v(" "),t("td",[e._v("IMAP service")]),e._v(" "),t("td",[e._v("imap")]),e._v(" "),t("td",[e._v("TCP")]),e._v(" "),t("td",[e._v("143")])]),e._v(" "),t("tr",[t("td",[e._v("POP3")]),e._v(" "),t("td",[e._v("POP3 service")]),e._v(" "),t("td",[e._v("pop3")]),e._v(" "),t("td",[e._v("TCP")]),e._v(" "),t("td",[e._v("110")])]),e._v(" "),t("tr",[t("td",[e._v("SMTP")]),e._v(" "),t("td",[e._v("SMTP service")]),e._v(" "),t("td",[e._v("smtp")]),e._v(" "),t("td",[e._v("TCP")]),e._v(" "),t("td",[e._v("25")])]),e._v(" "),t("tr",[t("td",[t("strong",[e._v("Security Services")])]),e._v(" "),t("td"),e._v(" "),t("td"),e._v(" "),t("td"),e._v(" "),t("td")]),e._v(" "),t("tr",[t("td",[e._v("Firewall")]),e._v(" "),t("td",[e._v("Firewall Management")]),e._v(" "),t("td",[e._v("firewall")]),e._v(" "),t("td",[e._v("TCP/UDP")]),e._v(" "),t("td",[e._v("9090")])]),e._v(" "),t("tr",[t("td",[e._v("IPsec NAT-T")]),e._v(" "),t("td",[e._v("IPsec NAT Traversal")]),e._v(" "),t("td",[e._v("ipsec-nat-t")]),e._v(" "),t("td",[e._v("UDP")]),e._v(" "),t("td",[e._v("4500")])]),e._v(" "),t("tr",[t("td",[e._v("ISAKMP/IKE")]),e._v(" "),t("td",[e._v("ISAKMP/IKE")]),e._v(" "),t("td",[e._v("isakmp")]),e._v(" "),t("td",[e._v("UDP")]),e._v(" "),t("td",[e._v("500")])]),e._v(" "),t("tr",[t("td",[e._v("LDAPS")]),e._v(" "),t("td",[e._v("Secure LDAP")]),e._v(" "),t("td",[e._v("ldaps")]),e._v(" "),t("td",[e._v("TCP")]),e._v(" "),t("td",[e._v("636")])]),e._v(" "),t("tr",[t("td",[e._v("RADIUS accounting")]),e._v(" "),t("td",[e._v("RADIUS Accounting")]),e._v(" "),t("td",[e._v("radacct")]),e._v(" "),t("td",[e._v("UDP")]),e._v(" "),t("td",[e._v("1813, 1814")])]),e._v(" "),t("tr",[t("td",[e._v("RADIUS authentication")]),e._v(" "),t("td",[e._v("RADIUS Authentication")]),e._v(" "),t("td",[e._v("radius")]),e._v(" "),t("td",[e._v("UDP")]),e._v(" "),t("td",[e._v("1812")])]),e._v(" "),t("tr",[t("td",[e._v("SNMP")]),e._v(" "),t("td",[e._v("Simple Network Management")]),e._v(" "),t("td",[e._v("snmp")]),e._v(" "),t("td",[e._v("UDP")]),e._v(" "),t("td",[e._v("161")])]),e._v(" "),t("tr",[t("td",[e._v("SNMP trap")]),e._v(" "),t("td",[e._v("SNMP Trap")]),e._v(" "),t("td",[e._v("snmptrap")]),e._v(" "),t("td",[e._v("UDP")]),e._v(" "),t("td",[e._v("162")])]),e._v(" "),t("tr",[t("td",[e._v("SSH")]),e._v(" "),t("td",[e._v("Secure Shell")]),e._v(" "),t("td",[e._v("ssh")]),e._v(" "),t("td",[e._v("TCP")]),e._v(" "),t("td",[e._v("22")])]),e._v(" "),t("tr",[t("td",[t("strong",[e._v("System Services")])]),e._v(" "),t("td"),e._v(" "),t("td"),e._v(" "),t("td"),e._v(" "),t("td")]),e._v(" "),t("tr",[t("td",[e._v("DHCP")]),e._v(" "),t("td",[e._v("Dynamic Host Configuration Protocol")]),e._v(" "),t("td",[e._v("dhcp")]),e._v(" "),t("td",[e._v("UDP")]),e._v(" "),t("td",[e._v("67, 68")])]),e._v(" "),t("tr",[t("td",[e._v("DHCPv6 client")]),e._v(" "),t("td",[e._v("DHCPv6 Client")]),e._v(" "),t("td",[e._v("dhcpv6-client")]),e._v(" "),t("td",[e._v("UDP")]),e._v(" "),t("td",[e._v("546, 547")])]),e._v(" "),t("tr",[t("td",[e._v("DHCPv6 server")]),e._v(" "),t("td",[e._v("DHCPv6 Server")]),e._v(" "),t("td",[e._v("dhcpv6-server")]),e._v(" "),t("td",[e._v("UDP")]),e._v(" "),t("td",[e._v("547")])]),e._v(" "),t("tr",[t("td",[e._v("DNS")]),e._v(" "),t("td",[e._v("Domain Name System")]),e._v(" "),t("td",[e._v("dns")]),e._v(" "),t("td",[e._v("TCP/UDP")]),e._v(" "),t("td",[e._v("53")])]),e._v(" "),t("tr",[t("td",[e._v("LDAP")]),e._v(" "),t("td",[e._v("Lightweight Directory Access Protocol")]),e._v(" "),t("td",[e._v("ldap")]),e._v(" "),t("td",[e._v("TCP")]),e._v(" "),t("td",[e._v("389")])]),e._v(" "),t("tr",[t("td",[e._v("NFS")]),e._v(" "),t("td",[e._v("Network File System")]),e._v(" "),t("td",[e._v("nfs")]),e._v(" "),t("td",[e._v("TCP/UDP")]),e._v(" "),t("td",[e._v("2049")])]),e._v(" "),t("tr",[t("td",[e._v("NTP")]),e._v(" "),t("td",[e._v("Network Time Protocol")]),e._v(" "),t("td",[e._v("ntp")]),e._v(" "),t("td",[e._v("UDP")]),e._v(" "),t("td",[e._v("123")])]),e._v(" "),t("tr",[t("td",[e._v("RDP")]),e._v(" "),t("td",[e._v("Remote Desktop Protocol")]),e._v(" "),t("td",[e._v("rdp")]),e._v(" "),t("td",[e._v("TCP")]),e._v(" "),t("td",[e._v("3389")])]),e._v(" "),t("tr",[t("td",[e._v("SMB")]),e._v(" "),t("td",[e._v("Server Message Block")]),e._v(" "),t("td",[e._v("smb")]),e._v(" "),t("td",[e._v("TCP")]),e._v(" "),t("td",[e._v("445")])]),e._v(" "),t("tr",[t("td",[e._v("VNC server")]),e._v(" "),t("td",[e._v("Virtual Network Computing Server")]),e._v(" "),t("td",[e._v("vnc-server")]),e._v(" "),t("td",[e._v("TCP")]),e._v(" "),t("td",[e._v("5900")])]),e._v(" "),t("tr",[t("td",[t("strong",[e._v("Other Services")])]),e._v(" "),t("td"),e._v(" "),t("td"),e._v(" "),t("td"),e._v(" "),t("td")]),e._v(" "),t("tr",[t("td",[e._v("IMAPS")]),e._v(" "),t("td",[e._v("Secure IMAP")]),e._v(" "),t("td",[e._v("imaps")]),e._v(" "),t("td",[e._v("TCP")]),e._v(" "),t("td",[e._v("993")])]),e._v(" "),t("tr",[t("td",[e._v("HTTPS Alternate")]),e._v(" "),t("td",[e._v("HTTPS Alternate")]),e._v(" "),t("td",[e._v("https-alt")]),e._v(" "),t("td",[e._v("TCP")]),e._v(" "),t("td",[e._v("8443")])]),e._v(" "),t("tr",[t("td",[e._v("LPD")]),e._v(" "),t("td",[e._v("Line Printer Daemon")]),e._v(" "),t("td",[e._v("lpd")]),e._v(" "),t("td",[e._v("TCP")]),e._v(" "),t("td",[e._v("515")])]),e._v(" "),t("tr",[t("td",[e._v("L2TP VPN")]),e._v(" "),t("td",[e._v("L2TP VPN")]),e._v(" "),t("td",[e._v("l2tp")]),e._v(" "),t("td",[e._v("UDP")]),e._v(" "),t("td",[e._v("1701")])]),e._v(" "),t("tr",[t("td",[e._v("POP3S")]),e._v(" "),t("td",[e._v("Secure POP3")]),e._v(" "),t("td",[e._v("pop3s")]),e._v(" "),t("td",[e._v("TCP")]),e._v(" "),t("td",[e._v("995")])]),e._v(" "),t("tr",[t("td",[e._v("POP3")]),e._v(" "),t("td",[e._v("POP3 service")]),e._v(" "),t("td",[e._v("pop3")]),e._v(" "),t("td",[e._v("TCP")]),e._v(" "),t("td",[e._v("110")])]),e._v(" "),t("tr",[t("td",[e._v("PPTP VPN")]),e._v(" "),t("td",[e._v("PPTP VPN")]),e._v(" "),t("td",[e._v("pptp")]),e._v(" "),t("td",[e._v("TCP/UDP")]),e._v(" "),t("td",[e._v("1723")])]),e._v(" "),t("tr",[t("td",[e._v("RIP")]),e._v(" "),t("td",[e._v("Routing Information Protocol")]),e._v(" "),t("td",[e._v("rip")]),e._v(" "),t("td",[e._v("UDP")]),e._v(" "),t("td",[e._v("520")])]),e._v(" "),t("tr",[t("td",[e._v("SIP")]),e._v(" "),t("td",[e._v("Session Initiation Protocol")]),e._v(" "),t("td",[e._v("sip")]),e._v(" "),t("td",[e._v("TCP/UDP")]),e._v(" "),t("td",[e._v("5060")])]),e._v(" "),t("tr",[t("td",[e._v("SIPs")]),e._v(" "),t("td",[e._v("Secure SIP")]),e._v(" "),t("td",[e._v("sips")]),e._v(" "),t("td",[e._v("TCP/UDP")]),e._v(" "),t("td",[e._v("5061")])]),e._v(" "),t("tr",[t("td",[e._v("Telnet")]),e._v(" "),t("td",[e._v("Telnet Protocol")]),e._v(" "),t("td",[e._v("telnet")]),e._v(" "),t("td",[e._v("TCP")]),e._v(" "),t("td",[e._v("23")])]),e._v(" "),t("tr",[t("td",[e._v("TFTP")]),e._v(" "),t("td",[e._v("Trivial File Transfer Protocol")]),e._v(" "),t("td",[e._v("tftp")]),e._v(" "),t("td",[e._v("UDP")]),e._v(" "),t("td",[e._v("69")])])])]),e._v(" "),t("p",[e._v("This is not an exhaustive list, and the service names, protocols, and ports may vary depending on your specific system configuration.")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("In GNU/Linux systems the "),t("code",[e._v("/etc/services")]),e._v(" file contains the list of TCP & UDP network services. "),t("code",[e._v("grep")]),e._v(" it to find interesting data.")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("grep mysql /etc/services\n")])])]),t("details",{staticClass:"custom-block details"},[t("summary",[e._v("DETAILS")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("mysql 3306/tcp # MySQL\nmysql 3306/udp # MySQL\nmysql-cluster 1186/tcp # MySQL Cluster Manager\nmysql-cluster 1186/udp # MySQL Cluster Manager\nmysql-cm-agent 1862/tcp # MySQL Cluster Manager Agent\nmysql-cm-agent 1862/udp # MySQL Cluster Manager Agent\nmysql-im 2273/tcp # MySQL Instance Manager\nmysql-im 2273/udp # MySQL Instance Manager\nmysql-proxy 6446/tcp # MySQL Proxy\nmysql-proxy 6446/udp # MySQL Proxy\n")])])])])]),e._v(" "),t("h2",{attrs:{id:"📚-further-reading-and-next-steps"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#📚-further-reading-and-next-steps"}},[e._v("#")]),e._v(" 📚 Further Reading and Next Steps")]),e._v(" "),t("p",[t("u",[e._v("In-depth Resources:")])]),e._v(" "),t("ul",[t("li",[e._v("Firewalld Series ❯ "),t("a",{attrs:{href:"#"}},[e._v("Advanced Configuration Guide")]),e._v(" 🚧 -- Work In Progress (5/15) -- HELP NEEDED: psuchanecki@almalinux.org")])]),e._v(" "),t("p",[t("u",[e._v("Related Resources:")])]),e._v(" "),t("ul",[t("li",[e._v("AlmaLinux Nginx Series ❯ "),t("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA01.html"}},[e._v("A Beginner's Guide")])],1),e._v(" "),t("li",[e._v("AlmaLinux System Series ❯ "),t("RouterLink",{attrs:{to:"/series/system/SystemSeriesA01.html"}},[e._v("Application Streams")])],1)])])}),[],!1,null,null,null);t.default=v.exports}}]); \ No newline at end of file diff --git a/assets/js/139.bb55c77c.js b/assets/js/139.bb55c77c.js new file mode 100644 index 000000000..736166151 --- /dev/null +++ b/assets/js/139.bb55c77c.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[139],{419:function(e,t,s){"use strict";s.r(t);var i=s(14),a=Object(i.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"a03-❯-nvidia-driver-installation-guide"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#a03-❯-nvidia-driver-installation-guide"}},[e._v("#")]),e._v(" A03 ❯ NVIDIA Driver Installation Guide")]),e._v(" "),t("p",[t("small",[e._v("ℹ️ This article is part of AlmaLinux "),t("RouterLink",{attrs:{to:"/series/"}},[e._v("System Series")]),e._v(".")],1)]),t("hr"),t("p"),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("💡")]),e._v(" "),t("th",[e._v("Experience Level")]),e._v(" "),t("th",[e._v("⭐☆☆☆☆")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("📆")]),e._v(" "),t("td",[t("small",[e._v("Last modified ")])]),e._v(" "),t("td",[e._v("2024-02-02")])]),e._v(" "),t("tr",[t("td",[e._v("🔧")]),e._v(" "),t("td",[t("small",[e._v("Tested by "),t("br"),e._v(" ↳ version | platform | date ")])]),e._v(" "),t("td",[t("small",[t("a",{attrs:{href:"mailto:none@almalinux.org"}},[e._v("none")]),e._v(" "),t("br"),e._v(" ↳ 9.x | x86_64 | 2023-05-xx ")])])])])]),e._v(" "),t("br"),e._v(" "),t("h2",{attrs:{id:"🌟-introduction"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#🌟-introduction"}},[e._v("#")]),e._v(" 🌟 Introduction")]),e._v(" "),t("p",[e._v("This guide provides instructions on how to install NVIDIA's graphics driver for AlmaLinux in two variants:")]),e._v(" "),t("ul",[t("li",[t("strong",[e._v("Binary Driver")]),e._v(" "),t("RouterLink",{attrs:{to:"/series/system/SystemSeriesA03R8.html"}},[t("strong",[e._v("8.x")])]),e._v(" | "),t("RouterLink",{attrs:{to:"/series/system/SystemSeriesA03R9.html"}},[t("strong",[e._v("9.x")])]),e._v(" 👈 "),t("small",[e._v("USING PRECOMPILED DRIVERS IS RECOMMENDED")])],1),e._v(" "),t("li",[t("strong",[e._v("Compiling From Source")]),e._v(" "),t("RouterLink",{attrs:{to:"/series/system/SystemSeriesA03R8.html"}},[t("strong",[e._v("8.x")])]),e._v(" | "),t("RouterLink",{attrs:{to:"/series/system/SystemSeriesA03R9.html"}},[t("strong",[e._v("9.x")])]),e._v(" ⚠️ "),t("small",[e._v("REQURIES SWITCHING TO ELRepo KERNEL")])],1),e._v(" "),t("li",[t("strong",[e._v(".run Driver")]),e._v(" "),t("small",[e._v("REQURIES manual installation of dependencies and downloading the driver manually from Nvidia website")])])]),e._v(" "),t("h2",{attrs:{id:"🧠-fundamental-concepts"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#🧠-fundamental-concepts"}},[e._v("#")]),e._v(" 🧠 Fundamental Concepts")]),e._v(" "),t("h3",{attrs:{id:"dynamic-kernel-module-support-dkms"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#dynamic-kernel-module-support-dkms"}},[e._v("#")]),e._v(" Dynamic Kernel Module Support (DKMS)")]),e._v(" "),t("p",[e._v("DKMS is a system utility that allows you to automatically build kernel modules.")]),e._v(" "),t("h3",{attrs:{id:"elrepo-kernel"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#elrepo-kernel"}},[e._v("#")]),e._v(" ELRepo Kernel")]),e._v(" "),t("p",[e._v("ELRepo is a community repository for Enterprise Linux distributions (e.g., RHEL, CentOS, AlmaLinux). It focuses on hardware-related packages to enhance your Linux experience. This repo provides a kernel (packages) which tracks mainline kernel very closely. In result, this kernel is updated frequently and sometimes it leads to temporary incompatiblity with NVIDIA driver sources.")]),e._v(" "),t("h3",{attrs:{id:"nvidia-drivers-source"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#nvidia-drivers-source"}},[e._v("#")]),e._v(" NVIDIA Drivers Source")]),e._v(" "),t("p",[e._v("Install the NVIDIA graphics driver using the DKMS (Dynamic Kernel Module Support). Needs switching the kernel to ELRepo kernel version.")]),e._v(" "),t("h3",{attrs:{id:"nvidia-precompiled-binary-drivers"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#nvidia-precompiled-binary-drivers"}},[e._v("#")]),e._v(" NVIDIA Precompiled/Binary Drivers")]),e._v(" "),t("p",[e._v("NVIDIA compiles and tests this driver for each precise kernel version. Installing it locks your kernel upgrade (with driver). It is the recommended way according to NVIDIA.")]),e._v(" "),t("h3",{attrs:{id:"understanding-nvidia-run-driver-installation"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#understanding-nvidia-run-driver-installation"}},[e._v("#")]),e._v(" Understanding NVIDIA .run Driver Installation")]),e._v(" "),t("p",[e._v("The NVIDIA .run Driver Installation Guide offers an alternative approach to installing the graphics driver on AlmaLinux. Unlike the recommended precompiled drivers, this method allows users to manually handle the installation process. It involves downloading the driver directly from the Nvidia website, making it a more flexible but intricate process.")]),e._v(" "),t("h1",{attrs:{id:"key-points"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#key-points"}},[e._v("#")]),e._v(" Key Points")]),e._v(" "),t("ul",[t("li",[t("strong",[e._v("Manual Dependency Installation:")]),e._v(" Users are required to install dependencies manually, ensuring compatibility with the system.")]),e._v(" "),t("li",[t("strong",[e._v("Direct Download from Nvidia:")]),e._v(" The graphics driver needs to be downloaded manually from the Nvidia website, allowing users to choose specific versions compatible with their GPUs.")]),e._v(" "),t("li",[t("strong",[e._v("Flexibility and Control:")]),e._v(" This method provides users with greater control over the installation process, enabling customization based on specific needs.")])]),e._v(" "),t("h1",{attrs:{id:"considerations"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#considerations"}},[e._v("#")]),e._v(" Considerations")]),e._v(" "),t("ul",[t("li",[t("strong",[e._v("Advanced Users:")]),e._v(" The .run Driver Installation Guide is suitable for advanced users who are comfortable handling manual installations and configurations.")]),e._v(" "),t("li",[t("strong",[e._v("Compatibility Verification:")]),e._v(" Users must verify the compatibility of the downloaded driver version with their GPU before proceeding with the installation.")])]),e._v(" "),t("h2",{attrs:{id:"📖-release-specific-installation"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#📖-release-specific-installation"}},[e._v("#")]),e._v(" 📖 Release-Specific Installation")]),e._v(" "),t("ul",[t("li",[t("strong",[e._v("NVIDIA Driver Installation Guide ❯ "),t("a",{attrs:{href:"SystemSeriesA03R8"}},[e._v("Installation on 8.x")])])]),e._v(" "),t("li",[t("strong",[e._v("NVIDIA Driver Installation Guide ❯ "),t("a",{attrs:{href:"SystemSeriesA03R9"}},[e._v("Installation on 9.x")])])])]),e._v(" "),t("h2",{attrs:{id:"faq"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#faq"}},[e._v("#")]),e._v(" FAQ")]),e._v(" "),t("h3",{attrs:{id:"q-installed-the-module-but-getting-black-screen-after-reboot"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#q-installed-the-module-but-getting-black-screen-after-reboot"}},[e._v("#")]),e._v(" Q: Installed the module but getting Black Screen after reboot?")]),e._v(" "),t("h4",{attrs:{id:"if-you-are-able-to-change-grub-kernel-boot-parameters-do"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#if-you-are-able-to-change-grub-kernel-boot-parameters-do"}},[e._v("#")]),e._v(" If you are able to change "),t("code",[e._v("GRUB")]),e._v(" kernel boot parameters, do:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("module_blacklist=nvidia,nvidia_drm,nvida_modeset\n")])])]),t("h4",{attrs:{id:"if-you-are-getting-black-screen-right-after-boot-no-grub-visible-do"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#if-you-are-getting-black-screen-right-after-boot-no-grub-visible-do"}},[e._v("#")]),e._v(" If you are getting Black Screen right after boot (no GRUB visible), do:")]),e._v(" "),t("p",[e._v("WIP")]),e._v(" "),t("h3",{attrs:{id:"if-the-desktop-icon-for-nvidia-settings-is-not-showing-do"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#if-the-desktop-icon-for-nvidia-settings-is-not-showing-do"}},[e._v("#")]),e._v(" If the Desktop Icon for NVIDIA-Settings is not showing, do :")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('sudo echo "[Desktop Entry]" | sudo tee /usr/share/applications/nvidia-settings.desktop\nsudo echo "Type=Application" | sudo tee -a /usr/share/applications/nvidia-settings.desktop\nsudo echo "Name=NVIDIA Settings" | sudo tee -a /usr/share/applications/nvidia-settings.desktopsudo\nsudo echo "Comment=Configure NVIDIA Settings" | sudo tee -a /usr/share/applications/nv```idia-settings.desktop\nsudo echo "Exec=nvidia-settings" | sudo tee -a /usr/share/applications/nvidia-settings.desktop\nsudo echo "Icon=nvidia-settings" | sudo tee -a /usr/share/applications/nvidia-settings.desktop\nsudo echo "Terminal=false" | sudo tee -a /usr/share/applications/nvidia-settings.desktop\nsudo echo "Categories=System;Settings;X-Red-Hat-Base-Utilities;" | sudo tee -a /usr/share/applications/nvidia-settings.desktop\n')])])]),t("h2",{attrs:{id:"📚-further-reading-and-next-steps"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#📚-further-reading-and-next-steps"}},[e._v("#")]),e._v(" 📚 Further Reading and Next Steps")]),e._v(" "),t("p",[t("u",[e._v("In-depth Resources:")])]),e._v(" "),t("ul",[t("li",[e._v("AlmaLinux System Series ❯ "),t("RouterLink",{attrs:{to:"/series/system/SystemSeriesA03R8.html"}},[e._v("NVIDIA: Installation on 8.x")])],1),e._v(" "),t("li",[e._v("AlmaLinux System Series ❯ "),t("RouterLink",{attrs:{to:"/series/system/SystemSeriesA03R9.html"}},[e._v("NVIDIA: Installation on 9.x")])],1)]),e._v(" "),t("p",[t("u",[e._v("Related Resources:")])]),e._v(" "),t("ul",[t("li",[e._v("AlmaLinux Nginx Series ❯ "),t("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA01.html"}},[e._v("A Beginner's Guide")])],1),e._v(" "),t("li",[e._v("AlmaLinux Firewalld Series ❯ "),t("RouterLink",{attrs:{to:"/series/system/SystemSeriesA02.html"}},[e._v("A Beginner's Guide")])],1)])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/14.4673512e.js b/assets/js/14.4673512e.js new file mode 100644 index 000000000..d88ec9396 --- /dev/null +++ b/assets/js/14.4673512e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[14,19,21],{240:function(t,e,n){"use strict";n.d(e,"d",(function(){return i})),n.d(e,"a",(function(){return s})),n.d(e,"i",(function(){return o})),n.d(e,"f",(function(){return l})),n.d(e,"g",(function(){return u})),n.d(e,"h",(function(){return c})),n.d(e,"b",(function(){return p})),n.d(e,"e",(function(){return f})),n.d(e,"k",(function(){return h})),n.d(e,"l",(function(){return d})),n.d(e,"c",(function(){return b})),n.d(e,"j",(function(){return g}));n(90);const i=/#.*$/,r=/\.(md|html)$/,s=/\/$/,o=/^[a-z]+:/i;function a(t){return decodeURI(t).replace(i,"").replace(r,"")}function l(t){return o.test(t)}function u(t){return/^mailto:/.test(t)}function c(t){return/^tel:/.test(t)}function p(t){if(l(t))return t;const e=t.match(i),n=e?e[0]:"",r=a(t);return s.test(r)?t:r+".html"+n}function f(t,e){const n=decodeURIComponent(t.hash),r=function(t){const e=t.match(i);if(e)return e[0]}(e);if(r&&n!==r)return!1;return a(t.path)===a(e)}function h(t,e,n){if(l(e))return{type:"external",path:e};n&&(e=function(t,e,n){const i=t.charAt(0);if("/"===i)return t;if("?"===i||"#"===i)return e+t;const r=e.split("/");n&&r[r.length-1]||r.pop();const s=t.replace(/^\//,"").split("/");for(let t=0;tfunction t(e,n,i,r=1){if("string"==typeof e)return h(n,e,i);if(Array.isArray(e))return Object.assign(h(n,e[0],i),{title:e[1]});{const s=e.children||[];return 0===s.length&&e.path?Object.assign(h(n,e.path,i),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:s.map(e=>t(e,n,i,r+1)),collapsable:!1!==e.collapsable}}}(t,r,n)):[]}return[]}function m(t){const e=b(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}))}]}function b(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(t=>2===t.level)}function g(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},241:function(t,e,n){},242:function(t,e,n){"use strict";n.r(e);var i=n(240),r={name:"NavLink",props:{item:{required:!0}},computed:{link(){return Object(i.b)(this.item.link)},exact(){return this.$site.locales?Object.keys(this.$site.locales).some(t=>t===this.link):"/"===this.link},isNonHttpURI(){return Object(i.g)(this.link)||Object(i.h)(this.link)},isBlankTarget(){return"_blank"===this.target},isInternal(){return!Object(i.f)(this.link)&&!this.isBlankTarget},target(){return this.isNonHttpURI?null:this.item.target?this.item.target:Object(i.f)(this.link)?"_blank":""},rel(){return this.isNonHttpURI||!1===this.item.rel?null:this.item.rel?this.item.rel:this.isBlankTarget?"noopener noreferrer":null}},methods:{focusoutAction(){this.$emit("focusout")}}},s=n(14),o=Object(s.a)(r,(function(){var t=this,e=t._self._c;return t.isInternal?e("RouterLink",{staticClass:"nav-link",attrs:{to:t.link,exact:t.exact},nativeOn:{focusout:function(e){return t.focusoutAction.apply(null,arguments)}}},[t._v("\n "+t._s(t.item.text)+"\n")]):e("a",{staticClass:"nav-link external",attrs:{href:t.link,target:t.target,rel:t.rel},on:{focusout:t.focusoutAction}},[t._v("\n "+t._s(t.item.text)+"\n "),t.isBlankTarget?e("OutboundLink"):t._e()],1)}),[],!1,null,null,null);e.default=o.exports},243:function(t,e,n){"use strict";n.r(e);var i={name:"DropdownTransition",methods:{setHeight(t){t.style.height=t.scrollHeight+"px"},unsetHeight(t){t.style.height=""}}},r=(n(244),n(14)),s=Object(r.a)(i,(function(){return(0,this._self._c)("transition",{attrs:{name:"dropdown"},on:{enter:this.setHeight,"after-enter":this.unsetHeight,"before-leave":this.setHeight}},[this._t("default")],2)}),[],!1,null,null,null);e.default=s.exports},244:function(t,e,n){"use strict";n(241)},245:function(t,e,n){},252:function(t,e,n){"use strict";n(245)},255:function(t,e,n){"use strict";n.r(e);var i=n(242),r=n(243),s=n(91),o=n.n(s),a={name:"DropdownLink",components:{NavLink:i.default,DropdownTransition:r.default},props:{item:{required:!0}},data:()=>({open:!1}),computed:{dropdownAriaLabel(){return this.item.ariaLabel||this.item.text}},watch:{$route(){this.open=!1}},methods:{setOpen(t){this.open=t},isLastItemOfArray:(t,e)=>o()(e)===t,handleDropdown(){0===event.detail&&this.setOpen(!this.open)}}},l=(n(252),n(14)),u=Object(l.a)(a,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"dropdown-wrapper",class:{open:t.open}},[e("button",{staticClass:"dropdown-title",attrs:{type:"button","aria-label":t.dropdownAriaLabel},on:{click:t.handleDropdown}},[e("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),e("span",{staticClass:"arrow down"})]),t._v(" "),e("button",{staticClass:"mobile-dropdown-title",attrs:{type:"button","aria-label":t.dropdownAriaLabel},on:{click:function(e){return t.setOpen(!t.open)}}},[e("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),e("span",{staticClass:"arrow",class:t.open?"down":"right"})]),t._v(" "),e("DropdownTransition",[e("ul",{directives:[{name:"show",rawName:"v-show",value:t.open,expression:"open"}],staticClass:"nav-dropdown"},t._l(t.item.items,(function(n,i){return e("li",{key:n.link||i,staticClass:"dropdown-item"},["links"===n.type?e("h4",[t._v("\n "+t._s(n.text)+"\n ")]):t._e(),t._v(" "),"links"===n.type?e("ul",{staticClass:"dropdown-subitem-wrapper"},t._l(n.items,(function(i){return e("li",{key:i.link,staticClass:"dropdown-subitem"},[e("NavLink",{attrs:{item:i},on:{focusout:function(e){t.isLastItemOfArray(i,n.items)&&t.isLastItemOfArray(n,t.item.items)&&t.setOpen(!1)}}})],1)})),0):e("NavLink",{attrs:{item:n},on:{focusout:function(e){t.isLastItemOfArray(n,t.item.items)&&t.setOpen(!1)}}})],1)})),0)])],1)}),[],!1,null,null,null);e.default=u.exports}}]); \ No newline at end of file diff --git a/assets/js/140.551abb3e.js b/assets/js/140.551abb3e.js new file mode 100644 index 000000000..6b6da238d --- /dev/null +++ b/assets/js/140.551abb3e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[140],{421:function(e,a,t){"use strict";t.r(a);var s=t(14),r=Object(s.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"a03-r8-❯-nvidia-installation-on-8-x"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#a03-r8-❯-nvidia-installation-on-8-x"}},[e._v("#")]),e._v(" A03 R8 ❯ NVIDIA: Installation on 8.x")]),e._v(" "),a("p",[a("small",[e._v("ℹ️ This article is part of AlmaLinux "),a("RouterLink",{attrs:{to:"/series/"}},[e._v("System Series")]),e._v(".")],1)]),a("hr"),a("p"),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("💡")]),e._v(" "),a("th",[e._v("Experience Level")]),e._v(" "),a("th",[e._v("⭐☆☆☆☆")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("📆")]),e._v(" "),a("td",[a("small",[e._v("Last modified ")])]),e._v(" "),a("td",[e._v("2024-02-02")])]),e._v(" "),a("tr",[a("td",[e._v("🔧")]),e._v(" "),a("td",[a("small",[e._v("Tested by "),a("br"),e._v(" ↳ version | platform | date ")])]),e._v(" "),a("td",[a("small",[a("a",{attrs:{href:"mailto:none@almalinux.org"}},[e._v("none")]),e._v(" "),a("br"),e._v(" ↳ 9.x | x86_64 | 2023-05-xx ")])])])])]),e._v(" "),a("br"),e._v(" "),a("h2",{attrs:{id:"🌟-introduction"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#🌟-introduction"}},[e._v("#")]),e._v(" 🌟 Introduction")]),e._v(" "),a("p",[e._v("This is a dedicated example for the AlmaLinux 8.x series, demonstrating how to install NVIDIA graphics driver using one of three variants:")]),e._v(" "),a("ul",[a("li",[e._v("Variant I: Precompiled/Binary Driver")]),e._v(" "),a("li",[e._v("Variant II: Compile Driver Source")]),e._v(" "),a("li",[e._v("Variant III : NVIDIA .run Driver Installation Guide")])]),e._v(" "),a("h2",{attrs:{id:"🔖-variant-i-install-binary-driver"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#🔖-variant-i-install-binary-driver"}},[e._v("#")]),e._v(" 🔖 Variant I: Install Binary Driver")]),e._v(" "),a("p",[e._v("➡️ Enable PowerTools:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf config-manager --set-enabled powertools\nsudo dnf makecache\n")])])]),a("p",[e._v("➡️ Add EPEL8:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf -y install epel-release\nsudo dnf upgrade\n")])])]),a("p",[e._v("➡️ Add NVIDIA Repository:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo\nsudo dnf makecache\n")])])]),a("p",[e._v("➡️ Install the latest NVIDIA driver:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf module install nvidia-driver:latest\n")])])]),a("p",[e._v("➡️ Install third-party libraries for CUDA:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf install freeglut-devel libX11-devel libXi-devel libXmu-devel make mesa-libGLU-devel freeimage-devel libglfw3-devel\n")])])]),a("h2",{attrs:{id:"🔖-variant-ii-compile-driver-source"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#🔖-variant-ii-compile-driver-source"}},[e._v("#")]),e._v(" 🔖 Variant II: Compile Driver Source")]),e._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),a("p",[e._v("Installing NVIDIA drivers on AlmaLinux 8 requires using ELRepo Mainline kernel.")])]),e._v(" "),a("h3",{attrs:{id:"elrepo-related-steps"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#elrepo-related-steps"}},[e._v("#")]),e._v(" ELRepo related steps")]),e._v(" "),a("p",[e._v("➡️ Enable PowerTools & add EPEL8:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf config-manager --set-enabled powertools\nsudo dnf makecache && sudo dnf -y install epel-release\nsudo dnf makecache\n")])])]),a("p",[e._v("➡️ Add ELRepo:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org\nsudo dnf -y install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm\nsudo dnf makecache\n")])])]),a("p",[e._v("➡️ Enable ELRepo Mainline Kernel Repo:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf config-manager --set-enabled elrepo-kernel\nsudo dnf makecache\n")])])]),a("p",[e._v("➡️ Install ELrepo Mainline kernel:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf -y install kernel-ml kernel-ml-modules kernel-ml-modules-extra kernel-ml-devel kernel-headers\n")])])]),a("h3",{attrs:{id:"nvidia-driver-build-related-steps"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#nvidia-driver-build-related-steps"}},[e._v("#")]),e._v(" NVIDIA driver build-related steps")]),e._v(" "),a("p",[e._v("➡️ Add NVIDIA repository:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo\nsudo dnf makecache\n")])])]),a("p",[e._v("➡️ Install NVIDIA DKMS Drivers:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf module install nvidia-driver:latest-dkms\n")])])]),a("p",[e._v("➡️ Disable Nouveau:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("printf 'blacklist nouveau\\n' | sudo tee /etc/modprobe.d/nouveau-blacklist.conf\nsudo dracut -f --regenerate-all\nlsmod | grep -Ei '(nouv|nvidia)'\n")])])]),a("p",[e._v("➡️ Reboot to runlevel 3:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo systemctl set-default multi-user.target\nsudo reboot\nsudo systemctl set-default graphical.target\nsudo reboot\n")])])]),a("h2",{attrs:{id:"🔖-variant-iii-nvidia-run-driver-installation-guide"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#🔖-variant-iii-nvidia-run-driver-installation-guide"}},[e._v("#")]),e._v(" 🔖 Variant III: NVIDIA .run Driver Installation Guide")]),e._v(" "),a("p",[e._v("➡️ Enable needed repository:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf install epel-release\nsudo dnf config-manager --set-enabled powertools\nsudo dnf config-manager --set-enabled extras\n")])])]),a("p",[e._v("➡️ Install needed packages:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf install kernel-devel\nsudo dnf install kernel-headers\nsudo dnf install dkms\nsudo dnf install redhat-lsb-core\nsudo dnf install vulkan\nsudo dnf install vulkan-tools\nsudo dnf install vulkan-headers\nsudo dnf install vulkan-loader-devel\n")])])]),a("p",[e._v("➡️ Disable Nouveau:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v('sudo touch /etc/modprobe.d/nouveau-blacklist.conf\necho "blacklist nouveau" | sudo tee /etc/modprobe.d/nouveau-blacklist.conf\necho "options nouveau modeset=0" | sudo tee -a /etc/modprobe.d/nouveau-blacklist.conf\n')])])]),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dracut --force\n")])])]),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo grub2-mkconfig -o /boot/grub2/grub.cfg\nsudo grub2-mkconfig -o /boot/efi/EFI/almalinux/grub.cfg\n")])])]),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo reboot\n")])])]),a("p",[e._v("➡️ Install the .run driver :\n"),a("strong",[e._v("Download the latest driver ("),a("strong",[e._v("Verify compatibility with your GPU")]),e._v("):")])]),e._v(" "),a("p",[e._v("https://www.nvidia.com/en-us/drivers/unix/linux-amd64-display-archive/")]),e._v(" "),a("p",[e._v("➡️ Go into the downloaded driver directory ("),a("strong",[e._v("Replace /path/to/driver with the actual path")]),e._v("):")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("cd /path/to/driver\n")])])]),a("p",[e._v("➡️ Make executable ("),a("strong",[e._v("XXX.XXX.XX Is the driver version")]),e._v("):")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo chmod +x NVIDIA-LINUX-x86_64-XXX.XXX.XX.run\n")])])]),a("p",[e._v("➡️ Switch to Run Level 3 :")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo init 3\n")])])]),a("p",[e._v("➡️ .run Driver installation options :")]),e._v(" "),a("p",[a("strong",[e._v("Choose either Option 1 or Option 2 based on your preference.")])]),e._v(" "),a("p",[a("strong",[e._v("Option 1")]),e._v(" :")]),e._v(" "),a("p",[e._v("Install via the Console Text UI by following the prompt:\n"),a("strong",[e._v("Replace XXX.XXX.XX with the actual driver version.")])]),e._v(" "),a("p",[e._v("sudo ./NVIDIA-LINUX-x86_64-XXX.XXX.XX.run")]),e._v(" "),a("p",[a("strong",[e._v("Option 2")]),e._v(" :")]),e._v(" "),a("p",[e._v("Install silently via console :\n"),a("strong",[e._v("Replace XXX.XXX.XX with the actual driver version.")])]),e._v(" "),a("p",[e._v("sudo ./NVIDIA-Linux-x86_64-XXX.XXX.XX.run --accept-license --silent --run-nvidia-xconfig --dkms")]),e._v(" "),a("p",[e._v("➡️ Update the initramfs ("),a("strong",[e._v("This is needed as of 535.XXX.XX drivers")]),e._v(") :")]),e._v(" "),a("p",[a("strong",[e._v("Update the initramfs to ensure the changes made by the NVIDIA driver installation are reflected.")])]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dracut -f\n")])])]),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo grub2-mkconfig -o /boot/grub2/grub.cfg\nsudo grub2-mkconfig -o /boot/efi/EFI/almalinux/grub.cfg\n")])])]),a("p",[e._v("➡️ Set the default target to graphical for a desktop environment & Set the default target back to multi-user for a server or command-line environment.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo systemctl set-default graphical.target\nsudo systemctl set-default multi-user.target\n")])])]),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo reboot\n")])])]),a("h3",{attrs:{id:"known-issue-with-nvidia-settings-desktop-icon"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#known-issue-with-nvidia-settings-desktop-icon"}},[e._v("#")]),e._v(" Known issue with NVIDIA-Settings Desktop Icon:")]),e._v(" "),a("h4",{attrs:{id:"create-nvidia-settings-desktop-icon"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#create-nvidia-settings-desktop-icon"}},[e._v("#")]),e._v(" Create NVIDIA Settings desktop icon :")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v('sudo echo "[Desktop Entry]" | sudo tee /usr/share/applications/nvidia-settings.desktop\nsudo echo "Type=Application" | sudo tee -a /usr/share/applications/nvidia-settings.desktop\nsudo echo "Name=NVIDIA Settings" | sudo tee -a /usr/share/applications/nvidia-settings.desktopsudo\nsudo echo "Comment=Configure NVIDIA Settings" | sudo tee -a /usr/share/applications/nv```idia-settings.desktop\nsudo echo "Exec=nvidia-settings" | sudo tee -a /usr/share/applications/nvidia-settings.desktop\nsudo echo "Icon=nvidia-settings" | sudo tee -a /usr/share/applications/nvidia-settings.desktop\nsudo echo "Terminal=false" | sudo tee -a /usr/share/applications/nvidia-settings.desktop\nsudo echo "Categories=System;Settings;X-Red-Hat-Base-Utilities;" | sudo tee -a /usr/share/applications/nvidia-settings.desktop\n')])])]),a("h2",{attrs:{id:"📚-further-reading-and-next-steps"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#📚-further-reading-and-next-steps"}},[e._v("#")]),e._v(" 📚 Further Reading and Next Steps")]),e._v(" "),a("p",[a("u",[e._v("Get Back:")])]),e._v(" "),a("ul",[a("li",[e._v("AlmaLinux System Series ❯ "),a("RouterLink",{attrs:{to:"/series/system/SystemSeriesA03.html"}},[e._v("NVIDIA Driver Installation Guide")])],1)]),e._v(" "),a("p",[a("u",[e._v("In-depth Resources:")])]),e._v(" "),a("ul",[a("li",[e._v("AlmaLinux System Series ❯ "),a("RouterLink",{attrs:{to:"/series/system/SystemSeriesA03R9.html"}},[e._v("NVIDIA: Installation on 9.x")])],1)]),e._v(" "),a("p",[a("u",[e._v("Related Resources:")])]),e._v(" "),a("ul",[a("li",[e._v("AlmaLinux Nginx Series ❯ "),a("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA01.html"}},[e._v("A Beginner's Guide")])],1),e._v(" "),a("li",[e._v("AlmaLinux Firewalld Series ❯ "),a("RouterLink",{attrs:{to:"/series/system/SystemSeriesA02.html"}},[e._v("A Beginner's Guide")])],1)])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/141.d3bf8bd1.js b/assets/js/141.d3bf8bd1.js new file mode 100644 index 000000000..f03256f16 --- /dev/null +++ b/assets/js/141.d3bf8bd1.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[141],{424:function(e,a,t){"use strict";t.r(a);var s=t(14),r=Object(s.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"a03-r9-❯-nvidia-installation-on-9-x"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#a03-r9-❯-nvidia-installation-on-9-x"}},[e._v("#")]),e._v(" A03 R9 ❯ NVIDIA: Installation on 9.x")]),e._v(" "),a("p",[a("small",[e._v("ℹ️ This article is part of AlmaLinux "),a("RouterLink",{attrs:{to:"/series/"}},[e._v("System Series")]),e._v(".")],1)]),a("hr"),a("p"),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("💡")]),e._v(" "),a("th",[e._v("Experience Level")]),e._v(" "),a("th",[e._v("⭐☆☆☆☆")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("📆")]),e._v(" "),a("td",[a("small",[e._v("Last modified ")])]),e._v(" "),a("td",[e._v("2024-02-02")])]),e._v(" "),a("tr",[a("td",[e._v("🔧")]),e._v(" "),a("td",[a("small",[e._v("Tested by "),a("br"),e._v(" ↳ version | platform | date ")])]),e._v(" "),a("td",[a("small",[a("a",{attrs:{href:"mailto:none@almalinux.org"}},[e._v("none")]),e._v(" "),a("br"),e._v(" ↳ 9.x | x86_64 | 2023-05-xx ")])])])])]),e._v(" "),a("br"),e._v(" "),a("h2",{attrs:{id:"🌟-introduction"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#🌟-introduction"}},[e._v("#")]),e._v(" 🌟 Introduction")]),e._v(" "),a("p",[e._v("This is a dedicated example for the AlmaLinux 9.x series, demonstrating how to install NVIDIA graphics driver using one of three variants:")]),e._v(" "),a("ul",[a("li",[e._v("Variant I: Precompiled/Binary Driver")]),e._v(" "),a("li",[e._v("Variant II: Compile Driver Source")]),e._v(" "),a("li",[e._v("Variant III: NVIDIA .run Driver Installation Guide")])]),e._v(" "),a("h2",{attrs:{id:"🔖-variant-i-install-binary-driver"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#🔖-variant-i-install-binary-driver"}},[e._v("#")]),e._v(" 🔖 Variant I: Install Binary Driver")]),e._v(" "),a("p",[e._v("➡️ Enable PowerTools:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf config-manager --set-enabled powertools\nsudo dnf makecache\n")])])]),a("p",[e._v("➡️ Add EPEL9")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf -y install epel-release\nsudo dnf upgrade\n")])])]),a("p",[e._v("➡️ Add NVIDIA Repository:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/cuda-rhel9.repo\nsudo dnf makecache\n")])])]),a("p",[e._v("➡️ Install the latest NVIDIA driver:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf module install nvidia-driver:latest\n")])])]),a("p",[e._v("➡️ Install third-party libraries for CUDA:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf install freeglut-devel libX11-devel libXi-devel libXmu-devel make mesa-libGLU-devel freeimage-devel libglfw3-devel\n")])])]),a("h2",{attrs:{id:"🔖-variant-ii-compile-driver-source"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#🔖-variant-ii-compile-driver-source"}},[e._v("#")]),e._v(" 🔖 Variant II: Compile Driver Source")]),e._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),a("p",[e._v("Installing NVIDIA drivers on AlmaLinux 9 requires using ELRepo Mainline kernel.")])]),e._v(" "),a("h3",{attrs:{id:"elrepo-releated-steps"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#elrepo-releated-steps"}},[e._v("#")]),e._v(" ELRepo releated steps")]),e._v(" "),a("p",[e._v("➡️ Enable CodeReady Builder & add EPEL9:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf config-manager --set-enabled crb\nsudo dnf makecache && sudo dnf -y install epel-release\nsudo dnf makecache\n")])])]),a("p",[e._v("➡️ Add ELRepo:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org\nsudo dnf -y install https://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm\nsudo dnf makecache\n")])])]),a("p",[e._v("➡️ Enable ELRepo Mainline Kernel Repo:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf config-manager --set-enabled elrepo-kernel\nsudo dnf makecache\n")])])]),a("p",[e._v("➡️ Install ELrepo Mainline kernel:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf -y install kernel-ml kernel-ml-modules kernel-ml-modules-extra kernel-ml-devel kernel-headers\n")])])]),a("h3",{attrs:{id:"nvidia-driver-build-related-steps"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#nvidia-driver-build-related-steps"}},[e._v("#")]),e._v(" NVIDIA driver build related steps")]),e._v(" "),a("p",[e._v("➡️ Add NVIDIA repository:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/cuda-rhel9.repo\nsudo dnf makecache\n")])])]),a("p",[e._v("➡️ Install NVIDIA DKMS Drivers:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf module install nvidia-driver:latest-dkms\n")])])]),a("p",[e._v("➡️ Disable Nouveau:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("printf 'blacklist nouveau\\n' | sudo tee /etc/modprobe.d/nouveau-blacklist.conf\nsudo dracut -f --regenerate-all\nlsmod | grep -Ei '(nouv|nvidia)'\n")])])]),a("p",[e._v("➡️ Reboot to runlevel 3:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo systemctl set-default multi-user.target\nsudo reboot\nsudo systemctl set-default graphical.target\nsudo reboot\n")])])]),a("h2",{attrs:{id:"🔖-variant-iii-nvidia-run-driver-installation-guide"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#🔖-variant-iii-nvidia-run-driver-installation-guide"}},[e._v("#")]),e._v(" 🔖 Variant III: NVIDIA .run Driver Installation Guide")]),e._v(" "),a("p",[e._v("➡️ Enable needed repository :")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf install epel-release\nsudo dnf config-manager --enable crb\nsudo dnf dnf config-manager --set-enabled extras\n")])])]),a("p",[e._v("➡️ Install needed packages :")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf install kernel-devel\nsudo dnf install kernel-headers\nsudo dnf install dkms\nsudo dnf install redhat-lsb-core\nsudo dnf install vulkan\nsudo dnf install vulkan-tools\nsudo dnf install vulkan-headers\nsudo dnf install vulkan-loader-devel\n")])])]),a("p",[e._v("➡️ Disable Nouveau :")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v('sudo touch /etc/modprobe.d/nouveau-blacklist.conf\necho "blacklist nouveau" | sudo tee /etc/modprobe.d/nouveau-blacklist.conf\necho "options nouveau modeset=0" | sudo tee -a /etc/modprobe.d/nouveau-blacklist.conf\n')])])]),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dracut --force\n")])])]),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo grub2-mkconfig -o /boot/grub2/grub.cfg\nsudo grub2-mkconfig -o /boot/efi/EFI/almalinux/grub.cfg\n")])])]),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo reboot\n")])])]),a("p",[e._v("➡️ Install the .run driver :")]),e._v(" "),a("p",[a("strong",[e._v("Download the latest driver ("),a("strong",[e._v("Verify compatibility with your GPU")]),e._v("):")])]),e._v(" "),a("p",[e._v("https://www.nvidia.com/en-us/drivers/unix/linux-amd64-display-archive/")]),e._v(" "),a("p",[e._v("➡️ Go into the downloaded driver directory ("),a("strong",[e._v("Replace /path/to/driver with the actual path")]),e._v("):")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("cd /path/to/driver\n")])])]),a("p",[e._v("➡️ Make the driver executable ("),a("strong",[e._v("XXX.XXX.XX Is the driver version")]),e._v("):")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo chmod +x NVIDIA-LINUX-x86_64-XXX.XXX.XX.run\n")])])]),a("p",[e._v("➡️ Switch to Run Level 3 :")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo init 3\n")])])]),a("p",[e._v("➡️ .run Driver installation options :")]),e._v(" "),a("p",[a("strong",[e._v("Choose either Option 1 or Option 2 based on your preference.")])]),e._v(" "),a("p",[a("strong",[e._v("Option 1")]),e._v(" :")]),e._v(" "),a("p",[e._v("Install via the Console Text UI by following the prompt:\n"),a("strong",[e._v("Replace XXX.XXX.XX with the actual driver version.")])]),e._v(" "),a("p",[e._v("sudo ./NVIDIA-LINUX-x86_64-XXX.XXX.XX.run")]),e._v(" "),a("p",[a("strong",[e._v("Option 2")]),e._v(" :")]),e._v(" "),a("p",[e._v("Install silently via console :\n"),a("strong",[e._v("Replace XXX.XXX.XX with the actual driver version.")])]),e._v(" "),a("p",[e._v("sudo ./NVIDIA-Linux-x86_64-XXX.XXX.XX.run --accept-license --silent --run-nvidia-xconfig --dkms")]),e._v(" "),a("p",[e._v("➡️ Update the initramfs ("),a("strong",[e._v("This is needed as of 535.XXX.XX drivers")]),e._v(") :\nUpdate the initramfs to ensure the changes made by the NVIDIA driver installation are reflected.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dracut -f\n")])])]),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo grub2-mkconfig -o /boot/grub2/grub.cfg\nsudo grub2-mkconfig -o /boot/efi/EFI/almalinux/grub.cfg\n")])])]),a("p",[e._v("➡️ Set the default target to graphical for a desktop environment & Set the default target back to multi-user for a server or command-line environment.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo systemctl set-default graphical.target\nsudo systemctl set-default multi-user.target\n")])])]),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo reboot\n")])])]),a("h2",{attrs:{id:"known-issue-with-nvidia-settings-desktop-icon"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#known-issue-with-nvidia-settings-desktop-icon"}},[e._v("#")]),e._v(" Known issue with NVIDIA-Settings Desktop Icon** :")]),e._v(" "),a("h3",{attrs:{id:"create-nvidia-settings-desktop-icon"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#create-nvidia-settings-desktop-icon"}},[e._v("#")]),e._v(" Create NVIDIA Settings desktop icon :")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v('sudo echo "[Desktop Entry]" | sudo tee /usr/share/applications/nvidia-settings.desktop\nsudo echo "Type=Application" | sudo tee -a /usr/share/applications/nvidia-settings.desktop\nsudo echo "Name=NVIDIA Settings" | sudo tee -a /usr/share/applications/nvidia-settings.desktop\nsudo echo "Comment=Configure NVIDIA Settings" | sudo tee -a /usr/share/applications/nv```idia-settings.desktop\nsudo echo "Exec=nvidia-settings" | sudo tee -a /usr/share/applications/nvidia-settings.desktop\nsudo echo "Icon=nvidia-settings" | sudo tee -a /usr/share/applications/nvidia-settings.desktop\nsudo echo "Terminal=false" | sudo tee -a /usr/share/applications/nvidia-settings.desktop\nsudo echo "Categories=System;Settings;X-Red-Hat-Base-Utilities;" | sudo tee -a /usr/share/applications/nvidia-settings.desktop\n')])])]),a("h2",{attrs:{id:"📚-further-reading-and-next-steps"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#📚-further-reading-and-next-steps"}},[e._v("#")]),e._v(" 📚 Further Reading and Next Steps")]),e._v(" "),a("p",[a("u",[e._v("Get Back:")])]),e._v(" "),a("ul",[a("li",[e._v("AlmaLinux System Series ❯ "),a("RouterLink",{attrs:{to:"/series/system/SystemSeriesA03.html"}},[e._v("NVIDIA Driver Installation Guide")])],1)]),e._v(" "),a("p",[a("u",[e._v("In-depth Resources:")])]),e._v(" "),a("ul",[a("li",[e._v("AlmaLinux System Series ❯ "),a("RouterLink",{attrs:{to:"/series/system/SystemSeriesA03R8.html"}},[e._v("NVIDIA: Installation on 8.x")])],1)]),e._v(" "),a("p",[a("u",[e._v("Related Resources:")])]),e._v(" "),a("ul",[a("li",[e._v("AlmaLinux Nginx Series ❯ "),a("RouterLink",{attrs:{to:"/series/nginx/NginxSeriesA01.html"}},[e._v("A Beginner's Guide")])],1),e._v(" "),a("li",[e._v("AlmaLinux Firewalld Series ❯ "),a("RouterLink",{attrs:{to:"/series/system/SystemSeriesA0.html"}},[e._v("A Beginner's Guide")])],1)])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/142.57476598.js b/assets/js/142.57476598.js new file mode 100644 index 000000000..9227c7c08 --- /dev/null +++ b/assets/js/142.57476598.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[142],{426:function(t,a,s){"use strict";s.r(a);var e=s(14),n=Object(e.a)({},(function(){var t=this,a=t._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"a04-❯-snapd-installation-guide"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#a04-❯-snapd-installation-guide"}},[t._v("#")]),t._v(" A04 ❯ Snapd Installation Guide")]),t._v(" "),a("p",[a("small",[t._v("ℹ️ This article is part of AlmaLinux "),a("RouterLink",{attrs:{to:"/series/"}},[t._v("System Series")]),t._v(".")],1)]),a("hr"),a("p"),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("💡")]),t._v(" "),a("th",[t._v("Experience Level")]),t._v(" "),a("th",[t._v("⭐☆☆☆☆")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("📆")]),t._v(" "),a("td",[a("small",[t._v("Last modified ")])]),t._v(" "),a("td",[t._v("2023-06-07")])]),t._v(" "),a("tr",[a("td",[t._v("🔧")]),t._v(" "),a("td",[a("small",[t._v("Tested by "),a("br"),t._v(" ↳ version | platform | date ")])]),t._v(" "),a("td",[t._v("NOT TESTED YET")])])])]),t._v(" "),a("br"),t._v(" "),a("h2",{attrs:{id:"🌟-introduction"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#🌟-introduction"}},[t._v("#")]),t._v(" 🌟 Introduction")]),t._v(" "),a("p",[t._v("The snap packages for AlmaLinux can be found in the Extra Packages for Enterprise Linux (EPEL) repository. 📦")]),t._v(" "),a("h2",{attrs:{id:"enable-epel-repo"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#enable-epel-repo"}},[t._v("#")]),t._v(" Enable EPEL repo 💽")]),t._v(" "),a("p",[t._v("If you haven’t done it yet, enable the EPEL repository for your AlmaLinux system:")]),t._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("sudo dnf install epel-release\nsudo dnf upgrade\n")])])]),a("h2",{attrs:{id:"install"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#install"}},[t._v("#")]),t._v(" Install 🛠")]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("ℹ️\nImportant for cloud images users!")]),t._v(" "),a("p",[t._v("Before proceeding with the installation of snapd, it’s important to install the "),a("code",[t._v("kernel-modules")]),t._v(" package as these type of images come with limited number of modules. This package includes SquashFS, a compressed read-only file system for Linux, which is necessary for the snapd functionality.")]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("Install the "),a("code",[t._v("kernel-modules")]),t._v(", using the following command:")]),t._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("sudo dnf install kernel-modules\n")])])]),a("p",[t._v("With the EPEL repository and kernel-modules added to your AlmaLinux installation, you can now install the snapd package: 📥")]),t._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("sudo dnf install snapd\n")])])]),a("h2",{attrs:{id:"set-up"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#set-up"}},[t._v("#")]),t._v(" Set up ⚙️")]),t._v(" "),a("p",[t._v("Next, instruct systemd to enable the unit providing the snapd communication socket:")]),t._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("sudo systemctl enable --now snapd.socket\n")])])]),a("p",[t._v("Then, enable classic snap support, create a symbolic link it requires:")]),t._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("sudo ln -s /var/lib/snapd/snap /snap\n")])])]),a("h3",{attrs:{id:"last-installation-step"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#last-installation-step"}},[t._v("#")]),t._v(" Last installation step 🏁")]),t._v(" "),a("p",[t._v("To make sure the paths for snapd are updated correctly, you just need to re-login. Reboot will work too. 🔄")]),t._v(" "),a("p",[t._v("Congratulations, snapd is now installed and fully operational! 🎉")]),t._v(" "),a("h3",{attrs:{id:"optional-for-desktop-users"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#optional-for-desktop-users"}},[t._v("#")]),t._v(" Optional: for Desktop Users 🖥")]),t._v(" "),a("p",[t._v("If you’re using a desktop environment, consider installing the Snap Store app (https://forum.snapcraft.io/t/installing-the-snap-store-app/10077) 🛍️")])])])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/143.90800029.js b/assets/js/143.90800029.js new file mode 100644 index 000000000..05e9caf19 --- /dev/null +++ b/assets/js/143.90800029.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[143],{422:function(a,s,t){"use strict";t.r(s);var e=t(14),n=Object(e.a)({},(function(){var a=this,s=a._self._c;return s("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[s("h1",{attrs:{id:"a05-❯-multimedia-codecs-installation-guide"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#a05-❯-multimedia-codecs-installation-guide"}},[a._v("#")]),a._v(" A05 ❯ Multimedia Codecs Installation Guide")]),a._v(" "),s("p",[s("small",[a._v("ℹ️ This article is part of AlmaLinux "),s("RouterLink",{attrs:{to:"/series/"}},[a._v("System Series")]),a._v(".")],1)]),s("hr"),s("p"),a._v(" "),s("table",[s("thead",[s("tr",[s("th",[a._v("💡")]),a._v(" "),s("th",[a._v("Experience Level")]),a._v(" "),s("th",[a._v("⭐☆☆☆☆")])])]),a._v(" "),s("tbody",[s("tr",[s("td",[a._v("📆")]),a._v(" "),s("td",[s("small",[a._v("Last modified ")])]),a._v(" "),s("td",[a._v("2024-06-11")])]),a._v(" "),s("tr",[s("td",[a._v("🔧")]),a._v(" "),s("td",[s("small",[a._v("Tested by "),s("br"),a._v(" ↳ version | platform | date ")])]),a._v(" "),s("td",[a._v("NOT TESTED YET")])])])]),a._v(" "),s("h2",{attrs:{id:"add-epel"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#add-epel"}},[a._v("#")]),a._v(" Add EPEL:")]),a._v(" "),s("div",{staticClass:"language-Bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" epel-release\n"),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf makecache\n")])])]),s("h2",{attrs:{id:"enable-crb"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#enable-crb"}},[a._v("#")]),a._v(" Enable CRB:")]),a._v(" "),s("div",{staticClass:"language-Bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf config-manager --set-enabled crb\n")])])]),s("h2",{attrs:{id:"add-rpmfusion"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#add-rpmfusion"}},[a._v("#")]),a._v(" Add RPMFusion:")]),a._v(" "),s("p",[a._v("Starting from step 2, follow "),s("RouterLink",{attrs:{to:"/documentation/epel-and-rpmfusion/"}},[a._v("Installing EPEL and RPM Fusion")]),a._v(".")],1),a._v(" "),s("h2",{attrs:{id:"install-multimedia-codecs"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#install-multimedia-codecs"}},[a._v("#")]),a._v(" Install multimedia codecs:")]),a._v(" "),s("div",{staticClass:"language-bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v(" group "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" multimedia\n"),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" ffmpeg ffmpeg-libs ffmpeg-devel mpv\n")])])]),s("h2",{attrs:{id:"extra-audio-packages"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#extra-audio-packages"}},[a._v("#")]),a._v(" Extra Audio packages")]),a._v(" "),s("div",{staticClass:"language-bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v(" group "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" sound-and-video\n")])])]),s("h2",{attrs:{id:"play-a-dvd"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#play-a-dvd"}},[a._v("#")]),a._v(" Play a DVD")]),a._v(" "),s("div",{staticClass:"language-Bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" libdvdcss\n")])])]),s("h2",{attrs:{id:"install-mediaplayers-like-vlc-mpv-or-celluloid-from-rpmfusion"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#install-mediaplayers-like-vlc-mpv-or-celluloid-from-rpmfusion"}},[a._v("#")]),a._v(" Install mediaplayers like VLC, MPV or Celluloid from RPMFusion")]),a._v(" "),s("div",{staticClass:"language-bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" vlc\n"),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" mpv\n"),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" celluloid "),s("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# Simple GTK+ frontend for mpv")]),a._v("\n")])])])])}),[],!1,null,null,null);s.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/144.d90c7a9d.js b/assets/js/144.d90c7a9d.js new file mode 100644 index 000000000..6fd576f4b --- /dev/null +++ b/assets/js/144.d90c7a9d.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[144],{425:function(a,s,t){"use strict";t.r(s);var e=t(14),n=Object(e.a)({},(function(){var a=this,s=a._self._c;return s("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[s("h1",{attrs:{id:"a06-❯-multimedia-codecs-libraries-for-vfx-workstation-installation-guide"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#a06-❯-multimedia-codecs-libraries-for-vfx-workstation-installation-guide"}},[a._v("#")]),a._v(" A06 ❯ Multimedia Codecs & Libraries for VFX Workstation Installation Guide")]),a._v(" "),s("p",[s("small",[a._v("ℹ️ This article is part of AlmaLinux "),s("RouterLink",{attrs:{to:"/series/"}},[a._v("System Series")]),a._v(".")],1)]),s("hr"),s("p"),a._v(" "),s("table",[s("thead",[s("tr",[s("th",[a._v("💡")]),a._v(" "),s("th",[a._v("Experience Level")]),a._v(" "),s("th",[a._v("⭐⭐☆☆☆")])])]),a._v(" "),s("tbody",[s("tr",[s("td",[a._v("📆")]),a._v(" "),s("td",[s("small",[a._v("Last modified ")])]),a._v(" "),s("td",[a._v("2024-02-02")])]),a._v(" "),s("tr",[s("td",[a._v("🔧")]),a._v(" "),s("td",[s("small",[a._v("Tested by "),s("br"),a._v(" ↳ version | platform | date ")])]),a._v(" "),s("td",[a._v("NOT TESTED YET")])])])]),a._v(" "),s("p",[a._v('These packages have been needed for multiple software, such has "Thinkbox Deadline" and were either backported, requested, or discovered as alternatives for AlmaLinux 9 for users migrating from enterprise Linux 8.')]),a._v(" "),s("h1",{attrs:{id:"enable-crb"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#enable-crb"}},[a._v("#")]),a._v(" Enable CRB:")]),a._v(" "),s("div",{staticClass:"language-Bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf config-manager --set-enabled crb\n")])])]),s("h1",{attrs:{id:"add-epel9"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#add-epel9"}},[a._v("#")]),a._v(" Add EPEL9:")]),a._v(" "),s("div",{staticClass:"language-Bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" epel-release\n")])])]),s("h1",{attrs:{id:"add-rpmfusion"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#add-rpmfusion"}},[a._v("#")]),a._v(" Add RPMFusion:")]),a._v(" "),s("div",{staticClass:"language-Bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--nogpgcheck")]),a._v(" https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-"),s("span",{pre:!0,attrs:{class:"token variable"}},[s("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$(")]),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("rpm")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-E")]),a._v(" %rhel"),s("span",{pre:!0,attrs:{class:"token variable"}},[a._v(")")])]),a._v(".noarch.rpm\n")])])]),s("h1",{attrs:{id:"add-almalinux-release-devel"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#add-almalinux-release-devel"}},[a._v("#")]),a._v(" Add almalinux-release-devel:")]),a._v(" "),s("div",{staticClass:"language-Bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf almalinux-release-devel\n")])])]),s("h1",{attrs:{id:"add-almalinux-extras"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#add-almalinux-extras"}},[a._v("#")]),a._v(" Add almalinux Extras:")]),a._v(" "),s("div",{staticClass:"language-Bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf config-manager --set-enabled extras\n")])])]),s("h1",{attrs:{id:"update-system-packages"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#update-system-packages"}},[a._v("#")]),a._v(" Update System Packages :")]),a._v(" "),s("div",{staticClass:"language-Bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf update "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v("\n")])])]),s("h1",{attrs:{id:"reboot-to-apply-updates"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#reboot-to-apply-updates"}},[a._v("#")]),a._v(" Reboot to apply updates :")]),a._v(" "),s("div",{staticClass:"language-Bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("reboot")]),a._v("\n")])])]),s("h1",{attrs:{id:"network-share-essentials"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#network-share-essentials"}},[a._v("#")]),a._v(" Network Share essentials :")]),a._v(" "),s("div",{staticClass:"language-Bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" samba "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v("\n"),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf insall cifs-utils "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v("\n"),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" nfs-utils "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v("\n")])])]),s("h1",{attrs:{id:"packages-groups-essentials"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#packages-groups-essentials"}},[a._v("#")]),a._v(" Packages groups essentials :")]),a._v(" "),s("div",{staticClass:"language-Bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf groupinstall Workstation "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v("\n"),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf groupinstall "),s("span",{pre:!0,attrs:{class:"token string"}},[a._v('"Development Tools"')]),a._v(" "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v("\n"),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf groupinstall "),s("span",{pre:!0,attrs:{class:"token string"}},[a._v('"RPM Development Tools"')]),a._v(" "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v("\n"),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf groupinstall "),s("span",{pre:!0,attrs:{class:"token string"}},[a._v('"System Tools"')]),a._v(" "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v("\n")])])]),s("h1",{attrs:{id:"install-multimedia-codecs"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#install-multimedia-codecs"}},[a._v("#")]),a._v(" Install multimedia codecs:")]),a._v(" "),s("div",{staticClass:"language-bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v(" groupinstall multimedia --with-optional\n"),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" ffmpeg\n"),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" x264\n"),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" x264-devel\n"),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" SDL2\n"),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" ffmpeg-devel\n")])])]),s("h1",{attrs:{id:"install-multimedia-codecs-required-if-using-thinkbox-deadline"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#install-multimedia-codecs-required-if-using-thinkbox-deadline"}},[a._v("#")]),a._v(" Install multimedia codecs "),s("strong",[a._v("(Required if using Thinkbox Deadline)")]),a._v(":")]),a._v(" "),s("div",{staticClass:"language-bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" libcrypto.so.1.1\n")])])]),s("h1",{attrs:{id:"libraries-and-codec-needed-for-vfx-software"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#libraries-and-codec-needed-for-vfx-software"}},[a._v("#")]),a._v(" Libraries and codec needed for VFX software :")]),a._v(" "),s("div",{staticClass:"language-bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" ncurses-compat-libs\n"),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" gstreamer1-libav\n"),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" libnsl\n"),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" vulkan\n"),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" libglvnd-devel\n"),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" mesa-libGL\n"),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" mesa-libGLU\n"),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" gstreamer1-libav\n"),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" libnsl\n"),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" xmessage\n")])])]),s("h1",{attrs:{id:"fix-for-locale-language-not-being-applied-with-gdm"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#fix-for-locale-language-not-being-applied-with-gdm"}},[a._v("#")]),a._v(" Fix for locale language not being applied with GDM :")]),a._v(" "),s("div",{staticClass:"language-bash extra-class"},[s("pre",{pre:!0,attrs:{class:"language-bash"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" localectl set-locale "),s("span",{pre:!0,attrs:{class:"token assign-left variable"}},[s("span",{pre:!0,attrs:{class:"token environment constant"}},[a._v("LANG")])]),s("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v("en_US.UTF-8\n")])])])])}),[],!1,null,null,null);s.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/145.b6149fd0.js b/assets/js/145.b6149fd0.js new file mode 100644 index 000000000..c6ccd379e --- /dev/null +++ b/assets/js/145.b6149fd0.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[145],{427:function(t,e,a){"use strict";a.r(e);var s=a(14),n=Object(s.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"a07-❯-change-from-wayland-to-xorg-installation-guide"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#a07-❯-change-from-wayland-to-xorg-installation-guide"}},[t._v("#")]),t._v(" A07 ❯ Change from Wayland to Xorg Installation Guide")]),t._v(" "),e("p",[e("small",[t._v("ℹ️ This article is part of AlmaLinux "),e("RouterLink",{attrs:{to:"/series/"}},[t._v("System Series")]),t._v(".")],1)]),e("hr"),e("p"),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("💡")]),t._v(" "),e("th",[t._v("Experience Level")]),t._v(" "),e("th",[t._v("⭐☆☆☆☆")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[t._v("📆")]),t._v(" "),e("td",[e("small",[t._v("Last modified ")])]),t._v(" "),e("td",[t._v("2024-02-02")])]),t._v(" "),e("tr",[e("td",[t._v("🔧")]),t._v(" "),e("td",[e("small",[t._v("Tested by "),e("br"),t._v(" ↳ version | platform | date ")])]),t._v(" "),e("td",[t._v("NOT TESTED YET")])])])]),t._v(" "),e("p",[t._v("In some case Wayland may interfere with software installed and require Xorg instead. This is the way to rollback to Xorg.")]),t._v(" "),e("h1",{attrs:{id:"open-the-terminal-on-the-host-machine"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#open-the-terminal-on-the-host-machine"}},[t._v("#")]),t._v(" Open the terminal on the host machine.")]),t._v(" "),e("h1",{attrs:{id:"gain-administrative-privileges-by-using-the-sudo-command"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#gain-administrative-privileges-by-using-the-sudo-command"}},[t._v("#")]),t._v(" Gain administrative privileges by using the sudo command:")]),t._v(" "),e("div",{staticClass:"language-Bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[e("span",{pre:!0,attrs:{class:"token function"}},[t._v("sudo")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token function"}},[t._v("su")]),t._v("\n")])])]),e("h1",{attrs:{id:"navigate-to-the-etc-gdm-directory"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#navigate-to-the-etc-gdm-directory"}},[t._v("#")]),t._v(" Navigate to the /etc/gdm/ directory:")]),t._v(" "),e("div",{staticClass:"language-Bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[e("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v("cd")]),t._v(" /etc/gdm/\n")])])]),e("h1",{attrs:{id:"open-the-custom-conf-file-in-a-text-editor-of-your-choice-for-example-you-can-use-the-nano-editor"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#open-the-custom-conf-file-in-a-text-editor-of-your-choice-for-example-you-can-use-the-nano-editor"}},[t._v("#")]),t._v(" Open the custom.conf file in a text editor of your choice. For example, you can use the nano editor:")]),t._v(" "),e("div",{staticClass:"language-Bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[t._v("Ensure that these lines are within the block that starts with "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# {mark} ANSIBLE MANAGED BLOCK.")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token function"}},[t._v("sudo")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token function"}},[t._v("nano")]),t._v(" custom.conf\n")])])]),e("h1",{attrs:{id:"find-or-add-the-following-lines-to-the-file"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#find-or-add-the-following-lines-to-the-file"}},[t._v("#")]),t._v(" Find or add the following lines to the file:")]),t._v(" "),e("div",{staticClass:"language-Bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[e("span",{pre:!0,attrs:{class:"token assign-left variable"}},[t._v("WaylandEnable")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v("false\n"),e("span",{pre:!0,attrs:{class:"token assign-left variable"}},[t._v("DefaultSession")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v("gnome-xorg.desktop\n")])])]),e("h1",{attrs:{id:"save-the-changes-and-exit-the-text-editor-if-you-are-using-nano-you-can-press-ctrl-x-then-press-y-to-confirm-changes-and-finally-press-enter-to-exit"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#save-the-changes-and-exit-the-text-editor-if-you-are-using-nano-you-can-press-ctrl-x-then-press-y-to-confirm-changes-and-finally-press-enter-to-exit"}},[t._v("#")]),t._v(" Save the changes and exit the text editor. If you are using nano, you can press Ctrl + X, then press Y to confirm changes, and finally press Enter to exit.")]),t._v(" "),e("h1",{attrs:{id:"restart-the-system-or-the-display-manager-for-the-changes-to-take-effect"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#restart-the-system-or-the-display-manager-for-the-changes-to-take-effect"}},[t._v("#")]),t._v(" Restart the system or the display manager for the changes to take effect.")])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/146.2ea92751.js b/assets/js/146.2ea92751.js new file mode 100644 index 000000000..f6ff7fe3d --- /dev/null +++ b/assets/js/146.2ea92751.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[146],{428:function(t,a,e){"use strict";e.r(a);var s=e(14),r=Object(s.a)({},(function(){var t=this,a=t._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"a08-❯-earlyoom-out-of-memory-installation-guide"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#a08-❯-earlyoom-out-of-memory-installation-guide"}},[t._v("#")]),t._v(" A08 ❯ Earlyoom (Out of Memory) Installation Guide")]),t._v(" "),a("p",[a("small",[t._v("ℹ️ This article is part of AlmaLinux "),a("RouterLink",{attrs:{to:"/series/"}},[t._v("System Series")]),t._v(".")],1)]),a("hr"),a("p"),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("💡")]),t._v(" "),a("th",[t._v("Experience Level")]),t._v(" "),a("th",[t._v("⭐☆☆☆☆")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("📆")]),t._v(" "),a("td",[a("small",[t._v("Last modified ")])]),t._v(" "),a("td",[t._v("2024-02-02")])]),t._v(" "),a("tr",[a("td",[t._v("🔧")]),t._v(" "),a("td",[a("small",[t._v("Tested by "),a("br"),t._v(" ↳ version | platform | date ")])]),t._v(" "),a("td",[t._v("NOT TESTED YET")])])])]),t._v(" "),a("p",[t._v("EarlyOOM project can be found here: "),a("a",{attrs:{href:"https://github.com/rfjakob/earlyoom",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/rfjakob/earlyoom"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"install-earlyoom"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#install-earlyoom"}},[t._v("#")]),t._v(" Install EarlyOOM:")]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[t._v("sudo")]),t._v(" dnf "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("install")]),t._v(" earlyoom "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-y")]),t._v("\n")])])]),a("h2",{attrs:{id:"configure-earlyoom-to-start-at-boot"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#configure-earlyoom-to-start-at-boot"}},[t._v("#")]),t._v(" Configure EarlyOOM to start at boot:")]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[t._v("sudo")]),t._v(" systemctl "),a("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v("enable")]),t._v(" earlyoom\n")])])]),a("h2",{attrs:{id:"configure-earlyoom-parameters"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#configure-earlyoom-parameters"}},[t._v("#")]),t._v(" Configure Earlyoom Parameters:")]),t._v(" "),a("p",[t._v("Open the terminal on the host machine.")]),t._v(" "),a("h2",{attrs:{id:"gain-administrative-privileges-by-using-the-sudo-command"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#gain-administrative-privileges-by-using-the-sudo-command"}},[t._v("#")]),t._v(" Gain administrative privileges by using the sudo command:")]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[t._v("sudo")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("su")]),t._v("\n")])])]),a("h2",{attrs:{id:"open-the-etc-default-earlyoom-file-in-a-text-editor-of-your-choice-for-example-you-can-use-the-nano-editor"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#open-the-etc-default-earlyoom-file-in-a-text-editor-of-your-choice-for-example-you-can-use-the-nano-editor"}},[t._v("#")]),t._v(" Open the /etc/default/earlyoom file in a text editor of your choice. For example, you can use the nano editor:")]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[t._v("sudo")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("nano")]),t._v(" /etc/default/earlyoom\n")])])]),a("h2",{attrs:{id:"find-or-add-the-following-lines-to-the-file"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#find-or-add-the-following-lines-to-the-file"}},[t._v("#")]),t._v(" Find or add the following lines to the file:")]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[t._v("EARLYOOM_ARGS")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("\"-m 10 -s 75 -r 3600 --avoid '(^|/)(init|Xorg|ssh|gnome)$'\"")]),t._v("\n")])])]),a("p",[t._v("Save the changes and exit the text editor. If you are using nano, you can press Ctrl + X, then press Y to confirm changes, and finally press Enter to exit.")]),t._v(" "),a("p",[a("strong",[t._v("Please note that these are the options that worked in my case and may not work for all specific cases. Please refer to the command options for EarlyOOM:")])]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[t._v("User\nCommand line options\nearlyoom v1.6.2-34-g75a8852-dirty\nUsage: ./earlyoom "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("OPTION"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("..")]),t._v(".\n\n "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-m")]),t._v(" PERCENT"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v(",KILL_PERCENT"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v("set")]),t._v(" available memory minimum to PERCENT of total\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("default "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),t._v(" %"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(".\n earlyoom sends SIGTERM once below PERCENT, "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("then")]),t._v("\n SIGKILL once below KILL_PERCENT "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("default PERCENT/2"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(".\n "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-s")]),t._v(" PERCENT"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v(",KILL_PERCENT"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v("set")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("free")]),t._v(" swap minimum to PERCENT of total "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("default\n "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),t._v(" %"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(".\n Note: both memory and swap must be below minimum "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("for")]),t._v("\n")])])]),a("p",[t._v("Reference: "),a("a",{attrs:{href:"https://github.com/rfjakob/earlyoom",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/rfjakob/earlyoom"),a("OutboundLink")],1)]),t._v(" "),a("h2",{attrs:{id:"set-the-owner-and-group-of-the-file-to-root"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#set-the-owner-and-group-of-the-file-to-root"}},[t._v("#")]),t._v(" Set the owner and group of the file to root:")]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[t._v("chown")]),t._v(" root:root /etc/default/earlyoom\n")])])]),a("h2",{attrs:{id:"set-the-file-permissions-to-0644"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#set-the-file-permissions-to-0644"}},[t._v("#")]),t._v(" Set the file permissions to 0644:")]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[t._v("chmod")]),t._v(" 0644 /etc/default/earlyoom\n")])])]),a("h1",{attrs:{id:"notify-the-system-about-the-changes-made-by-restarting-the-earlyoom-service"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#notify-the-system-about-the-changes-made-by-restarting-the-earlyoom-service"}},[t._v("#")]),t._v(" Notify the system about the changes made by restarting the earlyoom service:")]),t._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[t._v("systemctl restart earlyoom\n")])])])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/147.085d8abc.js b/assets/js/147.085d8abc.js new file mode 100644 index 000000000..3a2581dfa --- /dev/null +++ b/assets/js/147.085d8abc.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[147],{430:function(t,e,s){"use strict";s.r(e);var a=s(14),n=Object(a.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"a09-❯-journalctl-persistent-installation-guide"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#a09-❯-journalctl-persistent-installation-guide"}},[t._v("#")]),t._v(" A09 ❯ Journalctl Persistent Installation Guide")]),t._v(" "),e("p",[e("small",[t._v("ℹ️ This article is part of AlmaLinux "),e("RouterLink",{attrs:{to:"/series/"}},[t._v("System Series")]),t._v(".")],1)]),e("hr"),e("p"),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("💡")]),t._v(" "),e("th",[t._v("Experience Level")]),t._v(" "),e("th",[t._v("⭐☆☆☆☆")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[t._v("📆")]),t._v(" "),e("td",[e("small",[t._v("Last modified ")])]),t._v(" "),e("td",[t._v("2024-02-02")])]),t._v(" "),e("tr",[e("td",[t._v("🔧")]),t._v(" "),e("td",[e("small",[t._v("Tested by "),e("br"),t._v(" ↳ version | platform | date ")])]),t._v(" "),e("td",[t._v("NOT TESTED YET")])])])]),t._v(" "),e("p",[t._v("Jounalctl Man page: https://man7.org/linux/man-pages/man1/journalctl.1.html")]),t._v(" "),e("h1",{attrs:{id:"check-if-the-journal-directory-exists"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#check-if-the-journal-directory-exists"}},[t._v("#")]),t._v(" Check if the journal directory exists:")]),t._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[e("span",{pre:!0,attrs:{class:"token function"}},[t._v("stat")]),t._v(" /var/log/journal\n")])])]),e("h1",{attrs:{id:"create-the-journal-directory-if-it-doesn-t-exist"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#create-the-journal-directory-if-it-doesn-t-exist"}},[t._v("#")]),t._v(" Create the journal directory if it doesn't exist:")]),t._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[e("span",{pre:!0,attrs:{class:"token function"}},[t._v("mkdir")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-p")]),t._v(" /var/log/journal\n")])])]),e("h1",{attrs:{id:"configure-systemd-journal-settings"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#configure-systemd-journal-settings"}},[t._v("#")]),t._v(" Configure systemd journal settings:")]),t._v(" "),e("p",[e("strong",[t._v("Edit the /etc/systemd/journald.conf file using a text editor like nano or vi. Ensure the following content is set:")])]),t._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# This file is part of systemd.")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# systemd is free software; you can redistribute it and/or modify it")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# under the terms of the GNU Lesser General Public License as published by")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# the Free Software Foundation; either version 2.1 of the License, or")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# (at your option) any later version.")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Entries in this file show the compile time defaults.")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# You can change settings by editing this file.")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Defaults can be restored by simply deleting this file.")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# See journald.conf(5) for details.")]),t._v("\n\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("Journal"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#Storage=auto")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#Compress=yes")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#Seal=yes")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#SplitMode=uid")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#SyncIntervalSec=5m")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#RateLimitIntervalSec=30s")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#RateLimitBurst=10000")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token assign-left variable"}},[t._v("SystemMaxUse")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v("200M\n"),e("span",{pre:!0,attrs:{class:"token assign-left variable"}},[t._v("SystemKeepFree")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v("100M\n"),e("span",{pre:!0,attrs:{class:"token assign-left variable"}},[t._v("SystemMaxFileSize")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v("20M\n"),e("span",{pre:!0,attrs:{class:"token assign-left variable"}},[t._v("SystemMaxFiles")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#RuntimeMaxUse=")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#RuntimeKeepFree=")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#RuntimeMaxFileSize=")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#RuntimeMaxFiles=100")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#MaxRetentionSec=")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#MaxFileSec=1month")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#ForwardToSyslog=no")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#ForwardToKMsg=no")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#ForwardToConsole=no")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#ForwardToWall=yes")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#TTYPath=/dev/console")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#MaxLevelStore=debug")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#MaxLevelSyslog=debug")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#MaxLevelKMsg=notice")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#MaxLevelConsole=info")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#MaxLevelWall=emerg")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("#LineMax=48K")]),t._v("\n")])])]),e("p",[t._v("**This file can be modified to your preference, please see the Man page for all possible options: https://man7.org/linux/man-pages/man1/journalctl.1.html")]),t._v(" "),e("h1",{attrs:{id:"ensure-the-systemd-journald-service-is-running"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#ensure-the-systemd-journald-service-is-running"}},[t._v("#")]),t._v(" Ensure the systemd-journald service is running:")]),t._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[t._v("systemctl start systemd-journald\n")])])]),e("h1",{attrs:{id:"restart-systemd-journald"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#restart-systemd-journald"}},[t._v("#")]),t._v(" Restart systemd-journald:")]),t._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[t._v("systemctl restart systemd-journald\n")])])]),e("p",[e("strong",[t._v("After enabling persistent Journalctl, the files will be in a rolling state up to the maximum size specfied and in the location specified")])])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/148.65a7b558.js b/assets/js/148.65a7b558.js new file mode 100644 index 000000000..d316c8c8c --- /dev/null +++ b/assets/js/148.65a7b558.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[148],{429:function(t,e,s){"use strict";s.r(e);var n=s(14),a=Object(n.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"a10-❯-chrony-installation-guide"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#a10-❯-chrony-installation-guide"}},[t._v("#")]),t._v(" A10 ❯ Chrony Installation Guide")]),t._v(" "),e("p",[e("small",[t._v("ℹ️ This article is part of AlmaLinux "),e("RouterLink",{attrs:{to:"/series/"}},[t._v("System Series")]),t._v(".")],1)]),e("hr"),e("p"),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("💡")]),t._v(" "),e("th",[t._v("Experience Level")]),t._v(" "),e("th",[t._v("⭐☆☆☆☆")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[t._v("📆")]),t._v(" "),e("td",[e("small",[t._v("Last modified")])]),t._v(" "),e("td",[t._v("2024-02-02")])]),t._v(" "),e("tr",[e("td",[t._v("🔧")]),t._v(" "),e("td",[e("small",[t._v("Tested by "),e("br"),t._v(" ↳ version | platform | date ")])]),t._v(" "),e("td",[t._v("NOT TESTED YET")])])])]),t._v(" "),e("p",[t._v("Chrony Man page: https://chrony-project.org/")]),t._v(" "),e("h2",{attrs:{id:"install-chrony"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#install-chrony"}},[t._v("#")]),t._v(" Install Chrony:")]),t._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[t._v("dnf "),e("span",{pre:!0,attrs:{class:"token function"}},[t._v("install")]),t._v(" chrony "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-y")]),t._v("\n")])])]),e("h1",{attrs:{id:"configure-chrony-conf-file"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#configure-chrony-conf-file"}},[t._v("#")]),t._v(" Configure Chrony conf file:")]),t._v(" "),e("h2",{attrs:{id:"edit-the-etc-chrony-conf-file-using-a-text-editor-like-nano-or-vi"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#edit-the-etc-chrony-conf-file-using-a-text-editor-like-nano-or-vi"}},[t._v("#")]),t._v(" Edit the /etc/chrony.conf file using a text editor like nano or vi.")]),t._v(" "),e("p",[t._v("Ensure the following content is set:")]),t._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# chrony.conf")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Use Google's NTP server")]),t._v("\nserver time.google.com iburst\n\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Local clock as a fallback source")]),t._v("\nserver "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("127.127")]),t._v(".1.0 iburst\n\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Set the time zone")]),t._v("\nrtcsync\n\nmaxdistance "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("16.0")]),t._v("\n\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Driftfile")]),t._v("\ndriftfile /var/lib/chrony/drift\n\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Allow larger adjustments to the system clock")]),t._v("\nmakestep "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("1.0")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("3")]),t._v("\n\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Leap seconds configuration")]),t._v("\nleapsec tz right/UTC\n\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Adjust the following line to allow systems in the XXX.XXX.XXX.XXX/XX subnet to access this client.")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Ensure to modify the XXX.XXX.XXX.XXX/XX part based on your network configuration.")]),t._v("\nallow XXX.XXX.XXX.XXX/XX\n\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Logging")]),t._v("\nlog tracking measurements statistics\nlogdir /var/log/chrony\n")])])]),e("p",[t._v("For more details on configuring Chrony, you can refer to the Configuration Reference for the version of "),e("a",{attrs:{href:"https://chrony-project.org/documentation.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("Chrony Documentation"),e("OutboundLink")],1),t._v(" that matches the version you have installed.")]),t._v(" "),e("h1",{attrs:{id:"restart-chrony-service"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#restart-chrony-service"}},[t._v("#")]),t._v(" Restart Chrony service:")]),t._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[t._v("systemctl restart chronyd\n")])])])])}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/149.2eeea09f.js b/assets/js/149.2eeea09f.js new file mode 100644 index 000000000..c4df65e4e --- /dev/null +++ b/assets/js/149.2eeea09f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[149],{432:function(e,t,a){"use strict";a.r(t);var r=a(14),n=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"build-system-sig"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#build-system-sig"}},[e._v("#")]),e._v(" Build System SIG")]),e._v(" "),t("p",[e._v("The Build System Team is responsible for automating processes of building distribution and packages, testing packages, signing packages, and releasing them to public repositories.")]),e._v(" "),t("h2",{attrs:{id:"how-to-join"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-to-join"}},[e._v("#")]),e._v(" How to Join")]),e._v(" "),t("p",[e._v("Joining is easy! You can show up to a meeting, pick up an issue from the list by assigning it to yourself, or ask questions in chat! Not every contributor wants to be a part of the SIG, but if you do, joining is simple.")]),e._v(" "),t("p",[t("strong",[e._v("Where we chat")])]),e._v(" "),t("p",[e._v("The Build System SIG uses the "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/build-system",target:"_blank",rel:"noopener noreferrer"}},[e._v("SIG/Build System"),t("OutboundLink")],1),e._v(" chat channel for communication.")]),e._v(" "),t("p",[t("strong",[e._v("Where and when we meet")])]),e._v(" "),t("p",[e._v("Meetings are held regularly, including a daily standup. If you would like to join these meetings, join the channel and ask for an invite!")]),e._v(" "),t("h2",{attrs:{id:"activities-projects-and-deliverables"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#activities-projects-and-deliverables"}},[e._v("#")]),e._v(" Activities, projects, and deliverables")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://github.com/AlmaLinux/build-system",target:"_blank",rel:"noopener noreferrer"}},[e._v("Build System project's documentation and issue tracker"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://github.com/AlmaLinux/albs-web-server",target:"_blank",rel:"noopener noreferrer"}},[e._v("Build System Web-Server"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://github.com/AlmaLinux/albs-node",target:"_blank",rel:"noopener noreferrer"}},[e._v("Build System Build Node"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://github.com/AlmaLinux/alts",target:"_blank",rel:"noopener noreferrer"}},[e._v("Build System Test System"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://github.com/AlmaLinux/albs-frontend",target:"_blank",rel:"noopener noreferrer"}},[e._v("Build System Frontend"),t("OutboundLink")],1)])]),e._v(" "),t("h3",{attrs:{id:"help-wanted"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#help-wanted"}},[e._v("#")]),e._v(" Help wanted:")]),e._v(" "),t("ul",[t("li",[e._v("Add OpenStack backend driver support.")]),e._v(" "),t("li",[e._v("Improve OpenNebula backend driver support.")]),e._v(" "),t("li",[e._v("Add Azure backend driver support.")]),e._v(" "),t("li",[e._v("Improve ability to delete a build.")]),e._v(" "),t("li",[e._v("Add support for external test projects.")])]),e._v(" "),t("h2",{attrs:{id:"sig-members"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#sig-members"}},[e._v("#")]),e._v(" SIG Members:")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"mailto:dmalyavkina@almalinux.org"}},[e._v("Darya Malyavkina")]),e._v(" - The director of release engineering at "),t("a",{attrs:{href:"https://cloudlinux.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("CloudLinux Inc."),t("OutboundLink")],1),e._v(", coordinates the company efforts on the AlmaLinux OS development and support.\n"),t("ul",[t("li",[e._v("Chat login: "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/messages/@dmalyavkina",target:"_blank",rel:"noopener noreferrer"}},[e._v("dmalyavkina"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("GitHub profile: "),t("a",{attrs:{href:"https://github.com/dmalyavkina",target:"_blank",rel:"noopener noreferrer"}},[e._v("dmalyavkina"),t("OutboundLink")],1)])])]),e._v(" "),t("li",[t("a",{attrs:{href:"mailto:vkleschov@cloudlinux.com"}},[e._v("Vasily Kleschov")]),e._v(" - Build System Team Lead.\n"),t("ul",[t("li",[e._v("Chat login: "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/messages/@korulag",target:"_blank",rel:"noopener noreferrer"}},[e._v("korulag"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("GitHub profile: "),t("a",{attrs:{href:"https://github.com/Korulag",target:"_blank",rel:"noopener noreferrer"}},[e._v("Korulag"),t("OutboundLink")],1)])])]),e._v(" "),t("li",[t("a",{attrs:{href:"mailto:jhernandez@cloudlinux.com"}},[e._v("Javier Hernández Antúnez")]),e._v(" - The software developer engineer.\n"),t("ul",[t("li",[e._v("Chat login: "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/messages/@jhernandez",target:"_blank",rel:"noopener noreferrer"}},[e._v("jhernandez"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("GitHub profile: "),t("a",{attrs:{href:"https://github.com/javihernandez",target:"_blank",rel:"noopener noreferrer"}},[e._v("javihernandez"),t("OutboundLink")],1)])])]),e._v(" "),t("li",[t("a",{attrs:{href:"mailto:soksanichenko@cloudlinux.com"}},[e._v("Stepan Oksanichenko")]),e._v(" - The software developer and automation engineer.\n"),t("ul",[t("li",[e._v("Chat login: "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/messages/@stepan_oksanichenko",target:"_blank",rel:"noopener noreferrer"}},[e._v("stepan_oksanichenko"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("GitHub profile: "),t("a",{attrs:{href:"https://github.com/soksanichenko",target:"_blank",rel:"noopener noreferrer"}},[e._v("soksanichenko"),t("OutboundLink")],1)])])]),e._v(" "),t("li",[t("a",{attrs:{href:"mailto:danfimov@cloudlinux.com"}},[e._v("Daniil Anfimov")]),e._v(" - The software developer engineer.\n"),t("ul",[t("li",[e._v("Chat login: "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/messages/@anfimovdm",target:"_blank",rel:"noopener noreferrer"}},[e._v("anfimovdm"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("GitHub profile: "),t("a",{attrs:{href:"https://github.com/anfimovdm",target:"_blank",rel:"noopener noreferrer"}},[e._v("anfimovdm"),t("OutboundLink")],1)])])]),e._v(" "),t("li",[t("a",{attrs:{href:"mailto:mpetuhov@cloudlinux.com"}},[e._v("Maksim Petuhov")]),e._v(" - The UI designer.\n"),t("ul",[t("li",[e._v("Chat login: "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/messages/@mxpthv",target:"_blank",rel:"noopener noreferrer"}},[e._v("mxpthv"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("GitHub profile: "),t("a",{attrs:{href:"https://github.com/maccelf",target:"_blank",rel:"noopener noreferrer"}},[e._v("maccelf"),t("OutboundLink")],1)])])])])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/15.8d0722a4.js b/assets/js/15.8d0722a4.js new file mode 100644 index 000000000..57c93103c --- /dev/null +++ b/assets/js/15.8d0722a4.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{240:function(t,n,e){"use strict";e.d(n,"d",(function(){return r})),e.d(n,"a",(function(){return o})),e.d(n,"i",(function(){return a})),e.d(n,"f",(function(){return u})),e.d(n,"g",(function(){return c})),e.d(n,"h",(function(){return p})),e.d(n,"b",(function(){return l})),e.d(n,"e",(function(){return f})),e.d(n,"k",(function(){return h})),e.d(n,"l",(function(){return d})),e.d(n,"c",(function(){return v})),e.d(n,"j",(function(){return b}));e(90);const r=/#.*$/,i=/\.(md|html)$/,o=/\/$/,a=/^[a-z]+:/i;function s(t){return decodeURI(t).replace(r,"").replace(i,"")}function u(t){return a.test(t)}function c(t){return/^mailto:/.test(t)}function p(t){return/^tel:/.test(t)}function l(t){if(u(t))return t;const n=t.match(r),e=n?n[0]:"",i=s(t);return o.test(i)?t:i+".html"+e}function f(t,n){const e=decodeURIComponent(t.hash),i=function(t){const n=t.match(r);if(n)return n[0]}(n);if(i&&e!==i)return!1;return s(t.path)===s(n)}function h(t,n,e){if(u(n))return{type:"external",path:n};e&&(n=function(t,n,e){const r=t.charAt(0);if("/"===r)return t;if("?"===r||"#"===r)return n+t;const i=n.split("/");e&&i[i.length-1]||i.pop();const o=t.replace(/^\//,"").split("/");for(let t=0;tfunction t(n,e,r,i=1){if("string"==typeof n)return h(e,n,r);if(Array.isArray(n))return Object.assign(h(e,n[0],r),{title:n[1]});{const o=n.children||[];return 0===o.length&&n.path?Object.assign(h(e,n.path,r),{title:n.title}):{type:"group",path:n.path,title:n.title,sidebarDepth:n.sidebarDepth,initialOpenGroupIndex:n.initialOpenGroupIndex,children:o.map(n=>t(n,e,r,i+1)),collapsable:!1!==n.collapsable}}}(t,i,e)):[]}return[]}function g(t){const n=v(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:n.map(n=>({type:"auto",title:n.title,basePath:t.path,path:t.path+"#"+n.slug,children:n.children||[]}))}]}function v(t){let n;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?n=t:n&&(n.children||(n.children=[])).push(t)}),t.filter(t=>2===t.level)}function b(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},247:function(t,n){t.exports=function(t){return null==t}},250:function(t,n,e){},261:function(t,n,e){var r=e(11),i=e(4),o=e(10);t.exports=function(t){return"string"==typeof t||!i(t)&&o(t)&&"[object String]"==r(t)}},262:function(t,n,e){"use strict";e(250)},269:function(t,n,e){"use strict";e.r(n);e(90);var r=e(240),i=e(261),o=e.n(i),a=e(247),s=e.n(a),u={name:"PageNav",props:["sidebarItems"],computed:{prev(){return p(c.PREV,this)},next(){return p(c.NEXT,this)}}};const c={NEXT:{resolveLink:function(t,n){return l(t,n,1)},getThemeLinkConfig:({nextLinks:t})=>t,getPageLinkConfig:({frontmatter:t})=>t.next},PREV:{resolveLink:function(t,n){return l(t,n,-1)},getThemeLinkConfig:({prevLinks:t})=>t,getPageLinkConfig:({frontmatter:t})=>t.prev}};function p(t,{$themeConfig:n,$page:e,$route:i,$site:a,sidebarItems:u}){const{resolveLink:c,getThemeLinkConfig:p,getPageLinkConfig:l}=t,f=p(n),h=l(e),d=s()(h)?f:h;return!1===d?void 0:o()(d)?Object(r.k)(a.pages,d,i.path):c(e,u)}function l(t,n,e){const r=[];!function t(n,e){for(let r=0,i=n.length;rfunction t(e,n,i,r=1){if("string"==typeof e)return d(n,e,i);if(Array.isArray(e))return Object.assign(d(n,e[0],i),{title:e[1]});{const a=e.children||[];return 0===a.length&&e.path?Object.assign(d(n,e.path,i),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:a.map(e=>t(e,n,i,r+1)),collapsable:!1!==e.collapsable}}}(t,r,n)):[]}return[]}function m(t){const e=g(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}))}]}function g(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(t=>2===t.level)}function b(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},242:function(t,e,n){"use strict";n.r(e);var i=n(240),r={name:"NavLink",props:{item:{required:!0}},computed:{link(){return Object(i.b)(this.item.link)},exact(){return this.$site.locales?Object.keys(this.$site.locales).some(t=>t===this.link):"/"===this.link},isNonHttpURI(){return Object(i.g)(this.link)||Object(i.h)(this.link)},isBlankTarget(){return"_blank"===this.target},isInternal(){return!Object(i.f)(this.link)&&!this.isBlankTarget},target(){return this.isNonHttpURI?null:this.item.target?this.item.target:Object(i.f)(this.link)?"_blank":""},rel(){return this.isNonHttpURI||!1===this.item.rel?null:this.item.rel?this.item.rel:this.isBlankTarget?"noopener noreferrer":null}},methods:{focusoutAction(){this.$emit("focusout")}}},a=n(14),s=Object(a.a)(r,(function(){var t=this,e=t._self._c;return t.isInternal?e("RouterLink",{staticClass:"nav-link",attrs:{to:t.link,exact:t.exact},nativeOn:{focusout:function(e){return t.focusoutAction.apply(null,arguments)}}},[t._v("\n "+t._s(t.item.text)+"\n")]):e("a",{staticClass:"nav-link external",attrs:{href:t.link,target:t.target,rel:t.rel},on:{focusout:t.focusoutAction}},[t._v("\n "+t._s(t.item.text)+"\n "),t.isBlankTarget?e("OutboundLink"):t._e()],1)}),[],!1,null,null,null);e.default=s.exports},257:function(t,e,n){},270:function(t,e,n){"use strict";n(257)},281:function(t,e,n){"use strict";n.r(e);var i={name:"Home",components:{NavLink:n(242).default},computed:{data(){return this.$page.frontmatter},actionLink(){return{link:this.data.actionLink,text:this.data.actionText}}}},r=(n(270),n(14)),a=Object(r.a)(i,(function(){var t=this,e=t._self._c;return e("main",{staticClass:"home",attrs:{"aria-labelledby":null!==t.data.heroText?"main-title":null}},[e("header",{staticClass:"hero"},[t.data.heroImage?e("img",{attrs:{src:t.$withBase(t.data.heroImage),alt:t.data.heroAlt||"hero"}}):t._e(),t._v(" "),null!==t.data.heroText?e("h1",{attrs:{id:"main-title"}},[t._v("\n "+t._s(t.data.heroText||t.$title||"Hello")+"\n ")]):t._e(),t._v(" "),null!==t.data.tagline?e("p",{staticClass:"description"},[t._v("\n "+t._s(t.data.tagline||t.$description||"Welcome to your VuePress site")+"\n ")]):t._e(),t._v(" "),t.data.actionText&&t.data.actionLink?e("p",{staticClass:"action"},[e("NavLink",{staticClass:"action-button",attrs:{item:t.actionLink}})],1):t._e()]),t._v(" "),t.data.features&&t.data.features.length?e("div",{staticClass:"features"},t._l(t.data.features,(function(n,i){return e("div",{key:i,staticClass:"feature"},[e("h2",[t._v(t._s(n.title))]),t._v(" "),e("p",[t._v(t._s(n.details))])])})),0):t._e(),t._v(" "),e("Content",{staticClass:"theme-default-content custom"}),t._v(" "),t.data.footer?e("div",{staticClass:"footer"},[t._v("\n "+t._s(t.data.footer)+"\n ")]):e("Content",{staticClass:"footer",attrs:{"slot-key":"footer"}})],1)}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/160.af60b07c.js b/assets/js/160.af60b07c.js new file mode 100644 index 000000000..e9666f90d --- /dev/null +++ b/assets/js/160.af60b07c.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[160],{444:function(e,t,a){"use strict";a.r(t);var n=a(14),r=Object(n.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"managing-events-almalinux-org"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#managing-events-almalinux-org"}},[e._v("#")]),e._v(" Managing events.almalinux.org")]),e._v(" "),t("h6",{attrs:{id:"last-updated-may-8-2024"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#last-updated-may-8-2024"}},[e._v("#")]),e._v(" last updated: May 8, 2024")]),e._v(" "),t("p",[e._v("Our events are managed using "),t("a",{attrs:{href:"https://getindico.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Indico"),t("OutboundLink")],1),e._v(", the open source software created and developed at CERN. Our install, at "),t("a",{attrs:{href:"https://events.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("events.almalinux.org"),t("OutboundLink")],1),e._v(" (documentation at "),t("a",{attrs:{href:"https://learn.getindico.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("learn.getindico.io"),t("OutboundLink")],1),e._v("), is kept up to date by the AlmaLinux Infra SIG, but events on it are managed by the marketing SIG. This document helps us consistently create new events to the community.")]),e._v(" "),t("h1",{attrs:{id:"creating-different-events"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#creating-different-events"}},[e._v("#")]),e._v(" Creating different events")]),e._v(" "),t("p",[e._v("When creating different types of events, it's important that you follow the directions below so that our community can count on events being presented in a consistent way.")]),e._v(" "),t("p",[e._v("All events should start as unlisted events to be published after they're reviewed by the marketing SIG chair.")]),e._v(" "),t("h2",{attrs:{id:"webinars"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#webinars"}},[e._v("#")]),e._v(" Webinars")]),e._v(" "),t("ol",[t("li",[e._v("Navigate to the Webinars event group.")]),e._v(" "),t("li",[e._v("Create a '"),t("strong",[e._v("Lecture")]),e._v("' type event from the top of the page.")]),e._v(" "),t("li",[e._v("Enter the title of the webinar, ensure the time and date are correct, and click 'Advanced' to add a description.\n"),t("ol",[t("li",[e._v("If you need to edit the event after it's created, you can.")])])]),e._v(" "),t("li",[e._v("Add speakers - you will have to manually enter anyone who is not already registered in Indico. (note for benny: if they register later, what happens?)")])]),e._v(" "),t("p",[e._v("After it's created, there are some more adjustments to make:")]),e._v(" "),t("ol",[t("li",[e._v("under "),t("strong",[e._v("Protection")]),e._v(", enable public registration and click "),t("em",[e._v("Save")])]),e._v(" "),t("li",[e._v("under "),t("strong",[e._v("Organisation - > Participants")]),e._v(' set the visibility to the default of "Show only consenting participants" and click save, so that the registration form will be displayed.')]),e._v(" "),t("li",[e._v("If you're opening registration immediately, make sure you click "),t("em",[e._v("Start now")]),e._v(" to open registrations.")]),e._v(" "),t("li",[e._v("Edit the form as needed by clicking "),t("em",[e._v("Configure")]),e._v(" next to 'Registration Form'")]),e._v(" "),t("li",[e._v("under "),t("strong",[e._v("Organisation - > Reminders")]),e._v(" add a reminder relative to the event start time at 1 hour offset from the event, sent to all participants and all speakers, sent from 'noreply@almalinux.org', including the event description and a link to where the webinar will be hosted.")])]),e._v(" "),t("h2",{attrs:{id:"sig-meetings"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#sig-meetings"}},[e._v("#")]),e._v(" SIG meetings")]),e._v(" "),t("ol",[t("li",[e._v("Navigate to to the "),t("a",{attrs:{href:"https://events.almalinux.org/category/1/manage/",target:"_blank",rel:"noopener noreferrer"}},[e._v("SIGs category"),t("OutboundLink")],1),e._v(", and choose the appropriate category there for the specific SIG.")]),e._v(" "),t("li",[e._v("Create a "),t("strong",[e._v("meeting")]),e._v(" event, naming it appropriately for the SIG using [$freqency - $signame meeting] as the pattern (for example, Bi-weekly Marketing SIG meeting).")]),e._v(" "),t("li",[e._v("Once created, on the default settings page update the "),t("strong",[e._v("Contact title")]),e._v(" and "),t("strong",[e._v("Email")]),e._v(" to match the SIG in question's contact details.")]),e._v(" "),t("li",[e._v("Under *"),t("em",[e._v("Timetable")]),e._v(" click "),t("em",[e._v("Add new")]),e._v(" and "),t("em",[e._v("Contribution")])]),e._v(" "),t("li",[e._v("use the same title as for the full event, in the description add details about the event (general agenda, where they meet, and where to get the meeting link at least).")]),e._v(" "),t("li",[e._v("Put in the time of the meeting.")]),e._v(" "),t("li",[e._v("No speakers should be set for these meetings.")])]),e._v(" "),t("p",[e._v("Leave the rest of it blank.")]),e._v(" "),t("p",[e._v("If a schedule is set for meetings already, clone the meeting you just created to make more of them. If not, you can clone older events to set up new meetings as we move forward.")]),e._v(" "),t("h2",{attrs:{id:"sig-categories"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#sig-categories"}},[e._v("#")]),e._v(" SIG Categories")]),e._v(" "),t("ol",[t("li",[e._v("Navigate in the admin interface to the "),t("a",{attrs:{href:"https://events.almalinux.org/category/1/manage/",target:"_blank",rel:"noopener noreferrer"}},[e._v("SIG category"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Ensure the name of the category includes the name of the SIG and the word SIG")]),e._v(" "),t("li",[e._v("Use this template as the description:")])]),e._v(" "),t("blockquote",[t("p",[e._v("These meetings are held every week via $platform. If you'd like the meeting link, join the $channelname channel on chat.almalinux.org.\nFor more information on this SIG, see the details on the AlmaLinux Wiki: $wikipage")])]),e._v(" "),t("ol",[t("li",[e._v("Set the "),t("strong",[e._v('"Theme for Lectures"')]),e._v(" to lectures, and the "),t("strong",[e._v('"Theme for Meetings"')]),e._v(" to "),t("em",[e._v("Indico style")]),e._v(".")]),e._v(" "),t("li",[e._v("Add an icon and SIG logo created using the "),t("a",{attrs:{href:"https://www.canva.com/design/DAGEBQ_hwpk/meDfUVoUTVoyYIY1-hXaJA/edit",target:"_blank",rel:"noopener noreferrer"}},[e._v("Canva template"),t("OutboundLink")],1),e._v(".")])])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/161.d9faac00.js b/assets/js/161.d9faac00.js new file mode 100644 index 000000000..2a43f6721 --- /dev/null +++ b/assets/js/161.d9faac00.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[161],{441:function(e,t,a){"use strict";a.r(t);var o=a(14),i=Object(o.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"name-of-sig"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#name-of-sig"}},[e._v("#")]),e._v(" name of SIG")]),e._v(" "),t("p",[e._v("[insert the SIG's purpose here]")]),e._v(" "),t("h2",{attrs:{id:"how-to-join"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-to-join"}},[e._v("#")]),e._v(" How to Join")]),e._v(" "),t("p",[e._v("Joining is easy! You can show up to a meeting, pick up an issue from the list by assigning it to yourself, or ask questions in chat! Not every contributor wants to be a part of the SIG, but if you do, joining is simple.")]),e._v(" "),t("p",[t("strong",[e._v("Where we chat")])]),e._v(" "),t("p",[e._v("We use $platform for communication. [ this should either be a link to the SIG chat room on mattermost, or the mailing list on lists.almalinux.org ]")]),e._v(" "),t("p",[t("strong",[e._v("Where and when we meet")])]),e._v(" "),t("p",[e._v('Meetings are... [ this should be a general day/time/cadence, and indicate how one might join this meeting if they\'d like, or use "We do not currently hold regular meetings, but work asynchronously in mattermost to accomplish our goals." ]')]),e._v(" "),t("h2",{attrs:{id:"activities-projects-and-deliverables"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#activities-projects-and-deliverables"}},[e._v("#")]),e._v(" Activities, projects, and deliverables")]),e._v(" "),t("p",[e._v("[ this should be the thing or list of things you expect to be responsible for ]")]),e._v(" "),t("h3",{attrs:{id:"help-wanted"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#help-wanted"}},[e._v("#")]),e._v(" Help wanted")]),e._v(" "),t("p",[e._v("Contributions take all kinds of shapes and sizes, and we welcome everyone! If you have expertise or time and would like to help us out, here are a few things that need help soon, and a place where you can find more information.")]),e._v(" "),t("p",[e._v("[ either a list of things or a link to a project/task tracker should go here ]")]),e._v(" "),t("h2",{attrs:{id:"sig-members"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#sig-members"}},[e._v("#")]),e._v(" SIG members")]),e._v(" "),t("ul",[t("li",[e._v("[name](either email address or mattermost chat link) - Committee lead")]),e._v(" "),t("li",[e._v("[name](either email address or mattermost chat link) - member")])]),e._v(" "),t("p",[e._v("(you can also include additional information about other folks that help your SIG or are involved in some way here)")]),e._v(" "),t("h2",{attrs:{id:"additional-information-for-sig-application-approval"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#additional-information-for-sig-application-approval"}},[e._v("#")]),e._v(" Additional information for SIG application approval")]),e._v(" "),t("ul",[t("li",[e._v("Timeline for when you would like to get things rolling for this group, and how quickly you expect to see motion on your Activities, projects, and deliverables.")]),e._v(" "),t("li",[e._v("Any known resources (monetary or infrastructure) that you anticipate needing, and how they will be used.")])]),e._v(" "),t("p",[e._v("[ You can add anything additional you feel is important here as well ]")])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/17.10ba81a9.js b/assets/js/17.10ba81a9.js new file mode 100644 index 000000000..637750a1b --- /dev/null +++ b/assets/js/17.10ba81a9.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{240:function(t,e,n){"use strict";n.d(e,"d",(function(){return i})),n.d(e,"a",(function(){return a})),n.d(e,"i",(function(){return s})),n.d(e,"f",(function(){return c})),n.d(e,"g",(function(){return u})),n.d(e,"h",(function(){return l})),n.d(e,"b",(function(){return d})),n.d(e,"e",(function(){return p})),n.d(e,"k",(function(){return f})),n.d(e,"l",(function(){return h})),n.d(e,"c",(function(){return m})),n.d(e,"j",(function(){return b}));n(90);const i=/#.*$/,r=/\.(md|html)$/,a=/\/$/,s=/^[a-z]+:/i;function o(t){return decodeURI(t).replace(i,"").replace(r,"")}function c(t){return s.test(t)}function u(t){return/^mailto:/.test(t)}function l(t){return/^tel:/.test(t)}function d(t){if(c(t))return t;const e=t.match(i),n=e?e[0]:"",r=o(t);return a.test(r)?t:r+".html"+n}function p(t,e){const n=decodeURIComponent(t.hash),r=function(t){const e=t.match(i);if(e)return e[0]}(e);if(r&&n!==r)return!1;return o(t.path)===o(e)}function f(t,e,n){if(c(e))return{type:"external",path:e};n&&(e=function(t,e,n){const i=t.charAt(0);if("/"===i)return t;if("?"===i||"#"===i)return e+t;const r=e.split("/");n&&r[r.length-1]||r.pop();const a=t.replace(/^\//,"").split("/");for(let t=0;tfunction t(e,n,i,r=1){if("string"==typeof e)return f(n,e,i);if(Array.isArray(e))return Object.assign(f(n,e[0],i),{title:e[1]});{const a=e.children||[];return 0===a.length&&e.path?Object.assign(f(n,e.path,i),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:a.map(e=>t(e,n,i,r+1)),collapsable:!1!==e.collapsable}}}(t,r,n)):[]}return[]}function g(t){const e=m(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}))}]}function m(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(t=>2===t.level)}function b(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},247:function(t,e){t.exports=function(t){return null==t}},249:function(t,e,n){},260:function(t,e,n){"use strict";n(249)},268:function(t,e,n){"use strict";n.r(e);var i=n(247),r=n.n(i),a=n(240),s={name:"PageEdit",computed:{lastUpdated(){return this.$page.lastUpdated},lastUpdatedText(){return"string"==typeof this.$themeLocaleConfig.lastUpdated?this.$themeLocaleConfig.lastUpdated:"string"==typeof this.$site.themeConfig.lastUpdated?this.$site.themeConfig.lastUpdated:"Last Updated"},editLink(){const t=r()(this.$page.frontmatter.editLink)?this.$site.themeConfig.editLinks:this.$page.frontmatter.editLink,{repo:e,docsDir:n="",docsBranch:i="master",docsRepo:a=e}=this.$site.themeConfig;return t&&a&&this.$page.relativePath?this.createEditLink(e,a,n,i,this.$page.relativePath):null},editLinkText(){return this.$themeLocaleConfig.editLinkText||this.$site.themeConfig.editLinkText||"Edit this page"}},methods:{createEditLink(t,e,n,i,r){if(/bitbucket.org/.test(e)){return e.replace(a.a,"")+"/src"+`/${i}/`+(n?n.replace(a.a,"")+"/":"")+r+`?mode=edit&spa=0&at=${i}&fileviewer=file-view-default`}if(/gitlab.com/.test(e)){return e.replace(a.a,"")+"/-/edit"+`/${i}/`+(n?n.replace(a.a,"")+"/":"")+r}return(a.i.test(e)?e:"https://github.com/"+e).replace(a.a,"")+"/edit"+`/${i}/`+(n?n.replace(a.a,"")+"/":"")+r}}},o=(n(260),n(14)),c=Object(o.a)(s,(function(){var t=this,e=t._self._c;return e("footer",{staticClass:"page-edit"},[t.editLink?e("div",{staticClass:"edit-link"},[e("a",{attrs:{href:t.editLink,target:"_blank",rel:"noopener noreferrer"}},[t._v(t._s(t.editLinkText))]),t._v(" "),e("OutboundLink")],1):t._e(),t._v(" "),t.lastUpdated?e("div",{staticClass:"last-updated"},[e("span",{staticClass:"prefix"},[t._v(t._s(t.lastUpdatedText)+":")]),t._v(" "),e("span",{staticClass:"time"},[t._v(t._s(t.lastUpdated))])]):t._e()])}),[],!1,null,null,null);e.default=c.exports}}]); \ No newline at end of file diff --git a/assets/js/18.a01b6027.js b/assets/js/18.a01b6027.js new file mode 100644 index 000000000..8358b420d --- /dev/null +++ b/assets/js/18.a01b6027.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{240:function(t,e,n){"use strict";n.d(e,"d",(function(){return r})),n.d(e,"a",(function(){return a})),n.d(e,"i",(function(){return s})),n.d(e,"f",(function(){return o})),n.d(e,"g",(function(){return c})),n.d(e,"h",(function(){return l})),n.d(e,"b",(function(){return p})),n.d(e,"e",(function(){return f})),n.d(e,"k",(function(){return d})),n.d(e,"l",(function(){return h})),n.d(e,"c",(function(){return g})),n.d(e,"j",(function(){return m}));n(90);const r=/#.*$/,i=/\.(md|html)$/,a=/\/$/,s=/^[a-z]+:/i;function u(t){return decodeURI(t).replace(r,"").replace(i,"")}function o(t){return s.test(t)}function c(t){return/^mailto:/.test(t)}function l(t){return/^tel:/.test(t)}function p(t){if(o(t))return t;const e=t.match(r),n=e?e[0]:"",i=u(t);return a.test(i)?t:i+".html"+n}function f(t,e){const n=decodeURIComponent(t.hash),i=function(t){const e=t.match(r);if(e)return e[0]}(e);if(i&&n!==i)return!1;return u(t.path)===u(e)}function d(t,e,n){if(o(e))return{type:"external",path:e};n&&(e=function(t,e,n){const r=t.charAt(0);if("/"===r)return t;if("?"===r||"#"===r)return e+t;const i=e.split("/");n&&i[i.length-1]||i.pop();const a=t.replace(/^\//,"").split("/");for(let t=0;tfunction t(e,n,r,i=1){if("string"==typeof e)return d(n,e,r);if(Array.isArray(e))return Object.assign(d(n,e[0],r),{title:e[1]});{const a=e.children||[];return 0===a.length&&e.path?Object.assign(d(n,e.path,r),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:a.map(e=>t(e,n,r,i+1)),collapsable:!1!==e.collapsable}}}(t,i,n)):[]}return[]}function b(t){const e=g(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}))}]}function g(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(t=>2===t.level)}function m(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},246:function(t,e,n){},253:function(t,e,n){"use strict";n(246)},256:function(t,e,n){"use strict";n.r(e);var r=n(240);function i(t,e,n,r,i){const a={props:{to:e,activeClass:"",exactActiveClass:""},class:{active:r,"sidebar-link":!0}};return i>2&&(a.style={"padding-left":i+"rem"}),t("RouterLink",a,n)}function a(t,e,n,s,u,o=1){return!e||o>u?null:t("ul",{class:"sidebar-sub-headers"},e.map(e=>{const c=Object(r.e)(s,n+"#"+e.slug);return t("li",{class:"sidebar-sub-header"},[i(t,n+"#"+e.slug,e.title,c,e.level-1),a(t,e.children,n,s,u,o+1)])}))}var s={functional:!0,props:["item","sidebarDepth"],render(t,{parent:{$page:e,$site:n,$route:s,$themeConfig:u,$themeLocaleConfig:o},props:{item:c,sidebarDepth:l}}){const p=Object(r.e)(s,c.path),f="auto"===c.type?p||c.children.some(t=>Object(r.e)(s,c.basePath+"#"+t.slug)):p,d="external"===c.type?function(t,e,n){return t("a",{attrs:{href:e,target:"_blank",rel:"noopener noreferrer"},class:{"sidebar-link":!0}},[n,t("OutboundLink")])}(t,c.path,c.title||c.path):i(t,c.path,c.title||c.path,f),h=[e.frontmatter.sidebarDepth,l,o.sidebarDepth,u.sidebarDepth,1].find(t=>void 0!==t),b=o.displayAllHeaders||u.displayAllHeaders;if("auto"===c.type)return[d,a(t,c.children,c.basePath,s,h)];if((f||b)&&c.headers&&!r.d.test(c.path)){return[d,a(t,Object(r.c)(c.headers),c.path,s,h)]}return d}},u=(n(253),n(14)),o=Object(u.a)(s,void 0,void 0,!1,null,null,null);e.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/19.d81a04ea.js b/assets/js/19.d81a04ea.js new file mode 100644 index 000000000..8a3fb4f4f --- /dev/null +++ b/assets/js/19.d81a04ea.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{241:function(t,e,n){},243:function(t,e,n){"use strict";n.r(e);var s={name:"DropdownTransition",methods:{setHeight(t){t.style.height=t.scrollHeight+"px"},unsetHeight(t){t.style.height=""}}},i=(n(244),n(14)),o=Object(i.a)(s,(function(){return(0,this._self._c)("transition",{attrs:{name:"dropdown"},on:{enter:this.setHeight,"after-enter":this.unsetHeight,"before-leave":this.setHeight}},[this._t("default")],2)}),[],!1,null,null,null);e.default=o.exports},244:function(t,e,n){"use strict";n(241)}}]); \ No newline at end of file diff --git a/assets/js/2.4b11aea0.js b/assets/js/2.4b11aea0.js new file mode 100644 index 000000000..7bee8d3fa --- /dev/null +++ b/assets/js/2.4b11aea0.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{246:function(t,e,a){},247:function(t,e){t.exports=function(t){return null==t}},249:function(t,e,a){},250:function(t,e,a){},251:function(t,e,a){},253:function(t,e,a){"use strict";a(246)},254:function(t,e,a){"use strict";a.r(e);var n=a(267),s=a(256),i=a(240);function r(t,e){if("group"===e.type){const a=e.path&&Object(i.e)(t,e.path),n=e.children.some(e=>"group"===e.type?r(t,e):"page"===e.type&&Object(i.e)(t,e.path));return a||n}return!1}var o={name:"SidebarLinks",components:{SidebarGroup:n.default,SidebarLink:s.default},props:["items","depth","sidebarDepth","initialOpenGroupIndex"],data(){return{openGroupIndex:this.initialOpenGroupIndex||0}},watch:{$route(){this.refreshIndex()}},created(){this.refreshIndex()},methods:{refreshIndex(){const t=function(t,e){for(let a=0;a-1&&(this.openGroupIndex=t)},toggleGroup(t){this.openGroupIndex=t===this.openGroupIndex?-1:t},isActive(t){return Object(i.e)(this.$route,t.regularPath)}}},l=a(14),u=Object(l.a)(o,(function(){var t=this,e=t._self._c;return t.items.length?e("ul",{staticClass:"sidebar-links"},t._l(t.items,(function(a,n){return e("li",{key:n},["group"===a.type?e("SidebarGroup",{attrs:{item:a,open:n===t.openGroupIndex,collapsable:a.collapsable||a.collapsible,depth:t.depth},on:{toggle:function(e){return t.toggleGroup(n)}}}):e("SidebarLink",{attrs:{"sidebar-depth":t.sidebarDepth,item:a}})],1)})),0):t._e()}),[],!1,null,null,null);e.default=u.exports},256:function(t,e,a){"use strict";a.r(e);var n=a(240);function s(t,e,a,n,s){const i={props:{to:e,activeClass:"",exactActiveClass:""},class:{active:n,"sidebar-link":!0}};return s>2&&(i.style={"padding-left":s+"rem"}),t("RouterLink",i,a)}function i(t,e,a,r,o,l=1){return!e||l>o?null:t("ul",{class:"sidebar-sub-headers"},e.map(e=>{const u=Object(n.e)(r,a+"#"+e.slug);return t("li",{class:"sidebar-sub-header"},[s(t,a+"#"+e.slug,e.title,u,e.level-1),i(t,e.children,a,r,o,l+1)])}))}var r={functional:!0,props:["item","sidebarDepth"],render(t,{parent:{$page:e,$site:a,$route:r,$themeConfig:o,$themeLocaleConfig:l},props:{item:u,sidebarDepth:c}}){const p=Object(n.e)(r,u.path),d="auto"===u.type?p||u.children.some(t=>Object(n.e)(r,u.basePath+"#"+t.slug)):p,h="external"===u.type?function(t,e,a){return t("a",{attrs:{href:e,target:"_blank",rel:"noopener noreferrer"},class:{"sidebar-link":!0}},[a,t("OutboundLink")])}(t,u.path,u.title||u.path):s(t,u.path,u.title||u.path,d),f=[e.frontmatter.sidebarDepth,c,l.sidebarDepth,o.sidebarDepth,1].find(t=>void 0!==t),b=l.displayAllHeaders||o.displayAllHeaders;if("auto"===u.type)return[h,i(t,u.children,u.basePath,r,f)];if((d||b)&&u.headers&&!n.d.test(u.path)){return[h,i(t,Object(n.c)(u.headers),u.path,r,f)]}return h}},o=(a(253),a(14)),l=Object(o.a)(r,void 0,void 0,!1,null,null,null);e.default=l.exports},257:function(t,e,a){},260:function(t,e,a){"use strict";a(249)},261:function(t,e,a){var n=a(11),s=a(4),i=a(10);t.exports=function(t){return"string"==typeof t||!s(t)&&i(t)&&"[object String]"==n(t)}},262:function(t,e,a){"use strict";a(250)},263:function(t,e,a){},264:function(t,e,a){"use strict";a(251)},265:function(t,e,a){},267:function(t,e,a){"use strict";a.r(e);var n=a(240),s={name:"SidebarGroup",components:{DropdownTransition:a(243).default},props:["item","open","collapsable","depth"],beforeCreate(){this.$options.components.SidebarLinks=a(254).default},methods:{isActive:n.e}},i=(a(264),a(14)),r=Object(i.a)(s,(function(){var t=this,e=t._self._c;return e("section",{staticClass:"sidebar-group",class:[{collapsable:t.collapsable,"is-sub-group":0!==t.depth},"depth-"+t.depth]},[t.item.path?e("RouterLink",{staticClass:"sidebar-heading clickable",class:{open:t.open,active:t.isActive(t.$route,t.item.path)},attrs:{to:t.item.path},nativeOn:{click:function(e){return t.$emit("toggle")}}},[e("span",[t._v(t._s(t.item.title))]),t._v(" "),t.collapsable?e("span",{staticClass:"arrow",class:t.open?"down":"right"}):t._e()]):e("p",{staticClass:"sidebar-heading",class:{open:t.open},on:{click:function(e){return t.$emit("toggle")}}},[e("span",[t._v(t._s(t.item.title))]),t._v(" "),t.collapsable?e("span",{staticClass:"arrow",class:t.open?"down":"right"}):t._e()]),t._v(" "),e("DropdownTransition",[t.open||!t.collapsable?e("SidebarLinks",{staticClass:"sidebar-group-items",attrs:{items:t.item.children,"sidebar-depth":t.item.sidebarDepth,"initial-open-group-index":t.item.initialOpenGroupIndex,depth:t.depth+1}}):t._e()],1)],1)}),[],!1,null,null,null);e.default=r.exports},268:function(t,e,a){"use strict";a.r(e);var n=a(247),s=a.n(n),i=a(240),r={name:"PageEdit",computed:{lastUpdated(){return this.$page.lastUpdated},lastUpdatedText(){return"string"==typeof this.$themeLocaleConfig.lastUpdated?this.$themeLocaleConfig.lastUpdated:"string"==typeof this.$site.themeConfig.lastUpdated?this.$site.themeConfig.lastUpdated:"Last Updated"},editLink(){const t=s()(this.$page.frontmatter.editLink)?this.$site.themeConfig.editLinks:this.$page.frontmatter.editLink,{repo:e,docsDir:a="",docsBranch:n="master",docsRepo:i=e}=this.$site.themeConfig;return t&&i&&this.$page.relativePath?this.createEditLink(e,i,a,n,this.$page.relativePath):null},editLinkText(){return this.$themeLocaleConfig.editLinkText||this.$site.themeConfig.editLinkText||"Edit this page"}},methods:{createEditLink(t,e,a,n,s){if(/bitbucket.org/.test(e)){return e.replace(i.a,"")+"/src"+`/${n}/`+(a?a.replace(i.a,"")+"/":"")+s+`?mode=edit&spa=0&at=${n}&fileviewer=file-view-default`}if(/gitlab.com/.test(e)){return e.replace(i.a,"")+"/-/edit"+`/${n}/`+(a?a.replace(i.a,"")+"/":"")+s}return(i.i.test(e)?e:"https://github.com/"+e).replace(i.a,"")+"/edit"+`/${n}/`+(a?a.replace(i.a,"")+"/":"")+s}}},o=(a(260),a(14)),l=Object(o.a)(r,(function(){var t=this,e=t._self._c;return e("footer",{staticClass:"page-edit"},[t.editLink?e("div",{staticClass:"edit-link"},[e("a",{attrs:{href:t.editLink,target:"_blank",rel:"noopener noreferrer"}},[t._v(t._s(t.editLinkText))]),t._v(" "),e("OutboundLink")],1):t._e(),t._v(" "),t.lastUpdated?e("div",{staticClass:"last-updated"},[e("span",{staticClass:"prefix"},[t._v(t._s(t.lastUpdatedText)+":")]),t._v(" "),e("span",{staticClass:"time"},[t._v(t._s(t.lastUpdated))])]):t._e()])}),[],!1,null,null,null);e.default=l.exports},269:function(t,e,a){"use strict";a.r(e);a(90);var n=a(240),s=a(261),i=a.n(s),r=a(247),o=a.n(r),l={name:"PageNav",props:["sidebarItems"],computed:{prev(){return c(u.PREV,this)},next(){return c(u.NEXT,this)}}};const u={NEXT:{resolveLink:function(t,e){return p(t,e,1)},getThemeLinkConfig:({nextLinks:t})=>t,getPageLinkConfig:({frontmatter:t})=>t.next},PREV:{resolveLink:function(t,e){return p(t,e,-1)},getThemeLinkConfig:({prevLinks:t})=>t,getPageLinkConfig:({frontmatter:t})=>t.prev}};function c(t,{$themeConfig:e,$page:a,$route:s,$site:r,sidebarItems:l}){const{resolveLink:u,getThemeLinkConfig:c,getPageLinkConfig:p}=t,d=c(e),h=p(a),f=o()(h)?d:h;return!1===f?void 0:i()(f)?Object(n.k)(r.pages,f,s.path):u(a,l)}function p(t,e,a){const n=[];!function t(e,a){for(let n=0,s=e.length;n({isSidebarOpen:!1}),computed:{shouldShowNavbar(){const{themeConfig:t}=this.$site,{frontmatter:e}=this.$page;return!1!==e.navbar&&!1!==t.navbar&&(this.$title||t.logo||t.repo||t.nav||this.$themeLocaleConfig.nav)},shouldShowSidebar(){const{frontmatter:t}=this.$page;return!t.home&&!1!==t.sidebar&&this.sidebarItems.length},sidebarItems(){return Object(o.l)(this.$page,this.$page.regularPath,this.$site,this.$localePath)},pageClasses(){const t=this.$page.frontmatter.pageClass;return[{"no-navbar":!this.shouldShowNavbar,"sidebar-open":this.isSidebarOpen,"no-sidebar":!this.shouldShowSidebar},t]}},mounted(){this.$router.afterEach(()=>{this.isSidebarOpen=!1})},methods:{toggleSidebar(t){this.isSidebarOpen="boolean"==typeof t?t:!this.isSidebarOpen,this.$emit("toggle-sidebar",this.isSidebarOpen)},onTouchStart(t){this.touchStart={x:t.changedTouches[0].clientX,y:t.changedTouches[0].clientY}},onTouchEnd(t){const e=t.changedTouches[0].clientX-this.touchStart.x,a=t.changedTouches[0].clientY-this.touchStart.y;Math.abs(e)>Math.abs(a)&&Math.abs(e)>40&&(e>0&&this.touchStart.x<=80?this.toggleSidebar(!0):this.toggleSidebar(!1))}}},u=a(14),c=Object(u.a)(l,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"theme-container",class:t.pageClasses,on:{touchstart:t.onTouchStart,touchend:t.onTouchEnd}},[t.shouldShowNavbar?e("Navbar",{on:{"toggle-sidebar":t.toggleSidebar}}):t._e(),t._v(" "),e("div",{staticClass:"sidebar-mask",on:{click:function(e){return t.toggleSidebar(!1)}}}),t._v(" "),e("Sidebar",{attrs:{items:t.sidebarItems},on:{"toggle-sidebar":t.toggleSidebar},scopedSlots:t._u([{key:"top",fn:function(){return[t._t("sidebar-top")]},proxy:!0},{key:"bottom",fn:function(){return[t._t("sidebar-bottom")]},proxy:!0}],null,!0)}),t._v(" "),t.$page.frontmatter.home?e("Home"):e("Page",{attrs:{"sidebar-items":t.sidebarItems},scopedSlots:t._u([{key:"top",fn:function(){return[t._t("page-top")]},proxy:!0},{key:"bottom",fn:function(){return[t._t("page-bottom")]},proxy:!0}],null,!0)})],1)}),[],!1,null,null,null);e.default=c.exports}}]); \ No newline at end of file diff --git a/assets/js/20.f40d9d31.js b/assets/js/20.f40d9d31.js new file mode 100644 index 000000000..980b35fdd --- /dev/null +++ b/assets/js/20.f40d9d31.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{259:function(t,c,n){},271:function(t,c,n){"use strict";n(259)},284:function(t,c,n){"use strict";n.r(c);n(271);var i=n(14),s=Object(i.a)({},(function(){var t=this,c=t._self._c;return c("div",{staticClass:"sidebar-button",on:{click:function(c){return t.$emit("toggle-sidebar")}}},[c("svg",{staticClass:"icon",attrs:{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",viewBox:"0 0 448 512"}},[c("path",{attrs:{fill:"currentColor",d:"M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"}})])])}),[],!1,null,null,null);c.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/21.030f452a.js b/assets/js/21.030f452a.js new file mode 100644 index 000000000..1d9ca6dca --- /dev/null +++ b/assets/js/21.030f452a.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{240:function(t,n,e){"use strict";e.d(n,"d",(function(){return r})),e.d(n,"a",(function(){return s})),e.d(n,"i",(function(){return u})),e.d(n,"f",(function(){return a})),e.d(n,"g",(function(){return l})),e.d(n,"h",(function(){return c})),e.d(n,"b",(function(){return f})),e.d(n,"e",(function(){return h})),e.d(n,"k",(function(){return p})),e.d(n,"l",(function(){return d})),e.d(n,"c",(function(){return b})),e.d(n,"j",(function(){return m}));e(90);const r=/#.*$/,i=/\.(md|html)$/,s=/\/$/,u=/^[a-z]+:/i;function o(t){return decodeURI(t).replace(r,"").replace(i,"")}function a(t){return u.test(t)}function l(t){return/^mailto:/.test(t)}function c(t){return/^tel:/.test(t)}function f(t){if(a(t))return t;const n=t.match(r),e=n?n[0]:"",i=o(t);return s.test(i)?t:i+".html"+e}function h(t,n){const e=decodeURIComponent(t.hash),i=function(t){const n=t.match(r);if(n)return n[0]}(n);if(i&&e!==i)return!1;return o(t.path)===o(n)}function p(t,n,e){if(a(n))return{type:"external",path:n};e&&(n=function(t,n,e){const r=t.charAt(0);if("/"===r)return t;if("?"===r||"#"===r)return n+t;const i=n.split("/");e&&i[i.length-1]||i.pop();const s=t.replace(/^\//,"").split("/");for(let t=0;tfunction t(n,e,r,i=1){if("string"==typeof n)return p(e,n,r);if(Array.isArray(n))return Object.assign(p(e,n[0],r),{title:n[1]});{const s=n.children||[];return 0===s.length&&n.path?Object.assign(p(e,n.path,r),{title:n.title}):{type:"group",path:n.path,title:n.title,sidebarDepth:n.sidebarDepth,initialOpenGroupIndex:n.initialOpenGroupIndex,children:s.map(n=>t(n,e,r,i+1)),collapsable:!1!==n.collapsable}}}(t,i,e)):[]}return[]}function g(t){const n=b(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:n.map(n=>({type:"auto",title:n.title,basePath:t.path,path:t.path+"#"+n.slug,children:n.children||[]}))}]}function b(t){let n;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?n=t:n&&(n.children||(n.children=[])).push(t)}),t.filter(t=>2===t.level)}function m(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},242:function(t,n,e){"use strict";e.r(n);var r=e(240),i={name:"NavLink",props:{item:{required:!0}},computed:{link(){return Object(r.b)(this.item.link)},exact(){return this.$site.locales?Object.keys(this.$site.locales).some(t=>t===this.link):"/"===this.link},isNonHttpURI(){return Object(r.g)(this.link)||Object(r.h)(this.link)},isBlankTarget(){return"_blank"===this.target},isInternal(){return!Object(r.f)(this.link)&&!this.isBlankTarget},target(){return this.isNonHttpURI?null:this.item.target?this.item.target:Object(r.f)(this.link)?"_blank":""},rel(){return this.isNonHttpURI||!1===this.item.rel?null:this.item.rel?this.item.rel:this.isBlankTarget?"noopener noreferrer":null}},methods:{focusoutAction(){this.$emit("focusout")}}},s=e(14),u=Object(s.a)(i,(function(){var t=this,n=t._self._c;return t.isInternal?n("RouterLink",{staticClass:"nav-link",attrs:{to:t.link,exact:t.exact},nativeOn:{focusout:function(n){return t.focusoutAction.apply(null,arguments)}}},[t._v("\n "+t._s(t.item.text)+"\n")]):n("a",{staticClass:"nav-link external",attrs:{href:t.link,target:t.target,rel:t.rel},on:{focusout:t.focusoutAction}},[t._v("\n "+t._s(t.item.text)+"\n "),t.isBlankTarget?n("OutboundLink"):t._e()],1)}),[],!1,null,null,null);n.default=u.exports}}]); \ No newline at end of file diff --git a/assets/js/22.d1b28e29.js b/assets/js/22.d1b28e29.js new file mode 100644 index 000000000..2ffddecd4 --- /dev/null +++ b/assets/js/22.d1b28e29.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{295:function(e,a,t){e.exports=t.p+"assets/img/almalinux-install-source.21eb642f.png"},371:function(e,a,t){"use strict";t.r(a);var s=t(14),n=Object(s.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"almalinux-8-3-beta-release-notes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-8-3-beta-release-notes"}},[e._v("#")]),e._v(" AlmaLinux 8.3 Beta release notes")]),e._v(" "),a("p",[e._v("The release code name: Purple "),a("a",{attrs:{href:"https://en.wikipedia.org/wiki/Pallas%27s_cat",target:"_blank",rel:"noopener noreferrer"}},[e._v("Manul"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("CloudLinux is proud to present the beta version of AlmaLinux. After roughly a month and a half from the announcement, here is a 1:1 RHEL binary compatible replacement for your RHEL-based systems.")]),e._v(" "),a("p",[e._v("This is for the community and by the community, you're the soul of Linux. Thank you for your interest and suggestions so far, keep them coming.")]),e._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),a("p",[e._v("Use this version to thoroughly test your workloads and report any unintended features (ie, bugs) you may find, it will help make AlmaLinux better.")])]),e._v(" "),a("h2",{attrs:{id:"installation-instructions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#installation-instructions"}},[e._v("#")]),e._v(" Installation instructions")]),e._v(" "),a("p",[e._v("There are three installation ISO images available:")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-8.3-beta-1-x86_64-boot.iso")]),e._v(" - a single network installation CD image that downloads packages over the Internet.")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-8.3-beta-1-x86_64-minimal.iso")]),e._v(" - a minimal self-containing DVD image that makes possible offline installation.")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-8.3-beta-1-x86_64-dvd1.iso")]),e._v(" - a full installation DVD image that contains mostly all AlmaLinux packages. We don't really recommend using it unless you need to set up and use AlmaLinux on a machine without internet access.")]),e._v(" "),a("p",[e._v("Download a preferable ISO image and verify its checksum. Here is an example for GNU/Linux:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# download and import the AlmaLinux public key")]),e._v("\n$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux\n$ gpg "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" RPM-GPG-KEY-AlmaLinux\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# download a checksums list")]),e._v("\n$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/8.3-beta/isos/x86_64/CHECKSUM\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# verify the checksums list, we are looking for “Good signature”")]),e._v("\n$ gpg "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--verify")]),e._v(" CHECKSUM \ngpg: Signature made Thu "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("28")]),e._v(" Jan "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("2021")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("11")]),e._v(":39:12 PM MSK\ngpg: using RSA key 51D6647EC21AD6EA\ngpg: Good signature from "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux "')]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("unknown"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\ngpg: WARNING: This key is not certified with a trusted signature"),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("!")]),e._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: 5E9B 8F56 17B5 066C E920 57C3 488F CF7C 3ABB 34F8\n Subkey fingerprint: E53C F5EF 91CE B0AD "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("1812")]),e._v(" ECB8 51D6 647E C21A D6EA\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# download the network install ISO")]),e._v("\n$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/8.3-beta/isos/x86_64/AlmaLinux-8.3-beta-1-x86_64-boot.iso\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# calculate the downloaded ISO SHA256 checksum")]),e._v("\n$ sha256sum AlmaLinux-8.3-beta-1-x86_64-boot.iso \nd15be406f417e81382b46a54d87dff01c8ca770c847c18703f19146587b61a1f AlmaLinux-8.3-beta-1-x86_64-boot.iso\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# compare it with expected checksum, it should be the same")]),e._v("\n$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" CHECKSUM "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-E")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'SHA256.*AlmaLinux-8.3-beta-1-x86_64-boot.iso'")]),e._v("\nSHA256 "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("AlmaLinux-8.3-beta-1-x86_64-boot.iso"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" d15be406f417e81382b46a54d87dff01c8ca770c847c18703f19146587b61a1f\n")])])]),a("p",[e._v("If you decided to use the "),a("code",[e._v("AlmaLinux-8.3-beta-1-x86_64-boot.iso")]),e._v(" image, you\nwill need to provide this "),a("code",[e._v("https://repo.almalinux.org/almalinux/8.3-beta/BaseOS/x86_64/kickstart/")]),e._v("\nrepository as the Installation Source:")]),e._v(" "),a("p",[a("img",{attrs:{src:t(295),alt:"installation source"}})]),e._v(" "),a("p",[e._v("If you are going to install a non-minimal environment, you will need to add\nthe AppStream repository to the additional repositories:\n"),a("code",[e._v("https://repo.almalinux.org/almalinux/8.3-beta/AppStream/x86_64/os/")]),e._v(".")]),e._v(" "),a("p",[e._v("There are no extra Installation Sources required if you decided to go with\n"),a("code",[e._v("AlmaLinux-8.3-beta-1-x86_64-minimal.iso")]),e._v(" or\n"),a("code",[e._v("AlmaLinux-8.3-beta-1-x86_64-dvd1.iso")]),e._v(" images.")]),e._v(" "),a("h2",{attrs:{id:"how-to-set-up-a-usb-key-to-install-almalinux"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-to-set-up-a-usb-key-to-install-almalinux"}},[e._v("#")]),e._v(" How to set up a usb key to install AlmaLinux")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("dd")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("if")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v("AlmaLinux-8.3-beta-1-x86_64-boot.iso "),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("of")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v("/dev/sdX\n")])])]),a("p",[e._v("Where sdX is your usb device.")]),e._v(" "),a("h2",{attrs:{id:"known-issues"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#known-issues"}},[e._v("#")]),e._v(" Known issues")]),e._v(" "),a("ul",[a("li",[e._v("Our libreport/abrt packages aren’t integrated with the bugs.almalinux.org\nbug-tracker yet, so a user will have to submit a crash report manually.\nIssue: "),a("a",{attrs:{href:"https://bugs.almalinux.org/view.php?id=2",target:"_blank",rel:"noopener noreferrer"}},[e._v("almbz#2"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("li",[e._v("The “perl:5.30” module support is incomplete in the beta release, it will\nbe finished in the stable.")]),e._v(" "),a("li",[e._v("We don’t have the latest “jmc” and “maven” module versions. They will be\nupdated later.")]),e._v(" "),a("li",[e._v("The “satellite-5-client” module is located in the BaseOS repository instead\nof the AppStream. Issue: "),a("a",{attrs:{href:"https://bugs.almalinux.org/view.php?id=4",target:"_blank",rel:"noopener noreferrer"}},[e._v("almbz#4"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("li",[e._v("There is no support for Secure Boot in the beta release. Issue:\n"),a("a",{attrs:{href:"https://bugs.almalinux.org/view.php?id=3",target:"_blank",rel:"noopener noreferrer"}},[e._v("almbz#3"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("li",[e._v("The debuginfo repositories are empty and will be populated in a couple of\ndays after the beta release.")])])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/23.45577f3a.js b/assets/js/23.45577f3a.js new file mode 100644 index 000000000..d44f065ba --- /dev/null +++ b/assets/js/23.45577f3a.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{312:function(t,e,r){"use strict";r.r(e);var a=r(14),n=Object(a.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"enterprise-linux-comparison"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#enterprise-linux-comparison"}},[t._v("#")]),t._v(" Enterprise Linux Comparison")]),t._v(" "),e("h6",{attrs:{id:"last-updated-2024-09-09"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#last-updated-2024-09-09"}},[t._v("#")]),t._v(" Last updated 2024-09-09")]),t._v(" "),e("p",[t._v("When deciding what OS to use, there are many factors that come into play for a variety of reasons. This page attempts to outline some of the specific differences, while focusing on the reasons that many in the AlmaLinux community have cited as the reasons they pick AlmaLinux. The enterprise linux ecosystem is vast and has many differentiators that are nuanced, hard to articulated, and don't fit easily into charts, but we have attempted to capture some of the differentiations below.")]),t._v(" "),e("h2",{attrs:{id:"build-sources"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#build-sources"}},[t._v("#")]),t._v(" Build Sources")]),t._v(" "),e("p",[t._v("In June of 2023 Red Hat announced that they would no longer be shipping their sources for Red Hat Enterprise Linux (RHEL) to git.centos.org, and would be limiting access to RHEL's sources to their customers. As a result of that change, we adjusted where we get our sources to match where RHEL gets its source. AlmaLinux utilizes package sources from both RHEL and CentOS Stream to build its distribution, in addition to other upstream sources, ensuring that our operating system remains stable and safe to use for our users.")]),t._v(" "),e("p",[e("img",{attrs:{src:"/images/2023.updated.almafedoraRedhatoverview.png",alt:"Build pipeline image"}})]),t._v(" "),e("p",[t._v("You can hear specifics about how AlmaLinux is built today in "),e("a",{attrs:{href:"https://www.youtube.com/watch?v=aMvI5E9-LYI",target:"_blank",rel:"noopener noreferrer"}},[t._v("this presentation"),e("OutboundLink")],1),t._v(" from AlmaLinux Day: Germany, in March of 2024.")]),t._v(" "),e("p",[t._v("Rocky Linux outlined where they would be getting their sources in "),e("a",{attrs:{href:"https://rockylinux.org/news/keeping-open-source-open",target:"_blank",rel:"noopener noreferrer"}},[t._v("a blog post after the shift"),e("OutboundLink")],1),t._v(".")]),t._v(" "),e("h2",{attrs:{id:"ownership"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#ownership"}},[t._v("#")]),t._v(" Ownership")]),t._v(" "),e("p",[t._v("AlmaLinux is wholly owned by the AlmaLinux OS Foundation, a non-profit organization founded in the US. Red Hat and Oracle are both for-profit corporations, and the "),e("a",{attrs:{href:"https://www.resf.org/faq/is-resf-nonprofit",target:"_blank",rel:"noopener noreferrer"}},[t._v("Rocky Enterprise Software Foundation"),e("OutboundLink")],1),t._v(" is a "),e("a",{attrs:{href:"https://en.wikipedia.org/wiki/Benefit_corporation",target:"_blank",rel:"noopener noreferrer"}},[t._v("B-Corp"),e("OutboundLink")],1),t._v(".")]),t._v(" "),e("p",[t._v("At the outset, it was important to the founding members of the AlmaLinux OS project to set the structure around the project in such a way that it is nearly impossible for bad actors to take control of the project and use it for personal gain. The project needed to be able to operate with a single mission: its community. While corporate social responsibility is a noble aim, the B Corp option wasn’t a good fit as it didn’t comply with AlmaLinux’s ‘north star’ of putting ownership of the OS, the IP, and the project’s direction in the hands of the community.")]),t._v(" "),e("h2",{attrs:{id:"technical-breakdown"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#technical-breakdown"}},[t._v("#")]),t._v(" Technical breakdown")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"left"}},[t._v("Benchmarking against RHEL")]),t._v(" "),e("th",[t._v("AlmaLinux OS")]),t._v(" "),e("th",[t._v("Oracle Linux")]),t._v(" "),e("th",[t._v("Rocky Linux")]),t._v(" "),e("th",[t._v("CentOS Stream")]),t._v(" "),e("th",[t._v("RHEL")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("First release")]),t._v(" "),e("td",[e("a",{attrs:{href:"https://almalinux.org/blog/almalinux-os-stable-release-is-live/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Mar. '21, AlmaLinux 8.3"),e("OutboundLink")],1)]),t._v(" "),e("td",[t._v("Oct. 2006")]),t._v(" "),e("td",[e("a",{attrs:{href:"https://rockylinux.org/news/rocky-linux-8-4-ga-release",target:"_blank",rel:"noopener noreferrer"}},[t._v("June '21, Rocky Linux 8.4"),e("OutboundLink")],1)]),t._v(" "),e("td",[e("a",{attrs:{href:"https://lists.centos.org/pipermail/centos-announce/2019-September/023449.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("Sept. '19, Stream 8.0"),e("OutboundLink")],1)]),t._v(" "),e("td",[t._v("Mar. 2002")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("RHEL compatibility")]),t._v(" "),e("td",[t._v("minor version**")]),t._v(" "),e("td",[t._v("minor version**")]),t._v(" "),e("td",[t._v("minor version**")]),t._v(" "),e("td",[t._v("major version*")]),t._v(" "),e("td",[t._v("n/a")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("Last minor version release delay")]),t._v(" "),e("td",[e("a",{attrs:{href:"https://almalinux.org/blog/2024-05-06-announcing-94-stable/",target:"_blank",rel:"noopener noreferrer"}},[t._v("5 days"),e("OutboundLink")],1)]),t._v(" "),e("td",[e("a",{attrs:{href:"https://docs.oracle.com/en/operating-systems/oracle-linux/9/relnotes9.4/",target:"_blank",rel:"noopener noreferrer"}},[t._v("6 days"),e("OutboundLink")],1)]),t._v(" "),e("td",[e("a",{attrs:{href:"https://rockylinux.org/news/rocky-linux-9-4-ga-release",target:"_blank",rel:"noopener noreferrer"}},[t._v("8 days"),e("OutboundLink")],1)]),t._v(" "),e("td",[t._v("n/a")]),t._v(" "),e("td",[t._v("n/a")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("Errata")]),t._v(" "),e("td",[e("a",{attrs:{href:"https://errata.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Yes"),e("OutboundLink")],1)]),t._v(" "),e("td",[t._v("Yes")]),t._v(" "),e("td",[t._v("Yes")]),t._v(" "),e("td",[t._v("No")]),t._v(" "),e("td",[t._v("Yes")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("Lifecycle")]),t._v(" "),e("td",[t._v("10 Years")]),t._v(" "),e("td",[t._v("10 Years")]),t._v(" "),e("td",[t._v("10 Years")]),t._v(" "),e("td",[t._v("5.5 Years")]),t._v(" "),e("td",[t._v("10-14 years")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("Commercial support")]),t._v(" "),e("td",[t._v("3rd party")]),t._v(" "),e("td",[t._v("Oracle, 3rd parties")]),t._v(" "),e("td",[t._v("3rd party")]),t._v(" "),e("td",[t._v("3rd Party")]),t._v(" "),e("td",[t._v("1st party (Red Hat)")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("Livepatching service")]),t._v(" "),e("td",[t._v("KernelCare")]),t._v(" "),e("td",[t._v("Oracle Ksplice, KernelCare")]),t._v(" "),e("td",[t._v("KernelCare")]),t._v(" "),e("td",[t._v("Not available")]),t._v(" "),e("td",[t._v("kpatch")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("FIPS compliance***")]),t._v(" "),e("td",[e("a",{attrs:{href:"https://almalinux.org/blog/2023-09-19-fips-validation-for-almalinux/",target:"_blank",rel:"noopener noreferrer"}},[t._v("140-3 for 9.2, 3rd party"),e("OutboundLink")],1)]),t._v(" "),e("td",[e("a",{attrs:{href:"https://www.oracle.com/corporate/security-practices/assurance/development/external-security-evaluations/fips/certifications.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("Many, 1st party"),e("OutboundLink")],1)]),t._v(" "),e("td",[e("a",{attrs:{href:"https://rockylinux.org/news/certifications-fips-2022-06-11",target:"_blank",rel:"noopener noreferrer"}},[t._v("Planned, via 3rd party"),e("OutboundLink")],1)]),t._v(" "),e("td",[t._v("Not available")]),t._v(" "),e("td",[e("a",{attrs:{href:"https://access.redhat.com/articles/compliance_activities_and_gov_standards#fips-140-2-and-fips-140-3-2",target:"_blank",rel:"noopener noreferrer"}},[t._v("Many, 1st party"),e("OutboundLink")],1)])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("Architectures (all: x86_64)")]),t._v(" "),e("td",[t._v("x86_64 (at launch) "),e("br"),t._v(" aarch64 (since "),e("a",{attrs:{href:"https://almalinux.org/blog/almalinux-os-8-4-for-arm-aarch64-now-available/",target:"_blank",rel:"noopener noreferrer"}},[t._v("8.4"),e("OutboundLink")],1),t._v(") "),e("br"),t._v(" ppc64le (since "),e("a",{attrs:{href:"https://almalinux.org/blog/almalinux-for-powerpc-85-stable-now-available/",target:"_blank",rel:"noopener noreferrer"}},[t._v("8.5"),e("OutboundLink")],1),t._v(")"),e("br"),t._v("s390x (since "),e("a",{attrs:{href:"https://almalinux.org/blog/how-we-built-almalinux-86-for-s390x/",target:"_blank",rel:"noopener noreferrer"}},[t._v("8.6"),e("OutboundLink")],1),t._v(")"),e("br")]),t._v(" "),e("td",[t._v("x86_64 "),e("br"),t._v(" aarch64")]),t._v(" "),e("td",[t._v("x86_64 "),e("br"),t._v("aarch64 (versions ≥ 9)"),e("br"),t._v(" ppc64le (versions ≥ 9)"),e("br"),t._v(" s390x (versions ≥ 9)")]),t._v(" "),e("td",[t._v("x86_64 "),e("br"),t._v("aarch64 "),e("br"),t._v(" ppc64le "),e("br"),t._v(" s390x")]),t._v(" "),e("td",[t._v("x86_64 "),e("br"),t._v("aarch64 "),e("br"),t._v(" ppc64le "),e("br"),t._v(" s390x")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"left"}},[t._v("Backing organization")]),t._v(" "),e("td",[t._v("AlmaLinux OS Foundation (501c6 non-profit)")]),t._v(" "),e("td",[e("a",{attrs:{href:"https://www.oracle.com/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Oracle, Inc."),e("OutboundLink")],1)]),t._v(" "),e("td",[t._v("Rocky Enterprise Software Foundation")]),t._v(" "),e("td",[e("a",{attrs:{href:"https://www.redhat.com/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Red Hat, Inc."),e("OutboundLink")],1)]),t._v(" "),e("td",[e("a",{attrs:{href:"https://www.centos.org/about/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Red Hat, Inc."),e("OutboundLink")],1)])])])]),t._v(" "),e("p",[t._v("* major version compatible: aims for compatibility with the corresponding major version of RHEL"),e("br"),t._v("\n** minor version compatible: aims for compatibility with the corresponding minor version of RHEL"),e("br"),t._v("\n*** achieving FIPs compliance is a very complex and multi-year process not easily represented here, but links to the most recent information are provided.")]),t._v(" "),e("p",[e("strong",[t._v("Note:")]),t._v(" Previous versions of this table included a row for SecureBoot, but all distros now offer it, so it was removed.")])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/24.9d285700.js b/assets/js/24.9d285700.js new file mode 100644 index 000000000..a3dc4408b --- /dev/null +++ b/assets/js/24.9d285700.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{306:function(e,t,a){"use strict";a.r(t);var n=a(14),s=Object(n.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h6",{attrs:{id:"last-updated-2024-03-25"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#last-updated-2024-03-25"}},[e._v("#")]),e._v(" last updated: 2024-03-25")]),e._v(" "),t("h1",{attrs:{id:"contribute-to-almalinux-documentation"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#contribute-to-almalinux-documentation"}},[e._v("#")]),e._v(" Contribute to AlmaLinux Documentation")]),e._v(" "),t("p",[e._v("If you are interested in contributing to AlmaLinux Wiki Documentation, we recommend you follow these guidelines.")]),e._v(" "),t("h2",{attrs:{id:"prerequisites"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#prerequisites"}},[e._v("#")]),e._v(" Prerequisites")]),e._v(" "),t("h3",{attrs:{id:"starting-the-process"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#starting-the-process"}},[e._v("#")]),e._v(" Starting the process")]),e._v(" "),t("p",[e._v("Before you start writing a wiki page/instruction or modifying an existing one, we strongly recommend:")]),e._v(" "),t("ul",[t("li",[e._v("Look through existing open and closed "),t("a",{attrs:{href:"https://github.com/AlmaLinux/wiki/issues",target:"_blank",rel:"noopener noreferrer"}},[e._v("issues"),t("OutboundLink")],1),e._v(" for similar content, to prevent duplication.")]),e._v(" "),t("li",[e._v("Open an "),t("a",{attrs:{href:"https://github.com/AlmaLinux/wiki/issues",target:"_blank",rel:"noopener noreferrer"}},[e._v("issue"),t("OutboundLink")],1),e._v(" on the repo to propose your content before you begin writing it to ensure that is appropriate for the AlmaLinux Wiki and to collaborate with the AlmaLinux OS Foundation, Team and Community.")])]),e._v(" "),t("p",[e._v("You are also welcome to discuss the content and share your feedback and thoughts in the "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/sigdocumentation",target:"_blank",rel:"noopener noreferrer"}},[e._v("Documentation Chat Channel"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h3",{attrs:{id:"setting-up-the-environment"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#setting-up-the-environment"}},[e._v("#")]),e._v(" Setting up the environment")]),e._v(" "),t("p",[e._v("The Wiki is powered by "),t("a",{attrs:{href:"https://vuepress.vuejs.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("VuePress"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("p",[e._v("The general process to contribute to the wiki includes these steps:")]),e._v(" "),t("ul",[t("li",[e._v("Fork the Wiki "),t("a",{attrs:{href:"https://github.com/AlmaLinux/wiki",target:"_blank",rel:"noopener noreferrer"}},[e._v("repository"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("li",[e._v("Clone your forked repository and navigate to its directory.")]),e._v(" "),t("li",[e._v("Create a new branch.")]),e._v(" "),t("li",[e._v("Edit or create a page.")]),e._v(" "),t("li",[e._v("Check your changes on the local wiki - see the steps below.")]),e._v(" "),t("li",[e._v("Commit your changes.")]),e._v(" "),t("li",[e._v("Create a pull-request to the master branch as described in the GitHub "),t("a",{attrs:{href:"https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request",target:"_blank",rel:"noopener noreferrer"}},[e._v("documentation"),t("OutboundLink")],1),e._v(".")])]),e._v(" "),t("p",[e._v("There are two ways to run the wiki locally to check your changes:")]),e._v(" "),t("p",[t("strong",[e._v("Please, note, most steps are suitable for all three Linux, Windows and macOS systems, but some commands may need some adjustments.")])]),e._v(" "),t("h4",{attrs:{id:"install-yarn"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#install-yarn"}},[e._v("#")]),e._v(" Install yarn")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("For Windows and macOS, you may need to install "),t("a",{attrs:{href:"https://nodejs.org/en",target:"_blank",rel:"noopener noreferrer"}},[e._v("nodejs"),t("OutboundLink")],1),e._v(" first.")])]),e._v(" "),t("ul",[t("li",[e._v("Install necessary dependencies:"),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("yarn")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("install")]),e._v("\n")])])])]),e._v(" "),t("li",[e._v("Run a development web-server:"),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("yarn")]),e._v(" docs:dev\n")])])])]),e._v(" "),t("li",[e._v("Your local Wiki instance should be up and running on\n"),t("a",{attrs:{href:"http://localhost:8080/",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://localhost:8080/"),t("OutboundLink")],1),e._v(".")])]),e._v(" "),t("h4",{attrs:{id:"use-a-container"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#use-a-container"}},[e._v("#")]),e._v(" Use a container")]),e._v(" "),t("p",[e._v("You can use a container engine like Podman or Docker to deploy a local development version of wiki inside a container.")]),e._v(" "),t("p",[t("strong",[e._v("Requirements:")]),e._v(" Docker or Podman")]),e._v(" "),t("ul",[t("li",[e._v("The wiki repository contains the "),t("code",[e._v("Containerfile")]),e._v(" file that is used to create a container image with development dependencies installed. The command to create the container image requires setting a container name which, for example, is "),t("em",[e._v("wiki_dev")]),e._v(":"),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[e._v("podman")]),e._v(" build "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-t")]),e._v(" wiki_dev "),t("span",{pre:!0,attrs:{class:"token builtin class-name"}},[e._v(".")]),e._v("\n")])])]),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("It's recommended to rebuild the container image if there is a change in the "),t("strong",[e._v("package.json")]),e._v(" file to make sure it matches the deployed version of "),t("code",[e._v("vuepress")]),e._v(".\nYou can do it either by removing the current one and building the new one documented above or by creating a new one with a different name without removing the old one.")]),e._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[e._v("podman")]),e._v(" rmi localhost/wiki_dev\n")])])])])]),e._v(" "),t("li",[e._v("Clean up the first stage container image:"),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[e._v("podman")]),e._v(" image prune "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--filter")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("label")]),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v("stage"),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v("auto-clean-stage1\n")])])])]),e._v(" "),t("li",[e._v("Now you can create a container from this image whenever is needed from the image that was built above and mount "),t("em",[e._v("docs")]),e._v(" to "),t("em",[e._v("/wiki/docs")]),e._v(" inside the container:"),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[e._v("podman")]),e._v(" run "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--name")]),e._v(" wiki_dev "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--rm")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-i")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-t")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-p")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("8080")]),e._v(":8080 "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-v")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"'),t("span",{pre:!0,attrs:{class:"token variable"}},[t("span",{pre:!0,attrs:{class:"token variable"}},[e._v("$(")]),t("span",{pre:!0,attrs:{class:"token builtin class-name"}},[e._v("pwd")]),t("span",{pre:!0,attrs:{class:"token variable"}},[e._v(")")])]),e._v('"')]),e._v("/docs:/wiki/docs:ro,z localhost/wiki_dev\n")])])]),e._v("The options of the command are:\n"),t("ul",[t("li",[t("code",[e._v("podman/docker")]),e._v(" - container engine")]),e._v(" "),t("li",[t("code",[e._v("run")]),e._v(" - create a container")]),e._v(" "),t("li",[t("code",[e._v("--name wiki_dev")]),e._v(" - name a container "),t("em",[e._v("wiki_dev")])]),e._v(" "),t("li",[t("code",[e._v("--rm")]),e._v(" - remove the container once it is stopped")]),e._v(" "),t("li",[t("code",[e._v("-i -t")]),e._v(" - an interactive terminal session where you can track the deployment process and check the logs. Stop it with "),t("code",[e._v("Ctrl+C")]),e._v(".")]),e._v(" "),t("li",[t("code",[e._v("-p 8080:8080")]),e._v(" - map the port number 8080 inside the container to 8080 on the host")]),e._v(" "),t("li",[t("code",[e._v('-v "$(pwd)"/docs:/wiki/docs:ro,z')]),e._v(" - mount "),t("code",[e._v("docs")]),e._v(" in the current directory on "),t("code",[e._v("/wiki/docs")]),e._v(" inside the container read-only (ro). "),t("strong",[t("code",[e._v(",z")]),e._v(" is needed only for systems that have SELinux.")])]),e._v(" "),t("li",[t("code",[e._v("localhost/wiki_dev")]),e._v(" - the name of the container image")])])]),e._v(" "),t("li",[e._v("The wiki instance should be up and running on "),t("a",{attrs:{href:"http://localhost:8080/",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://localhost:8080/"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("li",[e._v("Don't forget to stop the container when you've finished.")])]),e._v(" "),t("h2",{attrs:{id:"working-with-almalinux-documentation"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#working-with-almalinux-documentation"}},[e._v("#")]),e._v(" Working with AlmaLinux documentation")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("We kindly ask that all members respect each other's diverse skills and abilities by acknowledging and appreciating the unique contributions each person brings to the team. Remember to provide as much detail as possible when sharing your expertise to enhance understanding and collaboration among all members.")])]),e._v(" "),t("p",[e._v("AlmaLinux Wiki documentation is written with "),t("a",{attrs:{href:"https://www.markdownguide.org/basic-syntax/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Markdown"),t("OutboundLink")],1),e._v(". Some HTML elements can also be used.")]),e._v(" "),t("p",[e._v("All the content is located in the "),t("code",[e._v("/wiki/docs")]),e._v(" directory.")]),e._v(" "),t("p",[e._v("To create a new page:")]),e._v(" "),t("ul",[t("li",[e._v("Navigate to the "),t("code",[e._v("/wiki/docs")]),e._v(" directory.")]),e._v(" "),t("li",[e._v("Create a markdown file "),t("code",[e._v("page-name.md")]),e._v(" with a clear name that corresponds to the topic of the page.")]),e._v(" "),t("li",[e._v("In order to get a page displayed, enlist it in the "),t("strong",[e._v("config.js")]),e._v(" file that is located in the "),t("code",[e._v("/wiki/docs/.vuepress")]),e._v(" directory.")])]),e._v(" "),t("h3",{attrs:{id:"pages-style-guide"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#pages-style-guide"}},[e._v("#")]),e._v(" Pages style guide")]),e._v(" "),t("p",[e._v("When editing an existing page or writing a new one, we recommend you follow this style guide.")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("The top of the page should include meta data with the page title. It should match the file/page name and topic.")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("---\ntitle: ' '\n---\n")])])])]),e._v(" "),t("li",[t("p",[e._v("If applicable (for example, when creating a new guide), fill out the form below and place it as a table at the top of the page right after the title.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Experience Level")]),e._v(" "),t("th",[e._v("⭑⭑⭒⭒⭒ (Intermediate)")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("Last modified date")]),e._v(" "),t("td",[e._v("YYYY-MM-DD")])])])]),e._v(" "),t("ul",[t("li",[e._v("If possible, evaluate the level of skills and experience needed based on the target audience. Experience level options: Beginner, Intermediate, Advanced, Fluent and Proficient")]),e._v(" "),t("li",[e._v("Put the last modified or updated date below the experience level. The date format should go as "),t("strong",[e._v("YYYY-MM-DD")]),e._v(".")])])]),e._v(" "),t("li",[t("p",[e._v("If using this form is not applicable here, it's preferable to write right after the page title the date when the page was last modified. Please, stick, to the following format:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("###### last updated: YYYY-MM-DD\n")])])])]),e._v(" "),t("li",[t("p",[e._v("Write the content of the page using "),t("a",{attrs:{href:"https://www.markdownguide.org/basic-syntax/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Markdown syntax"),t("OutboundLink")],1),e._v(". Some HTML elements are also allowed.")]),e._v(" "),t("ul",[t("li",[e._v("It's recommended to use clear and simple language.")]),e._v(" "),t("li",[e._v("It's preferable to divide the content into sections, including these basic ones:\n"),t("ul",[t("li",[e._v("Introduction: stating what the page is about.")]),e._v(" "),t("li",[e._v("Body: describing all the instructions.")]),e._v(" "),t("li",[e._v("Version specific directions: Remember that AlmaLinux currently more than one supported major version. If the directions differ for each release, consider dividing your instructions for each supported version into separate sections.")]),e._v(" "),t("li",[e._v("Known caveats: If there are any known or popular issues, write them as a separate section.\nWe encourage images in guides, but please follow the below guidelines")])])]),e._v(" "),t("li",[e._v("If the page includes images, put them in the "),t("code",[e._v("/wiki/docs/.vuepress/public/images")]),e._v(" directory where all images are stored.")]),e._v(" "),t("li",[e._v("The image name should be clear to understand and match the topic subject it's related to.")]),e._v(" "),t("li",[e._v("The image should not violate any trademarks or copyrights and should be relevant to the content.")]),e._v(" "),t("li",[e._v("The image should not contain any personal information for security reasons.")]),e._v(" "),t("li",[e._v("The image should be a proper size that is clear to read.")]),e._v(" "),t("li",[e._v("The image will serve from "),t("code",[e._v("/images/")]),e._v(", so do not change the beginning of this path.")])])]),e._v(" "),t("li",[t("p",[e._v("All the commands (even separate ones) and code blocks should be formatted as code blocks, not as inline code:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("{your command(s)/code}\n")])])]),t("ul",[t("li",[e._v("If there's any example output/code/result, consider mentioning it right after according to the format below. Also, consider formatting it as a code block or as an image.")])]),e._v(" "),t("p",[t("strong",[e._v("An example output you may see:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("example\n")])])])]),e._v(" "),t("li",[t("p",[e._v("If there's anything to warn about or provide a tip, highlight it with markdown tips and warnings.")])]),e._v(" "),t("li",[t("p",[e._v("If there are trademarks mentioned on the page, we recommend writing "),t("strong",[e._v("Trademark notices")]),e._v(" at the bottom of the page.")])]),e._v(" "),t("li",[t("p",[e._v("Before committing the changes and creating a pull request, we also recommend to:")]),e._v(" "),t("ul",[t("li",[e._v("Make sure the page is displayed on the wiki correctly by running it on "),t("a",{attrs:{href:"http://localhost:8080/",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://localhost:8080/"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("li",[e._v("Look through the page to see if any cosmetic changes (typos, minor styling, etc) are needed.")])])])]),e._v(" "),t("h3",{attrs:{id:"review-process"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#review-process"}},[e._v("#")]),e._v(" Review process")]),e._v(" "),t("p",[e._v("Any member of the AlmaLinux OS Foundation, Team and Community can take part in the review process and request any changes or updates.\nMerging the content is under the AlmaLinux OS Foundation and Team responsibility.")])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/25.07420bee.js b/assets/js/25.07420bee.js new file mode 100644 index 000000000..e933c3f1b --- /dev/null +++ b/assets/js/25.07420bee.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{305:function(e,t,a){"use strict";a.r(t);var n=a(14),r=Object(n.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h6",{attrs:{id:"last-updated-2024-08-30"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#last-updated-2024-08-30"}},[e._v("#")]),e._v(" last updated: 2024-08-30")]),e._v(" "),t("h1",{attrs:{id:"contribute-to-testing"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#contribute-to-testing"}},[e._v("#")]),e._v(" Contribute to Testing")]),e._v(" "),t("p",[e._v("At AlmaLinux, we're dedicated to providing a high-quality experience for our community. We believe that thorough testing is crucial to guaranteeing the quality and reliability of the distribution. We put a lot of effort into testing and making sure everything works smoothly regardless of where or what you run.")]),e._v(" "),t("h2",{attrs:{id:"beta-testing"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#beta-testing"}},[e._v("#")]),e._v(" Beta testing")]),e._v(" "),t("p",[e._v("New AlmaLinux OS Beta and Stable versions are released every six months. We rely on our community to help us test Beta releases by providing feedback, reporting bugs, and identifying issues. Your input is crucial in ensuring our production releases are smooth and successful and we welcome your participation in this process.")]),e._v(" "),t("p",[e._v("If you're interested in contributing to Beta testing, please, see the installation/upgrade instructions in "),t("RouterLink",{attrs:{to:"/release-notes/"}},[e._v("release notes")]),e._v(" and join the "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/testing",target:"_blank",rel:"noopener noreferrer"}},[e._v("testing"),t("OutboundLink")],1),e._v(" chat channel to stay informed.")],1),e._v(" "),t("h2",{attrs:{id:"openqa"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#openqa"}},[e._v("#")]),e._v(" openQA")]),e._v(" "),t("p",[e._v("AlmaLinux has implemented openQA - a tool created and maintained by SUSE - for the automation of testing. With openQA we set up testing environments and scenarios, making it easier to run tests to reproduce the installation process of our images. This helps us identify and fix any issues with the installer, graphics, branding, and visual defects, allowing our developers to quickly and efficiently test AlmaLinux and catch any problems before they're released to the public.")]),e._v(" "),t("p",[e._v("openQA is publicly available at "),t("a",{attrs:{href:"https://openqa.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("openqa.almalinux.org"),t("OutboundLink")],1),e._v(" and users can monitor the testing progress and see the results as screenshots and video recordings.")]),e._v(" "),t("p",[e._v("We have long-term goals of improving our openQA infrastructure with additional tests and expanding our openQA documentation on our wiki. If you're interested in contributing to openQA, please, see more details on the "),t("a",{attrs:{href:"/development/openQA"}},[e._v("openQA")]),e._v(" wiki page and join the "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/testing",target:"_blank",rel:"noopener noreferrer"}},[e._v("testing"),t("OutboundLink")],1),e._v(" chat channel to stay updated and involved.")]),e._v(" "),t("h2",{attrs:{id:"updated-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#updated-packages"}},[e._v("#")]),e._v(" Updated packages")]),e._v(" "),t("p",[e._v("AlmaLinux OS is binary compatible with RHEL® and part ways in some matters. Before releasing an updated package with a patch or security fix, the AlmaLinux OS Foundation invites the community to participate in testing before its official release.")]),e._v(" "),t("p",[e._v("If you're interested in testing, please, join the "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/testing",target:"_blank",rel:"noopener noreferrer"}},[e._v("testing"),t("OutboundLink")],1),e._v(" and "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/engineeringreleng",target:"_blank",rel:"noopener noreferrer"}},[e._v("release engineering"),t("OutboundLink")],1),e._v(" chat channels to stay updated and involved.")]),e._v(" "),t("h2",{attrs:{id:"migration-and-upgrades"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#migration-and-upgrades"}},[e._v("#")]),e._v(" Migration and Upgrades")]),e._v(" "),t("p",[e._v("AlmaLinux offers one project for upgrading your operating system in-place ("),t("a",{attrs:{href:"https://wiki.almalinux.org/elevate/",target:"_blank",rel:"noopener noreferrer"}},[e._v("ELevate"),t("OutboundLink")],1),e._v("), and one for migrating to AlmaLinux ("),t("a",{attrs:{href:"https://wiki.almalinux.org/documentation/migration-guide.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux-deploy"),t("OutboundLink")],1),e._v(")! We're actively working on improving them with the community's help, and invite you to join us.")]),e._v(" "),t("p",[e._v("If you're interested in participating check the "),t("RouterLink",{attrs:{to:"/migration/"}},[e._v("Migration")]),e._v(" wiki section, "),t("a",{attrs:{href:"/sigs/Migration"}},[e._v("Migration SIG")]),e._v(" page and join the "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/migration",target:"_blank",rel:"noopener noreferrer"}},[e._v("Migration SIG"),t("OutboundLink")],1),e._v(" chat channel to get involved. You can assist AlmaLinux in:")],1),e._v(" "),t("ul",[t("li",[e._v("Add a 3rd party repository support to the ELevate Project and test it.")]),e._v(" "),t("li",[e._v("Testing new features and expanding the documentation.")]),e._v(" "),t("li",[e._v("Identifying and reporting bugs as well as resolving known issues to make the migration process smoother. Bugs should be reported to the corresponding repositories - "),t("a",{attrs:{href:"https://github.com/AlmaLinux/leapp-repository",target:"_blank",rel:"noopener noreferrer"}},[e._v("ELevate leapp repository"),t("OutboundLink")],1),e._v(" or "),t("a",{attrs:{href:"https://github.com/AlmaLinux/almalinux-deploy",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux migration tool"),t("OutboundLink")],1),e._v(".")])]),e._v(" "),t("h4",{attrs:{id:"trademarks"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#trademarks"}},[e._v("#")]),e._v(" Trademarks")]),e._v(" "),t("p",[e._v("Red Hat, and Red Hat Enterprise Linux, are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/26.5490aaba.js b/assets/js/26.5490aaba.js new file mode 100644 index 000000000..54bb8faf8 --- /dev/null +++ b/assets/js/26.5490aaba.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{307:function(e,t,r){"use strict";r.r(t);var a=r(14),n=Object(a.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"contributing-to-the-almalinux-project"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#contributing-to-the-almalinux-project"}},[e._v("#")]),e._v(" Contributing to the AlmaLinux project")]),e._v(" "),t("p",[e._v("AlmaLinux OS development, infrastructure management, and overall project promotion are organized using our community chat. There are many ways to contribute to AlmaLinux OS - testing, quality assurance, documentation, and more. We'd love to welcome you! To help get you started, here is a Q&A video on the subject:")]),e._v(" "),t("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/WCERQ4E_gl8?si=cvADVpcWnmt_Criy",title:"How do I get involved in the AlmaLinux Project? - Q&A with Jonathan Wright, Infra Team Lead",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",referrerpolicy:"strict-origin-when-cross-origin",allowfullscreen:""}}),e._v(" "),t("p",[t("strong",[e._v("And here are some ideas to get you going:")])]),e._v(" "),t("p",[e._v("How you or your team can contribute their time:")]),e._v(" "),t("ul",[t("li",[e._v("Content Creation: Create engaging content around interesting projects which showcase the use of AlmaLinux")]),e._v(" "),t("li",[e._v("ELevate - assist in expanding ELevate capabilities (migrations from additional versions), adding PES data for packages")]),e._v(" "),t("li",[e._v("Improve or expand documentation on our wiki")]),e._v(" "),t("li",[e._v("Become part of the infrastructure team for AlmaLinux – help maintain AlmaLinux core infrastructure, including build, test & mirror infrastructure")]),e._v(" "),t("li",[e._v("Become part of the security team for AlmaLinux - help define security architecture, maintain periodic audits and log reviews, etc.")]),e._v(" "),t("li",[e._v("Become part of the AlmaLinux build team - work on rebuilding RHEL packages, and building packages requested by the community. Assist in packing for EPEL.")]),e._v(" "),t("li",[e._v("Expert help - help users on our Mailing List, Mattermost chat & Reddit")]),e._v(" "),t("li",[e._v("Events staffing - represent AlmaLinux at LUG & Linux / OpenSource conferences - when they are geographically close to your location")]),e._v(" "),t("li",[e._v("Help with AlmaLinux branding - Web design, graphical design - almalinux.org website (Hugo!), swag or sticker design")]),e._v(" "),t("li",[e._v("Help get AlmaLinux through Common Criteria certification - CIS Benchmark and STIGs")]),e._v(" "),t("li",[e._v("Participate in the development of build platform, mirror platform - or any other part of the infrastructure (Python, JavaScript)")]),e._v(" "),t("li",[e._v("Improve or expand the translations of the AlmaLinux website")])]),e._v(" "),t("p",[e._v("If your company benefits from the existence of AlmaLinux, consider sponsoring AlmaLinux enabling all of the work we do across the world!")]),e._v(" "),t("p",[e._v("If any of those sound interesting to you, then take a look at the list of "),t("RouterLink",{attrs:{to:"/sigs/"}},[e._v("SIGs")]),e._v(", join the "),t("a",{attrs:{href:"https://chat.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux chat on Mattermost"),t("OutboundLink")],1),e._v(", and "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/introductions",target:"_blank",rel:"noopener noreferrer"}},[e._v("introduce yourself"),t("OutboundLink")],1),e._v(" or join one of the topical channels below to find out more!")],1),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/town-square",target:"_blank",rel:"noopener noreferrer"}},[e._v("General chat"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/development",target:"_blank",rel:"noopener noreferrer"}},[e._v("Development"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/infrastructure",target:"_blank",rel:"noopener noreferrer"}},[e._v("Infrastructure"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/security",target:"_blank",rel:"noopener noreferrer"}},[e._v("Security"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/sigdocumentation",target:"_blank",rel:"noopener noreferrer"}},[e._v("Documentation"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/marketing",target:"_blank",rel:"noopener noreferrer"}},[e._v("Marketing"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/www",target:"_blank",rel:"noopener noreferrer"}},[e._v("Web presence"),t("OutboundLink")],1)])]),e._v(" "),t("h2",{attrs:{id:"help-with-reporting-bugs-and-making-fixes"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#help-with-reporting-bugs-and-making-fixes"}},[e._v("#")]),e._v(" Help with reporting bugs and making fixes")]),e._v(" "),t("p",[e._v('Since AlmaLinux aims to be as close to RHEL as possible, it should have nearly identical bugs as the current release of RHEL. AlmaLinux recommends following an "upstream first" approach in order to help not just the AlmaLinux but the whole EL community:')]),e._v(" "),t("ul",[t("li",[e._v("Try to reproduce the steps and check whether the bug is present in CentOS Stream or has been already fixed.")]),e._v(" "),t("li",[e._v("If present, it means that the bug is upstream. Please, submit the bug to "),t("a",{attrs:{href:"https://wiki.centos.org/ReportBugs",target:"_blank",rel:"noopener noreferrer"}},[e._v("CentOS Stream bugzilla"),t("OutboundLink")],1),e._v(" providing all the necessary information about an issue and reproducing steps. This is the contribution path to get the bug fix into the upstream, which will, in turn, be built into AlmaLinux.")]),e._v(" "),t("li",[e._v("If you are able to help investigate and fix the bug, please collaborate with CentOS Stream, as this is the best an AlmaLinux Community Member can do. Check the "),t("a",{attrs:{href:"https://docs.centos.org/en-US/stream-contrib/",target:"_blank",rel:"noopener noreferrer"}},[e._v("CentOS Contributor's Guide"),t("OutboundLink")],1),e._v(" for more details.")]),e._v(" "),t("li",[e._v("If the bug is AlmaLinux-specific, please open a bug on "),t("a",{attrs:{href:"https://bugs.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),t("OutboundLink")],1),e._v(" providing all the necessary information about an issue and reproducing steps.")])]),e._v(" "),t("p",[e._v("Please, file your "),t("a",{attrs:{href:"https://github.com/AlmaLinux/almalinux-deploy/issues",target:"_blank",rel:"noopener noreferrer"}},[e._v("bugs"),t("OutboundLink")],1),e._v(" and join us for discussions on "),t("a",{attrs:{href:"https://github.com/AlmaLinux/almalinux-deploy/discussions",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub"),t("OutboundLink")],1),e._v(" and on "),t("a",{attrs:{href:"https://chat.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat on Mattermost"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("p",[e._v("If you are interested in contributing, and learning more details about the technology stack of the tool and tests, please, visit the "),t("a",{attrs:{href:"https://github.com/AlmaLinux/almalinux-deploy",target:"_blank",rel:"noopener noreferrer"}},[e._v("repository"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("p",[e._v("Also, you might be interested with "),t("RouterLink",{attrs:{to:"/elevate/Contribution-guide.html"}},[e._v("ELevate Project Contribution Guide")]),e._v(".")],1),e._v(" "),t("h2",{attrs:{id:"specific-areas-we-need-help-with"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#specific-areas-we-need-help-with"}},[e._v("#")]),e._v(" Specific Areas We Need Help With")]),e._v(" "),t("p",[e._v("Each SIG has their own specific focus areas that are looking for help, but here are some more general ones!")]),e._v(" "),t("h3",{attrs:{id:"_1-help-with-reporting-bugs-and-making-fixes"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-help-with-reporting-bugs-and-making-fixes"}},[e._v("#")]),e._v(" 1. Help with reporting bugs and making fixes")]),e._v(" "),t("p",[e._v("To make AlmaLinux successful, we need the close involvement of the community members. We use our bug tracking system to find, track, and fix bugs. We encourage AlmaLinux users to help us by filling in bug-reports. You can track and discuss all bugs on "),t("a",{attrs:{href:"https://bugs.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("bugs.almalinux.org"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h3",{attrs:{id:"_2-improve-the-documentation"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2-improve-the-documentation"}},[e._v("#")]),e._v(" 2. Improve the documentation")]),e._v(" "),t("p",[e._v("The importance of documentation cannot be understated, as it is like an investment in the future. It can take time and energy, but it is essential to create full and comprehensive documentation together.")]),e._v(" "),t("p",[e._v("If you want to participate, please, follow the "),t("a",{attrs:{href:"Contribute-to-Documentation"}},[e._v("guidelines")]),e._v(".")]),e._v(" "),t("h3",{attrs:{id:"_3-help-with-azure-mirrors-deployment"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_3-help-with-azure-mirrors-deployment"}},[e._v("#")]),e._v(" 3. Help with Azure mirrors deployment")]),e._v(" "),t("p",[e._v("We want to make sure that AlmaLinux images in Azure Cloud will use local mirrors for each region, and don't pay for traffic. More info "),t("a",{attrs:{href:"/cloud/Azure"}},[e._v("here")]),e._v(".")]),e._v(" "),t("h3",{attrs:{id:"_4-promotion-blog-posts-translations-and-more"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_4-promotion-blog-posts-translations-and-more"}},[e._v("#")]),e._v(" 4. Promotion, blog posts, translations, and more!")]),e._v(" "),t("p",[e._v("If you are looking to flex skills not directly involved in development, we are always looking for guest blog posts, help with translations of our website, folks to staff events, and much more! Reach out in the "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/marketing",target:"_blank",rel:"noopener noreferrer"}},[e._v("Marketing"),t("OutboundLink")],1),e._v(" channel for more info!")]),e._v(" "),t("h3",{attrs:{id:"_5-more-ways-to-help-for-devops-programmers"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_5-more-ways-to-help-for-devops-programmers"}},[e._v("#")]),e._v(" 5. More ways to help for DevOps & Programmers")]),e._v(" "),t("ul",[t("li",[e._v("Help our "),t("RouterLink",{attrs:{to:"/sigs/Core.html#help-wanted"}},[e._v("Core Infrastructure Group")])],1),e._v(" "),t("li",[e._v("Help with our "),t("RouterLink",{attrs:{to:"/sigs/Cloud.html#help-wanted"}},[e._v("cloud infrastructure maintenance")])],1)]),e._v(" "),t("h2",{attrs:{id:"need-assistance-we-are-here-to-help"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#need-assistance-we-are-here-to-help"}},[e._v("#")]),e._v(" Need assistance? We are here to help!")]),e._v(" "),t("p",[e._v("If you're seeking assistance in connecting with the appropriate individual or group, or if you're interested in guidance on becoming a contributor to AlmaLinux, please don't hesitate to reach out. Join chat or reach out on "),t("a",{attrs:{href:"https://forums.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("our forums"),t("OutboundLink")],1),e._v("! Our community of amazing users of all experience levels are happy to help you puzzle out your problem.")])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/27.e7ffb39f.js b/assets/js/27.e7ffb39f.js new file mode 100644 index 000000000..79c318630 --- /dev/null +++ b/assets/js/27.e7ffb39f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{309:function(e,o,t){"use strict";t.r(o);var n=t(14),r=Object(n.a)({},(function(){var e=this,o=e._self._c;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("h1",{attrs:{id:"almalinux-board-of-directors-election-2022"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-board-of-directors-election-2022"}},[e._v("#")]),e._v(" AlmaLinux Board of Directors Election 2022")]),e._v(" "),o("h1",{attrs:{id:"sept-19-2022-election-results"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#sept-19-2022-election-results"}},[e._v("#")]),e._v(" Sept 19, 2022 - Election Results")]),e._v(" "),o("p",[e._v("Community Director:")]),e._v(" "),o("ul",[o("li",[o("a",{attrs:{href:"https://www.linkedin.com/in/jackaboutboul/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Jack Aboutboul"),o("OutboundLink")],1),e._v(" - current Director and Community Leader at AlmaLinux.")])]),e._v(" "),o("p",[e._v("Board Members:")]),e._v(" "),o("ul",[o("li",[o("a",{attrs:{href:"https://en.wikipedia.org/wiki/Simon_Phipps_(programmer)",target:"_blank",rel:"noopener noreferrer"}},[e._v("Simon Phipps"),o("OutboundLink")],1),e._v(" - current Director @ AlmaLinux, former president of the Open Source Initiative.")]),e._v(" "),o("li",[o("a",{attrs:{href:"https://en.wikipedia.org/wiki/Moshe_Bar_(investor)",target:"_blank",rel:"noopener noreferrer"}},[e._v("Moshe Bar"),o("OutboundLink")],1),e._v(" - CEO of CodeNotary Inc., AlmaLinux Gold Sponsor")]),e._v(" "),o("li",[o("a",{attrs:{href:"https://www.linkedin.com/in/daniel-pearson-b2559b60/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Daniel Pearson"),o("OutboundLink")],1),e._v(" - COO of KnownHost, LLC, AlmaLinux Gold Sponsor")]),e._v(" "),o("li",[o("a",{attrs:{href:"https://www.linkedin.com/in/bennyvasquez/",target:"_blank",rel:"noopener noreferrer"}},[e._v("benny Vasquez"),o("OutboundLink")],1),e._v(" - current Chair of the board of AlmaLinux OS Foundation")]),e._v(" "),o("li",[o("a",{attrs:{href:"https://www.linkedin.com/in/jessejester/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Jesse Asklund"),o("OutboundLink")],1),e._v(" - current Director at AlmaLinux and CXO and WebPros")]),e._v(" "),o("li",[o("a",{attrs:{href:"https://www.linkedin.com/in/cody-robertson-3b334575/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Cody Robertson"),o("OutboundLink")],1),e._v(" - CTO at Hawk Host Inc")])]),e._v(" "),o("h1",{attrs:{id:"history"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#history"}},[e._v("#")]),e._v(" History")]),e._v(" "),o("p",[e._v("AlmaLinux OS Foundation is starting the election of the Board of Directors. We have 7 open positions to fill.\nThe election will start on September 4th, 2022.")]),e._v(" "),o("p",[e._v("At this stage we are looking for nominees for the Board of Director position. To be nominated you have to:")]),e._v(" "),o("ul",[o("li",[e._v("Be a member for at least 3 month by Sep 4th, 2022")]),e._v(" "),o("li",[e._v("Nominated by AlmaLinux member in good standing")]),e._v(" "),o("li",[e._v("To nominate someone email name & contact information of nominee to election2022@almalinux.org")])]),e._v(" "),o("p",[e._v("Please, check FAQ section for more information.")]),e._v(" "),o("h1",{attrs:{id:"nominees-as-of-aug-11-2022"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#nominees-as-of-aug-11-2022"}},[e._v("#")]),e._v(" Nominees as of Aug 11, 2022")]),e._v(" "),o("ul",[o("li",[o("a",{attrs:{href:"https://www.linkedin.com/in/jackaboutboul/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Jack Aboutboul"),o("OutboundLink")],1),e._v(" - current Director and Community Leader at AlmaLinux. "),o("em",[e._v("Nominated by: Jonathan W.")])]),e._v(" "),o("li",[o("a",{attrs:{href:"https://en.wikipedia.org/wiki/Simon_Phipps_(programmer)",target:"_blank",rel:"noopener noreferrer"}},[e._v("Simon Phipps"),o("OutboundLink")],1),e._v(" - current Director @ AlmaLinux, former president of the Open Source Initiative. "),o("em",[e._v("Nominated by: Igor S.")])]),e._v(" "),o("li",[o("a",{attrs:{href:"https://en.wikipedia.org/wiki/Moshe_Bar_(investor)",target:"_blank",rel:"noopener noreferrer"}},[e._v("Moshe Bar"),o("OutboundLink")],1),e._v(" - CEO of CodeNotary Inc., AlmaLinux Gold Sponsor "),o("em",[e._v("Nominated by: CodeNotary")])]),e._v(" "),o("li",[o("a",{attrs:{href:"https://www.linkedin.com/in/daniel-pearson-b2559b60/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Daniel Pearson"),o("OutboundLink")],1),e._v(" - COO of KnownHost, LLC, AlmaLinux Gold Sponsor "),o("em",[e._v("Nominated by: Jonathan Wright")])]),e._v(" "),o("li",[o("a",{attrs:{href:"https://www.linkedin.com/in/bennyvasquez/",target:"_blank",rel:"noopener noreferrer"}},[e._v("benny Vasquez"),o("OutboundLink")],1),e._v(" - current Chair of the board of AlmaLinux OS Foundation "),o("em",[e._v("Nominated by Jack Aboutboul")])]),e._v(" "),o("li",[o("a",{attrs:{href:"https://www.linkedin.com/in/jessejester/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Jesse Asklund"),o("OutboundLink")],1),e._v(" - current Director at AlmaLinux and CXO and WebPros "),o("em",[e._v("Nominated by benny Vasquez")])]),e._v(" "),o("li",[o("a",{attrs:{href:"https://www.linkedin.com/in/cody-robertson-3b334575/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Cody Robertson"),o("OutboundLink")],1),e._v(" - CTO at Hawk Host Inc "),o("em",[e._v("Nominated by Daniel Pearson")])])]),e._v(" "),o("h2",{attrs:{id:"faq"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#faq"}},[e._v("#")]),e._v(" FAQ")]),e._v(" "),o("ul",[o("li",[o("p",[e._v("When does election start?")]),e._v(" "),o("ul",[o("li",[e._v("The election starts on Sep 4th, 2022 and run until Sep 19th, 2022. If we don't reach quorum by Sep 19th, the election will stay open until quorum is reached.")]),e._v(" "),o("li",[e._v("To reach the quorum we need 50% of all members to vote.")])])]),e._v(" "),o("li",[o("p",[e._v("Who can be nominated?")]),e._v(" "),o("ul",[o("li",[e._v("Any member in good standing, approved by the membership committee not less than 3 months before the election")]),e._v(" "),o("li",[e._v("Note: only members in good standing may nominate a potential board member, and each nominee must have a supporting member (you cannot nominate yourself).")])])]),e._v(" "),o("li",[o("p",[e._v("My company is a member sponsor, can it nominate any company employee?")]),e._v(" "),o("ul",[o("li",[e._v("Yes, sponsors can nominate any company employee, but if the employee is terminated, or company sponsorship laps, the person will be required to step down from the role.")])])]),e._v(" "),o("li",[o("p",[e._v("Can I nominate myself?")]),e._v(" "),o("ul",[o("li",[e._v("No, you must be nominated by a supporting member in good standing.")])])]),e._v(" "),o("li",[o("p",[e._v("How can I nominate someone?")]),e._v(" "),o("ul",[o("li",[e._v("E-Mail name & contact information of nominee to election2022@almalinux.org")])])]),e._v(" "),o("li",[o("p",[e._v("Who can vote?")]),e._v(" "),o("ul",[o("li",[e._v("Any Platinum, Gold, Silver, Contributor, User, Alumnus, or Mirror member in good standing, approved by the membership committee on or before August 23rd")])])]),e._v(" "),o("li",[o("p",[e._v("How can I vote?")]),e._v(" "),o("ul",[o("li",[e._v("You will get a link to the voting page in your e-mail on the day voting starts.")])])]),e._v(" "),o("li",[o("p",[e._v("How many votes does each member get?")]),e._v(" "),o("ul",[o("li",[e._v("Contributor, Alumnus, Mirror members: 1 vote each")]),e._v(" "),o("li",[e._v("Platinum sponsors: 50 votes each")]),e._v(" "),o("li",[e._v("Gold sponsors: 15 votes each")]),e._v(" "),o("li",[e._v("Silver sponsors: 5 votes each")])])]),e._v(" "),o("li",[o("p",[e._v("What is the minimum number of votes you need to win?")]),e._v(" "),o("ul",[o("li",[e._v("At least 50% of our membership must vote in order for the election to be valid")]),e._v(" "),o("li",[e._v("Top 7 candidates with most votes will win")])])]),e._v(" "),o("li",[o("p",[e._v("How many seats are on the board, and how many are vacant?")]),e._v(" "),o("ul",[o("li",[e._v("There are 7 seats on the board, 3 are vacant, and 4 are up for re-election.")])])]),e._v(" "),o("li",[o("p",[e._v("How long does a director serve?")]),e._v(" "),o("ul",[o("li",[e._v("A term on the board is 3 years, unless the director leaves for any reasons.")])])]),e._v(" "),o("li",[o("p",[e._v("What platform will you use for the elections?")]),e._v(" "),o("ul",[o("li",[e._v("Helios.")])])]),e._v(" "),o("li",[o("p",[e._v("Who can be nominated?")]),e._v(" "),o("ul",[o("li",[e._v("Any member in good standing, approved by the membership committee not less than 3 months before the election")]),e._v(" "),o("li",[e._v("Note: only members in good standing may nominate a potential board member, and each nominee must have a supporting nominee")])])]),e._v(" "),o("li",[o("p",[e._v("Can I nominate myself?")]),e._v(" "),o("ul",[o("li",[e._v("No, you must be nominated by a supporting member in good standing")])])]),e._v(" "),o("li",[o("p",[e._v("How are vacancies handled in the event that a director leaves before the end of their term?")]),e._v(" "),o("ul",[o("li",[e._v("If a seat is vacated less than three months before a planned election, the board may fill the vacancy by a majority vote, or may choose to leave the seat vacant.")]),e._v(" "),o("li",[e._v("If a seat is vacated more than three months before a planned election, the board must trigger an election to fill the seat or appoint someone to fill the seat.")])])]),e._v(" "),o("li",[o("p",[e._v("Are directors on the board compensated?")]),e._v(" "),o("ul",[o("li",[e._v("Board positions are not compensated positions")])])]),e._v(" "),o("li",[o("p",[e._v("Is Director at the AlmaLinux OS Foundation a full-time position?")]),e._v(" "),o("ul",[o("li",[e._v("It is not a full-time position.")])])]),e._v(" "),o("li",[o("p",[e._v("How is the Chair of the board of directors elected?")]),e._v(" "),o("ul",[o("li",[e._v("The chair is one of the officers elected at the first meeting of the board of directors, or as needed.")])])]),e._v(" "),o("li",[o("p",[e._v("Will the current board members need to be re-elected?")]),e._v(" "),o("ul",[o("li",[e._v("Yes, at every term they need to be re-nominated and elected")])])]),e._v(" "),o("li",[o("p",[e._v("Can two members of the board also work at the same company?")]),e._v(" "),o("ul",[o("li",[e._v("No.")])])])])])}),[],!1,null,null,null);o.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/28.30883d0a.js b/assets/js/28.30883d0a.js new file mode 100644 index 000000000..7e0a5bf20 --- /dev/null +++ b/assets/js/28.30883d0a.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{308:function(e,a,t){"use strict";t.r(a);var r=t(14),o=Object(r.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h6",{attrs:{id:"last-updated-2023-10-02"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#last-updated-2023-10-02"}},[e._v("#")]),e._v(" last updated: 2023-10-02")]),e._v(" "),a("h1",{attrs:{id:"frequently-asked-questions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#frequently-asked-questions"}},[e._v("#")]),e._v(" Frequently asked questions")]),e._v(" "),a("h3",{attrs:{id:"what-is-almalinux"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#what-is-almalinux"}},[e._v("#")]),e._v(" What is AlmaLinux?")]),e._v(" "),a("p",[e._v("AlmaLinux OS is a community-owned and driven, stable and secure "),a("em",[e._v("Linux®")]),e._v(" distribution that is compatible with "),a("em",[e._v("RHEL")]),e._v(".")]),e._v(" "),a("h3",{attrs:{id:"can-i-do-x-y-or-z-with-almalinux"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#can-i-do-x-y-or-z-with-almalinux"}},[e._v("#")]),e._v(" Can I do X, Y, or Z with AlmaLinux?")]),e._v(" "),a("p",[e._v("Sure! AlmaLinux OS, much like RHEL and CentOS Stream, is a general purpose operating system. If it works with RHEL, then it should work exactly the same on AlmaLinux. We are not 1:1 with CentOS Stream, as Stream may at points track well ahead of our releases.")]),e._v(" "),a("h3",{attrs:{id:"what-does-abi-binary-compatible-with-rhel-mean"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#what-does-abi-binary-compatible-with-rhel-mean"}},[e._v("#")]),e._v(" What does ABI/binary compatible with RHEL mean?")]),e._v(" "),a("p",[e._v("In July of 2023, "),a("a",{attrs:{href:"https://almalinux.org/blog/future-of-almalinux/",target:"_blank",rel:"noopener noreferrer"}},[e._v("we announced"),a("OutboundLink")],1),e._v(" that we were shifting our goal from being a downstream rebuild of RHEL to maintaining ABI compatibility with RHEL. For the AlmaLinux team that means that everything from software applications to kernel modules that work on RHEL will work on AlmaLinux, and if they don't we would consider that a bug.")]),e._v(" "),a("h3",{attrs:{id:"is-almalinux-os-fips-140-compliant"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#is-almalinux-os-fips-140-compliant"}},[e._v("#")]),e._v(" Is AlmaLinux OS FIPS-140 compliant??")]),e._v(" "),a("p",[e._v("AlmaLinux OS 9.2 is FIPS-140 compliant. Read more in this blog post: "),a("a",{attrs:{href:"https://almalinux.org/blog/2023-09-19-fips-validation-for-almalinux/",target:"_blank",rel:"noopener noreferrer"}},[e._v("FIPS Validation for AlmaLinux OS"),a("OutboundLink")],1)]),e._v(" "),a("h3",{attrs:{id:"where-did-the-name-almalinux-come-from"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#where-did-the-name-almalinux-come-from"}},[e._v("#")]),e._v(' Where did the name "AlmaLinux" come from?')]),e._v(" "),a("p",[e._v("We chose the name AlmaLinux in homage to the open source community around the world. Alma means soul in Spanish and other Latin languages. A vital part of Open Source is the passionate, diverse developer community, helping support the work of projects like the Linux kernel and really all open and free software. We believe that community is the soul of Linux, and Linux distribution users are indebted to the community's efforts.")]),e._v(" "),a("h3",{attrs:{id:"how-is-the-community-protected-from-future-course-changes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-is-the-community-protected-from-future-course-changes"}},[e._v("#")]),e._v(" How is the community protected from future course changes?")]),e._v(" "),a("p",[e._v("The AlmaLinux OS Foundation is a 501(c)(6) that was founded in March of 2021 to own and manage the AlmaLinux OS project. We have been involving the community since the beginning, and the governing board is chosen by members of the foundation. At all times, AlmaLinux OS will be free and open.")]),e._v(" "),a("h3",{attrs:{id:"why-use-almalinux"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#why-use-almalinux"}},[e._v("#")]),e._v(" Why use AlmaLinux?")]),e._v(" "),a("p",[e._v("AlmaLinux OS is a community-owned and driven, stable, and secure Linux distribution. AlmaLinux is an opportunity for us to provide a Linux distribution that serves the broader community and which powers the computing needs of a wide range of users. Whether you are running a particle accelerator unlocking the mysteries of the universe, a Top500 HPC cluster, an enterprise running your database workloads, or a developer working on open source projects, AlmaLinux is for you.")]),e._v(" "),a("p",[e._v("AlmaLinux puts out new releases--fast. We typically release with a day or two of upstream RHEL releases. Updates are generally within 24 hours.")]),e._v(" "),a("p",[e._v('Our governance is under a 501(c)(6) non-profit organization to facilitate our objectives of being open, transparent and participatory. Community members who apply for membership in the foundation (for free) and are able to vote on the governing board of the AlmaLinux project and on critical decisions. There is no "ownership," and no controlling shareholders or interests. The foundation is by the members, for the members. All board meeting minutes are published and shared, including financial positions.')]),e._v(" "),a("h3",{attrs:{id:"what-architectures-and-platforms-do-you-support"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#what-architectures-and-platforms-do-you-support"}},[e._v("#")]),e._v(" What architectures and platforms do you support?")]),e._v(" "),a("p",[e._v("AlmaLinux currently supports four architectures - x86_64, aarch64, ppc64le, and s390x - providing full parity with upstream. In addition, we provide a wide range of other images and repositories: traditional ISOs, cloud and container images, live media, WSL - Windows Subsystem for Linux, and Raspberry Pi.")]),e._v(" "),a("h3",{attrs:{id:"is-almalinux-secure"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#is-almalinux-secure"}},[e._v("#")]),e._v(" Is AlmaLinux secure?")]),e._v(" "),a("p",[e._v("AlmaLinux provides a commitment to security updates and bug fixes for a period of 10 years for each major version. Moreover, AlmaLinux provides "),a("RouterLink",{attrs:{to:"/documentation/errata.html"}},[e._v("Errata")]),e._v(", "),a("RouterLink",{attrs:{to:"/documentation/oval-streams.html"}},[e._v("public OVAL streams")]),e._v(", "),a("RouterLink",{attrs:{to:"/documentation/openscap-guide.html"}},[e._v("OpenSCAP")]),e._v(" and SCAP Workbench packages, including the availability of the official "),a("a",{attrs:{href:"https://www.cisecurity.org/benchmark/almalinuxos_linux",target:"_blank",rel:"noopener noreferrer"}},[e._v("CIS Benchmark for AlmaLinux"),a("OutboundLink")],1),e._v(". AlmaLinux has "),a("RouterLink",{attrs:{to:"/documentation/sbom-guide.html"}},[e._v("SBOM")]),e._v(" integrated into our build pipeline, facilitating software supply chain security.")],1),e._v(" "),a("h3",{attrs:{id:"where-does-almalinux-get-package-sources-how-almalinux-is-built"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#where-does-almalinux-get-package-sources-how-almalinux-is-built"}},[e._v("#")]),e._v(" Where does AlmaLinux get package sources? How AlmaLinux is built?")]),e._v(" "),a("p",[e._v("The process in general looks like this:")]),e._v(" "),a("ul",[a("li",[e._v("We clone the upstream sources from the CentOS git repositories. These are the same source that Red Hat uses to build their packages.")]),e._v(" "),a("li",[e._v("De-branding: any trademarks are replaced at this point, and the "),a("code",[e._v(".alma")]),e._v(' postfix is added to the end of the modified packages\' "Release" field to distinguish our packages from upstream ones. You can also check the '),a("RouterLink",{attrs:{to:"/development/Modified-packages.html"}},[e._v("Modified packages")]),e._v(" page for more details."),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),a("p",[e._v("Note: Most RPMs are rebuilt directly from the sources. The rebranding is required when any of the text/visual displays says Red Hat or RHN license manager enforcements.")])])],1),e._v(" "),a("li",[e._v("Our build system "),a("a",{attrs:{href:"https://build.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Builds"),a("OutboundLink")],1),e._v(" packages with notarization (SBOM).")]),e._v(" "),a("li",[e._v("Our testing system runs automated package "),a("a",{attrs:{href:"https://github.com/AlmaLinux/alts",target:"_blank",rel:"noopener noreferrer"}},[e._v("Tests"),a("OutboundLink")],1),e._v(" & we fix issues.")]),e._v(" "),a("li",[e._v("Release!")])]),e._v(" "),a("h3",{attrs:{id:"how-do-i-migrate-a-single-host-from-centos-to-almalinux"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-do-i-migrate-a-single-host-from-centos-to-almalinux"}},[e._v("#")]),e._v(" How do I migrate a single host from CentOS to AlmaLinux?")]),e._v(" "),a("p",[e._v("AlmaLinux developed a "),a("a",{attrs:{href:"https://github.com/AlmaLinux/almalinux-deploy",target:"_blank",rel:"noopener noreferrer"}},[e._v("migration tool"),a("OutboundLink")],1),e._v(" to make it simple to migrate to AlmaLinux from other Linux distributions including CentOS and CentOS Stream.")]),e._v(" "),a("p",[e._v("You can read more details and find guide steps on the "),a("RouterLink",{attrs:{to:"/documentation/migration-guide.html"}},[e._v("Migration")]),e._v(" wiki page.")],1),e._v(" "),a("h3",{attrs:{id:"how-do-i-migrate-an-entire-fleet-of-servers-from-centos-to-almalinux"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-do-i-migrate-an-entire-fleet-of-servers-from-centos-to-almalinux"}},[e._v("#")]),e._v(" How do I migrate an entire fleet of servers from CentOS to AlmaLinux?")]),e._v(" "),a("p",[e._v("Since AlmaLinux is compatible with RHEL®, your applications and services should be completely interoperable. You can rapidly migrate any number of servers using "),a("a",{attrs:{href:"https://github.com/AlmaLinux/almalinux-deploy",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux-deploy"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h3",{attrs:{id:"how-do-i-migrate-from-centos-7-to-almalinux-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-do-i-migrate-from-centos-7-to-almalinux-8"}},[e._v("#")]),e._v(" How do I migrate from CentOS 7 to AlmaLinux 8?")]),e._v(" "),a("p",[e._v("The AlmaLinux community has developed the ELevate project as an initiative to support migrations between a major version of RHEL-derivatives. It uses the "),a("a",{attrs:{href:"https://leapp.readthedocs.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Leapp utility"),a("OutboundLink")],1),e._v(" and a few "),a("a",{attrs:{href:"https://github.com/AlmaLinux/leapp-repository/commits/almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("patches"),a("OutboundLink")],1),e._v(" to support migration from CentOS are used to perform the upgrade.")]),e._v(" "),a("p",[e._v("Check the "),a("RouterLink",{attrs:{to:"/elevate/"}},[e._v("ELevate page")]),e._v(" for the list of the available migration directions and for the "),a("RouterLink",{attrs:{to:"/elevate/ELevate-quickstart-guide.html"}},[e._v("Quickstart Guide")]),e._v(".")],1),e._v(" "),a("h3",{attrs:{id:"how-long-will-almalinux-be-supported"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-long-will-almalinux-be-supported"}},[e._v("#")]),e._v(" How long will AlmaLinux be supported?")]),e._v(" "),a("p",[e._v("The AlmaLinux OS Foundation is committed to supporting AlmaLinux including stable and thoroughly tested updates and security patches until:")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Release")]),e._v(" "),a("th",[e._v("End-of-Life")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("AlmaLinux 8.x")]),e._v(" "),a("td",[e._v("2029")])]),e._v(" "),a("tr",[a("td",[e._v("AlmaLinux 9.x")]),e._v(" "),a("td",[e._v("2032")])])])]),e._v(" "),a("h3",{attrs:{id:"how-to-report-bugs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-to-report-bugs"}},[e._v("#")]),e._v(" How to Report Bugs")]),e._v(" "),a("h4",{attrs:{id:"i-found-a-bug-in-rhel-can-i-contribute-the-bug-fix-to-almalinux"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#i-found-a-bug-in-rhel-can-i-contribute-the-bug-fix-to-almalinux"}},[e._v("#")]),e._v(" I found a bug in RHEL; can I contribute the bug fix to AlmaLinux?")]),e._v(" "),a("p",[e._v('Since AlmaLinux aims to be as close to RHEL as possible, it should have nearly the same bugs as the current release of RHEL. AlmaLinux recommends following an "upstream first" approach to fix these bugs by testing against CentOS Stream, and submitting them to '),a("a",{attrs:{href:"https://wiki.centos.org/ReportBugs",target:"_blank",rel:"noopener noreferrer"}},[e._v("CentOS Stream"),a("OutboundLink")],1),e._v(". For more information, please, see the "),a("RouterLink",{attrs:{to:"/contribute.html#help-with-reporting-bugs-and-making-fixes"}},[e._v("Contribute page")]),e._v(".")],1),e._v(" "),a("h4",{attrs:{id:"bug-tracker"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#bug-tracker"}},[e._v("#")]),e._v(" Bug Tracker")]),e._v(" "),a("p",[e._v("To make AlmaLinux successful, we need the close involvement of the community members. We use our bug tracking system to find, track, and fix bugs. We encourage AlmaLinux users to help us by filling in bug-reports. You can track and discuss all bugs on "),a("a",{attrs:{href:"https://bugs.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("bugs.almalinux.org"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h3",{attrs:{id:"how-can-i-request-a-package-be-added-to-almalinux"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-can-i-request-a-package-be-added-to-almalinux"}},[e._v("#")]),e._v(" How can I request a package be added to AlmaLinux?")]),e._v(" "),a("p",[e._v("Since AlmaLinux attempts to be as close to RHEL as possible, it does not add packages to the distribution unless they are added to RHEL. In general, the best place for additional packages is the "),a("a",{attrs:{href:"https://docs.fedoraproject.org/en-US/epel/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Extra Packages for Enterprise Linux (EPEL)"),a("OutboundLink")],1),e._v(" repository. Any Fedora package that is not in RHEL can be "),a("a",{attrs:{href:"https://docs.fedoraproject.org/en-US/epel/epel-package-request/",target:"_blank",rel:"noopener noreferrer"}},[e._v("requested"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h3",{attrs:{id:"why-does-the-almalinux-codename-include-cats"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#why-does-the-almalinux-codename-include-cats"}},[e._v("#")]),e._v(" Why does the AlmaLinux codename include cats?")]),e._v(" "),a("p",[e._v("Having codenames for operating systems has a long history and has been adopted widely. While they aren't needed for us specifically, we keep them as part of our distribution both as an homage to our roots, and because the add a bit of levity to our work. Each minor version of AlmaLinux follows a specific pattern.")]),e._v(" "),a("ul",[a("li",[e._v("AlmaLinux 8 - blue color + cat name")]),e._v(" "),a("li",[e._v("AlmaLinux 9 - green color + cat name")])]),e._v(" "),a("p",[e._v("Icelandic people believed that cats can eat you for Christmas dinner.")]),e._v(" "),a("p",[e._v("Many sailors and fishermen think that if a cat falls overboard, a storm will show up and the ship will be capsized.")]),e._v(" "),a("p",[e._v("Every Norwegian Forest Cat is supposedly thought to be either a fairy or a goblin in disguise.")]),e._v(" "),a("p",[e._v("The AlmaLinux project prefers to ignore such superstitions and goes for the Japanese version of the cat’s soul nature - the "),a("a",{attrs:{href:"https://en.wikipedia.org/wiki/Maneki-neko",target:"_blank",rel:"noopener noreferrer"}},[e._v("maneki-neko"),a("OutboundLink")],1),e._v(" is an iconic Japanese talisman that, it’s believed, brings good fortune to its owner. One legend explains that a Japanese cat once waved a paw to beckon a lord into a house, which saved him from being struck by lightning a moment later, and so a cat who beckons with her paw is considered a lucky gesture.")]),e._v(" "),a("p",[e._v("Which is why we have decided to choose color + cat breed for AlmaLinux release naming convention. The first release was named Purple Manul, and the releases since have followed the same pattern.")]),e._v(" "),a("h4",{attrs:{id:"trademark-notices"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#trademark-notices"}},[e._v("#")]),e._v(" Trademark notices")]),e._v(" "),a("p",[e._v("Red Hat, Red Hat Enterprise Linux are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")]),e._v(" "),a("p",[e._v("Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.")])])}),[],!1,null,null,null);a.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/29.acc3e6b6.js b/assets/js/29.acc3e6b6.js new file mode 100644 index 000000000..056ae6a3f --- /dev/null +++ b/assets/js/29.acc3e6b6.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[29],{310:function(t,e,a){"use strict";a.r(e);var n=a(14),o=Object(n.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h6",{attrs:{id:"last-modified-2024-03-05"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#last-modified-2024-03-05"}},[t._v("#")]),t._v(" last modified: 2024-03-05")]),t._v(" "),e("h1",{attrs:{id:"get-community-help-and-support"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#get-community-help-and-support"}},[t._v("#")]),t._v(" Get Community Help and Support")]),t._v(" "),e("p",[t._v("The AlmaLinux Worldwide Community is made up of users with diverse skill sets and experience levels who can assist and support you across a range of questions, topics, and troubleshooting technical issues.")]),t._v(" "),e("p",[t._v("There are various spaces, forums and chats for discussions so that you can reach out to the Community.")]),t._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),e("p",[t._v("Please, note, that typically signing up is required to join AlmaLinux discussion spaces.")])]),t._v(" "),e("h3",{attrs:{id:"community-chats"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#community-chats"}},[t._v("#")]),t._v(" Community Chats")]),t._v(" "),e("p",[t._v("Community chats allow users to communicate in various channels, each with specific topics like Packaging, Cloud, and Documentation, etc. If you have a question or need help, post a question in the "),e("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/town-square",target:"_blank",rel:"noopener noreferrer"}},[e("em",[t._v("General")]),e("OutboundLink")],1),t._v(" channel or in the relevant channel for assistance.")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://chat.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Mattermost Community Chat"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://web.libera.chat/#almalinux",target:"_blank",rel:"noopener noreferrer"}},[t._v("IRC Real Time Chat"),e("OutboundLink")],1)])]),t._v(" "),e("h3",{attrs:{id:"forums"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#forums"}},[t._v("#")]),t._v(" Forums")]),t._v(" "),e("p",[t._v("AlmaLinux OS also provides public forums for free information sharing and assistance from other AlmaLinux members. Additional Subforum categories foster conversations around a specific aspect of AlmaLinux.")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://forums.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("AlmaLinux Forums"),e("OutboundLink")],1)])]),t._v(" "),e("h3",{attrs:{id:"mailing-lists"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#mailing-lists"}},[t._v("#")]),t._v(" Mailing Lists")]),t._v(" "),e("p",[t._v("You can receive information, announcements, news letters, and updates over email by subscribing to the "),e("a",{attrs:{href:"https://lists.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("AlmaLinux Mailing Lists"),e("OutboundLink")],1),t._v(".")]),t._v(" "),e("h3",{attrs:{id:"social-media"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#social-media"}},[t._v("#")]),t._v(" Social Media")]),t._v(" "),e("p",[t._v("If you want to stay up-to-date, stay tuned on AlmaLinux Social Media:")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://www.reddit.com/r/AlmaLinux/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Reddit Community"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://twitter.com/AlmaLinux",target:"_blank",rel:"noopener noreferrer"}},[t._v("X/Twitter"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://www.facebook.com/AlmaLinux/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Facebook"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://www.linkedin.com/company/almalinuxos/",target:"_blank",rel:"noopener noreferrer"}},[t._v("LinkedIn"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://fosstodon.org/@almalinux",target:"_blank",rel:"noopener noreferrer"}},[t._v("Mastodon"),e("OutboundLink")],1)])]),t._v(" "),e("h2",{attrs:{id:"chat-policies"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#chat-policies"}},[t._v("#")]),t._v(" Chat Policies")]),t._v(" "),e("p",[t._v("We kindly ask any Community member to:")]),t._v(" "),e("ul",[e("li",[t._v("Be respectful and polite to others.")]),t._v(" "),e("li",[t._v("Refrain from using offensive language or harassing others.")]),t._v(" "),e("li",[t._v("Be mindful of cultural and social sensitivities when engaging in conversation.")]),t._v(" "),e("li",[t._v("Avoid sharing personal information or disclosing confidential details.")]),t._v(" "),e("li",[t._v("Respect each other's diverse skills and abilities.")]),t._v(" "),e("li",[t._v("For those, who are sharing their expertise, provide as much detail as possible to enhance understanding and collaboration among all members.")]),t._v(" "),e("li",[t._v("Report any violations of the rules to the AlmaLinux OS Foundation.")])]),t._v(" "),e("h2",{attrs:{id:"getting-help-recommendations"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#getting-help-recommendations"}},[t._v("#")]),t._v(" Getting Help Recommendations")]),t._v(" "),e("p",[t._v("For the convenience of all Community members and a faster response, we advise minding these recommendations when posting a question/issue:")]),t._v(" "),e("ul",[e("li",[t._v("Formulate a question/problem. It should be formulated clearly and easily to understand.")]),t._v(" "),e("li",[t._v("Provide as many details including software/hardware information as possible.")]),t._v(" "),e("li",[t._v("Provide any logs that might be relevant and helpful.")]),t._v(" "),e("li",[e("a",{attrs:{href:"#providing-an-output"}},[t._v("Provide any command output")]),t._v(" that might be relevant and helpful.")])]),t._v(" "),e("h3",{attrs:{id:"providing-an-output"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#providing-an-output"}},[t._v("#")]),t._v(" Providing an output")]),t._v(" "),e("p",[t._v("When asking for assistance, we kindly ask you to use the mentioned below ways of sharing any output.")]),t._v(" "),e("p",[t._v("Note, that it's preferable and recommended to use "),e("code",[t._v("bash")]),t._v(" syntax.")]),t._v(" "),e("h4",{attrs:{id:"paste-almalinux-org"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#paste-almalinux-org"}},[t._v("#")]),t._v(" paste.almalinux.org")]),t._v(" "),e("p",[t._v("We suggest you use the "),e("a",{attrs:{href:"https://paste.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://paste.almalinux.org/"),e("OutboundLink")],1),t._v(" service for sharing your outputs.")]),t._v(" "),e("ul",[e("li",[e("p",[t._v("Navigate to "),e("a",{attrs:{href:"https://paste.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://paste.almalinux.org/"),e("OutboundLink")],1)])]),t._v(" "),e("li",[e("p",[t._v("Select "),e("code",[t._v("bash")]),t._v(" syntax.")])]),t._v(" "),e("li",[e("p",[t._v("Create a file name that is easy to understand.")]),t._v(" "),e("p",[e("img",{attrs:{src:"/images/help-and-support-paste-1.png",alt:"image"}})])]),t._v(" "),e("li",[e("p",[t._v("Enter your code/output in the window and select its expiration time.")]),t._v(" "),e("p",[e("img",{attrs:{src:"/images/help-and-support-paste-2.png",alt:"image"}})])]),t._v(" "),e("li",[e("p",[t._v("Click the "),e("strong",[t._v("Add another file")]),t._v(" to add more code/output pieces.")])]),t._v(" "),e("li",[e("p",[t._v("Click the "),e("strong",[t._v("Paste")]),t._v(" button to complete.")]),t._v(" "),e("p",[e("img",{attrs:{src:"/images/help-and-support-paste-3.png",alt:"image"}})])]),t._v(" "),e("li",[e("p",[t._v("Copy the link, paste it to the chat and send it with a message describing your problem. Download your output if needed for further usage.")]),t._v(" "),e("p",[e("img",{attrs:{src:"/images/help-and-support-paste-4.png",alt:"image"}})])])]),t._v(" "),e("h4",{attrs:{id:"markdown-code-block"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#markdown-code-block"}},[t._v("#")]),t._v(" Markdown code block")]),t._v(" "),e("p",[t._v("Another way to send your output is to use Markdown elements to enter your code/output.")]),t._v(" "),e("p",[e("strong",[t._v("This example is based on Mattermost chat.")])]),t._v(" "),e("ul",[e("li",[e("p",[t._v("Click on the "),e("code",[t._v("code")]),t._v(" chat element.")]),t._v(" "),e("p",[e("img",{attrs:{src:"/images/help-and-support-chat-element-1.png",alt:"image"}})])]),t._v(" "),e("li",[e("p",[t._v("It will create an input code element - ``. Extend it to be a code block and add bash syntax. Write your output into this code block.")]),t._v(" "),e("p",[t._v("```bash"),e("br"),t._v("\nenter your output"),e("br"),t._v("\n```")]),t._v(" "),e("p",[t._v("That is how it will look in the chat:\n"),e("img",{attrs:{src:"/images/help-and-support-chat-element-2.png",alt:"image"}})])]),t._v(" "),e("li",[e("p",[t._v("Click the "),e("em",[t._v("eye")]),t._v(" sign in the top left corner to preview how your output looks:\n"),e("img",{attrs:{src:"/images/help-and-support-chat-element-3.png",alt:"image"}})])]),t._v(" "),e("li",[e("p",[t._v("Send the output with a message describing your problem.")])])])])}),[],!1,null,null,null);e.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/3.6d852873.js b/assets/js/3.6d852873.js new file mode 100644 index 000000000..53d6889ca --- /dev/null +++ b/assets/js/3.6d852873.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[3,18,19],{240:function(t,e,n){"use strict";n.d(e,"d",(function(){return r})),n.d(e,"a",(function(){return s})),n.d(e,"i",(function(){return a})),n.d(e,"f",(function(){return l})),n.d(e,"g",(function(){return u})),n.d(e,"h",(function(){return c})),n.d(e,"b",(function(){return p})),n.d(e,"e",(function(){return d})),n.d(e,"k",(function(){return h})),n.d(e,"l",(function(){return f})),n.d(e,"c",(function(){return g})),n.d(e,"j",(function(){return m}));n(90);const r=/#.*$/,i=/\.(md|html)$/,s=/\/$/,a=/^[a-z]+:/i;function o(t){return decodeURI(t).replace(r,"").replace(i,"")}function l(t){return a.test(t)}function u(t){return/^mailto:/.test(t)}function c(t){return/^tel:/.test(t)}function p(t){if(l(t))return t;const e=t.match(r),n=e?e[0]:"",i=o(t);return s.test(i)?t:i+".html"+n}function d(t,e){const n=decodeURIComponent(t.hash),i=function(t){const e=t.match(r);if(e)return e[0]}(e);if(i&&n!==i)return!1;return o(t.path)===o(e)}function h(t,e,n){if(l(e))return{type:"external",path:e};n&&(e=function(t,e,n){const r=t.charAt(0);if("/"===r)return t;if("?"===r||"#"===r)return e+t;const i=e.split("/");n&&i[i.length-1]||i.pop();const s=t.replace(/^\//,"").split("/");for(let t=0;tfunction t(e,n,r,i=1){if("string"==typeof e)return h(n,e,r);if(Array.isArray(e))return Object.assign(h(n,e[0],r),{title:e[1]});{const s=e.children||[];return 0===s.length&&e.path?Object.assign(h(n,e.path,r),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:s.map(e=>t(e,n,r,i+1)),collapsable:!1!==e.collapsable}}}(t,i,n)):[]}return[]}function b(t){const e=g(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}))}]}function g(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(t=>2===t.level)}function m(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},241:function(t,e,n){},243:function(t,e,n){"use strict";n.r(e);var r={name:"DropdownTransition",methods:{setHeight(t){t.style.height=t.scrollHeight+"px"},unsetHeight(t){t.style.height=""}}},i=(n(244),n(14)),s=Object(i.a)(r,(function(){return(0,this._self._c)("transition",{attrs:{name:"dropdown"},on:{enter:this.setHeight,"after-enter":this.unsetHeight,"before-leave":this.setHeight}},[this._t("default")],2)}),[],!1,null,null,null);e.default=s.exports},244:function(t,e,n){"use strict";n(241)},246:function(t,e,n){},251:function(t,e,n){},253:function(t,e,n){"use strict";n(246)},254:function(t,e,n){"use strict";n.r(e);var r=n(267),i=n(256),s=n(240);function a(t,e){if("group"===e.type){const n=e.path&&Object(s.e)(t,e.path),r=e.children.some(e=>"group"===e.type?a(t,e):"page"===e.type&&Object(s.e)(t,e.path));return n||r}return!1}var o={name:"SidebarLinks",components:{SidebarGroup:r.default,SidebarLink:i.default},props:["items","depth","sidebarDepth","initialOpenGroupIndex"],data(){return{openGroupIndex:this.initialOpenGroupIndex||0}},watch:{$route(){this.refreshIndex()}},created(){this.refreshIndex()},methods:{refreshIndex(){const t=function(t,e){for(let n=0;n-1&&(this.openGroupIndex=t)},toggleGroup(t){this.openGroupIndex=t===this.openGroupIndex?-1:t},isActive(t){return Object(s.e)(this.$route,t.regularPath)}}},l=n(14),u=Object(l.a)(o,(function(){var t=this,e=t._self._c;return t.items.length?e("ul",{staticClass:"sidebar-links"},t._l(t.items,(function(n,r){return e("li",{key:r},["group"===n.type?e("SidebarGroup",{attrs:{item:n,open:r===t.openGroupIndex,collapsable:n.collapsable||n.collapsible,depth:t.depth},on:{toggle:function(e){return t.toggleGroup(r)}}}):e("SidebarLink",{attrs:{"sidebar-depth":t.sidebarDepth,item:n}})],1)})),0):t._e()}),[],!1,null,null,null);e.default=u.exports},256:function(t,e,n){"use strict";n.r(e);var r=n(240);function i(t,e,n,r,i){const s={props:{to:e,activeClass:"",exactActiveClass:""},class:{active:r,"sidebar-link":!0}};return i>2&&(s.style={"padding-left":i+"rem"}),t("RouterLink",s,n)}function s(t,e,n,a,o,l=1){return!e||l>o?null:t("ul",{class:"sidebar-sub-headers"},e.map(e=>{const u=Object(r.e)(a,n+"#"+e.slug);return t("li",{class:"sidebar-sub-header"},[i(t,n+"#"+e.slug,e.title,u,e.level-1),s(t,e.children,n,a,o,l+1)])}))}var a={functional:!0,props:["item","sidebarDepth"],render(t,{parent:{$page:e,$site:n,$route:a,$themeConfig:o,$themeLocaleConfig:l},props:{item:u,sidebarDepth:c}}){const p=Object(r.e)(a,u.path),d="auto"===u.type?p||u.children.some(t=>Object(r.e)(a,u.basePath+"#"+t.slug)):p,h="external"===u.type?function(t,e,n){return t("a",{attrs:{href:e,target:"_blank",rel:"noopener noreferrer"},class:{"sidebar-link":!0}},[n,t("OutboundLink")])}(t,u.path,u.title||u.path):i(t,u.path,u.title||u.path,d),f=[e.frontmatter.sidebarDepth,c,l.sidebarDepth,o.sidebarDepth,1].find(t=>void 0!==t),b=l.displayAllHeaders||o.displayAllHeaders;if("auto"===u.type)return[h,s(t,u.children,u.basePath,a,f)];if((d||b)&&u.headers&&!r.d.test(u.path)){return[h,s(t,Object(r.c)(u.headers),u.path,a,f)]}return h}},o=(n(253),n(14)),l=Object(o.a)(a,void 0,void 0,!1,null,null,null);e.default=l.exports},264:function(t,e,n){"use strict";n(251)},267:function(t,e,n){"use strict";n.r(e);var r=n(240),i={name:"SidebarGroup",components:{DropdownTransition:n(243).default},props:["item","open","collapsable","depth"],beforeCreate(){this.$options.components.SidebarLinks=n(254).default},methods:{isActive:r.e}},s=(n(264),n(14)),a=Object(s.a)(i,(function(){var t=this,e=t._self._c;return e("section",{staticClass:"sidebar-group",class:[{collapsable:t.collapsable,"is-sub-group":0!==t.depth},"depth-"+t.depth]},[t.item.path?e("RouterLink",{staticClass:"sidebar-heading clickable",class:{open:t.open,active:t.isActive(t.$route,t.item.path)},attrs:{to:t.item.path},nativeOn:{click:function(e){return t.$emit("toggle")}}},[e("span",[t._v(t._s(t.item.title))]),t._v(" "),t.collapsable?e("span",{staticClass:"arrow",class:t.open?"down":"right"}):t._e()]):e("p",{staticClass:"sidebar-heading",class:{open:t.open},on:{click:function(e){return t.$emit("toggle")}}},[e("span",[t._v(t._s(t.item.title))]),t._v(" "),t.collapsable?e("span",{staticClass:"arrow",class:t.open?"down":"right"}):t._e()]),t._v(" "),e("DropdownTransition",[t.open||!t.collapsable?e("SidebarLinks",{staticClass:"sidebar-group-items",attrs:{items:t.item.children,"sidebar-depth":t.item.sidebarDepth,"initial-open-group-index":t.item.initialOpenGroupIndex,depth:t.depth+1}}):t._e()],1)],1)}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/30.3b24559d.js b/assets/js/30.3b24559d.js new file mode 100644 index 000000000..7f9c06ea7 --- /dev/null +++ b/assets/js/30.3b24559d.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[30],{313:function(e,t,a){"use strict";a.r(t);var r=a(14),n=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"help-translating-the-site"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#help-translating-the-site"}},[e._v("#")]),e._v(" Help translating the site")]),e._v(" "),t("p",[e._v("The "),t("a",{attrs:{href:"https://almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("almalinux.org website"),t("OutboundLink")],1),e._v(" localization and translation is managed by "),t("a",{attrs:{href:"https://hosted.weblate.org/engage/almalinux/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Weblate"),t("OutboundLink")],1),e._v(" and supported by contributors. The translations that get submitted through Weblate are automatically submitted to the "),t("a",{attrs:{href:"https://github.com/AlmaLinux/almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("almalinux.org repo"),t("OutboundLink")],1),e._v(" as a pull request.")]),e._v(" "),t("p",[e._v("Pull requests from Weblate are reviewed by a member of the marketing SIG or another team lead, and merged as appropriate.")]),e._v(" "),t("p",[e._v("If you would like to help contribute to translations, you can do so by following the directions below!")]),e._v(" "),t("h2",{attrs:{id:"create-an-account"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#create-an-account"}},[e._v("#")]),e._v(" Create an account")]),e._v(" "),t("p",[e._v("First you need to create a "),t("a",{attrs:{href:"https://hosted.weblate.org/accounts/register/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Weblate"),t("OutboundLink")],1),e._v(" account. You could use accounts from other service providers or fill in the form shown below to create it.")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/weblate-create-account.png",alt:"image"}})]),e._v(" "),t("h2",{attrs:{id:"starting-to-translate"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#starting-to-translate"}},[e._v("#")]),e._v(" Starting to translate")]),e._v(" "),t("p",[e._v("After creating an account we need to head to "),t("a",{attrs:{href:"https://hosted.weblate.org/projects/almalinux/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Foundation Weblate"),t("OutboundLink")],1),e._v(":")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/weblate-almalinux-foundation.png",alt:"image"}})]),e._v(" "),t("p",[e._v("Choosing each one of the two should send you to a page similar to the image below.")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/weblate-translate-website.png",alt:"image"}})]),e._v(" "),t("p",[e._v("Then choose the language you want to translate to. For this example, I'll choose "),t("a",{attrs:{href:"https://hosted.weblate.org/translate/almalinux/website-backend/he/?q=state:%3Ctranslated",target:"_blank",rel:"noopener noreferrer"}},[e._v("Hebrew"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/weblate-send-translations.png",alt:"image"}})]),e._v(" "),t("p",[e._v('After translating from English to your chosen language (.e.g Hebrew) press on "Save and continue" and your translation will be sent eventually as a PR to the '),t("a",{attrs:{href:"https://github.com/AlmaLinux/almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("almalinux.org repo"),t("OutboundLink")],1),e._v(" and reviewed by a member of the marketing SIG or another team lead, then merged as appropriate.")]),e._v(" "),t("h2",{attrs:{id:"request-new-languages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#request-new-languages"}},[e._v("#")]),e._v(" Request new languages")]),e._v(" "),t("p",[e._v("You can request new languages to be added by creating a ticket in "),t("a",{attrs:{href:"https://github.com/AlmaLinux/almalinux.org/issues",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub issues"),t("OutboundLink")],1),e._v(", like so:")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/weblate-ask-new-lang.png",alt:"image"}})])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/31.18f8246f.js b/assets/js/31.18f8246f.js new file mode 100644 index 000000000..af0a2c434 --- /dev/null +++ b/assets/js/31.18f8246f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[31],{311:function(t,e,r){"use strict";r.r(e);var n=r(14),a=Object(n.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"almalinux-howto-guides-external"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-howto-guides-external"}},[t._v("#")]),t._v(" AlmaLinux Howto Guides (external)")]),t._v(" "),e("h2",{attrs:{id:"installation-guides"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#installation-guides"}},[t._v("#")]),t._v(" Installation Guides")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"/documentation/epel-and-rpmfusion"}},[t._v("EPEL and RPM Fusion")])]),t._v(" "),e("li",[e("a",{attrs:{href:"https://cloud7.news/how-tos/how-to-install-ioncube-loader-in-almalinux/",target:"_blank",rel:"noopener noreferrer"}},[t._v("ionCube Loader"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://cloud7.news/how-tos/how-to-install-varnish-on-almalinux/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Varnish"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://orcacore.com/install-nginx-web-server-almalinux-9/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Nginx"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://cloud7.news/how-tos/how-to-install-cpanel/",target:"_blank",rel:"noopener noreferrer"}},[t._v("cPanel"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://www.how2shout.com/linux/how-to-install-foreman-on-rocky-or-almalinux-8/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Foreman"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://wiki.crowncloud.net/?How_to_Install_phpMyAdmin_on_AlmaLinux_8",target:"_blank",rel:"noopener noreferrer"}},[t._v("phpMyAdmin"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://www.linode.com/docs/guides/install-and-use-apache-on-almalinux/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Apache Web Server"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://www.techrepublic.com/article/how-to-install-cpanelwhm-alternative-directadmin-on-almalinux/",target:"_blank",rel:"noopener noreferrer"}},[t._v("DirectAdmin"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://dev.to/inneutroncloud/how-to-install-redis-on-almalinux-8-52k",target:"_blank",rel:"noopener noreferrer"}},[t._v("Redis"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://mobilemonitoringsolutions.com/how-to-install-the-nosql-database-server-mongodb-on-linux/",target:"_blank",rel:"noopener noreferrer"}},[t._v("MongoDB"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://orcacore.com/install-configure-caddy-almalinux-8/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Caddy"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://www.hostnextra.com/kb/how-to-install-openssl-1-1-1i-on-almalinux/",target:"_blank",rel:"noopener noreferrer"}},[t._v("OpenSSL 1.1.1i"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://thishosting.rocks/how-to-install-wordpress-on-almalinux/",target:"_blank",rel:"noopener noreferrer"}},[t._v("WordPress with Nginx, PHP 8.1, and MariaDB"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://linuxstans.com/how-to-install-java-almalinux/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Java"),e("OutboundLink")],1)])]),t._v(" "),e("h2",{attrs:{id:"remote-desktop"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#remote-desktop"}},[t._v("#")]),t._v(" Remote Desktop")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://www.answertopia.com/almalinux/almalinux-remote-desktop-access-with-vnc/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Remote Desktop Access with VNC"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://www.answertopia.com/almalinux/displaying-almalinux-applications-remotely-x11-forwarding/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Displaying Applications Remotely (X11 Forwarding)"),e("OutboundLink")],1)])]),t._v(" "),e("h2",{attrs:{id:"virtualization"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#virtualization"}},[t._v("#")]),t._v(" Virtualization")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://docs.euro-linux.com/HowTo/vagrant-with-libvirt/",target:"_blank",rel:"noopener noreferrer"}},[t._v("vagrant-libvirt plugin"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://techviewleo.com/how-to-install-docker-ce-on-almalinux/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Docker CE"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://techviewleo.com/install-xcp-ng-vm-tools-on-centos-almalinux/",target:"_blank",rel:"noopener noreferrer"}},[t._v("XCP-ng VM Tools"),e("OutboundLink")],1)])]),t._v(" "),e("h2",{attrs:{id:"authentication-security"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#authentication-security"}},[t._v("#")]),t._v(" Authentication & Security")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://www.answertopia.com/almalinux/configuring-ssh-key-based-authentication-on-almalinux/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Configuring SSH Key-based Authentication"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://www.techrepublic.com/article/how-to-enable-ssh-2fa-on-almalinux-for-more-secure-logins/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Enabling SSH 2FA"),e("OutboundLink")],1)])]),t._v(" "),e("h2",{attrs:{id:"networking"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#networking"}},[t._v("#")]),t._v(" Networking")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://www.answertopia.com/almalinux/almalinux-network-management/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Network Configuration with NetworkManager"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://www.answertopia.com/almalinux/almalinux-firewall-configuration-with-firewalld/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Firewall Configuration with firewalld"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://www.answertopia.com/almalinux/using-nfs-on-almalinux-to-share-files-with-remote-systems/",target:"_blank",rel:"noopener noreferrer"}},[t._v("NFS File Sharing"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://www.answertopia.com/almalinux/sharing-files-between-almalinux-and-windows-with-samba/",target:"_blank",rel:"noopener noreferrer"}},[t._v("SAMBA File Sharing"),e("OutboundLink")],1)])]),t._v(" "),e("h1",{attrs:{id:"arm"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#arm"}},[t._v("#")]),t._v(" ARM")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://williamlam.com/2021/07/almalinux-os-8-4-on-esxi-arm.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("ESXI ARM support"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/AlmaLinux/raspberry-pi/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Raspberry Pi"),e("OutboundLink")],1)])]),t._v(" "),e("h2",{attrs:{id:"other"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#other"}},[t._v("#")]),t._v(" Other")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://gnulinux.ro/blog-page-8312-how-to-create-a-public-official-mirror-for-almalinux-in-three-steps",target:"_blank",rel:"noopener noreferrer"}},[t._v("Creating a mirror"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("RouterLink",{attrs:{to:"/documentation/kickstart-guide.html"}},[t._v("Unattended installation using kickstart")])],1)])])}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/32.b8ae77d4.js b/assets/js/32.b8ae77d4.js new file mode 100644 index 000000000..5df56be55 --- /dev/null +++ b/assets/js/32.b8ae77d4.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[32],{314:function(e,t,i){"use strict";i.r(t);var o=i(14),a=Object(o.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"live-media"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#live-media"}},[e._v("#")]),e._v(" Live Media")]),e._v(" "),t("h2",{attrs:{id:"about-live-media"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#about-live-media"}},[e._v("#")]),e._v(" About Live Media")]),e._v(" "),t("p",[e._v("Live Media is a way to try AlmaLinux on your computer without installing it to the hard drive. You can run it from a USB or DVD to preview and for system rescue needs. Images support both BIOS and UEFI, including Secure Boot mode.")]),e._v(" "),t("h2",{attrs:{id:"live-media-options"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#live-media-options"}},[e._v("#")]),e._v(" Live Media Options")]),e._v(" "),t("p",[e._v("There are a few AlmaLinux Live Media Options:")]),e._v(" "),t("ul",[t("li",[e._v("GNOME Mini: contains a core GNOME environment with Firefox browser")]),e._v(" "),t("li",[e._v("GNOME: contains a full GNOME environment with popular workstation applications like LibreOffice, Thunderbird and so on.")])]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/live-media-9-gnome.png",alt:"image"}})]),e._v(" "),t("ul",[t("li",[e._v("KDE: contains KDE desktop environment with Firefox browser, Konqueror browser, and applications like LibreOffice, Thunderbird, etc.")])]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/live-media-9-kde.png",alt:"image"}})]),e._v(" "),t("ul",[t("li",[e._v("MATE: contains MATE desktop environment with Firefox browser, LibreOffice and other applications.")])]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/live-media-9-mate.png",alt:"image"}})]),e._v(" "),t("ul",[t("li",[e._v("XFCE: contains XFCE desktop environment with Firefox browser, Thunderbird, LibreOffice, and more applications.")])]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/live-media-9-xfce.png",alt:"image"}})]),e._v(" "),t("h2",{attrs:{id:"how-to-download-and-write-images"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-to-download-and-write-images"}},[e._v("#")]),e._v(" How to download and write images")]),e._v(" "),t("p",[e._v("The first step is to download an AlmaLinux image:")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://repo.almalinux.org/almalinux/8/live/x86_64/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux 8 Live Images"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://repo.almalinux.org/almalinux/9/live/x86_64/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux 9 Live Images"),t("OutboundLink")],1)])]),e._v(" "),t("p",[e._v("Then it all depends on what OS you use.")]),e._v(" "),t("p",[t("strong",[e._v("Linux:")])]),e._v(" "),t("p",[e._v("It is simple to use the dd command for any Linux OS.")]),e._v(" "),t("p",[e._v("Insert your target USB and locate it. There are different ways to do it but here are some of them:")]),e._v(" "),t("ul",[t("li",[t("p",[t("code",[e._v("sudo fdisk -l")]),e._v(" - this command shows you the connected block storage devices, including the USB devices.")])]),e._v(" "),t("li",[t("p",[t("code",[e._v("lsblk")]),e._v(" - this command gives you all the available block storage devices, including the USB block storage devices.")])]),e._v(" "),t("li",[t("p",[t("code",[e._v("sudo blkid")]),e._v(" - this command gives you the same information as "),t("code",[e._v("lsblk")]),e._v(", but you have to rub it as root.")])])]),e._v(" "),t("p",[e._v("You need to look for /dev/sda or /dev/sdb or /dev/sdc, which is your target USB.")]),e._v(" "),t("p",[e._v("After you found out the location of your target USB, navigate to the location of your source ISO. Run dd command to copy files from ISO to USB:")]),e._v(" "),t("p",[t("code",[e._v("sudo dd if=/AlmaLinux-8-x86_64-Live-GNOME-Mini-beta-1.iso of=/dev/sdc status=progress")])]),e._v(" "),t("p",[t("code",[e._v("dd")]),e._v(": Start the dd command to write DVD/CD iso image.\n"),t("code",[e._v("if=AlmaLinux-8-x86_64-Live-GNOME-Mini-beta-1.iso")]),e._v(": path to the input file.\n"),t("code",[e._v("of=/dev/sdc")]),e._v(" : path to destination USB disk/stick.\n"),t("code",[e._v("status=progress")]),e._v(": display a progress bar while writing the image to the USB stick such as /dev/sdb.\nThat’s all! You now have ready Live AlmaLinux on a USB stick.")]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("This example is for AlmaLinux 8. Don't forget to replace "),t("strong",[e._v("8")]),e._v(" version with "),t("strong",[e._v("9")]),e._v(" to work with AlmaLinux 9 image.")])]),e._v(" "),t("p",[t("strong",[e._v("Windows:")])]),e._v(" "),t("p",[e._v("For Windows OS there is a helpful free and open-source application - "),t("a",{attrs:{href:"https://rufus.ie/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Rufus"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("p",[e._v("Open the application, choose your target USB, ISO you need to burn, press start - and Live OS is ready to run.")]),e._v(" "),t("p",[t("strong",[e._v("macOS:")])]),e._v(" "),t("p",[e._v("The cross-platform tool "),t("a",{attrs:{href:"https://www.balena.io/etcher/",target:"_blank",rel:"noopener noreferrer"}},[e._v("balenaEtcher"),t("OutboundLink")],1),e._v(" is used to write images on macOS. It is simple too. Open balenaEtcher, choose the image and the USB, press Flash.")]),e._v(" "),t("p",[e._v("More details and information about AlmaLinux Live Media can be found on "),t("a",{attrs:{href:"https://wiki.almalinux.org/sigs/LiveMedia.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("Live Media SIG"),t("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/33.e2513bee.js b/assets/js/33.e2513bee.js new file mode 100644 index 000000000..0b8de0b83 --- /dev/null +++ b/assets/js/33.e2513bee.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[33],{443:function(t,a,r){"use strict";r.r(a);var e=r(14),s=Object(e.a)({},(function(){var t=this,a=t._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"how-to-create-a-public-mirror-for-almalinux"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-to-create-a-public-mirror-for-almalinux"}},[t._v("#")]),t._v(" How to create a public mirror for AlmaLinux")]),t._v(" "),a("p",[t._v("Mirrors are extremely important to provide a fast and reliable\ninfrastructure, and we are very grateful to people and organizations that\nhelp us with this. The current list of public mirrors can be found on the\n"),a("a",{attrs:{href:"https://mirrors.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("mirrors.almalinux.org"),a("OutboundLink")],1),t._v(" website.")]),t._v(" "),a("p",[t._v("You can create a public AlmaLinux mirror in a few easy steps:")]),t._v(" "),a("ol",[a("li",[t._v("Make sure that you have enough free space: 500GB per major version is the suggested minimum. As there are currently two supported major versions (8 and 9) the recommended minimum storage space is 1TB.")])]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("Optional but recommended")]),t._v(" "),a("p",[t._v("Use updated version of "),a("code",[t._v("rsync")]),t._v(" with "),a("code",[t._v("xxhash")]),t._v(" support.")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("xxhash")]),t._v(" provides a superior hashing algorithm to "),a("code",[t._v("rsync")]),t._v(" which lightens the load on the source and destination\nservers.\nWe maintain an up-to-date version\nof "),a("code",[t._v("rsync")]),t._v(" in the AlmaLinux backports repository. To use this repository on EL8 and EL9 distros:"),a("div",{staticClass:"language-shell extra-class"},[a("pre",{pre:!0,attrs:{class:"language-shell"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[t._v("curl")]),t._v(" https://repo.almalinux.org/backports/almalinux-backports-rsync.repo "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("--output")]),t._v(" /etc/yum.repos.d/almalinux-backports-rsync.repo\nyum "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-y")]),t._v(" update "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("rsync")]),t._v("\n")])])])]),t._v(" "),a("li",[t._v("You can verify that you have the expected version of "),a("code",[t._v("rsync")]),t._v(" and "),a("code",[t._v("xxhash")]),t._v(" support as follows:"),a("div",{staticClass:"language-shell extra-class"},[a("pre",{pre:!0,attrs:{class:"language-shell"}},[a("code",[t._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("rsync")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("--version")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("|")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("grep")]),t._v(" xxhash\nxxh128 xxh3 xxh64 "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("xxhash"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" md5 md4 sha1 none\n")])])])])])]),t._v(" "),a("ol",{attrs:{start:"2"}},[a("li",[a("p",[t._v("Synchronize with the official AlmaLinux mirror via "),a("code",[t._v("rsync")]),t._v(":")]),t._v(" "),a("div",{staticClass:"language-shell extra-class"},[a("pre",{pre:!0,attrs:{class:"language-shell"}},[a("code",[t._v("/usr/bin/rsync "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-avSH")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("--exclude")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'.~tmp~'")]),t._v(" --delete-delay --delay-updates rsync://rsync.repo.almalinux.org/almalinux/ /almalinux/dir/on/your/server/\n")])])]),a("ul",[a("li",[t._v("The official tier0 rsync mirrors are in Atlanta, GA, USA, and Seattle, WA, USA. We use geolocation-based DNS steering to send your traffic to the closest tier0 mirror. If your mirror is not in the United States or you are\notherwise seeing suboptimal speed from this source we recommend performing the "),a("strong",[t._v("initial")]),t._v(" sync from a mirror\nclose to you. Make sure that your cron syncs from the official mirror, however.")])])]),t._v(" "),a("li",[a("p",[t._v("Create a cron task to sync it periodically (we recommend updating the\nmirror every 3 hours):")]),t._v(" "),a("div",{staticClass:"language-shell extra-class"},[a("pre",{pre:!0,attrs:{class:"language-shell"}},[a("code",[a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),t._v(" */3 * * * "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("sleep")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token variable"}},[a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("$((")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("RANDOM\\"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("%")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("3500")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("))")])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("&&")]),t._v(" /usr/bin/flock "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-n")]),t._v(" /var/run/almalinux_rsync.lock "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-c")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("\"/usr/bin/rsync -avSH --exclude='.~tmp~' --delete-delay --delay-updates rsync://rsync.repo.almalinux.org/almalinux/ /almalinux/dir/on/your/server/\"")]),t._v("\n")])])])]),t._v(" "),a("li",[a("p",[t._v("Ensure the accuracy of city, longitude, and latitude data for your mirror IP(s) with IPinfo at\n"),a("a",{attrs:{href:"https://ipinfo.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://ipinfo.io"),a("OutboundLink")],1),t._v(".\nSubmit a "),a("a",{attrs:{href:"https://ipinfo.io/corrections",target:"_blank",rel:"noopener noreferrer"}},[t._v("correction request"),a("OutboundLink")],1),t._v(" with accurate city data\nif the information is incorrect.")]),t._v(" "),a("p",[t._v("Our mirrorlist URL tries to serve the best mirror to a client based on IPinfo geolocation data\nso having accurate IPinfo data ensures the best possible experience for users.")])]),t._v(" "),a("li",[a("p",[t._v("Join the "),a("a",{attrs:{href:"https://lists.almalinux.org/mailman3/lists/mirror-announce.lists.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("mirror-announce"),a("OutboundLink")],1),t._v(" mailing list to receive\nimportant mirror-related updates from the AlmaLinux team.")]),t._v(" "),a("p",[t._v("You may also consider joining the "),a("a",{attrs:{href:"https://lists.almalinux.org/mailman3/lists/mirror.lists.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("mirror"),a("OutboundLink")],1),t._v(" mailing list for\ngeneral discussion/help related to mirrors.")]),t._v(" "),a("p",[t._v("We recommend joining the "),a("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/mirrors",target:"_blank",rel:"noopener noreferrer"}},[t._v("mirrors channel on Mattermost"),a("OutboundLink")],1),t._v(" for any questions\nas well as updates from our team that impact mirror hosts in a live interactive format.")])]),t._v(" "),a("li",[a("p",[t._v("Fork the "),a("a",{attrs:{href:"https://github.com/AlmaLinux/mirrors/",target:"_blank",rel:"noopener noreferrer"}},[t._v("github.com/AlmaLinux/mirrors"),a("OutboundLink")],1),t._v("\nrepository and create a pull request that will add a YAML file describing\nyour mirror to the "),a("code",[t._v("mirrors.d")]),t._v(" directory.\nYou can use the "),a("a",{attrs:{href:"https://github.com/AlmaLinux/mirrors/blob/master/mirrors.d/repo.almalinux.org.yml",target:"_blank",rel:"noopener noreferrer"}},[t._v("official AlmaLinux repo file"),a("OutboundLink")],1),t._v("\nas an example. Your mirror does not have to provide all the protocols\nthat our main mirror provides, but either HTTP or HTTPS is required. Format of a mirror's config is described below.\nAlso, you can validate your config to use some JSON online validator using "),a("a",{attrs:{href:"https://github.com/AlmaLinux/mirrors/blob/yaml_snippets/json_schemas/mirror_config.json",target:"_blank",rel:"noopener noreferrer"}},[t._v("that JSON schema"),a("OutboundLink")],1),t._v(" and converting your config to JSON.")]),t._v(" "),a("div",{staticClass:"language-YAML extra-class"},[a("pre",{pre:!0,attrs:{class:"language-yaml"}},[a("code",[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("---")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("name")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("cloud_type")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("address")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("http")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("https")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("rsync")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("ftp")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("update_frequency")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("sponsor")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("sponsor_url")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("email")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("geolocation")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("continent")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("country")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("state_province")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("city")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("private")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("monopoly")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# The list will be required if a mirror is local or cloud.")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# It contains subnets behind which located a private mirror.")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Also, it can be string and contains URL which returns json list with subnets")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("subnets")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" ")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# That parameter can specify ASN which is maintained by a mirror is located in cloud")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# It can be number or list of numbers:")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# asn: 40162")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# or")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# asn:")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# - 41222")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# - 91213")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# or")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# asn: [12345, 98765]")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("asn")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ")]),t._v(".\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# The list will be required if a mirror is located in Azure/AWS cloud")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("cloud_regions")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" ")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("...")]),t._v("\n")])])]),a("p",[t._v("You could find more information about creating a pull request in\n"),a("a",{attrs:{href:"https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request",target:"_blank",rel:"noopener noreferrer"}},[t._v("GitHub documentation"),a("OutboundLink")],1),t._v(".\nAfter reviewing the pull request your mirror will be published at the\n"),a("a",{attrs:{href:"https://mirrors.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("mirrors.almalinux.org"),a("OutboundLink")],1),t._v(" page and will\nbe added to the mirrorlists that dnf package manager works with.")])])]),t._v(" "),a("p",[t._v("All mirror hosts are eligible for membership to the AlmaLinux OS Foundation.\nMake sure you submit your "),a("a",{attrs:{href:"https://almalinux.org/foundation/members/",target:"_blank",rel:"noopener noreferrer"}},[t._v("application for membership"),a("OutboundLink")],1),t._v("!")])])}),[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/34.483563b9.js b/assets/js/34.483563b9.js new file mode 100644 index 000000000..534df51c9 --- /dev/null +++ b/assets/js/34.483563b9.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{315:function(t,a,r){"use strict";r.r(a);var i=r(14),e=Object(i.a)({},(function(){var t=this,a=t._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"about-almalinux-wiki"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#about-almalinux-wiki"}},[t._v("#")]),t._v(" About AlmaLinux Wiki")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("AlmaLinux"),a("OutboundLink")],1),t._v(" is an Open Source and forever-free enterprise Linux distribution, governed and driven by the community, focused on long-term stability and a robust production grade platform. AlmaLinux OS is binary compatible with RHEL®. The "),a("RouterLink",{attrs:{to:"/Transparency.html"}},[t._v("AlmaLinux OS Foundation")]),t._v(" was established as a 501(c)(6) non-profit to steward ownership and governance of the project. The foundation includes over 400 individual members, over 100 Mirror sponsors, and over 25 Corporate sponsors.")],1),t._v(" "),a("div",[a("div",[a("img",{staticStyle:{float:"right","margin-right":"80px","margin-top":"30px"},attrs:{src:"/images/hero.png"}})]),t._v(" "),a("div",[a("h2",[t._v("Quick Links & Resources")]),t._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://almalinux.org/"}},[t._v("almalinux.org")]),t._v(" - Official Web Site")]),t._v(" "),a("li",[a("a",{attrs:{href:"https://blog.almalinux.org"}},[t._v("blog.almalinux.org")]),t._v(" - Blog")]),t._v(" "),a("li",[a("a",{attrs:{href:"https://forums.almalinux.org"}},[t._v("forums.almalinux.org")]),t._v(" - Forums")]),t._v(" "),a("li",[a("a",{attrs:{href:"https://bugs.almalinux.org"}},[t._v("bugs.almalinux.org")]),t._v(" - Bug Tracker")]),t._v(" "),a("li",[a("a",{attrs:{href:"https://build.almalinux.org/"}},[t._v("build.almalinux.org")]),t._v(" - Build System")]),t._v(" "),a("li",[a("a",{attrs:{href:"https://lists.almalinux.org"}},[t._v("lists.almalinux.org")]),t._v(" - Mailing Lists")]),t._v(" "),a("li",[a("a",{attrs:{href:"https://chat.almalinux.org"}},[t._v("chat.almalinux.org")]),t._v(" - Mattermost Community Chat")]),t._v(" "),a("li",[a("a",{attrs:{href:"https://web.libera.chat/#almalinux"}},[t._v("Libera Chat IRC")]),t._v(" - IRC Real Time Chat")]),t._v(" "),a("li",[a("a",{attrs:{href:"https://www.reddit.com/r/AlmaLinux/"}},[t._v("reddit.com/r/AlmaLinux")]),t._v(" - Reddit Community")]),t._v(" "),a("li",[a("a",{attrs:{href:"https://repo.almalinux.org/"}},[t._v("repo.almalinux.org")]),t._v(" - Public Package Repository")]),t._v(" "),a("li",[a("a",{attrs:{href:"https://status.almalinux.org/"}},[t._v("status.almalinux.org")]),t._v(" - Public Status Page")]),t._v(" "),a("li",[a("b",[t._v("Cloud Images ")]),t._v("(and Sources) for AWS, Google Cloud, Generic/Cloud-Init, LXC/LXD")]),t._v(" "),a("li",[a("a",{attrs:{href:"https://github.com/AlmaLinux/cloud-images"}},[t._v("AlmaLinux Cloud Images")])]),t._v(" "),a("li",[a("a",{attrs:{href:"cloud/AWS"}},[t._v("Expanded documentation on AWS")])]),t._v(" "),a("li",[a("a",{attrs:{href:"cloud/Generic-cloud"}},[t._v("Expanded documentation on Generic Cloud/Cloud-Init")])]),t._v(" "),a("li",[a("b",[t._v("Container Images")]),t._v(":\n "),a("ul",[a("li",[a("a",{attrs:{href:"https://hub.docker.com/_/almalinux"}},[t._v("hub.docker.com/_/almalinux")]),t._v(" - AlmaLinux official images on Docker Hub")]),t._v(" "),a("li",[a("a",{attrs:{href:"https://quay.io/repository/almalinuxorg/almalinux"}},[t._v("quay.io/repository/almalinuxorg/almalinux")]),t._v(" - AlmaLinux official images on Quay.io")])])]),t._v(" "),a("li",[t._v("Vagrant Boxes:\n "),a("ul",[a("li",[a("a",{attrs:{href:"https://app.vagrantup.com/almalinux"}},[t._v("app.vagrantup.com/almalinux")]),t._v(" - AlmaLinux on Vagrant Cloud")])])])])])]),t._v(" "),a("h2",{attrs:{id:"contributions-to-the-wiki"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#contributions-to-the-wiki"}},[t._v("#")]),t._v(" Contributions to the Wiki")]),t._v(" "),a("p",[t._v("There are many ways to contribute to the wiki! To see how, check out the "),a("a",{attrs:{href:"https://wiki.almalinux.org/Contribute-to-Documentation.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("Contributing to Documentation"),a("OutboundLink")],1),t._v(" guide. Before submitting pull requests, always make sure that your updates will build and display correctly, by testing in your local environment using "),a("code",[t._v("yarn docs:dev")]),t._v(".")]),t._v(" "),a("h3",{attrs:{id:"transparency-statement"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#transparency-statement"}},[t._v("#")]),t._v(" Transparency Statement")]),t._v(" "),a("ul",[a("li",[t._v("We are community-owned, which requires transparency. Here is our "),a("RouterLink",{attrs:{to:"/Transparency.html"}},[t._v("progress toward that goal")]),t._v(".")],1),t._v(" "),a("li",[t._v("Minutes from the "),a("RouterLink",{attrs:{to:"/Transparency.html#-minutes-of-almalinux-os-foundation-board-meetings"}},[t._v("meetings of the board of directors")])],1)]),t._v(" "),a("h3",{attrs:{id:"license"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#license"}},[t._v("#")]),t._v(" License")]),t._v(" "),a("p",[t._v("This Wiki content is licensed under a "),a("a",{attrs:{href:"https://creativecommons.org/licenses/by-sa/4.0/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Creative Commons Attribution-ShareAlike 4.0 International License"),a("OutboundLink")],1),t._v(".")])])}),[],!1,null,null,null);a.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/35.ed3bc29b.js b/assets/js/35.ed3bc29b.js new file mode 100644 index 000000000..6e6cc065e --- /dev/null +++ b/assets/js/35.ed3bc29b.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[35],{316:function(e,t,r){"use strict";r.r(t);var n=r(14),o=Object(n.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"almalinux-os-foundation"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-os-foundation"}},[e._v("#")]),e._v(" AlmaLinux OS Foundation")]),e._v(" "),t("p",[e._v("The AlmaLinux OS Foundation is 501(c)(6) non-profit organization. It owns all assets related to AlmaLinux OS. It is governed by a set of "),t("a",{attrs:{href:"https://almalinux.org/p/foundation-bylaws/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Bylaws"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"we-strive-to-be-transparent"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#we-strive-to-be-transparent"}},[e._v("#")]),e._v(" We strive to be transparent")]),e._v(" "),t("p",[e._v("The goals of a Community-owned operating system needs to include transparency in all things. If you ever have a question, request, or need that isn't being satisfied through the available channels, you may always reach out to any member of the board for assistance. As of January 10th, 2023 the board has adopted a "),t("a",{attrs:{href:"https://drive.google.com/file/d/1ABs_XdwXLgpfAOXfNBw-_KoQuQofAORI/view?usp=share_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("Code of Ethics"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("p",[e._v("As of December 17, 2023, the foundation has a 9 board directors.")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://www.linkedin.com/in/bennyvasquez/",target:"_blank",rel:"noopener noreferrer"}},[e._v("benny Vasquez"),t("OutboundLink")],1),e._v(" - benny is the current Chair of the board of AlmaLinux OS Foundation")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://www.linkedin.com/in/jackaboutboul/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Jack Aboutboul"),t("OutboundLink")],1),e._v(" - Jack is a current Director and Community Leader at AlmaLinux")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://en.wikipedia.org/wiki/Simon_Phipps_(programmer)",target:"_blank",rel:"noopener noreferrer"}},[e._v("Simon Phipps"),t("OutboundLink")],1),e._v(" - Simon is a current Director at AlmaLinux and former president of the Open Source Initiative")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://www.linkedin.com/in/jessejester/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Jesse Asklund"),t("OutboundLink")],1),e._v(" - Jesse is a current Director at AlmaLinux and the CXO at WebPros")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://www.linkedin.com/in/daniel-pearson-b2559b60/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Daniel Pearson"),t("OutboundLink")],1),e._v(" - Daniel is a current Director at AlmaLinux and is the CEO of KnownHost, LLC (promoted from COO during the election window), a current AlmaLinux Gold Sponsor, serves on the AlmaLinux OS Foundation membership committee.")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://en.wikipedia.org/wiki/Moshe_Bar_(investor)",target:"_blank",rel:"noopener noreferrer"}},[e._v("Moshe Bar"),t("OutboundLink")],1),e._v(" - Moshe is a current Director at AlmaLinux and is the CEO of CodeNotary, Inc., an AlmaLinux Gold Sponsor")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://www.linkedin.com/in/iribarren/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Alex Iribarren"),t("OutboundLink")],1),e._v(" - Alex is a current Director at AlmaLinux, and a penguin herder at CERN")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://www.linkedin.com/in/jun-yoshida-6b4b5a16/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Jun Yoshida"),t("OutboundLink")],1),e._v(" - Jun is a current Director at AlmaLinux, and is the driving force behind MIRACLE LINUX")])]),e._v(" "),t("p",[e._v("Non-voting invited experts to the board")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://www.linkedin.com/in/davidsnead",target:"_blank",rel:"noopener noreferrer"}},[e._v("David Snead"),t("OutboundLink")],1),e._v(" - David is the current Legal Counsel at WebPros and acts in a general advisory role for the AlmaLinux OS Foundation board")])]),e._v(" "),t("h2",{attrs:{id:"first-board-elections"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#first-board-elections"}},[e._v("#")]),e._v(" First board elections")]),e._v(" "),t("ul",[t("li",[e._v("Sept 20, 2022 - "),t("a",{attrs:{href:"https://almalinux.org/blog/first-almalinux-board-election-announces-7-new-seats/",target:"_blank",rel:"noopener noreferrer"}},[e._v("First AlmaLinux Board Election Announces 7 New Seats"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Aug 9, 2022 - "),t("a",{attrs:{href:"https://almalinux.org/blog/first-almalinux-os-foundation-election/",target:"_blank",rel:"noopener noreferrer"}},[e._v("First AlmaLinux Community Election Coming Soon!"),t("OutboundLink")],1)])]),e._v(" "),t("h2",{attrs:{id:"the-plans-for-the-board"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#the-plans-for-the-board"}},[e._v("#")]),e._v(" The plans for the board")]),e._v(" "),t("ul",[t("li",[e._v("The board has completed the membership structure, and has opened membership. "),t("a",{attrs:{href:"https://almalinux.org/blog/what-almalinux-foundation-membership-means-for-you/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Blog post"),t("OutboundLink")],1),e._v(" "),t("a",{attrs:{href:"https://www.businesswire.com/news/home/20211005005953/en/AlmaLinux-OS-Foundation-Membership-Opens-to-the-Public",target:"_blank",rel:"noopener noreferrer"}},[e._v("Press Release"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Igor Seletskiy has stepped down from the Board of Directors, and the Board has elected benny Vasquez to replace him.")]),e._v(" "),t("li",[e._v("The board will be expanded to up to 13 directors (as new Platinum members arrive) to make sure that no single company controls the AlmaLinux OS Foundation.")])]),e._v(" "),t("h2",{attrs:{id:"assets-and-build-environment"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#assets-and-build-environment"}},[e._v("#")]),e._v(" Assets and build environment")]),e._v(" "),t("p",[e._v("All the code we release is under GPL3 or MIT license.\nAll the trademarks and assets are owned by AlmaLinux OS Foundation.")]),e._v(" "),t("p",[e._v("Some assets were initially owned by CloudLinux, Inc, but were transferred from CloudLinux to the AlmaLinux OS Foundation.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",{staticStyle:{"text-align":"left"}},[e._v("asset")]),e._v(" "),t("th",{staticStyle:{"text-align":"left"}},[e._v("What needs to be done")]),e._v(" "),t("th",{staticStyle:{"text-align":"left"}},[e._v("Status")])])]),e._v(" "),t("tbody",[t("tr",[t("td",{staticStyle:{"text-align":"left"}},[e._v("almalinux.org domain")]),e._v(" "),t("td",{staticStyle:{"text-align":"left"}},[e._v("Assign the rights to AlmaLinux, in theory, we can leave the control over it to the CloudLinux IT folks, same as over the rest AlmaLinux infrastructure")]),e._v(" "),t("td",{staticStyle:{"text-align":"left"}},[e._v("DONE as of May 24, 2021")])]),e._v(" "),t("tr",[t("td",{staticStyle:{"text-align":"left"}},[e._v("AlmaLinux OS trademark sublicense")]),e._v(" "),t("td",{staticStyle:{"text-align":"left"}},[e._v("Request CloudLinux Foundation to re-assign AlmaLinux OS from CL to AlmaLinux OS Foundation")]),e._v(" "),t("td",{staticStyle:{"text-align":"left"}},[e._v("DONE, Sublicense ID number 20210506-0001")])]),e._v(" "),t("tr",[t("td",{staticStyle:{"text-align":"left"}},[e._v("social media accounts")]),e._v(" "),t("td",{staticStyle:{"text-align":"left"}},[e._v("Reassign them to AlmaLinux OS Foundation.")]),e._v(" "),t("td",{staticStyle:{"text-align":"left"}},[t("RouterLink",{attrs:{to:"/Marketing.html#social-media-accounts"}},[e._v("In Progress")])],1)]),e._v(" "),t("tr",[t("td",{staticStyle:{"text-align":"left"}},[e._v("github almalinux account")]),e._v(" "),t("td",{staticStyle:{"text-align":"left"}},[e._v("Already open-sourced, nothing needs to be done")]),e._v(" "),t("td",{staticStyle:{"text-align":"left"}},[e._v("DONE")])]),e._v(" "),t("tr",[t("td",{staticStyle:{"text-align":"left"}},[e._v("Build/Test system")]),e._v(" "),t("td",{staticStyle:{"text-align":"left"}},[e._v("Work has started to open source it, but it will require some time. ETA - end of Q2 or Q3")]),e._v(" "),t("td",{staticStyle:{"text-align":"left"}},[t("a",{attrs:{href:"https://github.com/AlmaLinux/build-system",target:"_blank",rel:"noopener noreferrer"}},[e._v("DONE"),t("OutboundLink")],1)])]),e._v(" "),t("tr",[t("td",{staticStyle:{"text-align":"left"}},[e._v("RPM signing keys")]),e._v(" "),t("td",{staticStyle:{"text-align":"left"}},[e._v('Need to be "assigned" as belonging to AlmaLinux OS Foundation, need to come up with signing ceremony, who controls it')]),e._v(" "),t("td",{staticStyle:{"text-align":"left"}},[e._v("Q3 2023: Need to come up with rules for holding keys")])]),e._v(" "),t("tr",[t("td",{staticStyle:{"text-align":"left"}},[e._v("EV certificate for Secure Boot")]),e._v(" "),t("td",{staticStyle:{"text-align":"left"}},[e._v("We've been on an AlmaLinux owned cert since 8.8/9.2")]),e._v(" "),t("td",{staticStyle:{"text-align":"left"}},[e._v("DONE")])]),e._v(" "),t("tr",[t("td",{staticStyle:{"text-align":"left"}},[e._v("Logo License for the foundation")]),e._v(" "),t("td",{staticStyle:{"text-align":"left"}},[e._v("Transfer documents, and initial acquisition document uploaded into a Logo Transfer folder, transfer document signed")]),e._v(" "),t("td",{staticStyle:{"text-align":"left"}},[e._v("DONE - all assets in the Google drive")])])])]),e._v(" "),t("h2",{attrs:{id:"minutes-of-almalinux-os-foundation-board-meetings"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#minutes-of-almalinux-os-foundation-board-meetings"}},[e._v("#")]),e._v(" Minutes of AlmaLinux OS Foundation Board Meetings")]),e._v(" "),t("p",[e._v("The Board of Directors meets monthly on the second Tuesday of the month. At each meeting, the board works to keep minutes so that they can be approved as part of that meeting and shared immediately after the meeting completes. In the event that there is little to discuss, the Chair of the board may opt to cancel a meeting, allowing the board to meet every other month.")]),e._v(" "),t("ul",[t("li",[e._v("Oct 08, 2024 "),t("a",{attrs:{href:"https://docs.google.com/document/d/1FZQsb3KNn1SD8InYPjWI3WnCm25a0oQ2BLjHlrf7KRo",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #35 agenda"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Sep 10, 2024 "),t("a",{attrs:{href:"https://drive.google.com/file/d/1vhhTag5m0ptVlB2m7-knUFUdaoP1Aund/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #34 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Aug 13, 2024 "),t("a",{attrs:{href:"https://drive.google.com/file/d/10k4DAo0K_XISKHdpxiLZDwPwei3zKVFH/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #33 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Jun, July, 2024 (meetings cancelled)")]),e._v(" "),t("li",[e._v("May 08, 2024 "),t("a",{attrs:{href:"https://drive.google.com/file/d/1rPU7QhRbLOsSrZBQcW5xQEItwgbP1Vt1/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #32 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Apr 10, 2024 "),t("a",{attrs:{href:"https://drive.google.com/file/d/1A8DaxM9_4Cl927N4JEvUq7Sjs9e0VwMb/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #31 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Mar 13, 2024 "),t("a",{attrs:{href:"https://drive.google.com/file/d/1IBJC4YrB8wMvUd8Nka4FBoDik4TYAw34/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #30 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Feb 14, 2024 "),t("a",{attrs:{href:"https://drive.google.com/file/d/1pvtPWbg9CIEJWbIyb-xLd_4m93Z52DU9/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #29 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Dec 13, 2023 "),t("a",{attrs:{href:"https://drive.google.com/file/d/1s-AyjmpykKkoO8h0khlIVj6Rqw8x2hEy/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #28 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Nov 08, 2023 "),t("a",{attrs:{href:"https://drive.google.com/file/d/1mrl35cc1ASpqqvmHxzdxFfMJKja5574H/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #27 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Oct 18, 2023 "),t("a",{attrs:{href:"https://drive.google.com/file/d/1tcAdwSuxb36LkBbY0pF0XDMlp02lLmTS/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #26 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Sep 13, 2023 "),t("a",{attrs:{href:"https://drive.google.com/file/d/11whNmCaARxwlYhni_htvejf10NJNBCWJ/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #25 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Aug 09, 2023 "),t("a",{attrs:{href:"https://drive.google.com/file/d/1aCoa7jZeBE5F1m3rXdORxJ80Ry6eCYGi/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #24 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Jul 12, 2032 "),t("a",{attrs:{href:"https://drive.google.com/file/d/13q6udmzAEqHIoPf2cQJ-QJrYosaFWd_m/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #23 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Jun 22, 2023 "),t("a",{attrs:{href:"https://drive.google.com/file/d/1FZhhMaLgrTd7fN50pGyZPdKEb9UJ6HF-/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #22 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("May 10, 2023 "),t("a",{attrs:{href:"https://drive.google.com/file/d/17ZykiqjnYcr6OTs-pCuBP2oUc4wKQYye/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #21 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Apr 12, 2023 (cancelled due to lack of quorum - some matters voted on via email, confirmed in the May meeting)")]),e._v(" "),t("li",[e._v("Mar 08, 2023 "),t("a",{attrs:{href:"https://drive.google.com/file/d/1nOwQd2WoXaywu64ZS60qwvyd0lPda1eB/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #20 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Feb 14, 2023 "),t("a",{attrs:{href:"https://drive.google.com/file/d/1U7o8E1Y4ozS9smrD4vczLKkGSH76RK1E/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #19 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Jan 10, 2023 "),t("a",{attrs:{href:"https://drive.google.com/file/d/1F4pJrldgJ8ysY64Y_9yDxd2BuNp-MKfs/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #18 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Dec 13, 2022 "),t("a",{attrs:{href:"https://drive.google.com/file/d/18qyOYEgX-0kVrCGXzaVhdUqUKTwPzrud/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #17 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Oct 11, 2022 "),t("a",{attrs:{href:"https://drive.google.com/file/d/1uTh_VK4qIHFSVA1gJjJRhC4JXB1paGgC/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #16 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Sep 13, 2022 "),t("a",{attrs:{href:"https://drive.google.com/file/d/1KkqLjPie2EqMpL-wcfnAF0NG730vy-ci/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #15 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Aug 11, 2022 "),t("a",{attrs:{href:"https://drive.google.com/file/d/1jCi_qP-1WISzze2_cvyK7SSEdGvhoYDo/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #14 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Jul 12, 2022 "),t("a",{attrs:{href:"https://drive.google.com/file/d/1rptJ_BJrxuh5HThLs088satKg7Y6TtUM/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #13 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Jun 14, 2022 "),t("a",{attrs:{href:"https://drive.google.com/file/d/1ObYS_7CYsidrRnBUI6rTfR5eOBJQxI6F/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #12 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Apr 19, 2022 "),t("a",{attrs:{href:"https://drive.google.com/file/d/1hm-pB_E5S9ZxG8zHv6yDOpYTr7IgRt5n/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #11 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Mar 08, 2022 "),t("a",{attrs:{href:"https://drive.google.com/file/d/1hSis_UUekbtPOh038tEiNpyqIe72vrOl/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #10 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Feb 15, 2022 "),t("a",{attrs:{href:"https://drive.google.com/file/d/1UQZ2hPXEZgn2Ha8sGMGUr7-PRao7R4fb/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #9 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Dec 06, 2021 "),t("a",{attrs:{href:"https://drive.google.com/file/d/1p-LQWuENiS-KZNPoB89Fblkey5TiJEeV/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #8 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Nov 08, 2021 "),t("a",{attrs:{href:"https://drive.google.com/file/d/1X8BNjupxLusluUq2q-phwWMe0C0sGD_K/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #7 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Oct 11, 2021 "),t("a",{attrs:{href:"https://drive.google.com/file/d/1q_7xDNOt4yieXnP5eF4kAcKWtmaAzQiq/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #6 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Sep 13, 2021 "),t("a",{attrs:{href:"https://drive.google.com/file/d/1x5k1wUv9UtkNvXu-JBbVb9JFNPyo67vm/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #5 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Aug 16, 2021 "),t("a",{attrs:{href:"https://drive.google.com/file/d/1TAXkQg2kh8Hj-yyF0Hyx1CIJsOg3QCtp/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #4 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Jul 19, 2021 "),t("a",{attrs:{href:"https://drive.google.com/file/d/1YfpQMs2YRiozcMyGvHjeP1Nr2cp3hD9u/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #3 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Jun 14, 2021 "),t("a",{attrs:{href:"https://drive.google.com/file/d/1hwcgIacCug0TESfohIB-mEiYs69BCLfv/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #2 minutes"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("May 12, 2021 "),t("a",{attrs:{href:"https://drive.google.com/file/d/1O2oNPu9rXxnu0IjYkdeS3dDfKN4YKVsJ/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Board meeting #1 minutes"),t("OutboundLink")],1)])]),e._v(" "),t("h2",{attrs:{id:"membership-committee"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#membership-committee"}},[e._v("#")]),e._v(" Membership Committee")]),e._v(" "),t("p",[e._v("In September of 2021, the Board of Directors "),t("a",{attrs:{href:"https://almalinux.org/blog/what-almalinux-foundation-membership-means-for-you/",target:"_blank",rel:"noopener noreferrer"}},[e._v("opened up membership applications"),t("OutboundLink")],1),e._v(" for all the members of the AlmaLinux community wishing to participate in the future of AlmaLinux. The Board also ratified the Membership Committee Governance, and appointed a selection of existing Foundation Members to participate in the Membership Committee.")]),e._v(" "),t("p",[e._v("The Membership Committee meets on the third Tuesday of every month for 30 minutes as long as there are applicants to be reviewed, and reviews as many applications as the time allows.")]),e._v(" "),t("p",[e._v("As of Oct 11, 2021 the Membership Committee consists of:")]),e._v(" "),t("ul",[t("li",[e._v("Daniel Pearson, COO of KnownHost, and Current Chair of the Membership Committee")]),e._v(" "),t("li",[e._v("benny Vasquez, "),t("a",{attrs:{href:"https://almalinux.org/blog/hi-im-benny-how-can-i-help/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Current Chair of the Board of Directors"),t("OutboundLink")],1)])])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/36.37c66636.js b/assets/js/36.37c66636.js new file mode 100644 index 000000000..1fb1159ad --- /dev/null +++ b/assets/js/36.37c66636.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[36],{317:function(e,t,i){"use strict";i.r(t);var a=i(14),n=Object(a.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h6",{attrs:{id:"last-updated-2024-05-20"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#last-updated-2024-05-20"}},[e._v("#")]),e._v(" last updated: 2024-05-20")]),e._v(" "),t("h1",{attrs:{id:"alesco"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#alesco"}},[e._v("#")]),e._v(" ALESCo")]),e._v(" "),t("p",[e._v("The AlmaLinux Engineering Steering Committee (ALESCo), is a self-governing body made of active contributors to the project that will guide the technical direction of the AlmaLinux distribution. Participation in the meetings, discussions around potential changes, and other needs will be open to the AlmaLinux community, unless prevented for specific reasons (for example: an embargoed security patch). This committee was formed by vote of the "),t("a",{attrs:{href:"https://drive.google.com/file/d/1rPU7QhRbLOsSrZBQcW5xQEItwgbP1Vt1/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("32nd meeting"),t("OutboundLink")],1),e._v(" of the AlmaLinux OS Foundation board, May 8th of 2024.")]),e._v(" "),t("h2",{attrs:{id:"how-to-participate"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-to-participate"}},[e._v("#")]),e._v(" How to participate")]),e._v(" "),t("p",[e._v("Adding your voice to the ALESCo discussions is the easiest way to participate! You can show up to a meeting, add a vote or perspective to a change discussion, or ask or answer questions in chat! Not every participant needs to be a member of ALESCo, but if you do, we will soon have a way for you to express your interest.")]),e._v(" "),t("p",[t("strong",[e._v("Where we chat")])]),e._v(" "),t("p",[e._v("We use the AlmaLinux mattermost for most communication.")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/alesco",target:"_blank",rel:"noopener noreferrer"}},[e._v("~alesco on chat.almalinux.org"),t("OutboundLink")],1)]),e._v(" "),t("p",[t("strong",[e._v("Where and when we meet")])]),e._v(" "),t("p",[e._v("Meeting times have yet to be decided, but they will eventually be listed on "),t("a",{attrs:{href:"https://events.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("events.almalinux.org"),t("OutboundLink")],1),e._v(" in the ALESCo topic.")]),e._v(" "),t("h2",{attrs:{id:"activities-projects-and-deliverables"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#activities-projects-and-deliverables"}},[e._v("#")]),e._v(" Activities, projects, and deliverables")]),e._v(" "),t("p",[e._v("Dubbed “air traffic control” for all engineering matters, ALESCo will ensure AlmaLinux’s robustness, reliability, and sustainability while working collaboratively with and overseeing technical decisions in relevant Special Interest Groups (SIGs). The committee will hold five key responsibilities:")]),e._v(" "),t("ul",[t("li",[e._v("Technical oversight for the operating system")]),e._v(" "),t("li",[e._v("Transparency in engineering decisions")]),e._v(" "),t("li",[e._v("Ensuring Long-Term Stability Focus")]),e._v(" "),t("li",[e._v("Release Management")]),e._v(" "),t("li",[e._v("SIG support")])]),e._v(" "),t("h2",{attrs:{id:"help-wanted"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#help-wanted"}},[e._v("#")]),e._v(" Help wanted")]),e._v(" "),t("p",[e._v("As the committee gets its feet under it, this section will be expanded to include more information. Initially, this committee's responsibilities will be defining a collection of processes:")]),e._v(" "),t("ul",[t("li",[e._v("how the AlmaLinux project accepts requests for changes from the community")]),e._v(" "),t("li",[e._v("what changes the project is willing to consider")]),e._v(" "),t("li",[e._v("how the project solicits feedback from the greater AlmaLinux community about the changes it considers")]),e._v(" "),t("li",[e._v("how community members express interest in joining ALESCo")])]),e._v(" "),t("h2",{attrs:{id:"committee-members"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#committee-members"}},[e._v("#")]),e._v(" Committee members")]),e._v(" "),t("p",[e._v("The foundation board appointed the initial committee members, but the rest of the management of the members will be done by the committee itself. Current members:")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/messages/@alukoshko",target:"_blank",rel:"noopener noreferrer"}},[e._v("Andrew Lukoshko"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/messages/@b.a.thomas",target:"_blank",rel:"noopener noreferrer"}},[e._v("Ben Thomas"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/messages/@codyr",target:"_blank",rel:"noopener noreferrer"}},[e._v("Cody Robertson"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/messages/@lkhn",target:"_blank",rel:"noopener noreferrer"}},[e._v("Elkhan Mammadli"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/messages/@jonathan",target:"_blank",rel:"noopener noreferrer"}},[e._v("Jonathan Wright"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/messages/@ngompa13",target:"_blank",rel:"noopener noreferrer"}},[e._v("Neal Gompa"),t("OutboundLink")],1)])]),e._v(" "),t("h1",{attrs:{id:"accepted-proposal"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#accepted-proposal"}},[e._v("#")]),e._v(" Accepted Proposal")]),e._v(" "),t("p",[e._v("This proposal was a collaboration between the foundation board and many community members, and now acts as the governing document for this committee. Adjustments to this governing document require board approval.")]),e._v(" "),t("h2",{attrs:{id:"almalinux-engineering-steering-committee-alesco"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-engineering-steering-committee-alesco"}},[e._v("#")]),e._v(" AlmaLinux Engineering Steering Committee (ALESCo)")]),e._v(" "),t("p",[e._v("co-authored by: Jonathan Wright, Infrastructure Lead; Cody Robertson, Infrastructure Team")]),e._v(" "),t("h3",{attrs:{id:"mission-statement"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#mission-statement"}},[e._v("#")]),e._v(" Mission Statement:")]),e._v(" "),t("p",[e._v('The AlmaLinux Engineering Steering Committee (ALESCo) is dedicated to guiding the technical direction of the AlmaLinux distribution on a day-to-day basis within the guidelines set forth by the board, ensuring its robustness, reliability, sustainability, and relevance in the open-source ecosystem. ALESCo will work collaboratively with, and oversee relevant technical-focused Special Interest Groups (SIGs) to achieve these goals. It is "air traffic control" for engineering matters.')]),e._v(" "),t("h3",{attrs:{id:"tasks-and-responsibilities"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#tasks-and-responsibilities"}},[e._v("#")]),e._v(" Tasks and Responsibilities:")]),e._v(" "),t("ol",[t("li",[e._v("Policy Oversight: Create and maintain policies on the management of technical aspects of the AlmaLinux project. Its primary purpose is to be a policy-making group for when the need arises; for example, to lay out a clear framework for when we would deviate from upstream to provide a CVE or bug-fix patch early.  Examples:\n"),t("ol",[t("li",[e._v("Change Proposals: Evaluate and approve new features or changes proposed for inclusion in AlmaLinux or relating to AlmaLinux's technical and engineering operations.")]),e._v(" "),t("li",[e._v("Package and Software Decisions: Supervise the inclusion, updating, and maintenance of software packages in the AlmaLinux repositories and ultimately decide which packages are added and removed from AlmaLinux.")])])]),e._v(" "),t("li",[e._v("Conflict Mediation: Act as a final arbiter in technical disputes related to AlmaLinux's operations within the community, ensuring decisions align with the project's best interests.")]),e._v(" "),t("li",[e._v("Long-Term Stability Focus: Prioritize the unique needs of users by ensuring enterprise-grade stability, compatibility, and long-term support in ALESCo's decisions. This includes a commitment to rigorous testing of updates, maintaining consistent software packages and configurations, emphasizing security, and providing comprehensive documentation to support deployments at all scales.")]),e._v(" "),t("li",[e._v("Release Management: Oversee the release cycle of AlmaLinux to meet the needs and expectations of our users per our mission statement.")]),e._v(" "),t("li",[e._v("SIG Liaisons: Each technical SIG needs to ensure ALESCo is aware of its plans and actions. To address this, if an ALESCo member is not actively participating in the SIG, it should work with the SIG to ensure a liaison attends ALESCo meetings.")])]),e._v(" "),t("h3",{attrs:{id:"policies"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#policies"}},[e._v("#")]),e._v(" Policies:")]),e._v(" "),t("ol",[t("li",[e._v("Transparency: All meetings, decisions, and discussions will be public, ensuring transparency and community involvement. ALESCo members must publicly disclose their employer and any conflicts of interest, and maintain this disclosure in the wiki, updating it as necessary for accuracy.")]),e._v(" "),t("li",[e._v("Appointments: The first ALESCo members are to be appointed by the Board of Directors.  After the initial appointment, the membership of ALESCo will manage itself - adding members or filling vacancies as deemed necessary by vote of the current members. ALESCo members are expected to have and maintain relevant knowledge and understanding of the technical aspects surrounding AlmaLinux as well as the greater enterprise Linux and open source ecosystems to allow them to make informed decisions in policy creation and voting.")]),e._v(" "),t("li",[e._v("Term Duration: ALESCo members are appointed with no set term. Every 6 months, at the time of chair election within ALESCo, each member is to be asked if they intend to continue serving or choose to step down.")]),e._v(" "),t("li",[e._v("Meeting Frequency: ALESCo will meet regularly, no less than once per month.")]),e._v(" "),t("li",[e._v("Decision Making: Decisions will be made based on a majority vote. In case of a tie, the chairperson (or a designated member) will have the deciding vote.")]),e._v(" "),t("li",[e._v("Quorum: A quorum is defined as 50% of members +1 with a minimum quorum always being at least four (4) members. A quorum is required for any votes.")]),e._v(" "),t("li",[e._v("Dissolution: At a point where the ALESCo is no longer functioning for the good of the AlmaLinux community, the board reserves the right to dissolve the committee and reform it with new members.")])]),e._v(" "),t("h3",{attrs:{id:"chair"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#chair"}},[e._v("#")]),e._v(" Chair:")]),e._v(" "),t("ol",[t("li",[e._v("The position of the chair will rotate among the elected members of ALESCo on a semi-annual basis- a 6-month term. This ensures diverse leadership and prevents a single point of prolonged control, fostering a more inclusive decision-making process.")]),e._v(" "),t("li",[e._v("To ensure a smooth transition, the outgoing chair will work closely with the incoming chair, facilitating knowledge transfer and operational continuity.")]),e._v(" "),t("li",[e._v("The chair will be elected by members of ALESCo.")]),e._v(" "),t("li",[e._v("The chair cannot serve more than 2 consecutive terms (1 year) as chair.")]),e._v(" "),t("li",[e._v("The chair's primary responsibility is coordinating and facilitating meetings. The chair holds no special powers outside of what is defined in this document.")])]),e._v(" "),t("h4",{attrs:{id:"acknowledgements"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#acknowledgements"}},[e._v("#")]),e._v(" Acknowledgements:")]),e._v(" "),t("p",[e._v("We would like to thank the following people for their contribution to this proposal in the form of feedback and ideas:")]),e._v(" "),t("ul",[t("li",[e._v("Alex Iribarren; CERN")]),e._v(" "),t("li",[e._v("benny Vasquez; Chair, AlmaLinux Board of Directors")]),e._v(" "),t("li",[e._v("Brian Farrell; Hawk Host, Inc.")]),e._v(" "),t("li",[e._v("Daniel Pearson; KnownHost, LLC")])])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/37.0fa865dd.js b/assets/js/37.0fa865dd.js new file mode 100644 index 000000000..e0342da5b --- /dev/null +++ b/assets/js/37.0fa865dd.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[37],{318:function(e,t,n){"use strict";n.r(t);var s=n(14),a=Object(s.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("p",[e._v("Each meeting of ALESCo is public, and future meetings can be found on "),t("a",{attrs:{href:"https://events.almalinux.org/category/7/",target:"_blank",rel:"noopener noreferrer"}},[e._v("events.almalinux.org"),t("OutboundLink")],1)]),e._v(" "),t("h1",{attrs:{id:"alesco-meeting-minutes"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#alesco-meeting-minutes"}},[e._v("#")]),e._v(" ALESCo Meeting Minutes")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"/alesco/meeting-minutes/2024-09-04"}},[e._v("September 4, 2024")])]),e._v(" "),t("li",[t("a",{attrs:{href:"/alesco/meeting-minutes/2024-08-21"}},[e._v("August 21, 2024")])]),e._v(" "),t("li",[t("a",{attrs:{href:"/alesco/meeting-minutes/2024-07-24"}},[e._v("July 24, 2024")])])])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/38.38fec67d.js b/assets/js/38.38fec67d.js new file mode 100644 index 000000000..9c92c4683 --- /dev/null +++ b/assets/js/38.38fec67d.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[38],{319:function(e,i,t){"use strict";t.r(i);var a=t(14),l=Object(a.a)({},(function(){var e=this,i=e._self._c;return i("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[i("h1",{attrs:{id:"alesco-meeting-minutes-2024-07-24"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#alesco-meeting-minutes-2024-07-24"}},[e._v("#")]),e._v(" ALESCo Meeting Minutes (2024-07-24)")]),e._v(" "),i("p",[e._v("Minutes recorded by Cody Robertson.")]),e._v(" "),i("p",[e._v("Edited by Cody Robertson and Jonathan Wright for publishing.")]),e._v(" "),i("h2",{attrs:{id:"members"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#members"}},[e._v("#")]),e._v(" Members")]),e._v(" "),i("h3",{attrs:{id:"attendance"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#attendance"}},[e._v("#")]),e._v(" Attendance")]),e._v(" "),i("ul",[i("li",[e._v("Jonathan Wright")]),e._v(" "),i("li",[e._v("Cody Robertson")]),e._v(" "),i("li",[e._v("Andrew Lukoshko")]),e._v(" "),i("li",[e._v("Elkhan Mammadli")]),e._v(" "),i("li",[e._v("Ben Thomas")]),e._v(" "),i("li",[e._v("Neal Gompa")])]),e._v(" "),i("h2",{attrs:{id:"community-attendees"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#community-attendees"}},[e._v("#")]),e._v(" Community Attendees")]),e._v(" "),i("ul",[i("li",[e._v("Michel Lind")])]),e._v(" "),i("h2",{attrs:{id:"decisions-adopted"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#decisions-adopted"}},[e._v("#")]),e._v(" Decisions Adopted")]),e._v(" "),i("ol",[i("li",[e._v("AlmaLinux 10's default x86_64 microarchitecture build will be v3, following RHEL. Approved building and maintaining x86_64_v2 as a separate architecture for AlmaLinux 10.\n"),i("ul",[i("li",[e._v("Unanimous decision.")])])]),e._v(" "),i("li",[e._v("AlmaLinux 10 will have frame pointers enabled, diverging from RHEL 10 which will not have frame pointers.\n"),i("ul",[i("li",[e._v("Unanimous decision")])])]),e._v(" "),i("li",[e._v("AlmaLinux will publish a rolling-style distro build, serving as a continuous beta release, starting with AlmaLinux 10.\n"),i("ul",[i("li",[e._v("Unanimous decision")])])])]),e._v(" "),i("h2",{attrs:{id:"minutes"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#minutes"}},[e._v("#")]),e._v(" Minutes")]),e._v(" "),i("ul",[i("li",[e._v("ALESCo Logistics\n"),i("ul",[i("li",[e._v("Items:\n"),i("ul",[i("li",[e._v("Meeting times")]),e._v(" "),i("li",[e._v("Recording")]),e._v(" "),i("li",[e._v("Meeting chat (public?, live?)")]),e._v(" "),i("li",[e._v("Where to publish: minutes, recordings (GitHub repository, wiki, etc)")]),e._v(" "),i("li",[e._v("Issue tracker (GH repo?)")]),e._v(" "),i("li",[e._v("Policy/procedure documentation")])])]),e._v(" "),i("li",[e._v("Will be discussing further via chat channels")])])]),e._v(" "),i("li",[e._v("RHEL moving to x86_64 v3 microarchitecture in version 10\n"),i("ul",[i("li",[e._v("Some older hardware becomes unsupported")]),e._v(" "),i("li",[e._v("Improved performance")]),e._v(" "),i("li",[e._v("Community has voiced concerns with RHEL's decision on social media\n"),i("ul",[i("li",[e._v("CERN and other labs have voiced concerns")])])]),e._v(" "),i("li",[e._v("AlmaLinux will build a maintain a separate x86_64_v2 release. v3 will be the default.")]),e._v(" "),i("li",[e._v("Package naming is TBD. RHEL is using x86_64 for v3 which is incorrect, they should use x86_64_v3\n"),i("ul",[i("li",[e._v("Will have discussions with them at FLOCK about this\n"),i("ul",[i("li",[e._v("We'd like to follow RHEL's direction as our upstream, so we hope to talk with them about using the architecture tagging properly.")])])]),e._v(" "),i("li",[e._v("AlmaLinux v2 builds will use x86_64_v2 tags\n"),i("ul",[i("li",[e._v("Andrew & team working on patching various applications in the RPM stack to support this within AlmaLinux\n"),i("ul",[i("li",[e._v("Can potentially PR this work upstream to help convince RHEL to use the proper _v3 naming within RHEL 10")])])])])])])]),e._v(" "),i("li",[e._v("Enable frame pointers in AlmaLinux 10 builds\n"),i("ul",[i("li",[e._v("Most competing distros are enabling them now")]),e._v(" "),i("li",[e._v("Negligible performance impact\n"),i("ul",[i("li",[e._v("Loss of a register affects x86 32bit, legacy hardware take a noticeable hit")])])]),e._v(" "),i("li",[e._v('Allows continuous real-time profiling for "cheap"')]),e._v(" "),i("li",[e._v("Fedora enabled them several versions ago with no complaints after enablement")]),e._v(" "),i("li",[e._v("Especially useful in HPC")]),e._v(" "),i("li",[e._v("CentOS Hyperscale SIG considering enabling it by default")]),e._v(" "),i("li",[e._v("Do we offer non-frame pointer builds")])])]),e._v(" "),i("li",[e._v("Rolling release build for AlmaLinux 10\n"),i("ul",[i("li",[e._v("Serves as continous beta release")]),e._v(" "),i("li",[e._v("Will run full composes at least twice-yearly")]),e._v(" "),i("li",[e._v("Package updates will be a constant flow")]),e._v(" "),i("li",[e._v("Separate mirror source/repo on infra side")]),e._v(" "),i("li",[e._v("We're doing this already for AlmaLinux 10 development, just not currently publishing the resulting builds in a repoitory/as an OS")]),e._v(" "),i("li",[e._v("Not a replacement for point releases")]),e._v(" "),i("li",[e._v("We have to be mindful of security releases/patches from upstream")]),e._v(" "),i("li",[e._v("OpenQA to test all of the builds")]),e._v(" "),i("li",[e._v("Build in-line with point release (ex, frame pointers enabled)")])])])])])])])}),[],!1,null,null,null);i.default=l.exports}}]); \ No newline at end of file diff --git a/assets/js/39.cd59c779.js b/assets/js/39.cd59c779.js new file mode 100644 index 000000000..743a30a73 --- /dev/null +++ b/assets/js/39.cd59c779.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[39],{320:function(e,t,i){"use strict";i.r(t);var a=i(14),n=Object(a.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"alesco-meeting-minutes-2024-08-21"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#alesco-meeting-minutes-2024-08-21"}},[e._v("#")]),e._v(" ALESCo Meeting Minutes (2024-08-21)")]),e._v(" "),t("p",[e._v("Minutes recorded by Jonathan Wright.")]),e._v(" "),t("p",[e._v("Edited by Jonathan Wright for publishing.")]),e._v(" "),t("h2",{attrs:{id:"members"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#members"}},[e._v("#")]),e._v(" Members")]),e._v(" "),t("h3",{attrs:{id:"alesco-member-attendees"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#alesco-member-attendees"}},[e._v("#")]),e._v(" ALESCo Member Attendees")]),e._v(" "),t("ul",[t("li",[e._v("Jonathan Wright")]),e._v(" "),t("li",[e._v("Cody Robertson")]),e._v(" "),t("li",[e._v("Andrew Lukoshko")]),e._v(" "),t("li",[e._v("Elkhan Mammadli")]),e._v(" "),t("li",[e._v("Ben Thomas")]),e._v(" "),t("li",[e._v("Neal Gompa")])]),e._v(" "),t("h3",{attrs:{id:"board-attendees"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#board-attendees"}},[e._v("#")]),e._v(" Board Attendees")]),e._v(" "),t("ul",[t("li",[e._v("benny Vasquez")]),e._v(" "),t("li",[e._v("Alex Iribarren")])]),e._v(" "),t("h2",{attrs:{id:"community-attendees"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#community-attendees"}},[e._v("#")]),e._v(" Community Attendees")]),e._v(" "),t("h2",{attrs:{id:"decisions-adopted"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#decisions-adopted"}},[e._v("#")]),e._v(" Decisions Adopted")]),e._v(" "),t("ol",[t("li",[e._v("SPICE support to be added back to AlmaLinux 10\n"),t("ul",[t("li",[e._v("Removed in RHEL 9")]),e._v(" "),t("li",[e._v("Will revisit for enablement in AlmaLinux 9 at a later time")]),e._v(" "),t("li",[e._v("Unanimous decision")])])])]),e._v(" "),t("h2",{attrs:{id:"minutes"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#minutes"}},[e._v("#")]),e._v(" Minutes")]),e._v(" "),t("ul",[t("li",[e._v("SPICE Support in AlmaLinux\n"),t("ul",[t("li",[e._v("Neal: Dropped in RHEL due to no RHEL stacks dependent on it.\n"),t("ul",[t("li",[e._v("Cody: https://bugzilla.redhat.com/show_bug.cgi?id=2030592")])])]),e._v(" "),t("li",[e._v("We can package server-side components in AlmaLinux")]),e._v(" "),t("li",[e._v("We can package client-side components in EPEL")]),e._v(" "),t("li",[e._v("benny: Concerned about further deviation from RHEL\n"),t("ul",[t("li",[e._v("Retracted after clarification of no modifcations to kernel, and only addition of packages")])])]),e._v(" "),t("li",[e._v("Neal: Virt stack in RHEL remains relatively close to upstream, so good for maintainability of these additions")]),e._v(" "),t("li",[e._v("Neal: Upstream libvirt maintainers are good to work with, can probably propose running their CI against AlmaLinux Kitten 10")]),e._v(" "),t("li",[e._v("Voted to enable/build necessary packages for AlmaLinux 10 unanimously")]),e._v(" "),t("li",[e._v("Tabled discussion of adding back to AlmaLinux 9 at a later time")])])]),e._v(" "),t("li",[e._v("benny: ALESCo Live Community Q&A\n"),t("ul",[t("li",[e._v("No ALESCo members against this")]),e._v(" "),t("li",[e._v("Will be moderated by benny")]),e._v(" "),t("li",[e._v("Potentially quarterly")]),e._v(" "),t("li",[e._v("benny will coordinate a time that works for ALESCo members, maybe Sept. 4 or Sept. 11")]),e._v(" "),t("li",[e._v("Great for transparency and community engagement")])])]),e._v(" "),t("li",[e._v("Disabled HW in RHEL10\n"),t("ul",[t("li",[e._v("Andrew: What should we re-enable\n"),t("ul",[t("li",[e._v("All: Mellanox definitely")]),e._v(" "),t("li",[e._v("Andrew: 10s of devices disabled in EL10 kernel")]),e._v(" "),t("li",[e._v("Jonathan: QLogic & other less-used devices?")])])]),e._v(" "),t("li",[e._v("Neal: Linux Plumbers will be useful to make connections to RHEL kernel maintainers\n"),t("ul",[t("li",[e._v("They are generally willing to merge things for RHEL-disabled components as long as they don't impact enabled-components.")]),e._v(" "),t("li",[e._v("We probably need a separate process for users to request hardware enablement of devices")])])]),e._v(" "),t("li",[e._v("Ben: Already has requests within UCL for re-adding support for QLogic cards")]),e._v(" "),t("li",[e._v("Alex (Board): Must be careful when enabling things that might appear easy to flip a flag now but will potentially later become more difficult to maintain.")]),e._v(" "),t("li",[e._v("Jonathan: We can agree on an initial list of things to re-enable that are very common and/or we have direct experience with and vote on the rest as demand arises throughout the AlmaLinux 10 life cycle.")])])]),e._v(" "),t("li",[e._v("Elkhan: Separate kernel for PPC with KVM enabled\n"),t("ul",[t("li",[e._v("Neal: Basically what centos hyperscale does with their kernel - RHEL-ish config (based on Fedora) + enablement on some thingfs")]),e._v(" "),t("li",[e._v("Neal: What if we just re-enable it in the main Alma kernel since it is a flag?\n"),t("ul",[t("li",[e._v("Jonathan: We can mark that feature specifically as experimental, even in the main Alma kernel")]),e._v(" "),t("li",[e._v("Andrew: Just changing the flag isn't enough, a few patches are required to get it to build")])])]),e._v(" "),t("li",[e._v("Elkhan: Use-case is openQA and image building\n"),t("ul",[t("li",[e._v("All: not aware of any use-cases or requests from users")])])]),e._v(" "),t("li",[e._v("Ben: Separate workflow for kernel-specific requests?\n"),t("ul",[t("li",[e._v("Neal: fits within the other already-discussed to-be-defined change request processes")])])])])]),e._v(" "),t("li",[e._v("Andrew: Secure-Boot Signing ELRepo or other 3rd party kernels\n"),t("ul",[t("li",[e._v("Building works, signing works, never got further feedback on if we want to do this or not")]),e._v(" "),t("li",[e._v("Are we going to collaborate with 3rd party if we were to do this?")]),e._v(" "),t("li",[e._v("Neal: Anything we sign should be AlmaLinux-hosted\n"),t("ul",[t("li",[e._v("All: agreed on this point")])])]),e._v(" "),t("li",[e._v("Neal: Have discussed with Jonathan about also maintaing the Hyperscale kernel for AlmaLinux")]),e._v(" "),t("li",[e._v("Jonathan: Situation is too fluid right now to make a decision on this at the moment.")]),e._v(" "),t("li",[e._v("Jonathan: Better if we have a SIG that wants to maintain something within AlmaLinux versus pulling from a 3rd party")]),e._v(" "),t("li",[e._v("Neal: Signing SIG kernels in general\n"),t("ul",[t("li",[e._v("We have to be able to trust the full tree and trace back all changes to the origin")])])]),e._v(" "),t("li",[e._v("Jonathan: Motion to revisit this at a later time\n"),t("ul",[t("li",[e._v("All: agreed")])])])])]),e._v(" "),t("li",[e._v("Jonathan: Revisit ALESCo meeting times\n"),t("ul",[t("li",[e._v("Have heard from interested community members they cannot attend the current time of 10AM EST")]),e._v(" "),t("li",[e._v("Was difficult to select current time, tough to fit into ALESCo members schedules given varying countries/schedules")]),e._v(" "),t("li",[e._v("Neal: Potential compromise is scheduling the community Q/A sessions at varying times to be more accessible")]),e._v(" "),t("li",[e._v("Cody: Can re-run a discussion among ALESCo members to try to find a new time")])])])])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/4.4423d3ec.js b/assets/js/4.4423d3ec.js new file mode 100644 index 000000000..bc9a4400e --- /dev/null +++ b/assets/js/4.4423d3ec.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{278:function(t,e,n){},292:function(t,e,n){"use strict";n(278)},304:function(t,e,n){"use strict";n.r(e);var i={functional:!0,props:{type:{type:String,default:"tip"},text:String,vertical:{type:String,default:"top"}},render:(t,{props:e,slots:n})=>t("span",{class:["badge",e.type],style:{verticalAlign:e.vertical}},e.text||n().default)},p=(n(292),n(14)),l=Object(p.a)(i,void 0,void 0,!1,null,"15b7b770",null);e.default=l.exports}}]); \ No newline at end of file diff --git a/assets/js/40.b345a371.js b/assets/js/40.b345a371.js new file mode 100644 index 000000000..a3a1cff07 --- /dev/null +++ b/assets/js/40.b345a371.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{321:function(e,t,a){"use strict";a.r(t);var n=a(14),s=Object(n.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"alesco-meeting-minutes-2024-09-04"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#alesco-meeting-minutes-2024-09-04"}},[e._v("#")]),e._v(" ALESCo Meeting Minutes (2024-09-04)")]),e._v(" "),t("p",[e._v("Minutes recorded by Jonathan Wright.")]),e._v(" "),t("p",[e._v("Edited by Jonathan Wright for publishing.")]),e._v(" "),t("h2",{attrs:{id:"members"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#members"}},[e._v("#")]),e._v(" Members")]),e._v(" "),t("h3",{attrs:{id:"alesco-member-attendees"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#alesco-member-attendees"}},[e._v("#")]),e._v(" ALESCo Member Attendees")]),e._v(" "),t("ul",[t("li",[e._v("Jonathan Wright")]),e._v(" "),t("li",[e._v("Cody Robertson")]),e._v(" "),t("li",[e._v("Andrew Lukoshko")]),e._v(" "),t("li",[e._v("Elkhan Mammadli")]),e._v(" "),t("li",[e._v("Ben Thomas")]),e._v(" "),t("li",[e._v("Neal Gompa")])]),e._v(" "),t("h3",{attrs:{id:"board-attendees"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#board-attendees"}},[e._v("#")]),e._v(" Board Attendees")]),e._v(" "),t("ul",[t("li",[e._v("benny Vasquez")])]),e._v(" "),t("h2",{attrs:{id:"community-attendees"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#community-attendees"}},[e._v("#")]),e._v(" Community Attendees")]),e._v(" "),t("ul",[t("li",[e._v("Lance Albertson")])]),e._v(" "),t("h2",{attrs:{id:"decisions-adopted"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#decisions-adopted"}},[e._v("#")]),e._v(" Decisions Adopted")]),e._v(" "),t("ul",[t("li",[e._v("KVM will be supported on POWER in AlmaLinux 10.\n"),t("ul",[t("li",[e._v("Unanimous decision")])])])]),e._v(" "),t("h2",{attrs:{id:"minutes"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#minutes"}},[e._v("#")]),e._v(" Minutes")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("Cody: Old business: tabled discussion about adding SPICE to EL9 from previous meeting")]),e._v(" "),t("ul",[t("li",[e._v("Andrew: too early to decide, built for 10 but haven't tested yet")]),e._v(" "),t("li",[e._v("Cody: will table indefinitely/for a month or two")])])]),e._v(" "),t("li",[t("p",[e._v("Cody: will revisit times for meetings this week")])]),e._v(" "),t("li",[t("p",[e._v("Cody: alesco chair")]),e._v(" "),t("ul",[t("li",[e._v("Jonathan: nominates Cody")]),e._v(" "),t("li",[e._v("vote: unanimous")])])]),e._v(" "),t("li",[t("p",[e._v("Lance: kvm on power on el9, currently maintaining own patches")]),e._v(" "),t("ul",[t("li",[e._v("Elkhan/Andrew: we're doing this sort of now internally, not published/maintained")]),e._v(" "),t("li",[e._v("Elkhan: have you noticed any issues?\n"),t("ul",[t("li",[e._v("Lance: haven't tested much yet, don't have el9 live on infra yet, seems fine so far")])])]),e._v(" "),t("li",[e._v("Jonathan: dropped from 10 as well?")]),e._v(" "),t("li",[e._v("Andrew: yes")]),e._v(" "),t("li",[e._v("Neal: maybe should skip 9 and aim for 10")]),e._v(" "),t("li",[e._v("Jonathan to lance: can you skip to 10?\n"),t("ul",[t("li",[e._v("Lance: dependent upon rdo, probably would have to keep patching manually")])])]),e._v(" "),t("li",[e._v("Neal: let's push as much as we can upstream to centos kernel")]),e._v(" "),t("li",[e._v("Lance: power 8 support in el10? It got dropped")])])])])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/41.448a9054.js b/assets/js/41.448a9054.js new file mode 100644 index 000000000..e84c2f01a --- /dev/null +++ b/assets/js/41.448a9054.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[41],{323:function(t,a,e){"use strict";e.r(a);var r=e(14),n=Object(r.a)({},(function(){var t=this,a=t._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"almalinux-os-amazon-web-services-amis"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-os-amazon-web-services-amis"}},[t._v("#")]),t._v(" AlmaLinux OS Amazon Web Services AMIs")]),t._v(" "),a("p",[t._v("AlmaLinux OS offers Amazon Machine Images in a number of formats and regions for consumption on AWS. All AlmaLinux OS AMIs are completely free of charge regardless of the deployment channel.")]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("To learn more about AWS AMIs please see the "),a("a",{attrs:{href:"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("AWS EC2 Documentation on AMIs"),a("OutboundLink")],1),t._v(". There are currently 2 deployment channels available: "),a("a",{attrs:{href:"#aws-marketplace"}},[t._v("Marketplace")]),t._v(" and "),a("a",{attrs:{href:"#community-amis"}},[t._v("Community")]),t._v(".")])]),t._v(" "),a("h2",{attrs:{id:"contributing"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#contributing"}},[t._v("#")]),t._v(" Contributing")]),t._v(" "),a("p",[t._v("You can find more information about how these, and other cloud images are built on our "),a("a",{attrs:{href:"https://github.com/AlmaLinux/cloud-images",target:"_blank",rel:"noopener noreferrer"}},[t._v("Cloud Images GitHub Repository"),a("OutboundLink")],1),t._v(". Join our "),a("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/sigcloud",target:"_blank",rel:"noopener noreferrer"}},[t._v("Cloud SIG on Mattermost"),a("OutboundLink")],1),t._v(" to help out with the effort or for support. You can also discuss on our "),a("a",{attrs:{href:"https://forums.almalinux.org/c/sigs/cloud-sig/10",target:"_blank",rel:"noopener noreferrer"}},[t._v("Cloud SIG Forum"),a("OutboundLink")],1),t._v(" and on our "),a("a",{attrs:{href:"https://www.reddit.com/r/AlmaLinux",target:"_blank",rel:"noopener noreferrer"}},[t._v("AlmaLinux Community Reddit"),a("OutboundLink")],1),t._v(".")]),t._v(" "),a("h2",{attrs:{id:"aws-marketplace"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#aws-marketplace"}},[t._v("#")]),t._v(" AWS Marketplace")]),t._v(" "),a("p",[t._v("The AWS Marketplace is a curated digital catalog used to find, deploy and manage software offerings. All AWS Marketplace products undergo thorough review and vetting by the AWS team to ensure security and quality.")]),t._v(" "),a("p",[t._v("The AlmaLinux OS Foundation's "),a("a",{attrs:{href:"https://aws.amazon.com/marketplace/seller-profile?id=529d1014-352c-4bed-8b63-6120e4bd3342",target:"_blank",rel:"noopener noreferrer"}},[t._v("official AlmaLinux OS images"),a("OutboundLink")],1),t._v(" are available via the AWS Marketplace at the links provided:")]),t._v(" "),a("table",{attrs:{align:"center"}},[a("tr",[a("td",{attrs:{align:"center"}},[t._v("AlmaLinux OS 8")]),t._v(" "),a("td",{attrs:{align:"center"}},[a("a",{attrs:{href:"https://aws.amazon.com/marketplace/pp/prodview-mku4y3g4sjrye"}},[t._v("x86_64")])]),t._v(" "),a("td",{attrs:{align:"center"}},[a("a",{attrs:{href:"https://aws.amazon.com/marketplace/pp/prodview-zgsymdwitnxmm"}},[t._v("arm64")])])]),t._v(" "),a("tr",[a("td",{attrs:{align:"center"}},[t._v("AlmaLinux OS 9")]),t._v(" "),a("td",{attrs:{align:"center"}},[a("a",{attrs:{href:"https://aws.amazon.com/marketplace/pp/prodview-ykmb6re2rcouy"}},[t._v("x86_64")])]),t._v(" "),a("td",{attrs:{align:"center"}},[a("a",{attrs:{href:"https://aws.amazon.com/marketplace/pp/prodview-pvttztrj2uzjk"}},[t._v("arm64")])])])]),t._v(" "),a("h2",{attrs:{id:"community-amis"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#community-amis"}},[t._v("#")]),t._v(" Community AMIs")]),t._v(" "),a("p",[t._v("Community AMIs are images that are shared directly by the AlmaLinux OS Foundation for others to utilize directly within their infrastructure. Below is a complete list of currently published AMIs and their corresponding IDs. For purposes of automation and integration into build tools and CI/CD pipelines, this list is also available as a "),a("a",{attrs:{href:"https://wiki.almalinux.org/ci-data/aws_amis.csv",target:"_blank",rel:"noopener noreferrer"}},[t._v("CSV"),a("OutboundLink")],1),t._v(" file.")]),t._v(" "),a("p",[a("em",[a("strong",[t._v("Additional Regions Coming Soon")])])]),t._v(" "),a("Content",{attrs:{"page-key":t.$site.pages.find(t=>"/cloud/AWS_AMIS.html"===t.path).key}})],1)}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/42.108b2637.js b/assets/js/42.108b2637.js new file mode 100644 index 000000000..358ca6ebd --- /dev/null +++ b/assets/js/42.108b2637.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[42],{322:function(_,v,t){"use strict";t.r(v);var d=t(14),a=Object(d.a)({},(function(){var _=this,v=_._self._c;return v("ContentSlotsDistributor",{attrs:{"slot-key":_.$parent.slotKey}},[v("table",[v("thead",[v("tr",[v("th",[_._v("Distribution")]),_._v(" "),v("th",[_._v("Version")]),_._v(" "),v("th",[_._v("Region")]),_._v(" "),v("th",[_._v("AMI ID")]),_._v(" "),v("th",[_._v("Arch")])])]),_._v(" "),v("tbody",[v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("af-south-1")]),_._v(" "),v("td",[_._v("ami-0e87746d2c19bfd02")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("af-south-1")]),_._v(" "),v("td",[_._v("ami-07f376107f1fe3c42")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("ap-east-1")]),_._v(" "),v("td",[_._v("ami-07a4221196f0ce8b0")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("ap-east-1")]),_._v(" "),v("td",[_._v("ami-05a3ff798c720298b")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("ap-northeast-1")]),_._v(" "),v("td",[_._v("ami-09d950a43d85748ca")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("ap-northeast-1")]),_._v(" "),v("td",[_._v("ami-03f57d8564b290e36")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("ap-northeast-2")]),_._v(" "),v("td",[_._v("ami-0beed408c3400a3ca")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("ap-northeast-2")]),_._v(" "),v("td",[_._v("ami-070a67d78f8c7f7ca")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("ap-northeast-3")]),_._v(" "),v("td",[_._v("ami-02eef1615b5e0c66c")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("ap-northeast-3")]),_._v(" "),v("td",[_._v("ami-02f2f994b5d15a2c7")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("ap-south-1")]),_._v(" "),v("td",[_._v("ami-0176d9f86b4b5ce21")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("ap-south-1")]),_._v(" "),v("td",[_._v("ami-02fcacaa6bed65f9e")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("ap-south-2")]),_._v(" "),v("td",[_._v("ami-02a4a30d0afdc930b")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("ap-south-2")]),_._v(" "),v("td",[_._v("ami-0d5be6987b0ba90c2")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("ap-southeast-1")]),_._v(" "),v("td",[_._v("ami-0febea321b402d0c6")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("ap-southeast-1")]),_._v(" "),v("td",[_._v("ami-01ff71222477b174e")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("ap-southeast-2")]),_._v(" "),v("td",[_._v("ami-0bcf592d89df55135")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("ap-southeast-2")]),_._v(" "),v("td",[_._v("ami-051c2942e0c3aeb35")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("ap-southeast-3")]),_._v(" "),v("td",[_._v("ami-036a281cf45dd00ad")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("ap-southeast-3")]),_._v(" "),v("td",[_._v("ami-06047dfa1c3157023")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("ap-southeast-4")]),_._v(" "),v("td",[_._v("ami-050c5f10e4203a49b")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("ap-southeast-4")]),_._v(" "),v("td",[_._v("ami-05397e84cdd736c44")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("ca-central-1")]),_._v(" "),v("td",[_._v("ami-03a225246dbb48513")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("ca-central-1")]),_._v(" "),v("td",[_._v("ami-0f4e08e6a32967a32")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("ca-west-1")]),_._v(" "),v("td",[_._v("ami-03d543a49debcb97e")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("ca-west-1")]),_._v(" "),v("td",[_._v("ami-0909866a908f1d9f8")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("eu-central-1")]),_._v(" "),v("td",[_._v("ami-0e9c75acd47af13bf")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("eu-central-1")]),_._v(" "),v("td",[_._v("ami-08431b408352123c1")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("eu-central-2")]),_._v(" "),v("td",[_._v("ami-0c411973ace5cefbc")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("eu-central-2")]),_._v(" "),v("td",[_._v("ami-0bfd60bf5029fc57c")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("eu-north-1")]),_._v(" "),v("td",[_._v("ami-00212882da11367e3")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("eu-north-1")]),_._v(" "),v("td",[_._v("ami-0baa8a7591084b38f")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("eu-south-1")]),_._v(" "),v("td",[_._v("ami-049e5bcefbfefd53e")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("eu-south-1")]),_._v(" "),v("td",[_._v("ami-0ab3fad7bcb53c82f")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("eu-south-2")]),_._v(" "),v("td",[_._v("ami-01a8195d39d8d80c1")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("eu-south-2")]),_._v(" "),v("td",[_._v("ami-059bf737838571605")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("eu-west-1")]),_._v(" "),v("td",[_._v("ami-0280f3435efef7b27")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("eu-west-1")]),_._v(" "),v("td",[_._v("ami-0cf5f6f1d7001459a")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("eu-west-2")]),_._v(" "),v("td",[_._v("ami-0c7a3096aa4ffe3a6")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("eu-west-2")]),_._v(" "),v("td",[_._v("ami-04df570ea6d78b9dc")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("eu-west-3")]),_._v(" "),v("td",[_._v("ami-062ae5f2478e913b9")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("eu-west-3")]),_._v(" "),v("td",[_._v("ami-01d94ff69cb167b04")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("il-central-1")]),_._v(" "),v("td",[_._v("ami-016ecd679b3d82b11")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("il-central-1")]),_._v(" "),v("td",[_._v("ami-065e37062ffde64cf")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("me-central-1")]),_._v(" "),v("td",[_._v("ami-04f015b2053327186")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("me-central-1")]),_._v(" "),v("td",[_._v("ami-020aed64f6bdb90db")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("me-south-1")]),_._v(" "),v("td",[_._v("ami-0fecad4b5e365d4a0")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("me-south-1")]),_._v(" "),v("td",[_._v("ami-0dd62eaeffb11f6ba")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("sa-east-1")]),_._v(" "),v("td",[_._v("ami-0c73a0a7051b38c3d")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("sa-east-1")]),_._v(" "),v("td",[_._v("ami-0df417aff6078932d")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("us-east-1")]),_._v(" "),v("td",[_._v("ami-0c2163c916f8dd3c8")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("us-east-1")]),_._v(" "),v("td",[_._v("ami-0ba8fa4bea636d73f")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("us-east-2")]),_._v(" "),v("td",[_._v("ami-08b29382556696ac9")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("us-east-2")]),_._v(" "),v("td",[_._v("ami-0268fd9e4b0c56720")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("us-west-1")]),_._v(" "),v("td",[_._v("ami-02ec64f2fdc14259e")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("us-west-1")]),_._v(" "),v("td",[_._v("ami-0d2bc1b9cfecc72b5")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("us-west-2")]),_._v(" "),v("td",[_._v("ami-08e91d25fdc31fc28")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("9.4.20240805")]),_._v(" "),v("td",[_._v("us-west-2")]),_._v(" "),v("td",[_._v("ami-0433d4230c53f3ee8")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("af-south-1")]),_._v(" "),v("td",[_._v("ami-0b73f9ad125fb7917")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("af-south-1")]),_._v(" "),v("td",[_._v("ami-00edef6bfe68e7ddf")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("ap-east-1")]),_._v(" "),v("td",[_._v("ami-095a10632bec83594")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("ap-east-1")]),_._v(" "),v("td",[_._v("ami-05d28dc0a36d6e356")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("ap-northeast-1")]),_._v(" "),v("td",[_._v("ami-09a76e2a3c19fb6ca")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("ap-northeast-1")]),_._v(" "),v("td",[_._v("ami-0c2f60f7a5b931b04")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("ap-northeast-2")]),_._v(" "),v("td",[_._v("ami-0413ca4a7d3ca0d06")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("ap-northeast-2")]),_._v(" "),v("td",[_._v("ami-0fad86cbf8f9a542b")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("ap-northeast-3")]),_._v(" "),v("td",[_._v("ami-067520a647ea9beaa")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("ap-northeast-3")]),_._v(" "),v("td",[_._v("ami-074305ea1aa643af7")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("ap-south-1")]),_._v(" "),v("td",[_._v("ami-0e1a57c5265125517")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("ap-south-1")]),_._v(" "),v("td",[_._v("ami-00fcce4f482ac540b")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("ap-south-2")]),_._v(" "),v("td",[_._v("ami-00c6b85abb900cecd")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("ap-south-2")]),_._v(" "),v("td",[_._v("ami-0c93f886176644251")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("ap-southeast-1")]),_._v(" "),v("td",[_._v("ami-0a639bcd776f53adb")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("ap-southeast-1")]),_._v(" "),v("td",[_._v("ami-07e55ce960e743ca5")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("ap-southeast-2")]),_._v(" "),v("td",[_._v("ami-03fbe82d61f93711a")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("ap-southeast-2")]),_._v(" "),v("td",[_._v("ami-08493610589214684")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("ap-southeast-3")]),_._v(" "),v("td",[_._v("ami-0674da1eadce69fed")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("ap-southeast-3")]),_._v(" "),v("td",[_._v("ami-0421142e62ebe3f44")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("ap-southeast-4")]),_._v(" "),v("td",[_._v("ami-051f723cbeee1e2eb")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("ap-southeast-4")]),_._v(" "),v("td",[_._v("ami-08b27bfedd2b5583c")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("ca-central-1")]),_._v(" "),v("td",[_._v("ami-0ddf77a117c0069b8")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("ca-central-1")]),_._v(" "),v("td",[_._v("ami-04c49099a1a4b33c4")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("ca-west-1")]),_._v(" "),v("td",[_._v("ami-0dd63ce06d19b3c0d")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("ca-west-1")]),_._v(" "),v("td",[_._v("ami-008e5b9143e39100e")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("eu-central-1")]),_._v(" "),v("td",[_._v("ami-0885614e0c26eacb2")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("eu-central-1")]),_._v(" "),v("td",[_._v("ami-0afc91e8cf84a2ad9")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("eu-central-2")]),_._v(" "),v("td",[_._v("ami-080279fc703ce5de8")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("eu-central-2")]),_._v(" "),v("td",[_._v("ami-0fcf322b05905b768")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("eu-north-1")]),_._v(" "),v("td",[_._v("ami-06ccc94382a0ec897")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("eu-north-1")]),_._v(" "),v("td",[_._v("ami-07ecb5e3b6d9be91e")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("eu-south-1")]),_._v(" "),v("td",[_._v("ami-0ea44e2330c04cbcf")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("eu-south-1")]),_._v(" "),v("td",[_._v("ami-05337094271078908")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("eu-south-2")]),_._v(" "),v("td",[_._v("ami-0d15a2b87a42791e5")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("eu-south-2")]),_._v(" "),v("td",[_._v("ami-080dbfd31806ea21a")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("eu-west-1")]),_._v(" "),v("td",[_._v("ami-08dac599ae3228b30")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("eu-west-1")]),_._v(" "),v("td",[_._v("ami-0c86b999a1a04fa1b")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("eu-west-2")]),_._v(" "),v("td",[_._v("ami-0623648722c2741f7")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("eu-west-2")]),_._v(" "),v("td",[_._v("ami-075c0433d4863e7d8")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("eu-west-3")]),_._v(" "),v("td",[_._v("ami-02f73956bec41f6eb")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("eu-west-3")]),_._v(" "),v("td",[_._v("ami-04f58f558dc501a56")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("il-central-1")]),_._v(" "),v("td",[_._v("ami-0b615118df5dad96b")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("il-central-1")]),_._v(" "),v("td",[_._v("ami-00149de67caaadbb4")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("me-central-1")]),_._v(" "),v("td",[_._v("ami-09a528b9d4ddda446")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("me-central-1")]),_._v(" "),v("td",[_._v("ami-044fd3983ec0b04c0")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("me-south-1")]),_._v(" "),v("td",[_._v("ami-09921b16046011ce2")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("me-south-1")]),_._v(" "),v("td",[_._v("ami-0226e0a6a3b742e51")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("sa-east-1")]),_._v(" "),v("td",[_._v("ami-0605b89a61df504fd")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("sa-east-1")]),_._v(" "),v("td",[_._v("ami-02cb875f6e89f5afa")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("us-east-1")]),_._v(" "),v("td",[_._v("ami-0825c833650fed842")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("us-east-1")]),_._v(" "),v("td",[_._v("ami-0f1d97cfa7cf5ad5d")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("us-east-2")]),_._v(" "),v("td",[_._v("ami-0f4ab906702bed7d5")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("us-east-2")]),_._v(" "),v("td",[_._v("ami-01d5ed1fa2aab982a")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("us-west-1")]),_._v(" "),v("td",[_._v("ami-06b3617b535631431")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("us-west-1")]),_._v(" "),v("td",[_._v("ami-0e29d461279664e56")]),_._v(" "),v("td",[_._v("aarch64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("us-west-2")]),_._v(" "),v("td",[_._v("ami-05d9accf06ed81259")]),_._v(" "),v("td",[_._v("x86_64")])]),_._v(" "),v("tr",[v("td",[_._v("AlmaLinux OS")]),_._v(" "),v("td",[_._v("8.10.20240820")]),_._v(" "),v("td",[_._v("us-west-2")]),_._v(" "),v("td",[_._v("ami-09e922ec8f159cf62")]),_._v(" "),v("td",[_._v("aarch64")])])])])])}),[],!1,null,null,null);v.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/43.684002c4.js b/assets/js/43.684002c4.js new file mode 100644 index 000000000..46cf05cc9 --- /dev/null +++ b/assets/js/43.684002c4.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{326:function(a,e,r){"use strict";r.r(e);var t=r(14),s=Object(t.a)({},(function(){var a=this,e=a._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[e("h1",{attrs:{id:"almalinux-os-in-azure-cloud"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-os-in-azure-cloud"}},[a._v("#")]),a._v(" AlmaLinux OS in Azure Cloud")]),a._v(" "),e("p",[a._v("AlmaLinux offers images for Azure across all Azure regions via the Azure Marketplace. Images are deployable via the marketplace, portal and CLI and for both Gen1 and Gen2 machines. The images are completely free of charge regardless of the deployment channel.")]),a._v(" "),e("p",[a._v("The AlmaLinux team and community would like to thank Microsoft Azure for their sponsorship of AlmaLinux which helped make this, and other initiatives possible.")]),a._v(" "),e("h2",{attrs:{id:"azure-community-gallery"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#azure-community-gallery"}},[a._v("#")]),a._v(" Azure Community Gallery")]),a._v(" "),e("p",[a._v("Azure Community Galleries allow anyone to publicly share virtual machine images. The AlmaLinux Foundation uploads images to the gallery "),e("code",[a._v("almalinux-56b45196-f8a2-4e53-858a-bc4d0ebca440")]),a._v(". Microsoft "),e("a",{attrs:{href:"https://docs.microsoft.com/en-us/azure/virtual-machines/vm-generalized-image-version?#create-a-vm-from-a-community-gallery-image",target:"_blank",rel:"noopener noreferrer"}},[a._v("provides examples"),e("OutboundLink")],1),a._v(" of using community gallery images via "),e("code",[a._v("az")]),a._v(" CLI, the portal, and REST.")]),a._v(" "),e("p",[a._v("To use an image in a program, you will need to send an "),e("a",{attrs:{href:"https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.management.compute.models.imagereference",target:"_blank",rel:"noopener noreferrer"}},[a._v("ImageReference"),e("OutboundLink")],1),a._v(" like this one to the API:")]),a._v(" "),e("div",{staticClass:"language-json extra-class"},[e("pre",{pre:!0,attrs:{class:"language-json"}},[e("code",[e("span",{pre:!0,attrs:{class:"token property"}},[a._v('"imageReference"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(":")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("{")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[a._v('"communityGalleryImageId"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(":")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"/CommunityGalleries/almalinux-56b45196-f8a2-4e53-858a-bc4d0ebca440/Images/almalinux-9-gen2/Versions/latest"')]),a._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("}")]),a._v("\n")])])]),e("h2",{attrs:{id:"azure-marketplace"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#azure-marketplace"}},[a._v("#")]),a._v(" Azure Marketplace")]),a._v(" "),e("p",[a._v("The Azure Marketplace is a curated digital catalog used to find, deploy and manage software offerings. All Azure Marketplace products undergo thorough review and vetting by the Azure team to ensure security and quality. Additionally, the AlmaLinux image has gone through significant automated testing with Microsoft's test suite to ensure compatibility across a wide range of Azure compute resources.")]),a._v(" "),e("p",[a._v("The official images can be found below:")]),a._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://azuremarketplace.microsoft.com/en-us/marketplace/apps/almalinux.almalinux-x86_64?tab=Overview",target:"_blank",rel:"noopener noreferrer"}},[a._v("x86_64/AMD64"),e("OutboundLink")],1)]),a._v(" "),e("li",[e("a",{attrs:{href:"https://azuremarketplace.microsoft.com/en-us/marketplace/apps/almalinux.almalinux-arm?tab=Overview",target:"_blank",rel:"noopener noreferrer"}},[a._v("AArch64/ARM64"),e("OutboundLink")],1)]),a._v(" "),e("li",[e("a",{attrs:{href:"https://azuremarketplace.microsoft.com/en-us/marketplace/apps/almalinux.almalinux-hpc?tab=Overview",target:"_blank",rel:"noopener noreferrer"}},[a._v("HPC"),e("OutboundLink")],1)])]),a._v(" "),e("p",[a._v("The Azure Marketplace makes new images available more slowly than the Community Gallery. It also requires each subscription using AlmaLinux for the first time to accept a EULA before successfully creating any VM with the offering.")]),a._v(" "),e("h2",{attrs:{id:"azure-portal"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#azure-portal"}},[a._v("#")]),a._v(" Azure Portal")]),a._v(" "),e("p",[a._v("When deploying a new Virtual Machine instance in the Azure portal, Select Image -> See All Images, and in the marketplace pop search for AlmaLinux.")]),a._v(" "),e("h2",{attrs:{id:"azure-cli"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#azure-cli"}},[a._v("#")]),a._v(" Azure CLI")]),a._v(" "),e("p",[a._v("You can easily deploy images using the "),e("a",{attrs:{href:"https://docs.microsoft.com/en-us/cli/azure/?view=azure-cli-latest",target:"_blank",rel:"noopener noreferrer"}},[a._v("Azure CLI"),e("OutboundLink")],1),a._v(". You can list all available images by running:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("az vm image list "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--all")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--publisher")]),a._v(" almalinux "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-o")]),a._v(" table\n")])])]),e("p",[a._v("You can then deploy by running:")]),a._v(" "),e("h3",{attrs:{id:"almalinux-os-8-x86-64"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-os-8-x86-64"}},[a._v("#")]),a._v(" AlmaLinux OS 8 x86_64")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("az vm create "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-n")]),a._v(" MyVm "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-g")]),a._v(" MyResourceGroup "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--image")]),a._v(" almalinux:almalinux-x86_64:8-gen1:latest\naz vm create "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-n")]),a._v(" MyVm "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-g")]),a._v(" MyResourceGroup "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--image")]),a._v(" almalinux:almalinux-x86_64:8-gen2:latest\n")])])]),e("h3",{attrs:{id:"almalinux-os-9-x86-64"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-os-9-x86-64"}},[a._v("#")]),a._v(" AlmaLinux OS 9 x86_64")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("az vm create "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-n")]),a._v(" MyVm "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-g")]),a._v(" MyResourceGroup "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--image")]),a._v(" almalinux:almalinux-x86_64:9-gen1:latest\naz vm create "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-n")]),a._v(" MyVm "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-g")]),a._v(" MyResourceGroup "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--image")]),a._v(" almalinux:almalinux-x86_64:9-gen2:latest\n")])])]),e("h3",{attrs:{id:"almalinux-os-8-aarch64"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-os-8-aarch64"}},[a._v("#")]),a._v(" AlmaLinux OS 8 AArch64")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("az vm create "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-n")]),a._v(" MyVm "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-g")]),a._v(" MyResourceGroup "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--image")]),a._v(" almalinux:almalinux-arm:8-arm-gen2:latest\n")])])]),e("h3",{attrs:{id:"almalinux-os-9-aarch64"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-os-9-aarch64"}},[a._v("#")]),a._v(" AlmaLinux OS 9 AArch64")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("az vm create "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-n")]),a._v(" MyVm "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-g")]),a._v(" MyResourceGroup "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--image")]),a._v(" almalinux:almalinux-arm:9-arm-gen2:latest\n")])])]),e("p",[a._v("For a full range of options that are customizable from the CLI please check the "),e("a",{attrs:{href:"https://learn.microsoft.com/en-us/cli/azure/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Azure CLI Reference Docs"),e("OutboundLink")],1),a._v(".")])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/44.f4cd59e8.js b/assets/js/44.f4cd59e8.js new file mode 100644 index 000000000..e45ca9a80 --- /dev/null +++ b/assets/js/44.f4cd59e8.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[44],{324:function(t,s,a){"use strict";a.r(s);var n=a(14),e=Object(n.a)({},(function(){var t=this,s=t._self._c;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h6",{attrs:{id:"last-modified-2024-03-05"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#last-modified-2024-03-05"}},[t._v("#")]),t._v(" last modified: 2024-03-05")]),t._v(" "),s("h1",{attrs:{id:"how-to-use-ec2-instance-connect"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#how-to-use-ec2-instance-connect"}},[t._v("#")]),t._v(" How to use EC2 Instance Connect")]),t._v(" "),s("h2",{attrs:{id:"about-ec2-instance-connect"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#about-ec2-instance-connect"}},[t._v("#")]),t._v(" About EC2 Instance Connect")]),t._v(" "),s("p",[s("a",{attrs:{href:"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-linux-inst-eic.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("Amazon EC2 Instance Connect"),s("OutboundLink")],1),t._v(" provides a simple and secure way to connect to your Linux instances with Secure Shell (SSH).")]),t._v(" "),s("p",[t._v("If you want to connect to an AlmaLinux OS instance using EC2 Instance Connect, please, follow the steps below.")]),t._v(" "),s("div",{staticClass:"custom-block tip"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("EC2 Instance Connect packages are pre-installed in AlmaLinux OS starting versions "),s("code",[t._v("8.9.20240303")]),t._v(" and "),s("code",[t._v("9.3.20240303")]),t._v(" However, for older versions of AlmaLinux OS AMIs, you will need to install the packages manually:\nInstall EC2 Instance Connect RPM packages:")]),t._v(" "),s("ul",[s("li",[s("strong",[t._v("AlmaLinux OS 9 x86_64")]),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[t._v("dnf "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-y")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("install")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("\\")]),t._v("\n https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect.rpm "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("\\")]),t._v("\n https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux.noarch.rpm\n")])])])]),t._v(" "),s("li",[s("strong",[t._v("AlmaLinux OS 9 AArch64")]),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[t._v("dnf "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-y")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("install")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("\\")]),t._v("\n https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_arm64/ec2-instance-connect.rpm "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("\\")]),t._v("\n https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux.noarch.rpm\n")])])])]),t._v(" "),s("li",[s("strong",[t._v("AlmaLinux OS 8 x86_64")]),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[t._v("dnf "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-y")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("install")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("\\")]),t._v("\n https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect.rhel8.rpm "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("\\")]),t._v("\n https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux.noarch.rpm\n")])])])]),t._v(" "),s("li",[s("strong",[t._v("AlmaLinux OS 8 AArch64")]),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[t._v("dnf "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-y")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("install")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("\\")]),t._v("\n https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_arm64/ec2-instance-connect.rhel8.rpm "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("\\")]),t._v("\n https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux.noarch.rpm\n")])])])])])]),t._v(" "),s("h2",{attrs:{id:"enabling-ec2-instance-connect"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#enabling-ec2-instance-connect"}},[t._v("#")]),t._v(" Enabling EC2 Instance Connect")]),t._v(" "),s("p",[t._v("To be able to connect to an AlmaLinux OS instance using the EC2 Instance Connect you need to enable it first by instance ID or resource tag. For this purpose, you need to create a relevant policy file using EC2 Console or AWS CLI.")]),t._v(" "),s("h3",{attrs:{id:"ec2-console"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#ec2-console"}},[t._v("#")]),t._v(" EC2 Console:")]),t._v(" "),s("ul",[s("li",[t._v("In EC2 Console navigate to "),s("strong",[t._v('"IAM -> Policies -> Create policy"')]),t._v(".")]),t._v(" "),s("li",[t._v("Select Policy editor as JSON and paste the relevant policy contents:\n"),s("ul",[s("li",[s("p",[t._v("Policy to enable EC2 Instance Connect by tag: "),s("code",[t._v("ec2_instance_connect_policy_by_tag.json")]),t._v(".")]),t._v(" "),s("div",{staticClass:"language-json extra-class"},[s("pre",{pre:!0,attrs:{class:"language-json"}},[s("code",[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Version"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"2012-10-17"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Statement"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n \t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Effect"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Allow"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n \t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Action"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"ec2-instance-connect:SendSSHPublicKey"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n \t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Resource"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"arn:aws:ec2:$REGION:$ACCOUNT-ID:instance/*"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n \t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Condition"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n \t\t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"StringEquals"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n \t\t\t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"aws:ResourceTag/$TAGKEY"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"$TAGVALUE"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"ec2:osuser"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"ec2-user"')]),t._v("\n \t\t\t"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n \t\t"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n \t"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n \t"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n \t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Effect"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Allow"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n \t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Action"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"ec2:DescribeInstances"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n \t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Resource"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"*"')]),t._v("\n \t"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("p",[t._v("Replace these variables with yours:")]),t._v(" "),s("ul",[s("li",[s("code",[t._v("$REGION")]),t._v(": AWS Region of instances you want to connect (for example,"),s("code",[t._v("us-east-1")]),t._v(") or "),s("code",[t._v("*")]),t._v(" to apply to all regions.")]),t._v(" "),s("li",[s("code",[t._v("$ACCOUNT-ID")]),t._v(": ID of AWS account or "),s("code",[t._v("*")]),t._v(" to apply to all accounts.")]),t._v(" "),s("li",[s("code",[t._v("$TAGKEY")]),t._v(": Key of the resource tag, for example, "),s("code",[t._v("Foo")])]),t._v(" "),s("li",[s("code",[t._v("$TAGVALUE")]),t._v(": Value for "),s("code",[t._v("$TAGKEY")]),t._v(", for example, "),s("code",[t._v("Bar")])])])]),t._v(" "),s("li",[s("p",[t._v("Policy to enable EC2 Instance Connect by instance ID: "),s("code",[t._v("ec2_instance_connect_policy_by_instance-id.json")]),t._v(".")]),t._v(" "),s("div",{staticClass:"language-json extra-class"},[s("pre",{pre:!0,attrs:{class:"language-json"}},[s("code",[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Version"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"2012-10-17"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Statement"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t\t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Effect"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Allow"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Action"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"ec2-instance-connect:SendSSHPublicKey"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Resource"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n\t\t\t\t"),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"arn:aws:ec2:$REGION:$ACCOUNT-ID:instance/$INSTANCE-ID"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t"),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"arn:aws:ec2:$REGION:$ACCOUNT-ID:instance/$INSTANCE-ID"')]),t._v("\n\t\t\t"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Condition"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t\t\t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"StringEquals"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t\t\t\t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"ec2:osuser"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"ec2-user"')]),t._v("\n\t\t\t\t"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\t\t\t"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\t\t"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t\t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Effect"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Allow"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Action"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"ec2:DescribeInstances"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Resource"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"*"')]),t._v("\n\t\t"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\t"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("p",[t._v("Replace these variables with yours:")]),t._v(" "),s("ul",[s("li",[s("code",[t._v("$REGION")]),t._v(": AWS Region of instances you want to connect (for example,"),s("code",[t._v("us-east-1")]),t._v(") or "),s("code",[t._v("*")]),t._v(" to apply to all regions.")]),t._v(" "),s("li",[s("code",[t._v("$ACCOUNT-ID")]),t._v(": ID of AWS account or "),s("code",[t._v("*")]),t._v(" to apply to all accounts.")]),t._v(" "),s("li",[s("code",[t._v("$INSTANCE-ID")]),t._v(": ID of instance, for example, "),s("code",[t._v("i-1234567890abcdef0")])])])])])])]),t._v(" "),s("h3",{attrs:{id:"aws-cli"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#aws-cli"}},[t._v("#")]),t._v(" AWS CLI")]),t._v(" "),s("ul",[s("li",[s("p",[t._v("Run the following command in AWS CLI to create a policy:")]),t._v(" "),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[t._v("aws iam create-policy "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("\\")]),t._v("\n --policy-name "),s("span",{pre:!0,attrs:{class:"token variable"}},[t._v("$POLICY_NAME")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("\\")]),t._v("\n --policy-document file://"),s("span",{pre:!0,attrs:{class:"token variable"}},[t._v("$POLICY_FILE")]),t._v("\n")])])]),s("p",[t._v("Replace these variables with your data:")]),t._v(" "),s("ul",[s("li",[s("code",[t._v("$POLICY_NAME")]),t._v(": Name of policy, "),s("code",[t._v("ec2_instance_connect_policy_by_instance-id")]),t._v(" or "),s("code",[t._v("ec2_instance_connect_policy_by_tag")])]),t._v(" "),s("li",[s("code",[t._v("$POLICY_FILE:")]),t._v(": Policy file in JSON "),s("code",[t._v("ec2_instance_connect_policy_by_instance-id.json")]),t._v(" or "),s("code",[t._v("ec2_instance_connect_policy_by_tag.json")])])])]),t._v(" "),s("li",[s("p",[t._v("Put relevant policy contents:")]),t._v(" "),s("ul",[s("li",[s("p",[t._v("Policy to enable EC2 Instance Connect by tag: "),s("code",[t._v("ec2_instance_connect_policy_by_tag.json")]),t._v(".")]),t._v(" "),s("div",{staticClass:"language-json extra-class"},[s("pre",{pre:!0,attrs:{class:"language-json"}},[s("code",[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Version"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"2012-10-17"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Statement"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n \t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Effect"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Allow"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n \t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Action"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"ec2-instance-connect:SendSSHPublicKey"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n \t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Resource"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"arn:aws:ec2:$REGION:$ACCOUNT-ID:instance/*"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n \t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Condition"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n \t\t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"StringEquals"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n \t\t\t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"aws:ResourceTag/$TAGKEY"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"$TAGVALUE"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"ec2:osuser"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"ec2-user"')]),t._v("\n \t\t\t"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n \t\t"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n \t"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n \t"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n \t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Effect"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Allow"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n \t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Action"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"ec2:DescribeInstances"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n \t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Resource"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"*"')]),t._v("\n \t"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("p",[t._v("Replace these variables with yours:")]),t._v(" "),s("ul",[s("li",[s("code",[t._v("$REGION")]),t._v(": AWS Region of instances you want to connect (for example,"),s("code",[t._v("us-east-1")]),t._v(") or "),s("code",[t._v("*")]),t._v(" to apply to all regions.")]),t._v(" "),s("li",[s("code",[t._v("$ACCOUNT-ID")]),t._v(": ID of AWS account or "),s("code",[t._v("*")]),t._v(" to apply to all accounts.")]),t._v(" "),s("li",[s("code",[t._v("$TAGKEY")]),t._v(": Key of the resource tag, for example, "),s("code",[t._v("Foo")])]),t._v(" "),s("li",[s("code",[t._v("$TAGVALUE")]),t._v(": Value for "),s("code",[t._v("$TAGKEY")]),t._v(", for example, "),s("code",[t._v("Bar")])])])]),t._v(" "),s("li",[s("p",[t._v("Policy to enable EC2 Instance Connect by instance ID: "),s("code",[t._v("ec2_instance_connect_policy_by_instance-id.json")]),t._v(".")]),t._v(" "),s("div",{staticClass:"language-json extra-class"},[s("pre",{pre:!0,attrs:{class:"language-json"}},[s("code",[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Version"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"2012-10-17"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Statement"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t\t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Effect"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Allow"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Action"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"ec2-instance-connect:SendSSHPublicKey"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Resource"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n\t\t\t\t"),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"arn:aws:ec2:$REGION:$ACCOUNT-ID:instance/$INSTANCE-ID"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t"),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"arn:aws:ec2:$REGION:$ACCOUNT-ID:instance/$INSTANCE-ID"')]),t._v("\n\t\t\t"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Condition"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t\t\t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"StringEquals"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t\t\t\t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"ec2:osuser"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"ec2-user"')]),t._v("\n\t\t\t\t"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\t\t\t"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\t\t"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t\t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Effect"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Allow"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Action"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"ec2:DescribeInstances"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t"),s("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Resource"')]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"*"')]),t._v("\n\t\t"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\t"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("p",[t._v("Replace these variables with yours:")]),t._v(" "),s("ul",[s("li",[s("code",[t._v("$REGION")]),t._v(": AWS Region of instances you want to connect (for example,"),s("code",[t._v("us-east-1")]),t._v(") or "),s("code",[t._v("*")]),t._v(" to apply to all regions.")]),t._v(" "),s("li",[s("code",[t._v("$ACCOUNT-ID")]),t._v(": ID of AWS account or "),s("code",[t._v("*")]),t._v(" to apply to all accounts.")]),t._v(" "),s("li",[s("code",[t._v("$INSTANCE-ID")]),t._v(": ID of instance, for example, "),s("code",[t._v("i-1234567890abcdef0")])])])])])]),t._v(" "),s("li",[s("p",[t._v("When the policy is created, you can attach this policy to an IAM user or/and group.")])])]),t._v(" "),s("h2",{attrs:{id:"connect-to-an-instance"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#connect-to-an-instance"}},[t._v("#")]),t._v(" Connect to an instance")]),t._v(" "),s("p",[t._v("There are three ways of connecting:")]),t._v(" "),s("ul",[s("li",[t._v("Use the browser-based client on the AWS Console")]),t._v(" "),s("li",[t._v("Push your public SSH keys with AWS CLI and use your SSH client to connect")]),t._v(" "),s("li",[t._v("Use AWS CLI to connect")])]),t._v(" "),s("h3",{attrs:{id:"using-the-browser-based-client-on-aws-console"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#using-the-browser-based-client-on-aws-console"}},[t._v("#")]),t._v(" Using the browser-based client on AWS Console")]),t._v(" "),s("p",[s("strong",[t._v("Requirements:")])]),t._v(" "),s("ul",[s("li",[s("code",[t._v("curl")])]),t._v(" "),s("li",[s("code",[t._v("jq")])])]),t._v(" "),s("p",[t._v("To connect using the EC2 Instance Connect browser-based client, you need to get the IP address range of the AWS service in your region. Add these ranges to the security group of instances for inbound SSH connection.")]),t._v(" "),s("p",[t._v("Get the subnet of AWS service for your region:")]),t._v(" "),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[t._v("curl")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-s")]),t._v(" https://ip-ranges.amazonaws.com/ip-ranges.json "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("|")]),t._v(" jq "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('\'.prefixes[] | select(.region=="$REGION") | select(.service=="EC2_INSTANCE_CONNECT") | .ip_prefix\'')]),t._v("\n")])])]),s("p",[t._v("Replace "),s("code",[t._v("$REGION")]),t._v(" with an AWS region, for example, "),s("code",[t._v("us-east-1")])]),t._v(" "),s("h3",{attrs:{id:"push-inject-your-public-ssh-keys-with-aws-cli-and-use-ssh-client-of-your-choice"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#push-inject-your-public-ssh-keys-with-aws-cli-and-use-ssh-client-of-your-choice"}},[t._v("#")]),t._v(" Push/Inject your public SSH keys with AWS CLI and use SSH client of your choice")]),t._v(" "),s("div",{staticClass:"custom-block warning"},[s("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),s("p",[t._v("When you connect to an instance using EC2 Instance Connect, the Instance Connect API pushes an SSH public key to the instance metadata where it remains for "),s("strong",[t._v("60 seconds")]),t._v(".")])]),t._v(" "),s("p",[t._v("Push your public SSH key to an instance and connect with the SSH client:")]),t._v(" "),s("p",[t._v("Run the command:")]),t._v(" "),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[t._v("aws ec2-instance-connect send-ssh-public-key "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("\\")]),t._v("\n --instance-id "),s("span",{pre:!0,attrs:{class:"token variable"}},[t._v("$INSTANCE_ID")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("\\")]),t._v("\n --instance-os-user ec2-user "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("\\")]),t._v("\n --ssh-public-key file://"),s("span",{pre:!0,attrs:{class:"token variable"}},[t._v("$SSH_PUB_KEY_PATH")]),t._v("\n")])])]),s("p",[t._v("Replace these variables with your own:")]),t._v(" "),s("ul",[s("li",[s("code",[t._v("$INSTANCE_ID")]),t._v(": ID of Instance, for example, "),s("code",[t._v("i-1234567890abcdef0")])]),t._v(" "),s("li",[s("code",[t._v("$SSH_PUB_KEY_PATH")]),t._v(": Path of public pair of SSH key, for example, "),s("code",[t._v("~/.ssh/my_ssh_key.pub")])])]),t._v(" "),s("div",{staticClass:"custom-block tip"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("See the "),s("a",{attrs:{href:"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2-instance-connect/send-ssh-public-key.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("AWS CLI Command Reference"),s("OutboundLink")],1),t._v(" for more command line options.")])]),t._v(" "),s("h3",{attrs:{id:"use-aws-cli-to-connect"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#use-aws-cli-to-connect"}},[t._v("#")]),t._v(" Use AWS CLI to connect")]),t._v(" "),s("p",[t._v("Run the command to connect using only AWS CLI:")]),t._v(" "),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[t._v("aws ec2-instance-connect "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("ssh")]),t._v(" --instance-id "),s("span",{pre:!0,attrs:{class:"token variable"}},[t._v("$INSTANCE_ID")]),t._v("\n")])])]),s("p",[t._v("Replace these variables with your own:")]),t._v(" "),s("ul",[s("li",[s("code",[t._v("$INSTANCE_ID")]),t._v(": ID of Instance, for example, "),s("code",[t._v("i-1234567890abcdef0")])])]),t._v(" "),s("div",{staticClass:"custom-block tip"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("See the "),s("a",{attrs:{href:"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2-instance-connect/ssh.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("AWS CLI Command Reference"),s("OutboundLink")],1),t._v(" for more command line options.")])])])}),[],!1,null,null,null);s.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/45.15f70305.js b/assets/js/45.15f70305.js new file mode 100644 index 000000000..bb8a3dbb9 --- /dev/null +++ b/assets/js/45.15f70305.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[45],{325:function(a,t,s){"use strict";s.r(t);var e=s(14),r=Object(e.a)({},(function(){var a=this,t=a._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[t("h1",{attrs:{id:"using-generic-cloud-images-on-a-local-machine"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#using-generic-cloud-images-on-a-local-machine"}},[a._v("#")]),a._v(" Using Generic Cloud Images on a local machine")]),a._v(" "),t("p",[a._v("You can use the AlmaLinux OS 8 and 9 Generic Cloud images for testing, developing, manipulating and repackaging purposes on your local machine.")]),a._v(" "),t("p",[a._v("Required packages:")]),a._v(" "),t("ul",[t("li",[t("code",[a._v("osinfo-db")]),a._v(" for AlmaLinux OS support on the virtualization stack.")]),a._v(" "),t("li",[t("code",[a._v("qemu-img")]),a._v(" (RPM) (ArchLinux), "),t("code",[a._v("qemu-utils")]),a._v(" (DEB) for creating snapshots.")]),a._v(" "),t("li",[t("code",[a._v("virt-install")]),a._v(" (CLI) "),t("code",[a._v("virt-manager")]),a._v(" (GUI) (RPM), "),t("code",[a._v("virt-manager")]),a._v(" (ships with "),t("code",[a._v("virt-install")]),a._v(" too) (DEB) for creating VMs.")]),a._v(" "),t("li",[t("code",[a._v("xorriso")]),a._v(" or "),t("code",[a._v("genisoimage")]),a._v(" for creation of Cloud-init data ISOs.")]),a._v(" "),t("li",[t("code",[a._v("guestfs-tools")]),a._v(" (RPM) (ArchLinux), "),t("code",[a._v("libguestfs-tools")]),a._v(" (DEB) for inspecting and manipulating image content.")])]),a._v(" "),t("h2",{attrs:{id:"almalinux-guest-os-support"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-guest-os-support"}},[a._v("#")]),a._v(" AlmaLinux Guest OS support")]),a._v(" "),t("p",[a._v("You need at least version "),t("code",[a._v("20210215")]),a._v(" for AlmaLinux and "),t("code",[a._v("20210426")]),a._v(" for other distributions "),t("code",[a._v("osinfo-db")]),a._v(" packages to support AlmaLinux as a guest OS.")]),a._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[a._v("TIP")]),a._v(" "),t("p",[t("code",[a._v("20210621")]),a._v(" and newer recommended for latest improvements.")])]),a._v(" "),t("p",[a._v("To check whether AlmaLinux OS is supported on the installed version of "),t("code",[a._v("osinfo-db")]),a._v(":")]),a._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[a._v("osinfo-query os "),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[a._v("grep")]),a._v(" almalinux\n\n almalinux8 "),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" AlmaLinux "),t("span",{pre:!0,attrs:{class:"token number"}},[a._v("8")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[a._v("8")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" http://almalinux.org/almalinux/8\n almalinux9 "),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" AlmaLinux "),t("span",{pre:!0,attrs:{class:"token number"}},[a._v("9")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[a._v("9")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" http://almalinux.org/almalinux/9\n")])])]),t("p",[a._v("If the installed "),t("code",[a._v("osinfo-db")]),a._v(" doesn’t support either or any version of AlmaLinux OS, You can manually update the Osinfo database with the "),t("code",[a._v("--local")]),a._v(" option without overriding the installed "),t("code",[a._v("osinfo-db")]),a._v(" which is installed by the distribution's package manager. The new database will have precedence when the database is loaded.")]),a._v(" "),t("p",[a._v("Retrieve the latest "),t("code",[a._v("$osinfo_db_version")]),a._v(" from here (e.g., "),t("code",[a._v("20230719")]),a._v(") : "),t("a",{attrs:{href:"https://releases.pagure.org/libosinfo/?C=M;O=D",target:"_blank",rel:"noopener noreferrer"}},[a._v("https://releases.pagure.org/libosinfo/?C=M;O=D"),t("OutboundLink")],1)]),a._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("osinfo_db_version")]),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[a._v("'20230719'")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# Replace with the latest version")]),a._v("\n\n"),t("span",{pre:!0,attrs:{class:"token function"}},[a._v("curl")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-O")]),a._v(" https://releases.pagure.org/libosinfo/osinfo-db-"),t("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),t("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$osinfo_db_version")]),a._v('"')]),a._v(".tar.xz "),t("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# Download")]),a._v("\n"),t("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" osinfo-db-import "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--local")]),a._v(" osinfo-db-"),t("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),t("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$osinfo_db_version")]),a._v('"')]),a._v(".tar.xz "),t("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# Install")]),a._v("\n")])])]),t("p",[a._v("Refer to this guide to download and verify the cloud images: "),t("a",{attrs:{href:"https://wiki.almalinux.org/cloud/Generic-cloud.html#download-and-verification",target:"_blank",rel:"noopener noreferrer"}},[a._v("https://wiki.almalinux.org/cloud/Generic-cloud.html#download-and-verification"),t("OutboundLink")],1)]),a._v(" "),t("h2",{attrs:{id:"create-a-snapshot-from-the-image"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#create-a-snapshot-from-the-image"}},[a._v("#")]),a._v(" Create a snapshot from the image")]),a._v(" "),t("p",[a._v("If you don’t want to modify the cloud image each time you create a VM, you can create a snapshot from the cloud image. The snapshot's virtual size can be different from the base image. In this example, we will use 20G instead of the base image's virtual size (10G). Cloud-init will grow the root filesystem automatically on the creation of the VM.")]),a._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[a._v("qemu-img create "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-f")]),a._v(" qcow2 "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-b")]),a._v(" AlmaLinux-9-GenericCloud-9.2-20230513.x86_64.qcow2 "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-F")]),a._v(" qcow2 wiki_example_almalinux92_snapshot.qcow2 20G\n")])])]),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[a._v("WARNING")]),a._v(" "),t("p",[a._v("If you face a permission error on image, snapshot, and Cloud-init ISO files, you can resolve it in the following ways:")]),a._v(" "),t("ul",[t("li",[a._v("You can move the image and snapshot to the "),t("code",[a._v("/var/lib/libvirt/images")]),a._v(" directory.")]),a._v(" "),t("li",[a._v("Change the ownership of file to "),t("code",[a._v("qemu")]),a._v(" user with "),t("code",[a._v("chown qemu:qemu")]),a._v(". On SELinux enforced systems, do not forget to change the context type too with "),t("code",[a._v("chcon -t virt_image_t")])])])]),a._v(" "),t("h2",{attrs:{id:"cloud-init"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#cloud-init"}},[a._v("#")]),a._v(" Cloud-init")]),a._v(" "),t("p",[a._v("The "),t("a",{attrs:{href:"https://cloudinit.readthedocs.io/en/latest/reference/datasources/nocloud.html",target:"_blank",rel:"noopener noreferrer"}},[a._v("NoCloud"),t("OutboundLink")],1),a._v(" datasource allows the user to provide "),t("code",[a._v("user-data")]),a._v(", "),t("code",[a._v("meta-data")]),a._v(" and "),t("code",[a._v("network-config")]),a._v(" to the VM without running a network service (or even without having a network at all). You can provide Meta-data and User-data files with "),t("code",[a._v("--cloud-init")]),a._v(" option of "),t("a",{attrs:{href:"https://virt-manager.org/",target:"_blank",rel:"noopener noreferrer"}},[a._v("virt-install"),t("OutboundLink")],1),a._v(" "),t("code",[a._v(">= 3.0.0")]),a._v(" or with an ISO file for versions `< 3.0.0.")]),a._v(" "),t("p",[a._v("The name of the default user on the AlmaLinux OS Generic Cloud images is "),t("code",[a._v("almalinux")]),a._v(" and it's locked. Therefore we need to inject a password or public ssh key for authentication. In this example, we do both: set a password and add public SSH keys for the "),t("code",[a._v("almalinux")]),a._v(" user.")]),a._v(" "),t("p",[a._v("These two main criteria must be met on the Cloud-init User Data:")]),a._v(" "),t("ul",[t("li",[a._v("The first line must be "),t("code",[a._v("#cloud-config")]),a._v(".")]),a._v(" "),t("li",[a._v("The syntax must be in "),t("code",[a._v("YAML")]),a._v(".")])]),a._v(" "),t("p",[t("code",[a._v("user-data:")])]),a._v(" "),t("div",{staticClass:"language-yaml extra-class"},[t("pre",{pre:!0,attrs:{class:"language-yaml"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[a._v("#cloud-config")]),a._v("\n\n"),t("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("ssh_pwauth")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token boolean important"}},[a._v("true")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# sshd service will be configured to accept password authentication method")]),a._v("\n"),t("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("password")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" changeme "),t("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# Set a password for almalinux")]),a._v("\n"),t("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("chpasswd")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("expire")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token boolean important"}},[a._v("false")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# Don't ask for password reset after the first log-in")]),a._v("\n"),t("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("ssh_authorized_keys")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# Add your ssh public key for publickey authentication")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v(" ssh"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v("ed25519 AAAAB3NzaC1yc2EAAAABIwAAAQEA3I7VUf2l5gSn5uavROsc5HRDpZ turquoisekodkod@almalinux.example\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v(" ssh"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v("rsa AAAAB3NzaC1yc2EAAAABIwAAAGEA3FSyQwBI6Z+nCSjUU sapphirecaracal@almalinux.example\n")])])]),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[a._v("TIP")]),a._v(" "),t("p",[a._v("Refer to the Cloud-init modules "),t("a",{attrs:{href:"https://cloudinit.readthedocs.io/en/latest/topics/modules.html#",target:"_blank",rel:"noopener noreferrer"}},[a._v("list"),t("OutboundLink")],1),a._v(" for further customization options.")])]),a._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[a._v("TIP")]),a._v(" "),t("p",[a._v("You can close the console output of the VM with "),t("code",[a._v("Ctrl + ]")])])]),a._v(" "),t("p",[a._v("Start the VM - "),t("code",[a._v("virt-install >= 3.0.0")]),a._v(" with "),t("code",[a._v("--cloud-init")]),a._v(" option:")]),a._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[t("span",{pre:!0,attrs:{class:"token shebang important"}},[a._v("#!/usr/bin/env bash")]),a._v("\n\n\n"),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("vm_name")]),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[a._v("'wiki-example-almalinux92'")]),a._v("\n"),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("vm_memory")]),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[a._v("'2048'")]),a._v("\n"),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("vm_cpus")]),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[a._v("'2'")]),a._v("\n"),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("vm_disk")]),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[a._v("'/var/lib/libvirt/images/wiki_example_almalinux92_snapshot.qcow2'")]),a._v("\n\n"),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("ci_user_data")]),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[a._v("'ci_user_data_ssh_auth_pass_pubkey'")]),a._v("\n\n\nvirt-install "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--connect")]),a._v(" qemu:///system "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--name")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),t("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$vm_name")]),a._v('"')]),a._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--memory")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),t("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$vm_memory")]),a._v('"')]),a._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--machine")]),a._v(" q35 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--vcpus")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),t("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$vm_cpus")]),a._v('"')]),a._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--cpu")]),a._v(" host-passthrough "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--import")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n --cloud-init user-data"),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),t("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$ci_user_data")]),a._v('"')]),a._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--osinfo")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("name")]),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v("almalinux8 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--disk")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),t("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$vm_disk")]),a._v('"')]),a._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n --virt-type kvm\n")])])]),t("p",[a._v("Start the VM - "),t("code",[a._v("virt-install < 3.0.0")])]),a._v(" "),t("p",[a._v("Create Cloud-init data ISO with User and Meta data files:")]),a._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[a._v("WARNING")]),a._v(" "),t("p",[a._v("The filename of Cloud-init user data, meta data must be renamed to "),t("code",[a._v("user-data")]),a._v(" and "),t("code",[a._v("meta-data")]),a._v(" and be placed on the root directory of ISO.")])]),a._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[a._v("/user-data\n/meta-data\n")])])]),t("p",[a._v("The "),t("code",[a._v("meta-data")]),a._v(" can be empty for no meta-data option")]),a._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[a._v("touch")]),a._v(" meta-data\n")])])]),t("p",[a._v("xorriso (AlmaLinux OS 9)")]),a._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[a._v("xorriso "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-as")]),a._v(" genisoimage "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-output")]),a._v(" ci_data.iso "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-volid")]),a._v(" CIDATA "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-joliet")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-rock")]),a._v(" user-data meta-data\n")])])]),t("p",[a._v("genisoimage (AlmaLinux OS 8)")]),a._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[a._v("genisoimage "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-output")]),a._v(" ci_data.iso "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-volid")]),a._v(" CIDATA "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-joliet")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-rock")]),a._v(" user-data meta-data\n")])])]),t("p",[a._v("Create the VM with Cloud-init data ISO mounted:")]),a._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[t("span",{pre:!0,attrs:{class:"token shebang important"}},[a._v("#!/usr/bin/env bash")]),a._v("\n\n"),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("vm_name")]),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[a._v("'wiki-almalinux92'")]),a._v("\n"),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("vm_memory")]),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[a._v("'2048'")]),a._v("\n"),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("vm_cpus")]),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[a._v("'2'")]),a._v("\n"),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("vm_disk")]),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[a._v("'/var/lib/libvirt/images/wiki_example_almalinux92_snapshot.qcow2'")]),a._v("\n\n"),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("ci_dataiso")]),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[a._v("'/var/lib/libvirt/images/ci_data.iso'")]),a._v("\n\nvirt-install "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--connect")]),a._v(" qemu:///system "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--name")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),t("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$vm_name")]),a._v('"')]),a._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--memory")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),t("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$vm_memory")]),a._v('"')]),a._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--machine")]),a._v(" q35 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--vcpus")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$vm_cpus")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--cpu")]),a._v(" host-passthrough "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--import")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--osinfo")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("name")]),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v("almalinux9 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--disk")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),t("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$vm_disk")]),a._v('"')]),a._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--disk")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),t("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$ci_dataiso")]),a._v('"')]),a._v(",device"),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v("cdrom "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n --virt-type kvm\n")])])]),t("p",[a._v("Get the IP address of the VM:")]),a._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[a._v("virsh")]),a._v(" domainifaddr "),t("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$VM_NAME")]),a._v("\n")])])]),t("h2",{attrs:{id:"static-ip"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#static-ip"}},[a._v("#")]),a._v(" Static IP")]),a._v(" "),t("p",[a._v("To create a VM with static IPs rather than dynamic from DHCP, We need to create "),t("code",[a._v("network-config")]),a._v(" file in Networking config Version 1 or Networking config Version 2 format.")]),a._v(" "),t("p",[a._v("An example for a single interface VM on "),t("code",[a._v("192.168.122.0/24")]),a._v(" network, our "),t("code",[a._v("network-config")]),a._v(" file would be:")]),a._v(" "),t("p",[a._v("Networking config Version 1:")]),a._v(" "),t("div",{staticClass:"language-yaml extra-class"},[t("pre",{pre:!0,attrs:{class:"language-yaml"}},[t("code",[t("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("version")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[a._v("1")]),a._v("\n"),t("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("config")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("type")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" physical\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("name")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" eth0\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("subnets")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("type")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" static\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("address")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" 192.168.122.92\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("netmask")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" 255.255.255.0\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("gateway")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" 192.168.122.1\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("dns_nameservers")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v(" 192.168.122.1\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v(" 9.9.9.9\n")])])]),t("p",[a._v("Networking config Version 2:")]),a._v(" "),t("div",{staticClass:"language-yaml extra-class"},[t("pre",{pre:!0,attrs:{class:"language-yaml"}},[t("code",[t("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("version")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[a._v("2")]),a._v("\n"),t("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("ethernets")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("eth0")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("addresses")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v(" 192.168.122.92/24\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("gateway4")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" 192.168.124.1\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("nameservers")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("addresses")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v(" 192.168.122.1\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v(" 9.9.9.9\n")])])]),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[a._v("TIP")]),a._v(" "),t("p",[a._v("Please consult documenation pages of "),t("a",{attrs:{href:"https://cloudinit.readthedocs.io/en/latest/reference/network-config-format-v1.html",target:"_blank",rel:"noopener noreferrer"}},[a._v("Networking config Version 1"),t("OutboundLink")],1),a._v(" and "),t("a",{attrs:{href:"https://cloudinit.readthedocs.io/en/latest/reference/network-config-format-v2.html",target:"_blank",rel:"noopener noreferrer"}},[a._v("Networking config Version 2"),t("OutboundLink")],1),a._v(" for the full list of options.")])]),a._v(" "),t("p",[a._v("In virt-install/manager version "),t("code",[a._v(">= 4.1.0")]),a._v(" (available in AlmaLinux OS 9), you can use the "),t("code",[a._v("network-config")]),a._v(" sub-option of the "),t("code",[a._v("--cloud-init")]),a._v(" option.")]),a._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[t("span",{pre:!0,attrs:{class:"token shebang important"}},[a._v("#!/usr/bin/env bash")]),a._v("\n\n"),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("vm_name")]),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[a._v("'wiki-almalinux92'")]),a._v("\n"),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("vm_memory")]),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[a._v("'2048'")]),a._v("\n"),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("vm_cpus")]),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[a._v("'2'")]),a._v("\n"),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("vm_disk")]),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[a._v("'/var/lib/libvirt/images/wiki_example_almalinux92_snapshot.qcow2'")]),a._v("\n\n"),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("ci_user_data")]),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[a._v("'ci_user_data_ssh_auth_pass_pubkey'")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# Cloud-init user-data")]),a._v("\n"),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("ci_network_config")]),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[a._v("'ci_network_config_192_168_122_92_v1'")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# Cloud-init network-config")]),a._v("\n\n\nvirt-install "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--connect")]),a._v(" qemu:///system "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--name")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),t("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$vm_name")]),a._v('"')]),a._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--memory")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),t("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$vm_memory")]),a._v('"')]),a._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--machine")]),a._v(" q35 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--vcpus")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),t("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$vm_cpus")]),a._v('"')]),a._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--cpu")]),a._v(" host-passthrough "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--import")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n --cloud-init user-data"),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),t("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$ci_user_data")]),a._v('"')]),a._v(",network-config"),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),t("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$ci_network_config")]),a._v('"')]),a._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--osinfo")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("name")]),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v("almalinux9 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--disk")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),t("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$vm_disk")]),a._v('"')]),a._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n --virt-type kvm\n")])])]),t("p",[a._v("On virt-install/manager "),t("code",[a._v("< 4.1.0")]),a._v(" (AlmaLinux OS 8), you will need to create a Cloud-init Data ISO in ISO 9660 format.")]),a._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[a._v("WARNING")]),a._v(" "),t("p",[a._v("The names of Cloud-init user data, meta data and networking config must be renamed to "),t("code",[a._v("user-data")]),a._v(", "),t("code",[a._v("meta-data")]),a._v(" and "),t("code",[a._v("network-config")]),a._v(" and be present on the root directory of ISO.")])]),a._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[a._v("/user-data\n/meta-data\n/network-config\n")])])]),t("p",[a._v("Create the Cloud-init Data ISO:")]),a._v(" "),t("p",[a._v("The "),t("code",[a._v("meta-data")]),a._v(" file can be empty if no meta-data is needed.")]),a._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[a._v("touch")]),a._v(" meta-data\n")])])]),t("p",[a._v("xorriso (AlmaLinux OS 9)")]),a._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[a._v("xorriso "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-as")]),a._v(" genisoimage "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-output")]),a._v(" ci_data.iso "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-volid")]),a._v(" CIDATA "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-joliet")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-rock")]),a._v(" user-data meta-data network-config\n")])])]),t("p",[a._v("genisoimage (AlmaLinux OS 8)")]),a._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[a._v("genisoimage "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-output")]),a._v(" ci_data.iso "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-volid")]),a._v(" CIDATA "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-joliet")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-rock")]),a._v(" user-data meta-data network-config\n")])])]),t("p",[a._v("Create the VM with Cloud-init data ISO mounted:")]),a._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[t("span",{pre:!0,attrs:{class:"token shebang important"}},[a._v("#!/usr/bin/env bash")]),a._v("\n\n"),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("vm_name")]),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[a._v("'wiki-almalinux92'")]),a._v("\n"),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("vm_memory")]),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[a._v("'2048'")]),a._v("\n"),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("vm_cpus")]),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[a._v("'2'")]),a._v("\n"),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("vm_disk")]),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[a._v("'/var/lib/libvirt/images/wiki_example_almalinux92_snapshot.qcow2'")]),a._v("\n\n"),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("ci_dataiso")]),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[a._v("'/var/lib/libvirt/images/ci_data.iso'")]),a._v("\n\nvirt-install "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--connect")]),a._v(" qemu:///system "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--name")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),t("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$vm_name")]),a._v('"')]),a._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--memory")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),t("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$vm_memory")]),a._v('"')]),a._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--machine")]),a._v(" q35 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--vcpus")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$vm_cpus")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--cpu")]),a._v(" host-passthrough "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--import")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--osinfo")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("name")]),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v("almalinux9 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--disk")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),t("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$vm_disk")]),a._v('"')]),a._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--disk")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),t("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$ci_dataiso")]),a._v('"')]),a._v(",device"),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v("cdrom "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n --virt-type kvm\n")])])]),t("h2",{attrs:{id:"virt-manager-gui"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#virt-manager-gui"}},[a._v("#")]),a._v(" Virt-Manager (GUI)")]),a._v(" "),t("p",[a._v("Unlike the virt-install, the virt-manager doesn't have an option to provide Cloud-init "),t("code",[a._v("user-data")]),a._v(", "),t("code",[a._v("meta-data")]),a._v(" and "),t("code",[a._v("network-config")]),a._v(" (Static IP). For that reason we can add Cloud-init data ISO to our VM as CDROM device.")]),a._v(" "),t("p",[a._v('"New VM" -> "Import existing disk image" -> Choose AlmaLinux OS image itself or snapshot, put a tick on the "Customize configuration before install" option.')]),a._v(" "),t("p",[a._v('"Add Hardware" -> "Storage" -> Select Device type as "CDROM", click on "Manage" and select Cloud-init data ISO and click on "Finish" button. Start the VM with the "Begin Installation".')]),a._v(" "),t("h2",{attrs:{id:"repackage-cloud-image"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#repackage-cloud-image"}},[a._v("#")]),a._v(" Repackage cloud image")]),a._v(" "),t("p",[a._v("shutdown VM:")]),a._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[a._v("virsh")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[a._v("shutdown")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$VM_NAME")]),a._v("\n")])])]),t("p",[a._v("Convert the snapshot to the full image without touching backing file("),t("code",[a._v("AlmaLinux-8-GenericCloud-8.4-20210616.x86_64.qcow2")]),a._v("):")]),a._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[a._v("qemu-img convert "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-c")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-O")]),a._v(" qcow2 doc-almalinux84-snapshot.qcow2 doc-almalinux84-base.qcow2\n")])])]),t("p",[a._v("You can reset, unconfigure and inject files to the image with "),t("code",[a._v("libguestfs virt-sysprep")]),a._v(". See the upstream documentation for further "),t("a",{attrs:{href:"https://libguestfs.org/virt-sysprep.1.html#options",target:"_blank",rel:"noopener noreferrer"}},[a._v("option"),t("OutboundLink")],1),a._v(" and "),t("a",{attrs:{href:"https://libguestfs.org/virt-sysprep.1.html#operations",target:"_blank",rel:"noopener noreferrer"}},[a._v("operations."),t("OutboundLink")],1)]),a._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[a._v("virt-sysprep "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--format")]),a._v(" qcow2 "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-a")]),a._v(" doc-almalinux84-base.qcow2\n")])])]),t("h2",{attrs:{id:"inspection-and-manipulation-of-images"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#inspection-and-manipulation-of-images"}},[a._v("#")]),a._v(" Inspection and Manipulation of images")]),a._v(" "),t("p",[a._v("Show a file inside the image")]),a._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[a._v("virt-cat "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-a")]),a._v(" AlmaLinux-9-GenericCloud-9.2-20230513.x86_64.qcow2 /etc/cloud/cloud.cfg\n")])])]),t("p",[a._v("Show disk usage inside the image")]),a._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[a._v("virt-df "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-a")]),a._v(" AlmaLinux-9-GenericCloud-9.2-20230513.x86_64.qcow2 "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-h")]),a._v("\n")])])]),t("p",[a._v("Display the OS infromation")]),a._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[a._v("virt-inspector "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-a")]),a._v(" AlmaLinux-9-GenericCloud-9.2-20230513.x86_64.qcow2\n")])])]),t("p",[a._v("Get the version of "),t("code",[a._v("kernel")]),a._v(" package with the help of XPATH query")]),a._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[a._v("virt-inspector "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-a")]),a._v(" AlmaLinux-9-GenericCloud-9.2-20230513.x86_64.qcow2 "),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" virt-inspector "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--xpath")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[a._v('\'//application[name="kernel"]/version | //application[name="kernel"]/release\'')]),a._v("\n\n"),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("<")]),a._v("version"),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v(">")]),t("span",{pre:!0,attrs:{class:"token number"}},[a._v("5.14")]),a._v("."),t("span",{pre:!0,attrs:{class:"token operator"}},[t("span",{pre:!0,attrs:{class:"token file-descriptor important"}},[a._v("0")]),a._v("<")]),a._v("/version"),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v(">")]),a._v("\n"),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v("<")]),a._v("release"),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v(">")]),t("span",{pre:!0,attrs:{class:"token number"}},[a._v("284.11")]),a._v(".1.el9_"),t("span",{pre:!0,attrs:{class:"token operator"}},[t("span",{pre:!0,attrs:{class:"token file-descriptor important"}},[a._v("2")]),a._v("<")]),a._v("/release"),t("span",{pre:!0,attrs:{class:"token operator"}},[a._v(">")]),a._v("\n")])])]),t("p",[a._v("Mount filesystems of an image.")]),a._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[a._v("mkdir")]),a._v(" guest_mount "),t("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# Create the mount directoy")]),a._v("\nguestmount "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-a")]),a._v(" AlmaLinux-9-GenericCloud-9.2-20230513.x86_64.qcow2 "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-i")]),a._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--ro")]),a._v(" guest_mount/ "),t("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# Mount read-only with --ro")]),a._v("\nguestunmount guest-mount/ "),t("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# Unmount")]),a._v("\n")])])]),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[a._v("TIP")]),a._v(" "),t("p",[a._v("You can check the "),t("a",{attrs:{href:"https://www.libguestfs.org",target:"_blank",rel:"noopener noreferrer"}},[a._v("libguestfs's website"),t("OutboundLink")],1),a._v(" for more documentation and more tools")])])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/46.546d52cf.js b/assets/js/46.546d52cf.js new file mode 100644 index 000000000..8a97a76a2 --- /dev/null +++ b/assets/js/46.546d52cf.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{328:function(a,e,t){"use strict";t.r(e);var s=t(14),r=Object(s.a)({},(function(){var a=this,e=a._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[e("h1",{attrs:{id:"almalinux-os-generic-cloud-cloud-init-image"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-os-generic-cloud-cloud-init-image"}},[a._v("#")]),a._v(" AlmaLinux OS Generic Cloud (Cloud-init) image")]),a._v(" "),e("p",[a._v("The Generic Cloud image is a general purpose virtual machine image that\ncontains the "),e("a",{attrs:{href:"https://cloud-init.io/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Cloud-init"),e("OutboundLink")],1),a._v(" package. During boot,\ncloud-init will take configuration options from cloud metadata and\ninitialize a system accordingly. This may include network\nconfiguration, user's SSH key pair installation, attaching storage devices, etc.")]),a._v(" "),e("h2",{attrs:{id:"download-images"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#download-images"}},[a._v("#")]),a._v(" Download images")]),a._v(" "),e("p",[a._v("The AlmaLinux OS Generic Cloud image is available from our\n"),e("a",{attrs:{href:"https://mirrors.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[a._v("mirrors"),e("OutboundLink")],1),a._v(" and from the main AlmaLinux OS\nrepositories:")]),a._v(" "),e("table",{attrs:{align:"center"}},[e("tr",[e("td",{attrs:{align:"center"}},[a._v("AlmaLinux 8")]),a._v(" "),e("td",{attrs:{align:"center"}},[e("a",{attrs:{href:"https://repo.almalinux.org/almalinux/8/cloud/x86_64/images/"}},[a._v("x86_64")])]),a._v(" "),e("td",{attrs:{align:"center"}},[e("a",{attrs:{href:"https://repo.almalinux.org/almalinux/8/cloud/aarch64/images"}},[a._v("aarch64")])]),a._v(" "),e("td",{attrs:{align:"center"}},[e("a",{attrs:{href:"http://repo.almalinux.org/almalinux/8/cloud/ppc64le/images/"}},[a._v("ppc64le")])]),a._v(" "),e("td",{attrs:{align:"center"}},[e("a",{attrs:{href:"https://repo.almalinux.org/almalinux/8/cloud/s390x/images/"}},[a._v("s390x")])])]),a._v(" "),e("tr",[e("td",{attrs:{align:"center"}},[a._v("AlmaLinux 9")]),a._v(" "),e("td",{attrs:{align:"center"}},[e("a",{attrs:{href:"https://repo.almalinux.org/almalinux/9/cloud/x86_64/images/"}},[a._v("x86_64")])]),a._v(" "),e("td",{attrs:{align:"center"}},[e("a",{attrs:{href:"https://repo.almalinux.org/almalinux/9/cloud/aarch64/images/"}},[a._v("aarch64")])]),a._v(" "),e("td",{attrs:{align:"center"}},[e("a",{attrs:{href:"https://repo.almalinux.org/almalinux/9/cloud/ppc64le/images/"}},[a._v("ppc64le")])]),a._v(" "),e("td",{attrs:{align:"center"}},[e("a",{attrs:{href:"https://repo.almalinux.org/almalinux/9/cloud/s390x/images/"}},[a._v("s390x")])])])]),a._v(" "),e("h2",{attrs:{id:"verify-almalinux-8-images"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#verify-almalinux-8-images"}},[a._v("#")]),a._v(" Verify AlmaLinux 8 images")]),a._v(" "),e("h3",{attrs:{id:"import-the-almalinux-os-pgp-public-key"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#import-the-almalinux-os-pgp-public-key"}},[a._v("#")]),a._v(" Import the AlmaLinux OS PGP public key")]),a._v(" "),e("p",[a._v("In order to verify a downloaded image you need to import the AlmaLinux OS PGP\npublic key first.")]),a._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[a._v("TIP")]),a._v(" "),e("p",[a._v("If you are using an AlmaLinux OS-powered system, you may skip the command\nbelow because you already have the key stored in the "),e("code",[a._v("/etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux")]),a._v(" file.\nRun the following command instead to import the key:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("gpg "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--import")]),a._v(" /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux\n")])])])]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("curl")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-O")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-s")]),a._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux\n")])])]),e("p",[a._v("Print the key fingerprint:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ gpg --with-subkey-fingerprints RPM-GPG-KEY-AlmaLinux\ngpg: WARNING: no "),e("span",{pre:!0,attrs:{class:"token builtin class-name"}},[a._v("command")]),a._v(" supplied. Trying to guess what you mean "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("..")]),a._v(".\npub rsa4096 "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("2021")]),a._v("-01-12 "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),a._v("C"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),a._v("expires: "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("2024")]),a._v("-01-12"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),a._v("\n 5E9B8F5617B5066CE92057C3488FCF7C3ABB34F8\nuid AlmaLinux "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("<")]),a._v("packager@almalinux.org"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(">")]),a._v("\nsub rsa3072 "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("2021")]),a._v("-01-12 "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),a._v("S"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),a._v("expires: "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("2024")]),a._v("-01-12"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),a._v("\n")])])]),e("p",[a._v("The fingerprint is "),e("code",[a._v("5E9B8F5617B5066CE92057C3488FCF7C3ABB34F8")]),a._v(". If you see a\ndifferent fingerprint, it means you downloaded a compromised file. Please,\n"),e("a",{attrs:{href:"mailto:security@almalinux.org"}},[a._v("let us know")]),a._v(" a mirror from which you\ndownloaded the file, remove the file and retry the download from another\nmirror.")]),a._v(" "),e("p",[a._v("Next you need to import the key:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ gpg "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--import")]),a._v(" RPM-GPG-KEY-AlmaLinux\ngpg: key 488FCF7C3ABB34F8: public key "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"AlmaLinux "')]),a._v(" imported\ngpg: Total number processed: "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("1")]),a._v("\ngpg: imported: "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("1")]),a._v("\n")])])]),e("h3",{attrs:{id:"download-and-verify-the-image"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#download-and-verify-the-image"}},[a._v("#")]),a._v(" Download and verify the image")]),a._v(" "),e("p",[a._v("Download checksum file and its signature first:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("curl")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-O")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-s")]),a._v(" https://repo.almalinux.org/almalinux/8/cloud/x86_64/images/CHECKSUM\n$ "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("curl")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-O")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-s")]),a._v(" https://repo.almalinux.org/almalinux/8/cloud/x86_64/images/CHECKSUM.asc\n")])])]),e("p",[a._v("Verify the checksum file signature:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ gpg "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--verify")]),a._v(" CHECKSUM.asc CHECKSUM\ngpg: Signature made Sat "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("12")]),a._v(" Nov 00:13:38 CET\ngpg: using RSA key E53CF5EF91CEB0AD1812ECB851D6647EC21AD6EA\ngpg: Good signature from "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"AlmaLinux "')]),a._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),a._v("unknown"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),a._v("\ngpg: WARNING: This key is not certified with a trusted signature"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("!")]),a._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: 5E9B 8F56 17B5 066C E920 57C3 488F CF7C 3ABB 34F8\n Subkey fingerprint: E53C F5EF 91CE B0AD "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("1812")]),a._v(" ECB8 51D6 647E C21A D6EA\n")])])]),e("p",[a._v("Make sure that you see the "),e("code",[a._v('Good signature from "AlmaLinux "')]),a._v("\nmessage in the output.")]),a._v(" "),e("p",[a._v("Download the latest image version:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("curl")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-O")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-s")]),a._v(" https://repo.almalinux.org/almalinux/8/cloud/x86_64/images/AlmaLinux-8-GenericCloud-latest.x86_64.qcow2\n")])])]),e("p",[a._v("and verify its checksum:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ sha256sum "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-c")]),a._v(" CHECKSUM "),e("span",{pre:!0,attrs:{class:"token operator"}},[e("span",{pre:!0,attrs:{class:"token file-descriptor important"}},[a._v("2")]),a._v(">")]),e("span",{pre:!0,attrs:{class:"token file-descriptor important"}},[a._v("&1")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("grep")]),a._v(" OK\nAlmaLinux-8-GenericCloud-latest.x86_64.qcow2: OK\n")])])]),e("p",[a._v("If the output is different, you should download the image again. Trying another\nmirror may be a good idea.")]),a._v(" "),e("h2",{attrs:{id:"verify-almalinux-9-images"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#verify-almalinux-9-images"}},[a._v("#")]),a._v(" Verify AlmaLinux 9 images")]),a._v(" "),e("h3",{attrs:{id:"import-the-almalinux-os-pgp-public-key-2"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#import-the-almalinux-os-pgp-public-key-2"}},[a._v("#")]),a._v(" Import the AlmaLinux OS PGP public key")]),a._v(" "),e("p",[a._v("In order to verify a downloaded image you need to import the AlmaLinux OS PGP\npublic key first.")]),a._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[a._v("TIP")]),a._v(" "),e("p",[a._v("If you are using an AlmaLinux OS-powered system, you may skip the command\nbelow because you already have the key stored in the "),e("code",[a._v("/etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9")]),a._v(" file.\nRun the following command instead to import the key:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("gpg "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--import")]),a._v(" /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9\n")])])])]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("curl")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-O")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-s")]),a._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9\n")])])]),e("p",[a._v("Print the key fingerprint:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ gpg --with-subkey-fingerprints RPM-GPG-KEY-AlmaLinux-9\npub rsa4096 "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("2022")]),a._v("-01-18 "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),a._v("SC"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),a._v("\n BF18AC2876178908D6E71267D36CB86CB86B3716\nuid AlmaLinux OS "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("9")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("<")]),a._v("packager@almalinux.org"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(">")]),a._v("\nsub rsa4096 "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("2022")]),a._v("-01-18 "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),a._v("E"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),a._v("\n")])])]),e("p",[a._v("The fingerprint is "),e("code",[a._v("BF18AC2876178908D6E71267D36CB86CB86B3716")]),a._v(". If you see a\ndifferent fingerprint, it means you downloaded a compromised file. Please,\n"),e("a",{attrs:{href:"mailto:security@almalinux.org"}},[a._v("let us know")]),a._v(" a mirror from which you\ndownloaded the file, remove the file and retry the download from another\nmirror.")]),a._v(" "),e("p",[a._v("Next you need to import the key:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ gpg "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--import")]),a._v(" RPM-GPG-KEY-AlmaLinux-9\ngpg: key D36CB86CB86B3716: public key "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"AlmaLinux "')]),a._v(" imported\ngpg: Total number processed: "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("1")]),a._v("\ngpg: imported: "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("1")]),a._v("\n")])])]),e("h3",{attrs:{id:"download-and-verify-the-almalinux-9-image"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#download-and-verify-the-almalinux-9-image"}},[a._v("#")]),a._v(" Download and verify the AlmaLinux 9 image")]),a._v(" "),e("p",[a._v("Download checksum file and its signature first:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("curl")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-O")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-s")]),a._v(" https://repo.almalinux.org/almalinux/9/cloud/x86_64/images/CHECKSUM\n$ "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("curl")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-O")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-s")]),a._v(" https://repo.almalinux.org/almalinux/9/cloud/x86_64/images/CHECKSUM.asc\n")])])]),e("p",[a._v("Verify the checksum file signature:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ gpg "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--verify")]),a._v(" CHECKSUM.asc CHECKSUM\ngpg: Signature made Fri "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("18")]),a._v(" Nov "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("2022")]),a._v(" 04:19:01 AM CET\ngpg: using RSA key BF18AC2876178908D6E71267D36CB86CB86B3716\ngpg: Good signature from "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"AlmaLinux OS 9 "')]),a._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),a._v("unknown"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),a._v("\ngpg: WARNING: This key is not certified with a trusted signature"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("!")]),a._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: BF18 AC28 "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("7617")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("8908")]),a._v(" D6E7 "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("1267")]),a._v(" D36C B86C B86B "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("3716")]),a._v("\n")])])]),e("p",[a._v("Make sure that you see the "),e("code",[a._v('Good signature from "AlmaLinux "')]),a._v("\nmessage in the output.")]),a._v(" "),e("p",[a._v("Download the latest image version:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("curl")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-O")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-s")]),a._v(" https://repo.almalinux.org/almalinux/9/cloud/x86_64/images/AlmaLinux-9-GenericCloud-latest.x86_64.qcow2\n")])])]),e("p",[a._v("and verify its checksum:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ sha256sum "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-c")]),a._v(" CHECKSUM "),e("span",{pre:!0,attrs:{class:"token operator"}},[e("span",{pre:!0,attrs:{class:"token file-descriptor important"}},[a._v("2")]),a._v(">")]),e("span",{pre:!0,attrs:{class:"token file-descriptor important"}},[a._v("&1")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("grep")]),a._v(" OK\nAlmaLinux-9-GenericCloud-latest.x86_64.qcow2: OK\n")])])]),e("p",[a._v("If the output is different, you should download the image again. Trying another\nmirror may be a good idea.")])])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/47.f80a578d.js b/assets/js/47.f80a578d.js new file mode 100644 index 000000000..4638e9662 --- /dev/null +++ b/assets/js/47.f80a578d.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[47],{329:function(l,a,e){"use strict";e.r(a);var o=e(14),t=Object(o.a)({},(function(){var l=this,a=l._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":l.$parent.slotKey}},[a("h1",{attrs:{id:"almalinux-os-google-cloud-platform"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-os-google-cloud-platform"}},[l._v("#")]),l._v(" AlmaLinux OS Google Cloud Platform")]),l._v(" "),a("p",[l._v("AlmaLinux OS Images for Google Cloud are available via the "),a("a",{attrs:{href:"https://console.cloud.google.com/marketplace/browse?filter=partner:AlmaLinux",target:"_blank",rel:"noopener noreferrer"}},[l._v("Google Cloud Marketplace"),a("OutboundLink")],1),l._v(" as well as via the "),a("code",[l._v("gcloud")]),l._v(" CLI.")]),l._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://console.cloud.google.com/marketplace/product/almalinux-cloud/almalinux-8",target:"_blank",rel:"noopener noreferrer"}},[l._v("AlmaLinux OS 8"),a("OutboundLink")],1)]),l._v(" "),a("li",[a("a",{attrs:{href:"https://console.cloud.google.com/marketplace/product/almalinux-cloud/almalinux-9",target:"_blank",rel:"noopener noreferrer"}},[l._v("AlmaLinux OS 9"),a("OutboundLink")],1)])]),l._v(" "),a("p",[l._v("For "),a("code",[l._v("cloud")]),l._v(" AlmaLinux OS images are available in the almalinux-cloud project. To list AlmaLinux images, use the following gcloud command:")]),l._v(" "),a("div",{staticClass:"language-shell extra-class"},[a("pre",{pre:!0,attrs:{class:"language-shell"}},[a("code",[l._v("gcloud compute images list "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[l._v("--project")]),l._v(" almalinux-cloud --no-standard-images\n")])])])])}),[],!1,null,null,null);a.default=t.exports}}]); \ No newline at end of file diff --git a/assets/js/48.8d95808f.js b/assets/js/48.8d95808f.js new file mode 100644 index 000000000..0ae8a45ee --- /dev/null +++ b/assets/js/48.8d95808f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[48],{327:function(e,a,t){"use strict";t.r(a);var r=t(14),n=Object(r.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"almalinux-os-in-oracle-cloud-infrastructure"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-os-in-oracle-cloud-infrastructure"}},[e._v("#")]),e._v(" AlmaLinux OS in Oracle Cloud Infrastructure")]),e._v(" "),a("p",[e._v("AlmaLinux offers images for Oracle Cloud Infrastructure across all OCI regions via the "),a("a",{attrs:{href:"https://cloudmarketplace.oracle.com/marketplace/en_US/homeLinkPage",target:"_blank",rel:"noopener noreferrer"}},[e._v("Oracle Cloud Marketplace"),a("OutboundLink")],1),e._v(". Images are deployable for Regular, Shielded and ARM type instances via the Oracle Cloud Marketplace, Partner Image on Oracle Cloud Infrastructure Console and "),a("a",{attrs:{href:"https://docs.oracle.com/en-us/iaas/Content/API/Concepts/cliconcepts.htm",target:"_blank",rel:"noopener noreferrer"}},[e._v("OCI CLI"),a("OutboundLink")],1),e._v(". The images are completely free of charge regardless of the deployment channel.")]),e._v(" "),a("h2",{attrs:{id:"about-oracle-cloud-infrastructure"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#about-oracle-cloud-infrastructure"}},[e._v("#")]),e._v(" About Oracle Cloud Infrastructure")]),e._v(" "),a("p",[e._v("Oracle Cloud Marketplace is an online store—a one-stop shop—selling hundreds of business apps and professional services that complement your existing Oracle Cloud implementation.\nAll apps and services on the marketplace are offered by approved, registered, and expert partners and developers. Plus, Oracle has vetted, reviewed, and approved each product.")]),e._v(" "),a("h2",{attrs:{id:"where-to-get-the-image-and-guidance-steps"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#where-to-get-the-image-and-guidance-steps"}},[e._v("#")]),e._v(" Where to get the image and guidance steps")]),e._v(" "),a("p",[e._v("The official AlmaLinux OS images are available on "),a("a",{attrs:{href:"https://cloudmarketplace.oracle.com/marketplace/en_US/partners/125035508",target:"_blank",rel:"noopener noreferrer"}},[e._v("Oracle Cloud Marketplace"),a("OutboundLink")],1),e._v(" at the links provided:")]),e._v(" "),a("table",{attrs:{align:"center"}},[a("tr",[a("td",{attrs:{align:"center"}},[e._v("AlmaLinux OS 8")]),e._v(" "),a("td",{attrs:{align:"center"}},[a("a",{attrs:{href:"https://cloudmarketplace.oracle.com/marketplace/en_US/listing/125544666"}},[e._v("x86_64")])]),e._v(" "),a("td",{attrs:{align:"center"}},[a("a",{attrs:{href:"https://cloudmarketplace.oracle.com/marketplace/en_US/listing/125567282"}},[e._v("AArch64")])])]),e._v(" "),a("tr",[a("td",{attrs:{align:"center"}},[e._v("AlmaLinux OS 9")]),e._v(" "),a("td",{attrs:{align:"center"}},[a("a",{attrs:{href:"https://cloudmarketplace.oracle.com/marketplace/en_US/listing/127985411"}},[e._v("x86_64")])]),e._v(" "),a("td",{attrs:{align:"center"}},[a("a",{attrs:{href:"https://cloudmarketplace.oracle.com/marketplace/en_US/listing/127985893"}},[e._v("AArch64")])])])]),e._v(" "),a("h3",{attrs:{id:"oracle-cloud-infrastructure-console"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#oracle-cloud-infrastructure-console"}},[e._v("#")]),e._v(" Oracle Cloud Infrastructure Console")]),e._v(" "),a("p",[e._v("In the "),a("strong",[e._v("Image and shape")]),e._v(" section, choose the image and shape. For instance: in the Image section, click Change image. Then, select Partner images as an Image source from the list.")]),e._v(" "),a("h3",{attrs:{id:"oci-cli"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#oci-cli"}},[e._v("#")]),e._v(" OCI CLI")]),e._v(" "),a("p",[e._v("You can easily deploy images using the "),a("a",{attrs:{href:"https://docs.oracle.com/en-us/iaas/Content/API/Concepts/cliconcepts.htm",target:"_blank",rel:"noopener noreferrer"}},[e._v("OCI CLI"),a("OutboundLink")],1),e._v(". You can list all available images and get the OCID of the image by running:")]),e._v(" "),a("div",{staticClass:"language-shell extra-class"},[a("pre",{pre:!0,attrs:{class:"language-shell"}},[a("code",[e._v("oci compute image list "),a("span",{pre:!0,attrs:{class:"token variable"}},[e._v("$OCID")]),e._v("\n")])])]),a("p",[e._v("You can then deploy by running:")]),e._v(" "),a("div",{staticClass:"language-shell extra-class"},[a("pre",{pre:!0,attrs:{class:"language-shell"}},[a("code",[e._v("oci compute instance launch --image-id\n")])])]),a("p",[e._v("For a full range of options that are customizable from the CLI please check the "),a("a",{attrs:{href:"https://docs.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/index.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("OCI CLI Reference Docs"),a("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/49.30ab63f7.js b/assets/js/49.30ab63f7.js new file mode 100644 index 000000000..bc26f668d --- /dev/null +++ b/assets/js/49.30ab63f7.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[49],{330:function(a,e,t){"use strict";t.r(e);var s=t(14),r=Object(s.a)({},(function(){var a=this,e=a._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[e("h1",{attrs:{id:"almalinux-os-opennebula-image"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-os-opennebula-image"}},[a._v("#")]),a._v(" AlmaLinux OS OpenNebula image")]),a._v(" "),e("p",[a._v("The OpenNebula image contains the OpenNebula addons repository as delivered via the AlmaLinux "),e("a",{attrs:{href:"https://wiki.almalinux.org/sigs/Cloud.html",target:"_blank",rel:"noopener noreferrer"}},[a._v("Cloud SIG"),e("OutboundLink")],1),a._v(". The repo provides the latest upstream version of the OpenNebula Linux VM Contextualization to prepare the networking in the running guest virtual machine, configure SSH keys, set passwords, run custom start scripts, "),e("code",[a._v("onesysprep")]),a._v(", etc.")]),a._v(" "),e("h2",{attrs:{id:"download-images"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#download-images"}},[a._v("#")]),a._v(" Download images")]),a._v(" "),e("p",[a._v("The AlmaLinux OS OpenNebula image is available from our\n"),e("a",{attrs:{href:"https://mirrors.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[a._v("mirrors"),e("OutboundLink")],1),a._v(" and from the main AlmaLinux OS repositories:")]),a._v(" "),e("table",{attrs:{align:"center"}},[e("tr",[e("td",{attrs:{align:"center"}},[a._v("AlmaLinux 8")]),a._v(" "),e("td",{attrs:{align:"center"}},[e("a",{attrs:{href:"https://repo.almalinux.org/almalinux/8/cloud/x86_64/images/"}},[a._v("x86_64")])]),a._v(" "),e("td",{attrs:{align:"center"}},[e("a",{attrs:{href:"https://repo.almalinux.org/almalinux/8/cloud/aarch64/images"}},[a._v("aarch64")])])]),a._v(" "),e("tr",[e("td",{attrs:{align:"center"}},[a._v("AlmaLinux 9")]),a._v(" "),e("td",{attrs:{align:"center"}},[e("a",{attrs:{href:"https://repo.almalinux.org/almalinux/9/cloud/x86_64/images/"}},[a._v("x86_64")])]),a._v(" "),e("td",{attrs:{align:"center"}},[e("a",{attrs:{href:"https://repo.almalinux.org/almalinux/9/cloud/aarch64/images/"}},[a._v("aarch64")])])])]),a._v(" "),e("h2",{attrs:{id:"verify-almalinux-8-images"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#verify-almalinux-8-images"}},[a._v("#")]),a._v(" Verify AlmaLinux 8 images")]),a._v(" "),e("h3",{attrs:{id:"import-the-almalinux-os-pgp-public-key"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#import-the-almalinux-os-pgp-public-key"}},[a._v("#")]),a._v(" Import the AlmaLinux OS PGP public key")]),a._v(" "),e("p",[a._v("In order to verify a downloaded image, you need to import the AlmaLinux OS PGP\npublic key first.")]),a._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[a._v("TIP")]),a._v(" "),e("p",[a._v("If you are using an AlmaLinux OS-powered system, you may skip the command\nbelow because you already have the key stored in the "),e("code",[a._v("/etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux")]),a._v(" file.\nRun the following command instead to import the key:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("gpg "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--import")]),a._v(" /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux\n")])])])]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("curl")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-O")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-s")]),a._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux\n")])])]),e("p",[a._v("Print the key fingerprint:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ gpg --with-subkey-fingerprints RPM-GPG-KEY-AlmaLinux\ngpg: WARNING: no "),e("span",{pre:!0,attrs:{class:"token builtin class-name"}},[a._v("command")]),a._v(" supplied. Trying to guess what you mean "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("..")]),a._v(".\npub rsa4096 "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("2021")]),a._v("-01-12 "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),a._v("C"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),a._v("expires: "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("2024")]),a._v("-01-12"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),a._v("\n 5E9B8F5617B5066CE92057C3488FCF7C3ABB34F8\nuid AlmaLinux "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("<")]),a._v("packager@almalinux.org"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(">")]),a._v("\nsub rsa3072 "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("2021")]),a._v("-01-12 "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),a._v("S"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),a._v("expires: "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("2024")]),a._v("-01-12"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),a._v("\n")])])]),e("p",[a._v("The fingerprint is "),e("code",[a._v("5E9B8F5617B5066CE92057C3488FCF7C3ABB34F8")]),a._v(". If you see a\ndifferent fingerprint, it means you downloaded a compromised file. Please,\n"),e("a",{attrs:{href:"mailto:security@almalinux.org"}},[a._v("let us know")]),a._v(" a mirror from which you\ndownloaded the file, remove the file and retry the download from another\nmirror.")]),a._v(" "),e("p",[a._v("Next you need to import the key:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ gpg "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--import")]),a._v(" RPM-GPG-KEY-AlmaLinux\ngpg: key 488FCF7C3ABB34F8: public key "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"AlmaLinux "')]),a._v(" imported\ngpg: Total number processed: "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("1")]),a._v("\ngpg: imported: "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("1")]),a._v("\n")])])]),e("h3",{attrs:{id:"download-and-verify-the-image"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#download-and-verify-the-image"}},[a._v("#")]),a._v(" Download and verify the image")]),a._v(" "),e("p",[a._v("Download checksum file and its signature first:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("curl")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-O")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-s")]),a._v(" https://repo.almalinux.org/almalinux/8/cloud/x86_64/images/CHECKSUM\n$ "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("curl")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-O")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-s")]),a._v(" https://repo.almalinux.org/almalinux/8/cloud/x86_64/images/CHECKSUM.asc\n")])])]),e("p",[a._v("Verify the checksum file signature:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ gpg "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--verify")]),a._v(" CHECKSUM.asc CHECKSUM\ngpg: Signature made Sat "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("12")]),a._v(" Nov 00:13:38 CET\ngpg: using RSA key E53CF5EF91CEB0AD1812ECB851D6647EC21AD6EA\ngpg: Good signature from "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"AlmaLinux "')]),a._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),a._v("unknown"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),a._v("\ngpg: WARNING: This key is not certified with a trusted signature"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("!")]),a._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: 5E9B 8F56 17B5 066C E920 57C3 488F CF7C 3ABB 34F8\n Subkey fingerprint: E53C F5EF 91CE B0AD "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("1812")]),a._v(" ECB8 51D6 647E C21A D6EA\n")])])]),e("p",[a._v("Make sure that you see the "),e("code",[a._v('Good signature from "AlmaLinux "')]),a._v("\nmessage in the output.")]),a._v(" "),e("p",[a._v("Download the latest image version:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("curl")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-O")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-s")]),a._v(" https://repo.almalinux.org/almalinux/8/cloud/x86_64/images/AlmaLinux-8-OpenNebula-latest.x86_64.qcow2\n")])])]),e("p",[a._v("and verify its checksum:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ sha256sum "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-c")]),a._v(" CHECKSUM "),e("span",{pre:!0,attrs:{class:"token operator"}},[e("span",{pre:!0,attrs:{class:"token file-descriptor important"}},[a._v("2")]),a._v(">")]),e("span",{pre:!0,attrs:{class:"token file-descriptor important"}},[a._v("&1")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("grep")]),a._v(" OK\nAlmaLinux-8-OpenNebula-latest.x86_64.qcow2: OK\n")])])]),e("p",[a._v("If the output is different, you should download the image again. Trying another\nmirror may be a good idea.")]),a._v(" "),e("h2",{attrs:{id:"verify-almalinux-9-images"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#verify-almalinux-9-images"}},[a._v("#")]),a._v(" Verify AlmaLinux 9 images")]),a._v(" "),e("h3",{attrs:{id:"import-the-almalinux-os-pgp-public-key-2"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#import-the-almalinux-os-pgp-public-key-2"}},[a._v("#")]),a._v(" Import the AlmaLinux OS PGP public key")]),a._v(" "),e("p",[a._v("In order to verify a downloaded image you need to import the AlmaLinux OS PGP\npublic key first.")]),a._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[a._v("TIP")]),a._v(" "),e("p",[a._v("If you are using an AlmaLinux OS-powered system, you may skip the command\nbelow because you already have the key stored in the "),e("code",[a._v("/etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9")]),a._v(" file.\nRun the following command instead to import the key:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("gpg "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--import")]),a._v(" /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9\n")])])])]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("curl")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-O")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-s")]),a._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9\n")])])]),e("p",[a._v("Print the key fingerprint:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ gpg --with-subkey-fingerprints RPM-GPG-KEY-AlmaLinux-9\npub rsa4096 "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("2022")]),a._v("-01-18 "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),a._v("SC"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),a._v("\n BF18AC2876178908D6E71267D36CB86CB86B3716\nuid AlmaLinux OS "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("9")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("<")]),a._v("packager@almalinux.org"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(">")]),a._v("\nsub rsa4096 "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("2022")]),a._v("-01-18 "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),a._v("E"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),a._v("\n")])])]),e("p",[a._v("The fingerprint is "),e("code",[a._v("BF18AC2876178908D6E71267D36CB86CB86B3716")]),a._v(". If you see a\ndifferent fingerprint, it means you downloaded a compromised file. Please,\n"),e("a",{attrs:{href:"mailto:security@almalinux.org"}},[a._v("let us know")]),a._v(" a mirror from which you\ndownloaded the file, remove the file and retry the download from another\nmirror.")]),a._v(" "),e("p",[a._v("Next you need to import the key:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ gpg "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--import")]),a._v(" RPM-GPG-KEY-AlmaLinux-9\ngpg: key D36CB86CB86B3716: public key "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"AlmaLinux "')]),a._v(" imported\ngpg: Total number processed: "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("1")]),a._v("\ngpg: imported: "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("1")]),a._v("\n")])])]),e("h3",{attrs:{id:"download-and-verify-the-almalinux-9-image"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#download-and-verify-the-almalinux-9-image"}},[a._v("#")]),a._v(" Download and verify the AlmaLinux 9 image")]),a._v(" "),e("p",[a._v("Download checksum file and its signature first:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("curl")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-O")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-s")]),a._v(" https://repo.almalinux.org/almalinux/9/cloud/x86_64/images/CHECKSUM\n$ "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("curl")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-O")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-s")]),a._v(" https://repo.almalinux.org/almalinux/9/cloud/x86_64/images/CHECKSUM.asc\n")])])]),e("p",[a._v("Verify the checksum file signature:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ gpg "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--verify")]),a._v(" CHECKSUM.asc CHECKSUM\ngpg: Signature made Fri "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("18")]),a._v(" Nov "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("2022")]),a._v(" 04:19:01 AM CET\ngpg: using RSA key BF18AC2876178908D6E71267D36CB86CB86B3716\ngpg: Good signature from "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"AlmaLinux OS 9 "')]),a._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),a._v("unknown"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),a._v("\ngpg: WARNING: This key is not certified with a trusted signature"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("!")]),a._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: BF18 AC28 "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("7617")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("8908")]),a._v(" D6E7 "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("1267")]),a._v(" D36C B86C B86B "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("3716")]),a._v("\n")])])]),e("p",[a._v("Make sure that you see the "),e("code",[a._v('Good signature from "AlmaLinux "')]),a._v("\nmessage in the output.")]),a._v(" "),e("p",[a._v("Download the latest image version:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("curl")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-O")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-s")]),a._v(" https://repo.almalinux.org/almalinux/9/cloud/x86_64/images/AlmaLinux-9-OpenNebula-latest.x86_64.qcow2\n")])])]),e("p",[a._v("and verify its checksum:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ sha256sum "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-c")]),a._v(" CHECKSUM "),e("span",{pre:!0,attrs:{class:"token operator"}},[e("span",{pre:!0,attrs:{class:"token file-descriptor important"}},[a._v("2")]),a._v(">")]),e("span",{pre:!0,attrs:{class:"token file-descriptor important"}},[a._v("&1")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("grep")]),a._v(" OK\nAlmaLinux-9-OpenNebula-latest.x86_64.qcow2: OK\n")])])]),e("p",[a._v("If the output is different, you should download the image again. Trying another\nmirror may be a good idea.")])])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/5.bf5fe170.js b/assets/js/5.bf5fe170.js new file mode 100644 index 000000000..883e98d38 --- /dev/null +++ b/assets/js/5.bf5fe170.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{279:function(t,e,a){},293:function(t,e,a){"use strict";a(279)},300:function(t,e,a){"use strict";a.r(e);var s={name:"CodeBlock",props:{title:{type:String,required:!0},active:{type:Boolean,default:!1}},mounted(){this.$parent&&this.$parent.loadTabs&&this.$parent.loadTabs()}},i=(a(293),a(14)),n=Object(i.a)(s,(function(){return(0,this._self._c)("div",{staticClass:"theme-code-block",class:{"theme-code-block__active":this.active}},[this._t("default")],2)}),[],!1,null,"759a7d02",null);e.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/50.9add4e96.js b/assets/js/50.9add4e96.js new file mode 100644 index 000000000..6c9963909 --- /dev/null +++ b/assets/js/50.9add4e96.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{331:function(e,r,t){"use strict";t.r(r);var a=t(14),n=Object(a.a)({},(function(){var e=this,r=e._self._c;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"cloud-images"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#cloud-images"}},[e._v("#")]),e._v(" Cloud Images")]),e._v(" "),r("p",[e._v("At AlmaLinux, cloud integration is among our top priorities, ensuring that users get the most streamlined and efficient experience when deploying our OS in the cloud. Our dedication to this initiative is evident through the exceptional work of our "),r("a",{attrs:{href:"/sigs/Cloud"}},[e._v("Cloud Special Interest Group (Cloud SIG)")]),e._v(". They relentlessly work on perfecting and tailoring AlmaLinux for cloud environments, making our cloud images stand out for their performance, stability, and adaptability.")]),e._v(" "),r("p",[e._v("Presently, we are proud to offer robust support for a wide range of platforms including:")]),e._v(" "),r("table",[r("thead",[r("tr",[r("th",[e._v("Cloud")]),e._v(" "),r("th",[e._v("AlmaLinux OS 8")]),e._v(" "),r("th",[e._v("AlmaLinux OS 9")])])]),e._v(" "),r("tbody",[r("tr",[r("td",[r("a",{attrs:{href:"AWS"}},[e._v("AWS")])]),e._v(" "),r("td",[r("a",{attrs:{href:"https://aws.amazon.com/marketplace/pp/prodview-mku4y3g4sjrye",target:"_blank",rel:"noopener noreferrer"}},[e._v("Intel/AMD (x86_64)"),r("OutboundLink")],1),r("br"),r("a",{attrs:{href:"https://aws.amazon.com/marketplace/pp/prodview-zgsymdwitnxmm",target:"_blank",rel:"noopener noreferrer"}},[e._v("ARM64 (AArch64)"),r("OutboundLink")],1)]),e._v(" "),r("td",[r("a",{attrs:{href:"https://aws.amazon.com/marketplace/pp/prodview-ykmb6re2rcouy",target:"_blank",rel:"noopener noreferrer"}},[e._v("Intel/AMD (x86_64)"),r("OutboundLink")],1),r("br"),r("a",{attrs:{href:"https://aws.amazon.com/marketplace/pp/prodview-pvttztrj2uzjk",target:"_blank",rel:"noopener noreferrer"}},[e._v("ARM64 (AArch64)"),r("OutboundLink")],1)])]),e._v(" "),r("tr",[r("td",[r("a",{attrs:{href:"Azure"}},[e._v("Azure")])]),e._v(" "),r("td",[r("a",{attrs:{href:"https://azuremarketplace.microsoft.com/en-us/marketplace/apps/almalinux.almalinux-x86_64",target:"_blank",rel:"noopener noreferrer"}},[e._v("Intel/AMD (x86_64)"),r("OutboundLink")],1),r("br"),r("a",{attrs:{href:"https://azuremarketplace.microsoft.com/en-us/marketplace/apps/almalinux.almalinux-arm",target:"_blank",rel:"noopener noreferrer"}},[e._v("ARM64 (AArch64)"),r("OutboundLink")],1),r("br"),r("a",{attrs:{href:"https://azuremarketplace.microsoft.com/en-us/marketplace/apps/almalinux.almalinux-hpc",target:"_blank",rel:"noopener noreferrer"}},[e._v("HPC Intel/AMD (x86_64)"),r("OutboundLink")],1)]),e._v(" "),r("td",[r("a",{attrs:{href:"https://azuremarketplace.microsoft.com/en-us/marketplace/apps/almalinux.almalinux-x86_64",target:"_blank",rel:"noopener noreferrer"}},[e._v("Intel/AMD (x86_64)"),r("OutboundLink")],1),r("br"),r("a",{attrs:{href:"https://azuremarketplace.microsoft.com/en-us/marketplace/apps/almalinux.almalinux-arm",target:"_blank",rel:"noopener noreferrer"}},[e._v("ARM64 (AArch64)"),r("OutboundLink")],1)])]),e._v(" "),r("tr",[r("td",[r("a",{attrs:{href:"Generic-cloud"}},[e._v("Generic Cloud (Cloud-init)")])]),e._v(" "),r("td",[r("a",{attrs:{href:"https://repo.almalinux.org/almalinux/8/cloud/x86_64/images/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Intel/AMD (x86_64)"),r("OutboundLink")],1),r("br"),r("a",{attrs:{href:"https://repo.almalinux.org/almalinux/8/cloud/aarch64/images",target:"_blank",rel:"noopener noreferrer"}},[e._v("ARM64 (AArch64)"),r("OutboundLink")],1),r("br"),r("a",{attrs:{href:"https://repo.almalinux.org/almalinux/8/cloud/s390x/images/",target:"_blank",rel:"noopener noreferrer"}},[e._v("IBM Z (s390x)"),r("OutboundLink")],1),r("br"),r("a",{attrs:{href:"http://repo.almalinux.org/almalinux/8/cloud/ppc64le/images/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Power LE (ppc64le)"),r("OutboundLink")],1)]),e._v(" "),r("td",[r("a",{attrs:{href:"https://repo.almalinux.org/almalinux/9/cloud/x86_64/images/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Intel/AMD (x86_64)"),r("OutboundLink")],1),r("br"),r("a",{attrs:{href:"https://repo.almalinux.org/almalinux/9/cloud/aarch64/images/",target:"_blank",rel:"noopener noreferrer"}},[e._v("ARM64 (AArch64)"),r("OutboundLink")],1),r("br"),r("a",{attrs:{href:"https://repo.almalinux.org/almalinux/9/cloud/s390x/images/",target:"_blank",rel:"noopener noreferrer"}},[e._v("IBM Z (s390x)"),r("OutboundLink")],1),r("br"),r("a",{attrs:{href:"https://repo.almalinux.org/almalinux/9/cloud/ppc64le/images/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Power LE (ppc64le)"),r("OutboundLink")],1)])]),e._v(" "),r("tr",[r("td",[r("a",{attrs:{href:"Google"}},[e._v("Google Cloud")])]),e._v(" "),r("td",[r("a",{attrs:{href:"https://console.cloud.google.com/marketplace/product/almalinux-cloud/almalinux-8",target:"_blank",rel:"noopener noreferrer"}},[e._v("Intel/AMD (x86_64)"),r("OutboundLink")],1)]),e._v(" "),r("td",[r("a",{attrs:{href:"https://console.cloud.google.com/marketplace/product/almalinux-cloud/almalinux-9",target:"_blank",rel:"noopener noreferrer"}},[e._v("Intel/AMD (x86_64)"),r("OutboundLink")],1)])]),e._v(" "),r("tr",[r("td",[r("a",{attrs:{href:"OpenNebula"}},[e._v("OpenNebula")])]),e._v(" "),r("td",[r("a",{attrs:{href:"https://repo.almalinux.org/almalinux/8/cloud/x86_64/images/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Intel/AMD (x86_64)"),r("OutboundLink")],1),r("br"),r("a",{attrs:{href:"https://repo.almalinux.org/almalinux/8/cloud/aarch64/images",target:"_blank",rel:"noopener noreferrer"}},[e._v("ARM64 (AArch64)"),r("OutboundLink")],1)]),e._v(" "),r("td",[r("a",{attrs:{href:"https://repo.almalinux.org/almalinux/9/cloud/x86_64/images/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Intel/AMD (x86_64)"),r("OutboundLink")],1),r("br"),r("a",{attrs:{href:"https://repo.almalinux.org/almalinux/9/cloud/aarch64/images/",target:"_blank",rel:"noopener noreferrer"}},[e._v("ARM64 (AArch64)"),r("OutboundLink")],1)])]),e._v(" "),r("tr",[r("td",[r("a",{attrs:{href:"OCI"}},[e._v("Oracle Cloud Infrastructure")])]),e._v(" "),r("td",[r("a",{attrs:{href:"https://cloudmarketplace.oracle.com/marketplace/en_US/listing/125544666",target:"_blank",rel:"noopener noreferrer"}},[e._v("Intel/AMD (x86_64)"),r("OutboundLink")],1),r("br"),r("a",{attrs:{href:"https://cloudmarketplace.oracle.com/marketplace/en_US/listing/125567282",target:"_blank",rel:"noopener noreferrer"}},[e._v("ARM64 (AArch64)"),r("OutboundLink")],1)]),e._v(" "),r("td",[r("a",{attrs:{href:"https://cloudmarketplace.oracle.com/marketplace/en_US/listing/127985411",target:"_blank",rel:"noopener noreferrer"}},[e._v("Intel/AMD (x86_64)"),r("OutboundLink")],1),r("br"),r("a",{attrs:{href:"https://cloudmarketplace.oracle.com/marketplace/en_US/listing/127985893",target:"_blank",rel:"noopener noreferrer"}},[e._v("ARM64 (AArch64)"),r("OutboundLink")],1)])])])]),e._v(" "),r("p",[e._v("Additionally, for those wishing to simulate cloud environments or test locally, we also provide options to run the "),r("a",{attrs:{href:"Generic-cloud-on-local"}},[e._v("Cloud image on your local machine")]),e._v(". Dive in and experience the pinnacle of cloud-based Linux distributions with AlmaLinux.")]),e._v(" "),r("h2",{attrs:{id:"changelog"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[e._v("#")]),e._v(" Changelog")]),e._v(" "),r("p",[e._v("You can find all the changes for every AlmaLinux Cloud Image starting versions 8.9 and 9.3 on the "),r("a",{attrs:{href:"cloud-changelog"}},[e._v("changelog")]),e._v(" page.")]),e._v(" "),r("h2",{attrs:{id:"contribute-and-get-help"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#contribute-and-get-help"}},[e._v("#")]),e._v(" Contribute and Get Help")]),e._v(" "),r("p",[e._v("If you are interested in contributing or need any assistance, check the "),r("a",{attrs:{href:"/sigs/Cloud"}},[e._v("SIG/Cloud")]),e._v(" wiki page and join the "),r("em",[e._v("~SIG/Cloud")]),e._v(" chat channel in "),r("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/sigcloud",target:"_blank",rel:"noopener noreferrer"}},[e._v("Mattermost"),r("OutboundLink")],1),e._v(" chat channel on "),r("a",{attrs:{href:"https://chat.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("chat.almalinux.org"),r("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);r.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/51.dbd2dbc6.js b/assets/js/51.dbd2dbc6.js new file mode 100644 index 000000000..4e6c927a2 --- /dev/null +++ b/assets/js/51.dbd2dbc6.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[51],{332:function(e,a,t){"use strict";t.r(a);var i=t(14),r=Object(i.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h6",{attrs:{id:"last-updated-2024-07-04"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#last-updated-2024-07-04"}},[e._v("#")]),e._v(" last updated: 2024-07-04")]),e._v(" "),a("h2",{attrs:{id:"amazon-web-services-amis"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#amazon-web-services-amis"}},[e._v("#")]),e._v(" Amazon Web Services AMIs")]),e._v(" "),a("h3",{attrs:{id:"almalinux-os-versions-9-3-20240303-and-8-9-20240303"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-os-versions-9-3-20240303-and-8-9-20240303"}},[e._v("#")]),e._v(" AlmaLinux OS versions 9.3.20240303 and 8.9.20240303:")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("AlmaLinux Amazon Images were switched from Instance Metadata Service Version 1 (IMDSv1) to Instance Metadata Service Version 2 (IMDSv2).\nThe IMDSv2 is beneficial in multiple use cases such as:")]),e._v(" "),a("ul",[a("li",[e._v("Misconfigured Open Web Application Firewalls (WAF).")]),e._v(" "),a("li",[e._v("Misconfigured Open Reverse Proxies (Apache HTTP Server, Squid etc.).")]),e._v(" "),a("li",[e._v("Server-side request forgery (SSRF) vulnerabilities.")]),e._v(" "),a("li",[e._v("Open router.")]),e._v(" "),a("li",[e._v("Open Layer 3 Firewall.")]),e._v(" "),a("li",[e._v("Virtual private network (VPN).")]),e._v(" "),a("li",[e._v("Tunnel.")]),e._v(" "),a("li",[e._v("Network address translation (NAT).\nFor more details see "),a("a",{attrs:{href:"https://aws.amazon.com/blogs/security/defense-in-depth-open-firewalls-reverse-proxies-ssrf-vulnerabilities-ec2-instance-metadata-service/",target:"_blank",rel:"noopener noreferrer"}},[e._v("article"),a("OutboundLink")],1),e._v(" from AWS Security Blog and "),a("a",{attrs:{href:"https://youtu.be/2B5bhZzayjI",target:"_blank",rel:"noopener noreferrer"}},[e._v("talk"),a("OutboundLink")],1),e._v(" from AWS re:Invent 2019")])])]),e._v(" "),a("li",[a("p",[e._v("The size of boot partition ("),a("code",[e._v("/boot")]),e._v(") increased from "),a("code",[e._v("512 MiB")]),e._v(" to "),a("code",[e._v("1024 MiB / 1GiB")]),e._v(".")])]),e._v(" "),a("li",[a("p",[e._v("Included EC2 Instance Connect. See: https://wiki.almalinux.org/cloud/EC2-instance-connect.html")])])]),e._v(" "),a("h2",{attrs:{id:"generic-cloud"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#generic-cloud"}},[e._v("#")]),e._v(" Generic Cloud")]),e._v(" "),a("h3",{attrs:{id:"almalinux-os-versions-9-4-20240507-and-8-10-20240530-with-cloud-init-openstack-compatible"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-os-versions-9-4-20240507-and-8-10-20240530-with-cloud-init-openstack-compatible"}},[e._v("#")]),e._v(" AlmaLinux OS versions "),a("strong",[e._v("9.4-20240507")]),e._v(" and 8.10-20240530 with Cloud-init (OpenStack compatible)")]),e._v(" "),a("p",[a("strong",[e._v("Impacted architectures: x86_64, AArch64, ppc64le, s390x")])]),e._v(" "),a("p",[e._v("The size of boot partition ("),a("code",[e._v("/boot")]),e._v(") increased from "),a("code",[e._v("512 MiB")]),e._v(" to "),a("code",[e._v("1024 MiB / 1GiB")]),e._v(". This means that three and more kernels can be installed and enables larger initramfs (initial ram file system) and kernel related development.")]),e._v(" "),a("h3",{attrs:{id:"almalinux-os-version-8-9-20231128"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-os-version-8-9-20231128"}},[e._v("#")]),e._v(" AlmaLinux OS version 8.9-20231128")]),e._v(" "),a("p",[a("strong",[e._v("Impacted architecture: x86_64")])]),e._v(" "),a("p",[e._v("AlmaLinux Generic Cloud images have now unified - BIOS and UEFI - boot support. The download URLs of the UEFI images are symlinked to the current image for compatibility: "),a("code",[e._v("$MIRROR/almalinux/8/cloud/x86_64/images/AlmaLinux-8-GenericCloud-UEFI-latest.x86_64.qcow2")])]),e._v(" "),a("h2",{attrs:{id:"opennebula"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#opennebula"}},[e._v("#")]),e._v(" OpenNebula")]),e._v(" "),a("h3",{attrs:{id:"almalinux-os-version-8-10-20240530"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-os-version-8-10-20240530"}},[e._v("#")]),e._v(" AlmaLinux OS version "),a("strong",[e._v("8.10-20240530")])]),e._v(" "),a("p",[a("strong",[e._v("Impacted architecture: x86_64")])]),e._v(" "),a("p",[e._v("AlmaLinux OpenNebula images have now unified - BIOS and UEFI - boot support. The download URLs of the UEFI images are symlinked to the current image for compatibility.")])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/52.c69913f7.js b/assets/js/52.c69913f7.js new file mode 100644 index 000000000..f7d4cee11 --- /dev/null +++ b/assets/js/52.c69913f7.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[52],{333:function(e,t,o){"use strict";o.r(t);var n=o(14),a=Object(n.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"almalinux-community-code-of-conduct-coc"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-community-code-of-conduct-coc"}},[e._v("#")]),e._v(" AlmaLinux Community Code of Conduct (CoC)")]),e._v(" "),t("p",[e._v("The AlmaLinux community is made up of a mixture of professionals and volunteers from all over the world, working on every aspect of the distribution from coding through to marketing. Diversity is one of our huge strengths, but it can also lead to communication issues and unhappiness. To that end, we have a few ground rules that we ask people to adhere to when they’re using project resources.")]),e._v(" "),t("p",[e._v("This isn’t an exhaustive list of things that you can’t do. Rather, take it in the spirit in which it’s intended - a guide to make it easier to be excellent to each other.")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("Be considerate. Your work will be used by other people, and you in turn will depend on the work of others. Any decision you take will affect users and colleagues, and you should take those consequences into account when making decisions.")])]),e._v(" "),t("li",[t("p",[e._v("Be respectful. Not all of us will agree all the time, but disagreement is no excuse for poor behavior and poor manners. We might all experience some frustration now and then, but we cannot allow that frustration to turn into a personal attack. It’s important to remember that a community where people feel uncomfortable or threatened is not a productive one. Members of the AlmaLinux community should be respectful when dealing with other contributors as well as with people outside the AlmaLinux community and with users of AlmaLinux.")])])]),e._v(" "),t("p",[e._v("When we disagree, we try to understand why. Disagreements, both social and technical, happen all the time and AlmaLinux is no exception. It is important that we resolve disagreements and differing views constructively.")]),e._v(" "),t("p",[e._v("Remember that we’re different. The strength of AlmaLinux comes from its varied community, people from a wide range of backgrounds. Different people have different perspectives on issues. Being unable to understand why someone holds a viewpoint doesn’t mean that they’re wrong. Don’t forget that it is human to err and blaming each other doesn’t get us anywhere, rather offer to help resolving issues and to help learn from mistakes.")]),e._v(" "),t("h2",{attrs:{id:"applicability"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#applicability"}},[e._v("#")]),e._v(" Applicability")]),e._v(" "),t("p",[e._v("Our Code of Conduct applies to all AlmaLinux community resources, including forums, IRC channels, mailing lists, etc.")]),e._v(" "),t("h2",{attrs:{id:"attribution"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#attribution"}},[e._v("#")]),e._v(" Attribution")]),e._v(" "),t("p",[e._v('"Code of Conduct" by '),t("a",{attrs:{href:"https://www.redhat.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Red Hat, Inc."),t("OutboundLink")],1),e._v(" is licensed under "),t("a",{attrs:{href:"https://creativecommons.org/licenses/by-sa/3.0/legalcode",target:"_blank",rel:"noopener noreferrer"}},[e._v("CC-BY-SA 3.0"),t("OutboundLink")],1),e._v(". Used with modifications.")])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/53.1102c422.js b/assets/js/53.1102c422.js new file mode 100644 index 000000000..1f56ddfd9 --- /dev/null +++ b/assets/js/53.1102c422.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[53],{334:function(t,a,e){"use strict";e.r(a);var r=e(14),s=Object(r.a)({},(function(){var t=this,a=t._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"almalinux-irc-channels"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-irc-channels"}},[t._v("#")]),t._v(" AlmaLinux IRC Channels")]),t._v(" "),a("p",[t._v("AlmaLinux maintains a presence on the "),a("a",{attrs:{href:"https://freenode.net/",target:"_blank",rel:"noopener noreferrer"}},[t._v("freenode IRC network"),a("OutboundLink")],1),t._v(".")]),t._v(" "),a("p",[t._v("Please observe the AlmaLinux "),a("RouterLink",{attrs:{to:"/community/coc.html"}},[t._v("Code of Conduct")]),t._v(" and respect your fellow users at all times.")],1),t._v(" "),a("h2",{attrs:{id:"official-channels"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#official-channels"}},[t._v("#")]),t._v(" Official Channels")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Channel")]),t._v(" "),a("th",[t._v("Purpose")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("#almalinux")]),t._v(" "),a("td",[t._v("General discussion and community-based user support")])]),t._v(" "),a("tr",[a("td",[t._v("#almalinux-arm")]),t._v(" "),a("td",[t._v("(SIG) ARM-specific discussion and support")])]),t._v(" "),a("tr",[a("td",[t._v("#almalinux-cloud")]),t._v(" "),a("td",[t._v("(SIG) Cloud-centric discussion (AWS, GCP, Azure, OpenStack, etc.)")])]),t._v(" "),a("tr",[a("td",[t._v("#almalinux-devel")]),t._v(" "),a("td",[t._v("Developing for AlmaLinux (or a similar EL platform)? This is for you.")])]),t._v(" "),a("tr",[a("td",[t._v("#almalinux-infra")]),t._v(" "),a("td",[t._v("Discussion or issue reporting for AlmaLinux project infrastructure")])]),t._v(" "),a("tr",[a("td",[t._v("#almalinux-security")]),t._v(" "),a("td",[t._v("Security-specific discussion and support")])]),t._v(" "),a("tr",[a("td",[t._v("#almalinux-social")]),t._v(" "),a("td",[t._v("Off-topic banter")])]),t._v(" "),a("tr",[a("td",[t._v("#almalinux-storage")]),t._v(" "),a("td",[t._v("(SIG) Storage-specific discussion (GlusterFS, etc.)")])])])]),t._v(" "),a("h1",{attrs:{id:"mattermost"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#mattermost"}},[t._v("#")]),t._v(" Mattermost")]),t._v(" "),a("p",[t._v("AlmaLinux operates a Mattermost instance at https://chat.almalinux.org.")]),t._v(" "),a("p",[t._v("This instance is open to the public; contributors are highly encouraged to sign up!")])])}),[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/54.73fe4870.js b/assets/js/54.73fe4870.js new file mode 100644 index 000000000..a1aa706cb --- /dev/null +++ b/assets/js/54.73fe4870.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[54],{335:function(e,n,t){"use strict";t.r(n);var o=t(14),i=Object(o.a)({},(function(){var e=this,n=e._self._c;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("h1",{attrs:{id:"containers-on-almalinux"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#containers-on-almalinux"}},[e._v("#")]),e._v(" Containers on AlmaLinux")]),e._v(" "),n("p",[e._v("In the evolving world of development and deployment, containers have become essential tools, bringing consistency, scalability, and efficiency to the forefront. At AlmaLinux, we've embraced this trend, with our Cloud Special Interest Group (Cloud SIG) playing a pivotal role in aligning our offerings with the needs of the community.")]),e._v(" "),n("p",[n("strong",[e._v("Docker Images")]),e._v(": Our Docker images are optimized for a seamless deployment experience, mirroring the reliability and performance that AlmaLinux is known for. Ideal for developers who want the stability of AlmaLinux within the Docker environment.")]),e._v(" "),n("p",[n("strong",[e._v("OCI Images")]),e._v(": The Open Container Initiative (OCI) lays down the standards for modern container technologies. AlmaLinux's OCI images uphold these standards, ensuring compatibility and smooth operation with various container tools and orchestration platforms.")]),e._v(" "),n("p",[e._v("Dive into the future of application deployment with AlmaLinux's tailored container solutions.")])])}),[],!1,null,null,null);n.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/55.e30bbfb7.js b/assets/js/55.e30bbfb7.js new file mode 100644 index 000000000..5a7cc1e2e --- /dev/null +++ b/assets/js/55.e30bbfb7.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[55],{336:function(a,e,t){"use strict";t.r(e);var r=t(14),n=Object(r.a)({},(function(){var a=this,e=a._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[e("h6",{attrs:{id:"last-updated-2024-04-22"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#last-updated-2024-04-22"}},[a._v("#")]),a._v(" last updated: 2024-04-22")]),a._v(" "),e("h1",{attrs:{id:"almalinux-os-docker-images"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-os-docker-images"}},[a._v("#")]),a._v(" AlmaLinux OS Docker Images")]),a._v(" "),e("h2",{attrs:{id:"about-almalinux-docker-images"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#about-almalinux-docker-images"}},[a._v("#")]),a._v(" About AlmaLinux Docker Images")]),a._v(" "),e("p",[a._v("AlmaLinux Docker Images is a great way to build your container image based on AlmaLinux OS. AlmaLinux Docker Images offer users such benefits as high reliability, security, and performance. It is possible to build a cloud and web application that is developed in containers and share it with whom you want or where you want to collaborate after pushing it to the registry server with any of the images.")]),a._v(" "),e("div",{staticClass:"custom-block warning"},[e("p",{staticClass:"custom-block-title"},[a._v("WARNING")]),a._v(" "),e("p",[a._v("Please, when accessing AlmaLinux Container images at "),e("a",{attrs:{href:"https://quay.io/repository/almalinuxorg/almalinux",target:"_blank",rel:"noopener noreferrer"}},[a._v("Quay.io"),e("OutboundLink")],1),a._v(", make sure you are using the correct link: "),e("strong",[a._v("https://quay.io/repository/almalinuxorg/almalinux")]),a._v(".")])]),a._v(" "),e("h2",{attrs:{id:"almalinux-docker-images-variants"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-docker-images-variants"}},[a._v("#")]),a._v(" AlmaLinux Docker Images Variants")]),a._v(" "),e("p",[a._v("AlmaLinux OS project now provides two official images: Default (Platform) and Minimal (Platform), and four fully compatible alternatives for the Red Hat Universal Base Images (UBI): Base, Init, Micro and Minimal.")]),a._v(" "),e("h3",{attrs:{id:"almalinux-default-platform"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-default-platform"}},[a._v("#")]),a._v(" AlmaLinux: Default (Platform)")]),a._v(" "),e("p",[a._v("The general purpose of the default (platform) image is a container image that contains default packages and can be used as a drop-in replacement for the CentOS 8 image.")]),a._v(" "),e("p",[a._v("Container image tag: "),e("code",[a._v("almalinux:latest")])]),a._v(" "),e("p",[a._v("Link to the repository:")]),a._v(" "),e("p",[e("a",{attrs:{href:"https://hub.docker.com/_/almalinux",target:"_blank",rel:"noopener noreferrer"}},[a._v("hub.docker.com/_/almalinux"),e("OutboundLink")],1)]),a._v(" "),e("h3",{attrs:{id:"almalinux-minimal"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-minimal"}},[a._v("#")]),a._v(" AlmaLinux: Minimal")]),a._v(" "),e("p",[a._v("The AlmaLinux minimal image is a compacted image that contains a limited package set and uses the "),e("code",[a._v("microdnf")]),a._v(" package manager as a replacement for DNF. A minimal DNF uses libdnf and therefore doesn't require Python. This image is 52% smaller in size (37MB download, 102MB expanded). It is designed for applications that come with their dependencies bundled like GO, NodeJS, Java. You can get the Minimal image via two variants of the following container tags and links.")]),a._v(" "),e("p",[a._v("Container image tag for Minimal (Platform): "),e("code",[a._v("almalinux:minimal")])]),a._v(" "),e("p",[a._v("Container image tag for Minimal ( UBI - alternative): "),e("code",[a._v("almalinux/8-minimal")])]),a._v(" "),e("p",[a._v("Links to repositories:")]),a._v(" "),e("table",[e("thead",[e("tr",[e("th",[a._v("Platform")]),a._v(" "),e("th",[a._v("Version")])])]),a._v(" "),e("tbody",[e("tr",[e("td",[a._v("Docker Hub")]),a._v(" "),e("td",[e("a",{attrs:{href:"https://hub.docker.com/r/almalinux/8-minimal",target:"_blank",rel:"noopener noreferrer"}},[a._v("AlmaLinux 8"),e("OutboundLink")],1),e("br"),e("a",{attrs:{href:"https://hub.docker.com/r/almalinux/9-minimal",target:"_blank",rel:"noopener noreferrer"}},[a._v("AlmaLinux 9"),e("OutboundLink")],1)])]),a._v(" "),e("tr",[e("td",[a._v("Quay.io")]),a._v(" "),e("td",[e("a",{attrs:{href:"https://quay.io/repository/almalinuxorg/8-minimal?tab=tags",target:"_blank",rel:"noopener noreferrer"}},[a._v("AlmaLinux 8"),e("OutboundLink")],1),e("br"),e("a",{attrs:{href:"https://quay.io/repository/almalinuxorg/9-minimal?tab=tags",target:"_blank",rel:"noopener noreferrer"}},[a._v("AlmaLinux 9"),e("OutboundLink")],1)])]),a._v(" "),e("tr",[e("td",[a._v("GitHub Packages")]),a._v(" "),e("td",[e("a",{attrs:{href:"https://github.com/orgs/AlmaLinux/packages/container/package/8-minimal",target:"_blank",rel:"noopener noreferrer"}},[a._v("AlmaLinux 8"),e("OutboundLink")],1),e("br"),e("a",{attrs:{href:"https://github.com/orgs/AlmaLinux/packages/container/package/9-minimal",target:"_blank",rel:"noopener noreferrer"}},[a._v("AlmaLinux 9"),e("OutboundLink")],1)])])])]),a._v(" "),e("h3",{attrs:{id:"almalinux-base"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-base"}},[a._v("#")]),a._v(" AlmaLinux: Base")]),a._v(" "),e("p",[a._v("The AlmaLinux Base Image is designed to be a base for your containerized applications, middleware and utilities. Base Image includes some helpful OS tools like find, tar, vi, etc., and a full DNF stack. The systemd initialization system and access to free dnf repositories are fully available. The Base image has some differences in a package set than the Default (Platform) image.")]),a._v(" "),e("p",[a._v("Container image tag: "),e("code",[a._v("almalinux/8-base")])]),a._v(" "),e("p",[a._v("Links to repositories:")]),a._v(" "),e("table",[e("thead",[e("tr",[e("th",[a._v("Platform")]),a._v(" "),e("th",[a._v("Version")])])]),a._v(" "),e("tbody",[e("tr",[e("td",[a._v("Docker Hub")]),a._v(" "),e("td",[e("a",{attrs:{href:"https://hub.docker.com/r/almalinux/8-base",target:"_blank",rel:"noopener noreferrer"}},[a._v("AlmaLinux 8"),e("OutboundLink")],1),e("br"),e("a",{attrs:{href:"hub.docker.com/r/almalinux/9-base"}},[a._v("AlmaLinux 9")])])]),a._v(" "),e("tr",[e("td",[a._v("Quay.io")]),a._v(" "),e("td",[e("a",{attrs:{href:"https://quay.io/repository/almalinuxorg/8-base?tab=tags",target:"_blank",rel:"noopener noreferrer"}},[a._v("AlmaLinux 8"),e("OutboundLink")],1),e("br"),e("a",{attrs:{href:"https://quay.io/repository/almalinuxorg/9-base?tab=tags",target:"_blank",rel:"noopener noreferrer"}},[a._v("AlmaLinux 9"),e("OutboundLink")],1)])]),a._v(" "),e("tr",[e("td",[a._v("GitHub Packages")]),a._v(" "),e("td",[e("a",{attrs:{href:"https://github.com/orgs/AlmaLinux/packages/container/package/8-base",target:"_blank",rel:"noopener noreferrer"}},[a._v("AlmaLinux 8"),e("OutboundLink")],1),e("br"),e("a",{attrs:{href:"https://github.com/orgs/AlmaLinux/packages/container/package/9-base",target:"_blank",rel:"noopener noreferrer"}},[a._v("AlmaLinux 9"),e("OutboundLink")],1)])])])]),a._v(" "),e("h3",{attrs:{id:"almalinux-init"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-init"}},[a._v("#")]),a._v(" AlmaLinux: Init")]),a._v(" "),e("p",[a._v("The AlmaLinux Init image is effective if you want to run an init system as Process ID 1 for running multi-services inside a container. The systemd is enabled as the init system in the image.")]),a._v(" "),e("p",[a._v("Container image tag: "),e("code",[a._v("almalinux/8-init")])]),a._v(" "),e("p",[a._v("Links to repositories:")]),a._v(" "),e("table",[e("thead",[e("tr",[e("th",[a._v("Platform")]),a._v(" "),e("th",[a._v("Version")])])]),a._v(" "),e("tbody",[e("tr",[e("td",[a._v("Docker Hub")]),a._v(" "),e("td",[e("a",{attrs:{href:"https://hub.docker.com/r/almalinux/8-init",target:"_blank",rel:"noopener noreferrer"}},[a._v("AlmaLinux 8"),e("OutboundLink")],1),e("br"),e("a",{attrs:{href:"https://hub.docker.com/r/almalinux/9-init",target:"_blank",rel:"noopener noreferrer"}},[a._v("AlmaLinux 9"),e("OutboundLink")],1)])]),a._v(" "),e("tr",[e("td",[a._v("Quay.io")]),a._v(" "),e("td",[e("a",{attrs:{href:"https://quay.io/repository/almalinuxorg/8-init?tab=tags",target:"_blank",rel:"noopener noreferrer"}},[a._v("AlmaLinux 8"),e("OutboundLink")],1),e("br"),e("a",{attrs:{href:"https://quay.io/repository/almalinuxorg/9-init?tab=tags",target:"_blank",rel:"noopener noreferrer"}},[a._v("AlmaLinux 9"),e("OutboundLink")],1)])]),a._v(" "),e("tr",[e("td",[a._v("GitHub Packages")]),a._v(" "),e("td",[e("a",{attrs:{href:"https://github.com/orgs/AlmaLinux/packages/container/package/8-init",target:"_blank",rel:"noopener noreferrer"}},[a._v("AlmaLinux 8"),e("OutboundLink")],1),e("br"),e("a",{attrs:{href:"https://github.com/orgs/AlmaLinux/packages/container/package/9-init",target:"_blank",rel:"noopener noreferrer"}},[a._v("AlmaLinux 9"),e("OutboundLink")],1)])])])]),a._v(" "),e("h3",{attrs:{id:"almalinux-micro"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-micro"}},[a._v("#")]),a._v(" AlmaLinux: Micro")]),a._v(" "),e("p",[a._v("The AlmaLinux Micro image is an even more minimized image. It is distributed without any package manager. The Micro image uses the package manager on the underlying host to install packages, typically using Buildah or Multi-stage builds with Podman. The Micro image is 82% smaller than the Base image and 68% smaller than the Minimal image in size, as this image is 13MB download, 36MB expanded. It is designed for applications that come with their dependencies bundled like GO, NodeJS, Java. Since this image has only very few packages, it is more secure compared to other images.")]),a._v(" "),e("p",[a._v("Container image tag: "),e("code",[a._v("almalinux/8-micro")])]),a._v(" "),e("p",[a._v("Links to repositories:")]),a._v(" "),e("table",[e("thead",[e("tr",[e("th",[a._v("Platform")]),a._v(" "),e("th",[a._v("Version")])])]),a._v(" "),e("tbody",[e("tr",[e("td",[a._v("Docker Hub")]),a._v(" "),e("td",[e("a",{attrs:{href:"https://hub.docker.com/r/almalinux/8-micro",target:"_blank",rel:"noopener noreferrer"}},[a._v("AlmaLinux 8"),e("OutboundLink")],1),e("br"),e("a",{attrs:{href:"https://hub.docker.com/r/almalinux/9-micro",target:"_blank",rel:"noopener noreferrer"}},[a._v("AlmaLinux 9"),e("OutboundLink")],1)])]),a._v(" "),e("tr",[e("td",[a._v("Quay.io")]),a._v(" "),e("td",[e("a",{attrs:{href:"https://quay.io/repository/almalinuxorg/8-micro?tab=tags",target:"_blank",rel:"noopener noreferrer"}},[a._v("AlmaLinux 8"),e("OutboundLink")],1),e("br"),e("a",{attrs:{href:"https://quay.io/repository/almalinuxorg/9-micro?tab=tags",target:"_blank",rel:"noopener noreferrer"}},[a._v("AlmaLinux 9"),e("OutboundLink")],1)])]),a._v(" "),e("tr",[e("td",[a._v("GitHub Packages")]),a._v(" "),e("td",[e("a",{attrs:{href:"https://github.com/orgs/AlmaLinux/packages/container/package/8-micro",target:"_blank",rel:"noopener noreferrer"}},[a._v("AlmaLinux 8"),e("OutboundLink")],1),e("br"),e("a",{attrs:{href:"https://github.com/orgs/AlmaLinux/packages/container/package/9-micro",target:"_blank",rel:"noopener noreferrer"}},[a._v("AlmaLinux 9"),e("OutboundLink")],1)])])])]),a._v(" "),e("h2",{attrs:{id:"help-and-contribute"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#help-and-contribute"}},[a._v("#")]),a._v(" Help and Contribute")]),a._v(" "),e("p",[a._v("If you want to contribute or need any help, join us at "),e("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/sigvirtcontainer",target:"_blank",rel:"noopener noreferrer"}},[a._v("Container Sig at Mattermost"),e("OutboundLink")],1),a._v(".")])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/56.3b599863.js b/assets/js/56.3b599863.js new file mode 100644 index 000000000..5dd294006 --- /dev/null +++ b/assets/js/56.3b599863.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[56],{340:function(e,t,a){"use strict";a.r(t);var s=a(14),r=Object(s.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h6",{attrs:{id:"last-updated-2024-09-10"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#last-updated-2024-09-10"}},[e._v("#")]),e._v(" last updated: 2024-09-10")]),e._v(" "),t("h1",{attrs:{id:"almalinux-build-system"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-build-system"}},[e._v("#")]),e._v(" AlmaLinux Build System")]),e._v(" "),t("h2",{attrs:{id:"about-almalinux-build-system"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#about-almalinux-build-system"}},[e._v("#")]),e._v(" About AlmaLinux Build System")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://build.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Build System"),t("OutboundLink")],1),e._v(" is designed to handle processes of:")]),e._v(" "),t("ul",[t("li",[e._v("Building rpm packages for multiple supported architectures and distribution versions.")]),e._v(" "),t("li",[e._v("Testing packages.")]),e._v(" "),t("li",[e._v("Signing packages. See more on the "),t("a",{attrs:{href:"/development/private-keys/package-signing"}},[e._v("Signing packages")]),e._v(" page.")]),e._v(" "),t("li",[e._v("Releasing packages.")]),e._v(" "),t("li",[e._v("Ensuring that packages and their sources are reliably using "),t("a",{attrs:{href:"/documentation/sbom-guide"}},[e._v("SBOM")]),e._v(".")]),e._v(" "),t("li",[e._v("Providing "),t("a",{attrs:{href:"/documentation/errata"}},[e._v("Errata")]),e._v(".")])]),e._v(" "),t("h2",{attrs:{id:"almalinux-os-source-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-os-source-packages"}},[e._v("#")]),e._v(" AlmaLinux OS source packages")]),e._v(" "),t("p",[e._v("AlmaLinux OS source code including "),t("a",{attrs:{href:"/development/Modified-packages"}},[e._v("modified packages")]),e._v(" is stored and managed in Git repositories on "),t("a",{attrs:{href:"https://git.almalinux.org/explore/repos",target:"_blank",rel:"noopener noreferrer"}},[e._v("git.almalinux.org"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("p",[e._v("AlmaLinux OS Team and community work on these repositories to submit changes, fix bugs, and introduce new features. The AlmaLinux Build System is then used to pull the latest changes from these repositories and build the updated packages.")]),e._v(" "),t("h2",{attrs:{id:"more-guides-and-details"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#more-guides-and-details"}},[e._v("#")]),e._v(" More guides and details")]),e._v(" "),t("p",[e._v("If you are interested in learning how to build AlmaLinux OS packages, please check the "),t("a",{attrs:{href:"/development/Packaging"}},[e._v("Packaging guidelines")]),e._v(" and "),t("a",{attrs:{href:"/documentation/building-packages-guide"}},[e._v("Building packages guide")]),e._v(".")]),e._v(" "),t("p",[e._v("Details and guides on how the AlmaLinux Build System works and how to use it can be found in the "),t("a",{attrs:{href:"https://github.com/AlmaLinux/build-system/wiki",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Build System Wiki"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"reporting-issues"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#reporting-issues"}},[e._v("#")]),e._v(" Reporting Issues")]),e._v(" "),t("p",[e._v("All issues should be reported to the "),t("a",{attrs:{href:"https://github.com/AlmaLinux/build-system/issues",target:"_blank",rel:"noopener noreferrer"}},[e._v("Build System"),t("OutboundLink")],1),e._v(" repository. A "),t("a",{attrs:{href:"https://github.com/orgs/AlmaLinux/projects/2",target:"_blank",rel:"noopener noreferrer"}},[e._v("kanban board"),t("OutboundLink")],1),e._v(" is used for the Build System project to track the progress.")]),e._v(" "),t("h2",{attrs:{id:"contribute-and-get-help"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#contribute-and-get-help"}},[e._v("#")]),e._v(" Contribute and Get Help")]),e._v(" "),t("p",[e._v("AlmaLinux Build System is open for community contributions. You can contribute to the codebase, submit patches, and use community product repositories to build and release packages. You can find more on the "),t("a",{attrs:{href:"/sigs/Build-System"}},[e._v("Build System SIG")]),e._v(" page.")]),e._v(" "),t("p",[e._v("Join the ~SIG/Build System "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/build-system",target:"_blank",rel:"noopener noreferrer"}},[e._v("chat channel"),t("OutboundLink")],1),e._v(" for any talk and assistance.")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/57.593d3f4b.js b/assets/js/57.593d3f4b.js new file mode 100644 index 000000000..ec36b7312 --- /dev/null +++ b/assets/js/57.593d3f4b.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[57],{337:function(t,r,e){"use strict";e.r(r);var a=e(14),n=Object(a.a)({},(function(){var t=this,r=t._self._c;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"almalinux-modified-packages"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-modified-packages"}},[t._v("#")]),t._v(" AlmaLinux Modified packages")]),t._v(" "),r("p",[t._v("All AlmaLinux OS packages, including modified ones, can be found on "),r("a",{attrs:{href:"https://git.almalinux.org/explore/repos",target:"_blank",rel:"noopener noreferrer"}},[t._v("git.almalinux.org"),r("OutboundLink")],1),t._v(". There are several branches in each package repository:")]),t._v(" "),r("ul",[r("li",[t._v("c8/c9 branches for original sources")]),t._v(" "),r("li",[t._v("a8/a9 branches for modified sources")])]),t._v(" "),r("p",[t._v("This table lists AlmaLinux packages with modified sources.")]),t._v(" "),r("table",[r("thead",[r("tr",[r("th",[t._v("Package")]),t._v(" "),r("th",[t._v("AlmaLinux 8")]),t._v(" "),r("th",[t._v("AlmaLinux 9")]),t._v(" "),r("th",[t._v("Commentary")])])]),t._v(" "),r("tbody",[r("tr",[r("td",[t._v("abrt")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/abrt/commit/a49539fafaa3d63476b0aca3cbf0919416ded786",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("Doesn't require modification")]),t._v(" "),r("td",[t._v("- Remove requirements for rhel-related packages "),r("br"),t._v("- Add support for GPG subkeys "),r("br"),t._v("- Disable rhtsupport")])]),t._v(" "),r("tr",[r("td",[t._v("anaconda")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/anaconda/commit/b9c39d05d3eef81319bf5fd49208d78bc3e83203",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/anaconda/commit/a7e96ccaba29d6e3d3d7e48241f3f34cf2558ab2",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Add AlmaLinux support patches "),r("br"),t._v("- Remove rhel-related requirements")])]),t._v(" "),r("tr",[r("td",[t._v("anaconda-user-help")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/anaconda-user-help/commit/e06e7c65f75bd70c8b3b4b9c405aa6eb70f89d87",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/anaconda-user-help/commit/8189f189f8baba3cd7c383d92e488ba6166f59db",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Apply AlmaLinux branding patch")])]),t._v(" "),r("tr",[r("td",[t._v("bluez")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/bluez/commit/88204f929628e652781bb06bf9823086100727e9",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("Doesn't require modification")]),t._v(" "),r("td",[t._v("- Debrand for AlmaLinux")])]),t._v(" "),r("tr",[r("td",[t._v("cloud-init")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/cloud-init/commit/1508331c917e37cb8551536d6f976eee6a273fc2",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/cloud-init/commit/55630d1c1a884961f85829852a150c35a4011c09",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Apply AlmaLinux support patch")])]),t._v(" "),r("tr",[r("td",[t._v("clufter")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/clufter/commit/d9bf103ec6660b0374080dd25463ae4d7d010706",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("Doesn't require modification")]),t._v(" "),r("td",[t._v("- This change helps build clufter with a new version of pacemaker")])]),t._v(" "),r("tr",[r("td",[t._v("crash")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/crash/commit/b4a0b91d49f3232f877adf6288735e131cd3662a",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/crash/commit/45800a12458cbf0cc378e78855f50b707a6fad30",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Debrand for AlmaLinux")])]),t._v(" "),r("tr",[r("td",[t._v("dnf")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/dnf/commit/619df95b9edbc8571c73ff34202daae0b2627e0c",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/dnf/commit/7ad9001b8e9035d1bda6c151dd739873a6227e01",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Debrand for AlmaLinux")])]),t._v(" "),r("tr",[r("td",[t._v("firefox")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/firefox/commit/14135a8233d8eab1acad34e9d89ff90b311c55a7",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),t._v(" "),r("a",{attrs:{href:"https://git.almalinux.org/rpms/firefox/commit/b077702a832e59b3d2aa19bd97f6e37588d482ee",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Debrand for AlmaLinux")])]),t._v(" "),r("tr",[r("td",[t._v("fwupd")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/fwupd/commit/657b8ce0193b0801f42b729b4edd4c5a67ea3acc",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),t._v(" "),r("a",{attrs:{href:"https://git.almalinux.org/rpms/fwupd/commit/d2a18c3e2ee419b300e34682f5ea6355247d5991",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Use AlmaLinux secure boot cert")])]),t._v(" "),r("tr",[r("td",[t._v("fwupdate")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/fwupdate/commit/1329d57b09e56b4e03003546de3acebbbb8f8c04",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("Doesn't require modification")]),t._v(" "),r("td",[t._v("- Use AlmaLinux secure boot cert")])]),t._v(" "),r("tr",[r("td",[t._v("gcc")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/gcc/commit/cc1caac2399c4092bf94c2084514493191880b0c",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/gcc/commit/3874b606153c1d61bc55a523c93e60baf789047a",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Debrand for AlmaLinux"),r("br"),t._v("- Use bugs.almalinux.org instead of Red Hat bugzilla")])]),t._v(" "),r("tr",[r("td",[t._v("gnome-settings-daemon")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/gnome-settings-daemon/commit/ea6b7152659f432f1cf526525bafb14ce1d78ddb",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("Doesn't require modification")]),t._v(" "),r("td",[t._v("- Disable subman plugin")])]),t._v(" "),r("tr",[r("td",[t._v("golang-github-cpuguy83-go-md2man")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/golang-github-cpuguy83-go-md2man/commit/c588b8c65a51dfbc8b2506ffd525ab63ecffba27",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("Doesn't require modification")]),t._v(" "),r("td",[t._v("- Fix compilation error")])]),t._v(" "),r("tr",[r("td",[t._v("grub2")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/grub2/commit/33d2c41b51cb5f249b35e4a0d63c1d14bf45f4d4",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/grub2/commit/c5253d0d2e694a98261ba5133ea9f79106f76d8f",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Use AlmaLinux secure boot cert"),r("br"),t._v("- Debrand for AlmaLinux")])]),t._v(" "),r("tr",[r("td",[t._v("hplip")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/hplip/commit/4b2a9aa41df8d259e7c59e573344f748d7af390c",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),t._v(" "),r("a",{attrs:{href:"https://git.almalinux.org/rpms/hplip/commit/3d3e591d57b2762c47885e4cf3f6980cb371ebff",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Add AlmaLinux support"),r("br"),t._v("- Fix permission for custom created gpg dir"),r("br"),t._v("- Change gpg server to pgp.mit.edu")])]),t._v(" "),r("tr",[r("td",[t._v("initial-setup")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/initial-setup/commit/afd963bfb2093779ccaadd636847a71bee4f8e49",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),t._v(" "),r("a",{attrs:{href:"https://git.almalinux.org/rpms/initial-setup/commit/e6f8b66291c747e0bd3131d799ac1ca9380f8616",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- AlmaLinux debrand patch")])]),t._v(" "),r("tr",[r("td",[t._v("kernel")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/kernel/commit/273ff5a1639b7aa4281b9d12df0844833e4b174e",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/kernel/commit/b3893ae5fe5b195d08796fdeb7c8299af14ed5a5",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Use AlmaLinux secure boot cert"),r("br"),t._v("- Debrand for AlmaLinux")])]),t._v(" "),r("tr",[r("td",[t._v("kernel-rt")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/kernel-rt/commit/1cc2bb69323a86c570fffefd79d02191f20f3cd1",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),t._v(" "),r("a",{attrs:{href:"https://git.almalinux.org/rpms/kernel-rt/commit/b3b715bbe5e7adef10364e64647095b31011a697",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Use AlmaLinux secure boot cert"),r("br"),t._v("- Debrand for AlmaLinux")])]),t._v(" "),r("tr",[r("td",[t._v("libdnf")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/libdnf/commit/62d20182f6e3f3b19dc6c9324b6e32079f88f2da",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/libdnf/commit/825f016fd21c7f75ddb5dac902d3e0b81978c4ba",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Debrand for AlmaLinux"),r("br"),t._v("- Add support for GPG subkeys for repodata signing")])]),t._v(" "),r("tr",[r("td",[t._v("libguestfs")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/libguestfs/commit/284df1d1cdfee467b7d132c0b0c08797473baaad",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),t._v(" "),r("a",{attrs:{href:"https://git.almalinux.org/rpms/libguestfs/commit/be7a16351ade716cf3c2b8a003e081a2ceacacd0",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Fix build for AlmaLinux")])]),t._v(" "),r("tr",[r("td",[t._v("libreoffice")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/libreoffice/commit/7f7be42a96379ce83a9b2bbf1cfa5a03eef61d98",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),t._v(" "),r("a",{attrs:{href:"https://git.almalinux.org/rpms/libreoffice/commit/41ecbcbca3e91c0503d325d613df02a81b4f773f",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Debrand for AlmaLinux")])]),t._v(" "),r("tr",[r("td",[t._v("libreport")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/libreport/commit/a3b5337005f0f2e7d8a1ac29471b2303e3808469",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),t._v(" "),r("a",{attrs:{href:"https://git.almalinux.org/rpms/libreport/commit/edd1819ae51218681b8f7867b362061d7ab1c6b5",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Debrand for AlmaLinux")])]),t._v(" "),r("tr",[r("td",[t._v("mongo-tools")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/mongo-tools/commit/fc4e50154e1d56ee3478d2966fd6fa76c8d6b370",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("Doesn't require modification")]),t._v(" "),r("td",[t._v("- Use golang instead of go-toolset-1.10-golang BR")])]),t._v(" "),r("tr",[r("td",[t._v("nginx")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),t._v("8:"),r("li",[r("a",{attrs:{href:"https://git.almalinux.org/rpms/nginx/commit/a2a7289a0c043020a2dbf2cc518f4b7b1642eb10",target:"_blank",rel:"noopener noreferrer"}},[t._v("a8-stream-1.14"),r("OutboundLink")],1)]),r("li",[r("a",{attrs:{href:"https://git.almalinux.org/rpms/nginx/commit/11fd354236f99d6518fa71b73904d869ebc20bdd",target:"_blank",rel:"noopener noreferrer"}},[t._v("a8-stream-1.16"),r("OutboundLink")],1)]),r("li",[r("a",{attrs:{href:"https://git.almalinux.org/rpms/nginx/commit/c2226342dbc12a52a6ebdf706b2f89403b45c34e",target:"_blank",rel:"noopener noreferrer"}},[t._v("a8-stream-1.18"),r("OutboundLink")],1)]),r("li",[r("a",{attrs:{href:"https://git.almalinux.org/rpms/nginx/commit/abb001e0947d0c865bfeaa52fd0f8b88a793cec9",target:"_blank",rel:"noopener noreferrer"}},[t._v("a8-stream-1.20"),r("OutboundLink")],1)]),r("li",[r("a",{attrs:{href:"https://git.almalinux.org/rpms/nginx/commit/270d35d08b1496dc53a1bee8efe070efa9d8c9ee",target:"_blank",rel:"noopener noreferrer"}},[t._v("a8-stream-1.22"),r("OutboundLink")],1)])]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),t._v("9:"),r("li",[r("a",{attrs:{href:"https://git.almalinux.org/rpms/nginx/commit/866617d21031f21e60aeb6827feb8437c605b2fd",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),r("li",[r("a",{attrs:{href:"https://git.almalinux.org/rpms/nginx/commit/d5f7b095ca134f51b9649ea60bea4c95d495ae1a",target:"_blank",rel:"noopener noreferrer"}},[t._v("a9-stream-1.22"),r("OutboundLink")],1)])]),t._v(" "),r("td",[t._v("- Debrand for AlmaLinux")])]),t._v(" "),r("tr",[r("td",[t._v("opa-ff")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/opa-ff/commit/349cff1caea18466ccdbb7839dc8a18b557ae092",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),t._v(" "),r("a",{attrs:{href:"https://git.almalinux.org/rpms/opa-ff/commit/c5a7fc55b8f368b2af08bf09b7fda73f40e02f3a",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Add AlmaLinux detection")])]),t._v(" "),r("tr",[r("td",[t._v("opa-fm")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/opa-fm/commit/706e0dec03e10398b7b22b2c44c89dd00901f62f",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/opa-fm/commit/c18f918c3f9f5198d7774c8d9bf4849de1a80619",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Add AlmaLinux detection")])]),t._v(" "),r("tr",[r("td",[t._v("openscap")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/openscap/commit/2a29d3a5f26394755c10d6bde2444532f8b0440c",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),t._v(" "),r("a",{attrs:{href:"https://git.almalinux.org/rpms/openscap/commit/731a227034cf6626b3c653cba5aa1d5e2621babd",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Add AlmaLinux definitions")])]),t._v(" "),r("tr",[r("td",[t._v("osbuild")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/osbuild/commit/7b66e9611a33b6d7a53402b15c8f4e7e69a54f1b",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/osbuild/commit/d120349a2f3310d5fb08dca153777ed9923acee3",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Add AlmaLinux runners")])]),t._v(" "),r("tr",[r("td",[t._v("osbuild-composer")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/osbuild-composer/commit/871d52df46c868cef087583d04fb0705e45423eb",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),t._v(" "),r("a",{attrs:{href:"https://git.almalinux.org/rpms/osbuild-composer/commit/2ecdc50c9c9280dafdc7a9d546dc48a0492feb6a",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Add AlmaLinux support patch")])]),t._v(" "),r("tr",[r("td",[t._v("pcs")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/pcs/commit/1066fd3ebc6c09a42f80706d59f2d49d54d2080f",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("Doesn't require modification")]),t._v(" "),r("td",[t._v("- Debrand logo")])]),t._v(" "),r("tr",[r("td",[t._v("perl-AnyEvent")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/perl-AnyEvent/commit/7df8a744d97fbb6b31ace8f6bef17177bae18d37",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("Doesn't require modification")]),t._v(" "),r("td",[t._v("- Use patch for fix ssltest")])]),t._v(" "),r("tr",[r("td",[t._v("python2")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/python2/commit/c6c16b43455d5c0cafa9c2313c2ee71086535d61",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("Doesn't require modification")]),t._v(" "),r("td",[t._v("- Add AlmaLinux to supported distros")])]),t._v(" "),r("tr",[r("td",[t._v("python3")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/python-psycopg2/commit/4e9ae78a23ce76ee0292634f6eb4b018dc0879a8",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("Doesn't require modification")]),t._v(" "),r("td",[t._v("- Add AlmaLinux to supported distros")])]),t._v(" "),r("tr",[r("td",[t._v("python-nss")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/python-nss/commit/43e6c2c074aa364c5691d2b0b0316365ab6ac328",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("Doesn't require modification")]),t._v(" "),r("td",[t._v("- Fix FTBFS with NSS v3.58+ caused by conflicting struct names")])]),t._v(" "),r("tr",[r("td",[t._v("python-psycopg2")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/python-psycopg2/commit/4e9ae78a23ce76ee0292634f6eb4b018dc0879a8",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("Doesn't require modification")]),t._v(" "),r("td",[t._v("- Add patch "),r("i",[t._v("0001-Mark-_test_external_close-as-expected-failure.patch")])])]),t._v(" "),r("tr",[r("td",[t._v("redhat-rpm-config")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/redhat-rpm-config/commit/5cc5eaf654481add2b245b182653c932cc36111f",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),t._v(" "),r("a",{attrs:{href:"https://git.almalinux.org/rpms/redhat-rpm-config/commit/3cce17f25c4700ffbc23de78a492f2085cee1dba",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Fix AlmaLinux detection")])]),t._v(" "),r("tr",[r("td",[t._v("rpm-ostree")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/rpm-ostree/commit/bf2f06b445140c9786e1fe50301a734e6094b77c",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("Doesn't require modification")]),t._v(" "),r("td",[t._v("- Add libassuan-devel to BR")])]),t._v(" "),r("tr",[r("td",[t._v("s390utils")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/s390utils/commit/7c6a3e182f09e2f141b0460e7bb2190dc27b4c80",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("Doesn't require modification")]),t._v(" "),r("td",[t._v("- Fix detection "),r("i",[t._v("5*")]),t._v(" version kernels to allow builds on AlmaLinux 9 nodes")])]),t._v(" "),r("tr",[r("td",[t._v("scap-security-guide")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/scap-security-guide/commit/0e201cce7fac24fe09d8238251917993e5fa25f7",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/scap-security-guide/commit/f68f0f633d25426d08ae6aa904f1cb67f0639de6",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Add AlmaLinux patch")])]),t._v(" "),r("tr",[r("td",[t._v("shim")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/shim/commit/09b7c524d446c38d44cd395b7492c611c8bb13fb",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),t._v(" "),r("a",{attrs:{href:"https://git.almalinux.org/rpms/shim/commit/1c0a90cc2ed25ee8477040ddbd71fe4c689f9f36",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Use AlmaLinux binary and cert")])]),t._v(" "),r("tr",[r("td",[t._v("shim-unsigned-x64")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/shim-unsigned-x64/commit/7d184fed577f82ba6fd1ed992ce1fcbe45a38844",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),t._v(" "),r("a",{attrs:{href:"https://git.almalinux.org/rpms/shim-unsigned-x64/commit/7b7c17dc74ba3f474269442ce55c175255f41408",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Use AlmaLinux cert and SBAT entry")])]),t._v(" "),r("tr",[r("td",[t._v("shim-unsigned-aarch64")]),t._v(" "),r("td",[t._v("Doesn't require modification")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/shim-unsigned-aarch64/commit/f4663c11a3dba94bbbe2e77b97850323a8d6954f",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Use AlmaLinux cert and SBAT entry")])]),t._v(" "),r("tr",[r("td",[t._v("sos")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/sos/commit/8fdc9d3543771d26499222fdfa5741ca572f9891",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),t._v(" "),r("a",{attrs:{href:"https://git.almalinux.org/rpms/sos/commit/385c4f2abae810a33832f11c39e1c27dfb52b4de",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Debrand for AlmaLinux")])]),t._v(" "),r("tr",[r("td",[t._v("subscription-manager")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/subscription-manager/commit/31d63783159b9b6c4a593ad158af5fb47669fdad",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),t._v(" "),r("br"),t._v(" "),r("a",{attrs:{href:"https://git.almalinux.org/rpms/subscription-manager/commit/e415540e20de8813197a983bd9e545886f5b73d3",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Debrand for AlmaLinux")])]),t._v(" "),r("tr",[r("td",[t._v("thunderbird")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/thunderbird/commit/f17f8521488d3d48b0061cec08d795b8ba4d857f",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),t._v(" "),r("a",{attrs:{href:"https://git.almalinux.org/rpms/thunderbird/commit/dd5ecbc4851476d1e1e73759e75dcb350146c40f",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Debrand for AlmaLinux")])]),t._v(" "),r("tr",[r("td",[t._v("virt-manager")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/virt-manager/commit/a4a6bbffb06cc711d6d1c95c9253762bb9b127f0",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/virt-manager/commit/811ee55238fb13fd132f18db1d45b72865b482c4",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Add AlmaLinux support patch")])])])]),t._v(" "),r("p",[t._v("List of modified packages that don't require debranding after AlmaLinux 8.7 and AlmaLinux 9.1 versions:")]),t._v(" "),r("table",[r("thead",[r("tr",[r("th",[t._v("Package")]),t._v(" "),r("th",[t._v("AlmaLinux 8")]),t._v(" "),r("th",[t._v("AlmaLinux 9")]),t._v(" "),r("th",[t._v("Commentary")])])]),t._v(" "),r("tbody",[r("tr",[r("td",[t._v("WALinuxAgent")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/WALinuxAgent/commit/19bfe138ed9a46302727997cfccfbd8fc0acbac9",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/WALinuxAgent/commit/961450f8ce1c628e83b718a5794a44f12e7a3150",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Add AlmaLinux support patch")])]),t._v(" "),r("tr",[r("td",[t._v("chrony")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/chrony/commit/4d3e2ca2654b08b8d17790cabb368ea7d2566977",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/chrony/commit/8ef8f9012bb746dbcef83f2891d1c6b3ebc73c9e",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Use CloudLinux/RHEL NTP pool instead of AlmaLinux")])]),t._v(" "),r("tr",[r("td",[t._v("eth-tools")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/eth-tools/commit/6dcd14c7ee226a96929b5403a331c62570fd72ee",target:"_blank",rel:"noopener noreferrer"}},[t._v("8"),r("OutboundLink")],1)]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/eth-tools/commit/b36f64560bcf6e005d0265d17dfdc1976921a49c",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Apply AlmaLinux support patch")])]),t._v(" "),r("tr",[r("td",[t._v("gstreamer1-plugins-bad-free")]),t._v(" "),r("td",[t._v("Doesn't require modification")]),t._v(" "),r("td",[r("b",[t._v("Git commit:")]),r("br"),r("a",{attrs:{href:"https://git.almalinux.org/rpms/gstreamer1-plugins-bad-free/commit/4c5ae9f3c7f43997b4ff6c0dc5fdf9bb2ae344c9",target:"_blank",rel:"noopener noreferrer"}},[t._v("9"),r("OutboundLink")],1)]),t._v(" "),r("td",[t._v("- Added wayland-protocols-devel to BuildRequires to fix build")])])])])])}),[],!1,null,null,null);r.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/58.c041a24c.js b/assets/js/58.c041a24c.js new file mode 100644 index 000000000..a83289351 --- /dev/null +++ b/assets/js/58.c041a24c.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[58],{338:function(e,a,i){"use strict";i.r(a);var n=i(14),s=Object(n.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"almalinux-packaging-guideline"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-packaging-guideline"}},[e._v("#")]),e._v(" AlmaLinux packaging guideline")]),e._v(" "),a("h2",{attrs:{id:"upstream-packages-modification"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#upstream-packages-modification"}},[e._v("#")]),e._v(" Upstream packages modification")]),e._v(" "),a("p",[e._v("Here is a (mostly complete) list of reasons to modify an upstream package:")]),e._v(" "),a("ul",[a("li",[e._v("debranding.")]),e._v(" "),a("li",[e._v("removing upstream-specific dependencies (e.g. subscription-manager).")]),e._v(" "),a("li",[e._v("fixing upstream bugs if necessary.")])]),e._v(" "),a("p",[e._v("We have a convention to add the "),a("code",[e._v(".alma")]),e._v(' postfix to the end of the modified\npackages "Release" field. For example, an upstream '),a("code",[e._v("sos-3.9.1-6.el8")]),e._v(" package\nwill become "),a("code",[e._v("sos-3.9.1-6.el8.alma")]),e._v(" after debranding. This will help us\ndistinguish our packages from upstream ones, especially if a machine was\nconverted to AlmaLinux.")]),e._v(" "),a("p",[e._v("All modified package sources should be uploaded to a corresponding repository\nin the AlmaLinux Git "),a("a",{attrs:{href:"https://git.almalinux.org/explore/repos",target:"_blank",rel:"noopener noreferrer"}},[e._v("git.almalinux.org"),a("OutboundLink")],1),e._v(" into branches for modified sources - "),a("code",[e._v("a8")]),e._v(" and "),a("code",[e._v("a9")]),e._v(".")])])}),[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/59.d860b85d.js b/assets/js/59.d860b85d.js new file mode 100644 index 000000000..b195dc425 --- /dev/null +++ b/assets/js/59.d860b85d.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[59],{339:function(e,t,s){"use strict";s.r(t);var a=s(14),n=Object(a.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"building-almalinux-iso-locally"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#building-almalinux-iso-locally"}},[e._v("#")]),e._v(" Building AlmaLinux ISO locally")]),e._v(" "),t("p",[e._v("This guide walks you through the process of building AlmaLinux OS ISO on your local AlmaLinux OS 9 machine.")]),e._v(" "),t("h2",{attrs:{id:"prerequisites"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#prerequisites"}},[e._v("#")]),e._v(" Prerequisites")]),e._v(" "),t("h3",{attrs:{id:"system-requirements"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#system-requirements"}},[e._v("#")]),e._v(" System Requirements")]),e._v(" "),t("ul",[t("li",[e._v("AlmaLinux OS 9 machine")]),e._v(" "),t("li",[e._v("At least 6 CPU cores are recommended")]),e._v(" "),t("li",[e._v("8+ GB RAM")]),e._v(" "),t("li",[e._v("300+ GB free storage space needed for the Docker container")])]),e._v(" "),t("h3",{attrs:{id:"software-requirements"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#software-requirements"}},[e._v("#")]),e._v(" Software Requirements")]),e._v(" "),t("p",[e._v("A basic knowledge of these tools is needed for successful building of an AlmaLinux ISO image:")]),e._v(" "),t("ul",[t("li",[e._v("Ansible")]),e._v(" "),t("li",[e._v("Docker")])]),e._v(" "),t("h2",{attrs:{id:"get-your-machine-ready"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#get-your-machine-ready"}},[e._v("#")]),e._v(" Get Your Machine Ready")]),e._v(" "),t("p",[e._v("The following steps describe how to prepare your AlmaLinux 9 machine to build an ISO image.")]),e._v(" "),t("ul",[t("li",[e._v("Install Docker CE.")]),e._v(" "),t("li",[e._v("Clone this GitHub repository "),t("a",{attrs:{href:"https://github.com/AlmaLinux/pungi-node-public",target:"_blank",rel:"noopener noreferrer"}},[e._v("pungi-node-public"),t("OutboundLink")],1),e._v(" and switch to the repository's folder to proceed with the next steps.")]),e._v(" "),t("li",[e._v("Install Ansible from the EPEL repository:"),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("dnf "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("install")]),e._v(" epel-release "),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("#enable the repository")]),e._v("\ndnf "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("install")]),e._v(" ansible "),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("#install Ansible")]),e._v("\n")])])])])]),e._v(" "),t("h2",{attrs:{id:"setting-up-an-ansible-inventory"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#setting-up-an-ansible-inventory"}},[e._v("#")]),e._v(" Setting Up an Ansible Inventory")]),e._v(" "),t("p",[e._v("Before building AlmaLinux OS ISO images, you need to configure Ansible parameters.")]),e._v(" "),t("ol",[t("li",[t("p",[t("strong",[e._v("Navigate to the Inventory Directory")]),e._v(": Change to the cloned repository and navigate to the "),t("code",[e._v("inventories")]),e._v(" folder.")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token builtin class-name"}},[e._v("cd")]),e._v(" ~/pungi-node-public/inventories\n")])])])]),e._v(" "),t("li",[t("p",[t("strong",[e._v("Copy Sample Configuration")]),e._v(": The "),t("code",[e._v("inventories")]),e._v(" directory contains a "),t("code",[e._v("sample")]),e._v(" folder with default settings. Create a copy of this folder and give it a name of your choice, for example, "),t("code",[e._v("almalinux")]),e._v(".")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[e._v("cp")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-r")]),e._v(" sample almalinux\n")])])])]),e._v(" "),t("li",[t("p",[t("strong",[e._v("Edit Inventory Settings")]),e._v(": Switch to the newly created directory to modify the Ansible inventory.")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token builtin class-name"}},[e._v("cd")]),e._v(" ~/pungi-node-public/inventories/almalinux\n")])])]),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("Don't forget to replace the "),t("code",[e._v("almalinux")]),e._v(" folder name with your chosen name in the following commands and examples.")])])]),e._v(" "),t("li",[t("p",[t("strong",[e._v("Add SSH Keys")]),e._v(": Navigate to the "),t("code",[e._v("inventories/almalinux/group_vars/")]),e._v(" directory and add your public SSH key to the "),t("code",[e._v("ssh_public_keys")]),e._v(" variable in the "),t("code",[e._v("all.yml")]),e._v(" file.")])]),e._v(" "),t("li",[t("p",[t("strong",[e._v("Specify Work Directory")]),e._v(": Change to the "),t("code",[e._v("inventories/almalinux/host_vars")]),e._v(" directory and edit the "),t("code",[e._v(".yml")]),e._v(" file, where "),t("code",[e._v("")]),e._v(" is your system's architecture (e.g., "),t("code",[e._v("x86_64.yml")]),e._v(").")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("Ensure that the storage containing your work directory has at least 300 GB of free space, as it will host a local mirror with packages.")])]),e._v(" "),t("p",[e._v("Update the "),t("code",[e._v("work_directory_path")]),e._v(" parameter in this file to specify your work directory.")])]),e._v(" "),t("li",[t("p",[t("strong",[e._v("Configure Host Parameters")]),e._v(": Return to the "),t("code",[e._v("inventories/almalinux")]),e._v(" directory and edit the "),t("code",[e._v("hosts.yml")]),e._v(" file to update the "),t("code",[e._v("ansible_host")]),e._v(" and "),t("code",[e._v("ansible_user")]),e._v(" parameters. Make sure that the specified user has passwordless sudo access.")])])]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("By default, the Ansible inventory is set to build ISOs for the x86_64 architecture. In case you need to build an ISO for another architecture, make these changes:")]),e._v(" "),t("ul",[t("li",[e._v("Replace "),t("em",[e._v("x86_64")]),e._v(" with architecture of your choice in the names of files:\n"),t("ul",[t("li",[t("strong",[e._v("x86_64.yml")]),e._v(" in the "),t("em",[e._v("inventories/almalinux/group_vars")]),e._v(" directory")]),e._v(" "),t("li",[t("strong",[e._v("x86_64.yml")]),e._v(", "),t("strong",[e._v("x86_64-al8.yml")]),e._v(", "),t("strong",[e._v("x86_64-al9.yml")]),e._v(" files in the "),t("em",[e._v("inventories/almalinux/host_vars")]),e._v(" directory.")])])]),e._v(" "),t("li",[e._v("Replace mentioning of the "),t("em",[e._v("x86_64")]),e._v(" with architecture of your choice in the "),t("strong",[e._v("hosts.yml")]),e._v(" in the "),t("em",[e._v("inventories/almalinux")]),e._v(" directory")])])]),e._v(" "),t("h4",{attrs:{id:"setting-ansible-to-build-isos-for-several-architectures"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#setting-ansible-to-build-isos-for-several-architectures"}},[e._v("#")]),e._v(" Setting Ansible to build ISOs for several architectures")]),e._v(" "),t("p",[e._v("By default, the Ansible inventory is set to build an ISO for one architecture. But it's also possible to build ISOs for several architectures of your choice. To do so, please, make these changes:")]),e._v(" "),t("ul",[t("li",[e._v("Make copies of the mentioned below files and rename them according to the required architecture:\n"),t("ul",[t("li",[t("strong",[e._v("x86_64.yml")]),e._v(" in the "),t("em",[e._v("inventories/almalinux/group_vars")]),e._v(" directory")]),e._v(" "),t("li",[t("strong",[e._v("x86_64.yml")]),e._v(", "),t("strong",[e._v("x86_64-al8.yml")]),e._v(", "),t("strong",[e._v("x86_64-al9.yml")]),e._v(" files in the "),t("em",[e._v("inventories/almalinux/host_vars")]),e._v(" directory.")])])]),e._v(" "),t("li",[e._v("Add required architecture as parameters to the "),t("strong",[e._v("hosts.yml")]),e._v(" file in the "),t("em",[e._v("inventories/almalinux")]),e._v(" directory. Don't forget to fill in the necessary parameters.")])]),e._v(" "),t("h4",{attrs:{id:"setting-ansible-to-build-an-iso-for-one-almalinux-os-version"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#setting-ansible-to-build-an-iso-for-one-almalinux-os-version"}},[e._v("#")]),e._v(" Setting Ansible to build an ISO for one AlmaLinux OS version")]),e._v(" "),t("p",[e._v("By default, the inventory is set to build ISOs for both AlmaLinux OS 8 and AlmaLinux OS 9 versions. What do we do to build for only one of them? You need to edit and comment items in several configuration files.")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("Go the the "),t("em",[e._v("inventories/almalinux/group_vars/")]),e._v(" directory and edit the "),t("strong",[e._v("all.yml")]),e._v(" file. Comment one of the "),t("strong",[e._v("sshd_ports_in_containers")]),e._v(" options accordingly to your needs:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v(" ---\n sshd_ports_in_containers: "),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# lists possible AlmaLinux OS versions for building ISOs")]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("8")]),e._v(": "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("6023")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# AlmaLinux OS 8, comment this line if you don't want to build this version")]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("9")]),e._v(": "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("6022")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# AlmaLinux OS 9, comment this line if you don't want to build this version")]),e._v("\n")])])])]),e._v(" "),t("li",[t("p",[e._v("In the same directory edit the "),t("strong",[e._v("hosts.yml")]),e._v(" file. Comment lines with AlmaLinux OS version that you don't need to build an ISO for:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v(" ---\n os_versions:\n - "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("8")]),e._v("\n - "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("9")]),e._v("\n per_version_absent_repos:\n "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("8")]),e._v(":\n - "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"crb"')]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("9")]),e._v(":\n - "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"powertools"')]),e._v("\n products:\n - platform: "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux-8"')]),e._v("\n name: "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"almalinux8-beta"')]),e._v("\n version: "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("8")]),e._v("\n - platform: "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux-9"')]),e._v("\n name: "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux-9-beta"')]),e._v("\n version: "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("9")]),e._v("\n")])])])]),e._v(" "),t("li",[t("p",[e._v("Switch to the "),t("em",[e._v("inventories/almalinux/hosts.yml")]),e._v(" directory and comment a docker host in the "),t("strong",[e._v("hosts.yml")]),e._v(" and its variables for the architecture you don't need. For example, if you don't want to build an AlmaLinux OS 9 ISO image for the x86_64 architecture, you should comment the "),t("em",[e._v("x86_64-al9")]),e._v(" host and its variables "),t("em",[e._v("ansible_")]),e._v(":")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v(" all:\n children:\n hosts:\n hosts:\n x86_64:\n dockers:\n children:\n x86_64-dockers:\n x86_64:\n hosts:\n x86_64:\n ansible_host: "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('""')]),e._v("\n ansible_user: "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('""')]),e._v("\n children:\n x86_64-dockers:\n hosts:\n x86_64-al8: "),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# comment these lines if you don't need to build ISOs for AlmaLinux OS 8")]),e._v("\n ansible_host: "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('""')]),e._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# the same as a host machine")]),e._v("\n ansible_user: "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"root"')]),e._v("\n ansible_port: "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"{{ sshd_ports_in_containers[8] }}"')]),e._v("\n x86_64-al9: "),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# comment these lines if you don't need to build ISOs for AlmaLinux OS 9")]),e._v("\n ansible_host: "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('""')]),e._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# the same as a host machine")]),e._v("\n ansible_user: "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"root"')]),e._v("\n ansible_port: "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"{{ sshd_ports_in_containers[9] }}"')]),e._v("\n")])])])])]),e._v(" "),t("h2",{attrs:{id:"deployment"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#deployment"}},[e._v("#")]),e._v(" Deployment")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("After you set your Ansible inventory to meet your needs, deploy the Pungi node by running the following command:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("ansible-playbook "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-i")]),e._v(" inventories/almalinux playbooks/build_node_in_docker.yml "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-vv")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-b")]),e._v("\n")])])])]),e._v(" "),t("li",[t("p",[e._v("After the deployment it's recommended to check that you can connect successfully through SSH to each deployed Docker container.")])]),e._v(" "),t("li",[t("p",[e._v("Now you can sync RPM packages to a local mirror by running the following command:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("systemctl start reposync."),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("<")]),e._v("arch"),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v(">")]),e._v(".service\n")])])]),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("In the command replace the "),t("strong",[e._v("arch")]),e._v(" part with the architecture you are building an ISO for. For example, x86_64:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("systemctl start reposync.x86_64.service\n")])])])]),e._v(" "),t("p",[e._v("Please, note, that the first sync can take up to several hours.")])])]),e._v(" "),t("h2",{attrs:{id:"building-an-almalinux-iso"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#building-an-almalinux-iso"}},[e._v("#")]),e._v(" Building an AlmaLinux ISO")]),e._v(" "),t("p",[e._v("When the sync stage is completed you can proceed with building an ISO:")]),e._v(" "),t("ul",[t("li",[e._v("Clone GitHub repository "),t("a",{attrs:{href:"https://github.com/AlmaLinux/pungi-scripts-public",target:"_blank",rel:"noopener noreferrer"}},[e._v("pungi-scripts-public"),t("OutboundLink")],1),e._v(" into the previously deployed Docker container.")]),e._v(" "),t("li",[e._v("Switch to the "),t("em",[e._v("pungi-scripts-public/build_scripts")]),e._v(" directory.")]),e._v(" "),t("li",[e._v("To build an ISO run the following command with options that meet your needs:"),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("python3.9 jenkins.py --working-root-directory --arch --product-name AlmaLinux --distribution-major-version --distribution-minor-version --beta-suffix --sigkeys-fingerprints --git-auth-token --git-auth-username \n")])])]),e._v("Command options that you need to fill:\n"),t("ul",[t("li",[t("strong",[e._v("working_root_directory")]),e._v(" - specify your work directory as you did in the very beginning in the "),t("em",[e._v("inventories/almalinux/host_vars/x86_64.yml")]),e._v(" file")]),e._v(" "),t("li",[t("strong",[e._v("arch")]),e._v(" - specify what architecture you are building an ISO for, for example, "),t("em",[e._v("x86_64")])]),e._v(" "),t("li",[t("strong",[e._v("major_version")]),e._v(" and "),t("strong",[e._v("minor_version")]),e._v(" - set the numbers that match a full version of the distribution, for example in "),t("strong",[e._v("8.9")]),e._v(" - 8 is a major version, and 9 is a minor version")]),e._v(" "),t("li",[t("strong",[e._v("beta_suffix")]),e._v(" - this parametr can take two values, "),t("em",[e._v("-beta")]),e._v(" and empty string "),t("em",[e._v('""')]),e._v(". Please, check the "),t("a",{attrs:{href:"https://git.almalinux.org/almalinux/pungi-almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("pungi-almalinux"),t("OutboundLink")],1),e._v(" repository as it contains branches with the same version and the same beta suffix.")]),e._v(" "),t("li",[t("strong",[e._v("fingerprint_1")]),e._v(" and "),t("strong",[e._v("fingerprint_2")]),e._v(" - these parameters are fingerprints of keys that are used to sign RPM packages.\n"),t("ul",[t("li",[e._v("For AlmaLinux OS 9:"),t("code",[e._v("B7BB94F0C9BA6CAA")]),e._v(" and "),t("code",[e._v("D36CB86CB86B3716")])]),e._v(" "),t("li",[e._v("For AlmaLinux OS 8: "),t("code",[e._v("51D6647EC21AD6EA")]),e._v(" and "),t("code",[e._v("488FCF7C3ABB34F8")])])])]),e._v(" "),t("li",[t("strong",[e._v("git_auth_token")]),e._v(" and "),t("strong",[e._v("git_auth_username")]),e._v(" - parameters for your auth credits that can be found at "),t("a",{attrs:{href:"https://git.almalinux.org/explore/repos",target:"_blank",rel:"noopener noreferrer"}},[e._v("git.almalinux.org"),t("OutboundLink")],1),e._v(". To generate a token go to the "),t("a",{attrs:{href:"https://git.almalinux.org/user/settings/applications",target:"_blank",rel:"noopener noreferrer"}},[e._v("user settings/applications"),t("OutboundLink")],1)])])])]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("Please, note, that building an AlmaLinux ISO can take up to several hours, not including the time for syncing RPM packages to a local mirror.")])]),e._v(" "),t("h2",{attrs:{id:"reporting-issues"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#reporting-issues"}},[e._v("#")]),e._v(" Reporting issues")]),e._v(" "),t("p",[e._v("Should you have any issues, please report them to a corresponding project:")]),e._v(" "),t("ul",[t("li",[e._v("Setting up an Ansible inventory and deployment - "),t("a",{attrs:{href:"https://github.com/AlmaLinux/pungi-node-public/issues",target:"_blank",rel:"noopener noreferrer"}},[e._v("pungi-node-public/issues"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Building an AlmaLinux ISO locally - "),t("a",{attrs:{href:"https://github.com/AlmaLinux/pungi-scripts-public/issues",target:"_blank",rel:"noopener noreferrer"}},[e._v("pungi-scripts-public/issues"),t("OutboundLink")],1)])])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/6.327eee00.js b/assets/js/6.327eee00.js new file mode 100644 index 000000000..41a034ba2 --- /dev/null +++ b/assets/js/6.327eee00.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{280:function(e,t,a){},294:function(e,t,a){"use strict";a(280)},301:function(e,t,a){"use strict";a.r(t);var o={name:"CodeGroup",data:()=>({codeTabs:[],activeCodeTabIndex:-1}),watch:{activeCodeTabIndex(e){this.activateCodeTab(e)}},mounted(){this.loadTabs()},methods:{changeCodeTab(e){this.activeCodeTabIndex=e},loadTabs(){this.codeTabs=(this.$slots.default||[]).filter(e=>Boolean(e.componentOptions)).map((e,t)=>(""===e.componentOptions.propsData.active&&(this.activeCodeTabIndex=t),{title:e.componentOptions.propsData.title,elm:e.elm})),-1===this.activeCodeTabIndex&&this.codeTabs.length>0&&(this.activeCodeTabIndex=0),this.activateCodeTab(0)},activateCodeTab(e){this.codeTabs.forEach(e=>{e.elm&&e.elm.classList.remove("theme-code-block__active")}),this.codeTabs[e].elm&&this.codeTabs[e].elm.classList.add("theme-code-block__active")}}},s=(a(294),a(14)),c=Object(s.a)(o,(function(){var e=this,t=e._self._c;return t("ClientOnly",[t("div",{staticClass:"theme-code-group"},[t("div",{staticClass:"theme-code-group__nav"},[t("ul",{staticClass:"theme-code-group__ul"},e._l(e.codeTabs,(function(a,o){return t("li",{key:a.title,staticClass:"theme-code-group__li"},[t("button",{staticClass:"theme-code-group__nav-tab",class:{"theme-code-group__nav-tab-active":o===e.activeCodeTabIndex},on:{click:function(t){return e.changeCodeTab(o)}}},[e._v("\n "+e._s(a.title)+"\n ")])])})),0)]),e._v(" "),e._t("default"),e._v(" "),e.codeTabs.length<1?t("pre",{staticClass:"pre-blank"},[e._v("// Make sure to add code blocks to your code group")]):e._e()],2)])}),[],!1,null,"deefee04",null);t.default=c.exports}}]); \ No newline at end of file diff --git a/assets/js/60.1d7c2be3.js b/assets/js/60.1d7c2be3.js new file mode 100644 index 000000000..fb4d2f245 --- /dev/null +++ b/assets/js/60.1d7c2be3.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[60],{343:function(e,t,s){"use strict";s.r(t);var a=s(14),i=Object(a.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("table",[t("thead",[t("tr",[t("th",[e._v("Experience Level")]),e._v(" "),t("th",[e._v("⭑⭑⭒⭒⭒ (Intermediate)")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("Last modified date")]),e._v(" "),t("td",[e._v("4/12/2023")])])])]),e._v(" "),t("h2",{attrs:{id:"about-openqa-in-the-almalinux-project"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#about-openqa-in-the-almalinux-project"}},[e._v("#")]),e._v(" About openQA in the AlmaLinux Project")]),e._v(" "),t("p",[e._v("AlmaLinux places great importance on thorough testing. This guide outlines the implementation and use of the openQA tool for automating the testing of the AlmaLinux OS installation process across all supported architectures.")]),e._v(" "),t("p",[e._v("Accessible at "),t("a",{attrs:{href:"https://openqa.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("openqa.almalinux.org"),t("OutboundLink")],1),e._v(", the openQA tool uses virtual machines to reproduce the installation process and check the output (both serial console and graphics output).")]),e._v(" "),t("p",[e._v("Detailed information about openQA can be found at "),t("a",{attrs:{href:"https://open.qa/",target:"_blank",rel:"noopener noreferrer"}},[e._v("open.qa"),t("OutboundLink")],1),e._v(" and "),t("a",{attrs:{href:"https://open.qa/docs/",target:"_blank",rel:"noopener noreferrer"}},[e._v("open.qa/docs"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h4",{attrs:{id:"supported-architectures"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#supported-architectures"}},[e._v("#")]),e._v(" Supported Architectures")]),e._v(" "),t("ul",[t("li",[e._v("x86-64")]),e._v(" "),t("li",[e._v("aarch64")]),e._v(" "),t("li",[e._v("ppc64le")]),e._v(" "),t("li",[e._v("s390x")])]),e._v(" "),t("h4",{attrs:{id:"almalinux-openqa-repositories"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-openqa-repositories"}},[e._v("#")]),e._v(" AlmaLinux openQA repositories")]),e._v(" "),t("p",[e._v("There are three GitHub repositories involved in AlmaLinux OpenQA Testing:")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://github.com/AlmaLinux/openqa-infra",target:"_blank",rel:"noopener noreferrer"}},[e._v("openqa-infra"),t("OutboundLink")],1),e._v(" - contains the install and configuration scripts and essential documentation")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://github.com/AlmaLinux/os-autoinst-distri-almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("os-autoinst-distri-almalinux"),t("OutboundLink")],1),e._v(" - openQA test scripts")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://github.com/AlmaLinux/openqa-createhdds",target:"_blank",rel:"noopener noreferrer"}},[e._v("openqa-createhdds"),t("OutboundLink")],1),e._v(" - utility project to create hard-disk image files from KickStarts files")])]),e._v(" "),t("h2",{attrs:{id:"user-guide"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#user-guide"}},[e._v("#")]),e._v(" User Guide")]),e._v(" "),t("p",[e._v("This User Guide describes what information can be found on the "),t("a",{attrs:{href:"https://openqa.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("openqa.almalinux.org"),t("OutboundLink")],1)]),e._v(" "),t("p",[e._v("To begin with, navigate your browser to https://openqa.almalinux.org.\nYou will find yourself on the main page. You can see the "),t("a",{attrs:{href:"#latest-tests-on-the-main-page"}},[e._v("latest tested jobs")]),e._v(" and their test statuses.\n"),t("img",{attrs:{src:"/images/openQA-main_page.png",alt:"image"}})]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("You can see the "),t("em",[t("strong",[e._v("Learn more")])]),e._v(" button on the main page. It leads you directly to "),t("strong",[t("a",{attrs:{href:"https://open.qa/",target:"_blank",rel:"noopener noreferrer"}},[e._v("open.qa"),t("OutboundLink")],1)]),e._v(".")])]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[t("strong",[e._v("Log in")]),e._v(" is available only for members of the AlmaLinux Organization on GitHub, but all the tests, their results and logs are also available for an unauthorized user.")])]),e._v(" "),t("p",[e._v('OpenQA test suites are executed in separate processes, referred to as "jobs," with each job focusing on testing a specific piece of installer functionality.')]),e._v(" "),t("p",[e._v("You can use the "),t("strong",[e._v("search")]),e._v(" field to find:")]),e._v(" "),t("ul",[t("li",[e._v("job templates by name or description")]),e._v(" "),t("li",[e._v("job modules by filename")]),e._v(" "),t("li",[e._v("test modules within the test distributions, either by filename or source code.")])]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/openQA-Search.png",alt:"image"}})]),e._v(" "),t("h3",{attrs:{id:"latest-tests-on-the-main-page"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#latest-tests-on-the-main-page"}},[e._v("#")]),e._v(" Latest tests on the main page")]),e._v(" "),t("p",[e._v("The main page shows the latest tested jobs with the statuses. Clicking on the build (a version of a product) or a test status scale lead you to a "),t("em",[e._v("Test result overview")]),e._v(".\n"),t("img",{attrs:{src:"/images/openQA-Test_Result_Overview.png",alt:"image"}})]),e._v(" "),t("h4",{attrs:{id:"summary-of-test-result-overview"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#summary-of-test-result-overview"}},[e._v("#")]),e._v(" Summary of Test Result Overview")]),e._v(" "),t("p",[e._v("The test result overview provides the following details:")]),e._v(" "),t("ul",[t("li",[e._v("Total number of test jobs performed")]),e._v(" "),t("li",[e._v("Job result statuses, which typically include:\n"),t("ul",[t("li",[e._v("Passed - No critical failures detected during the process")]),e._v(" "),t("li",[e._v("Failed - At least one critical assertion not satisfied")]),e._v(" "),t("li",[e._v("Soft-Failed - At least one known, non-critical issue found")]),e._v(" "),t("li",[e._v("Skipped - Job not started due to failed dependencies")]),e._v(" "),t("li",[e._v("Flavors - Specific variants of a product")])])]),e._v(" "),t("li",[e._v("A test suite for each flavor, is accompanied by a job result icon.")])]),e._v(" "),t("h4",{attrs:{id:"result-details"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#result-details"}},[e._v("#")]),e._v(" Result details")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("You can view the tests conducted, their statuses, and screenshots. By clicking on the test icon, you will be directed to the job's "),t("strong",[e._v("Details")]),e._v(" page, which displays the screenshots and the time taken to complete the job.\n"),t("img",{attrs:{src:"/images/openQA-Test_Details.png",alt:"image"}})])]),e._v(" "),t("li",[t("p",[e._v('Clicking on a screenshot will enlarge it and display a "needle" – a mechanism used to determine the state of the virtual machine by detecting the presence of specific elements on the machine\'s output (screen).\n'),t("img",{attrs:{src:"/images/openQA-needle.png",alt:"image"}})])])]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("There's a small camera icon that will take you to a video recording of the executed test.\nExample:\n"),t("img",{attrs:{src:"/images/openQA-video_recording.png",alt:"image"}})])]),e._v(" "),t("ul",[t("li",[e._v("The "),t("strong",[e._v("Logs and Assets")]),e._v(" section enables you to download result files and the product that was tested (an iso file).")]),e._v(" "),t("li",[e._v("Moreover, there're "),t("strong",[e._v("Settings")]),e._v(" section for job's settings, "),t("strong",[e._v("Comments")]),e._v(", and the "),t("strong",[e._v("Next&Previous")]),e._v(" results for the latest job for this scenario.")])]),e._v(" "),t("h3",{attrs:{id:"all-tests"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#all-tests"}},[e._v("#")]),e._v(" All Tests")]),e._v(" "),t("p",[e._v("The "),t("strong",[e._v("All Tests")]),e._v(" option leads to a list of jobs that are running (in the process), scheduled and the last 500 finished jobs. The last 500 finished jobs can be filtered by the result status.\n"),t("img",{attrs:{src:"/images/openQA-All_Tests.png",alt:"image"}})]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("openQA is employed to evaluate diverse combinations of actions and configurations in the AlmaLinux installer. By establishing a virtual machine, executing a sequence of steps, and generating a result for each unique combination, openQA ensures comprehensive testing. These runs, known as 'jobs,' are assigned a numeric identifier and are governed by various settings that determine their behavior.")])]),e._v(" "),t("p",[e._v("Numerous job parameters are involved in the process:")]),e._v(" "),t("ul",[t("li",[t("p",[t("code",[e._v("Medium")]),e._v(': Represents the "tested product" and consists of a name along with a set of variables that characterize the product.')])]),e._v(" "),t("li",[t("p",[t("code",[e._v("Test")]),e._v(": Displays a job status icon and ID. Hovering over the status icon reveals the status description, such as done, failed, etc. Hovering over the branch icon after the test name highlights the job's children in blue and parents in red (if present on the same page).")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("Clicking on the status icon will lead you to the test overview page.")])]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("Clicking on the test icons for an ongoing job will take you to a live video feed of the test in progress.")]),e._v(" "),t("p",[e._v("Example:\n"),t("img",{attrs:{src:"/images/openQA-Live_View.png",alt:"image"}})])])]),e._v(" "),t("li",[t("p",[t("code",[e._v("Progress")]),e._v(": Indicates the percentage of test completion through a progress scale.")])]),e._v(" "),t("li",[t("p",[t("code",[e._v("Priority")]),e._v(": A value used by the scheduler to determine the next job in line.")])]),e._v(" "),t("li",[t("p",[t("code",[e._v("Result")]),e._v(': Displays the "result overview" icon set, including the number of passed and failed modules, dependencies, and the presence of bugs, among others.')])]),e._v(" "),t("li",[t("p",[t("code",[e._v("Started")]),e._v(": Timestamp indicating when a job began.")])]),e._v(" "),t("li",[t("p",[t("code",[e._v("Created")]),e._v(": Timestamp indicating when a job was created.")])]),e._v(" "),t("li",[t("p",[t("code",[e._v("Finished")]),e._v(": Timestamp indicating when a job was completed.")])])]),e._v(" "),t("h3",{attrs:{id:"job-groups"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#job-groups"}},[e._v("#")]),e._v(" Job Groups")]),e._v(" "),t("p",[e._v("The "),t("strong",[e._v("Job Groups")]),e._v(" option opens a menu.\n"),t("img",{attrs:{src:"/images/openQA-Job_Groups.png",alt:"image"}})]),e._v(" "),t("p",[e._v("Each job is assigned to a group based on its respective architecture. "),t("em",[e._v("Updates")]),e._v(" groups pertain to jobs associated with products that have updates. When selecting a job group, you'll be shown the most recent tested builds for that group, accompanied by a test results scale.")]),e._v(" "),t("h2",{attrs:{id:"contribute-and-get-help"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#contribute-and-get-help"}},[e._v("#")]),e._v(" Contribute and Get Help")]),e._v(" "),t("p",[e._v("If you feel like getting involved or for questions and discussions, please, join us the in the "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/town-square",target:"_blank",rel:"noopener noreferrer"}},[e._v("Mattermost Chat"),t("OutboundLink")],1),e._v(" and check the "),t("a",{attrs:{href:"#AlmaLinux-openQA-repositories"}},[e._v("openQA repositories")]),e._v(".")])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/61.f3e52619.js b/assets/js/61.f3e52619.js new file mode 100644 index 000000000..99bdb39f8 --- /dev/null +++ b/assets/js/61.f3e52619.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[61],{342:function(a,e,t){"use strict";t.r(e);var s=t(14),r=Object(s.a)({},(function(){var a=this,e=a._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[e("h1",{attrs:{id:"package-signing-key-generation-and-handling"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#package-signing-key-generation-and-handling"}},[a._v("#")]),a._v(" Package Signing Key Generation and Handling")]),a._v(" "),e("p",[a._v("Last updated 2024-07-10.")]),a._v(" "),e("h2",{attrs:{id:"owernship"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#owernship"}},[a._v("#")]),a._v(" Owernship")]),a._v(" "),e("p",[a._v("Certificate and key generation and handling is overseen by ALESCo.")]),a._v(" "),e("h2",{attrs:{id:"key-generation"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#key-generation"}},[a._v("#")]),a._v(" Key Generation")]),a._v(" "),e("p",[a._v("This is a slow and tedious process. It is important that no corners are cut and the utmost care is taken validating security through every step of the process.")]),a._v(" "),e("h3",{attrs:{id:"prepare-a-secure-environment"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#prepare-a-secure-environment"}},[a._v("#")]),a._v(" Prepare a Secure Environment")]),a._v(" "),e("p",[a._v("Download latest AlmaLinux live ISO from "),e("code",[a._v("https://repo.almalinux.org/")]),a._v(". Using default Gnome mini for this guide as to not have any 3rd-party binaries present (EPEL).")]),a._v(" "),e("p",[a._v("In the folder where you download the ISO, look at the "),e("code",[a._v("CHECKSUM")]),a._v(" and "),e("code",[a._v("CHECKSUM.asc")]),a._v(" files. First let's verify that it is properly signed and that its contents can be authenticated.")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[e("span",{pre:!0,attrs:{class:"token function"}},[a._v("wget")]),a._v(" https://repo.almalinux.org/almalinux/9/live/x86_64/CHECKSUM\n"),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("wget")]),a._v(" https://repo.almalinux.org/almalinux/9/live/x86_64/CHECKSUM.asc\n"),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("wget")]),a._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9\ngpg "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--import")]),a._v(" RPM-GPG-KEY-AlmaLinux-9\ngpg "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--verify")]),a._v(" CHECKSUM.asc CHECKSUM\n")])])]),e("p",[a._v("Now verify the downloaded ISO's sha256 checksum against that contained in the "),e("code",[a._v("CHECKSUM")]),a._v(" file.")]),a._v(" "),e("p",[a._v("Copy the ISO file to a flash drive.")]),a._v(" "),e("p",[e("code",[a._v("dd if=almalinux.iso of=/dev/sdX")])]),a._v(" "),e("p",[a._v("Boot the image. Connect to the internet temporarily to run a single command:")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[e("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" pcsc-lite\n")])])]),e("h4",{attrs:{id:"download-gpg-public-keys-of-recipients"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#download-gpg-public-keys-of-recipients"}},[a._v("#")]),a._v(" Download GPG Public Keys of Recipients")]),a._v(" "),e("p",[a._v("If you are doing key exports as part of this, grab the public keys of all recipients.")]),a._v(" "),e("p",[a._v("These keys are accurate at the time of this writing. Verify them prior to use, of course.")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[e("span",{pre:!0,attrs:{class:"token function"}},[a._v("curl")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("<")]),a._v("key"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(">")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" gpg "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--import")]),a._v("\n")])])]),e("p",[a._v("It may also be helpful to open a copy of this guide in the browser before disconnecting from the internet.")]),a._v(" "),e("p",[e("strong",[a._v("Disconnect from the internet and do not connect again. Everything from here on out has to be done fully air-gapped and the generated private keys can never be connected to a machine with network access.")])]),a._v(" "),e("h3",{attrs:{id:"generate-keys-and-certificates"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#generate-keys-and-certificates"}},[a._v("#")]),a._v(" Generate Keys and Certificates")]),a._v(" "),e("ol",[e("li",[e("p",[a._v("Prepare GPG Environment:")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[e("span",{pre:!0,attrs:{class:"token function"}},[a._v("mkdir")]),a._v(" ~/.gnupg/\n"),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("cat")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("<<")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("'EOF'"),e("span",{pre:!0,attrs:{class:"token bash punctuation"}},[a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(">")]),a._v(" ~/.gnupg/gpg.conf")]),a._v("\npersonal-cipher-preferences AES256 AES192 AES\npersonal-digest-preferences SHA512 SHA384 SHA256\npersonal-compress-preferences ZLIB BZIP2 ZIP Uncompressed\ndefault-preference-list SHA512 SHA384 SHA256 AES256 AES192 AES ZLIB BZIP2 ZIP Uncompressed\ncert-digest-algo SHA512\ns2k-digest-algo SHA512\ns2k-cipher-algo AES256\ncharset utf-8\nno-comments\nno-emit-version\nno-greeting\nkeyid-format 0xlong\nlist-options show-uid-validity\nverify-options show-uid-validity\nwith-fingerprint\nrequire-cross-certification\nno-symkey-cache\narmor\nuse-agent\nthrow-keyids\nEOF")]),a._v("\n")])])])]),a._v(" "),e("li",[e("p",[a._v("Generate the key:")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[e("span",{pre:!0,attrs:{class:"token builtin class-name"}},[a._v("export")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("IDENTITY")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"AlmaLinux OS 10 "')]),a._v("\n"),e("span",{pre:!0,attrs:{class:"token builtin class-name"}},[a._v("export")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("KEY_TYPE")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v("rsa4096\n"),e("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("CERTIFY_PASS")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),e("span",{pre:!0,attrs:{class:"token variable"}},[e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$(")]),e("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e("span",{pre:!0,attrs:{class:"token environment constant"}},[a._v("LC_ALL")])]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v("C "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("tr")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-dc")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("'A-Z1-9'")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("<")]),a._v(" /dev/urandom "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n"),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("tr")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-d")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"1IOS5U"')]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("fold")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-w")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("30")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("sed")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"-es/./ /"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("{")]),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("1")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("..")]),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("26")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("..")]),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("5")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("}")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n"),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("cut")]),a._v(" -c2- "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("tr")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('" "')]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"-"')]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("head")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-1")]),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v(")")])]),a._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(";")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token builtin class-name"}},[a._v("echo")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$CERTIFY_PASS")]),a._v('"')]),a._v("\ngpg "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--batch")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--passphrase")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$CERTIFY_PASS")]),a._v('"')]),a._v(" --quick-generate-key "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$IDENTITY")]),a._v('"')]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$KEY_TYPE")]),a._v('"')]),a._v(" sign never\n"),e("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("KEYID")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),e("span",{pre:!0,attrs:{class:"token variable"}},[e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$(")]),a._v("gpg "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-k")]),a._v(" --with-colons "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$IDENTITY")]),a._v('"')]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("awk")]),a._v(" -F: "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("'/^pub:/ { print $5; exit }'")]),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v(")")])]),a._v("\n"),e("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("KEYFP")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),e("span",{pre:!0,attrs:{class:"token variable"}},[e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$(")]),a._v("gpg "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-k")]),a._v(" --with-colons "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$IDENTITY")]),a._v('"')]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("awk")]),a._v(" -F: "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("'/^fpr:/ { print $10; exit }'")]),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v(")")])]),a._v("\n"),e("span",{pre:!0,attrs:{class:"token builtin class-name"}},[a._v("printf")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),e("span",{pre:!0,attrs:{class:"token entity",title:"\\n"}},[a._v("\\n")]),a._v("Key ID: %40s"),e("span",{pre:!0,attrs:{class:"token entity",title:"\\n"}},[a._v("\\n")]),a._v("Key FP: %40s"),e("span",{pre:!0,attrs:{class:"token entity",title:"\\n"}},[a._v("\\n")]),e("span",{pre:!0,attrs:{class:"token entity",title:"\\n"}},[a._v("\\n")]),a._v('"')]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$KEYID")]),a._v('"')]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$KEYFP")]),a._v('"')]),a._v("\n")])])]),e("p",[e("strong",[a._v("Make sure to securely store the passphrase in Vaultwarden.")])])]),a._v(" "),e("li",[e("p",[a._v("Export Public and Private Keys")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[a._v("gpg "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--armor")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--export")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$KEYID")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(">")]),a._v(" almalinux10.asc\ngpg "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--batch")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--armor")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--passphrase")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$CERTIFY_PASS")]),a._v('"')]),a._v(" --pinentry-mode"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v("loopback --export-secret-keys "),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$KEYID")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(">")]),a._v(" almalinux10-privkey.asc\n")])])])]),a._v(" "),e("li",[e("p",[a._v("Configure (new) Yubikey")]),a._v(" "),e("p",[a._v("Generate Pins")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# generate pins")]),a._v("\n"),e("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("ADMIN_PIN")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),e("span",{pre:!0,attrs:{class:"token variable"}},[e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$(")]),e("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e("span",{pre:!0,attrs:{class:"token environment constant"}},[a._v("LC_ALL")])]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v("C "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("tr")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-dc")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("'0-9'")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("<")]),a._v(" /dev/urandom "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("fold")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-w8")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("head")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-1")]),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v(")")])]),a._v("\n"),e("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("USER_PIN")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),e("span",{pre:!0,attrs:{class:"token variable"}},[e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$(")]),e("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e("span",{pre:!0,attrs:{class:"token environment constant"}},[a._v("LC_ALL")])]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v("C "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("tr")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-dc")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("'0-9'")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("<")]),a._v(" /dev/urandom "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("fold")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-w6")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("head")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-1")]),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v(")")])]),a._v("\n"),e("span",{pre:!0,attrs:{class:"token builtin class-name"}},[a._v("printf")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),e("span",{pre:!0,attrs:{class:"token entity",title:"\\n"}},[a._v("\\n")]),a._v("Admin PIN: %12s"),e("span",{pre:!0,attrs:{class:"token entity",title:"\\n"}},[a._v("\\n")]),a._v("User PIN: %13s"),e("span",{pre:!0,attrs:{class:"token entity",title:"\\n"}},[a._v("\\n")]),e("span",{pre:!0,attrs:{class:"token entity",title:"\\n"}},[a._v("\\n")]),a._v('"')]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$ADMIN_PIN")]),a._v('"')]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"'),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$USER_PIN")]),a._v('"')]),a._v("\n")])])]),e("p",[e("strong",[a._v("Make sure to securely store the admin and user pins in Vaultwarden.")])]),a._v(" "),e("p",[a._v("Set pins")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# set admin pin")]),a._v("\ngpg --command-fd"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("0")]),a._v(" --pinentry-mode"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v("loopback --change-pin "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("<<")]),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("EOF\n3\n12345678\n"),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$ADMIN_PIN")]),a._v("\n"),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$ADMIN_PIN")]),a._v("\nq\nEOF")]),a._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# set user pin")]),a._v("\ngpg --command-fd"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("0")]),a._v(" --pinentry-mode"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v("loopback --change-pin "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("<<")]),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("EOF\n1\n123456\n"),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$USER_PIN")]),a._v("\n"),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$USER_PIN")]),a._v("\nq\nEOF")]),a._v("\n")])])]),e("p",[a._v("Set basic info on the Yubikey")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[a._v("gpg --command-fd"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("0")]),a._v(" --pinentry-mode"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v("loopback --edit-card "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("<<")]),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("EOF\nadmin\nlogin\n"),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$IDENTITY")]),a._v("\n"),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$ADMIN_PIN")]),a._v("\nforcesig\nurl\nhttps://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-10\nquit\nEOF")]),a._v("\n")])])])]),a._v(" "),e("li",[e("p",[a._v("Copy private key to Yubikey. This is a destructive proces so we need to make a backup of the private keys before we proceed and use that to write to the Yubikey. If we're only writing to a single Yubikey the backup is not necessary as we have already exported the key into armored format which will not be impacted.")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[e("span",{pre:!0,attrs:{class:"token function"}},[a._v("cp")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-r")]),a._v(" ~/.gnupg ~/.gnupg.keytocard\n"),e("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("GNUPGHOME")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=~")]),a._v("/.gnupg.keytocard gpg --command-fd"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("0")]),a._v(" --pinentry-mode"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v("loopback --edit-key "),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$KEYID")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("<<")]),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("EOF\nkeytocard\ny\n1\n"),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$CERTIFY_PASS")]),a._v("\n"),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$ADMIN_PIN")]),a._v("\nsave\nEOF")]),a._v("\n")])])])])]),a._v(" "),e("h3",{attrs:{id:"copy-keys-and-certificates"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#copy-keys-and-certificates"}},[a._v("#")]),a._v(" Copy Keys and Certificates")]),a._v(" "),e("p",[a._v("DO NOT DO NOT DO NOT connect to the internet to copy the files.")]),a._v(" "),e("h4",{attrs:{id:"public-certificates"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#public-certificates"}},[a._v("#")]),a._v(" Public Certificates")]),a._v(" "),e("p",[a._v("Copy the public key ("),e("code",[a._v("almalinux10.asc")]),a._v(" if copy/pasting commands from this guide) to a flash drive. This drive can then be connected to a machine with networking and distributed as necessary - there is nothing secret about them.")]),a._v(" "),e("h4",{attrs:{id:"private-keys"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#private-keys"}},[a._v("#")]),a._v(" Private Keys")]),a._v(" "),e("p",[a._v("Encrypt the private keys using GPG. The GPG-encrypted files are the only ones that can be distributed to key holders via offline methods. It's recommended that they keys remain encrypted at rest.")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[a._v("gpg "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-r")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("<")]),a._v("recipient-gpg-email"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(">")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-r")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("<")]),a._v("recipient-gpg-email"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(">")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-e")]),a._v(" almalinux10-privkey.asc\n")])])]),e("p",[a._v("Copy the .asc (public/private) keys and GPG-encrypted version of the private key to a blank flash drive. The drive must never be connected to a networked or untrusted system. It should only ever be connected to an air-gapped blank OS install.")]),a._v(" "),e("h2",{attrs:{id:"removal-of-custodianship"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#removal-of-custodianship"}},[a._v("#")]),a._v(" Removal of Custodianship")]),a._v(" "),e("p",[a._v("We need to define how we handle if a keyholder leaves AlmaLinux.")]),a._v(" "),e("h2",{attrs:{id:"distribution-of-keys-to-key-holders"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#distribution-of-keys-to-key-holders"}},[a._v("#")]),a._v(" Distribution of Keys to Key Holders")]),a._v(" "),e("p",[a._v("Keys will be distributed to key holders only via physical medium - never via the internet. Our SOP is for the key generator to encrypt the keys with GPG and place them on a hardware-encrypted (FIPS-140 certified), self-destructing (if brute force or disassembly are attempted) USB key. These may then be mailed to the key holder or delivered in person at, for example, a conference.")]),a._v(" "),e("p",[a._v("The unlock code for the flash drive will be provided by the key generator to the key holder upon their recipient of the flash drive, and confirmation of that receipt via a GPG-signed email.")]),a._v(" "),e("p",[a._v("The hardware unlock code may be provided via the internet using encrypted means - either AlmaLinux's internal password manager (Vaultwarden) or GPG-encrypted email.")]),a._v(" "),e("h2",{attrs:{id:"storage-of-keys-by-key-holders"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#storage-of-keys-by-key-holders"}},[a._v("#")]),a._v(" Storage of Keys by Key Holders")]),a._v(" "),e("p",[a._v("Keys should be stored offline and encrypted at rest via GPG and the hardware encryption of the flash drive. It should be stored in a fire resistant lock box/safe or bank safety deposit box.")]),a._v(" "),e("h2",{attrs:{id:"key-generation-log"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#key-generation-log"}},[a._v("#")]),a._v(" Key Generation Log")]),a._v(" "),e("h3",{attrs:{id:"almalinux-10"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-10"}},[a._v("#")]),a._v(" AlmaLinux 10")]),a._v(" "),e("p",[a._v("Package signing keys generated on 2024-07-10 using policy dated 2024-07-03. These keys and certs will be used for package signing in AlmaLinux 10, including testing/beta builds.")]),a._v(" "),e("h2",{attrs:{id:"changelog"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[a._v("#")]),a._v(" Changelog")]),a._v(" "),e("h3",{attrs:{id:"_2024-07-03"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#_2024-07-03"}},[a._v("#")]),a._v(" 2024-07-03")]),a._v(" "),e("p",[a._v("Initial ratification")])])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/62.e4f3d970.js b/assets/js/62.e4f3d970.js new file mode 100644 index 000000000..4b472dff1 --- /dev/null +++ b/assets/js/62.e4f3d970.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[62],{341:function(a,e,t){"use strict";t.r(e);var s=t(14),r=Object(s.a)({},(function(){var a=this,e=a._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[e("h1",{attrs:{id:"secure-boot-key-generation-and-handling"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#secure-boot-key-generation-and-handling"}},[a._v("#")]),a._v(" Secure Boot Key Generation and Handling")]),a._v(" "),e("p",[a._v("Last updated 2024-03-13.")]),a._v(" "),e("h2",{attrs:{id:"owernship"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#owernship"}},[a._v("#")]),a._v(" Owernship")]),a._v(" "),e("p",[a._v("Certificate and key generation and handling is overseen by ALESCo.")]),a._v(" "),e("h2",{attrs:{id:"key-generation"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#key-generation"}},[a._v("#")]),a._v(" Key Generation")]),a._v(" "),e("p",[a._v("This is a slow and tedious process. It is important that no corners are cut and the utmost care is taken validating security through every step of the process.")]),a._v(" "),e("h3",{attrs:{id:"prepare-a-secure-environment"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#prepare-a-secure-environment"}},[a._v("#")]),a._v(" Prepare a Secure Environment")]),a._v(" "),e("p",[a._v("Download latest AlmaLinux live ISO from "),e("code",[a._v("https://repo.almalinux.org/")]),a._v(". Using default Gnome mini for this guide as to not have any 3rd-party binaries present (EPEL).")]),a._v(" "),e("p",[a._v("In the folder where you download the ISO, look at the "),e("code",[a._v("CHECKSUM")]),a._v(" and "),e("code",[a._v("CHECKSUM.asc")]),a._v(" files. First let's verify that it is properly signed and that its contents can be authenticated.")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[e("span",{pre:!0,attrs:{class:"token function"}},[a._v("wget")]),a._v(" https://repo.almalinux.org/almalinux/9/live/x86_64/CHECKSUM\n"),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("wget")]),a._v(" https://repo.almalinux.org/almalinux/9/live/x86_64/CHECKSUM.asc\n"),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("wget")]),a._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9\ngpg "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--import")]),a._v(" RPM-GPG-KEY-AlmaLinux-9\ngpg "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--verify")]),a._v(" CHECKSUM.asc CHECKSUM\n")])])]),e("p",[a._v("Now verify the downloaded ISO's sha256 checksum against that contained in the "),e("code",[a._v("CHECKSUM")]),a._v(" file.")]),a._v(" "),e("p",[a._v("Copy the ISO file to a flash drive.")]),a._v(" "),e("p",[e("code",[a._v("dd if=almalinux.iso of=/dev/sdX")])]),a._v(" "),e("p",[a._v("Boot the image. Connect to the internet temporarily to run a single command:")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[e("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" epel-release words\n"),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("sudo")]),a._v(" dnf "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("install")]),a._v(" pesign yubikey-manager yubico-piv-tool\n")])])]),e("h4",{attrs:{id:"download-gpg-public-keys-of-recipients"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#download-gpg-public-keys-of-recipients"}},[a._v("#")]),a._v(" Download GPG Public Keys of Recipients")]),a._v(" "),e("p",[a._v("If you are doing key exports as part of this, grab the public keys of all recipients.")]),a._v(" "),e("p",[a._v("These keys are accurate at the time of this writing. Verify them prior to use, of course.")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[e("span",{pre:!0,attrs:{class:"token function"}},[a._v("curl")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("<")]),a._v("key"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(">")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" gpg "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--import")]),a._v("\n")])])]),e("p",[e("strong",[a._v("Disconnect from the internet and do not connect again. Everything from here on out has to be done fully air-gapped and the generated private keys can never be connected to a machine with network access.")])]),a._v(" "),e("h3",{attrs:{id:"generate-keys-and-certificates"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#generate-keys-and-certificates"}},[a._v("#")]),a._v(" Generate Keys and Certificates")]),a._v(" "),e("ol",[e("li",[e("p",[a._v("First, create temporary directory and initialize NSS DB inside. Don't set password because of pesign bug.")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[e("span",{pre:!0,attrs:{class:"token function"}},[a._v("mkdir")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-m")]),a._v(" 0700 "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-p")]),a._v(" ~/almalinux-uefi-certs/ca\ncertutil "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-d")]),a._v(" ~/almalinux-uefi-certs/ca "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-N")]),a._v("\n")])])])]),a._v(" "),e("li",[e("p",[a._v("Generate a 10 years CA certificate. More than 10 years cert is not allowed for shim:")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[a._v("efikeygen "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-d")]),a._v(" ~/almalinux-uefi-certs/ca "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--ca")]),a._v(" --self-sign --not-valid-after"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),e("span",{pre:!0,attrs:{class:"token variable"}},[e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$(")]),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("date")]),a._v(" +%s "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--date")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("'+10 years'")]),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v(")")])]),a._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--nickname")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("'AlmaLinux Secure Boot CA'")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n --common-name"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("'CN=AlmaLinux Secure Boot CA,O=AlmaLinux OS Foundation,E=security@almalinux.org'")]),a._v("\n")])])])]),a._v(" "),e("li",[e("p",[a._v("Generate a 10 years Signing certificate. More than 10 years cert is not allowed for shim:")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[a._v("efikeygen "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-d")]),a._v(" ~/almalinux-uefi-certs/ca "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--kernel")]),a._v(" --not-valid-after"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),e("span",{pre:!0,attrs:{class:"token variable"}},[e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$(")]),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("date")]),a._v(" +%s "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--date")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("'+10 years'")]),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v(")")])]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--signer")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("'AlmaLinux Secure Boot CA'")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--nickname")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("'AlmaLinux Secure Boot Signing'")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("\\")]),a._v("\n --common-name"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("'CN=AlmaLinux Secure Boot Signing,O=AlmaLinux OS Foundation,E=security@almalinux.com'")]),a._v("\n")])])])]),a._v(" "),e("li",[e("p",[a._v("Export CA and Signing public and private keys to PKCS#12 files. At this point set a password, and we will store it in Vaultwarden with key holders having access:")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[a._v("pk12util "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-d")]),a._v(" ~/almalinux-uefi-certs/ca "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-o")]),a._v(" almalinux-secureboot-ca.p12 "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-n")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("'AlmaLinux Secure Boot CA'")]),a._v("\npk12util "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-d")]),a._v(" ~/almalinux-uefi-certs/ca "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-o")]),a._v(" almalinux-secureboot-signing.p12 "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-n")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("'AlmaLinux Secure Boot Signing'")]),a._v("\n")])])]),e("ul",[e("li",[e("strong",[a._v("almalinux-secureboot-ca.p12")]),a._v(" file is CA keypair that should be stored. It will be required to issue new Signing keys")]),a._v(" "),e("li",[e("strong",[a._v("almalinux-secureboot-signing.p12")]),a._v(" file is Signing keypair that should be imported to signing node to perform actual binaries signing")])])]),a._v(" "),e("li",[e("p",[a._v("Export CA and Signing public keys to DER files. No password required:")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[a._v("certutil "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-d")]),a._v(" ~/almalinux-uefi-certs/ca "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-L")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-n")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"AlmaLinux Secure Boot CA"')]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-r")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(">")]),a._v(" almalinux-secureboot-ca.cer\ncertutil "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-d")]),a._v(" ~/almalinux-uefi-certs/ca "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-L")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-n")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"AlmaLinux Secure Boot Signing"')]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-r")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(">")]),a._v(" almalinux-secureboot.cer\n")])])]),e("ul",[e("li",[e("strong",[a._v("almalinux-secureboot-ca.cer")]),a._v(" file is the CA public key we should include into shim. It also should be imported to signing node to perform actual binaries signing.")]),a._v(" "),e("li",[e("strong",[a._v("almalinux-secureboot.cer")]),a._v(" is Signing public key that may be recommended to include into some RPM packages (but not necessary)")])])])]),a._v(" "),e("h3",{attrs:{id:"configure-yubikey-piv"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#configure-yubikey-piv"}},[a._v("#")]),a._v(" Configure Yubikey PIV")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# does the system see the key")]),a._v("\nykman piv info\n")])])]),e("p",[a._v("Generate PIV Pins (only if new yubikey)")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[e("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("PIVPIN")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),e("span",{pre:!0,attrs:{class:"token variable"}},[e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$(")]),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("awk")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("'/^\\w{6,8}$/'")]),a._v(" /usr/share/dict/words "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("shuf")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-n1")]),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v(")")])]),a._v("\n"),e("span",{pre:!0,attrs:{class:"token assign-left variable"}},[a._v("PIVPUK")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),e("span",{pre:!0,attrs:{class:"token variable"}},[e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$(")]),a._v("openssl rand "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-base64")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("10")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("tr")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-d")]),a._v(" +/"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("cut")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-c")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("1")]),a._v("-8"),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v(")")])]),a._v("\n"),e("span",{pre:!0,attrs:{class:"token builtin class-name"}},[a._v("echo")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"PIV PIN: '),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$PIVPIN")]),a._v("; PIV PUK: "),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$PIVPUK")]),a._v('"')]),a._v("\n")])])]),e("p",[e("strong",[a._v("Make sure to securely store the PIN and PUK. They are specific to the PIV component of the Yubikey.")])]),a._v(" "),e("p",[a._v("Increase PIN/PUK retry limit (only if new yubikey)")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[a._v("ykman piv access set-retries "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("9")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("9")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--pin")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("123456")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--force")]),a._v("\n")])])]),e("p",[a._v("Set our new pins (only if new yubikey)")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[a._v("ykman piv access change-pin "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--pin")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("123456")]),a._v(" --new-pin "),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$PIVPIN")]),a._v("\nykman piv access change-puk "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--puk")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("12345678")]),a._v(" --new-puk "),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$PIVPUK")]),a._v("\n")])])]),e("p",[a._v("Set a non-default management key (only if new yubikey)")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[a._v("ykman piv access change-management-key "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--algorithm")]),a._v(" aes128 "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--protect")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--pin")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$PIVPIN")]),a._v("\n")])])]),e("p",[a._v("Import keys to Yubikey PIV slots (pay attention to slot number, 82 in this example, if not a new yubikey)")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[a._v("ykman piv keys "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("import")]),a._v(" --pin-policy always --touch-policy never "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--pin")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token variable"}},[a._v("$PIVPIN")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("82")]),a._v(" almalinux-secureboot-signing.p12\n")])])]),e("h3",{attrs:{id:"copy-keys-and-certificates"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#copy-keys-and-certificates"}},[a._v("#")]),a._v(" Copy Keys and Certificates")]),a._v(" "),e("p",[a._v("DO NOT DO NOT DO NOT connect to the internet to copy the files.")]),a._v(" "),e("h4",{attrs:{id:"public-certificates"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#public-certificates"}},[a._v("#")]),a._v(" Public Certificates")]),a._v(" "),e("p",[a._v("Copy the .cer (public) files to a blank flash drive. This drive can then be connected to a machine with networking and distributed as necessary - there is nothing secret about them.")]),a._v(" "),e("h4",{attrs:{id:"private-keys"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#private-keys"}},[a._v("#")]),a._v(" Private Keys")]),a._v(" "),e("p",[a._v("Encrypt the private keys using GPG. The GPG-encrypted files are the only ones that can be distributed to key holders via offline methods. It's recommended that they keys remain encrypted at rest.")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[a._v("gpg "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-r")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("<")]),a._v("recipient-gpg-email"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(">")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-r")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("<")]),a._v("recipient-gpg-email"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(">")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-e")]),a._v(" almalinux-secureboot-ca.p12\ngpg "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-r")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("<")]),a._v("recipient-gpg-email"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(">")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-r")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("<")]),a._v("recipient-gpg-email"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(">")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-e")]),a._v(" almalinux-secureboot-signing.p12\n")])])]),e("p",[a._v("Copy the .p12 (private) keys and GPG-encrypted versions to a blank flash drive. The drive must never be connected to a networked or untrusted system. It should only ever be connected to an air-gapped blank OS install.")]),a._v(" "),e("h2",{attrs:{id:"removal-of-custodianship"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#removal-of-custodianship"}},[a._v("#")]),a._v(" Removal of Custodianship")]),a._v(" "),e("p",[a._v("We need to define how we handle if a keyholder leaves AlmaLinux.")]),a._v(" "),e("h2",{attrs:{id:"distribution-of-keys-to-key-holders"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#distribution-of-keys-to-key-holders"}},[a._v("#")]),a._v(" Distribution of Keys to Key Holders")]),a._v(" "),e("p",[a._v("Keys will be distributed to key holders only via physical medium - never via the internet. Our SOP is for the key generator to encrypt the keys with GPG and place them on a hardware-encrypted (FIPS-140 certified), self-destructing (if brute force or disassembly are attempted) USB key. These may then be mailed to the key holder or delivered in person at, for example, a conference.")]),a._v(" "),e("p",[a._v("The unlock code for the flash drive will be provided by the key generator to the key holder upon their recipient of the flash drive, and confirmation of that receipt via a GPG-signed email.")]),a._v(" "),e("p",[a._v("The hardware unlock code may be provided via the internet using encrypted means - either AlmaLinux's internal password manager (Vaultwarden) or GPG-encrypted email.")]),a._v(" "),e("h2",{attrs:{id:"storage-of-keys-by-key-holders"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#storage-of-keys-by-key-holders"}},[a._v("#")]),a._v(" Storage of Keys by Key Holders")]),a._v(" "),e("p",[a._v("Keys should be stored offline and encrypted at rest via GPG and the hardware encryption of the flash drive. It should be stored in a fire resistant lock box/safe or bank safety deposit box.")]),a._v(" "),e("h2",{attrs:{id:"key-generation-log"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#key-generation-log"}},[a._v("#")]),a._v(" Key Generation Log")]),a._v(" "),e("h3",{attrs:{id:"shim-15-8"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#shim-15-8"}},[a._v("#")]),a._v(" Shim 15.8")]),a._v(" "),e("p",[a._v("Secure boot keys generated on 2024-03-13 using policy dated 2024-03-13. These keys and certs will go into use in late 2024 and are valid through 2034.")]),a._v(" "),e("ul",[e("li",[a._v("https://github.com/rhboot/shim-review/issues/407")]),a._v(" "),e("li",[a._v("https://github.com/rhboot/shim-review/issues/432")])]),a._v(" "),e("h2",{attrs:{id:"changelog"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[a._v("#")]),a._v(" Changelog")]),a._v(" "),e("h3",{attrs:{id:"_2024-07-03"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#_2024-07-03"}},[a._v("#")]),a._v(" 2024-07-03")]),a._v(" "),e("p",[a._v("Add Yubikey PIV programming instructions")]),a._v(" "),e("h3",{attrs:{id:"_2024-03-13"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#_2024-03-13"}},[a._v("#")]),a._v(" 2024-03-13")]),a._v(" "),e("p",[a._v("Initial ratification")])])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/63.808a8a11.js b/assets/js/63.808a8a11.js new file mode 100644 index 000000000..bc822f0f9 --- /dev/null +++ b/assets/js/63.808a8a11.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[63],{347:function(e,t,a){"use strict";a.r(t);var s=a(14),r=Object(s.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h6",{attrs:{id:"last-updated-2023-01-15"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#last-updated-2023-01-15"}},[e._v("#")]),e._v(" last updated: 2023-01-15")]),e._v(" "),t("hr"),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("💡")]),e._v(" "),t("th",[e._v("Experience Level")]),e._v(" "),t("th",[e._v("⭐☆☆☆☆")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("📆")]),e._v(" "),t("td",[t("small",[e._v("Last modified ")])]),e._v(" "),t("td",[e._v("2023-01-15")])])])]),e._v(" "),t("h1",{attrs:{id:"after-installation-guide"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#after-installation-guide"}},[e._v("#")]),e._v(" After-installation Guide")]),e._v(" "),t("p",[e._v("This guide describes recommended actions to be performed after the AlmaLinux OS installation is completed successfully and rebooted. It also contains some steps for the system's customization.")]),e._v(" "),t("h2",{attrs:{id:"update-the-system-and-check-for-security-updates"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#update-the-system-and-check-for-security-updates"}},[e._v("#")]),e._v(" Update the system and check for security updates")]),e._v(" "),t("p",[e._v("Run the following command in the terminal to check for all available updates including security updates and install them:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo dnf update\n")])])]),t("h3",{attrs:{id:"check-for-security-updates"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#check-for-security-updates"}},[e._v("#")]),e._v(" Check for security updates")]),e._v(" "),t("p",[e._v("If you don't want to have all available updates to be installed on your machine, but need to check only for the security updates to ensure that it is up to date and protected against vulnerabilities, run the following command:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo dnf --security update\n")])])]),t("h2",{attrs:{id:"configure-the-network-settings"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#configure-the-network-settings"}},[e._v("#")]),e._v(" Configure the network settings")]),e._v(" "),t("h3",{attrs:{id:"on-a-machine-with-a-graphical-interface"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#on-a-machine-with-a-graphical-interface"}},[e._v("#")]),e._v(" On a machine with a graphical interface")]),e._v(" "),t("p",[e._v("If your system has a graphical interface, you can an application. On your panel, open "),t("strong",[e._v("Settings")]),e._v(" via "),t("em",[e._v("Applications")]),e._v(":")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/after-install-settings-1.png",alt:"image"}})]),e._v(" "),t("p",[e._v("or find them under "),t("em",[e._v("WiFi/Connection")]),e._v(" sign:")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/after-install-settings-2.png",alt:"image"}})]),e._v(" "),t("p",[e._v("Using this application you can edit an existing connection or configure a new one.")]),e._v(" "),t("h3",{attrs:{id:"on-a-machine-without-a-graphical-interface"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#on-a-machine-without-a-graphical-interface"}},[e._v("#")]),e._v(" On a machine without a graphical interface")]),e._v(" "),t("p",[e._v("If your system doesn't have any graphical interface, you can configure network settings using the Network Manager tool - "),t("strong",[e._v("nmtui")])]),e._v(" "),t("p",[e._v("Run the following command in the terminal:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("nmtui\n")])])]),t("p",[e._v("It will get you to the text user interface tool.")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/after-install-nmtui.png",alt:"image"}})]),e._v(" "),t("p",[e._v("Use the arrow keys to navigate and press "),t("em",[e._v("Enter")]),e._v(" to select an option of your choice.")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/sec-configuring_ip_networking_with_nmtui",target:"_blank",rel:"noopener noreferrer"}},[e._v("Find more"),t("OutboundLink")],1),e._v(" about nmtui tool usage.")]),e._v(" "),t("h3",{attrs:{id:"setting-the-hostname"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#setting-the-hostname"}},[e._v("#")]),e._v(" Setting the hostname")]),e._v(" "),t("p",[e._v("To set the hostname on AlmaLinux, you can use either the "),t("strong",[e._v("nmtui")]),e._v(" tool or run the "),t("code",[e._v("hostnamectl")]),e._v(" command in the terminal:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("hostnamectl set-hostname [new-hostname] # replace new-hostname with the hostmane to set\n")])])]),t("p",[e._v("Administrative privileges may be required to use this command.")]),e._v(" "),t("h2",{attrs:{id:"enable-necessary-repositories"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#enable-necessary-repositories"}},[e._v("#")]),e._v(" Enable necessary repositories")]),e._v(" "),t("p",[e._v("First, list repositories that are already enabled on your AlmaLinux machine:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("dnf repolist\n")])])]),t("p",[e._v("Then, enable a specific repository. Most AlmaLinux repositories can be enabled with the "),t("code",[e._v("dnf config-manager --set enabled")]),e._v(" command.\nBut note, that CentOS SIGs, Extra (EPEL and ELRepo) and AlmaLinux Synergy repositories are enabled with the "),t("code",[e._v("dnf install")]),e._v(" command.")]),e._v(" "),t("p",[e._v("You can check the "),t("RouterLink",{attrs:{to:"/repos/"}},[e._v("Repositories")]),e._v(" page to check all the supported repositories and a particular command on how to enable each of them.")],1),e._v(" "),t("p",[e._v("After needed repositories have been enabled, verify the changes:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("dnf repolist enabled\n")])])]),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("It is recommended to update the repository after enabling it:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo dnf update \n")])])]),t("p",[e._v("Updating the repository will ensure that you have access to the latest software packages and security updates available.")])]),e._v(" "),t("h2",{attrs:{id:"install-nvidia-or-amd-drivers"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#install-nvidia-or-amd-drivers"}},[e._v("#")]),e._v(" Install NVIDIA or AMD drivers")]),e._v(" "),t("p",[e._v("Depending on your hardware installed, you might need to install NVIDIA or AMD drivers.")]),e._v(" "),t("h3",{attrs:{id:"nvidia"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#nvidia"}},[e._v("#")]),e._v(" NVIDIA")]),e._v(" "),t("p",[e._v("You can get NVIDIA drivers in different ways:")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"/series/system/SystemSeriesA03"}},[e._v("Install binary driver")])]),e._v(" "),t("li",[t("a",{attrs:{href:"/series/system/SystemSeriesA03"}},[e._v("Compile driver source")])]),e._v(" "),t("li",[e._v("Get them using RPM Fusion:\n"),t("ul",[t("li",[t("p",[e._v("Enable the RPM Fusion repository by running the command:")]),e._v(" "),t("p",[t("strong",[e._v("For AlmaLinux 8:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo dnf install https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm\n")])])]),t("p",[t("strong",[e._v("For AlmaLinux 9:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo dnf install https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-9.noarch.rpm https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-9.noarch.rpm\n")])])])]),e._v(" "),t("li",[t("p",[e._v("Next, update the repositories:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo dnf update \n")])])])]),e._v(" "),t("li",[t("p",[e._v("Install the necessary packages:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo dnf install akmod-nvidia\n")])])])]),e._v(" "),t("li",[t("p",[e._v("Reboot your system to load the new NVIDIA kernel module and complete the installation. You should now have the NVIDIA drivers successfully installed on your AlmaLinux system.")])])])])]),e._v(" "),t("h3",{attrs:{id:"amd"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#amd"}},[e._v("#")]),e._v(" AMD")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("To install AMD drivers using RPM Fusion on AlmaLinux, first, enable the RPM Fusion repository by running the following commands:")]),e._v(" "),t("p",[t("strong",[e._v("For AlmaLinux 8:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo dnf install https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm\n")])])]),t("p",[t("strong",[e._v("For AlmaLinux 9:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo dnf install https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-9.noarch.rpm https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-9.noarch.rpm\n")])])])]),e._v(" "),t("li",[t("p",[e._v("Next, update the repositories:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo dnf update\n")])])])]),e._v(" "),t("li",[t("p",[e._v("Install the AMD drivers package:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo dnf install akmod-amdgpu\n")])])])]),e._v(" "),t("li",[t("p",[e._v("Reboot your system to load the driver.")])])]),e._v(" "),t("h2",{attrs:{id:"configure-firewall-settings"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#configure-firewall-settings"}},[e._v("#")]),e._v(" Configure firewall settings")]),e._v(" "),t("p",[e._v("To configure firewall settings on AlmaLinux, you can use the built-in firewall management tool - "),t("strong",[e._v("firewalld")]),e._v(".")]),e._v(" "),t("ul",[t("li",[e._v("Install the tool:"),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo dnf install firewalld\n")])])])]),e._v(" "),t("li",[e._v("Start the firewalld service:"),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo systemctl start firewalld\n")])])])]),e._v(" "),t("li",[e._v("If needed, enable it to start automatically on boot:"),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo systemctl enable firewalld\n")])])])]),e._v(" "),t("li",[e._v("Use the "),t("code",[e._v("firewall-cmd")]),e._v(" command to define rules and zones for your firewall.")])]),e._v(" "),t("p",[t("a",{attrs:{href:"/series/system/SystemSeriesA02"}},[e._v("Read more")]),e._v(" about the tool's usage.")]),e._v(" "),t("h2",{attrs:{id:"desktop-environment"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#desktop-environment"}},[e._v("#")]),e._v(" Desktop Environment")]),e._v(" "),t("p",[e._v("One of the possible customizations to your AlmaLinux system is having a Desktop Environment of your choice. AlmaLinux supports:")]),e._v(" "),t("ul",[t("li",[e._v("GNOME")]),e._v(" "),t("li",[e._v("GNOME-Mini")]),e._v(" "),t("li",[e._v("KDE")]),e._v(" "),t("li",[e._v("XFCE")]),e._v(" "),t("li",[e._v("MATE")]),e._v(" "),t("li",[e._v("Pantheon for AlmaLinux 9")])]),e._v(" "),t("p",[e._v("Some AlmaLinux images already have GNOME and GNOME-Mini desktop environments installed.")]),e._v(" "),t("p",[e._v("To install GNOME, KDE, and XFCE desktop environments:")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("First, enable EPEL and PowerTools/CRB repositories, by running the following commands:")]),e._v(" "),t("p",[t("strong",[e._v("For AlmaLinux 8:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo dnf config-manager --set-enabled powertools\nsudo dnf install epel-release\n")])])]),t("p",[t("strong",[e._v("For AlmaLinux 9:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo dnf config-manager --set-enabled crb\nsudo dnf install epel-release\n")])])])]),e._v(" "),t("li",[t("p",[e._v("List available available package groups:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo dnf group list\n")])])]),t("p",[e._v("An example output you may see:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("Available Environment Groups:\n Server with GUI # GNOME Desktop Environment\n Server \n Workstation # GNOME Desktop Environment\n KDE Plasma Workspaces # KDE Desktop Environment\n Virtualization Host\n Custom Operating System\n ...\nAvailable Groups:\n ...\n Xfce # XFCE Desktop Environment\n")])])])]),e._v(" "),t("li",[t("p",[e._v("Install a package group of your choice:")]),e._v(" "),t("ul",[t("li",[e._v('GNOME - you can install one of the "Server with GUI" or "Workstation" options to get the GNOME Desktop Environment. Check the list of packages to define which option fits your needs better:'),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('dnf group info "Server with GUI" # to list packages of Server with GUI group\ndnf group info "Workstation" # to list packages of Workstation group\n')])])]),e._v("Install the preferred one:"),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('sudo dnf groupinstall "Server with GUI" # install Server with GUI group of packages\nsudo dnf groupinstall "Workstation" # install Workstation group of packages\n')])])])]),e._v(" "),t("li",[e._v("KDE"),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('sudo dnf groupinstall "KDE Plasma Workspaces" \n')])])])]),e._v(" "),t("li",[e._v("XFCE"),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('sudo dnf groupinstall "Xfce"\n')])])])])])])]),e._v(" "),t("p",[e._v("To install Pantheon for AlmaLinux 9:")]),e._v(" "),t("ul",[t("li",[e._v("Enable EPEL, PowerTools and Synergy repositories")]),e._v(" "),t("li",[e._v("Install Pantheon Desktop Environment:"),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('sudo dnf groupinstall "Pantheon Desktop"\n')])])])])]),e._v(" "),t("p",[e._v("To have an AlmaLinux system with GNOME-Mini or MATE desktop environments we recommend installing AlmaLinux OS from the corresponding "),t("a",{attrs:{href:"/LiveMedia"}},[e._v("Live Media image")]),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"reboot"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#reboot"}},[e._v("#")]),e._v(" Reboot")]),e._v(" "),t("p",[e._v("Reboot your AlmaLinux OS machine to apply all the changes:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("reboot\n")])])]),t("h2",{attrs:{id:"live-media-options"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#live-media-options"}},[e._v("#")]),e._v(" Live Media options")]),e._v(" "),t("p",[e._v("If you are not sure whether AlmaLinux fits your needs, you can try it before installing it. AlmaLinux has various Live Media options for this purpose. You can get the download links from the "),t("a",{attrs:{href:"https://almalinux.org/get-almalinux/#Live_Media",target:"_blank",rel:"noopener noreferrer"}},[e._v("website"),t("OutboundLink")],1),e._v(" and usage guides on the "),t("a",{attrs:{href:"/LiveMedia"}},[e._v("Live Media")]),e._v(" page.")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/64.dcb0bd11.js b/assets/js/64.dcb0bd11.js new file mode 100644 index 000000000..82a2986bb --- /dev/null +++ b/assets/js/64.dcb0bd11.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[64],{345:function(s,e,a){"use strict";a.r(e);var t=a(14),r=Object(t.a)({},(function(){var s=this,e=s._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[e("h1",{attrs:{id:"installing-epel-and-rpm-fusion"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#installing-epel-and-rpm-fusion"}},[s._v("#")]),s._v(" Installing EPEL and RPM Fusion")]),s._v(" "),e("p",[s._v("This guide describes how to install "),e("em",[s._v("Extra Packages for Enterprise Linux (EPEL)")]),s._v(" and "),e("em",[s._v("RPM Fusion")]),s._v(", two software repositories that contain software that is not included by AlmaLinux (like codecs).")]),s._v(" "),e("div",{staticClass:"custom-block warning"},[e("p",{staticClass:"custom-block-title"},[s._v("WARNING")]),s._v(" "),e("p",[s._v("These third-party software repositories may not be supported by AlmaLinux's "),e("RouterLink",{attrs:{to:"/elevate/"}},[s._v("ELevate Project")]),s._v(".")],1)]),s._v(" "),e("h2",{attrs:{id:"step-1-install-epel"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#step-1-install-epel"}},[s._v("#")]),s._v(" Step 1: Install EPEL.")]),s._v(" "),e("p",[s._v("Installing EPEL is required for RPM Fusion.")]),s._v(" "),e("ol",[e("li",[s._v("Follow the instructions "),e("a",{attrs:{href:"/repos/Extras"}},[s._v("described here")]),s._v(" to install EPEL.")])]),s._v(" "),e("h2",{attrs:{id:"step-2-install-and-verify-the-rpm-fusion-gpg-keys"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#step-2-install-and-verify-the-rpm-fusion-gpg-keys"}},[s._v("#")]),s._v(" Step 2: Install (and verify) the RPM Fusion GPG keys")]),s._v(" "),e("p",[s._v("Downloading and verifying the RPM Fusion GPG keys ensures that the packages you install are from RPM Fusion and not altered (by accident or by malicious intent).")]),s._v(" "),e("ol",[e("li",[s._v("Download the "),e("em",[s._v("distribution-gpg-keys")]),s._v(" package.")])]),s._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[s._v("$ "),e("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" dnf "),e("span",{pre:!0,attrs:{class:"token function"}},[s._v("install")]),s._v(" distribution-gpg-keys\n")])])]),e("ul",[e("li",[s._v("If you get a prompt to import a GPG key, compare the key you recived to "),e("a",{attrs:{href:"https://fedoraproject.org/security/",target:"_blank",rel:"noopener noreferrer"}},[s._v("Fedora's package signing keys"),e("OutboundLink")],1),s._v(". Make sure the key on the webpage is the correct EPEL version as the one described on the userid, and make sure the fingerprints match.")])]),s._v(" "),e("ol",{attrs:{start:"2"}},[e("li",[s._v("Import the RPM Fusion keys with "),e("code",[s._v("rpmkeys")])])]),s._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[e("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# RPM Fusion (free packages)")]),s._v("\n$ "),e("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" rpmkeys "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("--import")]),s._v(" /usr/share/distribution-gpg-keys/rpmfusion/RPM-GPG-KEY-rpmfusion-free-el-"),e("span",{pre:!0,attrs:{class:"token variable"}},[e("span",{pre:!0,attrs:{class:"token variable"}},[s._v("$(")]),e("span",{pre:!0,attrs:{class:"token function"}},[s._v("rpm")]),s._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-E")]),s._v(" %rhel"),e("span",{pre:!0,attrs:{class:"token variable"}},[s._v(")")])]),s._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# RPM Fusion (nonfree packages)")]),s._v("\n$ "),e("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" rpmkeys "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("--import")]),s._v(" /usr/share/distribution-gpg-keys/rpmfusion/RPM-GPG-KEY-rpmfusion-nonfree-el-"),e("span",{pre:!0,attrs:{class:"token variable"}},[e("span",{pre:!0,attrs:{class:"token variable"}},[s._v("$(")]),e("span",{pre:!0,attrs:{class:"token function"}},[s._v("rpm")]),s._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-E")]),s._v(" %rhel"),e("span",{pre:!0,attrs:{class:"token variable"}},[s._v(")")])]),s._v("\n")])])]),e("ol",{attrs:{start:"3"}},[e("li",[s._v("(Optional) Check that the GPG keys match the one on the "),e("a",{attrs:{href:"https://rpmfusion.org/keys",target:"_blank",rel:"noopener noreferrer"}},[s._v("RPM Fusion keys page"),e("OutboundLink")],1),s._v('. (It is in the section labeled "Currently Used Keys".) Use the commands below to show the keys that were imported and compare them to the one in RPM Fusion.')])]),s._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[e("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# RPM Fusion (free packages)")]),s._v("\n$ gpg --show-keys --with-fingerprint /usr/share/distribution-gpg-keys/rpmfusion/RPM-GPG-KEY-rpmfusion-free-el-"),e("span",{pre:!0,attrs:{class:"token variable"}},[e("span",{pre:!0,attrs:{class:"token variable"}},[s._v("$(")]),e("span",{pre:!0,attrs:{class:"token function"}},[s._v("rpm")]),s._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-E")]),s._v(" %rhel"),e("span",{pre:!0,attrs:{class:"token variable"}},[s._v(")")])]),s._v("\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# RPM Fusion (nonfree packages)")]),s._v("\n$ gpg --show-keys --with-fingerprint /usr/share/distribution-gpg-keys/rpmfusion/RPM-GPG-KEY-rpmfusion-nonfree-el-"),e("span",{pre:!0,attrs:{class:"token variable"}},[e("span",{pre:!0,attrs:{class:"token variable"}},[s._v("$(")]),e("span",{pre:!0,attrs:{class:"token function"}},[s._v("rpm")]),s._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-E")]),s._v(" %rhel"),e("span",{pre:!0,attrs:{class:"token variable"}},[s._v(")")])]),s._v("\n")])])]),e("h2",{attrs:{id:"step-3-install-rpm-fusion"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#step-3-install-rpm-fusion"}},[s._v("#")]),s._v(" Step 3: Install RPM Fusion")]),s._v(" "),e("p",[s._v("Enter the command below.")]),s._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[s._v("$ "),e("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" dnf "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("--setopt")]),e("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("localpkg_gpgcheck"),e("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),e("span",{pre:!0,attrs:{class:"token number"}},[s._v("1")]),s._v(" "),e("span",{pre:!0,attrs:{class:"token function"}},[s._v("install")]),s._v(" https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-"),e("span",{pre:!0,attrs:{class:"token variable"}},[e("span",{pre:!0,attrs:{class:"token variable"}},[s._v("$(")]),e("span",{pre:!0,attrs:{class:"token function"}},[s._v("rpm")]),s._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-E")]),s._v(" %rhel"),e("span",{pre:!0,attrs:{class:"token variable"}},[s._v(")")])]),s._v(".noarch.rpm https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-"),e("span",{pre:!0,attrs:{class:"token variable"}},[e("span",{pre:!0,attrs:{class:"token variable"}},[s._v("$(")]),e("span",{pre:!0,attrs:{class:"token function"}},[s._v("rpm")]),s._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-E")]),s._v(" %rhel"),e("span",{pre:!0,attrs:{class:"token variable"}},[s._v(")")])]),s._v(".noarch.rpm\n")])])]),e("p",[s._v("If the installation fails, this may mean that the GPG keys imported earlier do not match the signiture of the RPM Fusion repositories. If this occurs, retry step 2.3 to see if you have the correct GPG keys.")])])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/65.05ef6586.js b/assets/js/65.05ef6586.js new file mode 100644 index 000000000..5003c6b48 --- /dev/null +++ b/assets/js/65.05ef6586.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[65],{344:function(a,e,r){"use strict";r.r(e);var t=r(14),s=Object(t.a)({},(function(){var a=this,e=a._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[e("h1",{attrs:{id:"almalinux-errata"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-errata"}},[a._v("#")]),a._v(" AlmaLinux Errata")]),a._v(" "),e("h3",{attrs:{id:"about-errata"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#about-errata"}},[a._v("#")]),a._v(" About Errata")]),a._v(" "),e("p",[a._v("Errata are package updates like some enhancements and features, bug fixes and security patches. These updates can be found at "),e("a",{attrs:{href:"https://errata.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[a._v("errata.almalinux.org"),e("OutboundLink")],1),a._v(" as a list of errata advisories.")]),a._v(" "),e("p",[e("img",{attrs:{src:"/images/errata_feed.png",alt:"image"}})]),a._v(" "),e("p",[a._v("Advisories are published text to help users get the information that errata provide and their impact.\nThere are three types of advisories:")]),a._v(" "),e("ul",[e("li",[a._v("ALSA - AlmaLinux Security Advisory - considered the most important type as it contains security fixes")]),a._v(" "),e("li",[a._v("ALBA - AlmaLinux Bug Advisory - contains bug fixes")]),a._v(" "),e("li",[a._v("ALEA - AlmaLinux Enhancement Advisory - contains enhancements and new features")])]),a._v(" "),e("p",[a._v("These advisories are ranked by severity: Critical, Important, Moderate and Low.")]),a._v(" "),e("p",[a._v("Besides type and severity details, each advisory includes some description, references, a list of updated packages and the release date.")]),a._v(" "),e("p",[e("img",{attrs:{src:"/images/errata_example.png",alt:"image"}})]),a._v(" "),e("h3",{attrs:{id:"how-to-access-errata"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#how-to-access-errata"}},[a._v("#")]),a._v(" How to access errata")]),a._v(" "),e("ul",[e("li",[a._v("You can find updateinfo.xml files in repos and mirrors. Or run the following command to see the list of advisories as an output:")])]),a._v(" "),e("div",{staticClass:"language- extra-class"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[a._v("dnf updateinfo --list\n")])])]),e("ul",[e("li",[a._v("Recommended to use "),e("em",[a._v(".json")]),a._v(" files with updated schema:\n"),e("ul",[e("li",[e("a",{attrs:{href:"https://errata.almalinux.org/8/errata.full.json",target:"_blank",rel:"noopener noreferrer"}},[a._v("errata.full.json"),e("OutboundLink")],1),a._v(" for AlmaLinux 8")]),a._v(" "),e("li",[e("a",{attrs:{href:"https://errata.almalinux.org/9/errata.full.json",target:"_blank",rel:"noopener noreferrer"}},[a._v("errata.full.json"),e("OutboundLink")],1),a._v(" for AlmaLinux 9")])])]),a._v(" "),e("li",[e("em",[a._v(".json")]),a._v(" files with deprecated schema:\n"),e("ul",[e("li",[e("a",{attrs:{href:"https://errata.almalinux.org/8/errata.json",target:"_blank",rel:"noopener noreferrer"}},[a._v("errata.json"),e("OutboundLink")],1),a._v(" for AlmaLinux 8")]),a._v(" "),e("li",[e("a",{attrs:{href:"https://errata.almalinux.org/9/errata.json",target:"_blank",rel:"noopener noreferrer"}},[a._v("errata.json"),e("OutboundLink")],1),a._v(" for AlmaLinux 9")])])]),a._v(" "),e("li",[a._v("details about OVAL files can be found at "),e("a",{attrs:{href:"https://wiki.almalinux.org/documentation/oval-streams.html",target:"_blank",rel:"noopener noreferrer"}},[a._v("OVAL streams"),e("OutboundLink")],1),a._v(" AlmaLinux Wiki page")])]),a._v(" "),e("h3",{attrs:{id:"mailing-list"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#mailing-list"}},[a._v("#")]),a._v(" Mailing list")]),a._v(" "),e("p",[a._v("You can subscribe to the AlmaLinux errata "),e("a",{attrs:{href:"https://lists.almalinux.org/mailman3/lists/security.lists.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[a._v("mailing list"),e("OutboundLink")],1),a._v(" to receive notifications about errata package releases.")])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/66.446877bb.js b/assets/js/66.446877bb.js new file mode 100644 index 000000000..d5693dce9 --- /dev/null +++ b/assets/js/66.446877bb.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[66],{346:function(t,e,s){"use strict";s.r(e);var i=s(14),a=Object(i.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"documentation-security-guides"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#documentation-security-guides"}},[t._v("#")]),t._v(" Documentation | Security Guides")]),t._v(" "),e("p",[t._v("In this section of the wiki, we emphasize AlmaLinux OS security through:")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("OpenSCAP")]),t._v(": Comprehensive guides on evaluating system security configurations.")]),t._v(" "),e("li",[e("strong",[t._v("OVAL")]),t._v(": Standardized definitions for AlmaLinux to consistently assess vulnerabilities.")]),t._v(" "),e("li",[e("strong",[t._v("SBOM")]),t._v(": Resources on tracking software components for transparency.")]),t._v(" "),e("li",[e("strong",[t._v("Security Errata")]),t._v(": Regular updates on the latest security patches and updates.")])]),t._v(" "),e("h1",{attrs:{id:"about-our-security-mindset"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#about-our-security-mindset"}},[t._v("#")]),t._v(" About Our Security Mindset")]),t._v(" "),e("p",[t._v("For AlmaLinux OS Project ensuring its security is paramount for several reasons:")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("Trust:")]),t._v(" Users and organizations need to trust that the OS isn't compromised, ensuring the safety of their data and applications.")]),t._v(" "),e("li",[e("strong",[t._v("Stability")]),t._v(": Security vulnerabilities can lead to system instability. A secure OS is generally a more stable OS.")]),t._v(" "),e("li",[e("strong",[t._v("Data Integrity")]),t._v(": Protecting the OS from unauthorized access ensures the integrity of the data it holds.")]),t._v(" "),e("li",[e("strong",[t._v("Threat Landscape")]),t._v(": Linux-based systems, due to their widespread use especially in server environments, are continuous targets for attackers. Keeping them secure is an ongoing necessity.")]),t._v(" "),e("li",[e("strong",[t._v("Reputation")]),t._v(": AlmaLinux aims to be a reliable RHEL fork. Maintaining a strong security posture is essential for its reputation and adoption.")]),t._v(" "),e("li",[e("strong",[t._v("Compliance")]),t._v(": Many organizations are subject to regulatory standards that mandate specific security controls and measures. A secure OS helps these organizations achieve and maintain compliance.")])])])}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/67.3d4b3bd1.js b/assets/js/67.3d4b3bd1.js new file mode 100644 index 000000000..0b044a242 --- /dev/null +++ b/assets/js/67.3d4b3bd1.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[67],{348:function(e,t,a){"use strict";a.r(t);var s=a(14),i=Object(s.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h6",{attrs:{id:"last-updated-2023-02-09"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#last-updated-2023-02-09"}},[e._v("#")]),e._v(" last updated: 2023-02-09")]),e._v(" "),t("h1",{attrs:{id:"almalinux-installation-guide-isos"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-installation-guide-isos"}},[e._v("#")]),e._v(" AlmaLinux installation guide (ISOs)")]),e._v(" "),t("p",[e._v("These guide steps describe how to download AlmaLinux ISO, create a USB stick, and install AlmaLinux OS using it.")]),e._v(" "),t("h2",{attrs:{id:"requirements"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#requirements"}},[e._v("#")]),e._v(" Requirements")]),e._v(" "),t("ul",[t("li",[e._v("System requirements:\n"),t("ul",[t("li",[e._v("Disk space: 10GB minimum, 20GB recommended")]),e._v(" "),t("li",[e._v("Minimum 1.5 GB RAM")])]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("More about requirements: "),t("a",{attrs:{href:"https://access.redhat.com/articles/rhel-limits",target:"_blank",rel:"noopener noreferrer"}},[t("em",[e._v("Red Hat Enterprise Linux")]),e._v(" Technology Capabilities and Limits"),t("OutboundLink")],1),e._v(".")])])]),e._v(" "),t("li",[e._v("A USB flash drive of size 8GB as a minimum, 12GB or more recommended")])]),e._v(" "),t("h2",{attrs:{id:"download-almalinux-iso"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#download-almalinux-iso"}},[e._v("#")]),e._v(" Download AlmaLinux ISO")]),e._v(" "),t("p",[e._v("AlmaLinux supports both firmware interfaces: "),t("em",[e._v("BIOS")]),e._v(" and "),t("em",[e._v("UEFI")]),e._v(".")]),e._v(" "),t("p",[e._v("AlmaLinux supports four architectures:")]),e._v(" "),t("ul",[t("li",[e._v("Intel/AMD (x86_64)")]),e._v(" "),t("li",[e._v("ARM64 (aarch64)")]),e._v(" "),t("li",[e._v("IBM PowerPC (ppc64le)")]),e._v(" "),t("li",[e._v("IBM Z (s390x)")])]),e._v(" "),t("p",[e._v("AlmaLinux has 3 types of ISOs for each supported architecture:")]),e._v(" "),t("ul",[t("li",[t("code",[e._v("boot")]),e._v(" - a single network installation CD image that downloads packages over the Internet.")]),e._v(" "),t("li",[t("code",[e._v("minimal")]),e._v(" - a minimal self-containing DVD image that makes offline installation possible.")]),e._v(" "),t("li",[t("code",[e._v("dvd")]),e._v(" - a full installation DVD image that contains mostly all AlmaLinux packages.")])]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("There are also "),t("strong",[e._v("latest")]),e._v(" and "),t("strong",[e._v("update")]),e._v(" ISO images. "),t("strong",[e._v("Latest")]),e._v(" provides the latest minor version of the selected major version, like AlmaLinux-9-latest. "),t("strong",[e._v("Update")]),e._v(" files are ISOs that were rebuilt including some updates.")])]),e._v(" "),t("p",[e._v("There are a few ways to download AlmaLinux ISO:")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("Download AlmaLinux ISO from the mirror. Select the nearest to your geographic area mirror from the "),t("a",{attrs:{href:"https://mirrors.almalinux.org/isos.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("list"),t("OutboundLink")],1),e._v(". You need the "),t("strong",[e._v("version")]),e._v("/isos/"),t("strong",[e._v("arch")]),e._v("/ directory to download the suitable ISO.")])]),e._v(" "),t("li",[t("p",[e._v("Download from the "),t("a",{attrs:{href:"https://repo.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Public Package Repository"),t("OutboundLink")],1),e._v(":")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://repo.almalinux.org/almalinux/8/isos/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux 8"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://repo.almalinux.org/almalinux/9/isos/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux 9"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Lower and beta versions can be found in the "),t("a",{attrs:{href:"https://repo.almalinux.org/vault/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Vault"),t("OutboundLink")],1)])])]),e._v(" "),t("li",[t("p",[e._v("Run the "),t("code",[e._v("curl")]),e._v(" command in the command line:")]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("This command example is for downloading the "),t("strong",[e._v("DVD")]),e._v(" ISO of "),t("strong",[e._v("AlmaLinux 9.1")]),e._v(". AlmaLinux ISOs are named using the following convention:")]),e._v(" "),t("p",[t("strong",[e._v("AlmaLinux-major version.minor version-architecture-ISO type.iso")])]),e._v(" "),t("p",[e._v("Change the version, architecture and type to the ones you need.")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("$ curl -O https://repo.almalinux.org/almalinux/9/isos/x86_64/AlmaLinux-9.1-x86_64-dvd.iso\n")])])]),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[t("code",[e._v("curl")]),e._v(" is built-in into current versions of "),t("em",[e._v("Linux®")]),e._v(", "),t("em",[e._v("macOS")]),e._v(" and "),t("em",[e._v("Windows")]),e._v(".")])])])]),e._v(" "),t("h2",{attrs:{id:"iso-verification"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#iso-verification"}},[e._v("#")]),e._v(" ISO verification")]),e._v(" "),t("h4",{attrs:{id:"linux"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#linux"}},[e._v("#")]),e._v(" Linux")]),e._v(" "),t("p",[e._v("Download and import the AlmaLinux public key:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("curl")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-O")]),e._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9\n$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" RPM-GPG-KEY-AlmaLinux-9\n")])])]),t("p",[e._v("Verify the downloaded ISO image checksum:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# download a checksums list")]),e._v("\n$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("curl")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-O")]),e._v(" https://repo.almalinux.org/almalinux/9/isos/x86_64/CHECKSUM\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# verify the checksums list, we are looking for a “Good signature”")]),e._v("\n$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--verify")]),e._v(" CHECKSUM\ngpg: Signature made Tue "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("13")]),e._v(" Dec "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("2022")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("14")]),e._v(":09:50 CET\ngpg: using RSA key BF18AC2876178908D6E71267D36CB86CB86B3716\ngpg: Good signature from "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux OS 9 "')]),e._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("unknown"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\ngpg: WARNING: This key is not certified with a trusted signature"),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("!")]),e._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: BF18 AC28 "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("7617")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("8908")]),e._v(" D6E7 "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("1267")]),e._v(" D36C B86C B86B "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("3716")]),e._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# calculate the downloaded ISO SHA256 checksum")]),e._v("\n$ sha256sum AlmaLinux-9.1-x86_64-dvd.iso\n2a44e3f8a012c132da19b9aae2bf949e20b116f0a2a7ac3eca111972f4ac952f AlmaLinux-9.1-x86_64-dvd.iso\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# compare it with the expected checksum, it should be the same")]),e._v("\n$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" CHECKSUM "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-E")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v("'SHA256.*AlmaLinux-9.1-x86_64-dvd.iso'")]),e._v("\nSHA256 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("AlmaLinux-9.1-x86_64-dvd.iso"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" 2a44e3f8a012c132da19b9aae2bf949e20b116f0a2a7ac3eca111972f4ac952f\n")])])]),t("h4",{attrs:{id:"macos"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#macos"}},[e._v("#")]),e._v(" macOS")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# calculate the downloaded ISO SHA256 checksum")]),e._v("\n$ shasum "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-a")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("256")]),e._v(" AlmaLinux-9.1-x86_64-dvd.iso\n2a44e3f8a012c132da19b9aae2bf949e20b116f0a2a7ac3eca111972f4ac952f AlmaLinux-9.1-x86_64-dvd.iso\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# download the CHECKSUM file")]),e._v("\n"),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("curl")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-O")]),e._v(" https://repo.almalinux.org/almalinux/9/isos/x86_64/CHECKSUM\n \n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# compare it with the expected checksum, it should be the same")]),e._v("\n$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" CHECKSUM "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-E")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v("'SHA256.*AlmaLinux-9.1-x86_64-dvd.iso'")]),e._v("\nSHA256 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("AlmaLinux-9.1-x86_64-dvd.iso"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" 2a44e3f8a012c132da19b9aae2bf949e20b116f0a2a7ac3eca111972f4ac952f\n")])])]),t("h4",{attrs:{id:"windows"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#windows"}},[e._v("#")]),e._v(" Windows")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("C:"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("\\")]),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v(">")]),e._v(" certUtil "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-hashfile")]),e._v(" C:"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("\\")]),e._v("AlmaLinux-9.1-x86_64-dvd.iso SHA256\nSHA256 "),t("span",{pre:!0,attrs:{class:"token builtin class-name"}},[e._v("hash")]),e._v(" of AlmaLinux-9.1-x86_64-dvd.iso:\n2a44e3f8a012c132da19b9aae2bf949e20b116f0a2a7ac3eca111972f4ac952f\nCertUtil: "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-hashfile")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token builtin class-name"}},[e._v("command")]),e._v(" completed successfully.\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# download the CHECKSUM file")]),e._v("\nC:"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("\\")]),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v(">")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("curl")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-O")]),e._v(" https://repo.almalinux.org/almalinux/9/isos/x86_64/CHECKSUM\n \n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# compare it with the expected checksum, it should be the same")]),e._v("\nC:"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("\\")]),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v(">")]),e._v(" findstr /i /r /c:"),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"SHA256.*AlmaLinux-9.1-x86_64-dvd.iso"')]),e._v(" CHECKSUM\nSHA256 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("AlmaLinux-9.1-x86_64-dvd.iso"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" 2a44e3f8a012c132da19b9aae2bf949e20b116f0a2a7ac3eca111972f4ac952f\n")])])]),t("h2",{attrs:{id:"write-an-image-on-a-usb"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#write-an-image-on-a-usb"}},[e._v("#")]),e._v(" Write an image on a USB")]),e._v(" "),t("p",[e._v("Use the following steps and commands depending on OS you are using to write an image on a USB.")]),e._v(" "),t("h4",{attrs:{id:"linux-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#linux-2"}},[e._v("#")]),e._v(" Linux")]),e._v(" "),t("p",[e._v("Use the "),t("code",[e._v("dd")]),e._v(" command for any Linux OS.")]),e._v(" "),t("p",[e._v("Insert your target USB and locate it. There are different ways to do it, but here are some of them:")]),e._v(" "),t("ul",[t("li",[t("p",[t("code",[e._v("sudo fdisk -l")]),e._v(" - this command shows you the connected block storage devices, including the USB devices.")])]),e._v(" "),t("li",[t("p",[t("code",[e._v("lsblk")]),e._v(" - this command gives you all the available block storage devices, including the USB block storage devices.")])]),e._v(" "),t("li",[t("p",[t("code",[e._v("sudo blkid")]),e._v(" - this command gives you the same information as "),t("code",[e._v("lsblk")]),e._v(", but you have to run it as root.")])])]),e._v(" "),t("p",[e._v("You need to look for /dev/sda or /dev/sdb or /dev/sdc, which is your target USB.")]),e._v(" "),t("p",[e._v("After you found out the location of your target USB, navigate to the location of your source ISO. Run the dd command to copy files from ISO to USB:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo dd if=./AlmaLinux-9.1-x86_64-dvd.iso of=/dev/sdX status=progress conv=fsync bs=4M\n")])])]),t("ul",[t("li",[t("code",[e._v("dd")]),e._v(": Start the dd command to write the DVD/CD iso image.")]),e._v(" "),t("li",[t("code",[e._v("if=AlmaLinux-9.1-x86_64-dvd.iso")]),e._v(": path to the input file.")]),e._v(" "),t("li",[t("code",[e._v("of=/dev/sdX")]),e._v(": path to destination USB disk/stick (you need to replace 'X').")]),e._v(" "),t("li",[t("code",[e._v("status=progress")]),e._v(": display a progress bar while writing the image to the USB stick.")]),e._v(" "),t("li",[t("code",[e._v("conv=fsync")]),e._v(": make sure to finish the writing before returning.")]),e._v(" "),t("li",[t("code",[e._v("bs=4M")]),e._v(": use blocks of 4 megabytes instead of the default 512 bytes.")])]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("This example is for AlmaLinux 9.1. Replace the version with the one you need to work with other AlmaLinux images.")])]),e._v(" "),t("h4",{attrs:{id:"windows-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#windows-2"}},[e._v("#")]),e._v(" Windows")]),e._v(" "),t("p",[e._v("For Windows OS there is a helpful free and open-source application - "),t("a",{attrs:{href:"https://rufus.ie/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Rufus"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("p",[e._v("Open the application, choose your target USB, and ISO you need to burn, and press "),t("code",[e._v("start")]),e._v(".")]),e._v(" "),t("h4",{attrs:{id:"macos-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#macos-2"}},[e._v("#")]),e._v(" macOS")]),e._v(" "),t("p",[e._v("The cross-platform tool "),t("a",{attrs:{href:"https://www.balena.io/etcher/",target:"_blank",rel:"noopener noreferrer"}},[e._v("balenaEtcher"),t("OutboundLink")],1),e._v(" is used to write images on macOS. It is simple too. Open balenaEtcher, choose the image and the USB, and press Flash.")]),e._v(" "),t("p",[e._v("You can also use "),t("code",[e._v("dd")]),e._v(" from the CLI:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo dd if=./AlmaLinux-9.1-x86_64-dvd.iso of=/dev/diskXXX status=progress conv=fsync bs=4M\n")])])]),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("Look at the Linux example above for detailed command elements description for the "),t("code",[e._v("dd")]),e._v(" command.")])]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("To determine the "),t("code",[e._v("XXX")]),e._v(" (on our machine it was "),t("code",[e._v("disk2s1")]),e._v(") open the "),t("code",[e._v("Disk Utility")]),e._v(" app.\nChoose your USB drive in the "),t("code",[e._v("External")]),e._v(" section and check the disk name in the "),t("code",[e._v("Device")]),e._v(" field:")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/installation-guide-macos-usb.png",alt:"image"}})])]),e._v(" "),t("p",[e._v("Now you have AlmaLinux ready on a USB stick.")]),e._v(" "),t("h2",{attrs:{id:"installation"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#installation"}},[e._v("#")]),e._v(" Installation")]),e._v(" "),t("ul",[t("li",[e._v("Before starting the installation, you might need to define which system's mode you are booting and installing - UEFI or BIOS.")]),e._v(" "),t("li",[e._v("Insert and boot the USB stick. You'll see the AlmaLinux welcome menu:\n"),t("img",{attrs:{src:"/images/installation-guide-welcome-menu.png",alt:"image"}}),e._v(" "),t("ul",[t("li",[e._v("Automatically, the recommended option "),t("em",[e._v("Test this media & install AlmaLinux 9.1")]),e._v(" is highlighted. Choosing this option will run the installation media check to verify that it's usable and that the installation won't be aborted in the process. After the media check completes successfully, the installer screen will pop up automatically.")])]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("You can choose the first option "),t("em",[e._v("Install AlmaLinux 9.1")]),e._v(". In this case, you will only see some boot messages before the installer will pop up. The installation media check won't be performed.")])])]),e._v(" "),t("li",[e._v("When the installer boots, the first thing you need to do, is to choose a language that will be used during the installation process.\n"),t("img",{attrs:{src:"/images/installation-guide-installation-language.png",alt:"image"}}),e._v("\nChoose the language you'd like and press the "),t("strong",[e._v("Continue")]),e._v(" button.")]),e._v(" "),t("li",[e._v("Next, the "),t("em",[e._v("Installation Summary")]),e._v(" window will appear. It contains sections that you can configure:\n"),t("img",{attrs:{src:"/images/installation-guide-installation-summary.png",alt:"image"}}),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("Sections that are marked with "),t("strong",[e._v("red")]),e._v(" color are necessary to be customized to begin the installation.")])])]),e._v(" "),t("li",[t("strong",[e._v("LOCALIZATION")]),e._v(" section:\n"),t("ul",[t("li",[t("em",[e._v("Keyboard")]),e._v(" - you may choose and specify the system's keyboard layouts here. By default, there are an English layout and a language chosen during the previous step.\n"),t("img",{attrs:{src:"/images/installation-guide-keyboard.gif",alt:"image"}}),e._v(" "),t("strong",[e._v("When you've finished with the changes, click on the "),t("code",[e._v("Done")]),e._v(" button.")])]),e._v(" "),t("li",[t("em",[e._v("Language Support")]),e._v(" - the default supported language is the language you chose for the installation process. You can add support for additional languages if you need it.\n"),t("img",{attrs:{src:"/images/installation-guide-language-support.png",alt:"image"}}),e._v(" "),t("strong",[e._v("When you've finished with the changes, click on the "),t("code",[e._v("Done")]),e._v(" button.")])]),e._v(" "),t("li",[t("em",[e._v("Time & Date")]),e._v(" - this option allows you to select the timezone you need for your machine. You can choose the location from the "),t("em",[e._v("Region")]),e._v("/"),t("em",[e._v("City")]),e._v(" lists or select if from the map. There is the Network Time option that allows the system to automatically set the time when this option is enabled. This option can be set to "),t("em",[e._v("ON")]),e._v(" or "),t("em",[e._v("OFF")]),e._v(" by default. It depends on your installation source.\n"),t("img",{attrs:{src:"/images/installation-guide-time-date.gif",alt:"image"}}),e._v(" "),t("strong",[e._v("When you've finished with the changes, click on the "),t("code",[e._v("Done")]),e._v(" button.")])])])]),e._v(" "),t("li",[t("strong",[e._v("SOFTWARE")]),e._v(" - this section allows you to add the installation source and additional repositories if needed.\n"),t("ul",[t("li",[t("em",[e._v("Installation Source")]),e._v(" - the installation source is to be specified here. When using an ISO image for the installation using, the installation source will be automatically specified as Local media.")])]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("If you are using the "),t("code",[e._v("BOOT")]),e._v(" ISO image to perform the installation, you will need to provide the "),t("code",[e._v("/BaseOS/x86_64/kickstart/")]),e._v(" repository from the selected mirror as the Installation Source if the installer will not be able to find the closest mirror for some reason.")]),e._v(" "),t("p",[e._v("There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.")])]),e._v(" "),t("strong",[e._v("When you've finished with the changes, click on the "),t("code",[e._v("Done")]),e._v(" button.")]),e._v(" "),t("ul",[t("li",[t("em",[e._v("Software Selection")]),e._v(" - this section contains two fields:\n"),t("ul",[t("li",[t("em",[e._v("Base Environment")]),e._v(" - this field will be defined automatically according to the ISO type you are using for the installation.")]),e._v(" "),t("li",[t("em",[e._v("Additional Software for the Selected Environment")]),e._v(" - you can choose additional software to be installed. The list of available additional software depends on the chosen variant in the "),t("em",[e._v("Base Environment")]),e._v(" field.\n"),t("img",{attrs:{src:"/images/installation-guide-software-selection.gif",alt:"image"}}),e._v(" "),t("strong",[e._v("When you've finished with the changes, click on the "),t("code",[e._v("Done")]),e._v(" button.")])])])]),e._v(" "),t("li",[t("strong",[e._v("SYSTEM")]),e._v(" - this section allows you to customize the hardware of the system to you your needs like creating drive partitions, enabling Encryption, KDUMP, specifying the Network and choosing a security profile:")]),e._v(" "),t("li",[t("em",[e._v("Installation destination")]),e._v(" - you will see available disks for the system installation as "),t("em",[e._v("Local Standard Disks")]),e._v(". You can click on the disk you need. If your system has only one disk, it'll be automatically chosen. By default, "),t("em",[e._v("Storage Configuration")]),e._v(" will be marked as "),t("em",[e._v("Automatic")]),e._v(".")])]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("If you want to create disk partitions by yourself, choose the "),t("em",[e._v("Custom")]),e._v(" option here.")])]),e._v(" "),t("img",{attrs:{src:"/images/installation-guide-installation-destination.png",alt:"image"}}),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("If you want to encrypt your data, select this option in the "),t("strong",[e._v("Encryption")]),e._v(" section. You'll be asked to type a "),t("em",[e._v("passphrase")]),e._v(" after clicking on the "),t("strong",[e._v("Done")]),e._v(" button.\n"),t("img",{attrs:{src:"/images/installation-guide-encryption.gif",alt:"image"}})])]),e._v(" "),t("strong",[e._v("When you've finished with the changes, click on the "),t("code",[e._v("Done")]),e._v(" button.")]),e._v(" "),t("ul",[t("li",[t("em",[e._v("KDUMP")]),e._v(" - by default, kdump will be marked as enabled with automatic memory reservation.\n"),t("img",{attrs:{src:"/images/installation-guide-kdump.png",alt:"image"}}),e._v(" "),t("strong",[e._v("When you've finished with the changes, click on the "),t("code",[e._v("Done")]),e._v(" button.")])]),e._v(" "),t("li",[t("em",[e._v("Network & Host Name")]),e._v(" - all correctly detected networks will be listed in the left field. It'll be also automatically connected. You can add a network device and configure the chosen network in this section.\n"),t("img",{attrs:{src:"/images/installation-guide-network.png",alt:"image"}}),e._v(" "),t("strong",[e._v("When you've finished with the changes, click on the "),t("code",[e._v("Done")]),e._v(" button.")])]),e._v(" "),t("li",[t("em",[e._v("Security Profile")]),e._v(" - no profile is chosen by default, as applying a security policy is not necessary. The applied security policy will be installed in the system using the compliance policies defined by SCAP. You can choose one of the available security profiles:\n"),t("ul",[t("li",[e._v("ANSSI-BP-028 (enhanced)")]),e._v(" "),t("li",[e._v("ANSSI-BP-028 (high)")]),e._v(" "),t("li",[e._v("ANSSI-BP-028 (intermediary)")]),e._v(" "),t("li",[e._v("ANSSI-BP-028 (minimal)")]),e._v(" "),t("li",[e._v("[DRAFT] CIS AlmaLinux 9 Benchmark for Level 2 - Server")]),e._v(" "),t("li",[e._v("[DRAFT] CIS AlmaLinux 9 Benchmark for Level 1 - Server")]),e._v(" "),t("li",[e._v("[DRAFT] CIS AlmaLinux 9 Benchmark for Level 1 - Workstation")]),e._v(" "),t("li",[e._v("[DRAFT] CIS AlmaLinux 9 Benchmark for Level 2 - Workstation")]),e._v(" "),t("li",[e._v("[DRAFT] Unclassified Information in Non-federal Information Systems and Organizations (NIST 800-171)")]),e._v(" "),t("li",[e._v("Australian Cyber Security Centre (ACSC) Essential Eight")]),e._v(" "),t("li",[e._v("Health Insurance Portability and Accountability Act (HIPAA)")]),e._v(" "),t("li",[e._v("Australian Cyber Security Centre (ACSC) ISM Official")]),e._v(" "),t("li",[e._v("[DRAFT] Protection Profile for General Purpose Operating Systems")]),e._v(" "),t("li",[e._v("PCI-DSS v3.2.1 Control Baseline for Red Hat Enterprise Linux 9")]),e._v(" "),t("li",[e._v("[DRAFT] DISA STIG for Red Hat Enterprise Linux 9")]),e._v(" "),t("li",[e._v("[DRAFT] DISA STIG with GUI for Red Hat Enterprise Linux 9\n"),t("img",{attrs:{src:"/images/installation-guide-security-profiles.gif",alt:"image"}})])])])]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("If you are interested in more details about Security Profiles, check the "),t("RouterLink",{attrs:{to:"/documentation/openscap-guide.html"}},[e._v("OpenSCAP Guide for AlmaLinux 8")]),e._v(" and "),t("RouterLink",{attrs:{to:"/documentation/openscap-guide-for-9.html"}},[e._v("OpenSCAP Guide for AlmaLinux 9")]),e._v(".")],1)]),e._v(" "),t("strong",[e._v("When you've finished with the changes, click on the "),t("code",[e._v("Done")]),e._v(" button.")])]),e._v(" "),t("li",[t("strong",[e._v("USER SETTINGS")]),e._v(" - in this section, you are able to create a password for the root user account and create user accounts.\n"),t("ul",[t("li",[t("em",[e._v("Root Password")]),e._v(" - as the root user is the most privileged account, you must set a strong password for it to protect this account. Type the password in the "),t("em",[e._v("Root Password")]),e._v(" text field and type it once more in the "),t("em",[e._v("Confirm")]),e._v(" text field to confirm the password.\n"),t("img",{attrs:{src:"/images/installation-guide-root.gif",alt:"image"}}),e._v(" "),t("strong",[e._v("When you've finished with the changes, click on the "),t("code",[e._v("Done")]),e._v(" button.")])]),e._v(" "),t("li",[t("em",[e._v("User Creation")]),e._v(" - this window allows you to create administrative and non-administrative users. To create a user fill in the "),t("em",[e._v("Full Name")]),e._v(" and "),t("em",[e._v("User Name")]),e._v(" fields, set and confirm the password, and enable the "),t("em",[e._v("Make this user administrator")]),e._v(" field if needed. The "),t("em",[e._v("Require the password to use this account")]),e._v(" option is enabled by default. You can leave it enabled or click on the checkbox to remove the check to disable this option.\n"),t("img",{attrs:{src:"/images/installation-guide-user.gif",alt:"image"}}),e._v(" "),t("strong",[e._v("When you've finished with the changes, click on the "),t("code",[e._v("Done")]),e._v(" button.")])])])]),e._v(" "),t("li",[e._v("When you are finished with the customization, click on the "),t("strong",[e._v("Begin Installation")]),e._v(" button to start the installation process.\n"),t("img",{attrs:{src:"/images/installation-guide-begin-installation.gif",alt:"image"}}),e._v("\nYou will see the process running and its progress. Also, different task messages will appear."),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("If you don't want to proceed, you can safely quit the process by pressing the "),t("strong",[e._v("Quit")]),e._v(" button or resetting the machine.")])])]),e._v(" "),t("li",[e._v("Wait for the installation process to complete successfully and click on the "),t("strong",[e._v("Reboot")]),e._v(" button to restart the system.\n"),t("img",{attrs:{src:"/images/installation-guide-reboot.png",alt:"image"}})]),e._v(" "),t("li",[e._v("When the system reboots, log in and enjoy your AlmaLinux system.")])]),e._v(" "),t("h2",{attrs:{id:"live-media"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#live-media"}},[e._v("#")]),e._v(" Live Media")]),e._v(" "),t("p",[e._v("AlmaLinux also provides Live Media images with different desktop environment options:")]),e._v(" "),t("ul",[t("li",[e._v("GNOME-Mini")]),e._v(" "),t("li",[e._v("GNOME")]),e._v(" "),t("li",[e._v("KDE")]),e._v(" "),t("li",[e._v("XFCE")]),e._v(" "),t("li",[e._v("MATE")])]),e._v(" "),t("p",[e._v("Using Live Media You can try AlmaLinux OS before installing. You can find more information on the "),t("RouterLink",{attrs:{to:"/LiveMedia.html"}},[e._v("Live Media")]),e._v(" wiki page.")],1),e._v(" "),t("h4",{attrs:{id:"trademark-notices"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#trademark-notices"}},[e._v("#")]),e._v(" Trademark notices")]),e._v(" "),t("p",[e._v("Red Hat, Red Hat Enterprise Linux are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")]),e._v(" "),t("p",[e._v("Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.")]),e._v(" "),t("p",[e._v("macOS is the registered trademark of Apple Inc. in the U.S. and other countries.")]),e._v(" "),t("p",[e._v("Windows is the registered trademark of Microsoft Corporation in the United States and other countries.")])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/68.793ba4b8.js b/assets/js/68.793ba4b8.js new file mode 100644 index 000000000..05dac0fbe --- /dev/null +++ b/assets/js/68.793ba4b8.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[68],{349:function(t,e,a){"use strict";a.r(e);var n=a(14),r=Object(n.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h2",{attrs:{id:"kickstart-installation-unattended-installation"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#kickstart-installation-unattended-installation"}},[t._v("#")]),t._v(" Kickstart Installation (Unattended Installation)")]),t._v(" "),e("p",[t._v("Kickstart is used to perform unattended installation with predefined set of parameters")]),t._v(" "),e("p",[t._v("There are multiple ways of starting a kickstart installation, for details check out "),e("a",{attrs:{href:"https://pykickstart.readthedocs.io/en/latest/kickstart-docs.html#chapter-12-starting-a-kickstart-installation",target:"_blank",rel:"noopener noreferrer"}},[t._v("pykickstart docs"),e("OutboundLink")],1)]),t._v(" "),e("h3",{attrs:{id:"customization"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#customization"}},[t._v("#")]),t._v(" Customization")]),t._v(" "),e("p",[t._v("Best way to start is to perform an installation in a virtual machine then take "),e("code",[t._v("/root/anaconda-ks.cfg")]),t._v(" as the base and modify it, it contains selected options during the installation")]),t._v(" "),e("p",[t._v("All commands that can be used in kickstart are listed "),e("a",{attrs:{href:"https://pykickstart.readthedocs.io/en/latest/kickstart-docs.html#chapter-3-kickstart-commands-in-red-hat-enterprise-linux",target:"_blank",rel:"noopener noreferrer"}},[t._v("here"),e("OutboundLink")],1)]),t._v(" "),e("p",[t._v("You can host the kickstart files using preinstalled python http server "),e("code",[t._v("python -m http.server")]),t._v(" and then add "),e("code",[t._v("inst.ks=http://:/kickstart.cfg")]),t._v(" to grub during boot")]),t._v(" "),e("h3",{attrs:{id:"examples"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#examples"}},[t._v("#")]),t._v(" Examples")]),t._v(" "),e("h4",{attrs:{id:"kde-desktop"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#kde-desktop"}},[t._v("#")]),t._v(" KDE Desktop")]),t._v(" "),e("p",[t._v("Example using KDE Desktop with preinstalled CRB and EPEL repositories preinstalled")]),t._v(" "),e("div",{staticClass:"language- extra-class"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[t._v('# use graphical installer\ngraphical\n\n# add base repositories with mirrors\nrepo --name="alamalinux9-baseos" --mirrorlist="https://mirrors.almalinux.org/mirrorlist/9/baseos"\nrepo --name="alamalinux9-appstream" --mirrorlist="https://mirrors.almalinux.org/mirrorlist/9/appstream"\n\n# add epel repo with mirrors\nrepo --name="epel9-everything" --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=epel-9&arch=x86_64"\n\n# add CRB with mirrors\nrepo --name="CRB" --mirrorlist="https://mirrors.almalinux.org/mirrorlist/9/crb/"\n\n# use internet install\nurl --url="https://repo.almalinux.org/almalinux/9/BaseOS/x86_64/kickstart/"\n\n# set hostname (link is the first device that is up)\nnetwork --device=link --bootproto=dhcp --hostname="localhost"\n\n# set locale and keyboard layout\nkeyboard --xlayouts=\'us\'\nlang en_US.UTF-8\n\n# packages or groups to install\n%packages\n# exclude select applications\n-kamera\n-akregator\n-kate\n\n# repos used in kickstart arent saved afterwards\nepel-release\n\n# install kde desktop environmental group\n@^kde-desktop-environment\n\n# install virtual machine guest additions group\n@guest-agents\n%end\n\n# enable first boot agent\nfirstboot --enable\n\n# set timezone and use UTC\ntimezone America/New_York --utc\n\n# disable root account\nrootpw --lock\n\n# create user with multiple groups and password in plaintext\nuser --groups="wheel,input" --name user --password="temp"\n\n# repo command adds a repository only to the installer so add CRB to installed system too\n%post\n#!/bin/sh\ndnf config-manager --set-enabled crb\n%end\n')])])])])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/69.1126798b.js b/assets/js/69.1126798b.js new file mode 100644 index 000000000..aba13fb5f --- /dev/null +++ b/assets/js/69.1126798b.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[69],{350:function(e,t,r){"use strict";r.r(t);var a=r(14),s=Object(a.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"almalinux-migration-guide"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-migration-guide"}},[e._v("#")]),e._v(" AlmaLinux Migration Guide")]),e._v(" "),t("p",[e._v("This guide describes how to convert your operating system to AlmaLinux using the "),t("a",{attrs:{href:"https://github.com/AlmaLinux/almalinux-deploy",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Migration tool"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("p",[e._v("What OSes can be converted:")]),e._v(" "),t("ul",[t("li",[e._v("CentOS 8")]),e._v(" "),t("li",[e._v("CentOS Stream 8, 9")]),e._v(" "),t("li",[e._v("Miracle Linux 8, 9")]),e._v(" "),t("li",[e._v("Oracle Linux 8, 9")]),e._v(" "),t("li",[e._v("RHEL 8, 9")]),e._v(" "),t("li",[e._v("Rocky Linux 8, 9")]),e._v(" "),t("li",[e._v("Virtuozzo Linux (VZLinux) 8, 9")])]),e._v(" "),t("p",[e._v("This tool also supports cPanel, Plesk and DirectAdmin panels.")]),e._v(" "),t("h2",{attrs:{id:"how-to-migrate"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-to-migrate"}},[e._v("#")]),e._v(" How to Migrate")]),e._v(" "),t("p",[e._v("The minimal supported version of EL8 operating systems is 8.4. In case your OS version is lower, please, upgrade it.")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("It's recommended to have a backup or snapshot of your system. There'll be a restore point if something will go wrong.")])]),e._v(" "),t("p",[e._v("Follow these steps to convert your EL8 or EL9 system to AlmaLinux using CLI:")]),e._v(" "),t("ul",[t("li",[e._v("Run the following command to update your operating system if needed:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo dnf update -y\n")])])]),t("ul",[t("li",[e._v("Run the following command to download "),t("a",{attrs:{href:"https://github.com/AlmaLinux/almalinux-deploy/blob/master/almalinux-deploy.sh",target:"_blank",rel:"noopener noreferrer"}},[e._v("almalinux-deploy.sh"),t("OutboundLink")],1),e._v(" script:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh\n")])])]),t("ul",[t("li",[e._v("Run the script:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo bash almalinux-deploy.sh\n")])])]),t("ul",[t("li",[e._v("Check the output for any errors. If the conversion went without any issues, you'll see that "),t("code",[e._v("Migration to AlmaLinux is completed")]),e._v(" in the output.")]),e._v(" "),t("li",[e._v("Reboot the system to boot with AlmaLinux kernel:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo reboot\n")])])]),t("ul",[t("li",[e._v("Ensure that your system was successfully converted:\n"),t("ul",[t("li",[e._v("Check the release file:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("$ cat /etc/redhat-release\nAlmaLinux release 8.7 (Stone Smilodon)\n")])])]),t("ul",[t("li",[e._v("Check that the system boots with AlmaLinux kernel by default:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('$ sudo grubby --info DEFAULT | grep AlmaLinux\ntitle="AlmaLinux (4.18.0-425.3.1.el8.x86_64) 8.7 (Stone Smilodon)"\n')])])])])]),e._v(" "),t("h2",{attrs:{id:"migrating-from-centos-versions-lower-than-8-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#migrating-from-centos-versions-lower-than-8-4"}},[e._v("#")]),e._v(" Migrating from CentOS versions lower than 8.4")]),e._v(" "),t("p",[e._v("There are a few additional moments when you are converting your CentOS System.\nCentOS 8.4 or 8.5 is required to convert to AlmaLinux. If your CentOS version is lower, it is recommended to update it to 8.5 before converting to AlmaLinux. Though, it's not necessary if your CentOS version is at least CentOS 8.4.")]),e._v(" "),t("ul",[t("li",[e._v("As of January 31, 2022, the CentOS 8 mirror lists are offline. To successfully perform "),t("code",[e._v("dnf update -y")]),e._v(" you need to update your "),t("code",[e._v("dnf")]),e._v(" config files to point to a valid mirror. You can use the following "),t("code",[e._v("sed")]),e._v(" commands for convenience to restore dnf to a functional state that will let you update to 8.5 and subsequently AlmaLinux.")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo sed -i -e '/mirrorlist=http:\\/\\/mirrorlist.centos.org\\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\\/\\/mirror.centos.org\\/$contentdir\\/$releasever\\// s/^#*/#/' -e '/^\\[baseos\\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/BaseOS/$basearch/os' /etc/yum.repos.d/CentOS-Linux-BaseOS.repo\nsudo sed -i -e '/mirrorlist=http:\\/\\/mirrorlist.centos.org\\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\\/\\/mirror.centos.org\\/$contentdir\\/$releasever\\// s/^#*/#/' -e '/^\\[appstream\\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/AppStream/$basearch/os' /etc/yum.repos.d/CentOS-Linux-AppStream.repo\nsudo sed -i -e '/mirrorlist=http:\\/\\/mirrorlist.centos.org\\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\\/\\/mirror.centos.org\\/$contentdir\\/$releasever\\// s/^#*/#/' -e '/^\\[cr\\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/ContinuousRelease/$basearch/os' /etc/yum.repos.d/CentOS-Linux-ContinuousRelease.repo\nsudo sed -i -e '/mirrorlist=http:\\/\\/mirrorlist.centos.org\\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\\/\\/mirror.centos.org\\/$contentdir\\/$releasever\\// s/^#*/#/' -e '/^\\[devel\\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/Devel/$basearch/os' /etc/yum.repos.d/CentOS-Linux-Devel.repo\nsudo sed -i -e '/mirrorlist=http:\\/\\/mirrorlist.centos.org\\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\\/\\/mirror.centos.org\\/$contentdir\\/$releasever\\// s/^#*/#/' -e '/^\\[extras\\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/extras/$basearch/os' /etc/yum.repos.d/CentOS-Linux-Extras.repo\nsudo sed -i -e '/mirrorlist=http:\\/\\/mirrorlist.centos.org\\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\\/\\/mirror.centos.org\\/$contentdir\\/$releasever\\// s/^#*/#/' -e '/^\\[fasttrack\\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/fasttrack/$basearch/os' /etc/yum.repos.d/CentOS-Linux-FastTrack.repo\nsudo sed -i -e '/mirrorlist=http:\\/\\/mirrorlist.centos.org\\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\\/\\/mirror.centos.org\\/$contentdir\\/$releasever\\// s/^#*/#/' -e '/^\\[ha\\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/HighAvailability/$basearch/os' /etc/yum.repos.d/CentOS-Linux-HighAvailability.repo\nsudo sed -i -e '/mirrorlist=http:\\/\\/mirrorlist.centos.org\\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\\/\\/mirror.centos.org\\/$contentdir\\/$releasever\\// s/^#*/#/' -e '/^\\[plus\\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/centosplus/$basearch/os' /etc/yum.repos.d/CentOS-Linux-Plus.repo\nsudo sed -i -e '/mirrorlist=http:\\/\\/mirrorlist.centos.org\\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\\/\\/mirror.centos.org\\/$contentdir\\/$releasever\\// s/^#*/#/' -e '/^\\[powertools\\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/PowerTools/$basearch/os' /etc/yum.repos.d/CentOS-Linux-PowerTools.repo\n")])])]),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("Alternatively, you can use the "),t("code",[e._v("-f")]),e._v(" flag to handle this for you when running the "),t("a",{attrs:{href:"https://github.com/AlmaLinux/almalinux-deploy/blob/master/almalinux-deploy.sh",target:"_blank",rel:"noopener noreferrer"}},[e._v("almalinux-deploy.sh"),t("OutboundLink")],1),e._v(" script:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo bash almalinux-deploy.sh -f\n")])])])]),e._v(" "),t("ul",[t("li",[e._v("Run the following command to update your operating system:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo dnf update -y\n")])])]),t("ul",[t("li",[e._v("Reboot the system after the updating:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo reboot\n")])])]),t("ul",[t("li",[e._v("Run the following command to download "),t("a",{attrs:{href:"https://github.com/AlmaLinux/almalinux-deploy/blob/master/almalinux-deploy.sh",target:"_blank",rel:"noopener noreferrer"}},[e._v("almalinux-deploy.sh"),t("OutboundLink")],1),e._v(" script:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh\n")])])]),t("ul",[t("li",[e._v("Run the script:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo bash almalinux-deploy.sh\n")])])]),t("ul",[t("li",[e._v("Ensure that your system was successfully converted:\n"),t("ul",[t("li",[e._v("check the release file")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("$ cat /etc/redhat-release\nAlmaLinux release 8.7 (Stone Smilodon)\n")])])]),t("ul",[t("li",[e._v("check that the system boots with AlmaLinux kernel by default")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('$ sudo grubby --info DEFAULT | grep AlmaLinux\ntitle="AlmaLinux (4.18.0-425.3.1.el8.x86_64) 8.7 (Stone Smilodon)"\n')])])])])]),e._v(" "),t("h2",{attrs:{id:"get-help"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#get-help"}},[e._v("#")]),e._v(" Get Help")]),e._v(" "),t("p",[e._v("For more help and assistance reach out to us in the ~migration channel on the "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/migration",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Community Chat"),t("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/7.93fcf6e6.js b/assets/js/7.93fcf6e6.js new file mode 100644 index 000000000..8429c6921 --- /dev/null +++ b/assets/js/7.93fcf6e6.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{302:function(t,e,s){"use strict";s.r(e);const o=["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."];var n={methods:{getMsg:()=>o[Math.floor(Math.random()*o.length)]}},h=s(14),i=Object(h.a)(n,(function(){var t=this._self._c;return t("div",{staticClass:"theme-container"},[t("div",{staticClass:"theme-default-content"},[t("h1",[this._v("404")]),this._v(" "),t("blockquote",[this._v(this._s(this.getMsg()))]),this._v(" "),t("RouterLink",{attrs:{to:"/"}},[this._v("\n Take me home.\n ")])],1)])}),[],!1,null,null,null);e.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/70.1cc2707f.js b/assets/js/70.1cc2707f.js new file mode 100644 index 000000000..898c709fa --- /dev/null +++ b/assets/js/70.1cc2707f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[70],{358:function(e,t,s){"use strict";s.r(t);var a=s(14),i=Object(a.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("table",[t("thead",[t("tr",[t("th",[e._v("Experience Level")]),e._v(" "),t("th",[e._v("⭑⭑⭒⭒⭒ (Intermediate)")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("Last modified date")]),e._v(" "),t("td",[e._v("4/12/2023")])])])]),e._v(" "),t("h2",{attrs:{id:"about-openqa-in-the-almalinux-project"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#about-openqa-in-the-almalinux-project"}},[e._v("#")]),e._v(" About openQA in the AlmaLinux Project")]),e._v(" "),t("p",[e._v("AlmaLinux places great importance on thorough testing. This guide outlines the implementation and use of the openQA tool for automating the testing of the AlmaLinux OS installation process across all supported architectures.")]),e._v(" "),t("p",[e._v("Accessible at "),t("a",{attrs:{href:"https://openqa.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("openqa.almalinux.org"),t("OutboundLink")],1),e._v(", the openQA tool uses virtual machines to reproduce the installation process and check the output (both serial console and graphics output).")]),e._v(" "),t("p",[e._v("Detailed information about openQA can be found at "),t("a",{attrs:{href:"https://open.qa/",target:"_blank",rel:"noopener noreferrer"}},[e._v("open.qa"),t("OutboundLink")],1),e._v(" and "),t("a",{attrs:{href:"https://open.qa/docs/",target:"_blank",rel:"noopener noreferrer"}},[e._v("open.qa/docs"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h4",{attrs:{id:"supported-architectures"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#supported-architectures"}},[e._v("#")]),e._v(" Supported Architectures")]),e._v(" "),t("ul",[t("li",[e._v("x86-64")]),e._v(" "),t("li",[e._v("aarch64")]),e._v(" "),t("li",[e._v("ppc64le")]),e._v(" "),t("li",[e._v("s390x")])]),e._v(" "),t("h4",{attrs:{id:"almalinux-openqa-repositories"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-openqa-repositories"}},[e._v("#")]),e._v(" AlmaLinux openQA repositories")]),e._v(" "),t("p",[e._v("There are three GitHub repositories involved in AlmaLinux OpenQA Testing:")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://github.com/AlmaLinux/openqa-infra",target:"_blank",rel:"noopener noreferrer"}},[e._v("openqa-infra"),t("OutboundLink")],1),e._v(" - contains the install and configuration scripts and essential documentation")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://github.com/AlmaLinux/os-autoinst-distri-almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("os-autoinst-distri-almalinux"),t("OutboundLink")],1),e._v(" - openQA test scripts")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://github.com/AlmaLinux/openqa-createhdds",target:"_blank",rel:"noopener noreferrer"}},[e._v("openqa-createhdds"),t("OutboundLink")],1),e._v(" - utility project to create hard-disk image files from KickStarts files")])]),e._v(" "),t("h2",{attrs:{id:"user-guide"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#user-guide"}},[e._v("#")]),e._v(" User Guide")]),e._v(" "),t("p",[e._v("This User Guide describes what information can be found on the "),t("a",{attrs:{href:"https://openqa.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("openqa.almalinux.org"),t("OutboundLink")],1)]),e._v(" "),t("p",[e._v("To begin with, navigate your browser to https://openqa.almalinux.org.\nYou will find yourself on the main page. You can see the "),t("a",{attrs:{href:"#latest-tests-on-the-main-page"}},[e._v("latest tested jobs")]),e._v(" and their test statuses.\n"),t("img",{attrs:{src:"/images/openQA-main_page.png",alt:"image"}})]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("You can see the "),t("em",[t("strong",[e._v("Learn more")])]),e._v(" button on the main page. It leads you directly to "),t("strong",[t("a",{attrs:{href:"https://open.qa/",target:"_blank",rel:"noopener noreferrer"}},[e._v("open.qa"),t("OutboundLink")],1)]),e._v(".")])]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[t("strong",[e._v("Log in")]),e._v(" is available only for members of the AlmaLinux Organization on GitHub, but all the tests, their results and logs are also available for an unauthorized user.")])]),e._v(" "),t("p",[e._v('OpenQA test suites are executed in separate processes, referred to as "jobs," with each job focusing on testing a specific piece of installer functionality.')]),e._v(" "),t("p",[e._v("You can use the "),t("strong",[e._v("search")]),e._v(" field to find:")]),e._v(" "),t("ul",[t("li",[e._v("job templates by name or description")]),e._v(" "),t("li",[e._v("job modules by filename")]),e._v(" "),t("li",[e._v("test modules within the test distributions, either by filename or source code.")])]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/openQA-Search.png",alt:"image"}})]),e._v(" "),t("h3",{attrs:{id:"latest-tests-on-the-main-page"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#latest-tests-on-the-main-page"}},[e._v("#")]),e._v(" Latest tests on the main page")]),e._v(" "),t("p",[e._v("The main page shows the latest tested jobs with the statuses. Clicking on the build (a version of a product) or a test status scale lead you to a "),t("em",[e._v("Test result overview")]),e._v(".\n"),t("img",{attrs:{src:"/images/openQA-Test_Result_Overview.png",alt:"image"}})]),e._v(" "),t("h4",{attrs:{id:"summary-of-test-result-overview"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#summary-of-test-result-overview"}},[e._v("#")]),e._v(" Summary of Test Result Overview")]),e._v(" "),t("p",[e._v("The test result overview provides the following details:")]),e._v(" "),t("ul",[t("li",[e._v("Total number of test jobs performed")]),e._v(" "),t("li",[e._v("Job result statuses, which typically include:\n"),t("ul",[t("li",[e._v("Passed - No critical failures detected during the process")]),e._v(" "),t("li",[e._v("Failed - At least one critical assertion not satisfied")]),e._v(" "),t("li",[e._v("Soft-Failed - At least one known, non-critical issue found")]),e._v(" "),t("li",[e._v("Skipped - Job not started due to failed dependencies")]),e._v(" "),t("li",[e._v("Flavors - Specific variants of a product")])])]),e._v(" "),t("li",[e._v("A test suite for each flavor, is accompanied by a job result icon.")])]),e._v(" "),t("h4",{attrs:{id:"result-details"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#result-details"}},[e._v("#")]),e._v(" Result details")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("You can view the tests conducted, their statuses, and screenshots. By clicking on the test icon, you will be directed to the job's "),t("strong",[e._v("Details")]),e._v(" page, which displays the screenshots and the time taken to complete the job.\n"),t("img",{attrs:{src:"/images/openQA-Test_Details.png",alt:"image"}})])]),e._v(" "),t("li",[t("p",[e._v('Clicking on a screenshot will enlarge it and display a "needle" – a mechanism used to determine the state of the virtual machine by detecting the presence of specific elements on the machine\'s output (screen).\n'),t("img",{attrs:{src:"/images/openQA-needle.png",alt:"image"}})])])]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("There's a small camera icon that will take you to a video recording of the executed test.\nExample:\n"),t("img",{attrs:{src:"/images/openQA-video_recording.png",alt:"image"}})])]),e._v(" "),t("ul",[t("li",[e._v("The "),t("strong",[e._v("Logs and Assets")]),e._v(" section enables you to download result files and the product that was tested (an iso file).")]),e._v(" "),t("li",[e._v("Moreover, there're "),t("strong",[e._v("Settings")]),e._v(" section for job's settings, "),t("strong",[e._v("Comments")]),e._v(", and the "),t("strong",[e._v("Next&Previous")]),e._v(" results for the latest job for this scenario.")])]),e._v(" "),t("h3",{attrs:{id:"all-tests"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#all-tests"}},[e._v("#")]),e._v(" All Tests")]),e._v(" "),t("p",[e._v("The "),t("strong",[e._v("All Tests")]),e._v(" option leads to a list of jobs that are running (in the process), scheduled and the last 500 finished jobs. The last 500 finished jobs can be filtered by the result status.\n"),t("img",{attrs:{src:"/images/openQA-All_Tests.png",alt:"image"}})]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("openQA is employed to evaluate diverse combinations of actions and configurations in the AlmaLinux installer. By establishing a virtual machine, executing a sequence of steps, and generating a result for each unique combination, openQA ensures comprehensive testing. These runs, known as 'jobs,' are assigned a numeric identifier and are governed by various settings that determine their behavior.")])]),e._v(" "),t("p",[e._v("Numerous job parameters are involved in the process:")]),e._v(" "),t("ul",[t("li",[t("p",[t("code",[e._v("Medium")]),e._v(': Represents the "tested product" and consists of a name along with a set of variables that characterize the product.')])]),e._v(" "),t("li",[t("p",[t("code",[e._v("Test")]),e._v(": Displays a job status icon and ID. Hovering over the status icon reveals the status description, such as done, failed, etc. Hovering over the branch icon after the test name highlights the job's children in blue and parents in red (if present on the same page).")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("Clicking on the status icon will lead you to the test overview page.")])]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("Clicking on the test icons for an ongoing job will take you to a live video feed of the test in progress.")]),e._v(" "),t("p",[e._v("Example:\n"),t("img",{attrs:{src:"/images/openQA-Live_View.png",alt:"image"}})])])]),e._v(" "),t("li",[t("p",[t("code",[e._v("Progress")]),e._v(": Indicates the percentage of test completion through a progress scale.")])]),e._v(" "),t("li",[t("p",[t("code",[e._v("Priority")]),e._v(": A value used by the scheduler to determine the next job in line.")])]),e._v(" "),t("li",[t("p",[t("code",[e._v("Result")]),e._v(': Displays the "result overview" icon set, including the number of passed and failed modules, dependencies, and the presence of bugs, among others.')])]),e._v(" "),t("li",[t("p",[t("code",[e._v("Started")]),e._v(": Timestamp indicating when a job began.")])]),e._v(" "),t("li",[t("p",[t("code",[e._v("Created")]),e._v(": Timestamp indicating when a job was created.")])]),e._v(" "),t("li",[t("p",[t("code",[e._v("Finished")]),e._v(": Timestamp indicating when a job was completed.")])])]),e._v(" "),t("h3",{attrs:{id:"job-groups"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#job-groups"}},[e._v("#")]),e._v(" Job Groups")]),e._v(" "),t("p",[e._v("The "),t("strong",[e._v("Job Groups")]),e._v(" option opens a menu.\n"),t("img",{attrs:{src:"/images/openQA-Job_Groups.png",alt:"image"}})]),e._v(" "),t("p",[e._v("Each job is assigned to a group based on its respective architecture. "),t("em",[e._v("Updates")]),e._v(" groups pertain to jobs associated with products that have updates. When selecting a job group, you'll be shown the most recent tested builds for that group, accompanied by a test results scale.")]),e._v(" "),t("h2",{attrs:{id:"contribute-and-get-help"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#contribute-and-get-help"}},[e._v("#")]),e._v(" Contribute and Get Help")]),e._v(" "),t("p",[e._v("If you feel like getting involved or for questions and discussions, please, join us the in the "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/town-square",target:"_blank",rel:"noopener noreferrer"}},[e._v("Mattermost Chat"),t("OutboundLink")],1),e._v(" and check the "),t("a",{attrs:{href:"#about-openqa-in-the-almalinux-project"}},[e._v("openQA repositories")]),e._v(".")])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/71.cdab27e6.js b/assets/js/71.cdab27e6.js new file mode 100644 index 000000000..1439dd91c --- /dev/null +++ b/assets/js/71.cdab27e6.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[71],{354:function(e,t,a){"use strict";a.r(t);var s=a(14),n=Object(s.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"almalinux-9-openscap-guide"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-9-openscap-guide"}},[e._v("#")]),e._v(" AlmaLinux 9 OpenSCAP Guide")]),e._v(" "),t("p",[e._v("This guide was developed AlmaLinux 9 OS.\nYou can find some general information about OpenSCAP and how to enable OpenSCAP packages in the "),t("a",{attrs:{href:"https://wiki.almalinux.org/documentation/openscap-guide.html#about-openscap",target:"_blank",rel:"noopener noreferrer"}},[e._v("About OpenSCAP"),t("OutboundLink")],1),e._v(" section.")]),e._v(" "),t("h2",{attrs:{id:"validate-data-stream-file"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#validate-data-stream-file"}},[e._v("#")]),e._v(" Validate Data Stream File")]),e._v(" "),t("p",[e._v("A single source data stream file includes XCCDF content. Run the following command to validate a source data stream file against its schema:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('oscap ds sds-validate /usr/share/xml/scap/ssg/content/ssg-almalinux9-ds.xml \\ && echo "ok" || echo "exit code = $? not ok"\n')])])]),t("p",[e._v("The command output returns "),t("em",[e._v("ok")]),e._v(" if the data-stream file is valid.")]),e._v(" "),t("p",[e._v("The part in quotes is the full path to the security content file being examined.")]),e._v(" "),t("h2",{attrs:{id:"displaying-information-using-oscap"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#displaying-information-using-oscap"}},[e._v("#")]),e._v(" Displaying information, using "),t("code",[e._v("oscap")])]),e._v(" "),t("p",[e._v("The "),t("code",[e._v("oscap -V")]),e._v(" command displays information such as the specifications which the version of oscap supports; capabilities of the oscap version; where schema, CPE, and probe files are stored; inbuilt CPE names; supported OVAL objects and associated SCAP probes.")]),e._v(" "),t("p",[e._v("As an example of an output you will see this:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("OpenSCAP command line tool (oscap) 1.3.6\nCopyright 2009--2021 Red Hat Inc., Durham, North Carolina.\n\n==== Supported specifications ====\nSCAP Version: 1.3\nXCCDF Version: 1.2\nOVAL Version: 5.11.1\nCPE Version: 2.3\nCVSS Version: 2.0\nCVE Version: 2.0\nAsset Identification Version: 1.1\nAsset Reporting Format Version: 1.1\nCVRF Version: 1.1\n\n==== Capabilities added by auto-loaded plugins ====\nNo plugins have been auto-loaded...\n\n==== Paths ====\nSchema files: /usr/share/openscap/schemas\nDefault CPE files: /usr/share/openscap/cpe\n\n==== Inbuilt CPE names ====\nRed Hat Enterprise Linux - cpe:/o:redhat:enterprise_linux:-\nRed Hat Enterprise Linux 5 - cpe:/o:redhat:enterprise_linux:5\n...\nCommunity Enterprise Operating System 8 - cpe:/o:centos:centos:8\nAlmaLinux 8 - cpe:/o:almalinux:almalinux:8\nAlmaLinux 9 - cpe:/o:almalinux:almalinux:9\nFedora 32 - cpe:/o:fedoraproject:fedora:32\n...\n\n==== Supported OVAL objects and associated OpenSCAP probes ====\nOVAL family OVAL object OpenSCAP probe \n---------- ---------- ---------- \nindependent environmentvariable probe_environmentvariable\nindependent environmentvariable58 probe_environmentvariable58\n...\nunix xinetd probe_xinetd\n")])])]),t("h2",{attrs:{id:"displaying-available-profiles"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#displaying-available-profiles"}},[e._v("#")]),e._v(" Displaying Available Profiles")]),e._v(" "),t("p",[e._v("A profile consists of common security suggestions that are related to any AlmaLinux installation. Profiles also have supplementary recommendations for the system to use. So, the oscap info command is used to see if available profiles are currently supported by the SCAP Security Guide which is a checklist file.")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("oscap info /usr/share/xml/scap/ssg/content/ssg-almalinux9-ds.xml\n")])])]),t("p",[e._v("The part in quotes is the full path to the security content file being examined.")]),e._v(" "),t("p",[e._v("As an example of displaying available profiles output you'll see next:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("Document type: Source Data Stream\nImported: 2022-05-25T01:55:58\n\nStream: scap_org.open-scap_datastream_from_xccdf_ssg-almalinux9-xccdf-1.2.xml\nGenerated: (null)\nVersion: 1.3\nChecklists:\n\tRef-Id: scap_org.open-scap_cref_ssg-almalinux9-xccdf-1.2.xml\nWARNING: Datastream component 'scap_org.open-scap_cref_oval-org.almalinux.alsa-9.xml.bz2' points out to the remote 'https://security.almalinux.org/oval/org.almalinux.alsa-9.xml.bz2'. Use the '--fetch-remote-resources' option to download it.\nWARNING: Skipping 'https://security.almalinux.org/oval/org.almalinux.alsa-9.xml.bz2' file which is referenced from datastream\n\t\tStatus: draft\n\t\tGenerated: 2022-05-24\n\t\tResolved: true\n\t\tProfiles:\n\t\t\tTitle: ANSSI-BP-028 (enhanced)\n\t\t\t\tId: xccdf_org.ssgproject.content_profile_anssi_bp28_enhanced\n\t\t\tTitle: ANSSI-BP-028 (high)\n\t\t\t\tId: xccdf_org.ssgproject.content_profile_anssi_bp28_high\n\t\t\tTitle: ANSSI-BP-028 (intermediary)\n\t\t\t\tId: xccdf_org.ssgproject.content_profile_anssi_bp28_intermediary\n\t\t\tTitle: ANSSI-BP-028 (minimal)\n\t\t\t\tId: xccdf_org.ssgproject.content_profile_anssi_bp28_minimal\n\t\t\tTitle: [DRAFT] CIS AlmaLinux 9 Benchmark for Level 2 - Server\n\t\t\t\tId: xccdf_org.ssgproject.content_profile_cis\n\t\t\tTitle: [DRAFT] CIS AlmaLinux 9 Benchmark for Level 1 - Server\n\t\t\t\tId: xccdf_org.ssgproject.content_profile_cis_server_l1\n\t\t\tTitle: [DRAFT] CIS AlmaLinux 9 Benchmark for Level 1 - Workstation\n\t\t\t\tId: xccdf_org.ssgproject.content_profile_cis_workstation_l1\n\t\t\tTitle: [DRAFT] CIS AlmaLinux 9 Benchmark for Level 2 - Workstation\n\t\t\t\tId: xccdf_org.ssgproject.content_profile_cis_workstation_l2\n\t\t\tTitle: [DRAFT] Unclassified Information in Non-federal Information Systems and Organizations (NIST 800-171)\n\t\t\t\tId: xccdf_org.ssgproject.content_profile_cui\n\t\t\tTitle: Australian Cyber Security Centre (ACSC) Essential Eight\n\t\t\t\tId: xccdf_org.ssgproject.content_profile_e8\n\t\t\tTitle: Health Insurance Portability and Accountability Act (HIPAA)\n\t\t\t\tId: xccdf_org.ssgproject.content_profile_hipaa\n\t\t\tTitle: Australian Cyber Security Centre (ACSC) ISM Official\n\t\t\t\tId: xccdf_org.ssgproject.content_profile_ism_o\n\t\t\tTitle: [DRAFT] Protection Profile for General Purpose Operating Systems\n\t\t\t\tId: xccdf_org.ssgproject.content_profile_ospp\n\t\t\tTitle: PCI-DSS v3.2.1 Control Baseline for Red Hat Enterprise Linux 9\n\t\t\t\tId: xccdf_org.ssgproject.content_profile_pci-dss\n\t\t\tTitle: [DRAFT] DISA STIG for Red Hat Enterprise Linux 9\n\t\t\t\tId: xccdf_org.ssgproject.content_profile_stig\n\t\t\tTitle: [DRAFT] DISA STIG with GUI for Red Hat Enterprise Linux 9\n\t\t\t\tId: xccdf_org.ssgproject.content_profile_stig_gui\n\t\tReferenced check files:\n\t\t\tssg-almalinux9-oval.xml\n\t\t\t\tsystem: http://oval.mitre.org/XMLSchema/oval-definitions-5\n\t\t\tssg-almalinux9-ocil.xml\n\t\t\t\tsystem: http://scap.nist.gov/schema/ocil/2\n\t\t\toval-org.almalinux.alsa-9.xml.bz2\n\t\t\t\tsystem: http://oval.mitre.org/XMLSchema/oval-definitions-5\nChecks:\n\tRef-Id: scap_org.open-scap_cref_ssg-almalinux9-oval.xml\n\tRef-Id: scap_org.open-scap_cref_ssg-almalinux9-ocil.xml\n\tRef-Id: scap_org.open-scap_cref_--builddir--build--BUILD--scap-security-guide-0.1.60--build--ssg-almalinux9-cpe-oval.xml\n\tRef-Id: scap_org.open-scap_cref_oval-org.almalinux.alsa-9.xml.bz2\nDictionaries:\n\tRef-Id: scap_org.open-scap_cref_--builddir--build--BUILD--scap-security-guide-0.1.60--build--ssg-almalinux9-cpe-dictionary.xml\n")])])]),t("h2",{attrs:{id:"view-information-about-a-profile"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#view-information-about-a-profile"}},[e._v("#")]),e._v(" View information about a profile")]),e._v(" "),t("p",[e._v("The "),t("code",[e._v("--profile")]),e._v(" option is useful to get information about a specific profile.")]),e._v(" "),t("p",[e._v("For example:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("oscap info --profile xccdf_org.ssgproject.content_profile_hipaa /usr/share/xml/scap/ssg/content/ssg-almalinux9-ds.xml\n")])])]),t("p",[e._v("There's an output example:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("Document type: Source Data Stream\nImported: 2022-05-25T01:55:58\n\nStream: scap_org.open-scap_datastream_from_xccdf_ssg-almalinux9-xccdf-1.2.xml\nGenerated: (null)\nVersion: 1.3\nWARNING: Datastream component 'scap_org.open-scap_cref_oval-org.almalinux.alsa-9.xml.bz2' points out to the remote 'https://security.almalinux.org/oval/org.almalinux.alsa-9.xml.bz2'. Use '--fetch-remote-resources' option to download it.\nWARNING: Skipping 'https://security.almalinux.org/oval/org.almalinux.alsa-9.xml.bz2' file which is referenced from datastream\nProfile\n\tTitle: Health Insurance Portability and Accountability Act (HIPAA)\n\tId: xccdf_org.ssgproject.content_profile_hipaa\n\n\tDescription: The HIPAA Security Rule establishes U.S. national standards to protect individuals’ electronic personal health information that is created, received, used, or maintained by a covered entity. The Security Rule requires appropriate administrative, physical and technical safeguards to ensure the confidentiality, integrity, and security of electronic protected health information. This profile configures AlmaLinux 9 to the HIPAA Security Rule identified for securing of electronic protected health information. Use of this profile in no way guarantees or makes claims against legal compliance against the HIPAA Security Rule(s).\n")])])]),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("You can see a warning about remote data stream components when viewing information about XCCDF profiles. The data stream file contains information on where to download these components - OVAL definitions. You can ignore this warning now, but you must use the "),t("code",[e._v("--fetch-remote-resources")]),e._v(" option when performing an evaluation. This option allows OSCAP to download these resources.")])]),e._v(" "),t("h2",{attrs:{id:"scanning-the-system"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#scanning-the-system"}},[e._v("#")]),e._v(" Scanning the system")]),e._v(" "),t("p",[e._v("The most effective use of the oscap utility is the feature to perform configuration and vulnerability scans of a local system. The "),t("code",[e._v("oscap xccdf eval")]),e._v(" command is useful to scan a system against an XCCDF profile.")]),e._v(" "),t("p",[e._v("The output of this command shows a scan operation. The results are shown in a terminal window, as well as saved in XML and HTML formats in the two directories. One directory is /tmp, and the other is the "),t("strong",[e._v("~home/user")]),e._v(" catalog that you choose by yourself where you'd like to save the results. Any rule in a profile that results in a fail potentially requires the system to be reconfigured.")]),e._v(" "),t("p",[e._v("Here's an example of running the "),t("code",[e._v("oscap xccdf eval")]),e._v(" command against a determined profile:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo oscap xccdf eval --profile hipaa --fetch-remote-resources --results /tmp/ssg-results.xml --report ~/report/ssg-results.html /usr/share/xml/scap/ssg/content/ssg-almalinux9-ds.xml\n")])])]),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("You must use the "),t("code",[e._v("--fetch-remote-resources")]),e._v(" option when performing an evaluation. This option allows OSCAP to download these remote resources which are OVAL definitions. Information on where to download them is included in the data stream file.")])]),e._v(" "),t("p",[e._v("Here is an example output of this command:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("Downloading: https://security.almalinux.org/oval/org.almalinux.alsa-9.xml.bz2 ... ok\n--- Starting Evaluation ---\n\nTitle Verify File Hashes with RPM\nRule xccdf_org.ssgproject.content_rule_rpm_verify_hashes\nResult pass\n...\nTitle Distribute the SSH Server configuration to multiple files in a config directory.\nRule xccdf_org.ssgproject.content_rule_sshd_use_directory_configuration\nResult pass \n")])])]),t("p",[e._v("The HTML report which you can view in a browser looks like as follows:")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/openscap-9_evaluation_report.png",alt:"image"}})]),e._v(" "),t("h2",{attrs:{id:"generating-a-full-security-guide"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#generating-a-full-security-guide"}},[e._v("#")]),e._v(" Generating a Full Security Guide")]),e._v(" "),t("p",[e._v("To create a full security guide for a system based on an XCCDF profile, use the "),t("code",[e._v("oscap xccdf generate guide")]),e._v(" command. Pay attention, that like in the previous command you choose your home path "),t("strong",[e._v("~home/user")]),e._v(" to save the HTML security guide.")]),e._v(" "),t("p",[e._v("Use the oscap xccdf generate guide command to create a full security guide that provides a catalog of security-relevant configuration settings for the system. Security guides often include example bash remediation scripts and Ansible snippets that can be helpful when run against the system to automatically resolve issues. Be aware that you should test remediation scripts on systems within a test environment as actions taken by scripts may not be desirable for your enterprise.")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo oscap xccdf generate guide --profile hipaa --fetch-remote-resources \\\n/usr/share/xml/scap/ssg/content/ssg-almalinux9-ds.xml > ~/report/security_guide.html\n")])])]),t("p",[e._v("The HTML report which you can view in a browser looks like as follows:")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/openscap-9_full_security_guide.png",alt:"image"}})]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("Run the "),t("code",[e._v("oscap info ssg-results.xml")]),e._v(" command from the "),t("em",[e._v("/tmp")]),e._v(" directory to review the results XML file. You can get information like remediation scripts from it.")])]),e._v(" "),t("h2",{attrs:{id:"remediating-a-system-for-compliance-with-a-security-profile"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#remediating-a-system-for-compliance-with-a-security-profile"}},[e._v("#")]),e._v(" Remediating a System For Compliance With a Security Profile")]),e._v(" "),t("p",[e._v("Performing remediation steps is recommended after a fresh installation without any profile selected while installation. OSCAP commands can apply remediation steps where the system fails to comply with an XCCDF profile. You can find these rules that result in fail status during scanning the system and generating a security guide.")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("Note, that remediation doesn't guarantee compliance with an XCCDF profile if the system configuration has been changed. Also, remediation steps can make changes to a system and alter how a system functions and the steps can't be automatically reverted once applied. So it's not recommended to run remediation steps on a production system without testing.")])]),e._v(" "),t("p",[e._v("Run the "),t("code",[e._v("oscap xccdf eval")]),e._v(" command with "),t("code",[e._v("--profile")]),e._v(" and "),t("code",[e._v("--remediate")]),e._v(" options to allow OSCAP automatically apply remediation steps:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo oscap xccdf eval --profile hipaa \\\n --remediate /usr/share/xml/scap/ssg/content/ssg-almalinux9-ds.xml \n")])])]),t("p",[e._v("After that, reboot the system and scan the system again to validate the changes.")]),e._v(" "),t("p",[e._v("It's possible to generate remediation scripts for later use allowing to review and modify actions before applying these changes.\nThe following command generates a remediation script that provides all of the remediations that are present in a profile. Run the command against the data stream file:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("oscap xccdf generate fix --profile hipaa --fix-type bash \\\n --output all-remediations.sh /usr/share/xml/scap/ssg/content/ssg-almalinux9-ds.xml\n")])])]),t("p",[e._v("To generate a remediation script with specific remediations run a scan against an XCCDF file and use an XML results file:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("oscap xccdf generate fix --profile hipaa --fix-type bash --output remediations.sh /tmp/ssg-results.xml\n")])])]),t("h2",{attrs:{id:"auditing-for-vulnerabilities-by-using-oval-definitions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#auditing-for-vulnerabilities-by-using-oval-definitions"}},[e._v("#")]),e._v(" Auditing for Vulnerabilities By Using OVAL Definitions")]),e._v(" "),t("h3",{attrs:{id:"about-oval"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#about-oval"}},[e._v("#")]),e._v(" About OVAL")]),e._v(" "),t("p",[e._v("The OVAL definition file is used to scan the system in order to verify if applicable errata have been installed. To see the information about supported AlmaLinux OS versions and their public OVAL streams, please, visit the "),t("a",{attrs:{href:"https://wiki.almalinux.org/documentation/oval-streams.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux OVAL streams"),t("OutboundLink")],1),e._v(" wiki page.")]),e._v(" "),t("p",[e._v("There are two types of OVAL files: "),t("em",[e._v("org.almalinux.alsa-9.xml")]),e._v(" and "),t("em",[e._v("org.almalinux.alsa-9.xml.bz2")]),e._v(", which contain the same information but archived.")]),e._v(" "),t("h3",{attrs:{id:"getting-an-oval-file"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#getting-an-oval-file"}},[e._v("#")]),e._v(" Getting an OVAL file")]),e._v(" "),t("p",[e._v("The first thing to run the OVAL scan is to download a file from an AlmaLinux OVAL stream using the browser or the "),t("code",[e._v("wget")]),e._v(" command:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("wget https://security.almalinux.org/oval/org.almalinux.alsa-9.xml\n")])])]),t("p",[e._v("or")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("wget https://security.almalinux.org/oval/org.almalinux.alsa-9.xml.bz2\n")])])]),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("Don't forget to extract the OVAL file if you downloaded the compressed file:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("bzip2 -d org.almalinux.alsa-9.xml.bz2\n")])])])]),e._v(" "),t("h3",{attrs:{id:"displaying-information-about-an-oval-file"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#displaying-information-about-an-oval-file"}},[e._v("#")]),e._v(" Displaying information about an OVAL file")]),e._v(" "),t("p",[e._v("Run the "),t("code",[e._v("oscap info")]),e._v(" command to display information about an OVAL file:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("oscap info org.almalinux.alsa-9.xml\n")])])]),t("p",[e._v("Here is an example output you can see:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("Document type: OVAL Definitions\nOVAL version: 5.10\nGenerated: 2022-09-16T20:30:33\nImported: 2022-09-16T22:30:33\n")])])]),t("h3",{attrs:{id:"validating-an-oval-file"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#validating-an-oval-file"}},[e._v("#")]),e._v(" Validating an OVAL file")]),e._v(" "),t("p",[e._v("Run the "),t("code",[e._v("oscap validate")]),e._v(" command to validate an OVAL file against its schema:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('oscap oval validate org.almalinux.alsa-9.xml \\\n && echo "ok" || echo "exit code = $? not ok"\n')])])]),t("p",[e._v("The command output returns "),t("em",[e._v("ok")]),e._v(" if the files are valid and properly structured.")]),e._v(" "),t("h3",{attrs:{id:"performing-a-scan"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#performing-a-scan"}},[e._v("#")]),e._v(" Performing a scan")]),e._v(" "),t("p",[e._v("Run the following command to perform an audit scan of the AlmaLinux:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo oscap oval eval --results /tmp/alsa-results-oval.xml \\\n--report ~/report/alsa-report-oval.html org.almalinux.alsa-9.xml\n")])])]),t("p",[e._v("Here is an example output you can see:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("Definition oval:org.almalinux.alsa:def:20226224: false\n...\nDefinition oval:org.almalinux.alsa:def:20225249: true\n...\nDefinition oval:org.almalinux.alsa:def:20221729: false\nDefinition oval:org.almalinux.alsa:def:20221728: false\nEvaluation done\n")])])]),t("p",[e._v("A result of "),t("em",[e._v("false")]),e._v(" means that the patch has been applied. A result of "),t("em",[e._v("true")]),e._v(" means that the system is vulnerable and the patch is yet to be applied.")]),e._v(" "),t("p",[e._v("Run the following command to generate the HTML report to view in a browser:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo oscap oval generate report /tmp/alsa-results-oval.xml \\ \n/home/sonia/report/alsa-report-oval.html\n")])])]),t("p",[e._v("Here is an example of the HTML report:")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/openscap-9_oval_scan.png",alt:"image"}})]),e._v(" "),t("h2",{attrs:{id:"scap-workbench"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#scap-workbench"}},[e._v("#")]),e._v(" SCAP Workbench")]),e._v(" "),t("p",[e._v("One more way to scan a local or a remote system is SCAP Workbench. The SCAP Workbench utility also allows generating reports based on scan evaluations.")]),e._v(" "),t("p",[e._v("To install SCAP Workbench run the following command as root:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo dnf install scap-workbench\n")])])]),t("p",[e._v("If the "),t("code",[e._v("scap-security-guide")]),e._v(" package wasn't installed from the package repository before, you need to install it too, to use SCAP Workbench effectively. All the other packages and dependencies are installed and updated automatically.")]),e._v(" "),t("p",[e._v("After SCAP Workbench is installed, it should appear in your desktop environments application menu and you can run it.")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/openscap-9_workbench.png",alt:"image"}})]),e._v(" "),t("p",[e._v("After you start Workbench, a dialog window will offer you to choose which SCAP Security Guide to open.")]),e._v(" "),t("p",[e._v("When one of the guides is chosen, the next SCAP Workbench window appears. There is a menu, which offers you some more options to select before scanning the system.")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/openscap-9_workbench_profiles.png",alt:"image"}})]),e._v(" "),t("p",[t("em",[t("strong",[e._v("File")])]),e._v("\nThis option offers to load or save SCAP-related content. The "),t("em",[e._v("Save Customization Only")]),e._v(" item is useful if you selected 'Customization Only' and you want to save it as an XCCDF XML file. The "),t("em",[e._v("Save All")]),e._v(" item is useful to save SCAP files to the selected directory or as an RPM package.")]),e._v(" "),t("p",[t("em",[t("strong",[e._v("Customization")])]),e._v("\nThis option informs you about the customization used for the given security policy. The default is no customization.")]),e._v(" "),t("p",[t("em",[t("strong",[e._v("Profile")])]),e._v("\nThis option allows choosing the security profile by clicking this menu. You can create a new profile by clicking the Customize button.")]),e._v(" "),t("p",[e._v("Here is the list of available profiles that can be used to evaluate the system:")]),e._v(" "),t("ul",[t("li",[e._v("ANSSI-BP-028 (enhanced)")]),e._v(" "),t("li",[e._v("ANSSI-BP-028 (high)")]),e._v(" "),t("li",[e._v("ANSSI-BP-028 (intermediary)")]),e._v(" "),t("li",[e._v("ANSSI-BP-028 (minimal)")]),e._v(" "),t("li",[e._v("[DRAFT] CIS AlmaLinux 9 Benchmark for Level 2 - Server")]),e._v(" "),t("li",[e._v("[DRAFT] CIS AlmaLinux 9 Benchmark for Level 1 - Server")]),e._v(" "),t("li",[e._v("[DRAFT] CIS AlmaLinux 9 Benchmark for Level 1 - Workstation")]),e._v(" "),t("li",[e._v("[DRAFT] CIS AlmaLinux 9 Benchmark for Level 2 - Workstation")]),e._v(" "),t("li",[e._v("[DRAFT] Unclassified Information in Non-federal Information Systems and Organizations (NIST 800-171)")]),e._v(" "),t("li",[e._v("Australian Cyber Security Centre (ACSC) Essential Eight")]),e._v(" "),t("li",[e._v("Health Insurance Portability and Accountability Act (HIPAA)")]),e._v(" "),t("li",[e._v("Australian Cyber Security Centre (ACSC) ISM Official")]),e._v(" "),t("li",[e._v("[DRAFT] Protection Profile for General Purpose Operating Systems")]),e._v(" "),t("li",[e._v("PCI-DSS v3.2.1 Control Baseline for Red Hat Enterprise Linux 9")]),e._v(" "),t("li",[e._v("[DRAFT] DISA STIG for Red Hat Enterprise Linux 9")]),e._v(" "),t("li",[e._v("[DRAFT] DISA STIG with GUI for Red Hat Enterprise Linux 9")])]),e._v(" "),t("p",[t("em",[t("strong",[e._v("Target")])]),e._v("\nHere you can select the system you want to be evaluated - a local or a remote one.")]),e._v(" "),t("p",[t("em",[t("strong",[e._v("Selected Rules")])]),e._v("\nThis field shows you a list of security rules that security policy applies to.")]),e._v(" "),t("p",[t("em",[t("strong",[e._v("Fetch remote resources")])]),e._v("\nYou need to check this box in case you want the scanner to download remote OVAL content defined in an XML file.")]),e._v(" "),t("p",[t("em",[t("strong",[e._v("Remediate")])]),e._v("\nIf you check this box, SCAP Workbench will attempt to correct system settings that would fail to match the state defined by the policy.")]),e._v(" "),t("p",[e._v("After the profile is chosen, press the SCAN button. You will see how the process is going on the status bar.")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/openscap-9_workbench_scan.png",alt:"image"}})]),e._v(" "),t("p",[e._v("When the scan is completed, you can "),t("em",[e._v("Save Results")]),e._v(" as an XCCDF Result file, ARF, or HTML Report, in case you need them. If you press the "),t("em",[e._v("Show Report")]),e._v(" button, it'll be displayed in a browser:")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/openscap-9_workbench_report.png",alt:"image"}})])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/72.39fa101b.js b/assets/js/72.39fa101b.js new file mode 100644 index 000000000..4cc389250 --- /dev/null +++ b/assets/js/72.39fa101b.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[72],{351:function(e,t,a){"use strict";a.r(t);var s=a(14),n=Object(s.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"almalinux-8-openscap-guide"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-8-openscap-guide"}},[e._v("#")]),e._v(" AlmaLinux 8 OpenSCAP Guide")]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("This guide was developed for AlmaLinux 8 OS. Running OpenSCAP for AlmaLinux 9 OS may work differently, please, refer to "),t("a",{attrs:{href:"/documentation/openscap-guide-for-9"}},[e._v("AlmaLinux 9 OpenSCAP Guide")]),e._v(".")])]),e._v(" "),t("h2",{attrs:{id:"about-openscap"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#about-openscap"}},[e._v("#")]),e._v(" About OpenSCAP")]),e._v(" "),t("p",[e._v("SCAP - The Security Content Automation Protocol - is an automated method that uses standards to enable vulnerability management, measurement, and policy compliance evaluation of systems. SCAP is a U.S. standard maintained by the National Institute of Standards and Technology.")]),e._v(" "),t("p",[e._v("The AlmaLinux OpenSCAP Guide describes how to use OpenSCAP software to audit your AlmaLinux 8 system for security compliance.")]),e._v(" "),t("h3",{attrs:{id:"about-scap-packages-and-how-to-enable-them"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#about-scap-packages-and-how-to-enable-them"}},[e._v("#")]),e._v(" About SCAP packages and how to Enable them")]),e._v(" "),t("p",[e._v("AlmaLinux provides the following SCAP packages for AlmaLinux 8:")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("SCAP package")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("openscap")]),e._v(" "),t("td",[e._v("Provides the OpenSCAP library and tool for evaluating a system generating reports.")])]),e._v(" "),t("tr",[t("td",[e._v("openscap-utils")]),e._v(" "),t("td",[e._v("Includes command-line tools that use the OpenSCAP library.")])]),e._v(" "),t("tr",[t("td",[e._v("openscap-scanner")]),e._v(" "),t("td",[e._v("Enables many SCAP options, like vulnerability and configuration scanning, along with the SCAP Security Guide.")])]),e._v(" "),t("tr",[t("td",[e._v("scap-security-guide")]),e._v(" "),t("td",[e._v("Contains SCAP-format system-hardening guide. The guide has links to government requirements and provides security profiles.")])])])]),e._v(" "),t("p",[e._v("SCAP packages are available in the AlmaLinux 8 AppStream repository. Use the dnf command to install the SCAP packages. The openscap-scanner package will be installed as a dependency.")]),e._v(" "),t("p",[t("code",[e._v("sudo dnf install openscap openscap-utils scap-security-guide")])]),e._v(" "),t("p",[e._v("After installation, all SCAP security policies are located in the "),t("em",[e._v("/usr/share/xml/scap/ssg/content/")]),e._v(" directory.")]),e._v(" "),t("h2",{attrs:{id:"about-the-oscap-command"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#about-the-oscap-command"}},[e._v("#")]),e._v(" About the "),t("code",[e._v("oscap")]),e._v(" Command")]),e._v(" "),t("p",[e._v("The "),t("code",[e._v("oscap")]),e._v(" command is a utility that helps evaluate the system, check compliance, and perform various functions like showing information and generating reports.")]),e._v(" "),t("p",[e._v("This utility has many options, but uses the following general structure:")]),e._v(" "),t("p",[t("code",[e._v("oscap [options] module operation [operation_options_and_arguments]")])]),e._v(" "),t("p",[e._v("Module types that are supported by the oscap command are mentioned in the list:")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Module type")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("cpe")]),e._v(" "),t("td",[e._v("Uses a Common Platform Enumeration (CPE) file to perform operations.")])]),e._v(" "),t("tr",[t("td",[e._v("cve")]),e._v(" "),t("td",[e._v("Uses a Common Vulnerabilities and Exposures (CVE) file to perform operations.")])]),e._v(" "),t("tr",[t("td",[e._v("cvss")]),e._v(" "),t("td",[e._v("Uses a Common Vulnerability Scoring System (CVSS) file to perform operations.")])]),e._v(" "),t("tr",[t("td",[e._v("ds")]),e._v(" "),t("td",[e._v("Uses a SCAP Data Stream (DS) to perform operations.")])]),e._v(" "),t("tr",[t("td",[e._v("info")]),e._v(" "),t("td",[e._v("Determines a file's type and prints information about the file.")])]),e._v(" "),t("tr",[t("td",[e._v("oval")]),e._v(" "),t("td",[e._v("Uses an Open Vulnerability and Assessment Language (OVAL) file to perform operations.")])]),e._v(" "),t("tr",[t("td",[e._v("xccdf")]),e._v(" "),t("td",[e._v("Uses a file in eXtensible Configuration Checklist Description Format (XCCDF) to perform operations.")])]),e._v(" "),t("tr",[t("td",[e._v("eval")]),e._v(" "),t("td",[e._v("For an OVAL file, oscap probes the system, evaluates each definition in the file and then prints the results to standard output. "),t("br"),e._v(" For a specified profile in an XCCDF file, oscap tests the system against each rule in the file and prints the results to standard output.")])]),e._v(" "),t("tr",[t("td",[e._v("generate")]),e._v(" "),t("td",[e._v("For an OVAL XML results file, generate converts the specified file into an HTML report. "),t("br"),e._v("For an XCCDF file, generate outputs a full security guide for a specified profile.")])]),e._v(" "),t("tr",[t("td",[e._v("validate")]),e._v(" "),t("td",[e._v("Validates an OVAL or XCCDF file against an XML schema to check for errors.")])])])]),e._v(" "),t("p",[e._v("These modules such as info, oval, xccdf are effective for scanning the system.\nAlso, keep in mind, that sometimes the "),t("code",[e._v("oscap")]),e._v(" command performs different operations depending on the module type. Pay attention to the eval and generate module types.")]),e._v(" "),t("p",[e._v("Now, let's take a look at some more detailed examples with the oscap command.")]),e._v(" "),t("h3",{attrs:{id:"displaying-information-using-oscap"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#displaying-information-using-oscap"}},[e._v("#")]),e._v(" Displaying information, using "),t("code",[e._v("oscap")])]),e._v(" "),t("p",[e._v("The "),t("code",[e._v("oscap -V")]),e._v(" command displays information such as the specifications which the version of oscap supports; capabilities of the oscap version; where schema, CPE, and probe files are stored; inbuilt CPE names; supported OVAL objects and associated SCAP probes.")]),e._v(" "),t("p",[e._v("As an example of an output you will see this:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("OpenSCAP command line tool (oscap) 1.3.6\nCopyright 2009--2021 Red Hat Inc., Durham, North Carolina.\n\n==== Supported specifications ====\nSCAP Version: 1.3\nXCCDF Version: 1.2\nOVAL Version: 5.11.1\nCPE Version: 2.3\nCVSS Version: 2.0\nCVE Version: 2.0\nAsset Identification Version: 1.1\nAsset Reporting Format Version: 1.1\nCVRF Version: 1.1\n\n==== Capabilities added by auto-loaded plugins ====\nNo plugins have been auto-loaded...\n\n==== Paths ====\nSchema files: /usr/share/openscap/schemas\nDefault CPE files: /usr/share/openscap/cpe\n\n==== Inbuilt CPE names ====\nRed Hat Enterprise Linux - cpe:/o:redhat:enterprise_linux:-\n...\nCommunity Enterprise Operating System 8 - cpe:/o:centos:centos:8\nAlmaLinux 8 - cpe:/o:almalinux:almalinux:8\n...\nFedora 35 - cpe:/o:fedoraproject:fedora:35\n\n==== Supported OVAL objects and associated OpenSCAP probes ====\nOVAL family OVAL object OpenSCAP probe \n---------- ---------- ---------- \nindependent environmentvariable probe_environmentvariable\nindependent environmentvariable58 probe_environmentvariable58\n...\nunix uname probe_uname\nunix xinetd probe_xinetd\n")])])]),t("h3",{attrs:{id:"displaying-available-profiles"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#displaying-available-profiles"}},[e._v("#")]),e._v(" Displaying Available Profiles")]),e._v(" "),t("p",[e._v("A profile consists of common security suggestions that are related to any AlmaLinux installation. Profiles also have supplementary recommendations for the system to use. So, the "),t("code",[e._v("oscap info")]),e._v(" command is used to see available profiles that are currently supported by the SCAP Security Guide which is a checklist file.")]),e._v(" "),t("p",[t("code",[e._v("oscap info /usr/share/xml/scap/ssg/content/ssg-almalinux8-xccdf.xml")])]),e._v(" "),t("p",[e._v("The part in quotes is the full path to the security content file being examined.")]),e._v(" "),t("p",[e._v("As an example of displaying available profiles output you'll see next:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("Document type: XCCDF Checklist\nChecklist version: 1.1\nImported: 2022-05-03T13:52:24\nStatus: draft\nGenerated: 2022-05-03\nResolved: true\nProfiles:\n\tTitle: ANSSI-BP-028 (enhanced)\n\t\tId: anssi_bp28_enhanced\n\tTitle: ANSSI-BP-028 (high)\n\t\tId: anssi_bp28_high\n\tTitle: ANSSI-BP-028 (intermediary)\n\t\tId: anssi_bp28_intermediary\n\tTitle: ANSSI-BP-028 (minimal)\n\t\tId: anssi_bp28_minimal\n\tTitle: CIS AlmaLinux OS 8 Benchmark for Level 2 - Server\n\t\tId: cis\n\tTitle: CIS AlmaLinux OS 8 Benchmark for Level 1 - Server\n\t\tId: cis_server_l1\n\tTitle: CIS AlmaLinux OS 8 Benchmark for Level 1 - Workstation\n\t\tId: cis_workstation_l1\n\tTitle: CIS AlmaLinux OS 8 Benchmark for Level 2 - Workstation\n\t\tId: cis_workstation_l2\n\tTitle: Unclassified Information in Non-federal Information Systems and Organizations (NIST 800-171)\n\t\tId: cui\n\tTitle: Australian Cyber Security Centre (ACSC) Essential Eight\n\t\tId: e8\n\tTitle: Health Insurance Portability and Accountability Act (HIPAA)\n\t\tId: hipaa\n\tTitle: Australian Cyber Security Centre (ACSC) ISM Official\n\t\tId: ism_o\n\tTitle: Protection Profile for General Purpose Operating Systems\n\t\tId: ospp\n\tTitle: PCI-DSS v3.2.1 Control Baseline for Red Hat Enterprise Linux 8\n\t\tId: pci-dss\n\tTitle: DISA STIG for Red Hat Enterprise Linux 8\n\t\tId: stig\n\tTitle: DISA STIG with GUI for Red Hat Enterprise Linux 8\n\t\tId: stig_gui\nReferenced check files:\n\tssg-almalinux8-oval.xml\n\t\tsystem: http://oval.mitre.org/XMLSchema/oval-definitions-5\n\tssg-almalinux8-ocil.xml\n\t\tsystem: http://scap.nist.gov/schema/ocil/2\n\thttps://security.almalinux.org/oval/org.almalinux.alsa-8.xml\n\t\tsystem: http://oval.mitre.org/XMLSchema/oval-definitions-5\n")])])]),t("p",[e._v("We'd like to mention, that the profiles in the example list may not be the same with your system.")]),e._v(" "),t("p",[e._v("The "),t("code",[e._v("--profile")]),e._v(" option is useful to get information about a specific profile.")]),e._v(" "),t("p",[t("code",[e._v("oscap info --profile hipaa /usr/share/xml/scap/ssg/content/ssg-almalinux8-xccdf.xml")])]),e._v(" "),t("p",[e._v("There's an output example:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("Document type: XCCDF Checklist\nProfile\n\tTitle: Health Insurance Portability and Accountability Act (HIPAA)\n\tId: hipaa\n\nDescription: The HIPAA Security Rule establishes U.S. national standards to protect individuals’ electronic personal health information that is created, received, used, or maintained by a covered entity. The Security Rule requires appropriate administrative, physical and technical safeguards to ensure the confidentiality, integrity, and security of electronic protected health information. This profile configures AlmaLinux 8 to the HIPAA Security Rule identified for securing of electronic protected health information. Use of this profile in no way guarantees or makes claims against legal compliance against the HIPAA Security Rule(s).\n")])])]),t("h3",{attrs:{id:"scanning-the-system"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#scanning-the-system"}},[e._v("#")]),e._v(" Scanning the system")]),e._v(" "),t("p",[e._v("The most effective use of the oscap utility is the feature to perform configuration and vulnerability scans of a local system. The "),t("code",[e._v("oscap xccdf eval")]),e._v(" command is useful to scan a system against an XCCDF profile.")]),e._v(" "),t("p",[e._v("The output of this command shows a scan operation. It uses the "),t("em",[e._v("ssg-almalinux8-cpe-dictionary.xml")]),e._v(" CPE dictionary to run against the HIPAA profile of the "),t("em",[e._v("ssg-almalinux8-xccdf.xml")]),e._v(" checklist. The results are shown in a terminal window, as well as saved in XML and HTML formats in the two directories. One directory is /tmp, and the other is the "),t("strong",[e._v("~home/user")]),e._v(" catalog that you choose by yourself where you'd like to save the results. Any rule in a profile that results in a fail potentially requires the system to be reconfigured.")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("oscap xccdf eval --profile hipaa \\\n--results /tmp/`hostname`-ssg-results.xml \\\n--report ~/report/`hostname`-ssg-results.html \\ \n--cpe /usr/share/xml/scap/ssg/content/ssg-almalinux8-cpe-dictionary.xml \\\n/usr/share/xml/scap/ssg/content/ssg-almalinux8-xccdf.xml\n")])])]),t("p",[e._v("Here is an example output of this command:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("Title Verify File Hashes with RPM\nRule rpm_verify_hashes\nResult pass\n\nTitle Verify and Correct File Permissions with RPM\nRule rpm_verify_permissions\nResult fail\n\nTitle Configure SSH to use System Crypto Policy\nRule configure_ssh_crypto_policy\nResult pass\n...\nTitle Remove Rsh Trust Files\nRule no_rsh_trust_files\nResult pass\n\nTitle Disable KDump Kernel Crash Analyzer (kdump)\nRule service_kdump_disabled\nResult fail\n")])])]),t("p",[e._v("The HTML report which you can view in a browser looks like as follows:")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/openscap_evaluation-report.png",alt:"image"}})]),e._v(" "),t("h3",{attrs:{id:"generating-a-full-security-guide"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#generating-a-full-security-guide"}},[e._v("#")]),e._v(" Generating a Full Security Guide")]),e._v(" "),t("p",[e._v("To create a full security guide for a system based on an XCCDF profile, use the "),t("code",[e._v("oscap xccdf generate guide")]),e._v(" command. Pay attention, that like in the previous command you choose your home path "),t("strong",[e._v("~home/user")]),e._v(" to save the HTML security guide.")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("oscap xccdf generate guide --profile hipaa \\\n--cpe /usr/share/xml/scap/ssg/content/ssg-almalinux8-cpe-dictionary.xml \\\n/usr/share/xml/scap/ssg/content/ssg-almalinux8-xccdf.xml > ~/report/security_guide.html\n")])])]),t("p",[e._v("You can view the HTML report in a browser. Here is an example:")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/openscap_security-guide-1.png",alt:"image"}}),e._v(" "),t("img",{attrs:{src:"/images/openscap_security-guide-2.png",alt:"image"}})]),e._v(" "),t("h3",{attrs:{id:"oval-scan"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#oval-scan"}},[e._v("#")]),e._v(" OVAL Scan")]),e._v(" "),t("h4",{attrs:{id:"about-oval"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#about-oval"}},[e._v("#")]),e._v(" About OVAL")]),e._v(" "),t("p",[e._v("The OVAL definition file is used to scan the system in order to verify if applicable errata have been installed.\nTo see the information about supported AlmaLinux OS versions and their public OVAL streams, please, visit the "),t("a",{attrs:{href:"https://wiki.almalinux.org/documentation/oval-streams.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux OVAL streams"),t("OutboundLink")],1),e._v(" wiki page.")]),e._v(" "),t("p",[e._v("There are two types of OVAL files: "),t("em",[e._v("org.almalinux.alsa-8.xml")]),e._v(" and "),t("em",[e._v("org.almalinux.alsa-8.xml.bz2")]),e._v(", which contain the same information but archived.")]),e._v(" "),t("h4",{attrs:{id:"performing-a-scan"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#performing-a-scan"}},[e._v("#")]),e._v(" Performing a scan")]),e._v(" "),t("p",[e._v("The first thing to run the OVAL scan is to download a file from an AlmaLinux OVAL stream using the browser or the "),t("code",[e._v("wget")]),e._v(" command.")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("Don't forget to extract the OVAL file if you downloaded the compressed file:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("bzip2 -d org.almalinux.alsa-8.xml.bz2\n")])])])]),e._v(" "),t("ul",[t("li",[e._v("The following command to perform an audit scan of the AlmaLinux:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("oscap oval eval --results /tmp/alsa-results-oval.xml \\\n--report ~/report/alsa-report-oval.html org.almalinux.alsa-8.xml\n")])])]),t("p",[e._v("Here is an example output you can see:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("Definition oval:org.almalinux.alsa:def:20224887: false\nDefinition oval:org.almalinux.alsa:def:20224872: true\nDefinition oval:org.almalinux.alsa:def:20224855: false\n...\nDefinition oval:org.almalinux.alsa:def:20224769: false\n...\nEvaluation done.\n")])])]),t("p",[e._v("A result of "),t("em",[e._v("false")]),e._v(" means that the patch has been applied. A result of "),t("em",[e._v("true")]),e._v(" means that the system is vulnerable and the patch is yet to be applied.")]),e._v(" "),t("ul",[t("li",[e._v("Run the following command to generate the HTML report to view in a browser:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("oscap oval generate report /tmp/alsa-results-oval.xml \\ \n~/report/alsa-report-oval.html\n")])])]),t("p",[e._v("Here is the example of the HTML report:\n"),t("img",{attrs:{src:"/images/openscap-oval-report.png",alt:"image"}})]),e._v(" "),t("h2",{attrs:{id:"scap-workbench"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#scap-workbench"}},[e._v("#")]),e._v(" SCAP Workbench")]),e._v(" "),t("p",[e._v("One more way to scan a local or a remote system is SCAP Workbench. The SCAP Workbench utility also allows generating reports based on scan evaluations.")]),e._v(" "),t("p",[e._v("To install SCAP Workbench run the following command as root:")]),e._v(" "),t("p",[t("code",[e._v("sudo dnf install scap-workbench")])]),e._v(" "),t("p",[e._v("If the "),t("code",[e._v("scap-security-guide")]),e._v(" package wasn't installed from the package repository before, you need to install it too, to use SCAP Workbench effectively. All the other packages and dependencies are installed and updated automatically.")]),e._v(" "),t("p",[e._v("After SCAP Workbench is installed, it should appear in your desktop environments application menu and you can run it.")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/openscap_workbench.png",alt:"image"}})]),e._v(" "),t("p",[e._v("After you start Workbench, a dialog window will offer you to choose which SCAP Security Guide to open.")]),e._v(" "),t("p",[e._v("When one of the guides is chosen, the next SCAP Workbench window appears. There is a menu, which offers you some more options to select before scanning the system.")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/openscap_workbench-menu.png",alt:"image"}})]),e._v(" "),t("p",[t("em",[t("strong",[e._v("File")])]),e._v("\nThis option offers to load or save SCAP-related content. The "),t("em",[e._v("Save Customization Only")]),e._v(" item is useful if you selected 'Customization Only' and you want to save it as an XCCDF XML file. The "),t("em",[e._v("Save All")]),e._v(" item is useful to save SCAP files to the selected directory or as an RPM package.")]),e._v(" "),t("p",[t("em",[t("strong",[e._v("Customization")])]),e._v("\nThis option informs you about the customization used for the given security policy. The default is no customization.")]),e._v(" "),t("p",[t("em",[t("strong",[e._v("Profile")])]),e._v("\nThis option allows choosing the security profile by clicking this menu. You can create a new profile by clicking the Customize button.")]),e._v(" "),t("p",[e._v("Here is the list of available profiles that can be used to evaluate the system:")]),e._v(" "),t("ul",[t("li",[e._v("ANSSI-BP-028 (enhanced)")]),e._v(" "),t("li",[e._v("ANSSI-BP-028 (high)")]),e._v(" "),t("li",[e._v("ANSSI-BP-028 (intermediary)")]),e._v(" "),t("li",[e._v("ANSSI-BP-028 (minimal)")]),e._v(" "),t("li",[e._v("CIS AlmaLinux 8 Benchmark for Level 2 - Server")]),e._v(" "),t("li",[e._v("CIS AlmaLinux 8 Benchmark for Level 1 - Server")]),e._v(" "),t("li",[e._v("CIS AlmaLinux 8 Benchmark for Level 1 - Workstation")]),e._v(" "),t("li",[e._v("CIS AlmaLinux 8 Benchmark for Level 2 - Workstation")]),e._v(" "),t("li",[e._v("Unclassified Information in Non-federal Information Systems and Organizations (NIST 800-171)")]),e._v(" "),t("li",[e._v("Australian Cyber Security Centre (ACSC) Essential Eight")]),e._v(" "),t("li",[e._v("Health Insurance Portability and Accountability Act (HIPAA)")]),e._v(" "),t("li",[e._v("Australian Cyber Security Centre (ACSC) ISM Official")]),e._v(" "),t("li",[e._v("Protection Profile for General Purpose Operating Systems")]),e._v(" "),t("li",[e._v("PCI-DSS v3.2.1 Control Baseline for Red Hat Enterprise Linux 8")]),e._v(" "),t("li",[e._v("DISA STIG for Red Hat Enterprise Linux 8")]),e._v(" "),t("li",[e._v("DISA STIG with GUI for Red Hat Enterprise Linux 8")])]),e._v(" "),t("p",[t("em",[t("strong",[e._v("Target")])]),e._v("\nHere you can select the system you want to be evaluated - a local or a remote one.")]),e._v(" "),t("p",[t("em",[t("strong",[e._v("Selected Rules")])]),e._v("\nThis field shows you a list of security rules that security policy applies to.")]),e._v(" "),t("p",[t("em",[t("strong",[e._v("Fetch remote resources")])]),e._v("\nYou need to check this box in case you want the scanner to download remote OVAL content defined in an XML file.")]),e._v(" "),t("p",[t("em",[t("strong",[e._v("Remediate")])]),e._v("\nIf you check this box, SCAP Workbench will attempt to correct system settings that would fail to match the state defined by the policy.")]),e._v(" "),t("p",[e._v("After the profile is chosen, press the SCAN button. You will see how the process is going on the status bar.")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/openscap-workbench-scanning.png",alt:"image"}})]),e._v(" "),t("p",[e._v("After the scanning is finished, you'll have a diagnostics window.")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/openscap-workbench-message.png",alt:"image"}})]),e._v(" "),t("p",[e._v("You can "),t("em",[e._v("Save Results")]),e._v(" as XCCDF Result file, ARF, or HTML Report, in case you need them. If you press the "),t("em",[e._v("Show Report")]),e._v(" button, it'll be displayed in a browser:")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/openscap-workbench-report.png",alt:"image"}})]),e._v(" "),t("h3",{attrs:{id:"applying-security-policy-during-installation"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#applying-security-policy-during-installation"}},[e._v("#")]),e._v(" Applying Security Policy during Installation")]),e._v(" "),t("p",[e._v("Note that you can also choose one of the earlier mentioned profiles while running AlmaLinux Installation. To do this, go to the Security Policy option to choose the profile you need.")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/openscap_security-policy.png",alt:"image"}})]),e._v(" "),t("p",[e._v("No profile is chosen by default, as applying a security policy is not necessary. The applied security policy will be installed to the system using the compliance policies defined by SCAP.")])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/73.4737c31d.js b/assets/js/73.4737c31d.js new file mode 100644 index 000000000..0adf26b68 --- /dev/null +++ b/assets/js/73.4737c31d.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[73],{352:function(a,r,t){"use strict";t.r(r);var l=t(14),e=Object(l.a)({},(function(){var a=this,r=a._self._c;return r("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[r("h1",{attrs:{id:"almalinux-os-oval-streams"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-os-oval-streams"}},[a._v("#")]),a._v(" AlmaLinux OS OVAL streams")]),a._v(" "),r("p",[a._v("The supported AlmaLinux OS versions and their public OVAL streams are listed below:")]),a._v(" "),r("h2",{attrs:{id:"almalinux-os-8"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-os-8"}},[a._v("#")]),a._v(" AlmaLinux OS 8")]),a._v(" "),r("p",[r("a",{attrs:{href:"https://security.almalinux.org/oval/org.almalinux.alsa-8.xml.bz2",target:"_blank",rel:"noopener noreferrer"}},[a._v("https://security.almalinux.org/oval/org.almalinux.alsa-8.xml.bz2"),r("OutboundLink")],1)]),a._v(" "),r("p",[r("a",{attrs:{href:"https://security.almalinux.org/oval/org.almalinux.alsa-8.xml",target:"_blank",rel:"noopener noreferrer"}},[a._v("https://security.almalinux.org/oval/org.almalinux.alsa-8.xml"),r("OutboundLink")],1)]),a._v(" "),r("h2",{attrs:{id:"almalinux-os-9"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-os-9"}},[a._v("#")]),a._v(" AlmaLinux OS 9")]),a._v(" "),r("p",[r("a",{attrs:{href:"https://security.almalinux.org/oval/org.almalinux.alsa-9.xml.bz2",target:"_blank",rel:"noopener noreferrer"}},[a._v("https://security.almalinux.org/oval/org.almalinux.alsa-9.xml.bz2"),r("OutboundLink")],1)]),a._v(" "),r("p",[r("a",{attrs:{href:"https://security.almalinux.org/oval/org.almalinux.alsa-9.xml",target:"_blank",rel:"noopener noreferrer"}},[a._v("https://security.almalinux.org/oval/org.almalinux.alsa-9.xml"),r("OutboundLink")],1)]),a._v(" "),r("hr"),a._v(" "),r("p",[a._v("Join the "),r("a",{attrs:{href:"https://chat.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Community Chat"),r("OutboundLink")],1),a._v(" if you want to help and contribute or get any assistance.")])])}),[],!1,null,null,null);r.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/74.6a9ccaa3.js b/assets/js/74.6a9ccaa3.js new file mode 100644 index 000000000..11c85dbcb --- /dev/null +++ b/assets/js/74.6a9ccaa3.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[74],{353:function(e,a,t){"use strict";t.r(a);var n=t(14),s=Object(n.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"almalinux-package-building-guide"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-package-building-guide"}},[e._v("#")]),e._v(" AlmaLinux Package Building Guide")]),e._v(" "),a("p",[e._v("This guide contains step-by-step instructions on how to build for AlmaLinux packages for different architectures. It also includes some background information about the mock tool, setup instructions, and some examples. These details can be helpful for the building packages for the AlmaLinux project.")]),e._v(" "),a("h2",{attrs:{id:"about-mock"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#about-mock"}},[e._v("#")]),e._v(" About "),a("code",[e._v("mock")])]),e._v(" "),a("p",[a("a",{attrs:{href:"https://rpm-software-management.github.io/mock/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Mock"),a("OutboundLink")],1),e._v(" is a tool for building RPM packages. It allows you to build packages for multiple architectures and different versions of RPM-based systems. It's possible to use mock to build packages for AlmaLinux OS as well.")]),e._v(" "),a("p",[e._v("This guide contains steps on how to build packages for AlmaLinux for different architectures.")]),e._v(" "),a("p",[e._v("The mock tool has such advantages as:")]),e._v(" "),a("ul",[a("li",[e._v("Mock creates a clean environment and clears it after the process is completed;")]),e._v(" "),a("li",[e._v("It is possible to build packages for different architectures and distributions with mock;")]),e._v(" "),a("li",[e._v("Mock doesn't require installing many development packages and tools.")])]),e._v(" "),a("p",[e._v("The mock tool already contains config files for x86_64 and aarch64 architectures. You can find them in the "),a("code",[e._v("/etc/mock/")]),e._v(" directory.")]),e._v(" "),a("p",[a("img",{attrs:{src:"/images/building-packages-guide_etc-mock.png",alt:"image"}})]),e._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),a("p",[e._v("Mock doesn't have a config file to build i686 packages. So you have to create a config yourselves to make that possible.")])]),e._v(" "),a("p",[e._v("Mock rebuilds RPMs from source RPMs. You have to download source RPMs in advance. All packages are available at "),a("a",{attrs:{href:"https://repo.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("repo.almalinux.org"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("Full package name contains "),a("code",[e._v("package name")]),e._v(", "),a("code",[e._v("version")]),e._v(", "),a("code",[e._v("release")]),e._v(" and "),a("code",[e._v("architecture")]),e._v(". For example, in "),a("strong",[e._v("zlib-1.2.11-17.el8.src.rpm")]),e._v(" "),a("code",[e._v("package name")]),e._v(" is "),a("strong",[e._v("zlib")]),e._v(", "),a("strong",[e._v("1.2.11")]),e._v(" is "),a("code",[e._v("version")]),e._v(", "),a("strong",[e._v("17.el8")]),e._v(" is "),a("code",[e._v("release")]),e._v(", and "),a("strong",[e._v("src")]),e._v(" for "),a("code",[e._v("architecture")]),e._v(" but it indicates that it's an RPM source package.")]),e._v(" "),a("h2",{attrs:{id:"setup-mock-and-rpm-build"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#setup-mock-and-rpm-build"}},[e._v("#")]),e._v(" Setup mock and rpm-build")]),e._v(" "),a("ul",[a("li",[e._v("First step is to install EPEL repository to your system:")])]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf install -y epel-release\n")])])]),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),a("p",[e._v("Get more information about "),a("a",{attrs:{href:"/repos/Extras"}},[e._v("AlmaLinux supports EPEL and other repositories")]),e._v(" on AlmaLinux wiki.")])]),e._v(" "),a("ul",[a("li",[e._v("After EPEL installation is completed, you can install the mock tool:")])]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf install -y mock rpm-build\n")])])]),a("ul",[a("li",[e._v("Run the following command to be added to the mock group. That is necessary as you are going to use mock to build packages:")])]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo usermod -a -G mock username\n")])])]),a("h2",{attrs:{id:"building-packages-from-srpms"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#building-packages-from-srpms"}},[e._v("#")]),e._v(" Building packages from SRPMS")]),e._v(" "),a("h3",{attrs:{id:"instruction-if-changes-are-needed"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#instruction-if-changes-are-needed"}},[e._v("#")]),e._v(" Instruction if changes are needed")]),e._v(" "),a("p",[e._v("These steps allow you to make some changes before building the package.")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("Once you've "),a("a",{attrs:{href:"#setup-mock"}},[e._v("installed mock and put the user in the mock group")]),e._v(", you need to download a package you want to build from "),a("a",{attrs:{href:"https://repo.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("repo.almalinux.org"),a("OutboundLink")],1),e._v(". Use the "),a("code",[e._v("wget")]),e._v(" command with the URL of the package. The downloaded package will appear in your home directory unless you specify.")])]),e._v(" "),a("li",[a("p",[e._v("Unpack the package and create directory structure using "),a("code",[e._v("rpm -i")]),e._v(" command:")])])]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("rpm -i ./fullpackagename.src.rpm\n")])])]),a("p",[e._v("This command creates your workplace directory structure "),a("code",[e._v("rpmbuild")]),e._v(". There are two folders for now: SOURCES and SPECS. The purpose of the SOURCES directory is to download the source tarballs into this directory. SPECS directory contains "),a("code",[e._v(".spec")]),e._v(" files which have package meta information and build instructions.")]),e._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),a("p",[e._v("Now is the right time to make some changes, if needed, before building a package.")])]),e._v(" "),a("ul",[a("li",[e._v("Switch to SPECS directory to prepare the source using rpmbuild, the -bs flag, and specifying the spec filename. Some more directories are created:\n"),a("ul",[a("li",[e._v("BUILD has unpacked sources that get compiled in this directory;")]),e._v(" "),a("li",[e._v("BUILDROOT is used for copied files during the install phase;")]),e._v(" "),a("li",[e._v("RPMS has the created rpms;")]),e._v(" "),a("li",[e._v("SRPMS has a "),a("code",[e._v(".src.rpm")]),e._v(" with a spec file and the sources.")])])])]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("rpmbuild -bs packagename.spec\n")])])]),a("p",[a("img",{attrs:{src:"/images/building-packages-guide_rpmbuild.png",alt:"images"}})]),e._v(" "),a("p",[e._v("Switch to the SRPMS directory to build the package. The next step depends on what architecture you are building packages.")]),e._v(" "),a("h4",{attrs:{id:"x86-64"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#x86-64"}},[e._v("#")]),e._v(" x86_64")]),e._v(" "),a("p",[e._v("Use the "),a("code",[e._v("almalinux-8-x86_64.cfg")]),e._v(" file that mock already has to build packages.")]),e._v(" "),a("p",[e._v("Run the following command to build the package:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("mock -r almalinux-8-x86_64 --rebuild fullpackagename.src.rpm\n")])])]),a("p",[e._v("Here is an example of what you can see as a building process:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("INFO: mock.py version 2.12 starting (python version = 3.6.8, NVR = mock-2.12-1.el8)...\nStart(bootstrap): init plugins\n...\nFinish(bootstrap): chroot init\nStart: chroot init\n\n...\n\nStart: dnf update\n...\nAlmaLinux 8 - AppStream 2.2 MB/s | 8.0 MB 00:03 \nAlmaLinux 8 - PowerTools 6.9 kB/s | 4.7 kB 00:00 \nAlmaLinux 8 - PowerTools 866 kB/s | 2.4 MB 00:02 \nAlmaLinux 8 - Extras 5.2 kB/s | 3.9 kB 00:00 \nAlmaLinux 8 - Extras 7.3 kB/s | 12 kB 00:01 \nDependencies resolved.\n============================================================================================================\n Package Architecture Version Repository Size\n============================================================================================================\nUpgrading:\n almalinux-release x86_64 8.5-3.el8 baseos 24 k\n annobin x86_64 9.72-1.el8_5.2 appstream 110 k\n bash x86_64 4.4.20-2.el8 baseos 1.5 M\n ... baseos 1.2 M\n sqlite-libs x86_64 3.26.0-15.el8 baseos 580 k\n systemd-libs x86_64 239-51.el8 baseos 1.1 M\n tpm2-tss x86_64 2.3.2-4.el8 baseos 274 k\n util-linux x86_64 2.32.1-28.el8 baseos 2.5 M\n which x86_64 2.21-16.el8 baseos 48 k\n\nTransaction Summary\n============================================================================================================\nUpgrade 74 Packages\n\nTotal download size: 133 M\nDownloading Packages:\nAlmaLinux 8 - AppStream 195% [==================================================================] done.B/s | 1.2 kB --:-- ETA\n(1/74): almalinux-release-8.5-3.el8.x86_64.rpm 244 kB/s | 24 kB 00:00 \n(2/74): chkconfig-1.19.1-1.el8.x86_64.rpm 486 kB/s | 197 kB 00:00 \n...\n(71/74): qt5-srpm-macros-5.15.2-1.el8.noarch.rpm 37 kB/s | 9.5 kB 00:00 \n(72/74): rpm-build-4.14.3-19.el8.x86_64.rpm 168 kB/s | 172 kB 00:01 \n(73/74): gcc-c++-8.5.0-3.el8.alma.x86_64.rpm 611 kB/s | 12 MB 00:20 \n(74/74): gcc-8.5.0-3.el8.alma.x86_64.rpm 783 kB/s | 23 MB 00:30 \n------------------------------------------------------------------------------------------------------------\nTotal 2.2 MB/s | 133 MB 01:00 \nRunning transaction check\nTransaction check succeeded.\nRunning transaction test\nTransaction test succeeded.\nRunning transaction\n Running scriptlet: filesystem-3.8-6.el8.x86_64 1/1 \n Preparing : 1/1 \n Upgrading : libgcc-8.5.0-3.el8.alma.x86_64 1/148 \n Running scriptlet: libgcc-8.5.0-3.el8.alma.x86_64 1/148 \n Upgrading : crypto-policies-20210617-1.gitc776d3e.el8.noarch 2/148 \n ...\n Cleanup : ncurses-base-6.1-7.20180224.el8.noarch 147/148 \n Cleanup : libgcc-8.4.1-1.el8.alma.x86_64 148/148 \n ...\n Verifying : almalinux-release-8.5-3.el8.x86_64 1/148 \n Verifying : almalinux-release-8.4-3.el8.x86_64 2/148 \n ...\n Verifying : rpm-build-4.14.3-19.el8.x86_64 147/148 \n Verifying : rpm-build-4.14.3-14.el8_4.x86_64 148/148 \n\nUpgraded:\n almalinux-release-8.5-3.el8.x86_64 annobin-9.72-1.el8_5.2.x86_64 \n bash-4.4.20-2.el8.x86_64 binutils-2.30-108.el8_5.1.x86_64 \n ...\n systemd-libs-239-51.el8.x86_64 tpm2-tss-2.3.2-4.el8.x86_64 \n util-linux-2.32.1-28.el8.x86_64 which-2.21-16.el8.x86_64 \n\nComplete!\nINFO: Calling postupdate hooks because there are new/updated packages:\nkrb5-libs-1.18.2-14.el8.x86_64\nfile-libs-5.33-20.el8.x86_64\n...\nrpm-build-libs-4.14.3-19.el8.x86_64\nopenldap-2.4.46-18.el8.x86_64\nStart: creating root cache\nFinish: creating root cache\nFinish: dnf update\nFinish: chroot init\nStart: build phase for zlib-1.2.11-17.el8.src.rpm\nStart: build setup for zlib-1.2.11-17.el8.src.rpm\nBuilding target platforms: x86_64\nBuilding for target x86_64\nWrote: /builddir/build/SRPMS/zlib-1.2.11-17.el8.src.rpm\nAlmaLinux 8 - BaseOS 3.7 kB/s | 4.3 kB 00:01 \nAlmaLinux 8 - AppStream 4.9 kB/s | 4.7 kB 00:00 \nAlmaLinux 8 - PowerTools 4.1 kB/s | 4.7 kB 00:01 \nAlmaLinux 8 - Extras 5.1 kB/s | 3.9 kB 00:00 \nDependencies resolved.\n============================================================================================================\n Package Architecture Version Repository Size\n============================================================================================================\nInstalling:\n autoconf noarch 2.69-29.el8 appstream 710 k\n automake noarch 1.16.1-7.el8 appstream 712 k\n libtool x86_64 2.4.6-25.el8 appstream 708 k\nInstalling dependencies:\n emacs-filesystem noarch 1:26.1-7.el8 baseos 69 k\n groff-base x86_64 1.22.3-18.el8 baseos 1.0 M\n m4 x86_64 1.4.18-7.el8 baseos 222 k\n ...\n perl-threads x86_64 1:2.21-2.el8 baseos 61 k\n perl-threads-shared x86_64 1.58-2.el8 baseos 47 k\n\nTransaction Summary\n============================================================================================================\nInstall 40 Packages\n... \n(39/40): perl-libs-5.26.3-420.el8.x86_64.rpm 389 kB/s | 1.6 MB 00:04 \n(40/40): perl-interpreter-5.26.3-420.el8.x86_64.rpm 1.0 MB/s | 6.3 MB 00:06 \n------------------------------------------------------------------------------------------------------------\nTotal 1.1 MB/s | 8.9 MB 00:07 \nRunning transaction check\nTransaction check succeeded.\nRunning transaction test\nTransaction test succeeded.\nRunning transaction\n Preparing : 1/1 \n Installing : m4-1.4.18-7.el8.x86_64 1/40 \n Running scriptlet: m4-1.4.18-7.el8.x86_64 1/40 \n Installing : groff-base-1.22.3-18.el8.x86_64 2/40 \n ...\n Installing : libtool-2.4.6-25.el8.x86_64 40/40 \n Running scriptlet: libtool-2.4.6-25.el8.x86_64 40/40 \n Verifying : emacs-filesystem-1:26.1-7.el8.noarch 1/40 \n Verifying : groff-base-1.22.3-18.el8.x86_64 2/40 \n ...\n Verifying : perl-Thread-Queue-3.13-1.el8.noarch 40/40 \n\nInstalled:\n autoconf-2.69-29.el8.noarch automake-1.16.1-7.el8.noarch \n ... \n perl-threads-1:2.21-2.el8.x86_64 perl-threads-shared-1.58-2.el8.x86_64 \n\nComplete!\nFinish: build setup for zlib-1.2.11-17.el8.src.rpm\nStart: Outputting list of installed packages\nFinish: Outputting list of installed packages\nStart: rpmbuild zlib-1.2.11-17.el8.src.rpm\n...\npatching file contrib/minizip/unzip.c\nPatch #2 (zlib-1.2.11-IBM-Z-hw-accelrated-deflate-s390x.patch):\n+ echo 'Patch #2 (zlib-1.2.11-IBM-Z-hw-accelrated-deflate-s390x.patch):'\n+ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0\npatching file Makefile.in\npatching file configure\n...\npatching file test/crc32_test.c\n+ echo 'Patch #3 (zlib-1.2.11-optimized-CRC32-framework.patch):'\n+ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0\n...\n+ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0\npatching file crc32.c\npatching file deflate.c\n...\npatching file deflate.c\npatching file test/infcover.c\n+ echo 'Patch #6 (zlib-1.2.11-IBM-Z-hw-accelrated-deflate-fix.patch):'\n+ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0\n...\ngcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o inflate.o inflate.c\ngcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/\n\nProvides: debuginfo(build-id) = e0d0a31c725b443047e37c342f2f7a925a141786 zlib-debuginfo = 1.2.11-17.el8 zlib-debuginfo(x86-64) = 1.2.11-17.el8\nRequires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1\nRecommends: zlib-debugsource(x86-64) = 1.2.11-17.el8\nChecking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/zlib-1.2.11-17.el8.x86_64\nWrote: /builddir/build/RPMS/zlib-1.2.11-17.el8.x86_64.rpm\nWrote: /builddir/build/RPMS/zlib-devel-1.2.11-17.el8.x86_64.rpm\nWrote: /builddir/build/RPMS/zlib-static-1.2.11-17.el8.x86_64.rpm\nWrote: /builddir/build/RPMS/zlib-debugsource-1.2.11-17.el8.x86_64.rpm\nWrote: /builddir/build/RPMS/zlib-debuginfo-1.2.11-17.el8.x86_64.rpm\nExecuting(%clean): /bin/sh -e /var/tmp/rpm-tmp.x41aFv\n+ umask 022\n+ cd /builddir/build/BUILD\n+ cd zlib-1.2.11\n+ /usr/bin/rm -rf /builddir/build/BUILDROOT/zlib-1.2.11-17.el8.x86_64\n+ exit 0\nFinish: rpmbuild zlib-1.2.11-17.el8.src.rpm\nFinish: build phase for zlib-1.2.11-17.el8.src.rpm\nINFO: Done(zlib-1.2.11-17.el8.src.rpm) Config(almalinux-8-x86_64) 18 minutes 57 seconds\nINFO: Results and/or logs in: /var/lib/mock/almalinux-8-x86_64/result\nFinish: run\n")])])]),a("h4",{attrs:{id:"aarch64"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#aarch64"}},[e._v("#")]),e._v(" aarch64")]),e._v(" "),a("p",[e._v("Use the "),a("code",[e._v("almalinux-8-aarch64.cfg")]),e._v(" file, though you need your computer or VM running on arm or qemu to proceed.")]),e._v(" "),a("p",[e._v("Run the following command to build the package:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("mock -r almalinux-8-aarch64 --rebuild fullpackagename.src.rpm\n")])])]),a("h4",{attrs:{id:"i686"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#i686"}},[e._v("#")]),e._v(" i686")]),e._v(" "),a("p",[a("a",{attrs:{href:"https://repo.almalinux.org/vault/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Vault"),a("OutboundLink")],1),e._v(" repository contains all i686 packages.\nNote, mock doesn't have a specified config file to build i686 packages or AlmaLinux. So you have to download this "),a("a",{attrs:{href:"#config-file-for-i686"}},[e._v("config file")]),e._v(". Next, we need to put that config to the "),a("code",[e._v("/etc/mock/")]),e._v(" directory. It is possible to build i686 now.")]),e._v(" "),a("p",[e._v("Run the following command to build the package:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("mock -r almalinux-8-i686 --rebuild fullpackagename.src.rpm\n")])])]),a("h3",{attrs:{id:"instruction-without-changes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#instruction-without-changes"}},[e._v("#")]),e._v(" Instruction without changes")]),e._v(" "),a("p",[e._v("In case you need to build a package without any changes, follow mentioned steps:")]),e._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"#setup-mock"}},[e._v("Install")]),e._v(" "),a("code",[e._v("epel-release")]),e._v(", "),a("code",[e._v("mock")]),e._v(", "),a("code",[e._v("rpm-build")]),e._v(" and "),a("code",[e._v("add a user")]),e._v(" to the mock group.")]),e._v(" "),a("li",[e._v("Download a package you want to rebuild from "),a("a",{attrs:{href:"https://repo.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("repo.almalinux.org"),a("OutboundLink")],1),e._v(". Use the "),a("code",[e._v("wget")]),e._v(" command with the URL of the package.")]),e._v(" "),a("li",[e._v("Run "),a("code",[e._v('mock -r "configname" --rebuild fullpackagename.src.rpm')]),e._v(" to build the package.")])]),e._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),a("p",[e._v('"configname" is the name of a configuration file from '),a("code",[e._v("/etc/mock/")]),e._v(" without the "),a("code",[e._v("/etc/mock/")]),e._v(" path prefix and the "),a("code",[e._v(".cfg")]),e._v(" suffix. "),a("a",{attrs:{href:"#x86-64"}},[e._v("Check the information")]),e._v(" above to see examples.")])]),e._v(" "),a("p",[e._v("Builds are done in the "),a("code",[e._v("/var/lib/mock")]),e._v(" directory. You can see the built packages in this directory.")]),e._v(" "),a("p",[a("img",{attrs:{src:"/images/building-packages-guide_results.png",alt:"image"}})]),e._v(" "),a("h2",{attrs:{id:"building-packages-from-git-almalinux-org"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#building-packages-from-git-almalinux-org"}},[e._v("#")]),e._v(" Building packages from "),a("a",{attrs:{href:"https://git.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("git.almalinux.org"),a("OutboundLink")],1)]),e._v(" "),a("p",[e._v("Another way to build packages is to receive sources and .spec files from "),a("a",{attrs:{href:"https://git.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("git.almalinux.org"),a("OutboundLink")],1),e._v(". Check this instruction to use this way:")]),e._v(" "),a("ul",[a("li",[a("p",[a("a",{attrs:{href:"#setup-mock"}},[e._v("Install")]),e._v(" "),a("code",[e._v("epel-release")]),e._v(", "),a("code",[e._v("mock")]),e._v(" and "),a("code",[e._v("add a user")]),e._v(" to the mock group.")])]),e._v(" "),a("li",[a("p",[e._v("Clone "),a("a",{attrs:{href:"https://git.almalinux.org/almalinux/almalinux-git-utils",target:"_blank",rel:"noopener noreferrer"}},[e._v("almalinux-git-utils"),a("OutboundLink")],1),e._v(" repo. These are utilities for working with the AlmaLinux OS Git server. Use "),a("code",[e._v("git clone")]),e._v(" and "),a("code",[e._v("HTTPS")]),e._v(" link from "),a("a",{attrs:{href:"https://git.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("git.almalinux.org"),a("OutboundLink")],1),e._v(" to clone the repository.")])])]),e._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),a("p",[a("code",[e._v("SSH")]),e._v(" link for cloning the repo is available only for signed-in users.")])]),e._v(" "),a("ul",[a("li",[e._v("Switch to the almalinux-git-utils directory and run the following commands:")])]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("python3 setup.py build\n")])])]),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("pip3 install .\n")])])]),a("ul",[a("li",[a("p",[e._v("Switch to the needed directory and clone a repo with the RPM package project from "),a("a",{attrs:{href:"https://git.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("git.almalinux.org"),a("OutboundLink")],1),e._v(". After that, you have the SPECS folder with the .spec file for the cloned project.")])]),e._v(" "),a("li",[a("p",[e._v("Switch to the project directory and run the mentioned command. This script downloads sources and BLOBs from the AlmaLinux sources cache. You can find them in the SOURCES folder.")])])]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("alma_get_sources\n")])])]),a("ul",[a("li",[e._v("Run these commands to create a workplace directory structure "),a("code",[e._v("rpmbuild")]),e._v(".")])]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("dnf install -y rpmdevtools\n")])])]),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("rpmdev-setuptree\n")])])]),a("ul",[a("li",[a("p",[e._v("Move SOURCES and SPECS files from the project directory to the ~/rpmbuild directory.")])]),e._v(" "),a("li",[a("p",[e._v("Switch to the ~/rpmbuild/SPECS directory and run this command to build a SPEC file:")])])]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("rpmbuild -bs packagename.spec\n")])])]),a("ul",[a("li",[a("a",{attrs:{href:"#x86-64"}},[e._v("See what config name you need")]),e._v(" and build the package using the mock tool:")])]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v('mock -r "configname" --rebuild fullpackagename.src.rpm\n')])])]),a("h2",{attrs:{id:"config-file-for-i686"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#config-file-for-i686"}},[e._v("#")]),e._v(" Config file for i686")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("config_opts['root'] = 'almalinux-8-i686'\nconfig_opts['chroot_setup_cmd'] = 'install tar gcc-c++ redhat-rpm-config redhat-release which xz sed make bzip2 gzip gcc coreutils unzip shadow-utils diffutils cpio bash gawk rpm-build info patch util-linux findutils grep scl-utils scl-utils-build git-core'\nconfig_opts['dist'] = 'el8.alma' \nconfig_opts['dnf_common_opts'] = ['--setopt=deltarpm=False', '--allowerasing', '--nobest', '--setopt=install_weak_deps=False']\nconfig_opts['legal_host_arches'] = ['i386', 'i586', 'i686', 'x86_64']\nconfig_opts['releasever'] = '8'\nconfig_opts['package_manager'] = 'dnf'\nconfig_opts['rpmbuild_networking'] = True\nconfig_opts['target_arch'] = 'i686'\nconfig_opts['extra_chroot_dirs'] = [ '/run/lock', ]\nconfig_opts['use_bootstrap'] = False\n\n\nconfig_opts['dnf.conf'] = \"\"\"\n[main]\nkeepcache=1\ncachedir = /var/cache/yum\ndebuglevel=1\nreposdir=/dev/null\nlogfile=/var/log/yum.log\nretries=20\nobsoletes=1\ngpgcheck=0\nassumeyes=1\nrpmverbosity = info\nsyslog_ident=mock\nsyslog_device=\nmetadata_expire=0\nmdpolicy=group:primary\nbest=0\ninstall_weak_deps=0\nprotected_packages=\nmodule_platform_id=platform:el8\nuser_agent={{ user_agent }}\n\n\n[baseos]\nname=AlmaLinux $releasever - BaseOS\nbaseurl=https://repo.almalinux.org/vault/$releasever/BaseOS/i686/os/\nenabled=1\ngpgcheck=1\ngpgkey=file:///usr/share/distribution-gpg-keys/alma/RPM-GPG-KEY-AlmaLinux\n\n[appstream]\nname=AlmaLinux $releasever - AppStream\nbaseurl=https://repo.almalinux.org/vault/$releasever/AppStream/i686/os/\nenabled=1\ngpgcheck=1\ngpgkey=file:///usr/share/distribution-gpg-keys/alma/RPM-GPG-KEY-AlmaLinux\n\n[powertools]\nname=AlmaLinux $releasever - PowerTools\nbaseurl=https://repo.almalinux.org/vault/$releasever/PowerTools/i686/os/\nenabled=1\ngpgcheck=1\ngpgkey=file:///usr/share/distribution-gpg-keys/alma/RPM-GPG-KEY-AlmaLinux\n\n[extras]\nname=AlmaLinux $releasever - Extras\nbaseurl=https://repo.almalinux.org/vault/$releasever/extras/i686/os/\nenabled=1\ngpgcheck=1\ngpgkey=file:///usr/share/distribution-gpg-keys/alma/RPM-GPG-KEY-AlmaLinux\n\n[ha]\nname=AlmaLinux $releasever - HighAvailability\nbaseurl = https://repo.almalinux.org/vault/$releasever/HighAvailability/i686/os/\nenabled = 0\ngpgcheck=1\ngpgkey=file:///usr/share/distribution-gpg-keys/alma/RPM-GPG-KEY-AlmaLinux\n\n[resilientstorage]\nname=AlmaLinux $releasever - ResilientStorage\nbaseurl=https://repo.almalinux.org/vault/$releasever/ResilientStorage/i686/os/\nenabled=0\ngpgcheck=1\ngpgkey=file:///usr/share/distribution-gpg-keys/alma/RPM-GPG-KEY-AlmaLinux\n\n[devel]\nname=AlmaLinux $releasever - Devel (WARNING: UNSUPPORTED - FOR BUILDROOT USE ONLY!)\nbaseurl=https://repo.almalinux.org/vault/$releasever/devel/i686/os/\nenabled=0\ngpgcheck=1\ngpgkey=file:///usr/share/distribution-gpg-keys/alma/RPM-GPG-KEY-AlmaLinux\n\n\"\"\"\n")])])])])}),[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/75.ded19742.js b/assets/js/75.ded19742.js new file mode 100644 index 000000000..69424e024 --- /dev/null +++ b/assets/js/75.ded19742.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[75],{355:function(e,t,n){"use strict";n.r(t);var s=n(14),a=Object(s.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"raspberry-pi"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#raspberry-pi"}},[e._v("#")]),e._v(" Raspberry Pi")]),e._v(" "),t("h2",{attrs:{id:"about-raspberry-pi"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#about-raspberry-pi"}},[e._v("#")]),e._v(" About Raspberry Pi")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://www.raspberrypi.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("The Raspberry Pi"),t("OutboundLink")],1),e._v(" is a compact computer primarily used for learning computing and programming. It's also very popular for many DIY projects, including home media centers and home automation. Whether you need a full desktop experience or prefer running it headless depends on your project. While the Raspberry Pi can run different operating systems, it was specifically designed for Linux.")]),e._v(" "),t("h2",{attrs:{id:"tested-models"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#tested-models"}},[e._v("#")]),e._v(" Tested models")]),e._v(" "),t("p",[e._v("The AlmaLinux OS releases have been tested on the following models.")]),e._v(" "),t("ul",[t("li",[e._v("Raspberry Pi 5 (supported since June 2024 images)")]),e._v(" "),t("li",[e._v("Raspberry Pi 4 Model B")]),e._v(" "),t("li",[e._v("Raspberry Pi 400")]),e._v(" "),t("li",[e._v("Raspberry Pi 3 Model B+")]),e._v(" "),t("li",[e._v("Raspberry Pi 3 Model A+")])]),e._v(" "),t("p",[e._v('32-bit Raspberry Pis (ARMv6/ARMv7) and original Raspberry Pi 3 (without "+" models) are not supported. Other ARMv8 Raspberry Pis such as Compute Modules are not tested but will probably work. Let us know if it doesn\'t work. See also '),t("a",{attrs:{href:"#how-to-contribute"}},[e._v("How to contribute")]),e._v(" section.")]),e._v(" "),t("h2",{attrs:{id:"installation-steps"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#installation-steps"}},[e._v("#")]),e._v(" Installation steps")]),e._v(" "),t("h3",{attrs:{id:"download-image"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#download-image"}},[e._v("#")]),e._v(" Download image")]),e._v(" "),t("p",[e._v("AlmaLinux OS provides standard Raspberry Pi images and images with a GNOME desktop environment.\nRaspberry Pi images can be found on repo.almalinux.org/rpi/ and "),t("a",{attrs:{href:"https://mirrors.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("mirrors"),t("OutboundLink")],1),e._v(". It is recommended to get images from your nearest mirror. Dig into "),t("code",[e._v("/9/raspberrypi/images/")]),e._v(" or "),t("code",[e._v("/8/raspberrypi/images/")]),e._v(" directory of your nearest mirror.")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://repo.almalinux.org/almalinux/8/raspberrypi/images/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux OS 8"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://repo.almalinux.org/almalinux/9/raspberrypi/images/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux OS 9"),t("OutboundLink")],1)])]),e._v(" "),t("details",{staticClass:"custom-block details"},[t("summary",[e._v("DETAILS")]),e._v(" "),t("p",[e._v("At the time of our testing, these commands were used to fetch the images:")]),e._v(" "),t("ul",[t("li",[e._v("AlmaLinux OS 8"),t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("curl")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-LO")]),e._v(" https://repo.almalinux.org/almalinux/8/raspberrypi/images/AlmaLinux-8-RaspberryPi-latest.aarch64.raw.xz\n")])])])]),e._v(" "),t("li",[e._v("AlmaLinux OS 9"),t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("curl")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-LO")]),e._v(" https://repo.almalinux.org/almalinux/9/raspberrypi/images/AlmaLinux-9-RaspberryPi-latest.aarch64.raw.xz\n")])])])])])]),e._v(" "),t("h3",{attrs:{id:"verify-almalinux-8-images"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#verify-almalinux-8-images"}},[e._v("#")]),e._v(" Verify AlmaLinux 8 images")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("If you are using an AlmaLinux OS-powered system, you already have the key stored in the "),t("code",[e._v("/etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux")]),e._v(" file. So you can skip the download the key and print the key fingerprint steps.\nRun the following command to import the key instead:")]),e._v(" "),t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[e._v("gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux\n")])])])]),e._v(" "),t("p",[t("strong",[e._v("In order to verify a downloaded image you need to:")])]),e._v(" "),t("ul",[t("li",[t("p",[e._v("Import the AlmaLinux OS PGP public key first:")]),e._v(" "),t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("curl")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-O")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-s")]),e._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux\n")])])])]),e._v(" "),t("li",[t("p",[e._v("Print the key fingerprint:")]),e._v(" "),t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[e._v("$ gpg --with-subkey-fingerprints RPM-GPG-KEY-AlmaLinux\ngpg: WARNING: no "),t("span",{pre:!0,attrs:{class:"token builtin class-name"}},[e._v("command")]),e._v(" supplied. Trying to guess what you mean "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("..")]),e._v(".\npub rsa4096 "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("2021")]),e._v("-01-12 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("C"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("expires: "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("2024")]),e._v("-01-12"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\n 5E9B8F5617B5066CE92057C3488FCF7C3ABB34F8\nuid AlmaLinux "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("<")]),e._v("packager@almalinux.org"),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v(">")]),e._v("\nsub rsa3072 "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("2021")]),e._v("-01-12 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("S"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("expires: "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("2024")]),e._v("-01-12"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\n")])])]),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("The fingerprint is "),t("code",[e._v("5E9B8F5617B5066CE92057C3488FCF7C3ABB34F8")]),e._v(". If you see a different fingerprint, it means you downloaded a compromised file. Please, "),t("a",{attrs:{href:"mailto:security@almalinux.org"}},[e._v("let us know")]),e._v(", remove the file and retry the download.")])])]),e._v(" "),t("li",[t("p",[e._v("Next you need to import the key:")]),e._v(" "),t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[e._v("$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" RPM-GPG-KEY-AlmaLinux\ngpg: key 488FCF7C3ABB34F8: public key "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux "')]),e._v(" imported\ngpg: Total number processed: "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("1")]),e._v("\ngpg: imported: "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("1")]),e._v("\n")])])])])]),e._v(" "),t("p",[t("strong",[e._v("To verify the image:")])]),e._v(" "),t("ul",[t("li",[t("p",[e._v("Download the checksum file and its signature first:")]),e._v(" "),t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("curl")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-O")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-s")]),e._v(" https://repo.almalinux.org/rpi/images/CHECKSUM\n$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("curl")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-O")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-s")]),e._v(" https://repo.almalinux.org/rpi/images/CHECKSUM.asc\n")])])])]),e._v(" "),t("li",[t("p",[e._v("Verify the checksum file signature:")]),e._v(" "),t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[e._v("$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--verify")]),e._v(" CHECKSUM.asc CHECKSUM\ngpg: Signature made Mon "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("14")]),e._v(" Nov "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("2022")]),e._v(" 06:40:06 PM CET\ngpg: using RSA key 51D6647EC21AD6EA\ngpg: Good signature from "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux "')]),e._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("unknown"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\ngpg: WARNING: This key is not certified with a trusted signature"),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("!")]),e._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: 5E9B 8F56 17B5 066C E920 57C3 488F CF7C 3ABB 34F8\n Subkey fingerprint: E53C F5EF 91CE B0AD "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("1812")]),e._v(" ECB8 51D6 647E C21A D6EA\n")])])]),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("Make sure that you see the "),t("code",[e._v('Good signature from "AlmaLinux "')]),e._v(" message in the output.")])])]),e._v(" "),t("li",[t("p",[e._v("Verify the checksum of the downloaded image:")]),e._v(" "),t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[e._v("$ sha256sum "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-c")]),e._v(" CHECKSUM "),t("span",{pre:!0,attrs:{class:"token operator"}},[t("span",{pre:!0,attrs:{class:"token file-descriptor important"}},[e._v("2")]),e._v(">")]),t("span",{pre:!0,attrs:{class:"token file-descriptor important"}},[e._v("&1")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" OK\nAlmaLinux-8-RaspberryPi-latest.aarch64.raw.xz: OK\n")])])]),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("If the output is different, you should download the image again.")])])])]),e._v(" "),t("h3",{attrs:{id:"verify-almalinux-9-images"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#verify-almalinux-9-images"}},[e._v("#")]),e._v(" Verify AlmaLinux 9 images")]),e._v(" "),t("p",[t("strong",[e._v("In order to verify a downloaded image:")])]),e._v(" "),t("ul",[t("li",[t("p",[e._v("Import the AlmaLinux OS PGP public key first:")]),e._v(" "),t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("curl")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-O")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-s")]),e._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9\n")])])]),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("If you are using an AlmaLinux OS-powered system, you already have the key stored in the "),t("code",[e._v("/etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9")]),e._v(" file. So you can skip the download the key and print the key fingerprint steps.\nRun the following command instead to import the key:")]),e._v(" "),t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[e._v("gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9\n")])])])])]),e._v(" "),t("li",[t("p",[e._v("Print the key fingerprint:")]),e._v(" "),t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[e._v("$ gpg --with-subkey-fingerprints RPM-GPG-KEY-AlmaLinux-9\npub rsa4096 "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("2022")]),e._v("-01-18 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("SC"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\n BF18AC2876178908D6E71267D36CB86CB86B3716\nuid AlmaLinux OS "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("9")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("<")]),e._v("packager@almalinux.org"),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v(">")]),e._v("\nsub rsa4096 "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("2022")]),e._v("-01-18 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("E"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\n")])])]),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("The fingerprint is "),t("code",[e._v("BF18AC2876178908D6E71267D36CB86CB86B3716")]),e._v(". If you see a different fingerprint, it means you downloaded a compromised file. Please, "),t("a",{attrs:{href:"mailto:security@almalinux.org"}},[e._v("let us know")]),e._v(", remove the file and retry the download.")])])]),e._v(" "),t("li",[t("p",[e._v("Next you need to import the key:")]),e._v(" "),t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[e._v("$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" RPM-GPG-KEY-AlmaLinux-9\ngpg: key D36CB86CB86B3716: public key "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux "')]),e._v(" imported\ngpg: Total number processed: "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("1")]),e._v("\ngpg: imported: "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("1")]),e._v("\n")])])])])]),e._v(" "),t("p",[t("strong",[e._v("To verify the image:")])]),e._v(" "),t("ul",[t("li",[t("p",[e._v("Download the checksum file and its signature first:")]),e._v(" "),t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("curl")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-O")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-s")]),e._v(" https://repo.almalinux.org/rpi/9/images/CHECKSUM\n$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("curl")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-O")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-s")]),e._v(" https://repo.almalinux.org/rpi/9/images/CHECKSUM.asc\n")])])])]),e._v(" "),t("li",[t("p",[e._v("Verify the checksum file signature:")]),e._v(" "),t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[e._v("$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--verify")]),e._v(" CHECKSUM.asc CHECKSUM\ngpg: Signature made Fri "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("18")]),e._v(" Nov "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("2022")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("12")]),e._v(":06:49 AM CET\ngpg: using RSA key D36CB86CB86B3716\ngpg: Good signature from "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux OS 9 "')]),e._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("unknown"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\ngpg: WARNING: This key is not certified with a trusted signature"),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("!")]),e._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: BF18 AC28 "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("7617")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("8908")]),e._v(" D6E7 "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("1267")]),e._v(" D36C B86C B86B "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("3716")]),e._v("\n")])])]),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("Make sure that you see the "),t("code",[e._v('Good signature from "AlmaLinux "')]),e._v(" message in the output.")])])]),e._v(" "),t("li",[t("p",[e._v("Verify the checksum of the downloaded image:")]),e._v(" "),t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[e._v("$ sha256sum "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-c")]),e._v(" CHECKSUM "),t("span",{pre:!0,attrs:{class:"token operator"}},[t("span",{pre:!0,attrs:{class:"token file-descriptor important"}},[e._v("2")]),e._v(">")]),t("span",{pre:!0,attrs:{class:"token file-descriptor important"}},[e._v("&1")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" OK\nAlmaLinux-9-RaspberryPi-latest.aarch64.raw.xz: OK\n")])])]),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("If the output is different, you should download the image again.")])])])]),e._v(" "),t("h3",{attrs:{id:"burn-raspberry-pi-image"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#burn-raspberry-pi-image"}},[e._v("#")]),e._v(" Burn Raspberry Pi image")]),e._v(" "),t("p",[e._v("The next step is to burn the image to an SD card using")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://www.raspberrypi.com/documentation/computers/getting-started.html#using-raspberry-pi-imager",target:"_blank",rel:"noopener noreferrer"}},[e._v("RPi Imager"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://github.com/FedoraQt/MediaWriter/releases/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Fedora Media Writer"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://www.balena.io/etcher/",target:"_blank",rel:"noopener noreferrer"}},[e._v("balenaEtcher"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("code",[e._v("dd")]),e._v("\n... or a tool of your choice.")])]),e._v(" "),t("p",[e._v("When it's done insert the SD Card into your Raspberry Pi and boot.")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("Do not use OS customization feature built in RPi Imager. AlmaLinux doesn't support the feature and it conflicts with our initialization process such as default user creation. If you want to apply custom configuration, edit "),t("code",[e._v("user-data")]),e._v(" file as described in "),t("a",{attrs:{href:"#configuration-using-cloud-init"}},[e._v("Configuration using cloud-init")]),e._v(" section.")])]),e._v(" "),t("h3",{attrs:{id:"getting-started"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#getting-started"}},[e._v("#")]),e._v(" Getting started")]),e._v(" "),t("p",[e._v("When you boot your Raspberry Pi use you can login with the "),t("code",[e._v("almalinux")]),e._v(" user and "),t("code",[e._v("almalinux")]),e._v(" password. "),t("code",[e._v("root")]),e._v(" account is locked by default.")]),e._v(" "),t("h3",{attrs:{id:"connecting-to-wi-fi"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#connecting-to-wi-fi"}},[e._v("#")]),e._v(" Connecting to Wi-Fi")]),e._v(" "),t("ul",[t("li",[e._v("Check whether wifi is enabled:"),t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[e._v("$ nmcli radio wifi\n")])])])])]),e._v(" "),t("p",[e._v("You should see the command responding with "),t("em",[e._v("enabled")]),e._v(".")]),e._v(" "),t("ul",[t("li",[e._v("Next, check the list of local Wi-Fi networks next to you to find one you want to connect:"),t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[e._v("$ nmcli dev wifi list\n")])])])]),e._v(" "),t("li",[e._v("Connect to the Wi-Fi network:"),t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[e._v("$ nmcli "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--ask")]),e._v(" dev wifi connect "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("<")]),e._v("network-ssid"),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v(">")]),e._v("\n")])])]),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("The --ask option will ask you to enter the password.")])])]),e._v(" "),t("li",[e._v("Your wlan0 interface should now be active and pull an IP via DHCP. You can verify this via "),t("code",[e._v("nmcli con show")]),e._v(" to check the physical layer connection and then "),t("code",[e._v("ip a")]),e._v(" to see if you've gotten an IP.")])]),e._v(" "),t("h3",{attrs:{id:"getting-gnome-working"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#getting-gnome-working"}},[e._v("#")]),e._v(" Getting GNOME working")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("If you got an AlmaLinux Raspberry Pi GNOME image, please, ignore this section, as you already have this desktop environment.")])]),e._v(" "),t("p",[t("strong",[e._v("The steps below describe how to get a GNOME desktop environment")]),e._v(":")]),e._v(" "),t("p",[e._v("(if you installed a standard AlmaLinux Raspberry Pi image)")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("You can install just a barebones GNOME desktop environment once you installed the Raspberry Pi system.")])]),e._v(" "),t("li",[t("p",[e._v("To do so run the following command:")]),e._v(" "),t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[e._v("dnf groupinstall gnome-desktop\n")])])]),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("Please, note that you might need to install additional packages if needed.")])])]),e._v(" "),t("li",[t("p",[e._v("If you want to install a more comprehensive GNOME environment:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('dnf groupinstall "Server with GUI"\n')])])])]),e._v(" "),t("li",[t("p",[e._v("When the GNOME is installed run the following command to change the boot target to graphical:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("systemctl set-default graphical\n")])])])]),e._v(" "),t("li",[t("p",[e._v("Reboot the system using the "),t("code",[e._v("sudo reboot")]),e._v(" command and enjoy your Raspberry Pi with GNOME.")])])]),e._v(" "),t("p",[e._v("The Raspberry Pi demo video can be found in the "),t("a",{attrs:{href:"https://github.com/AlmaLinux/raspberry-pi#bonus-round-2-getting-gnome-working",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub repository"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"configuration-using-cloud-init"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#configuration-using-cloud-init"}},[e._v("#")]),e._v(" Configuration using cloud-init")]),e._v(" "),t("p",[e._v("AlmaLinux Raspberry Pi image now supports "),t("a",{attrs:{href:"https://cloudinit.readthedocs.io/en/latest/",target:"_blank",rel:"noopener noreferrer"}},[e._v("cloud-init"),t("OutboundLink")],1),e._v(" to perform early initialization.\nThis section describes some typical examples to setup AlmaLinux Raspberry Pi image. See "),t("a",{attrs:{href:"https://cloudinit.readthedocs.io/en/latest/index.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("the cloud-init official documentation"),t("OutboundLink")],1),e._v(" for further information.")]),e._v(" "),t("p",[e._v("To configure early initialization, modify "),t("code",[e._v("user-data")]),e._v(" file in FAT boot volume named "),t("code",[e._v("CIDATA")]),e._v(" (the same location where "),t("code",[e._v("config.txt")]),e._v(" exists). Please note that cloud-init usually only works at very first boot so modification on "),t("code",[e._v("user-data")]),e._v(" file must be done before inserting SD card and power on your Raspberry Pi.")]),e._v(" "),t("h3",{attrs:{id:"add-ssh-public-key-to-default-user"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#add-ssh-public-key-to-default-user"}},[e._v("#")]),e._v(" Add SSH public key to default user")]),e._v(" "),t("p",[e._v("The default user is "),t("code",[e._v("almalinux")]),e._v(". Add your SSH public key to enable to login to your Raspberry Pi.")]),e._v(" "),t("div",{staticClass:"language-diff extra-class"},[t("pre",{pre:!0,attrs:{class:"language-diff"}},[t("code",[t("span",{pre:!0,attrs:{class:"token deleted-sign deleted"}},[t("span",{pre:!0,attrs:{class:"token prefix deleted"}},[e._v("-")]),t("span",{pre:!0,attrs:{class:"token line"}},[e._v(" #ssh_authorized_keys:\n")])]),t("span",{pre:!0,attrs:{class:"token inserted-sign inserted"}},[t("span",{pre:!0,attrs:{class:"token prefix inserted"}},[e._v("+")]),t("span",{pre:!0,attrs:{class:"token line"}},[e._v(" ssh_authorized_keys:\n")])]),t("span",{pre:!0,attrs:{class:"token unchanged"}},[t("span",{pre:!0,attrs:{class:"token prefix unchanged"}},[e._v(" ")]),t("span",{pre:!0,attrs:{class:"token line"}},[e._v(" # Put here your ssh public keys\n")]),t("span",{pre:!0,attrs:{class:"token prefix unchanged"}},[e._v(" ")]),t("span",{pre:!0,attrs:{class:"token line"}},[e._v(" #- ssh-ed25519 AAAAC3Nz...\n")])]),t("span",{pre:!0,attrs:{class:"token inserted-sign inserted"}},[t("span",{pre:!0,attrs:{class:"token prefix inserted"}},[e._v("+")]),t("span",{pre:!0,attrs:{class:"token line"}},[e._v(" - ssh-rsa AAAAB3NzaC1yc2EAAAADAQ...\n")])])])])]),t("h3",{attrs:{id:"change-default-user-s-password"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#change-default-user-s-password"}},[e._v("#")]),e._v(" Change default user's password")]),e._v(" "),t("p",[e._v("Specify hashed password like this. Use "),t("code",[e._v("mkpasswd -m sha-512")]),e._v(" command to generate a hashed password.")]),e._v(" "),t("div",{staticClass:"language-diff extra-class"},[t("pre",{pre:!0,attrs:{class:"language-diff"}},[t("code",[t("span",{pre:!0,attrs:{class:"token unchanged"}},[t("span",{pre:!0,attrs:{class:"token prefix unchanged"}},[e._v(" ")]),t("span",{pre:!0,attrs:{class:"token line"}},[e._v(" - name: almalinux\n")]),t("span",{pre:!0,attrs:{class:"token prefix unchanged"}},[e._v(" ")]),t("span",{pre:!0,attrs:{class:"token line"}},[e._v(" groups: [ adm, systemd-journal ]\n")]),t("span",{pre:!0,attrs:{class:"token prefix unchanged"}},[e._v(" ")]),t("span",{pre:!0,attrs:{class:"token line"}},[e._v(' sudo: [ "ALL=(ALL) NOPASSWD:ALL" ]\n')]),t("span",{pre:!0,attrs:{class:"token prefix unchanged"}},[e._v(" ")]),t("span",{pre:!0,attrs:{class:"token line"}},[e._v(" lock_passwd: false\n")])]),t("span",{pre:!0,attrs:{class:"token inserted-sign inserted"}},[t("span",{pre:!0,attrs:{class:"token prefix inserted"}},[e._v("+")]),t("span",{pre:!0,attrs:{class:"token line"}},[e._v(' passwd: "$6$hjdBm161zuYLfb9.$jkJkq5pQDkFvWPeJhnon9xHIX93SgLTNLsyQcddWJLcQGcM8qHkxDztbwt1DzTP6dmlQ3J.AA6h4JeGaVg.pS1"\n')])]),t("span",{pre:!0,attrs:{class:"token unchanged"}},[t("span",{pre:!0,attrs:{class:"token prefix unchanged"}},[e._v(" ")]),t("span",{pre:!0,attrs:{class:"token line"}},[e._v(" #ssh_authorized_keys:\n")]),t("span",{pre:!0,attrs:{class:"token prefix unchanged"}},[e._v(" ")]),t("span",{pre:!0,attrs:{class:"token line"}},[e._v(" # Put here your ssh public keys\n")]),t("span",{pre:!0,attrs:{class:"token prefix unchanged"}},[e._v(" ")]),t("span",{pre:!0,attrs:{class:"token line"}},[e._v(" #- ssh-ed25519 AAAAC3Nz...\n")])])])])]),t("h3",{attrs:{id:"enable-ssh-password-authentication"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#enable-ssh-password-authentication"}},[e._v("#")]),e._v(" Enable SSH password authentication")]),e._v(" "),t("p",[e._v("Change "),t("code",[e._v("ssh_pwauth")]),e._v(" to "),t("code",[e._v("true")]),e._v(" to allow SSH password authentication. This does not enable password login for "),t("code",[e._v("root")]),e._v(" user.")]),e._v(" "),t("div",{staticClass:"language-diff extra-class"},[t("pre",{pre:!0,attrs:{class:"language-diff"}},[t("code",[t("span",{pre:!0,attrs:{class:"token deleted-sign deleted"}},[t("span",{pre:!0,attrs:{class:"token prefix deleted"}},[e._v("-")]),t("span",{pre:!0,attrs:{class:"token line"}},[e._v("ssh_pwauth: false\n")])]),t("span",{pre:!0,attrs:{class:"token inserted-sign inserted"}},[t("span",{pre:!0,attrs:{class:"token prefix inserted"}},[e._v("+")]),t("span",{pre:!0,attrs:{class:"token line"}},[e._v("ssh_pwauth: true\n")])])])])]),t("h3",{attrs:{id:"network-configuration-wired-network-with-a-static-ipv4-address"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#network-configuration-wired-network-with-a-static-ipv4-address"}},[e._v("#")]),e._v(" Network configuration: wired network with a static IPv4 address")]),e._v(" "),t("p",[e._v("Put "),t("code",[e._v("network-config")]),e._v(" file in the same location as "),t("code",[e._v("user-data")]),e._v(". The following example assigns a static IPv4 address to "),t("code",[e._v("eth0")]),e._v(" interface.")]),e._v(" "),t("div",{staticClass:"language-yaml extra-class"},[t("pre",{pre:!0,attrs:{class:"language-yaml"}},[t("code",[t("span",{pre:!0,attrs:{class:"token key atrule"}},[e._v("version")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(":")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("2")]),e._v("\n\n"),t("span",{pre:!0,attrs:{class:"token key atrule"}},[e._v("ethernets")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(":")]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[e._v("eth0")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(":")]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[e._v("dhcp4")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(":")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token boolean important"}},[e._v("false")]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[e._v("optional")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(":")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token boolean important"}},[e._v("true")]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[e._v("addresses")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(":")]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("-")]),e._v(" 192.168.1.99/24\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[e._v("gateway4")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(":")]),e._v(" 192.168.1.1\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[e._v("nameservers")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(":")]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[e._v("addresses")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(":")]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("-")]),e._v(" 8.8.8.8\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("-")]),e._v(" 8.8.4.4\n")])])]),t("h3",{attrs:{id:"network-configuration-wi-fi-with-a-dynamic-ip-address"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#network-configuration-wi-fi-with-a-dynamic-ip-address"}},[e._v("#")]),e._v(" Network configuration: Wi-Fi with a dynamic IP address")]),e._v(" "),t("p",[e._v("Generally, the following "),t("code",[e._v("network-config")]),e._v(" configuration enables to connect to Wi-Fi however this is not supported in AlmaLinux.")]),e._v(" "),t("div",{staticClass:"language-yaml extra-class"},[t("pre",{pre:!0,attrs:{class:"language-yaml"}},[t("code",[t("span",{pre:!0,attrs:{class:"token key atrule"}},[e._v("version")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(":")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("2")]),e._v("\n\n"),t("span",{pre:!0,attrs:{class:"token key atrule"}},[e._v("wifis")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(":")]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[e._v("wlan0")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(":")]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[e._v("dhcp4")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(":")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token boolean important"}},[e._v("true")]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[e._v("optional")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(":")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token boolean important"}},[e._v("true")]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[e._v("access-points")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(":")]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[e._v('"Wi-Fi_SSID"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(":")]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[e._v("password")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(":")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"Wi-Fi_PreSharedKey"')]),e._v("\n")])])]),t("p",[e._v("Add the following two lines at the bottom of "),t("code",[e._v("user-data")]),e._v(" instead (example is diff style).")]),e._v(" "),t("div",{staticClass:"language-diff extra-class"},[t("pre",{pre:!0,attrs:{class:"language-diff"}},[t("code",[t("span",{pre:!0,attrs:{class:"token inserted-sign inserted"}},[t("span",{pre:!0,attrs:{class:"token prefix inserted"}},[e._v("+")]),t("span",{pre:!0,attrs:{class:"token line"}},[e._v("runcmd:\n")]),t("span",{pre:!0,attrs:{class:"token prefix inserted"}},[e._v("+")]),t("span",{pre:!0,attrs:{class:"token line"}},[e._v(' - nmcli dev wifi connect "Wi-Fi_SSID" password "Wi-Fi_PreSharedKey"\n')])])])])]),t("h3",{attrs:{id:"frequent-issues"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#frequent-issues"}},[e._v("#")]),e._v(" Frequent Issues")]),e._v(" "),t("p",[e._v("If you installed a GUI, and your screen has a black border around it, follow the steps below to fix this:")]),e._v(" "),t("ul",[t("li",[e._v("Run the command below in the terminal:"),t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[e._v("sudo")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("nano")]),e._v(" /boot/config.txt\n")])])])]),e._v(" "),t("li",[e._v("Add a new line to the file:"),t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[t("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("disable_overscan")]),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("1")]),e._v("\n")])])])]),e._v(" "),t("li",[e._v("Type Ctrl+x on your keyboard to exit nano, and a little message at the bottom or the terminal will say, “save modified buffer?’. Type y for ‘yes’.")]),e._v(" "),t("li",[e._v("Reboot your system:"),t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[e._v("sudo")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("reboot")]),e._v("\n")])])])])]),e._v(" "),t("h2",{attrs:{id:"booting-almalinux-9-1-on-rpi-boot-log"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#booting-almalinux-9-1-on-rpi-boot-log"}},[e._v("#")]),e._v(" Booting AlmaLinux 9.1 on RPi (boot log)")]),e._v(" "),t("details",{staticClass:"custom-block details"},[t("summary",[e._v("DETAILS")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('[ 0.000000] Linux version 6.1.23-v8.1.el9 (mockbuild@2bfe3a8b75a540939bf2bf4aa27f3116) (gcc (GCC) 11.3.1 20220421 (Red Hat 11.3.1-2), GNU ld version 2.35.2-24.el9) #1 SMP PREEMPT Tue Apr 25 17:13:15 UTC 2023\n[ 0.000000] Machine model: Raspberry Pi 3 Model B+\n[ 0.000000] efi: UEFI not found.\n[ 0.000000] Reserved memory: created CMA memory pool at 0x0000000038000000, size 64 MiB\n[ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool\n[ 0.000000] Zone ranges:\n[ 0.000000] DMA [mem 0x0000000000000000-0x000000003bffffff]\n[ 0.000000] DMA32 empty\n[ 0.000000] Normal empty\n[ 0.000000] Movable zone start for each node\n[ 0.000000] Early memory node ranges\n[ 0.000000] node 0: [mem 0x0000000000000000-0x000000003bffffff]\n[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000003bffffff]\n[ 0.000000] On node 0, zone DMA: 16384 pages in unavailable ranges\n[ 0.000000] percpu: Embedded 29 pages/cpu s78440 r8192 d32152 u118784\n[ 0.000000] pcpu-alloc: s78440 r8192 d32152 u118784 alloc=29*4096\n[ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3\n[ 0.000000] Detected VIPT I-cache on CPU0\n[ 0.000000] CPU features: detected: ARM erratum 843419\n[ 0.000000] CPU features: detected: ARM erratum 845719\n[ 0.000000] alternatives: applying boot alternatives\n[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 241920\n[ 0.000000] Kernel command line: rw earlyprintk loglevel=8 console=ttyAMA0,115200 dwc_otg.lpm_enable=0 root=/dev/mmcblk0p2 rootdelay=1\n[ 0.000000] Unknown kernel command line parameters "earlyprintk", will be passed to user space.\n[ 0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)\n[ 0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)\n[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off\n[ 0.000000] Memory: 873764K/983040K available (11904K kernel code, 2110K rwdata, 3680K rodata, 4160K init, 1098K bss, 43740K reserved, 65536K cma-reserved)\n[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1\n[ 0.000000] ftrace: allocating 38901 entries in 152 pages\n[ 0.000000] ftrace: allocated 152 pages with 3 groups\n[ 0.000000] trace event string verifier disabled\n[ 0.000000] rcu: Preemptible hierarchical RCU implementation.\n[ 0.000000] rcu: \tRCU event tracing is enabled.\n[ 0.000000] rcu: \tRCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.\n[ 0.000000] \tTrampoline variant of Tasks RCU enabled.\n[ 0.000000] \tRude variant of Tasks RCU enabled.\n[ 0.000000] \tTracing variant of Tasks RCU enabled.\n[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.\n[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4\n[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0\n[ 0.000000] Root IRQ handler: bcm2836_arm_irqchip_handle_irq\n[ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.\n[ 0.000000] arch_timer: cp15 timer(s) running at 62.50MHz (phys).\n[ 0.000000] clocksource: arch_sys_counter: mask: 0x1ffffffffffffff max_cycles: 0x1cd42e208c, max_idle_ns: 881590405314 ns\n[ 0.000095] sched_clock: 57 bits at 63MHz, resolution 16ns, wraps every 4398046511096ns\n[ 0.011254] Console: colour dummy device 80x25\n[ 0.013014] Calibrating delay loop (skipped), value calculated using timer frequency.. 125.00 BogoMIPS (lpj=250000)\n[ 0.013276] pid_max: default: 32768 minimum: 301\n[ 0.014509] LSM: Security Framework initializing\n[ 0.015789] SELinux: Initializing.\n[ 0.015840] SELinux: CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE is non-zero. This is deprecated and will be rejected in a future kernel release.\n[ 0.015890] SELinux: https://github.com/SELinuxProject/selinux-kernel/wiki/DEPRECATE-checkreqprot\n[ 0.020336] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)\n[ 0.020428] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)\n[ 0.042129] cgroup: Disabling memory control group subsystem\n[ 0.075459] cblist_init_generic: Setting adjustable number of callback queues.\n[ 0.075662] cblist_init_generic: Setting shift to 2 and lim to 1.\n[ 0.076421] cblist_init_generic: Setting shift to 2 and lim to 1.\n[ 0.077309] cblist_init_generic: Setting shift to 2 and lim to 1.\n[ 0.079850] rcu: Hierarchical SRCU implementation.\n[ 0.079930] rcu: \tMax phase no-delay instances is 1000.\n[ 0.086830] EFI services will not be available.\n[ 0.090527] smp: Bringing up secondary CPUs ...\n[ 0.096550] Detected VIPT I-cache on CPU1\n[ 0.097769] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]\n[ 0.105304] Detected VIPT I-cache on CPU2\n[ 0.105647] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]\n[ 0.110049] Detected VIPT I-cache on CPU3\n[ 0.110544] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]\n[ 0.111260] smp: Brought up 1 node, 4 CPUs\n[ 0.111329] SMP: Total of 4 processors activated.\n[ 0.111449] CPU features: detected: 32-bit EL0 Support\n[ 0.111491] CPU features: detected: 32-bit EL1 Support\n[ 0.111580] CPU features: detected: CRC32 instructions\n[ 0.113797] CPU: All CPU(s) started at EL2\n[ 0.114060] alternatives: applying system-wide alternatives\n[ 0.136277] devtmpfs: initialized\n[ 0.186183] Enabled cp15_barrier support\n[ 0.186636] Enabled setend support\n[ 0.188396] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns\n[ 0.188648] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)\n[ 0.195183] pinctrl core: initialized pinctrl subsystem\n[ 0.208103] DMI not present or invalid.\n[ 0.219648] NET: Registered PF_NETLINK/PF_ROUTE protocol family\n[ 0.253373] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations\n[ 0.255727] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations\n[ 0.259783] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations\n[ 0.261228] audit: initializing netlink subsys (disabled)\n[ 0.268684] audit: type=2000 audit(0.252:1): state=initialized audit_enabled=0 res=1\n[ 0.279456] thermal_sys: Registered thermal governor \'step_wise\'\n[ 0.282765] cpuidle: using governor menu\n[ 0.286290] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.\n[ 0.289614] ASID allocator initialised with 65536 entries\n[ 0.293027] Serial: AMBA PL011 UART driver\n[ 0.359161] bcm2835-mbox 3f00b880.mailbox: mailbox enabled\n[ 0.405955] raspberrypi-firmware soc:firmware: Attached to firmware from 1970-01-05T00:12:17, variant unknown\n[ 0.410191] raspberrypi-firmware soc:firmware: Firmware hash is 000000000000000000000000096bb980ffffffc0\n[ 0.441871] KASLR disabled due to lack of seed\n[ 0.559945] bcm2835-dma 3f007000.dma: DMA legacy API manager, dmachans=0x1\n[ 0.577533] SCSI subsystem initialized\n[ 0.579329] usbcore: registered new interface driver usbfs\n[ 0.579833] usbcore: registered new interface driver hub\n[ 0.580142] usbcore: registered new device driver usb\n[ 0.582597] usb_phy_generic phy: supply vcc not found, using dummy regulator\n[ 0.584092] usb_phy_generic phy: dummy supplies not allowed for exclusive requests\n[ 0.586204] pps_core: LinuxPPS API ver. 1 registered\n[ 0.586248] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti \n[ 0.586394] PTP clock support registered\n[ 0.599822] NetLabel: Initializing\n[ 0.599874] NetLabel: domain hash size = 128\n[ 0.599912] NetLabel: protocols = UNLABELED CIPSOv4 CALIPSO\n[ 0.601164] NetLabel: unlabeled traffic allowed by default\n[ 0.607665] vgaarb: loaded\n[ 0.611591] clocksource: Switched to clocksource arch_sys_counter\n[ 0.616631] VFS: Disk quotas dquot_6.6.0\n[ 0.616939] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)\n[ 0.617958] FS-Cache: Loaded\n[ 0.619451] CacheFiles: Loaded\n[ 0.675026] NET: Registered PF_INET protocol family\n[ 0.677233] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)\n[ 0.687998] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)\n[ 0.688245] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)\n[ 0.688366] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)\n[ 0.688642] TCP bind hash table entries: 8192 (order: 6, 262144 bytes, linear)\n[ 0.689113] TCP: Hash tables configured (established 8192 bind 8192)\n[ 0.690573] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)\n[ 0.690844] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)\n[ 0.693613] NET: Registered PF_UNIX/PF_LOCAL protocol family\n[ 0.698887] RPC: Registered named UNIX socket transport module.\n[ 0.698978] RPC: Registered udp transport module.\n[ 0.699016] RPC: Registered tcp transport module.\n[ 0.699048] RPC: Registered tcp NFSv4.1 backchannel transport module.\n[ 0.699432] PCI: CLS 0 bytes, default 64\n[ 0.706388] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available\n[ 0.708611] kvm [1]: IPA Size Limit: 40 bits\n[ 0.714771] kvm [1]: Hyp mode initialized successfully\n[ 1.716489] Initialise system trusted keyrings\n[ 1.719565] workingset: timestamp_bits=46 max_order=18 bucket_order=0\n[ 1.746394] zbud: loaded\n[ 1.757537] NFS: Registering the id_resolver key type\n[ 1.758148] Key type id_resolver registered\n[ 1.758212] Key type id_legacy registered\n[ 1.758842] nfs4filelayout_init: NFSv4 File Layout Driver Registering...\n[ 1.758994] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...\n[ 1.770013] Key type asymmetric registered\n[ 1.770149] Asymmetric key parser \'x509\' registered\n[ 1.770568] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)\n[ 1.772238] io scheduler mq-deadline registered\n[ 1.772358] io scheduler kyber registered\n[ 1.807165] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 0 config (0 80)\n[ 1.807618] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 1 config (0 81)\n[ 1.807822] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 2 config (0 82)\n[ 1.808031] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 3 config (0 83)\n[ 1.808216] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 4 config (0 84)\n[ 1.808456] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 5 config (0 85)\n[ 1.808634] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 6 config (0 86)\n[ 1.808825] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 7 config (0 87)\n[ 1.812309] bcm2708_fb soc:fb: FB found 1 display(s)\n[ 1.843120] Console: switching to colour frame buffer device 100x30\n[ 1.849163] bcm2708_fb soc:fb: Registered framebuffer for display 0, size 800x480\n[ 1.869832] bcm2835-rng 3f104000.rng: hwrng registered\n[ 1.871747] vc-mem: phys_addr:0x00000000 mem_base=0x00000000 mem_size:0x00000000(0 MiB)\n[ 1.877183] gpiomem-bcm2835 3f200000.gpiomem: Initialised: Registers at 0x3f200000\n[ 1.941882] brd: module loaded\n[ 1.978700] loop: module loaded\n[ 1.982075] Loading iSCSI transport class v2.0-870.\n[ 1.998743] usbcore: registered new interface driver r8152\n[ 1.999000] usbcore: registered new interface driver lan78xx\n[ 1.999424] usbcore: registered new interface driver smsc95xx\n[ 2.000612] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)\n[ 2.205267] Core Release: 2.94a\n[ 2.205540] Setting default values for core params\n[ 2.207029] Finished setting default values for core params\n[ 2.411593] Using Buffer DMA mode\n[ 2.411688] Periodic Transfer Interrupt Enhancement - disabled\n[ 2.411731] Multiprocessor Interrupt Enhancement - disabled\n[ 2.411816] OTG VER PARAM: 0, OTG VER FLAG: 0\n[ 2.412104] Shared Tx FIFO mode\n[ 2.414884]\n[ 2.414935] WARN::dwc_otg_hcd_init:1072: FIQ DMA bounce buffers: virt = ffffffc009861000 dma = 0x00000000f8090000 len=9024\n[ 2.415160] FIQ FSM acceleration enabled for :\n[ 2.415160] Non-periodic Split Transactions\n[ 2.415160] Periodic Split Transactions\n[ 2.415160] High-Speed Isochronous Endpoints\n[ 2.415160] Interrupt/Control Split Transaction hack enabled\n[ 2.415302] dwc_otg: Microframe scheduler enabled\n[ 2.415572]\n[ 2.415596] WARN::hcd_init_fiq:496: MPHI regs_base at ffffffc0096e5000\n[ 2.416411] dwc_otg 3f980000.usb: DWC OTG Controller\n[ 2.417055] dwc_otg 3f980000.usb: new USB bus registered, assigned bus number 1\n[ 2.417983] dwc_otg 3f980000.usb: irq 74, io mem 0x00000000\n[ 2.418812] Init: Port Power? op_state=1\n[ 2.418920] Init: Power Port (1)\n[ 2.425132] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.01\n[ 2.425192] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1\n[ 2.425242] usb usb1: Product: DWC OTG Controller\n[ 2.425290] usb usb1: Manufacturer: Linux 6.1.23-v8.1.el9 dwc_otg_hcd\n[ 2.425355] usb usb1: SerialNumber: 3f980000.usb\n[ 2.431455] hub 1-0:1.0: USB hub found\n[ 2.432172] hub 1-0:1.0: 1 port detected\n[ 2.438894] dwc_otg: FIQ enabled\n[ 2.438944] dwc_otg: NAK holdoff enabled\n[ 2.438980] dwc_otg: FIQ split-transaction FSM enabled\n[ 2.439115] Module dwc_common_port init\n[ 2.443143] usbcore: registered new interface driver uas\n[ 2.445043] usbcore: registered new interface driver usb-storage\n[ 2.447156] mousedev: PS/2 mouse device common for all mice\n[ 2.453828] cpu cpu0: Cannot get clock for CPU0\n[ 2.453931] raspberrypi-cpufreq: probe of raspberrypi-cpufreq failed with error -2\n[ 2.455607] sdhci: Secure Digital Host Controller Interface driver\n[ 2.455641] sdhci: Copyright(c) Pierre Ossman\n[ 2.456697] sdhci-pltfm: SDHCI platform and OF driver helper\n[ 2.463028] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 2 config (0 82)\n[ 2.463541] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 2 config (0 82)\n[ 2.463681] leds-gpio: probe of leds failed with error -5\n[ 2.469003] ledtrig-cpu: registered to indicate activity on CPUs\n[ 2.470772] hid: raw HID events driver (C) Jiri Kosina\n[ 2.471788] usbcore: registered new interface driver usbhid\n[ 2.471834] usbhid: USB HID core driver\n[ 2.483158] bcm2835_vchiq 3f00b840.mailbox: failed to set channelbase\n[ 2.483435] vchiq: could not initialize vchiq platform\n[ 2.488463] NET: Registered PF_PACKET protocol family\n[ 2.489504] Key type dns_resolver registered\n[ 2.495036] registered taskstats version 1\n[ 2.495705] Loading compiled-in X.509 certificates\n[ 2.500585] Key type .fscrypt registered\n[ 2.500667] Key type fscrypt-provisioning registered\n[ 2.550943] Indeed it is in host mode hprt0 = 00021101\n[ 2.603776] uart-pl011 3f201000.serial: cts_event_workaround enabled\n[ 2.605916] 3f201000.serial: ttyAMA0 at MMIO 0x3f201000 (irq = 99, base_baud = 0) is a PL011 rev2\n[ 2.673550] printk: console [ttyAMA0] enabled\n[ 2.678027] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 5 config (0 85)\n[ 2.678701] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 5 config (0 85)\n[ 2.679138] reg-fixed-voltage cam1_regulator: error -EIO: can\'t get GPIO\n[ 2.679804] reg-fixed-voltage: probe of cam1_regulator failed with error -5\n[ 2.684657] bcm2835-aux-uart 3f215040.serial: there is not valid maps for state default\n[ 2.686253] bcm2835-aux-uart 3f215040.serial: error -ENOSPC: unable to register 8250 port\n[ 2.686941] bcm2835-aux-uart: probe of 3f215040.serial failed with error -28\n[ 2.692446] bcm2835-wdt bcm2835-wdt: Broadcom BCM2835 watchdog timer\n[ 2.693829] bcm2835-power bcm2835-power: ASB register ID returned 0x00000000\n[ 2.706003] mmc-bcm2835 3f300000.mmcnr: mmc_debug:0 mmc_debug2:0\n[ 2.706339] mmc-bcm2835 3f300000.mmcnr: DMA channel allocated\n[ 2.739920] usb 1-1: new full-speed USB device number 2 using dwc_otg\n[ 2.741621] sdhost: log_buf @ (____ptrval____) (c2a77000)\n[ 2.750165] Indeed it is in host mode hprt0 = 00021101\n[ 2.798082] mmc0: sdhost-bcm2835 loaded - DMA enabled (>1)\n[ 2.805500] of_cfs_init\n[ 2.809990] of_cfs_init: OK\n[ 2.832623] mmc0: host does not support reading read-only switch, assuming write-enable\n[ 2.836719] mmc0: new high speed SDHC card at address 4567\n[ 2.837390] uart-pl011 3f201000.serial: no DMA platform data\n[ 2.842736] Waiting 1 sec before mounting root device...\n[ 2.848391] mmcblk0: mmc0:4567 QEMU! 8.00 GiB\n[ 2.881023] mmcblk0: p1 p2\n[ 2.885646] mmcblk0: mmc0:4567 QEMU! 8.00 GiB\n[ 3.002060] usb 1-1: New USB device found, idVendor=0409, idProduct=55aa, bcdDevice= 1.01\n[ 3.003141] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3\n[ 3.004012] usb 1-1: Product: QEMU USB Hub\n[ 3.004221] usb 1-1: Manufacturer: QEMU\n[ 3.004407] usb 1-1: SerialNumber: 314159-1\n[ 3.012806] hub 1-1:1.0: USB hub found\n[ 3.015694] hub 1-1:1.0: 8 ports detected\n[ 3.408809] usb 1-1.1: new full-speed USB device number 3 using dwc_otg\n[ 3.541223] usb 1-1.1: not running at top speed; connect to a high speed hub\n[ 3.572088] usb 1-1.1: New USB device found, idVendor=0627, idProduct=0001, bcdDevice= 0.00\n[ 3.573075] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=9\n[ 3.573924] usb 1-1.1: Product: QEMU USB Mouse\n[ 3.574895] usb 1-1.1: Manufacturer: QEMU\n[ 3.576576] usb 1-1.1: SerialNumber: 89126-1.1\n[ 3.645464] input: QEMU QEMU USB Mouse as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1:1.0/0003:0627:0001.0001/input/input0\n[ 3.660977] hid-generic 0003:0627:0001.0001: input,hidraw0: USB HID v0.01 Mouse [QEMU QEMU USB Mouse] on usb-3f980000.usb-1.1/input0\n[ 3.756747] usb 1-1.2: new full-speed USB device number 4 using dwc_otg\n[ 3.870426] usb 1-1.2: not running at top speed; connect to a high speed hub\n[ 3.892762] usb 1-1.2: New USB device found, idVendor=0627, idProduct=0001, bcdDevice= 0.00\n[ 3.893185] usb 1-1.2: New USB device strings: Mfr=1, Product=4, SerialNumber=11\n[ 3.893969] usb 1-1.2: Product: QEMU USB Keyboard\n[ 3.895015] usb 1-1.2: Manufacturer: QEMU\n[ 3.896513] usb 1-1.2: SerialNumber: 68284-1.2\n[ 3.951819] input: QEMU QEMU USB Keyboard as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:0627:0001.0002/input/input1\n[ 4.056460] hid-generic 0003:0627:0001.0002: input,hidraw1: USB HID v1.11 Keyboard [QEMU QEMU USB Keyboard] on usb-3f980000.usb-1.2/input0\n[ 4.176769] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Quota mode: none.\n[ 4.178581] VFS: Mounted root (ext4 filesystem) on device 179:2.\n[ 4.190300] devtmpfs: mounted\n[ 4.445271] Freeing unused kernel memory: 4160K\n[ 4.449218] Run /sbin/init as init process\n[ 4.449420] with arguments:\n[ 4.449592] /sbin/init\n[ 4.449746] earlyprintk\n[ 4.449988] with environment:\n[ 4.450177] HOME=/\n[ 4.450360] TERM=linux\n[ 4.472055] random: crng init done\n[ 9.494267] audit: type=1404 audit(9.464:2): enforcing=1 old_enforcing=0 auid=4294967295 ses=4294967295 enabled=1 old-enabled=1 lsm=selinux res=1\n[ 11.566538] SELinux: Class user_namespace not defined in policy.\n[ 11.567172] SELinux: the above unknown classes and permissions will be allowed\n[ 11.694915] SELinux: policy capability network_peer_controls=1\n[ 11.695194] SELinux: policy capability open_perms=1\n[ 11.695638] SELinux: policy capability extended_socket_class=1\n[ 11.696635] SELinux: policy capability always_check_network=0\n[ 11.697039] SELinux: policy capability cgroup_seclabel=1\n[ 11.697273] SELinux: policy capability nnp_nosuid_transition=1\n[ 11.697594] SELinux: policy capability genfs_seclabel_symlinks=1\n[ 11.698045] SELinux: policy capability ioctl_skip_cloexec=0\n[ 12.393988] audit: type=1403 audit(12.364:3): auid=4294967295 ses=4294967295 lsm=selinux res=1\n[ 12.485570] systemd[1]: Successfully loaded SELinux policy in 3.059932s.\n[ 12.805212] mmc1: Timeout waiting for hardware interrupt.\n[ 13.134037] systemd[1]: System time before build time, advancing clock.\n[ 14.325355] NET: Registered PF_INET6 protocol family\n[ 14.365418] Segment Routing with IPv6\n[ 14.366689] In-situ OAM (IOAM) with IPv6\n[ 15.324585] systemd[1]: Relabelled /dev, /dev/shm, /run, /sys/fs/cgroup in 650.957ms.\n[ 15.900358] systemd[1]: systemd 252-13.el9_2 running in system mode (+PAM +AUDIT +SELINUX -APPARMOR +IMA +SMACK +SECCOMP +GCRYPT +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS -FIDO2 +IDN2 -IDN -IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 -PWQUALITY +P11KIT -QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD -BPF_FRAMEWORK +XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified)\n[ 15.904667] systemd[1]: Detected architecture arm64.\n\nWelcome to AlmaLinux 9.2 (Turquoise Kodkod)!\n\n[ 16.003991] systemd[1]: No hostname configured, using default hostname.\n[ 16.010667] systemd[1]: Hostname set to .\n[ 16.127177] systemd[1]: Initializing machine ID from random generator.\n[ 22.470849] systemd-rc-local-generator[120]: /etc/rc.d/rc.local is not marked executable, skipping.\n[ 28.307921] audit: type=1400 audit(1679270415.164:4): avc: denied { append } for pid=142 comm="dmidecode" path="/run/cloud-init/ds-identify.log" dev="tmpfs" ino=32 scontext=system_u:system_r:dmidecode_t:s0 tcontext=system_u:object_r:net_conf_t:s0 tclass=file permissive=0\n[ 28.576896] audit: type=1400 audit(1679270415.436:5): avc: denied { append } for pid=144 comm="dmidecode" path="/run/cloud-init/ds-identify.log" dev="tmpfs" ino=32 scontext=system_u:system_r:dmidecode_t:s0 tcontext=system_u:object_r:net_conf_t:s0 tclass=file permissive=0\n[ 28.813327] audit: type=1400 audit(1679270415.676:6): avc: denied { append } for pid=146 comm="dmidecode" path="/run/cloud-init/ds-identify.log" dev="tmpfs" ino=32 scontext=system_u:system_r:dmidecode_t:s0 tcontext=system_u:object_r:net_conf_t:s0 tclass=file permissive=0\n[ 28.930810] audit: type=1400 audit(1679270415.792:7): avc: denied { append } for pid=148 comm="dmidecode" path="/run/cloud-init/ds-identify.log" dev="tmpfs" ino=32 scontext=system_u:system_r:dmidecode_t:s0 tcontext=system_u:object_r:net_conf_t:s0 tclass=file permissive=0\n[ 29.287482] audit: type=1400 audit(1679270416.148:8): avc: denied { append } for pid=150 comm="dmidecode" path="/run/cloud-init/ds-identify.log" dev="tmpfs" ino=32 scontext=system_u:system_r:dmidecode_t:s0 tcontext=system_u:object_r:net_conf_t:s0 tclass=file permissive=0\n[ 43.298159] systemd[1]: Queued start job for default target Graphical Interface.\n[ 43.431704] systemd[1]: Created slice Slice /system/getty.\n[ OK ] Created slice Slice /system/getty.\n[ 43.474536] systemd[1]: Created slice Slice /system/modprobe.\n[ OK ] Created slice Slice /system/modprobe.\n[ 43.497344] systemd[1]: Created slice Slice /system/serial-getty.\n[ OK ] Created slice Slice /system/serial-getty.\n[ 43.517136] systemd[1]: Created slice Slice /system/sshd-keygen.\n[ OK ] Created slice Slice /system/sshd-keygen.\n[ 43.536784] systemd[1]: Created slice User and Session Slice.\n[ OK ] Created slice User and Session Slice.\n[ 43.550280] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.\n[ OK ] Started Dispatch Password …ts to Console Directory Watch.\n[ 43.565626] systemd[1]: Started Forward Password Requests to Wall Directory Watch.\n[ OK ] Started Forward Password R…uests to Wall Directory Watch.\n[ 43.597377] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.\n[ OK ] Set up automount Arbitrary…s File System Automount Point.\n[ 43.610955] systemd[1]: Reached target Local Encrypted Volumes.\n[ OK ] Reached target Local Encrypted Volumes.\n[ 43.617450] systemd[1]: Reached target Local Integrity Protected Volumes.\n[ OK ] Reached target Local Integrity Protected Volumes.\n[ 43.623145] systemd[1]: Reached target Path Units.\n[ OK ] Reached target Path Units.\n[ 43.628409] systemd[1]: Reached target Remote File Systems.\n[ OK ] Reached target Remote File Systems.\n[ 43.635067] systemd[1]: Reached target Slice Units.\n[ OK ] Reached target Slice Units.\n[ 43.643877] systemd[1]: Reached target Local Verity Protected Volumes.\n[ OK ] Reached target Local Verity Protected Volumes.\n[ 43.750294] systemd[1]: Listening on Process Core Dump Socket.\n[ OK ] Listening on Process Core Dump Socket.\n[ 43.766467] systemd[1]: Listening on initctl Compatibility Named Pipe.\n[ OK ] Listening on initctl Compatibility Named Pipe.\n[ 43.808550] systemd[1]: Listening on Journal Socket (/dev/log).\n[ OK ] Listening on Journal Socket (/dev/log).\n[ 43.833110] systemd[1]: Listening on Journal Socket.\n[ OK ] Listening on Journal Socket.\n[ 43.881311] systemd[1]: Listening on udev Control Socket.\n[ OK ] Listening on udev Control Socket.\n[ 43.897113] systemd[1]: Listening on udev Kernel Socket.\n[ OK ] Listening on udev Kernel Socket.\n[ 43.910175] systemd[1]: Huge Pages File System was skipped because of an unmet condition check (ConditionPathExists=/sys/kernel/mm/hugepages).\n[ 44.001086] systemd[1]: Mounting POSIX Message Queue File System...\n Mounting POSIX Message Queue File System...\n[ 44.073404] systemd[1]: Mounting Kernel Debug File System...\n Mounting Kernel Debug File System...\n[ 44.159167] systemd[1]: Mounting Kernel Trace File System...\n Mounting Kernel Trace File System...\n[ 44.257552] systemd[1]: Starting Create List of Static Device Nodes...\n Starting Create List of Static Device Nodes...\n[ 44.356595] systemd[1]: Starting Load Kernel Module configfs...\n Starting Load Kernel Module configfs...\n[ 44.445632] systemd[1]: Starting Load Kernel Module drm...\n Starting Load Kernel Module drm...\n[ 44.551079] systemd[1]: Starting Load Kernel Module fuse...\n Starting Load Kernel Module fuse...\n[ 44.603762] systemd[1]: Starting Read and set NIS domainname from /etc/sysconfig/network...\n Starting Read and set NIS …from /etc/sysconfig/network...\n[ 44.780971] systemd[1]: Starting Journal Service...\n Starting Journal Service...\n[ 44.800043] systemd[1]: Load Kernel Modules was skipped because no trigger condition checks were met.\n[ 44.850412] fuse: init (API version 7.37)\n[ 44.890459] systemd[1]: Starting Generate network units from Kernel command line...\n Starting Generate network …ts from Kernel command line...\n[ 44.988959] systemd[1]: Starting Remount Root and Kernel File Systems...\n Starting Remount Root and Kernel File Systems...\n[ 45.029236] systemd[1]: Repartition Root Disk was skipped because no trigger condition checks were met.\n[ 45.272185] systemd[1]: Starting Apply Kernel Variables...\n Starting Apply Kernel Variables...\n[ 45.392285] systemd[1]: Starting Coldplug All udev Devices...\n Starting Coldplug All udev Devices...\n[ 45.758942] systemd[1]: Mounted POSIX Message Queue File System.\n[ OK ] Mounted POSIX Message Queue File System.\n[ 45.814062] systemd[1]: Mounted Kernel Debug File System.\n[ OK ] Mounted Kernel Debug File System.\n[ 45.839015] systemd[1]: Mounted Kernel Trace File System.\n[ OK ] Mounted Kernel Trace File System.\n[ 45.859989] systemd[1]: Finished Create List of Static Device Nodes.\n[ OK ] Finished Create List of Static Device Nodes.\n[ 45.895095] systemd[1]: modprobe@configfs.service: Deactivated successfully.\n[ 45.903060] systemd[1]: Finished Load Kernel Module configfs.\n[ OK ] Finished Load Kernel Module configfs.\n[ 45.924422] systemd[1]: modprobe@drm.service: Deactivated successfully.\n[ 45.934118] systemd[1]: Finished Load Kernel Module drm.\n[ OK ] Finished Load Kernel Module drm.\n[ 45.950935] systemd[1]: modprobe@fuse.service: Deactivated successfully.\n[ 45.990144] systemd[1]: Finished Load Kernel Module fuse.\n[ OK ] Finished Load Kernel Module fuse.\n[ 46.023341] systemd[1]: Finished Read and set NIS domainname from /etc/sysconfig/network.\n[ OK ] Finished Read and set NIS …e from /etc/sysconfig/network.\n[ 46.038850] systemd[1]: Finished Generate network units from Kernel command line.\n[ OK ] Finished Generate network units from Kernel command line.\n[ 46.108032] EXT4-fs (mmcblk0p2): re-mounted. Quota mode: none.\n[ 46.160366] systemd[1]: Mounting FUSE Control File System...\n Mounting FUSE Control File System...\n[ 46.218775] systemd[1]: Mounting Kernel Configuration File System...\n Mounting Kernel Configuration File System...\n[ 46.307144] systemd[1]: Finished Remount Root and Kernel File Systems.\n[ OK ] Finished Remount Root and Kernel File Systems.\n[ 46.338082] systemd[1]: Finished Apply Kernel Variables.\n[ OK ] Finished Apply Kernel Variables.\n[ 46.387977] systemd[1]: Mounted FUSE Control File System.\n[ OK ] Mounted FUSE Control File System.\n[ 46.394655] systemd[1]: Mounted Kernel Configuration File System.\n[ OK ] Mounted Kernel Configuration File System.\n[ 46.472305] systemd[1]: Activating swap /swapfile...\n Activating swap /swapfile...\n[ 46.484104] systemd[1]: OSTree Remount OS/ Bind Mounts was skipped because of an unmet condition check (ConditionKernelCommandLine=ostree).\n[ 46.489240] systemd[1]: First Boot Wizard was skipped because of an unmet condition check (ConditionFirstBoot=yes).\n[ 46.689761] Adding 102396k swap on /swapfile. Priority:-2 extents:1 across:102396k SSFS\n[ 46.712757] systemd[1]: Starting Rebuild Hardware Database...\n Starting Rebuild Hardware Database...\n[ 46.808088] systemd[1]: Starting Load/Save Random Seed...\n Starting Load/Save Random Seed...\n[ 46.936036] systemd[1]: Starting Create System Users...\n Starting Create System Users...\n[ 46.984180] systemd[1]: Activated swap /swapfile.\n[ OK ] Activated swap /swapfile.\n[ 47.058260] systemd[1]: Reached target Swaps.\n[ OK ] Reached target Swaps.\n[ 47.512579] systemd[1]: Started Journal Service.\n[ OK ] Started Journal Service.\n[ OK ] Finished Load/Save Random Seed.\n Starting Flush Journal to Persistent Storage...\n[ 48.179198] systemd-journald[162]: Received client request to flush runtime journal.\n[ OK ] Finished Flush Journal to Persistent Storage.\n[ OK ] Finished Create System Users.\n Starting Create Static Device Nodes in /dev...\n[ OK ] Finished Create Static Device Nodes in /dev.\n[ OK ] Reached target Preparation for Local File Systems.\n[ OK ] Finished Coldplug All udev Devices.\n[ OK ] Finished Rebuild Hardware Database.\n Starting Rule-based Manage…for Device Events and Files...\n[ OK ] Started Rule-based Manager for Device Events and Files.\n[ OK ] Found device /dev/ttyAMA0.\n[ OK ] Found device /dev/disk/by-uuid/F996-6567.\n Mounting /boot...\n[ 76.878834] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.\n[ OK ] Mounted /boot.\n[ OK ] Reached target Local File Systems.\n Starting Rebuild Dynamic Linker Cache...\n Starting Automatic Boot Loader Update...\n Starting Create Volatile Files and Directories...\n[ OK ] Finished Automatic Boot Loader Update.\n[** ] (1 of 2) A start job is running for…amic Linker Cache (46s / no limit)\n[ 90.508025] usb 1-1: USB disconnect, device number 2\n[* ] (1 of 2) A start job is running for…amic Linker Cache (47s / no limit)\n[ **] (1 of 2) A start job is running for…amic Linker Cache (50s / no limit)\n[ OK ] Finished Create Volatile Files and Directories.\n[ 94.350574] usb 1-1: new full-speed USB device number 5 using dwc_otg\n[ 94.356260] Indeed it is in host mode hprt0 = 00021141\n[ 95.177591] usb 1-1: New USB device found, idVendor=0409, idProduct=55aa, bcdDevice= 1.01\n[ 95.179150] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3\n[ 95.181215] usb 1-1: Product: QEMU USB Hub\n[ 95.182023] usb 1-1: Manufacturer: QEMU\n[ 95.182528] usb 1-1: SerialNumber: 314159-1\n[ 95.345987] hub 1-1:1.0: USB hub found\n[ 95.349299] hub 1-1:1.0: 8 ports detected\n Starting Security Auditing Service...\n[ 95.906858] usb 1-1.1: new full-speed USB device number 6 using dwc_otg\n[ 96.048290] usb 1-1.1: not running at top speed; connect to a high speed hub\n[ 96.125369] usb 1-1.1: New USB device found, idVendor=0627, idProduct=0001, bcdDevice= 0.00\n[ 96.126635] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=9\n[ 96.128394] usb 1-1.1: Product: QEMU USB Mouse\n Starting Rebuild Journal Catalog...\n[ 96.255730] usb 1-1.1: Manufacturer: QEMU\n[ 96.256277] usb 1-1.1: SerialNumber: 89126-1.1\n[ 96.415036] input: QEMU QEMU USB Mouse as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1:1.0/0003:0627:0001.0003/input/input2\n[ 96.489559] hid-generic 0003:0627:0001.0003: input,hidraw0: USB HID v0.01 Mouse [QEMU QEMU USB Mouse] on usb-3f980000.usb-1.1/input0\n[ **] (1 of 3) A start job is running for… Auditing Service (53s / no limit)\n[ 96.653982] usb 1-1.2: new full-speed USB device number 7 using dwc_otg\n[ 96.814888] usb 1-1.2: not running at top speed; connect to a high speed hub\n[ 96.870092] usb 1-1.2: New USB device found, idVendor=0627, idProduct=0001, bcdDevice= 0.00\n[ 96.870511] usb 1-1.2: New USB device strings: Mfr=1, Product=4, SerialNumber=11\n[ 96.871024] usb 1-1.2: Product: QEMU USB Keyboard\n[ 96.871616] usb 1-1.2: Manufacturer: QEMU\n[ *** ] (2 of 3) A start job is running for…amic Linker Cache (54s / no limit)[ 98.209695] input: QEMU QEMU USB Keyboard as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:0627:0001.0004/input/input3\n\n[ OK ] Finished Rebuild Journal Catalog.\n[ OK ] Finished Rebuild Dynamic Linker Cache.\n[ OK ] Started Security Auditing Service.\n Starting Update is Completed...\n Starting Record System Boot/Shutdown in UTMP...\n[ OK ] Finished Update is Completed.\n[ OK ] Finished Record System Boot/Shutdown in UTMP.\n[ OK ] Reached target System Initialization.\n[ OK ] Started dnf makecache --timer.\n[ OK ] Started Daily rotation of log files.\n[ OK ] Started Daily Cleanup of Temporary Directories.\n[ OK ] Reached target Timer Units.\n[ OK ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.\n[ OK ] Listening on D-Bus System Message Bus Socket.\n[ OK ] Listening on SSSD Kerberos…ache Manager responder socket.\n[ OK ] Reached target Socket Units.\n Starting Initial cloud-init job (pre-networking)...\n[ OK ] Reached target Basic System.\n Starting Avahi mDNS/DNS-SD Stack...\n Starting NTP client/server...\n Starting Restore /run/initramfs on shutdown...\n[ OK ] Started irqbalance daemon.\n Starting Authorization Manager...\n Starting Power Profiles daemon...\n Starting System Logging Service...\n Starting RealtimeKit Scheduling Policy Service...\n[ OK ] Reached target sshd-keygen.target.\n[ OK ] Reached target User and Group Name Lookups.\n Starting Accounts Service...\n Starting Switcheroo Control Proxy service...\n Starting User Login Management...\n Starting Disk Manager...\n Starting Daemon for power management...\n[ OK ] Started System Logging Service.\n[ OK ] Finished Restore /run/initramfs on shutdown.\n Starting D-Bus System Message Bus...\n[ OK ] Started NTP client/server.\n[ OK ] Started D-Bus System Message Bus.\n[ OK ] Started RealtimeKit Scheduling Policy Service.\n[ OK ] Started Avahi mDNS/DNS-SD Stack.\n[ OK ] Started User Login Management.\n[ OK ] Started Switcheroo Control Proxy service.\n[ OK ] Started Daemon for power management.\n[ 130.256091] usb 1-1: USB disconnect, device number 5\n[ 130.256412] usb 1-1.1: USB disconnect, device number 6\n[ 130.404552] usb 1-1.2: USB disconnect, device number 7\n[ 130.698103] Indeed it is in host mode hprt0 = 00021141\n[ 130.920063] usb 1-1: new full-speed USB device number 8 using dwc_otg\n[ 130.921545] Indeed it is in host mode hprt0 = 00021141\n[ OK ] Started Authorization Manager.\n[ 131.214604] usb 1-1: New USB device found, idVendor=0409, idProduct=55aa, bcdDevice= 1.01\n[ 131.215471] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3\n[ 131.215987] usb 1-1: Product: QEMU USB Hub\n[ 131.216343] usb 1-1: Manufacturer: QEMU\n[ 131.216804] usb 1-1: SerialNumber: 314159-1\n[ 131.224314] hub 1-1:1.0: USB hub found\n[ 131.226142] hub 1-1:1.0: 8 ports detected\n Starting Modem Manager...\n Starting firewalld - dynamic firewall daemon...\n[ OK ] Started Accounts Service.\n[ OK ] Started Power Profiles daemon.\n[ 131.567648] usb 1-1.1: new full-speed USB device number 9 using dwc_otg\n[ 131.670337] usb 1-1.1: not running at top speed; connect to a high speed hub\n[ 131.688784] usb 1-1.1: New USB device found, idVendor=0627, idProduct=0001, bcdDevice= 0.00\n[ 131.689349] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=9\n[ 131.689828] usb 1-1.1: Product: QEMU USB Mouse\n[ 131.690221] usb 1-1.1: Manufacturer: QEMU\n[ 131.690518] usb 1-1.1: SerialNumber: 89126-1.1\n[ 131.712728] input: QEMU QEMU USB Mouse as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1:1.0/0003:0627:0001.0005/input/input4\n[ 131.717360] hid-generic 0003:0627:0001.0005: input,hidraw0: USB HID v0.01 Mouse [QEMU QEMU USB Mouse] on usb-3f980000.usb-1.1/input0\n[ 131.856200] usb 1-1.2: new full-speed USB device number 10 using dwc_otg\n[ 131.963344] usb 1-1.2: not running at top speed; connect to a high speed hub\n[ 131.974845] usb 1-1.2: New USB device found, idVendor=0627, idProduct=0001, bcdDevice= 0.00\n[ 131.975633] usb 1-1.2: New USB device strings: Mfr=1, Product=4, SerialNumber=11\n[ 131.976154] usb 1-1.2: Product: QEMU USB Keyboard\n[ 131.976503] usb 1-1.2: Manufacturer: QEMU\n[ 131.976791] usb 1-1.2: SerialNumber: 68284-1.2\n[ 132.011443] input: QEMU QEMU USB Keyboard as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:0627:0001.0006/input/input5\n[ 132.082076] hid-generic 0003:0627:0001.0006: input,hidraw1: USB HID v1.11 Keyboard [QEMU QEMU USB Keyboard] on usb-3f980000.usb-1.2/input0\n[ OK ] Started Modem Manager.\n[ OK ] Started Disk Manager.\n[ 140.720361] usb 1-1: USB disconnect, device number 8\n[ 140.720960] usb 1-1.1: USB disconnect, device number 9\n[ 140.829946] usb 1-1.2: USB disconnect, device number 10\n[ 141.297149] Indeed it is in host mode hprt0 = 00021141\n[ 141.579604] usb 1-1: new full-speed USB device number 11 using dwc_otg\n[ 141.580930] Indeed it is in host mode hprt0 = 00021141\n[ 141.880663] usb 1-1: New USB device found, idVendor=0409, idProduct=55aa, bcdDevice= 1.01\n[ 141.881258] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3\n[ 141.881671] usb 1-1: Product: QEMU USB Hub\n[ 141.881986] usb 1-1: Manufacturer: QEMU\n[ 141.882244] usb 1-1: SerialNumber: 314159-1\n[ 141.900410] hub 1-1:1.0: USB hub found\n[ 141.901814] hub 1-1:1.0: 8 ports detected\n[ 142.220154] usb 1-1.1: new full-speed USB device number 12 using dwc_otg\n[ 142.337253] usb 1-1.1: not running at top speed; connect to a high speed hub\n[ 142.371431] usb 1-1.1: New USB device found, idVendor=0627, idProduct=0001, bcdDevice= 0.00\n[ 142.372196] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=9\n[ 142.372838] usb 1-1.1: Product: QEMU USB Mouse\n[ 142.373196] usb 1-1.1: Manufacturer: QEMU\n[ 142.373472] usb 1-1.1: SerialNumber: 89126-1.1\n[ 142.434777] input: QEMU QEMU USB Mouse as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1:1.0/0003:0627:0001.0007/input/input6\n[ 142.492743] hid-generic 0003:0627:0001.0007: input,hidraw0: USB HID v0.01 Mouse [QEMU QEMU USB Mouse] on usb-3f980000.usb-1.1/input0\n[ 142.595781] usb 1-1.2: new full-speed USB device number 13 using dwc_otg\n[ 142.707158] usb 1-1.2: not running at top speed; connect to a high speed hub\n[ 142.718843] usb 1-1.2: New USB device found, idVendor=0627, idProduct=0001, bcdDevice= 0.00\n[ 142.719932] usb 1-1.2: New USB device strings: Mfr=1, Product=4, SerialNumber=11\n[ 142.720410] usb 1-1.2: Product: QEMU USB Keyboard\n[ 142.720810] usb 1-1.2: Manufacturer: QEMU\n[ 142.721084] usb 1-1.2: SerialNumber: 68284-1.2\n[ 142.741022] input: QEMU QEMU USB Keyboard as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:0627:0001.0008/input/input7\n[ 142.824245] hid-generic 0003:0627:0001.0008: input,hidraw1: USB HID v1.11 Keyboard [QEMU QEMU USB Keyboard] on usb-3f980000.usb-1.2/input0\n[ OK ] Started firewalld - dynamic firewall daemon.\n[ 147.443786] cloud-init[358]: Cloud-init v. 22.1-9.el9.alma running \'init-local\' at Mon, 20 Mar 2023 00:02:13 +0000. Up 146.31 seconds.\n[ OK ] Finished Initial cloud-init job (pre-networking).\n[ OK ] Reached target Preparation for Network.\n Starting Network Manager...\n[ OK ] Started Network Manager.\n[ OK ] Reached target Network.\n Starting Network Manager Wait Online...\n Starting Hostname Service...\n[ OK ] Started Hostname Service.\n[ OK ] Listening on Load/Save RF …itch Status /dev/rfkill Watch.\n Starting Network Manager Script Dispatcher Service...\n[ OK ] Started Network Manager Script Dispatcher Service.\n[ OK ] Finished Network Manager Wait Online.\n Starting Initial cloud-ini… (metadata service crawler)...\n[ 165.062401] cloud-init[454]: Cloud-init v. 22.1-9.el9.alma running \'init\' at Mon, 20 Mar 2023 00:02:31 +0000. Up 164.34 seconds.\n[ 166.304990] cloud-init[454]: ci-info: +++++++++++++++++++++++Net device info++++++++++++++++++++++++\n[ 166.312983] cloud-init[454]: ci-info: +--------+------+-----------+-----------+-------+------------+\n[ 166.319418] cloud-init[454]: ci-info: | Device | Up | Address | Mask | Scope | Hw-Address |\n[ 166.326203] cloud-init[454]: ci-info: +--------+------+-----------+-----------+-------+------------+\n[ 166.334032] cloud-init[454]: ci-info: | lo | True | 127.0.0.1 | 255.0.0.0 | host | . |\n[ 166.342912] cloud-init[454]: ci-info: | lo | True | ::1/128 | . | host | . |\n[ 166.347088] cloud-init[454]: ci-info: +--------+------+-----------+-----------+-------+------------+\n[ 166.352919] cloud-init[454]: ci-info: +++++++++++++++++++Route IPv6 info+++++++++++++++++++\n[ 166.358139] cloud-init[454]: ci-info: +-------+-------------+---------+-----------+-------+\n[ 166.362993] cloud-init[454]: ci-info: | Route | Destination | Gateway | Interface | Flags |\n[ 166.367239] cloud-init[454]: ci-info: +-------+-------------+---------+-----------+-------+\n[ 166.374170] cloud-init[454]: ci-info: +-------+-------------+---------+-----------+-------+\n[ 178.237665] EXT4-fs (mmcblk0p2): resizing filesystem from 1074176 to 1974011 blocks\n[ 180.657229] EXT4-fs (mmcblk0p2): resized filesystem to 1974011\n Starting Network Manager Script Dispatcher Service...\n[ OK ] Started Network Manager Script Dispatcher Service.\n[ 189.293212] cloud-init[454]: 2023-03-20 00:02:56,174 - util.py[WARNING]: Running module users-groups () failed\n[ 213.309216] cloud-init[454]: Generating public/private rsa key pair.\n[ 213.320749] cloud-init[454]: Your identification has been saved in /etc/ssh/ssh_host_rsa_key\n[ 213.331188] cloud-init[454]: Your public key has been saved in /etc/ssh/ssh_host_rsa_key.pub\n[ 213.339964] cloud-init[454]: The key fingerprint is:\n[ 213.347315] cloud-init[454]: SHA256:NmlN1Lso5XT7isPVX99q52gaBVI/9aUcmBv4IKg6th8 root@almalinux.local\n[ 213.353576] cloud-init[454]: The key\'s randomart image is:\n[ 213.358567] cloud-init[454]: +---[RSA 3072]----+\n[ 213.364001] cloud-init[454]: | . .o.o. o|\n[ 213.373560] cloud-init[454]: | . ..o.=o +o|\n[ 213.378544] cloud-init[454]: | . .oo.+= .|\n[ 213.381915] cloud-init[454]: | . +o.=. . |\n[ 213.386195] cloud-init[454]: | . S+.o +. |\n[ 213.391974] cloud-init[454]: | + o..o +.. .|\n[ 213.398433] cloud-init[454]: | . oE o ... .+|\n[ 213.410292] cloud-init[454]: | . . o. .+.=|\n[ 213.415830] cloud-init[454]: | .. ..o=o+.|\n[ 213.422837] cloud-init[454]: +----[SHA256]-----+\n[ 213.428573] cloud-init[454]: Generating public/private ecdsa key pair.\n[ 213.434432] cloud-init[454]: Your identification has been saved in /etc/ssh/ssh_host_ecdsa_key\n[ 213.441556] cloud-init[454]: Your public key has been saved in /etc/ssh/ssh_host_ecdsa_key.pub\n[ 213.447548] cloud-init[454]: The key fingerprint is:\n[ 213.453073] cloud-init[454]: SHA256:45QxnS/TcscLFtAg0fmcxXkiBtY150hOPQnwGGk15zU root@almalinux.local\n[ 213.458806] cloud-init[454]: The key\'s randomart image is:\n[ 213.464785] cloud-init[454]: +---[ECDSA 256]---+\n[ 213.468749] cloud-init[454]: | oo=O+**E+|\n[ 213.471572] cloud-init[454]: | +o=O+OB=|\n[ 213.475080] cloud-init[454]: | o +=.=o+o|\n[ 213.478204] cloud-init[454]: | + o+o |\n[ 213.481504] cloud-init[454]: | S + * o |\n[ 213.484526] cloud-init[454]: | o . * o . |\n[ 213.487875] cloud-init[454]: | . . |\n[ 213.492574] cloud-init[454]: | |\n[ 213.496587] cloud-init[454]: | |\n[ 213.500557] cloud-init[454]: +----[SHA256]-----+\n[ 213.505442] cloud-init[454]: Generating public/private ed25519 key pair.\n[ 213.509156] cloud-init[454]: Your identification has been saved in /etc/ssh/ssh_host_ed25519_key\n[ 213.511972] cloud-init[454]: Your public key has been saved in /etc/ssh/ssh_host_ed25519_key.pub\n[ 213.515016] cloud-init[454]: The key fingerprint is:\n[ 213.517457] cloud-init[454]: SHA256:+hHD0Bo9jqskyjKrN91vCggkjn9eqmqe8sXISVb3ZIU root@almalinux.local\n[ 213.520007] cloud-init[454]: The key\'s randomart image is:\n[ 213.523071] cloud-init[454]: +--[ED25519 256]--+\n[ 213.525735] cloud-init[454]: | .. |\n[ 213.527847] cloud-init[454]: | oE. |\n[ 213.530482] cloud-init[454]: |.. . + * |\n[ 213.533017] cloud-init[454]: |= . . @ . |\n[ 213.535464] cloud-init[454]: |o.o o S |\n[ 213.537845] cloud-init[454]: | * = o o |\n[ 213.540282] cloud-init[454]: | B.*.+ . |\n[ 213.542811] cloud-init[454]: |=o+*.=.... |\n[ 213.552004] cloud-init[454]: |@Xoo+ .+o |\n[ 213.556157] cloud-init[454]: +----[SHA256]-----+\n[FAILED] Failed to start Initial cl…ob (metadata service crawler).\nSee \'systemctl status cloud-init.service\' for details.\n[ OK ] Reached target Cloud-config availability.\n[ OK ] Reached target Network is Online.\n Starting Apply the settings specified in cloud-config...\n Starting OpenSSH server daemon...\n Starting Permit User Sessions...\n[ OK ] Finished Permit User Sessions.\n[ OK ] Started Command Scheduler.\n Starting GNOME Display Manager...\n[ OK ] Started Serial Getty on ttyAMA0.\n[ OK ] Reached target Login Prompts.\n[ OK ] Started OpenSSH server daemon.\n[ OK ] Reached target Multi-User System.\n[ OK ] Started GNOME Display Manager.\n[ OK ] Reached target Graphical Interface.\n Starting Record Runlevel Change in UTMP...\n[ OK ] Finished Record Runlevel Change in UTMP.\n\nAlmaLinux 9.2 (Turquoise Kodkod)\nKernel 6.1.23-v8.1.el9 on an aarch64\n\nalmalinux login: [ 222.131263] cloud-init[558]: Cloud-init v. 22.1-9.el9.alma running \'modules:config\' at Mon, 20 Mar 2023 00:03:27 +0000. Up 220.28 seconds.\n[ 237.571131] cloud-init[592]: Cloud-init v. 22.1-9.el9.alma running \'modules:final\' at Mon, 20 Mar 2023 00:03:41 +0000. Up 235.00 seconds.\nci-info: no authorized SSH keys fingerprints found for user almalinux.\n<14>Mar 20 00:03:47 cloud-init: #############################################################\n<14>Mar 20 00:03:47 cloud-init: -----BEGIN SSH HOST KEY FINGERPRINTS-----\n<14>Mar 20 00:03:47 cloud-init: 256 SHA256:45QxnS/TcscLFtAg0fmcxXkiBtY150hOPQnwGGk15zU root@almalinux.local (ECDSA)\n<14>Mar 20 00:03:47 cloud-init: 256 SHA256:+hHD0Bo9jqskyjKrN91vCggkjn9eqmqe8sXISVb3ZIU root@almalinux.local (ED25519)\n<14>Mar 20 00:03:47 cloud-init: 3072 SHA256:NmlN1Lso5XT7isPVX99q52gaBVI/9aUcmBv4IKg6th8 root@almalinux.local (RSA)\n<14>Mar 20 00:03:47 cloud-init: -----END SSH HOST KEY FINGERPRINTS-----\n<14>Mar 20 00:03:47 cloud-init: #############################################################\n-----BEGIN SSH HOST KEY KEYS-----\necdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKu+gdlfm4pgbRbDRJfSUB9BElUWUA7mkU8Sp++wf+TEXuIAtlW5W1LZYkFTAiUkPNQ4NQ5rm6yRicMCpAfNWFc= root@almalinux.local\nssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAGHcFNm7GWwEH1L8w0BzE+xWSuchZXh6a9IcUZnEkl8 root@almalinux.local\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDtC0X1uAbqUFgbFAl3c9Zc56WaUVUdj7+S6rzdz8V2ShWAtdc3KtQIha86wye+ClN9ry3cJJIyMaFjEkeROZ2GVSmm3tvHyUN14pn86uJlYn2cjTSd0hjVbEqhTzdvVpjAhUivZNM6E0ood6I/HQ4BYeehjaEcovTmYcAq62sV27EXJidQrBRpJkmmvVY5J6Q8HV0dbA5jCd/CBgGxQDaQI1rlZV3YEfhdK4cMKR9RQlPTxu8a8+w4JbgttkoFZE7T9ZsNkzyvHYIvo3S5TKZmBZHhhegnR0VJselGD1pGmfbbJ4P68jgi12nhKHcE/PD02Bu+3Q/yNxOKxpdpufl+Fp5BWJ8OypGozhT1AFVhuLZf+v4UDvxnr23Q2JjmTFHoIVx+gK+wN8k7CLCmUgPWeNYgV2A8xO3FamE+CA5yRcpU4uWyKM+01AhGBGMhsszJEndPSsoLNCgmg/Ch38dQtSuP63iEq4/ZFUXu8UZHehb3HfT6w+Ro4aSSjY44wFE= root@almalinux.local\n-----END SSH HOST KEY KEYS-----\n[ 241.538302] cloud-init[592]: Cloud-init v. 22.1-9.el9.alma finished at Mon, 20 Mar 2023 00:03:48 +0000. Datasource DataSourceNoCloud [seed=/dev/mmcblk0p1][dsmode=net]. Up 241.33 seconds\n\n')])])])]),e._v(" "),t("h2",{attrs:{id:"how-to-contribute"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-to-contribute"}},[e._v("#")]),e._v(" How to contribute")]),e._v(" "),t("p",[e._v("You can send all the bugs you may see on "),t("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("bugs.almalinux.org"),t("OutboundLink")],1),e._v(".\nYou might also want to check the AlmaLinux OS "),t("a",{attrs:{href:"https://github.com/AlmaLinux/raspberry-pi",target:"_blank",rel:"noopener noreferrer"}},[e._v("Raspberry Pi repository"),t("OutboundLink")],1),e._v(" on GitHub.")]),e._v(" "),t("p",[e._v("Join the "),t("a",{attrs:{href:"https://chat.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Community Chat"),t("OutboundLink")],1),e._v(" if you want to help and contribute or get any assistance.")])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/76.10504a94.js b/assets/js/76.10504a94.js new file mode 100644 index 000000000..caf73deed --- /dev/null +++ b/assets/js/76.10504a94.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[76],{356:function(e,t,a){"use strict";a.r(t);var s=a(14),n=Object(s.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h6",{attrs:{id:"last-updated-2023-02-03"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#last-updated-2023-02-03"}},[e._v("#")]),e._v(" Last updated: 2023-02-03")]),e._v(" "),t("p"),e._v(" "),t("h1",{attrs:{id:"almalinux-sbom-user-guide"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-sbom-user-guide"}},[e._v("#")]),e._v(" AlmaLinux SBOM User Guide")]),e._v(" "),t("p"),e._v(" "),t("h2",{attrs:{id:"introduction"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#introduction"}},[e._v("#")]),e._v(" Introduction")]),e._v(" "),t("h3",{attrs:{id:"about-sbom"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#about-sbom"}},[e._v("#")]),e._v(" About "),t("em",[e._v("SBOM")])]),e._v(" "),t("p",[t("em",[e._v("SBOM (Software Bill of Materials)")]),e._v(" is a list of all open-source and third-party components used in a codebase, along with their licensing information, version numbers, and any known vulnerabilities.")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/AlmaLinux/build-system",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Build System"),t("OutboundLink")],1),e._v(" has implemented "),t("em",[e._v("SBOM")]),e._v(" into its pipeline for security purposes, such as tracing the build process, ensuring that only trusted sources are used, and reducing the risk of data corruption.")]),e._v(" "),t("h3",{attrs:{id:"about-cas"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#about-cas"}},[e._v("#")]),e._v(" About "),t("em",[e._v("CAS")])]),e._v(" "),t("p",[t("a",{attrs:{href:"https://cas.codenotary.com",target:"_blank",rel:"noopener noreferrer"}},[t("em",[e._v("The Codenotary Community Attestation Service (CAS)")]),t("OutboundLink")],1),e._v(" is integrated with AlmaLinux to provide a chain of trust and traceability. Each stage of the build process goes through authentication and notarization, and build artifacts are only stored if they pass authentication via "),t("em",[e._v("CAS")]),e._v(".")]),e._v(" "),t("p",[e._v("A user can use "),t("em",[e._v("CAS")]),e._v(" to authenticate a downloaded package or its cryptographic hash (SHA256 digest) to verify if it is notarized and trusted.")]),e._v(" "),t("h3",{attrs:{id:"working-with-sbom"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#working-with-sbom"}},[e._v("#")]),e._v(" Working with "),t("em",[e._v("SBOM")])]),e._v(" "),t("p",[e._v("To access the "),t("em",[e._v("CAS")]),e._v(" information for AlmaLinux you need an internet connection as the "),t("em",[e._v("CAS")]),e._v(" records are stored in the AlmaLinux "),t("code",[e._v("git")]),e._v(" repository. You also need to install the "),t("em",[e._v("CAS")]),e._v(" tool package.")]),e._v(" "),t("p",[e._v("Finally, to be able to inspect a desired package for "),t("em",[e._v("SBOM")]),e._v(" information, you need the package itself ("),t("code",[e._v(".rpm")]),e._v(" binary). Alternatively, you can use the package "),t("code",[e._v("build-id")]),e._v(" or "),t("code",[e._v("rpm-package-hash")]),e._v(" found on the "),t("a",{attrs:{href:"https://build.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux build"),t("OutboundLink")],1),e._v(" page.")]),e._v(" "),t("h3",{attrs:{id:"supported-releases"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#supported-releases"}},[e._v("#")]),e._v(" Supported releases")]),e._v(" "),t("ul",[t("li",[e._v("AlmaLinux 8.7")]),e._v(" "),t("li",[e._v("AlmaLinux 9.1")])]),e._v(" "),t("hr"),e._v(" "),t("p"),e._v(" "),t("h2",{attrs:{id:"install-guide"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#install-guide"}},[e._v("#")]),e._v(" Install guide")]),e._v(" "),t("h3",{attrs:{id:"software-prerequisites"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#software-prerequisites"}},[e._v("#")]),e._v(" Software Prerequisites")]),e._v(" "),t("p",[e._v("To just query the "),t("em",[e._v("SBOM")]),e._v(" records (versus creating them) one needs only to install the above mentioned "),t("code",[e._v("cas")]),e._v(" tool. "),t("em",[e._v("The CAS")]),e._v(" organization provides it in form of source and binary package(s) via their "),t("a",{attrs:{href:"https://github.com/codenotary/cas",target:"_blank",rel:"noopener noreferrer"}},[e._v("github"),t("OutboundLink")],1),e._v(" and official web service")]),e._v(" "),t("p",[e._v("In the "),t("a",{attrs:{href:"https://github.com/codenotary/cas/blob/master/README.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("README.md"),t("OutboundLink")],1),e._v(" you can find a cross-platform installation method, presented below.")]),e._v(" "),t("p"),e._v(" "),t("h3",{attrs:{id:"installation"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#installation"}},[e._v("#")]),e._v(" Installation")]),e._v(" "),t("h4",{attrs:{id:"official-cas-installation-method-linux®-macos"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#official-cas-installation-method-linux®-macos"}},[e._v("#")]),e._v(" Official "),t("em",[e._v("CAS")]),e._v(" installation method ("),t("em",[e._v("Linux®")]),e._v(", "),t("em",[e._v("macOS")]),e._v(")")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("bash <(curl https://getcas.codenotary.io -L)\n")])])]),t("p",[e._v("For "),t("em",[e._v("Windows")]),e._v(" check a dedicated section, below.")]),e._v(" "),t("h4",{attrs:{id:"example-on-macos"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#example-on-macos"}},[e._v("#")]),e._v(" Example on "),t("em",[e._v("macOS")])]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("The output as shown for "),t("em",[e._v("macOS")]),e._v(" is identical on "),t("a",{attrs:{href:"#official-cas-installation-method-linux%C2%AE-macos"}},[t("em",[e._v("Linux")])]),e._v(". An alternative install method for "),t("em",[e._v("Linux")]),e._v(" is described below.")]),e._v(" "),t("p",[t("strong",[e._v("Warning:")]),e._v(" the directory you wish to install to needs to exist before running install command. This is relevant if you're not installing to a system directory like "),t("code",[e._v("/usr/local/bin")]),e._v(" but to a custom path, like in the example.")])]),e._v(" "),t("h5",{attrs:{id:"install"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#install"}},[e._v("#")]),e._v(" Install:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("➜ /tmp mkdir ./cas-test\n➜ /tmp bash <(curl https://getcas.codenotary.io -L)\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 2449 100 2449 0 0 17566 0 --:--:-- --:--:-- --:--:-- 18838\nLatest available release for cas is: v1.0.3\nDownloading cas...\nInstall location [default: /usr/local/bin]: /tmp/cas-test\ncas version v1.0.3 has been installed to:\n • /tmp/cas-test/cas\n\n🎉Done \n\nYou can now use the community attestation service (https://cas.codenotary.com) by running: $ cas\n\nTo get started set your API key you received by email and login: $ export CAS_API_KEY=; cas login\n\nYou can find the online documentation here: https://github.com/codenotary/cas\n\n➜ /tmp\n")])])]),t("h5",{attrs:{id:"test-run"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#test-run"}},[e._v("#")]),e._v(" Test run:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("➜ /tmp ./cas-test/cas\nUsage:\n cas [command]\n\nAvailable Commands:\n authenticate Authenticate assets against CAS\n bom Collect BOM information\n completion Generate the autocompletion script for the specified shell\n help Help about any command\n inspect Returns the asset history with low-level information\n list Returns the history of operations made with API key\n login Log in to Community Attestation Service\n logout Logout the current user\n notarize Notarize an asset onto Community Attestation Service\n unsupport Unsupport an asset\n untrust Untrust an asset\n\nFlags:\n --caspath string config files (default is user home directory)\n -h, --help help for cas\n -o, --output string output format, one of: --output=json|--output=''\n -S, --silent silent mode, don't show progress spinner, but it will still output the result\n --verbose if true, print additional information\n -v, --version version for cas\n\nUse \"cas [command] --help\" for more information about a command.\n\n")])])]),t("h4",{attrs:{id:"example-on-windows"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#example-on-windows"}},[e._v("#")]),e._v(" Example on "),t("em",[e._v("Windows")])]),e._v(" "),t("h5",{attrs:{id:"install-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#install-2"}},[e._v("#")]),e._v(" Install:")]),e._v(" "),t("p",[e._v("For "),t("em",[e._v("Windows")]),e._v(" users, download your "),t("code",[e._v("cas")]),e._v(" tool binary "),t("a",{attrs:{href:"https://github.com/codenotary/cas/releases/latest",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h5",{attrs:{id:"test-run-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#test-run-2"}},[e._v("#")]),e._v(" Test run:")]),e._v(" "),t("p",[e._v("Run the "),t("code",[e._v(".exe")]),e._v(" file from the command line:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("C:\\Users\\auser>cas-v1.0.3-windows-amd64.exe help\nUsage:\n cas [command]\n\nAvailable Commands:\n authenticate Authenticate assets against CAS\n bom Collect BOM information\n completion Generate the autocompletion script for the specified shell\n help Help about any command\n inspect Returns the asset history with low-level information\n list Returns the history of operations made with API key\n login Log in to Community Attestation Service\n logout Logout the current user\n notarize Notarize an asset onto Community Attestation Service\n unsupport Unsupport an asset\n untrust Untrust an asset\n\nFlags:\n --caspath string config files (default is user home directory)\n -h, --help help for cas\n -o, --output string output format, one of: --output=json|--output=''\n -S, --silent silent mode, don't show progress spinner, but it will still output the result\n --verbose if true, print additional information\n -v, --version version for cas\n\nUse \"cas [command] --help\" for more information about a command.\n")])])]),t("h4",{attrs:{id:"alternative-installation-method-for-almalinux-systems"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#alternative-installation-method-for-almalinux-systems"}},[e._v("#")]),e._v(" Alternative installation method for AlmaLinux systems")]),e._v(" "),t("p",[e._v("An alternative to "),t("em",[e._v("Official CAS installation method")]),e._v(" is to install the "),t("em",[e._v("CAS")]),e._v(" tool package from the AlmaLinux repository. This will (obviously) work exclusively on the AlmaLinux system.")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("The "),t("em",[e._v("CAS")]),e._v(" package is available in AlmaLinux Architect's COPR (Community Owned Package Repository). Here, we install it on system based on "),t("a",{attrs:{href:"https://wiki.almalinux.org/release-notes/9.1.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux 9.1"),t("OutboundLink")],1),e._v(" release.")])]),e._v(" "),t("h5",{attrs:{id:"_1-enable-the-copr-repo-for-codenotary-package"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-enable-the-copr-repo-for-codenotary-package"}},[e._v("#")]),e._v(" 1. Enable the COPR repo for codenotary package")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("$ sudo dnf copr --hub build.almalinux.org enable andrewlukoshko/codenotary\n")])])]),t("h5",{attrs:{id:"expected-output"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#expected-output"}},[e._v("#")]),e._v(" Expected output:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("[almalinux_user@demohost ~]$ sudo dnf copr --hub build.almalinux.org enable andrewlukoshko/codenotary\nEnabling a Copr repository. Please note that this repository is not part\nof the main distribution, and quality may vary.\n\nThe Fedora Project does not exercise any power over the contents of\nthis repository beyond the rules outlined in the Copr FAQ at\n,\nand packages are not held to any quality or security level.\n\nPlease do not file bug reports about these packages in Fedora\nBugzilla. In case of problems, contact the owner of this repository.\n\nDo you really want to enable build.almalinux.org/andrewlukoshko/codenotary? [y/N]: y\nRepository successfully enabled.\n[almalinux_user@demohost ~]$ \n")])])]),t("h5",{attrs:{id:"_2-perform-the-actual-installation-step"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2-perform-the-actual-installation-step"}},[e._v("#")]),e._v(" 2. Perform the actual installation step:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("$ sudo dnf install cas\n")])])]),t("h5",{attrs:{id:"expected-output-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#expected-output-2"}},[e._v("#")]),e._v(" Expected output:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("[almalinux_user@demohost ~]$ sudo dnf install cas\nCopr repo for codenotary x86_64 owned by andrewlukoshko 891 B/s | 1.2 kB 00:01 \n\nDependencies resolved.\n==============================================================================================================================\n Package Architecture Version Repository Size\n==============================================================================================================================\nInstalling:\n cas x86_64 1.0.3-1.el9 copr:build.almalinux.org:andrewlukoshko:codenotary 5.4 M\n\nTransaction Summary\n==============================================================================================================================\nInstall 1 Package\n\nTotal download size: 5.4 M\nInstalled size: 19 M\nIs this ok [y/N]: y\nDownloading Packages:\ncas-1.0.3-1.el9.x86_64.rpm 493 kB/s | 5.4 MB 00:11 \n------------------------------------------------------------------------------------------------------------------------------\nTotal 493 kB/s | 5.4 MB 00:11 \nRunning transaction check\nTransaction check succeeded.\nRunning transaction test\nTransaction test succeeded.\nRunning transaction\n Preparing : 1/1 \n Installing : cas-1.0.3-1.el9.x86_64 1/1 \n Running scriptlet: cas-1.0.3-1.el9.x86_64 1/1 \n Verifying : cas-1.0.3-1.el9.x86_64 1/1 \n\nInstalled:\n cas-1.0.3-1.el9.x86_64 \n\nComplete!\n[almalinux_user@demohost ~]$\n")])])]),t("p",[t("strong",[e._v("PREP DONE:")]),e._v(" At this point your system is ready to work with AlmaLinux "),t("em",[e._v("SBOM")]),e._v(" infrastructure!")]),e._v(" "),t("hr"),e._v(" "),t("p"),e._v(" "),t("h2",{attrs:{id:"using-guide"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#using-guide"}},[e._v("#")]),e._v(" Using Guide")]),e._v(" "),t("p",[t("strong",[e._v("Authenticate "),t("em",[e._v("SBOM")]),e._v(" on packages - definition:")])]),e._v(" "),t("blockquote",[t("p",[t("strong",[e._v("Authentication")]),e._v(" - matches the hash of a local asset to a hash on "),t("em",[e._v("CAS")]),e._v(". In case of AlmaLinux the local asset is an "),t("em",[e._v("RPM")]),e._v(" binary package.")])]),e._v(" "),t("p",[e._v("There are a few ways to authenticate the package:")]),e._v(" "),t("ul",[t("li",[e._v("Authenticate by package binary file")]),e._v(" "),t("li",[e._v("Authenticate with manually calculated "),t("code",[e._v("rpm-package-hash")])]),e._v(" "),t("li",[e._v("Authenticate with "),t("code",[e._v("rpm-package-hash")]),e._v(" from AlmaLinux Build System")])]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("Note: The "),t("code",[e._v("cas")]),e._v(" program is a command line tool with a unified interface across all three platforms ("),t("em",[e._v("Linux®, macOS, Windows")]),e._v("); Therefore, the commands shown in the section below can be used on all supported platforms.")])]),e._v(" "),t("p"),e._v(" "),t("h3",{attrs:{id:"authenticate-by-package-binary-file"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#authenticate-by-package-binary-file"}},[e._v("#")]),e._v(" Authenticate by package binary file")]),e._v(" "),t("h4",{attrs:{id:"get-the-package"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#get-the-package"}},[e._v("#")]),e._v(" Get the package")]),e._v(" "),t("p",[e._v("To examine a package from the repo you should first get the URL.")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("The package we selected for this demo was: "),t("code",[e._v("kernel-5.14.0-162.12.1.el9_1.x86_64.rpm")])]),e._v(" "),t("p",[e._v("URL:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("http://repo.almalinux.org/almalinux/9.1/BaseOS/x86_64/os/Packages/kernel-5.14.0-162.12.1.el9_1.x86_64.rpm\n")])])])]),e._v(" "),t("h5",{attrs:{id:"use-curl-to-get-the-package"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#use-curl-to-get-the-package"}},[e._v("#")]),e._v(" Use "),t("code",[e._v("curl")]),e._v(" to get the package:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("curl http://repo.almalinux.org/almalinux/9.1/BaseOS/x86_64/os/Packages/kernel-5.14.0-162.12.1.el9_1.x86_64.rpm -o kernel-5.14.0-162.12.1.el9_1.x86_64.rpm\n")])])]),t("h4",{attrs:{id:"authentication-using-the-cas-tool"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#authentication-using-the-cas-tool"}},[e._v("#")]),e._v(" Authentication using the "),t("em",[e._v("CAS")]),e._v(" tool")]),e._v(" "),t("p",[e._v("Use the downloaded package file (path) as a parameter for the "),t("code",[e._v("cas")]),e._v(" command:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("cas authenticate --signerID=cloud-infra@almalinux.org kernel-5.14.0-162.12.1.el9_1.x86_64.rpm\n")])])]),t("h5",{attrs:{id:"live-example"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#live-example"}},[e._v("#")]),e._v(" Live example")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/sbom-guide-live-example-auth-by-binary-file.gif",alt:"image"}})]),e._v(" "),t("p",[t("strong",[e._v("CONGRATULATIONS!")]),e._v(" You have just "),t("strong",[e._v("authenticated")]),e._v(" a package with the "),t("code",[e._v("cas")]),e._v(" CLI tool!")]),e._v(" "),t("p"),e._v(" "),t("h3",{attrs:{id:"authenticate-with-manually-calculated-rpm-package-hash"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#authenticate-with-manually-calculated-rpm-package-hash"}},[e._v("#")]),e._v(" Authenticate with manually calculated "),t("code",[e._v("rpm-package-hash")])]),e._v(" "),t("p",[e._v("You can also calculate package hash manually from CLI.")]),e._v(" "),t("p",[e._v('Assuming here, you have the package already. If not please refer to "Get the package" above.')]),e._v(" "),t("p",[e._v("To get the "),t("code",[e._v("rpm-package-hash")]),e._v(" you just need to calculate "),t("code",[e._v("sha256sum")]),e._v(":")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("PKG_FILE=kernel-5.14.0-162.12.1.el9_1.x86_64.rpm\nSUM=$(sha256sum $PKG_FILE)\nHASH=${SUM%%\\ *rpm}\n")])])]),t("h4",{attrs:{id:"authentication-using-the-cas-tool-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#authentication-using-the-cas-tool-2"}},[e._v("#")]),e._v(" Authentication using the "),t("em",[e._v("CAS")]),e._v(" tool")]),e._v(" "),t("p",[e._v("Use the calculated hash as value for parameter "),t("code",[e._v("--hash")]),e._v(" in the "),t("code",[e._v("cas")]),e._v(" tool invocation:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("cas authenticate --signerID=cloud-infra@almalinux.org --hash $HASH\n")])])]),t("h5",{attrs:{id:"live-example-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#live-example-2"}},[e._v("#")]),e._v(" Live example")]),e._v(" "),t("p",[e._v("The whole process as described above should look like:")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/sbom-guide-live-example-auth-rpm-hash.gif",alt:"image"}})]),e._v(" "),t("p",[t("strong",[e._v("CONGRATULATIONS!")]),e._v(" You have just "),t("strong",[e._v("authenticated")]),e._v(" a package with the "),t("code",[e._v("cas")]),e._v(" CLI tool!")]),e._v(" "),t("p"),e._v(" "),t("h3",{attrs:{id:"get-rpm-package-hash-or-package-from-almalinux-build-system"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#get-rpm-package-hash-or-package-from-almalinux-build-system"}},[e._v("#")]),e._v(" Get "),t("code",[e._v("rpm-package-hash")]),e._v(" (or package) from AlmaLinux Build System")]),e._v(" "),t("p",[e._v("Alternatively, you can get "),t("code",[e._v("rpm-package-has")]),e._v(" (and package binary, of course) from the build site.")]),e._v(" "),t("h4",{attrs:{id:"_1-navigate-your-browser-https-build-almalinux-org"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-navigate-your-browser-https-build-almalinux-org"}},[e._v("#")]),e._v(" 1. Navigate your browser https://build.almalinux.org/")]),e._v(" "),t("h4",{attrs:{id:"_2-search-for-a-desired-package-build-by-name-in-the-example-we-look-for-kernel"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2-search-for-a-desired-package-build-by-name-in-the-example-we-look-for-kernel"}},[e._v("#")]),e._v(" 2. Search for a desired package (build) by name, in the example we look for "),t("code",[e._v("kernel")]),e._v(":")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("To open the search tab click on the magnifying glass icon in the right top corner.")])]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("Naturally, you can narrow the search by supplying more parameters to the filter.")])]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/sbom-guide-bs-search.png",alt:"image"}})]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("More info about working with the build-system page:\n"),t("a",{attrs:{href:"https://https://github.com/AlmaLinux/build-system/wiki/AlmaLinux-Build-System-User-Guide#the-build-feed-screen",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Build System User Guide | the build feedscreen"),t("OutboundLink")],1)])]),e._v(" "),t("h4",{attrs:{id:"_3-click-the-i-details-on-the-selected-entry-here-top-one-you-will-get-the-build-summary"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_3-click-the-i-details-on-the-selected-entry-here-top-one-you-will-get-the-build-summary"}},[e._v("#")]),e._v(" 3. Click the "),t("code",[e._v("ⓘ Details")]),e._v(" on the selected entry (here: top one) you will get the build summary:")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/sbom-guide-bs-details.png",alt:"image"}})]),e._v(" "),t("h4",{attrs:{id:"_4-select-the-architecture-of-the-package-build-by-clicking-the-corresponding-tab"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_4-select-the-architecture-of-the-package-build-by-clicking-the-corresponding-tab"}},[e._v("#")]),e._v(" 4. Select the architecture of the package build by clicking the corresponding tab")]),e._v(" "),t("h4",{attrs:{id:"here-x86-64-was-selected"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#here-x86-64-was-selected"}},[e._v("#")]),e._v(" Here "),t("strong",[t("code",[e._v("x86_64")])]),e._v(" was selected:")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/sbom-guide-bs-select-arch.png",alt:"image"}})]),e._v(" "),t("h4",{attrs:{id:"_5-hover-your-mouse-over-the-blue-key-icon-to-reveal-the-rpm-package-hash"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_5-hover-your-mouse-over-the-blue-key-icon-to-reveal-the-rpm-package-hash"}},[e._v("#")]),e._v(" 5. Hover your mouse over the blue key icon to reveal the "),t("code",[e._v("rpm-package-hash")]),e._v(":")]),e._v(" "),t("h6",{attrs:{id:"click-to-copy-it-to-the-clipboard"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#click-to-copy-it-to-the-clipboard"}},[e._v("#")]),e._v(" Click to copy it to the clipboard:")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/sbom-guide-bs-rpm-hash.png",alt:"image"}})]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("You can download the package binary by clicking on the link with its name.")])]),e._v(" "),t("p"),e._v(" "),t("h3",{attrs:{id:"authentication-using-a-hash-obtained-from-build-service"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#authentication-using-a-hash-obtained-from-build-service"}},[e._v("#")]),e._v(" Authentication using a hash obtained from Build Service")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("The command is the same as above, here just shows output in form of a static picture.")])]),e._v(" "),t("p",[e._v("Call the "),t("code",[e._v("cas")]),e._v(" tool providing the copied "),t("code",[e._v("rpm-package-hash")]),e._v(" as "),t("code",[e._v("--hash")]),e._v(" parameter value:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("cas authenticate --signerID=cloud-infra@almalinux.org --hash ed061fab17b8f269d5fd421a14d0ec81ce5dc357a3ebffe33b5bd2a75e9dd704\n")])])]),t("h5",{attrs:{id:"example-output"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#example-output"}},[e._v("#")]),e._v(" Example output:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('[almalinux_user@demohost ~]$ cas authenticate --signerID=cloud-infra@almalinux.org --hash ed061fab17b8f269d5fd421a14d0ec81ce5dc357a3ebffe33b5bd2a75e9dd704\nCAS saved locally the trusted public key\nCAS automatically trusted the signature found on current connection\nUID:\t\t1674560717775452939\nKind:\t\tfile\nName:\t\tkernel-5.14.0-162.12.1.el9_1.src.rpm\nHash:\t\ted061fab17b8f269d5fd421a14d0ec81ce5dc357a3ebffe33b5bd2a75e9dd704\nSize:\t\t137 MB\nTimestamp:\t2023-01-24 11:45:17.775452939 +0000 UTC\nContentType:\tapplication/x-rpm\nMetadata:\tbuild_arch="i686"\n\t\tepoch="None"\n\t\trelease="162.12.1.el9_1"\n\t\tsourcerpm="None"\n\t\tarch="noarch"\n\t\tbuild_host="x64-builder02.almalinux.org"\n\t\tgit_ref="changed/a9/kernel-5.14.0-162.12.1.el9_1.alma"\n\t\talma_commit_sbom_hash="ef90a8252e33e09860be86482f5c8c9d932392e360a828ee8e0a58cdbc451804"\n\t\tgit_url="https://git.almalinux.org/rpms/kernel.git"\n\t\tversion="5.14.0"\n\t\tsource_type="git"\n\t\tbuild_id="5657"\n\t\tbuilt_by="eabdullin1 \\u003c55892454+eabdullin1@users.noreply.github.com\\u003e"\n\t\tgit_commit="dec6aca7a2b4f5a5b59e6b10efde21e47fda9827"\n\t\tname="kernel"\n\t\tsbom_api="0.2"\nSignerID:\tY2xvdWQtaW5mcmFAYWxtYWxpbnV4Lm9yZw==\nApikey revoked:\tno\nStatus:\t\tTRUSTED\n')])])]),t("hr"),e._v(" "),t("p"),e._v(" "),t("h2",{attrs:{id:"trademark-notices"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#trademark-notices"}},[e._v("#")]),e._v(" Trademark notices")]),e._v(" "),t("p",[e._v("Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.")]),e._v(" "),t("p",[e._v("macOS are trademarks of Apple Inc., registered in the U.S. and other countries.")]),e._v(" "),t("p",[e._v("Windows is a registered trademark of Microsoft Corporation in the United States and other countries.")])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/77.f8f7618a.js b/assets/js/77.f8f7618a.js new file mode 100644 index 000000000..ff7779200 --- /dev/null +++ b/assets/js/77.f8f7618a.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[77],{357:function(t,s,a){"use strict";a.r(s);var e=a(14),n=Object(e.a)({},(function(){var t=this,s=t._self._c;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"windows-subsystem-for-linux"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#windows-subsystem-for-linux"}},[t._v("#")]),t._v(" Windows Subsystem for Linux")]),t._v(" "),s("h2",{attrs:{id:"about-wsl"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#about-wsl"}},[t._v("#")]),t._v(" About WSL")]),t._v(" "),s("p",[t._v("Windows Subsystem for Linux (WSL) is designed as integration between Windows and Linux. You can now run the AlmaLinux terminal environment on a Windows machine. It doesn't require a dual-boot or a VM.")]),t._v(" "),s("h4",{attrs:{id:"supported-versions"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#supported-versions"}},[t._v("#")]),t._v(" Supported versions:")]),t._v(" "),s("p",[t._v("You can get an image from the Microsoft Store:")]),t._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"https://apps.microsoft.com/store/detail/almalinux-8-wsl/9NMD96XJJ19F",target:"_blank",rel:"noopener noreferrer"}},[t._v("AlmaLinux OS 8"),s("OutboundLink")],1)]),t._v(" "),s("li",[s("a",{attrs:{href:"https://apps.microsoft.com/store/detail/almalinux-9/9P5RWLM70SN9",target:"_blank",rel:"noopener noreferrer"}},[t._v("AlmaLinux OS 9"),s("OutboundLink")],1)])]),t._v(" "),s("p",[t._v("or using the direct links:")]),t._v(" "),s("table",{attrs:{align:"center"}},[s("tr",[s("td",{attrs:{align:"center"}},[t._v("AlmaLinux 8")]),t._v(" "),s("td",{attrs:{align:"center"}},[s("a",{attrs:{href:"https://wsl.almalinux.org/8/AlmaLinuxOS-8_latest_x64.appx"}},[t._v("Intel/AMD (x86_64)")])]),t._v(" "),s("td",{attrs:{align:"center"}},[s("a",{attrs:{href:"https://wsl.almalinux.org/8/AlmaLinuxOS-8_latest_ARM64.appx"}},[t._v("ARM64 (AArch64)")])])]),t._v(" "),s("tr",[s("td",{attrs:{align:"center"}},[t._v("AlmaLinux 9")]),t._v(" "),s("td",{attrs:{align:"center"}},[s("a",{attrs:{href:"https://wsl.almalinux.org/9/AlmaLinuxOS-9_latest_x64.appx"}},[t._v("Intel/AMD (x86_64)")])]),t._v(" "),s("td",{attrs:{align:"center"}},[s("a",{attrs:{href:"https://wsl.almalinux.org/9/AlmaLinuxOS-9_latest_ARM64.appx"}},[t._v("ARM64 (AArch64)")])])])]),t._v(" "),s("h2",{attrs:{id:"installation-steps"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#installation-steps"}},[t._v("#")]),t._v(" Installation steps")]),t._v(" "),s("p",[t._v("Follow these steps to get AlmaLinux for WSL.")]),t._v(" "),s("ul",[s("li",[s("p",[t._v("To start with, let's check what is the Windows build number. Press "),s("strong",[t._v("Win + R")]),t._v(". Run "),s("code",[t._v("winver")]),t._v(" command and press "),s("strong",[t._v("OK")]),t._v(" or "),s("strong",[t._v("Enter")]),t._v(". You'll get "),s("em",[t._v("About Windows")]),t._v(" information saying Microsoft Windows version. If "),s("em",[t._v("OS Build")]),t._v(" is 19041 or higher, continue. If not, please, check "),s("a",{attrs:{href:"#popular-issues"}},[t._v("popular issues")]),t._v(" section.")])]),t._v(" "),s("li",[s("p",[t._v("Find "),s("strong",[t._v("PowerShell")]),t._v(" in the Windows search bar. Choose "),s("em",[t._v("Run as administrator option")]),t._v(".\n"),s("img",{attrs:{src:"/images/wsl-powershell.png",alt:"image"}})])]),t._v(" "),s("li",[s("p",[t._v("Run "),s("code",[t._v("wsl --install")]),t._v(" command. This command will automatically install "),s("em",[t._v("Virtual Machine Platform")]),t._v(", "),s("em",[t._v("Windows Subsystem for Linux")]),t._v(" and download "),s("em",[t._v("WSL Kernel")]),t._v(". It will also set your default WSL version to WSL2.\n"),s("img",{attrs:{src:"/images/wsl-install.png",alt:"image"}})])]),t._v(" "),s("li",[s("p",[t._v("After WSL installations are completed, you need to reboot the system.")])]),t._v(" "),s("li",[s("p",[t._v("Now open "),s("strong",[t._v("Microsoft Store")]),t._v(" and search for AlmaLinux 8 WSL or AlmaLinux 9 app. Press "),s("em",[t._v("Get")]),t._v(". Installation of the app will begin.\n"),s("img",{attrs:{src:"/images/wsl-ms-store.png",alt:"image"}})])]),t._v(" "),s("li",[s("p",[t._v("When the installation is finished, you'll get a notification. You can launch AlmaLinux WSL app now.")])]),t._v(" "),s("li",[s("p",[t._v("A terminal will be opened with the AlmaLinux installation process. You'll need to create a username and password.")])])]),t._v(" "),s("div",{staticClass:"custom-block tip"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("These username and password don't have to match with your Windows user credentials.")])]),t._v(" "),s("ul",[s("li",[t._v("After installation is finished successfully, congratulations, you can now run AlmaLinux terminal on your Windows machine.\n"),s("img",{attrs:{src:"/images/wsl-alma.png",alt:"image"}})])]),t._v(" "),s("h2",{attrs:{id:"popular-issues"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#popular-issues"}},[t._v("#")]),t._v(" Popular issues")]),t._v(" "),s("ul",[s("li",[s("p",[t._v("If your Windows build version is older than 19041, you'll have to perform a few manual steps to setup WSL. Check the "),s("a",{attrs:{href:"https://docs.microsoft.com/en-us/windows/wsl/install-manual#step-1---enable-the-windows-subsystem-for-linux",target:"_blank",rel:"noopener noreferrer"}},[t._v("Microsoft Guide"),s("OutboundLink")],1),t._v(" for the details.")])]),t._v(" "),s("li",[s("p",[t._v("If you get an error during AlmaLinux WSL installation, please, check in the BIOS menu that the "),s("em",[t._v("Virtualization")]),t._v(" option is enabled.")])])])])}),[],!1,null,null,null);s.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/78.549551f7.js b/assets/js/78.549551f7.js new file mode 100644 index 000000000..8f6cd1766 --- /dev/null +++ b/assets/js/78.549551f7.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[78],{360:function(e,t,o){"use strict";o.r(t);var r=o(14),n=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"almalinux-board-of-directors-election-2023"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-board-of-directors-election-2023"}},[e._v("#")]),e._v(" AlmaLinux Board of Directors Election 2023")]),e._v(" "),t("h1",{attrs:{id:"_2023-election-results"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2023-election-results"}},[e._v("#")]),e._v(" 2023 - Election Results")]),e._v(" "),t("p",[e._v("New Board Members:")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://www.linkedin.com/in/jun-yoshida-6b4b5a16/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Jun Yoshida"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://www.linkedin.com/in/iribarren/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Alejandro Iribarren"),t("OutboundLink")],1)])]),e._v(" "),t("h2",{attrs:{id:"votes-cast"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#votes-cast"}},[e._v("#")]),e._v(" Votes cast")]),e._v(" "),t("h3",{attrs:{id:"contributor-and-mirror-members-200-voters-out-of-351-possible"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#contributor-and-mirror-members-200-voters-out-of-351-possible"}},[e._v("#")]),e._v(" Contributor and Mirror members, 200 voters out of 351 possible")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://www.linkedin.com/in/iribarren/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Alejandro Iribarren"),t("OutboundLink")],1),e._v(" - 171")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://www.linkedin.com/in/jun-yoshida-6b4b5a16/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Jun Yoshida"),t("OutboundLink")],1),e._v(" - 122")])]),e._v(" "),t("h3",{attrs:{id:"platinum-members-1-voter-out-of-2-possible"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#platinum-members-1-voter-out-of-2-possible"}},[e._v("#")]),e._v(" Platinum members, 1 voter, out of 2 possible")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://www.linkedin.com/in/iribarren/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Alejandro Iribarren"),t("OutboundLink")],1),e._v(" - 0")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://www.linkedin.com/in/jun-yoshida-6b4b5a16/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Jun Yoshida"),t("OutboundLink")],1),e._v(" - 1")])]),e._v(" "),t("h3",{attrs:{id:"gold-members-2-voters-out-of-3-possible"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#gold-members-2-voters-out-of-3-possible"}},[e._v("#")]),e._v(" Gold members, 2 voters out of 3 possible")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://www.linkedin.com/in/iribarren/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Alejandro Iribarren"),t("OutboundLink")],1),e._v(" - 1")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://www.linkedin.com/in/jun-yoshida-6b4b5a16/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Jun Yoshida"),t("OutboundLink")],1),e._v(" - 1")])]),e._v(" "),t("h3",{attrs:{id:"silver-members-7-voters-out-of-11-possible"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#silver-members-7-voters-out-of-11-possible"}},[e._v("#")]),e._v(" Silver members, 7 voters out of 11 possible")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://www.linkedin.com/in/iribarren/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Alejandro Iribarren"),t("OutboundLink")],1),e._v(" - 7")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://www.linkedin.com/in/jun-yoshida-6b4b5a16/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Jun Yoshida"),t("OutboundLink")],1),e._v(" - 3")])]),e._v(" "),t("h1",{attrs:{id:"process"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#process"}},[e._v("#")]),e._v(" Process")]),e._v(" "),t("p",[e._v("The AlmaLinux OS Foundation is running an election to fill 3 vacant seats on the Board of Directors. The election will start on December 1st, 2023.")]),e._v(" "),t("p",[e._v("At this stage we are looking for nominees for the Board of Director position. To be nominated you have to:")]),e._v(" "),t("ul",[t("li",[e._v("Be an AlmaLinux OS Foundation member for at least 3 months by Dec 1st, 2023")]),e._v(" "),t("li",[e._v("Be nominated by an AlmaLinux OS Foundation member in good standing")])]),e._v(" "),t("p",[e._v("To nominate someone email name & contact information of nominee to elections@almalinux.org")]),e._v(" "),t("p",[e._v("Please, check FAQ section for more information.")]),e._v(" "),t("h1",{attrs:{id:"nominees"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#nominees"}},[e._v("#")]),e._v(" Nominees")]),e._v(" "),t("ul",[t("li",[t("img",{attrs:{src:"/images/elections2023/AlexIribarren-small.jpg",alt:"image"}}),e._v(" "),t("a",{attrs:{href:"https://www.linkedin.com/in/iribarren/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Alejandro Iribarren"),t("OutboundLink")],1),e._v(" - Alejandro has strong ties within the AlmaLinux community and can represent the scientific use-case of AlmaLinux, both internally at the CERN site as well as throughout our HEP (high energy physics) associates. "),t("em",[e._v("nominated by Ben Morris")])]),e._v(" "),t("li",[t("img",{attrs:{src:"/images/elections2023/JunYoshida-small.jpg",alt:"Image"}}),e._v(" "),t("a",{attrs:{href:"https://www.linkedin.com/in/jun-yoshida-6b4b5a16/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Jun Yoshida"),t("OutboundLink")],1),e._v(" - Jun is an Executive Officer of CyberTrust Japan and a member of the AlmaLinux community. He has been a strong advocate for AlmaLinux in Japan. "),t("em",[e._v("nominated by Koichiro Iwao")])])]),e._v(" "),t("p",[e._v("Last updated Dec 1, 2023")]),e._v(" "),t("h1",{attrs:{id:"election-committee"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#election-committee"}},[e._v("#")]),e._v(" Election Committee")]),e._v(" "),t("ul",[t("li",[t("img",{attrs:{src:"/images/elections2023/Abdullah_As-Sadeed-small.png",alt:"image"}}),e._v(" "),t("a",{attrs:{href:"https://github.com/Bitscoper/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Abdullah As-Sadeed"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("img",{attrs:{src:"/images/elections2023/JING_LUO.png",alt:"image"}}),e._v(" Jing Luo")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://www.linkedin.com/in/radhesh-g",target:"_blank",rel:"noopener noreferrer"}},[e._v("Radhesh Goel"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("img",{attrs:{src:"/images/elections2023/Benny-small.jpg",alt:"image"}}),e._v(" "),t("a",{attrs:{href:"https://www.linkedin.com/in/bennyvasquez/",target:"_blank",rel:"noopener noreferrer"}},[e._v("benny Vasquez"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("img",{attrs:{src:"/images/elections2023/igor-small.jpg",alt:"image"}}),e._v(" "),t("a",{attrs:{href:"https://www.linkedin.com/in/iseletsk/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Igor Seletskiy"),t("OutboundLink")],1)])]),e._v(" "),t("h2",{attrs:{id:"faq"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#faq"}},[e._v("#")]),e._v(" FAQ")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("When does the election start?")]),e._v(" "),t("ul",[t("li",[e._v("The election starts on Dec 1st, 2023 and run until Dec 16th, 2023. If we don't reach quorum by Dec 16th, the election will stay open until quorum is reached.")]),e._v(" "),t("li",[e._v("To reach the quorum we need 50% of all Foundation members to vote.")])])]),e._v(" "),t("li",[t("p",[e._v("Can I nominate myself?")]),e._v(" "),t("ul",[t("li",[e._v("No, you must be nominated by a supporting member in good standing.")])])]),e._v(" "),t("li",[t("p",[e._v("Who can be nominated?")]),e._v(" "),t("ul",[t("li",[e._v("Any member in good standing, approved by the membership committee not less than 3 months before the election")]),e._v(" "),t("li",[e._v("Note: only members in good standing may nominate a potential board member, and each nominee must have a supporting member (you cannot nominate yourself).")])])]),e._v(" "),t("li",[t("p",[e._v("How can I nominate someone?")]),e._v(" "),t("ul",[t("li",[e._v("E-Mail name & contact information of nominee to elections@almalinux.org")])])]),e._v(" "),t("li",[t("p",[e._v("My company is a member sponsor, can it nominate any company employee?")]),e._v(" "),t("ul",[t("li",[e._v("Yes, sponsors can nominate any company employee, but if the employee is terminated, or company sponsorship laps, the person may be asked to step down from the role.")])])]),e._v(" "),t("li",[t("p",[e._v("Who can vote?")]),e._v(" "),t("ul",[t("li",[e._v("Any Platinum, Gold, Silver, Contributor, User, Alumnus, or Mirror member in good standing, approved by the membership committee on or before November 29th.")])])]),e._v(" "),t("li",[t("p",[e._v("How can I vote?")]),e._v(" "),t("ul",[t("li",[e._v("You will get a link to the voting page in your e-mail on the day voting starts.")])])]),e._v(" "),t("li",[t("p",[e._v("How many votes does each member get?")]),e._v(" "),t("ul",[t("li",[e._v("Contributor, Alumnus, Mirror members: 1 vote each")]),e._v(" "),t("li",[e._v("Platinum sponsors: 50 votes each")]),e._v(" "),t("li",[e._v("Gold sponsors: 15 votes each")]),e._v(" "),t("li",[e._v("Silver sponsors: 5 votes each")])])]),e._v(" "),t("li",[t("p",[e._v("What is the minimum number of votes you need to win?")]),e._v(" "),t("ul",[t("li",[e._v("At least 50% of our membership must vote in order for the election to be valid")]),e._v(" "),t("li",[e._v("Top 3 candidates with most votes will win")])])]),e._v(" "),t("li",[t("p",[e._v("How many seats are on the board, and how many are vacant?")]),e._v(" "),t("ul",[t("li",[e._v("There are 9 seats on the board, 3 are vacant, the other 6 were elected last year and do not need to be re-elected at this time.")])])]),e._v(" "),t("li",[t("p",[e._v("How long does a director serve?")]),e._v(" "),t("ul",[t("li",[e._v("A term on the board is 3 years, unless the director leaves for any reasons.")])])]),e._v(" "),t("li",[t("p",[e._v("What platform will you use for the elections?")]),e._v(" "),t("ul",[t("li",[e._v("Helios.")])])]),e._v(" "),t("li",[t("p",[e._v("How are vacancies handled in the event that a director leaves before the end of their term?")]),e._v(" "),t("ul",[t("li",[e._v("If a seat is vacated less than three months before a planned election, the board may fill the vacancy by a majority vote, or may choose to leave the seat vacant.")]),e._v(" "),t("li",[e._v("If a seat is vacated more than three months before a planned election, the board must trigger an election to fill the seat or appoint someone to fill the seat.")])])]),e._v(" "),t("li",[t("p",[e._v("Are directors on the board compensated?")]),e._v(" "),t("ul",[t("li",[e._v("Board positions are not compensated positions")])])]),e._v(" "),t("li",[t("p",[e._v("Is Director at the AlmaLinux OS Foundation a full-time position?")]),e._v(" "),t("ul",[t("li",[e._v("It is not a full-time position.")])])]),e._v(" "),t("li",[t("p",[e._v("How is the Chair of the board of directors elected?")]),e._v(" "),t("ul",[t("li",[e._v("The chair is one of the officers elected by the at the first meeting of a new board of directors, or as needed.")])])]),e._v(" "),t("li",[t("p",[e._v("Can two members of the board also work at the same company?")]),e._v(" "),t("ul",[t("li",[e._v("No.")])])])])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/79.6844f849.js b/assets/js/79.6844f849.js new file mode 100644 index 000000000..dffa42ec9 --- /dev/null +++ b/assets/js/79.6844f849.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[79],{363:function(e,t,a){"use strict";a.r(t);var s=a(14),n=Object(s.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h6",{attrs:{id:"last-updated-2024-08-30"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#last-updated-2024-08-30"}},[e._v("#")]),e._v(" last updated: 2024-08-30")]),e._v(" "),t("h1",{attrs:{id:"contribute-to-the-elevate-project"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#contribute-to-the-elevate-project"}},[e._v("#")]),e._v(" Contribute to the ELevate project")]),e._v(" "),t("p",[e._v("We welcome contributors to the ELevate project. You can help with:")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"#third-party-vendors-support"}},[e._v("Adding more 3rd party repositories support")])]),e._v(" "),t("li",[t("a",{attrs:{href:"#contribute-to-testing"}},[e._v("Testing")])])]),e._v(" "),t("h2",{attrs:{id:"third-party-vendors-support"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#third-party-vendors-support"}},[e._v("#")]),e._v(" Third-party vendors support")]),e._v(" "),t("p",[e._v("Currently, the ELevate project supports the following of 3rd party repositories:")]),e._v(" "),t("ul",[t("li",[e._v("EPEL support is currently available for upgrades to AlmaLinux OS only.")]),e._v(" "),t("li",[e._v("MariaDB - for all supported operating systems.")]),e._v(" "),t("li",[e._v("nginx - for all supported operating systems.")]),e._v(" "),t("li",[e._v("PostgreSQL - for all supported operating systems.")]),e._v(" "),t("li",[e._v("Imunify - for upgrades to EL8.")]),e._v(" "),t("li",[e._v("KernelCare - for upgrades to EL8.")])]),e._v(" "),t("p",[e._v("This guide provides steps to integrate 3rd party repository packages into the ELevate upgrade process.")]),e._v(" "),t("div",{staticClass:"custom-block danger"},[t("p",{staticClass:"custom-block-title"},[e._v("DANGER")]),e._v(" "),t("p",[e._v("Note, that all your 3rd party packages must be signed.")])]),e._v(" "),t("ul",[t("li",[e._v("Clone the "),t("a",{attrs:{href:"https://github.com/AlmaLinux/leapp-data",target:"_blank",rel:"noopener noreferrer"}},[e._v("leapp-data"),t("OutboundLink")],1),e._v(" repository.")]),e._v(" "),t("li",[e._v("Navigate to the "),t("code",[e._v("vendors.d")]),e._v(" folder. It contains the necessary files for each supported 3rd party repository.")]),e._v(" "),t("li",[e._v("To add a new 3rd party repository to the ELevate process, you must create separate files and fill them out. These files "),t("strong",[e._v("must")]),e._v(" have the same "),t("em",[e._v("")]),e._v(" part in their names:\n"),t("ul",[t("li",[t("code",[e._v("_map.json")]),e._v(" - "),t("a",{attrs:{href:"#repository-mapping-file"}},[e._v("repository mapping file")]),e._v(".")]),e._v(" "),t("li",[t("code",[e._v(".repo")]),e._v(" - "),t("a",{attrs:{href:"#package-repository-file"}},[e._v("package repository information")]),e._v(".")]),e._v(" "),t("li",[t("code",[e._v(".sigs")]),e._v(" - "),t("a",{attrs:{href:"#package-signatures-list"}},[e._v("list of package signatures of vendor repositories")]),e._v(".")]),e._v(" "),t("li",[t("code",[e._v("_pes.json")]),e._v(" - "),t("a",{attrs:{href:"#package-migration-event-list"}},[e._v("package migration event list")]),e._v(".")])])])]),e._v(" "),t("h3",{attrs:{id:"repository-mapping-file"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#repository-mapping-file"}},[e._v("#")]),e._v(" Repository mapping file")]),e._v(" "),t("p",[e._v("The mapping "),t("code",[e._v(".json")]),e._v(" file provides information on mappings between source system repositories (repositories present on the system being upgraded) and target system repositories (package repositories to be used during the upgrade).")]),e._v(" "),t("p",[e._v("In case the 3rd party repository is designed for 2 migration directions, you must prepare 2 mapping JSON files:")]),e._v(" "),t("ul",[t("li",[e._v("_map.json.el8 - repository mapping file for upgrades to EL8.")]),e._v(" "),t("li",[e._v("_map.json.el9 - repository mapping file for upgrades to EL9.")])]),e._v(" "),t("p",[e._v("The mapping JSON file structure includes:")]),e._v(" "),t("ul",[t("li",[t("strong",[e._v("datetime")]),e._v(" - a generated date-time stamp, for example: "),t("code",[e._v("202306191741Z")]),e._v(".")]),e._v(" "),t("li",[t("strong",[e._v("version")]),e._v(" - version of the database, you can check the current version in the "),t("a",{attrs:{href:"https://github.com/AlmaLinux/leapp-data",target:"_blank",rel:"noopener noreferrer"}},[e._v("leapp-data repository"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("li",[e._v("Two sections, described below:\n"),t("ul",[t("li",[t("strong",[e._v("mapping")])]),e._v(" "),t("li",[t("strong",[e._v("repositories")])])])])]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("The mapping file defines whether a vendor's packages will be included in the upgrade process. If at least one source repository listed in the file is present on the system, the vendor is considered active, and package repositories/PES events are enabled - otherwise, they "),t("strong",[e._v("will not")]),e._v(" affect the upgrade process.")])]),e._v(" "),t("h4",{attrs:{id:"mapping-section"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#mapping-section"}},[e._v("#")]),e._v(" Mapping section")]),e._v(" "),t("p",[e._v("The mapping section establishes connections between repositories.")]),e._v(" "),t("p",[e._v("This section defines a mapping between major system versions. It contains the following elements:")]),e._v(" "),t("ul",[t("li",[t("code",[e._v("source_major_version")]),e._v(" - defines a major system version from which the system would be upgraded, "),t("code",[e._v("7")]),e._v(" or"),t("code",[e._v("8")]),e._v(".")]),e._v(" "),t("li",[t("code",[e._v("target_major_version")]),e._v(" - defines a major system version to which the system would be elevated, "),t("code",[e._v("8")]),e._v(" or"),t("code",[e._v("9")]),e._v(".")]),e._v(" "),t("li",[t("code",[e._v("entries")]),e._v(" - defines a list of repository mappings.\n"),t("ul",[t("li",[t("code",[e._v("source")]),e._v(" - defines a source repository that will be found on a pre-upgrade system.")]),e._v(" "),t("li",[t("code",[e._v("target")]),e._v(" - defines a target upgrade repository (or a list of repositories) that will contain new versions of packages.")]),e._v(" "),t("li",[e._v("Each source repository can map to one or multiple target repositories.")]),e._v(" "),t("li",[t("code",[e._v("source")]),e._v(" and "),t("code",[e._v("target")]),e._v(" repositories must be listed and defined in the "),t("em",[e._v("repository")]),e._v(" section and the "),t("code",[e._v(".pes")]),e._v(" file, and their IDs must match.")])])])]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("You can refer to MariDB examples: "),t("a",{attrs:{href:"https://github.com/AlmaLinux/leapp-data/blob/main/vendors.d/mariadb_map.json.el8",target:"_blank",rel:"noopener noreferrer"}},[e._v("mariadb_map.json.el8"),t("OutboundLink")],1),e._v(" and "),t("a",{attrs:{href:"https://github.com/AlmaLinux/leapp-data/blob/main/vendors.d/mariadb_map.json.el9",target:"_blank",rel:"noopener noreferrer"}},[e._v("mariadb_map.json.el9"),t("OutboundLink")],1),e._v(".")])]),e._v(" "),t("h4",{attrs:{id:"repositories-section"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#repositories-section"}},[e._v("#")]),e._v(" Repositories section")]),e._v(" "),t("p",[e._v("The repositories section provides both source and target repositories information.")]),e._v(" "),t("p",[e._v("Each repository should contain its own unique information:")]),e._v(" "),t("ul",[t("li",[t("code",[e._v("pesid")]),e._v(" - ID specific to mapping/PES files, if it doesn't match, the upgrade will fail with a corresponding error.")]),e._v(" "),t("li",[t("code",[e._v("entires")]),e._v(":\n"),t("ul",[t("li",[t("code",[e._v("major_version")]),e._v(" - defines a major system version.")]),e._v(" "),t("li",[t("code",[e._v("repoid")]),e._v(" - defines a repository ID. It must match its ID from its "),t("code",[e._v(".repo")]),e._v(" file, but it doesn't have to match its 'pesid`.")]),e._v(" "),t("li",[t("code",[e._v("arch")]),e._v(" - defines the system architecture for which this repository is relevant.")]),e._v(" "),t("li",[t("code",[e._v("channel")]),e._v(" - Red Hat specific argument, defines one of the following repository channels:\n"),t("ul",[t("li",[e._v("ga - general availability (stable) repositories; the most used one.")]),e._v(" "),t("li",[e._v("beta - beta/testing repositories.")]),e._v(" "),t("li",[e._v("eus, e4s, aus, tus - stand for Extended Update Support, Update Services for SAP Solutions, Advanced Update Support, and Telco Extended Update Support respectively.")])])]),e._v(" "),t("li",[t("code",[e._v("repo_type")]),e._v(" - defines one of the following repository types:\n"),t("ul",[t("li",[e._v("rpm - for RPM packages.")]),e._v(" "),t("li",[e._v("srpm - for source packages.")]),e._v(" "),t("li",[e._v("debuginfo - for packages with debug information.")])])])])])]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("You can refer to MariDB examples: "),t("a",{attrs:{href:"https://github.com/AlmaLinux/leapp-data/blob/main/vendors.d/mariadb_map.json.el8",target:"_blank",rel:"noopener noreferrer"}},[e._v("mariadb_map.json.el8"),t("OutboundLink")],1),e._v(" and "),t("a",{attrs:{href:"https://github.com/AlmaLinux/leapp-data/blob/main/vendors.d/mariadb_map.json.el9",target:"_blank",rel:"noopener noreferrer"}},[e._v("mariadb_map.json.el9"),t("OutboundLink")],1),e._v(".")])]),e._v(" "),t("h3",{attrs:{id:"package-repository-file"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#package-repository-file"}},[e._v("#")]),e._v(" Package repository file")]),e._v(" "),t("p",[e._v("The package repository"),t("code",[e._v(".repo")]),e._v(" file defines the vendor's package repositories that will be used during the upgrade.")]),e._v(" "),t("p",[e._v("In case the 3rd party repository is designed for 2 migration directories, you must prepare 2 repository files:")]),e._v(" "),t("ul",[t("li",[e._v(".repo.el8 - repository information for upgrades to EL8.")]),e._v(" "),t("li",[e._v(".repo.el9 - repository information for upgrades to EL9.")])]),e._v(" "),t("p",[e._v("The repository file has the same format that is typical for YUM/DNF package repository files:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("[repository ID]\nname = repository name\nbaseurl = repository baseurl\ngpgkey = GPG Key directory\ngpgcheck = 1\nenabled = 1\n")])])]),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("You can also refer to MariDB examples: "),t("a",{attrs:{href:"https://github.com/AlmaLinux/leapp-data/blob/main/vendors.d/mariadb.repo.el8",target:"_blank",rel:"noopener noreferrer"}},[e._v("mariadb.repo.el8"),t("OutboundLink")],1),e._v(" and "),t("a",{attrs:{href:"https://github.com/AlmaLinux/leapp-data/blob/main/vendors.d/mariadb.repo.el9",target:"_blank",rel:"noopener noreferrer"}},[e._v("mariadb.repo.el9"),t("OutboundLink")],1),e._v(".")])]),e._v(" "),t("p",[t("strong",[e._v("NOTE:")]),e._v(" The repositories listed in this repo file are only used "),t("em",[e._v("during")]),e._v(" the upgrade. Package repositories on the post-upgrade system should be provided through updated packages or custom repository deployment.")]),e._v(" "),t("h3",{attrs:{id:"package-signatures-list"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#package-signatures-list"}},[e._v("#")]),e._v(" Package signatures list")]),e._v(" "),t("p",[e._v("The package signature "),t("code",[e._v(".sigs")]),e._v(" file should contain the list of public signature headers that the packages are signed with.")]),e._v(" "),t("p",[e._v("You can find signature headers for your packages by running the following command:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("rpm -qip | grep Signature\n")])])]),t("h5",{attrs:{id:"an-example-output"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#an-example-output"}},[e._v("#")]),e._v(" An example output:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("Signature : DSA/SHA1, Mon Aug 23 08:17:13 2021, Key ID 8c55a6628608cb71\n")])])]),t("p",[e._v("The "),t("code",[e._v("Key ID")]),e._v(" value after - "),t("code",[e._v("8c55a6628608cb71")]),e._v(" from the example - is the public signature header you must put into the signature file.\nThe file format is designed to have "),t("em",[e._v("one signature per line")]),e._v(".")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("You can also refer to MariDB examples: "),t("a",{attrs:{href:"https://github.com/AlmaLinux/leapp-data/blob/main/vendors.d/mariadb.sigs",target:"_blank",rel:"noopener noreferrer"}},[e._v("mariadb.sigs"),t("OutboundLink")],1),e._v(".")])]),e._v(" "),t("h3",{attrs:{id:"package-migration-event-list"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#package-migration-event-list"}},[e._v("#")]),e._v(" Package migration event list")]),e._v(" "),t("p",[e._v("The package migration event list is used for complex specific package actions that can not be handled by DNF.")]),e._v(" "),t("p",[e._v("Typically this data can be found in the "),t("code",[e._v("leapp-data/vendors.d/_pes.json")]),e._v(" file in the "),t("a",{attrs:{href:"https://github.com/AlmaLinux/leapp-data",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub repository"),t("OutboundLink")],1),e._v(" and the "),t("code",[e._v("/etc/leapp/files/vendors.d/_pes.json")]),e._v(" file on a system that is being upgraded.")]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("Actions from PES JSON files will be in effect only for those packages that are signed "),t("strong",[e._v("and")]),e._v(" have their signatures in one of the active .sigs files. Unsigned packages will be updated only if some signed package requires a new version, otherwise, they will be left as they are.")])]),e._v(" "),t("h4",{attrs:{id:"creating-a-pes-json"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#creating-a-pes-json"}},[e._v("#")]),e._v(" Creating a "),t("code",[e._v("pes.json")])]),e._v(" "),t("p",[e._v("If your 3rd party packages don't require any additional actions, stick to the following format to create your pes.json file:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('{\n "legal_notice": "",\n "packageinfo": [],\n "provided_data_streams": [\n "2.0"\n ],\n "timestamp": "202408081321Z"\n}\n')])])]),t("p",[e._v("If the packages require additional action, fill in the file to add the information for the upgrade.")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("Add a new entry to the "),t("code",[e._v("packageinfo")]),e._v(" array.")])]),e._v(" "),t("li",[t("p",[t("code",[e._v("action")]),e._v(" - defines which of the following actions will be performed for your 3rd party vendor packages. Actions "),t("strong",[e._v("1")]),e._v(", "),t("strong",[e._v("3")]),e._v(", "),t("strong",[e._v("4")]),e._v(" and "),t("strong",[e._v("5")]),e._v(" are the most used ones.")]),e._v(" "),t("ul",[t("li",[t("code",[e._v("0")]),e._v(" - present;\n"),t("ul",[t("li",[e._v("keep the packages in "),t("code",[e._v("in_packageset")]),e._v(" to ensure the repo they reside in on the target system gets enabled.")])])]),e._v(" "),t("li",[t("code",[e._v("1")]),e._v(" - removed;\n"),t("ul",[t("li",[e._v("remove all packages in "),t("code",[e._v("in_packageset")]),e._v(".")])])]),e._v(" "),t("li",[t("code",[e._v("2")]),e._v(" - deprecated;\n"),t("ul",[t("li",[e._v("keep the packages in "),t("code",[e._v("in_packageset")]),e._v(" to ensure the repo they reside in on the target system gets enabled.")])])]),e._v(" "),t("li",[t("code",[e._v("3")]),e._v(" - replaced;\n"),t("ul",[t("li",[e._v("remove all packages in "),t("code",[e._v("in_packageset")]),e._v(".")]),e._v(" "),t("li",[e._v("install parts of the "),t("code",[e._v("out_packageset")]),e._v(" that are not present on the system.")]),e._v(" "),t("li",[e._v("keep the packages from "),t("code",[e._v("out_packageset")]),e._v(" that are already installed.")])])]),e._v(" "),t("li",[t("code",[e._v("4")]),e._v(" - split\n"),t("ul",[t("li",[e._v("install parts of the "),t("code",[e._v("out_packageset")]),e._v(" that are not present on the system")]),e._v(" "),t("li",[e._v("keep the present "),t("code",[e._v("out_packageset")]),e._v(".")]),e._v(" "),t("li",[e._v("remove packages from "),t("code",[e._v("in_packageset")]),e._v(" that are not present in "),t("code",[e._v("out_packageset")]),e._v(".")]),e._v(" "),t("li",[e._v("in case of package X being split into Y and Z, package X will be removed.")]),e._v(" "),t("li",[e._v("in case of package X being split into X and Y, package X will "),t("strong",[e._v("not")]),e._v(" be removed.")])]),e._v(" "),t("h5",{attrs:{id:"an-example-action-structure"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#an-example-action-structure"}},[e._v("#")]),e._v(" An example action structure:")]),e._v(" "),t("details",{staticClass:"custom-block details"},[t("summary",[e._v("DETAILS")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v(' {\n "action": 4,\n "architectures": [\n "aarch64",\n "ppc64le",\n "s390x",\n "x86_64"\n ],\n "id": 23,\n "in_packageset": {\n "package": [\n {\n "modulestreams": [\n null\n ],\n "name": "ntp",\n "repository": "base"\n }\n ],\n "set_id": 29\n },\n "initial_release": {\n "major_version": 7,\n "minor_version": 7,\n "os_name": "CentOS"\n },\n "modulestream_maps": [\n {\n "in_modulestream": null,\n "out_modulestream": null\n }\n ],\n "out_packageset": {\n "package": [\n {\n "modulestreams": [\n null\n ],\n "name": "chrony",\n "repository": "almalinux8-baseos"\n },\n {\n "modulestreams": [\n null\n ],\n "name": "ntpstat",\n "repository": "almalinux8-appstream"\n }\n ],\n "set_id": 30\n },\n "release": {\n "major_version": 8,\n "minor_version": 0,\n "os_name": "AlmaLinux"\n }\n},\n')])])])])]),e._v(" "),t("li",[t("code",[e._v("5")]),e._v(" - merged\n"),t("ul",[t("li",[e._v("install packages from the "),t("code",[e._v("out_packageset")]),e._v(" that are not present on the system.")]),e._v(" "),t("li",[e._v("remove packages from "),t("code",[e._v("in_packageset")]),e._v(" that are not present in "),t("code",[e._v("out_packageset")]),e._v(".")]),e._v(" "),t("li",[e._v("in case of packages Y and Z being merged to X, packages Y and Z will be removed.")]),e._v(" "),t("li",[e._v("in case of packages Y and Z are not being merged to X, packages Y and Z will "),t("strong",[e._v("not")]),e._v(" be removed .")])]),e._v(" "),t("h5",{attrs:{id:"an-example-action-structure-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#an-example-action-structure-2"}},[e._v("#")]),e._v(" An example action structure:")]),e._v(" "),t("details",{staticClass:"custom-block details"},[t("summary",[e._v("DETAILS")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v(' {\n "action": 5,\n "architectures": [\n "aarch64",\n "ppc64le",\n "s390x",\n "x86_64"\n ],\n "id": 93,\n "in_packageset": {\n "package": [\n {\n "modulestreams": [\n null\n ],\n "name": "infiniband-diags",\n "repository": "base"\n },\n {\n "modulestreams": [\n null\n ],\n "name": "libibmad",\n "repository": "base"\n }\n ],\n "set_id": 118\n },\n "initial_release": {\n "major_version": 7,\n "minor_version": 7,\n "os_name": "CentOS"\n },\n "modulestream_maps": [\n {\n "in_modulestream": null,\n "out_modulestream": null\n }\n ],\n "out_packageset": {\n "package": [\n {\n "modulestreams": [\n null\n ],\n "name": "infiniband-diags",\n "repository": "almalinux8-baseos"\n }\n ],\n "set_id": 9451\n },\n "release": {\n "major_version": 8,\n "minor_version": 0,\n "os_name": "AlmaLinux"\n }\n},\n')])])])])]),e._v(" "),t("li",[t("code",[e._v("6")]),e._v(" - moved to new repository\n"),t("ul",[t("li",[e._v("keep the package to make sure the repo it's in on the target system gets enabled.")]),e._v(" "),t("li",[e._v("nothing happens to "),t("code",[e._v("in_packageset")]),e._v(' as it always contains one package - the same as the "out" package.')])])]),e._v(" "),t("li",[t("code",[e._v("7")]),e._v(" - renamed\n"),t("ul",[t("li",[e._v("remove the "),t("code",[e._v("in_packageset")]),e._v(" and install the "),t("code",[e._v("out_packageset")]),e._v(" if not installed.")]),e._v(" "),t("li",[e._v("if already installed, keep the "),t("code",[e._v("out_packageset")]),e._v(" as-is.")])])]),e._v(" "),t("li",[t("code",[e._v("8")]),e._v(" - reinstalled\n"),t("ul",[t("li",[e._v("reinstall the "),t("code",[e._v("in_packageset")]),e._v(" package during the upgrade transaction.")]),e._v(" "),t("li",[e._v("mostly useful for packages that have the same version string between major versions, and thus won't be upgraded automatically.")])])])]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("Additional notes and exceptions:")]),e._v(" "),t("ul",[t("li",[e._v("any event except "),t("code",[e._v("present")]),e._v(" is ignored if any of the packages in "),t("code",[e._v("in_packageset")]),e._v(" are marked for removal.")]),e._v(" "),t("li",[e._v("any event except "),t("code",[e._v("merged")]),e._v(" is ignored if any of the packages in "),t("code",[e._v("in_packageset")]),e._v(" are neither installed nor marked for installation.")]),e._v(" "),t("li",[e._v("for "),t("code",[e._v("merged")]),e._v(" events it is sufficient to have at least one package from "),t("code",[e._v("in_packageset")]),e._v(" either installed or marked for installation.")])])])]),e._v(" "),t("li",[t("p",[t("code",[e._v("architectures")]),e._v(" - defines what system architectures the listed actions are effective for.\n*"),t("code",[e._v("id")]),e._v(" - defines entry ID, must be unique; use the scripts below to check your ID.")])]),e._v(" "),t("li",[t("p",[t("code",[e._v("in_packageset")]),e._v(" - defines a set of packages on the system to be upgraded.")]),e._v(" "),t("ul",[t("li",[e._v("The "),t("code",[e._v("repository")]),e._v(" field defines the package repository the package was installed from on the source system.")])])]),e._v(" "),t("li",[t("p",[t("code",[e._v("out_packageset")]),e._v(" - defines a set of packages to switch to.")]),e._v(" "),t("ul",[t("li",[e._v("The "),t("code",[e._v("repository")]),e._v(' field for packages should be the same as the "Target system repo name in PES" field in the associated vendor repository mapping file.')])])]),e._v(" "),t("li",[t("p",[t("code",[e._v("initial_release")]),e._v(" - defines a system that is to be upgraded, must include OS major and minor versions, and OS name.")])])]),e._v(" "),t("ul",[t("li",[t("code",[e._v("release")]),e._v(" - defines target system, must include OS major and minor versions, and OS name.")])]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("The Leapp-tool doesn't force packages from "),t("code",[e._v("out_packageset")]),e._v(" to be installed from the specific repository. Instead, it enables repo from "),t("code",[e._v("out_packageset")]),e._v(" and then DNF installs the latest package version from all enabled repos.")])]),e._v(" "),t("p",[e._v("When creating "),t("code",[e._v("in_packageset")]),e._v(" and "),t("code",[e._v("out_packageset")]),e._v(" lists, please, stick to the following format:")]),e._v(" "),t("div",{staticClass:"language-json extra-class"},[t("pre",{pre:!0,attrs:{class:"language-json"}},[t("code",[e._v(" "),t("span",{pre:!0,attrs:{class:"token property"}},[e._v('"in_packageset"')]),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token property"}},[e._v('"package"')]),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token property"}},[e._v('"module_stream"')]),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token null keyword"}},[e._v("null")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token property"}},[e._v('"name"')]),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"PackageKit"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token property"}},[e._v('"repository"')]),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"base"')]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("{")]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token property"}},[e._v('"module_stream"')]),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token null keyword"}},[e._v("null")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token property"}},[e._v('"name"')]),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"PackageKit-yum"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token property"}},[e._v('"repository"')]),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"base"')]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token property"}},[e._v('"set_id"')]),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v(":")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("1592")]),e._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("}")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(",")]),e._v("\n")])])]),t("h4",{attrs:{id:"validate-pes-json-and-id"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#validate-pes-json-and-id"}},[e._v("#")]),e._v(" Validate "),t("code",[e._v("pes.json")]),e._v(" and ID")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("You can run the following scripts that will validate your package migration events file"),t("code",[e._v("pes.json")]),e._v(" and check ID for duplication:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('#!/bin/bash\n\nDISTRO=$1\nPWD=$( pwd )\n\nif [ -z "$DISTRO" ]; then\n echo "$0 almalinux|centos|eurolinux|oraclelinux|rocky" \n exit 1 \nfi\n\nJSON_FILES=$(find ${PWD}/files/${DISTRO}/ -path "./tests" -prune -o -name "*pes*.json" -print0 | xargs -0 echo)\nJSON_FILES="${JSON_FILES} $(find ${PWD}/vendors.d/ -path "./tests" -prune -o -name "*pes*.json*" -print0 | xargs -0 echo)"\n\n\necho "Validating ${JSON_FILES} for the ${DISTRO}"\necho\n\necho "... run tests/validate_json.py"\npython3 tests/validate_json.py tests/pes-events-schema.json $JSON_FILES || exit 1\necho\n\necho "... run tests/validate_ids.py"\npython3 tests/validate_ids.py $JSON_FILES || exit 1\necho\n\necho "... run tests/check_debranding.py"\npython3 tests/check_debranding.py ${PWD}/files/${DISTRO}/pes-events.json || exit 1\necho\n\necho "$DISTRO - OK"\nexit 0\n')])])])]),e._v(" "),t("li",[t("p",[e._v("Check ID for duplication and fix it:")])])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v(' #!/bin/bash\n\n DISTRO=$1\n PWD=$( pwd )\n\n if [ -z "$DISTRO" ]; then\n echo "$0 almalinux|centos|eurolinux|oraclelinux|rocky" \n exit 1\n fi\n\n JSON_FILES=$( find ${PWD}/vendors.d/ -path "./tests" -prune -o -name "*pes*.json*" -print0 | xargs -0 echo )\n\n python3 tools/id_uniquifier.py ./files/${DISTRO}/pes-events.json $JSON_FILES || exit 1\n\n echo "$DISTRO - OK"\n')])])]),t("h3",{attrs:{id:"creating-a-pull-request"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#creating-a-pull-request"}},[e._v("#")]),e._v(" Creating a pull request")]),e._v(" "),t("p",[e._v("Once you've prepared the vendor data for migration and tested the upgrade process, create a pull request to "),t("a",{attrs:{href:"https://github.com/AlmaLinux/leapp-data",target:"_blank",rel:"noopener noreferrer"}},[e._v("leapp-data repository"),t("OutboundLink")],1),e._v(" to make it publicly available.")]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("If your v3rd party repository data is intended only for a specific OS and not all supported OSes, please put it in the "),t("code",[e._v("files//vendors.d/")]),e._v(" direction.")]),e._v(" "),t("p",[e._v("When testing on your system, put your vendor files to the "),t("code",[e._v("/etc/leapp/files/vendors.d/")]),e._v(" direction before starting the upgrade.")])]),e._v(" "),t("p",[e._v("Next, when the pull request is submitted, the AlmaLinux Team will review it.")]),e._v(" "),t("h2",{attrs:{id:"contribute-to-testing"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#contribute-to-testing"}},[e._v("#")]),e._v(" Contribute to Testing")]),e._v(" "),t("p",[e._v("We are also seeking contributors to test new ELevate features and upgrade directions.")]),e._v(" "),t("p",[e._v("The current ELevate process is the following:")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/elevate-testing-scheme.svg",alt:"image"}})]),e._v(" "),t("ul",[t("li",[e._v("ELevate NG is designed to collect community contributions such as new support, features and bugfixes, leapp-repository, and leapp-data new versions. We test these enhancements first and welcome the community to test them. If you are interested please refer to the "),t("a",{attrs:{href:"https://wiki.almalinux.org/elevate/ELevate-NG-testing-guide.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("ELevate NG Testing Guide"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("li",[e._v("ELevate NG goes to the general testing. If you are interested please refer to the "),t("a",{attrs:{href:"https://wiki.almalinux.org/elevate/ELevate-testing-guide.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("ELevate Testing Guide"),t("OutboundLink")],1),e._v(". Meanwhile, ELevate NG gathers new data, features and improvements.")]),e._v(" "),t("li",[e._v("When the updated process is tested and approved, the Almainux Team releases it to ELevate Stable and publishes the announcement via "),t("a",{attrs:{href:"https://almalinux.org/blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Blog"),t("OutboundLink")],1),e._v(", Social Media and "),t("a",{attrs:{href:"https://lists.almalinux.org/mailman3/lists/?all-lists",target:"_blank",rel:"noopener noreferrer"}},[e._v("Mailing List"),t("OutboundLink")],1),e._v(" which you can subscribe not the miss the news!")])]),e._v(" "),t("h2",{attrs:{id:"get-help"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#get-help"}},[e._v("#")]),e._v(" Get Help")]),e._v(" "),t("p",[e._v("For more help and assistance reach out to us in the ~migration channel on the "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/migration",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Community Chat"),t("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/80.50edc24f.js b/assets/js/80.50edc24f.js new file mode 100644 index 000000000..b5581a485 --- /dev/null +++ b/assets/js/80.50edc24f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[80],{359:function(e,a,t){"use strict";t.r(a);var s=t(14),r=Object(s.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h6",{attrs:{id:"last-updated-2024-09-05"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#last-updated-2024-09-05"}},[e._v("#")]),e._v(" last updated: 2024-09-05")]),e._v(" "),a("h1",{attrs:{id:"elevate-ng-testing-guide"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#elevate-ng-testing-guide"}},[e._v("#")]),e._v(" ELevate NG Testing Guide")]),e._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),a("p",[e._v("Before beginning, we "),a("strong",[e._v("HIGHLY")]),e._v(" recommend that you follow system administration best practices and make sure you have backups and/or snapshots of your system before you proceed. It is recommended to do a trial run in a sandbox to verify the upgrade worked as expected before you attempt to upgrade any production system. Please report any issues encountered to the "),a("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),a("OutboundLink")],1),e._v(" and/or "),a("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/migration",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat Migration Channel"),a("OutboundLink")],1)])]),e._v(" "),a("p",[e._v("The ELevate NG supports a number of 3rd party repositories:")]),e._v(" "),a("ul",[a("li",[e._v("EPEL support is currently available for upgrades to AlmaLinux OS only.")]),e._v(" "),a("li",[e._v("Docker CE - for all supported operating systems.")]),e._v(" "),a("li",[e._v("MariaDB - for all supported operating systems.")]),e._v(" "),a("li",[e._v("Microsoft Linux Package Repositories - for all supported operating systems.")]),e._v(" "),a("li",[e._v("nginx - for all supported operating systems.")]),e._v(" "),a("li",[e._v("PostgreSQL - for all supported operating systems.")]),e._v(" "),a("li",[e._v("Imunify - for upgrades to EL 8.")]),e._v(" "),a("li",[e._v("KernelCare - for upgrades to EL 8.")])]),e._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),a("p",[e._v("You can add more 3rd party repositories support. See more on the "),a("a",{attrs:{href:"/elevate/Contribution-guide"}},[e._v("Contribute")]),e._v(" page.")])]),e._v(" "),a("p",[e._v("Currently, the following upgrade paths are available:")]),e._v(" "),a("p",[a("img",{attrs:{src:"/images/ELevateNG.svg",alt:"image"}})]),e._v(" "),a("p",[e._v("* - upgrading from Scientific Linux 7 to AlmaLinux 8 requires a workaround. Please, see more in the "),a("a",{attrs:{href:"#known-issues"}},[e._v("known issues")]),e._v(". "),a("br"),e._v("\n** - upgrading to Oracle Linux 9 is available with the "),a("a",{attrs:{href:"https://blogs.oracle.com/linux/post/upgrade-oracle-linux-8-to-oracle-linux-9-using-leapp",target:"_blank",rel:"noopener noreferrer"}},[e._v("Oracle Leapp utility"),a("OutboundLink")],1),e._v(" and will not be supported by ELevate project.")]),e._v(" "),a("h2",{attrs:{id:"upgrade-centos-7-to-almalinux-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-centos-7-to-almalinux-8"}},[e._v("#")]),e._v(" Upgrade CentOS 7 to AlmaLinux 8")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("Update the system to get the latest updates and reboot your machine.\n"),a("strong",[e._v("NOTE:")]),e._v(" Since the CentOS 7 repositories are now offline you will need to swap to the CentOS vault, or you can use our CentOS 7 mirror that we've setup for use with ELevate:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[e._v("sudo")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("curl")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-o")]),e._v(" /etc/yum.repos.d/CentOS-Base.repo https://el7.repo.almalinux.org/centos/CentOS-Base.repo\n"),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("sudo")]),e._v(" yum upgrade "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v("\n"),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("sudo")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("reboot")]),e._v("\n")])])])]),e._v(" "),a("li",[a("p",[e._v("Install ELevate NG version repo config for CentOS7, and import ELevate GPG key:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo curl -o /etc/yum.repos.d/elevate-ng.repo https://repo.almalinux.org/elevate/testing/elevate-ng-el$(rpm -E %rhel).repo\nsudo rpm --import https://repo.almalinux.org/elevate/RPM-GPG-KEY-ELevate\n")])])])]),e._v(" "),a("li",[a("p",[e._v("Install leapp packages and upgrade data for AlmaLinux:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo yum install -y leapp-upgrade leapp-data-almalinux\n")])])])]),e._v(" "),a("li",[a("p",[e._v("Start a preupgrade check. In the meanwhile, the Leapp utility creates a special "),a("em",[e._v("/var/log/leapp/leapp-report.txt")]),e._v(" file that contains possible problems and recommended solutions. No rpm packages will be installed at this phase.")]),e._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),a("p",[e._v("Preupgrade check will fail as the default install doesn't meet all requirements for the upgrade.")])]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo leapp preupgrade\n")])])]),a("p",[e._v("This summary report will help you get a picture of whether it is possible to continue the upgrade.")]),e._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),a("p",[e._v("In certain configurations, Leapp generates "),a("em",[e._v("/var/log/leapp/answerfile")]),e._v(" with true/false questions. Leapp utility requires answers to all these questions in order to proceed with the upgrade.")])])]),e._v(" "),a("li",[a("p",[e._v("The following fixes from "),a("em",[e._v("the /var/log/leapp/leapp-report.txt")]),e._v(" file are the most popular for CentOS 7, but it's recommended to review the whole file.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo rmmod pata_acpi\necho PermitRootLogin yes | sudo tee -a /etc/ssh/sshd_config\nsudo leapp answer --section remove_pam_pkcs11_module_check.confirm=True\n")])])]),a("p",[e._v("Check the "),a("a",{attrs:{href:"/elevate/ELevate-frequent-issues"}},[e._v("ELevate Frequent Issues")]),e._v(" page for known and frequent issues and guidance steps to solve them.")])]),e._v(" "),a("li",[a("p",[e._v("Start an upgrade. You'll be offered to reboot the system after this process is completed.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo leapp upgrade\nsudo reboot\n")])])])]),e._v(" "),a("li",[a("p",[e._v("A new entry in GRUB called "),a("code",[e._v("ELevate-Upgrade-Initramfs")]),e._v(" will appear. The system will be automatically booted into it.\nSee how the upgrade process goes in the console.")])]),e._v(" "),a("li",[a("p",[e._v("After reboot, login to the system and check how the upgrade went. Verify that the current OS is the one you need. Check logs and packages left from previous OS version, consider removing them or upgrading them manually.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("cat /etc/redhat-release\ncat /etc/os-release\nrpm -qa | grep el7 \nsudo cat /var/log/leapp/leapp-report.txt\nsudo cat /var/log/leapp/leapp-upgrade.log\n")])])])])]),e._v(" "),a("h2",{attrs:{id:"prepare-the-system-for-upgrade-to-almalinux-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#prepare-the-system-for-upgrade-to-almalinux-9"}},[e._v("#")]),e._v(" Prepare the system for upgrade to AlmaLinux 9")]),e._v(" "),a("p",[e._v("When successfully upgraded to AlmaLinux 8 OS, consider performing these steps to prepare your system for upgrading to AlmaLinux 9:")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("Navigate to the "),a("strong",[e._v("/etc/")]),e._v(" directory and use an editor of your choice to edit the "),a("strong",[e._v("yum.conf")]),e._v(" file. You need to remove everything from the "),a("strong",[e._v("exclude")]),e._v(" line especially that refers to elevate or leapp.")]),e._v(" "),a("h5",{attrs:{id:"an-example-of-yum-conf-file"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#an-example-of-yum-conf-file"}},[e._v("#")]),e._v(" An example of yum.conf file:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("main"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\n"),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("gpgcheck")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("1")]),e._v("\n"),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("installonly_limit")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("3")]),e._v("\n"),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("clean_requirements_on_remove")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v("True\n"),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("best")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v("True\n"),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("skip_if_unavailable")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v("False\n"),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("exclude")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v("python2-leapp,snactor,leapp-upgrade-el7toel8,leapp\n")])])])]),e._v(" "),a("li",[a("p",[e._v("Then navigate to the "),a("em",[e._v("/etc/dnf/")]),e._v(" directory and use an editor of your choice to do the same in the "),a("strong",[e._v("dnf.conf")]),e._v(" file.")])]),e._v(" "),a("li",[a("p",[e._v("Now you can remove/manually upgrade packages left from CentOS 7 without any conflicts.")])]),e._v(" "),a("li",[a("p",[e._v("Check packages left from CentOS 7:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("rpm -qa | grep el7\n")])])]),a("p",[e._v("An example output with a list of packages:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v(" python2-leapp-0.16.0-2.el7.noarch\n kernel-3.10.0-1160.105.1.el7.x86_64\n leapp-upgrade-el7toel8-0.19.0-5.el7.noarch\n leapp-data-almalinux-0.2-6.el7.noarch\n leapp-0.16.0-2.el7.noarch\n")])])]),a("p",[e._v("As mentioned above, consider removing these packages or upgrading them manually to proceed with the upgrade to AlmaLinux 9.")]),e._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),a("p",[e._v("If you face difficulties while removing the packages, the following command might help you:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo rpm -e --nodeps \n")])])])])]),e._v(" "),a("li",[a("p",[e._v("You can also check for the packages left from the upgrade process and remove them:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("rpm -qa | grep elevate\nrpm -qa | grep leapp\n")])])])]),e._v(" "),a("li",[a("p",[e._v("Check whether you have the "),a("em",[e._v("/root/tmp_leapp_py3")]),e._v(" directory created and if so delete it.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo rm -fr /root/tmp_leapp_py3\n")])])])]),e._v(" "),a("li",[a("p",[e._v("Clean up your machine.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf clean all\n")])])])]),e._v(" "),a("li",[a("p",[e._v("You may also have to remove old RSA/SHA1 GPG keys. List the keys:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\\t%{SUMMARY}\\n'\n")])])]),a("p",[e._v("To remove them, use use the "),a("code",[e._v("rpm -e")]),e._v(" command:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo rpm -e [keyname]\n")])])])])]),e._v(" "),a("p",[e._v("After these preparations are completed, you can upgrade your AlmaLinux 8 machine to AlmaLinux 9.")]),e._v(" "),a("h2",{attrs:{id:"upgrading-almalinux-8-to-almalinux-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#upgrading-almalinux-8-to-almalinux-9"}},[e._v("#")]),e._v(" Upgrading AlmaLinux 8 to AlmaLinux 9")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("Install ELevate NG version repo config for AlmaLinux8:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo curl -o /etc/yum.repos.d/elevate-ng.repo https://repo.almalinux.org/elevate/testing/elevate-ng-el$(rpm -E %rhel).repo\n")])])])]),e._v(" "),a("li",[a("p",[e._v("Install leapp packages and upgrade data for AlmaLinux:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo yum install -y leapp-upgrade leapp-data-almalinux\n")])])])]),e._v(" "),a("li",[a("p",[e._v("Start a preupgrade check. In the meanwhile, the Leapp utility creates a special "),a("em",[e._v("/var/log/leapp/leapp-report.txt")]),e._v(" file that contains possible problems and recommended solutions. No rpm packages will be installed at this phase.")]),e._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),a("p",[e._v("Preupgrade check will fail as the default install doesn't meet all requirements for the upgrade.")])]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo leapp preupgrade\n")])])]),a("p",[e._v("This summary report will help you get a picture of whether it is possible to continue the upgrade.")]),e._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),a("p",[e._v("In certain configurations, Leapp generates "),a("em",[e._v("/var/log/leapp/answerfile")]),e._v(" with true/false questions. Leapp utility requires answers to all these questions in order to proceed with the upgrade.")])])]),e._v(" "),a("li",[a("p",[e._v("The following fixes from "),a("em",[e._v("the /var/log/leapp/leapp-report.txt")]),e._v(" file are the most popular fixes for RHEL8-based operating systems:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[e._v("sudo")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("sed")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-i")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v('"s/^AllowZoneDrifting=.*/AllowZoneDrifting=no/"')]),e._v(" /etc/firewalld/firewalld.conf\n"),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("sudo")]),e._v(" leapp answer "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--section")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("check_vdo.confirm")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v("True\n")])])]),a("p",[e._v("You might also find the following issue in the "),a("strong",[e._v("leapp-report")]),e._v(" file that can interfere with the upgrade. Consider removing the file:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v(" Network configuration "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("for")]),e._v(" unsupported device types detected\n Summary: RHEL "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("9")]),e._v(" does not support the legacy network-scripts package that was deprecated "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("in")]),e._v(" RHEL "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("8")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("in")]),e._v(" favor of NetworkManager. Files "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("for")]),e._v(" device types that are not supported by NetworkManager are present "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("in")]),e._v(" the system. Files with the problematic configuration:\n - /etc/sysconfig/network-scripts/ifcfg-eth0\n")])])]),a("p",[e._v("Check the "),a("a",{attrs:{href:"/elevate/ELevate-frequent-issues"}},[e._v("ELevate Frequent Issues")]),e._v(" page for known and frequent issues and guidance steps to solve them.")])]),e._v(" "),a("li",[a("p",[e._v("Start an upgrade. You'll be offered to reboot the system after this process is completed.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo leapp upgrade\nsudo reboot\n")])])]),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),a("p",[e._v("You might want to remove the "),a("strong",[e._v("make-devel")]),e._v(" package as it conflicts when running "),a("code",[e._v("leapp upgrade")]),e._v(" and thus this step fails.")])])]),e._v(" "),a("li",[a("p",[e._v("A new entry in GRUB called "),a("code",[e._v("ELevate-Upgrade-Initramfs")]),e._v(" will appear. The system will be automatically booted into it.\nSee how the upgrade process goes in the console.")])]),e._v(" "),a("li",[a("p",[e._v("After reboot, login to the system and check how the upgrade went. Verify that the current OS is the one you need. Check logs and packages left from previous OS version, consider removing them or upgrade them manually.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("cat /etc/redhat-release\ncat /etc/os-release\nrpm -qa | grep el8\nsudo cat /var/log/leapp/leapp-report.txt\nsudo cat /var/log/leapp/leapp-upgrade.log\n")])])])])]),e._v(" "),a("h2",{attrs:{id:"demo-video"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#demo-video"}},[e._v("#")]),e._v(" Demo Video")]),e._v(" "),a("p",[e._v("Here we have provided a demo of a CentOS 7.x to AlmaLinux 8.x upgrade using the AlmaLinux ELevate Project.")]),e._v(" "),a("iframe",{attrs:{width:"856",height:"482",src:"https://www.youtube.com/embed/Vzl9QxG5mvo",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),a("h2",{attrs:{id:"known-issues"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#known-issues"}},[e._v("#")]),e._v(" Known Issues")]),e._v(" "),a("h3",{attrs:{id:"upgrading-from-scientific-linux-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#upgrading-from-scientific-linux-7"}},[e._v("#")]),e._v(" Upgrading from Scientific Linux 7")]),e._v(" "),a("p",[e._v("Upgrading from Scientific Linux 7 to AlmaLinux 8 requires a workaround. You can apply it by running the following command before the preupgrade check:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("rm -rf /usr/share/redhat-release /usr/share/doc/redhat-release\n")])])]),a("h2",{attrs:{id:"get-help"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#get-help"}},[e._v("#")]),e._v(" Get Help")]),e._v(" "),a("p",[e._v("Report your feedback to "),a("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/migration",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux ~Migration Channel"),a("OutboundLink")],1),e._v(". We're especially interested in packages left from previous OS versions. This information will allow us to improve ELevate's configuration files.")])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/81.2bbf991f.js b/assets/js/81.2bbf991f.js new file mode 100644 index 000000000..9b821924e --- /dev/null +++ b/assets/js/81.2bbf991f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[81],{374:function(e,t,a){"use strict";a.r(t);var r=a(14),s=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h6",{attrs:{id:"last-updated-2024-07-08"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#last-updated-2024-07-08"}},[e._v("#")]),e._v(" last updated: 2024-07-08")]),e._v(" "),t("h1",{attrs:{id:"elevate-frequent-issues"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#elevate-frequent-issues"}},[e._v("#")]),e._v(" ELevate Frequent Issues")]),e._v(" "),t("p",[e._v("These are the ELevate project issues the AlmaLinux team and community are currently working on together. You can find here the most frequent problems and guidance steps on how to solve them.")]),e._v(" "),t("h2",{attrs:{id:"leapp-upgrade-error-caused-by-important-modules-from-kernel-drivers"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#leapp-upgrade-error-caused-by-important-modules-from-kernel-drivers"}},[e._v("#")]),e._v(" Leapp upgrade error caused by important modules from kernel drivers")]),e._v(" "),t("p",[e._v('Proceeding with the upgrade, you can get the "Detected loaded kernel drivers, which have been removed" error.')]),e._v(" "),t("p",[e._v("The issue can be caused by the mentioned modules:")]),e._v(" "),t("ul",[t("li",[e._v("mptbase")]),e._v(" "),t("li",[e._v("mptscsih")]),e._v(" "),t("li",[e._v("mptspi")])]),e._v(" "),t("p",[e._v("Follow these steps to resolve the issue:")]),e._v(" "),t("ul",[t("li",[e._v("First, you need to backup initramfs. Initramfs boots any Linux OS and mounts the root filesystem. It contains kernel modules and initial scripts. Use root or sudo user credential to run this command:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.backup\n")])])]),t("ul",[t("li",[e._v("Use the Initramfs infrastructure "),t("code",[e._v("dracut")]),e._v(" to include all drivers to build a generic initramfs:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("dracut -N -f\n")])])]),t("ul",[t("li",[t("p",[e._v("After the previous step is completed, run the "),t("code",[e._v("shutdown")]),e._v(" command to stop the system.")])]),e._v(" "),t("li",[t("p",[e._v("Click "),t("em",[e._v("Virtual Machines")]),e._v(" and choose the "),t("em",[e._v("Edit Settings")]),e._v(" option and change SCSI Controller type to "),t("em",[e._v("VMware Paravirtual")]),e._v(". Save changes.")])]),e._v(" "),t("li",[t("p",[e._v("Now, you can boot your system and run one more "),t("code",[e._v("dracut")]),e._v(" command to regenerate initramfs.")])])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("dracut -f --regenerate-all\n")])])]),t("h2",{attrs:{id:"leapp-upgrade-error-more-space-needed-on-the-filesystem"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#leapp-upgrade-error-more-space-needed-on-the-filesystem"}},[e._v("#")]),e._v(' Leapp upgrade error "More space needed on the / filesystem"')]),e._v(" "),t("p",[e._v("If the "),t("code",[e._v("leapp upgrade")]),e._v(' step fails with the "More space needed on the / filesystem" error, there could be two separate problems:')]),e._v(" "),t("ol",[t("li",[e._v("Not enough free space on the /var partition. In that case, it is necessary to expand the "),t("code",[e._v("/var")]),e._v(" partition:\n"),t("ul",[t("li",[e._v("For this purpose, we kindly ask you to search for a "),t("a",{attrs:{href:"https://docs.icdc.io/en/compute/faq/extenddisk/",target:"_blank",rel:"noopener noreferrer"}},[e._v("suitable guide"),t("OutboundLink")],1),e._v(".")])])]),e._v(" "),t("li",[e._v("For a partition that uses XFS, instruct "),t("code",[e._v("leapp")]),e._v(" to use a bigger overlay file by setting the environment variable before running "),t("code",[e._v("leapp")]),e._v(" command (default is 2048 MB) by setting the LEAPP_OVL_SIZE environment variable:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("export LEAPP_OVL_SIZE=4096\n")])])]),t("h2",{attrs:{id:"sssd-fails-after-upgrade"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#sssd-fails-after-upgrade"}},[e._v("#")]),e._v(" sssd fails after upgrade")]),e._v(" "),t("p",[e._v("After upgrading, there may be problems with sssd.")]),e._v(" "),t("p",[e._v("Follow these steps to resolve the issue:")]),e._v(" "),t("ul",[t("li",[e._v("Delete all files in "),t("strong",[e._v("/var/lib/sssd/db/")]),e._v(":")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("rm -f /var/lib/sssd/db/\n")])])]),t("ul",[t("li",[e._v("Restart sssd service:")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("systemctl restart sssd\n")])])]),t("h2",{attrs:{id:"elevate-fails-due-to-initramfs-missing-a-module"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#elevate-fails-due-to-initramfs-missing-a-module"}},[e._v("#")]),e._v(" ELevate fails due to initramfs missing a module")]),e._v(" "),t("p",[e._v("When upgrading a CentOS 7 machine to an EL8 derivative, after completing the "),t("code",[e._v("leapp upgrade")]),e._v(" step the process can fail during reboot showing an initramfs error. This is possible due to the lack of support for certain drives in EL8 that were supported in EL7.")]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("These steps are helpful at upgrading to AlmaLinux OS version "),t("strong",[e._v("8.8")]),e._v(" or a lower version if necessary. Once the upgrade is complete, you can upgrade your AlmaLinux system to the latest version "),t("strong",[e._v("8.10")]),e._v(' by running the following command:"')]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("dnf update\n")])])])]),e._v(" "),t("p",[e._v("To resolve this issue, please, follow the steps below:")]),e._v(" "),t("ul",[t("li",[e._v("Find out what module is missing.")]),e._v(" "),t("li",[e._v("Check if it's possible to use such a package from "),t("a",{attrs:{href:"https://elrepo.org/wiki/doku.php?id=deviceids",target:"_blank",rel:"noopener noreferrer"}},[e._v("elrepo.org"),t("OutboundLink")],1),e._v(". In order not to get any dependency errors, we recommend looking for a package for EL version "),t("strong",[e._v("8.8")]),e._v(".")]),e._v(" "),t("li",[e._v("For the same reason, we recommend upgrading your CentOS 7 machine to AlmaLinux OS version "),t("strong",[e._v("8.8")]),e._v(". To do so, you need to navigate to the "),t("em",[e._v("/etc/leapp/files/")]),e._v(" directory and edit the "),t("strong",[e._v("leapp_upgrade_repositories.repo")]),e._v(" to lower the AlmaLinux version in "),t("code",[e._v("baseurl/mirror")]),e._v(" to 8.8.")]),e._v(" "),t("li",[e._v("If the package is present in ELRepo, modify the leapp code to add a needed driver to ELevate initramfs.\n"),t("ul",[t("li",[e._v("Navigate to the "),t("em",[e._v("/etc/leapp/files/")]),e._v(" directory and add the ELRepo repository to the "),t("strong",[e._v("leapp_upgrade_repositories.repo")]),e._v(" file:"),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("[elrepo]\nname=ELRepo.org Community Enterprise Linux Repository - el8\nbaseurl=http://elrepo.org/linux/elrepo/el8/$basearch/\n http://mirrors.coreix.net/elrepo/elrepo/el8/$basearch/\n http://mirror.rackspace.com/elrepo/elrepo/el8/$basearch/\n http://linux-mirrors.fnal.gov/linux/elrepo/elrepo/el8/$basearch/\nmirrorlist=http://mirrors.elrepo.org/mirrors-elrepo.el8\nenabled=1\ncountme=1\ngpgcheck=1\ngpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org\n")])])])]),e._v(" "),t("li",[e._v("Navigate to the "),t("em",[e._v("/usr/share/leapp-repository/repositories/system_upgrade/common/actors/targetuserspacecreator/libraries/")]),e._v(" directory and modify the following line in the "),t("strong",[e._v("userspacegen.py")]),e._v(" file to contain kernel modules the needed driver:"),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("self.packages = {'dnf', 'dnf-command(config-manager)', 'kernel-modules', 'needed_driver_name_version'}\n")])])]),t("strong",[e._v("An example for kmod-3w-sas:")]),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("self.packages = {'dnf', 'dnf-command(config-manager)', 'kernel-modules', 'kmod-3w-sas-3.26.02.000-10.el8_8.elrepo.x86_64'}\n")])])])]),e._v(" "),t("li",[e._v("Navigate to the "),t("em",[e._v("/etc/leapp/transaction/")]),e._v(" directory to add the needed driver by writing its name and version to the "),t("strong",[e._v("to_install")]),e._v(" text file, for example: "),t("code",[e._v("kmod-3w-sas-3.26.02.000-10.el8_8.elrepo.x86_64")])])])])]),e._v(" "),t("h2",{attrs:{id:"known-issues"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#known-issues"}},[e._v("#")]),e._v(" Known issues")]),e._v(" "),t("ul",[t("li",[e._v("For now, the ELevate project supports only CentOS repositories. It doesn't support other third-party (external) repositories.")]),e._v(" "),t("li",[e._v("Some CentOS 7 packages can remain after the upgrade.")])]),e._v(" "),t("p",[e._v("AlmaLinux Team is working hard to get a solution for these issues. Any contribution is valuable and helps us out. If you want to help and contribute, see "),t("RouterLink",{attrs:{to:"/elevate/#how-to-contribute"}},[e._v("how to contribute")]),e._v(" information.")],1),e._v(" "),t("h2",{attrs:{id:"get-help"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#get-help"}},[e._v("#")]),e._v(" Get Help")]),e._v(" "),t("p",[e._v("For more help and assistance reach out to us on the "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/migration",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Community Chat"),t("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/82.1efe52e8.js b/assets/js/82.1efe52e8.js new file mode 100644 index 000000000..c85169708 --- /dev/null +++ b/assets/js/82.1efe52e8.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[82],{361:function(e,a,t){"use strict";t.r(a);var r=t(14),s=Object(r.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h6",{attrs:{id:"last-updated-2024-04-18"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#last-updated-2024-04-18"}},[e._v("#")]),e._v(" last updated: 2024-04-18")]),e._v(" "),a("h1",{attrs:{id:"elevate-offline-guide"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#elevate-offline-guide"}},[e._v("#")]),e._v(" ELevate Offline Guide")]),e._v(" "),a("p",[e._v("This guide describes steps to be performed to migrate an air-gapped machine that has no connection to the Internet but has network access to a private mirror. The process involves at least two hosts:")]),e._v(" "),a("ul",[a("li",[e._v("One with Internet access to be able to create local AlmaLinux and ELevate mirrors")]),e._v(" "),a("li",[e._v("Another machine with access to these private mirrors that will be migrated.")])]),e._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),a("p",[e._v("If there's neither access to a private mirror nor the Internet, you'll have to use a data storage device to get local AlmaLinux and ELevate mirrors.")])]),e._v(" "),a("h2",{attrs:{id:"requirements"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#requirements"}},[e._v("#")]),e._v(" Requirements")]),e._v(" "),a("p",[e._v("To migrate an air-gapped machine, you have to create a local mirror to receive updates. For this purpose, the recommended "),a("strong",[e._v("storage space")]),e._v(" is at least 500GB per major version. As there are currently two supported major versions (8 and 9) the storage space should be 1TB.")]),e._v(" "),a("h2",{attrs:{id:"prerequisites"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#prerequisites"}},[e._v("#")]),e._v(" Prerequisites")]),e._v(" "),a("p",[e._v("Several steps must be accomplished before migrating the system.")]),e._v(" "),a("h3",{attrs:{id:"create-a-local-almalinux-mirror"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#create-a-local-almalinux-mirror"}},[e._v("#")]),e._v(" Create a local AlmaLinux mirror")]),e._v(" "),a("p",[a("strong",[e._v("These steps are to be performed on a host with Internet access.")])]),e._v(" "),a("p",[e._v("The "),a("code",[e._v("rsync")]),e._v(" tool can be used to create a local mirror.")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("Synchronize with the official AlmaLinux mirror via "),a("code",[e._v("rsync")]),e._v(":")]),e._v(" "),a("div",{staticClass:"language-shell extra-class"},[a("pre",{pre:!0,attrs:{class:"language-shell"}},[a("code",[e._v("/usr/bin/rsync "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-avSH")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--exclude")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'.~tmp~'")]),e._v(" --delete-delay --delay-updates rsync://rsync.repo.almalinux.org/almalinux/ /example-almalinux-mirror/\n")])])])]),e._v(" "),a("li",[a("p",[e._v("If needed, create a cron task to sync your local mirror periodically (we recommend updating the mirror every 3 hours):")]),e._v(" "),a("div",{staticClass:"language-shell extra-class"},[a("pre",{pre:!0,attrs:{class:"language-shell"}},[a("code",[a("span",{pre:!0,attrs:{class:"token number"}},[e._v("0")]),e._v(" */3 * * * "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("sleep")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token variable"}},[a("span",{pre:!0,attrs:{class:"token variable"}},[e._v("$((")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("RANDOM\\"),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("%")]),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("3500")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("+")]),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("1")]),a("span",{pre:!0,attrs:{class:"token variable"}},[e._v("))")])]),e._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("&&")]),e._v(" /usr/bin/flock "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-n")]),e._v(" /var/run/almalinux_rsync.lock "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-c")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("\"/usr/bin/rsync -avSH --exclude='.~tmp~' --delete-delay --delay-updates rsync://rsync.repo.almalinux.org/almalinux/ /example-almalinux-mirror/\"")]),e._v("\n")])])]),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),a("p",[e._v("Don't forget to replace /example-almalinux-mirror/ directory with the directory you need.")])])])]),e._v(" "),a("h3",{attrs:{id:"create-a-local-elevate-mirror"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#create-a-local-elevate-mirror"}},[e._v("#")]),e._v(" Create a local ELevate mirror")]),e._v(" "),a("p",[a("strong",[e._v("These steps are to be performed on a host with Internet access.")])]),e._v(" "),a("ul",[a("li",[a("p",[e._v("Synchronize with the official AlmaLinux ELevate mirror via "),a("code",[e._v("rsync")]),e._v(":")]),e._v(" "),a("div",{staticClass:"language-shell extra-class"},[a("pre",{pre:!0,attrs:{class:"language-shell"}},[a("code",[e._v("/usr/bin/rsync "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-avSH")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--exclude")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'.~tmp~'")]),e._v(" --delete-delay --delay-updates rsync://rsync.repo.almalinux.org/almalinux-elevate/ /example-elevate-mirror/\n")])])])]),e._v(" "),a("li",[a("p",[e._v("If needed, create a cron task to sync your local mirror periodically (we recommend updating the mirror every 3 hours):")]),e._v(" "),a("div",{staticClass:"language-shell extra-class"},[a("pre",{pre:!0,attrs:{class:"language-shell"}},[a("code",[a("span",{pre:!0,attrs:{class:"token number"}},[e._v("0")]),e._v(" */3 * * * "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("sleep")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token variable"}},[a("span",{pre:!0,attrs:{class:"token variable"}},[e._v("$((")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("RANDOM\\"),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("%")]),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("3500")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("+")]),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("1")]),a("span",{pre:!0,attrs:{class:"token variable"}},[e._v("))")])]),e._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("&&")]),e._v(" /usr/bin/flock "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-n")]),e._v(" /var/run/almalinux_rsync.lock "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-c")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("\"/usr/bin/rsync -avSH --exclude='.~tmp~' --delete-delay --delay-updates rsync://rsync.repo.almalinux.org/almalinux-elevate/ /example-elevate-mirror/\"")]),e._v("\n")])])]),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),a("p",[e._v("Don't forget to replace /example-elevate-mirror/ directory with the directory you need.")])])])]),e._v(" "),a("h3",{attrs:{id:"add-access-to-the-private-elevate-mirror"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#add-access-to-the-private-elevate-mirror"}},[e._v("#")]),e._v(" Add access to the private ELevate mirror")]),e._v(" "),a("p",[a("strong",[e._v("These steps are to be performed on a host with access to a private ELevate mirror that will be migrated.")])]),e._v(" "),a("p",[e._v("To be able to install ELevate packages you need to add the local ELevate mirror to your server.")]),e._v(" "),a("ul",[a("li",[e._v("Navigate to the "),a("strong",[e._v("/etc/yum.repos.d")]),e._v(" directory. Use an editor tool of choice, for example, "),a("em",[e._v("vi")]),e._v(" or "),a("em",[e._v("mcedit")]),e._v(" to create a repository "),a("em",[e._v("elevate.repo")]),e._v(" file. It should contain data from your local ELevate repository. Enter the data to the file according to the example:"),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v(" [ELevate]\n name=ELevate for EL$releasever\n baseurl=http://mirror.example.com/elevate/el$releasever/$basearch/ \n enabled=1\n gpgcheck=1\n gpgkey=http://mirror.example.com/elevate/RPM-GPG-KEY-ELevate\n")])])])])]),e._v(" "),a("h2",{attrs:{id:"migrate-centos-7-to-almalinux-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#migrate-centos-7-to-almalinux-8"}},[e._v("#")]),e._v(" Migrate CentOS 7 to AlmaLinux 8")]),e._v(" "),a("p",[a("strong",[e._v("These steps are to be performed on a host with access to private mirrors that will be migrated.")])]),e._v(" "),a("h3",{attrs:{id:"install-elevate-packages"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#install-elevate-packages"}},[e._v("#")]),e._v(" Install ELevate packages")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("Install leapp packages and migration data for the OS you want to upgrade from the private mirror:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo yum install -y leapp-upgrade leapp-data-almalinux\n")])])])]),e._v(" "),a("li",[a("p",[e._v("Navigate to the "),a("strong",[e._v("/etc/leapp/files/")]),e._v(" directory to update the leapp configuration file.")])]),e._v(" "),a("li",[a("p",[e._v("Open the "),a("strong",[e._v("leapp_upgrade_repositories.repo")]),e._v(" file and use an editor tool of choice, for example "),a("em",[e._v("vi")]),e._v(" or "),a("em",[e._v("mcedit")]),e._v(", to replace "),a("code",[e._v("baseurl")]),e._v(" link for each repository with a local AlmaLinux mirror directory. Pay attention, that links should belong to a major version you want your system to migrate to.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("[almalinux8-baseos] \nname=AlmaLinux 8 - BaseOS\nbaseurl=http://mirror.example.com/almalinux/el$releasever/$basearch/ \nenabled=1\ngpgcheck=1\ngpgkey=http://mirror.example.com/almalinux/RPM-GPG-KEY-AlmaLinux\n")])])])])]),e._v(" "),a("h3",{attrs:{id:"perform-the-migration"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#perform-the-migration"}},[e._v("#")]),e._v(" Perform the migration")]),e._v(" "),a("p",[e._v("Once you've edited the "),a("strong",[e._v("leapp_upgrade_repositories.repo")]),e._v(" file to match your local mirror, you can start the migration to AlmaLinux 8.")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("Start a preupgrade check. In the meanwhile, the Leapp utility creates a special "),a("em",[e._v("/var/log/leapp/leapp-report.txt")]),e._v(" file that contains possible problems and recommended solutions. No rpm packages will be installed at this phase.")]),e._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),a("p",[e._v("Preupgrade check will fail as the default install doesn't meet all requirements for migration.")])]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo leapp preupgrade\n")])])]),a("p",[e._v("This summary report will help you get a picture of whether it is possible to continue the upgrade.")]),e._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),a("p",[e._v("In certain configurations, Leapp generates "),a("em",[e._v("/var/log/leapp/answerfile")]),e._v(" with true/false questions. Leapp utility requires answers to all these questions in order to proceed with the upgrade.")])])]),e._v(" "),a("li",[a("p",[e._v("The following fixes from "),a("em",[e._v("the /var/log/leapp/leapp-report.txt")]),e._v(" file are the most popular for CentOS 7, but it's recommended to review the whole file.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo rmmod pata_acpi\necho PermitRootLogin yes | sudo tee -a /etc/ssh/sshd_config\nsudo leapp answer --section remove_pam_pkcs11_module_check.confirm=True\n")])])]),a("p",[e._v("Check the "),a("a",{attrs:{href:"/elevate/ELevate-frequent-issues"}},[e._v("ELevate Frequent Issues")]),e._v(" page for known and frequent issues and guidance steps to solve them.")])]),e._v(" "),a("li",[a("p",[e._v("Start an upgrade. You'll be offered to reboot the system after this process is completed.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo leapp upgrade\nsudo reboot\n")])])])]),e._v(" "),a("li",[a("p",[e._v("A new entry in GRUB called "),a("code",[e._v("ELevate-Upgrade-Initramfs")]),e._v(" will appear. The system will be automatically booted into it.\nSee how the update process goes in the console.")])]),e._v(" "),a("li",[a("p",[e._v("After reboot, login to the system and check how the migration went. Verify that the current OS is the one you need. Check logs and packages left from the previous OS version, consider removing or updating them manually.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("cat /etc/redhat-release\ncat /etc/os-release\nrpm -qa | grep el7 \ncat /var/log/leapp/leapp-report.txt\ncat /var/log/leapp/leapp-upgrade.log\n")])])])]),e._v(" "),a("li",[a("p",[e._v("If your next stage is to migrate to AlmaLinux 9 proceed with the next steps to prepare your system.")])])]),e._v(" "),a("h3",{attrs:{id:"prepare-the-system-for-migration-to-almalinux-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#prepare-the-system-for-migration-to-almalinux-9"}},[e._v("#")]),e._v(" Prepare the system for migration to AlmaLinux 9")]),e._v(" "),a("p",[e._v("When successfully migrated to AlmaLinux 8 OS, consider performing these steps to prepare your system for migration to AlmaLinux 9:")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("Navigate to the "),a("strong",[e._v("/etc/")]),e._v(" directory and use an editor of your choice to edit the "),a("strong",[e._v("yum.conf")]),e._v(" file. You need to remove everything from the "),a("strong",[e._v("exclude")]),e._v(" line especially that refers to elevate or leapp.")]),e._v(" "),a("h5",{attrs:{id:"an-example-of-yum-conf-file"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#an-example-of-yum-conf-file"}},[e._v("#")]),e._v(" An example of yum.conf file:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("main"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\n"),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("gpgcheck")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("1")]),e._v("\n"),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("installonly_limit")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("3")]),e._v("\n"),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("clean_requirements_on_remove")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v("True\n"),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("best")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v("True\n"),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("skip_if_unavailable")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v("False\n"),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("exclude")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v("python2-leapp,snactor,leapp-upgrade-el7toel8,leapp\n")])])])]),e._v(" "),a("li",[a("p",[e._v("Then navigate to the "),a("em",[e._v("/etc/dnf/")]),e._v(" directory and use an editor of your choice to do the same in the "),a("strong",[e._v("dnf.conf")]),e._v(" file.")])]),e._v(" "),a("li",[a("p",[e._v("Now you can remove/manually upgrade packages left from CentOS 7 without any conflicts.")])]),e._v(" "),a("li",[a("p",[e._v("Check packages left from CentOS 7:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("rpm -qa | grep el7\n")])])]),a("h5",{attrs:{id:"an-example-output-with-a-list-of-packages"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#an-example-output-with-a-list-of-packages"}},[e._v("#")]),e._v(" An example output with a list of packages:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("leapp-upgrade-el7toel8-0.16.0-6.el7.elevate.17.noarch\nyum-plugin-fastestmirror-1.1.31-54.el7_8.noarch\npython2-leapp-0.14.0-1.el7.noarch\nleapp-data-almalinux-0.1-6.el7.noarch\nkernel-3.10.0-1160.102.1.el7.x86_64\nkernel-3.10.0-1160.el7.x86_64\njava-1.7.0-openjdk-headless-1.7.0.261-2.6.22.2.el7_8.x86_64\nbtrfs-progs-4.9.1-1.el7.x86_64\nelevate-release-1.0-2.el7.noarch\nleapp-0.14.0-1.el7.noarch\n")])])]),a("p",[e._v("As mentioned above, consider removing these packages or upgrading them manually to proceed with migration to AlmaLinux 9.")]),e._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),a("p",[e._v("If you face difficulties while removing the packages, the following command might help you:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("rpm -e --nodeps \n")])])])])]),e._v(" "),a("li",[a("p",[e._v("You can also check for the packages left from the migration process and remove them:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("rpm -qa | grep elevate\nrpm -qa | grep leapp\n")])])])]),e._v(" "),a("li",[a("p",[e._v("Check whether you have the "),a("em",[e._v("/root/tmp_leapp_py3")]),e._v(" directory created and if so delete it.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo rm -fr /root/tmp_leapp_py3\n")])])])]),e._v(" "),a("li",[a("p",[e._v("Clean up your machine.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf clean all\n")])])])]),e._v(" "),a("li",[a("p",[e._v("You may also have to remove old RSA/SHA1 GPG keys. List the keys:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\\t%{SUMMARY}\\n'\n")])])]),a("p",[e._v("To remove them, use use the "),a("code",[e._v("rpm -e")]),e._v(" command:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("rpm -e [keyname]\n")])])])])]),e._v(" "),a("p",[e._v("After these preparations are completed, you can migrate your AlmaLinux 8 machine to AlmaLinux 9.")]),e._v(" "),a("h2",{attrs:{id:"migrate-almalinux-8-to-almalinux-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#migrate-almalinux-8-to-almalinux-9"}},[e._v("#")]),e._v(" Migrate AlmaLinux 8 to AlmaLinux 9")]),e._v(" "),a("p",[a("strong",[e._v("These steps are to be performed on a host with access to private mirrors that will be migrated.")])]),e._v(" "),a("p",[e._v("If you previously migrated your airgapped system to AlmaLinux 8, your local repositories of AlmaLinux and ELevate should still be present.\nIf this migration is the first one, you have to "),a("a",{attrs:{href:"#prerequisites"}},[e._v("create your local mirrors")]),e._v(" first to proceed with the migration.")]),e._v(" "),a("h3",{attrs:{id:"install-elevate-packages-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#install-elevate-packages-2"}},[e._v("#")]),e._v(" Install ELevate packages")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("Install leapp packages and migration data for the OS you want to upgrade from the private mirror:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo yum install -y leapp-upgrade leapp-data-almalinux\n")])])])]),e._v(" "),a("li",[a("p",[e._v("Navigate to the "),a("strong",[e._v("/etc/leapp/files/")]),e._v(" directory to update the leapp configuration file.")])]),e._v(" "),a("li",[a("p",[e._v("Open the "),a("strong",[e._v("leapp_upgrade_repositories.repo")]),e._v(" file and use an editor tool of choice, for example "),a("em",[e._v("vi")]),e._v(" or "),a("em",[e._v("mcedit")]),e._v(", to replace "),a("code",[e._v("baseurl")]),e._v(" link for each repository with a local AlmaLinux mirror directory. Pay attention, that links should belong to a major version you want your system to migrate to.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("[almalinux9-baseos] \nname=AlmaLinux 9 - BaseOS\nbaseurl=http://mirror.example.com/almalinux/el$releasever/$basearch/ \nenabled=1\ngpgcheck=1\ngpgkey=http://mirror.example.com/almalinux/RPM-GPG-KEY-AlmaLinux\n")])])])])]),e._v(" "),a("h2",{attrs:{id:"perform-the-migration-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#perform-the-migration-2"}},[e._v("#")]),e._v(" Perform the migration")]),e._v(" "),a("p",[e._v("Once you've edited the "),a("strong",[e._v("leapp_upgrade_repositories.repo")]),e._v(" file to match your local mirror, you can start the migration to AlmaLinux 9.")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("Start a preupgrade check. In the meanwhile, the Leapp utility creates a special "),a("em",[e._v("/var/log/leapp/leapp-report.txt")]),e._v(" file that contains possible problems and recommended solutions. No rpm packages will be installed at this phase.")]),e._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),a("p",[e._v("Preupgrade check will fail as the default install doesn't meet all requirements for migration.")])]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo leapp preupgrade\n")])])]),a("p",[e._v("This summary report will help you get a picture of whether it is possible to continue the upgrade.")]),e._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),a("p",[e._v("In certain configurations, Leapp generates "),a("em",[e._v("/var/log/leapp/answerfile")]),e._v(" with true/false questions. Leapp utility requires answers to all these questions in order to proceed with the upgrade.")])])]),e._v(" "),a("li",[a("p",[e._v("The following fixes from "),a("em",[e._v("the /var/log/leapp/leapp-report.txt")]),e._v(" file are the most popular fixes for RHEL8-based operating systems:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[e._v("sudo")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("sed")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-i")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v('"s/^AllowZoneDrifting=.*/AllowZoneDrifting=no/"')]),e._v(" /etc/firewalld/firewalld.conf\n"),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("sudo")]),e._v(" leapp answer "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--section")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("check_vdo.confirm")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v("True\n")])])]),a("p",[e._v("You might also find the following issue in the "),a("strong",[e._v("leapp-report")]),e._v(" file that can interfere with the migration. Consider removing the file:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v(" Network configuration "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("for")]),e._v(" unsupported device types detected\n Summary: RHEL "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("9")]),e._v(" does not support the legacy network-scripts package that was deprecated "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("in")]),e._v(" RHEL "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("8")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("in")]),e._v(" favor of NetworkManager. Files "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("for")]),e._v(" device types that are not supported by NetworkManager are present "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("in")]),e._v(" the system. Files with the problematic configuration:\n - /etc/sysconfig/network-scripts/ifcfg-eth0\n")])])]),a("p",[e._v("Check the "),a("a",{attrs:{href:"/elevate/ELevate-frequent-issues"}},[e._v("ELevate Frequent Issues")]),e._v(" page for known and frequent issues and guidance steps to solve them.")])]),e._v(" "),a("li",[a("p",[e._v("Start an upgrade. You'll be offered to reboot the system after this process is completed.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo leapp upgrade\nsudo reboot\n")])])]),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),a("p",[e._v("You might want to remove the "),a("strong",[e._v("make-devel")]),e._v(" package as it conflicts when running "),a("code",[e._v("leapp upgrade")]),e._v(" and thus this step fails.")])])]),e._v(" "),a("li",[a("p",[e._v("A new entry in GRUB called "),a("code",[e._v("ELevate-Upgrade-Initramfs")]),e._v(" will appear. The system will be automatically booted into it.\nSee how the update process goes in the console.")])]),e._v(" "),a("li",[a("p",[e._v("After reboot, login to the system and check how the migration went. Verify that the current OS is the one you need. Check logs and packages left from the previous OS version, consider removing or updating them manually.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("cat /etc/redhat-release\ncat /etc/os-release\nrpm -qa | grep el8\ncat /var/log/leapp/leapp-report.txt\ncat /var/log/leapp/leapp-upgrade.log\n")])])])])]),e._v(" "),a("h2",{attrs:{id:"get-help"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#get-help"}},[e._v("#")]),e._v(" Get Help")]),e._v(" "),a("p",[e._v("For more help and assistance reach out to us in the ~migration channel on the "),a("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/migration",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Community Chat"),a("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/83.c7f3cec3.js b/assets/js/83.c7f3cec3.js new file mode 100644 index 000000000..412c9d947 --- /dev/null +++ b/assets/js/83.c7f3cec3.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[83],{362:function(e,t,a){"use strict";a.r(t);var r=a(14),s=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h6",{attrs:{id:"last-updated-2024-08-30"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#last-updated-2024-08-30"}},[e._v("#")]),e._v(" last updated: 2024-08-30")]),e._v(" "),t("h1",{attrs:{id:"elevate-quickstart-guide"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#elevate-quickstart-guide"}},[e._v("#")]),e._v(" ELevate Quickstart Guide")]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("Before beginning, we "),t("strong",[e._v("HIGHLY")]),e._v(" recommend that you follow system administration best practices and make sure you have backups and/or snapshots of your system before you proceed. It is recommended to do a trial run in a sandbox to verify the upgrade worked as expected before you attempt to upgrade any production system. Please report any issues encountered to the "),t("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),t("OutboundLink")],1),e._v(" and/or "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/migration",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat Migration Channel"),t("OutboundLink")],1)])]),e._v(" "),t("p",[e._v("This guide contains steps on how to upgrade your RHEL-based operating system to the next major version.")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("Please note, the ELevate project is designed to perform one-step upgrades. If you wish to perform an upgrade from CentOS7, you need to split the process. Please check the "),t("RouterLink",{attrs:{to:"/elevate/ELevating-CentOS7-to-AlmaLinux-9.html"}},[e._v("ELevating CentOS7 to AlmaLinux 9")]),e._v(" guide for more information.")],1)]),e._v(" "),t("p",[e._v("The ELevate project supports a number of 3rd party repositories:")]),e._v(" "),t("ul",[t("li",[e._v("EPEL support is currently available for upgrades to AlmaLinux OS only.")]),e._v(" "),t("li",[e._v("MariaDB - for all supported operating systems.")]),e._v(" "),t("li",[e._v("nginx - for all supported operating systems.")]),e._v(" "),t("li",[e._v("PostgreSQL - for all supported operating systems.")]),e._v(" "),t("li",[e._v("Imunify - for upgrades to EL 8.")]),e._v(" "),t("li",[e._v("KernelCare - for upgrades to EL 8.")])]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("You can contribute to the project and add more 3rd party repositories support. See more on the "),t("a",{attrs:{href:"/elevate/Contribution-guide"}},[e._v("Contribute")]),e._v(" page.")])]),e._v(" "),t("p",[e._v("Currently, the following upgrade paths are available:")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/ELevateNG.svg",alt:"image"}})]),e._v(" "),t("p",[e._v("* - upgrading from Scientific Linux 7 to AlmaLinux 8 requires a workaround. Please, see more in the "),t("a",{attrs:{href:"#known-issues"}},[e._v("known issues")]),e._v(". "),t("br"),e._v("\n** - upgrading to Oracle Linux 9 is available with the "),t("a",{attrs:{href:"https://blogs.oracle.com/linux/post/upgrade-oracle-linux-8-to-oracle-linux-9-using-leapp",target:"_blank",rel:"noopener noreferrer"}},[e._v("Oracle Leapp utility"),t("OutboundLink")],1),e._v(" and will not be supported by ELevate project.")]),e._v(" "),t("h3",{attrs:{id:"requirements"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#requirements"}},[e._v("#")]),e._v(" Requirements")]),e._v(" "),t("p",[e._v("You need CentOS 7, Scientific Linux 7, AlmaLinux 8, CentOS Stream 8, EuroLinux 8 or Rocky Linux 8 system installed to use this guide.\n"),t("strong",[e._v("NOTE:")]),e._v(" Since the CentOS 7 repositories are now offline you will need to swap to the CentOS vault, or you can use our CentOS 7 mirror that we've setup for use with ELevate:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://el7.repo.almalinux.org/centos/CentOS-Base.repo\n")])])]),t("h2",{attrs:{id:"upgrade-steps"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-steps"}},[e._v("#")]),e._v(" Upgrade steps")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("A fully updated system is required to accomplish the upgrade. Install the latest updates and reboot your machine:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo yum update -y\nsudo reboot\n")])])])]),e._v(" "),t("li",[t("p",[e._v("Install "),t("code",[e._v("elevate-release")]),e._v(" package with the project repo and GPG key.")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el$(rpm --eval %rhel).noarch.rpm\n")])])])]),e._v(" "),t("li",[t("p",[e._v("Install leapp packages and upgrade data for the OS you want to upgrade. Possible options are:")]),e._v(" "),t("ul",[t("li",[e._v("leapp-data-almalinux")]),e._v(" "),t("li",[e._v("leapp-data-centos")]),e._v(" "),t("li",[e._v("leapp-data-eurolinux")]),e._v(" "),t("li",[e._v("leapp-data-oraclelinux")]),e._v(" "),t("li",[e._v("leapp-data-rocky")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo yum install -y leapp-upgrade leapp-data-almalinux\n")])])])]),e._v(" "),t("li",[t("p",[e._v("Start a preupgrade check. In the meanwhile, the Leapp utility creates a special "),t("em",[e._v("/var/log/leapp/leapp-report.txt")]),e._v(" file that contains possible problems and recommended solutions. No rpm packages will be installed at this phase.")]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),t("p",[e._v("Preupgrade check will fail as the default install doesn't meet all requirements for upgrade.")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo leapp preupgrade\n")])])]),t("p",[e._v("This summary report will help you get a picture of whether it is possible to continue the upgrade.")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("In certain configurations, Leapp generates "),t("em",[e._v("/var/log/leapp/answerfile")]),e._v(" with true/false questions. Leapp utility requires answers to all these questions in order to proceed with the upgrade.")])])]),e._v(" "),t("li",[t("p",[e._v("The following fixes from "),t("em",[e._v("the /var/log/leapp/leapp-report.txt")]),e._v(" file are the most popular ones, but it's recommended to review the whole file.")]),e._v(" "),t("ul",[t("li",[e._v("For CentOS 7:"),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo rmmod pata_acpi\necho PermitRootLogin yes | sudo tee -a /etc/ssh/sshd_config\nsudo leapp answer --section remove_pam_pkcs11_module_check.confirm=True\n")])])])]),e._v(" "),t("li",[e._v("For RHEL8-based operating systems:"),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('sudo sed -i "s/^AllowZoneDrifting=.*/AllowZoneDrifting=no/" /etc/firewalld/firewalld.conf\nsudo leapp answer --section check_vdo.confirm=True\n')])])])])]),e._v(" "),t("p",[e._v("Check the "),t("a",{attrs:{href:"/elevate/ELevate-frequent-issues"}},[e._v("ELevate Frequent Issues")]),e._v(" page for known and frequent issues and guidance steps to solve them.")])]),e._v(" "),t("li",[t("p",[e._v("Start an upgrade. You'll be offered to reboot the system after this process is completed.")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("sudo leapp upgrade\nsudo reboot\n")])])])]),e._v(" "),t("li",[t("p",[e._v("A new entry in GRUB called "),t("code",[e._v("ELevate-Upgrade-Initramfs")]),e._v(" will appear. The system will be automatically booted into it. See how the update process goes in the console.")])]),e._v(" "),t("li",[t("p",[e._v("After reboot, login to the system and check how the upgrade went. Verify that the current OS is the one you need. Check logs and packages left from previous OS version, consider removing them or update manually.")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("cat /etc/redhat-release\ncat /etc/os-release\nrpm -qa | grep el7 # for 7 to 8 upgrade\nrpm -qa | grep el8 # for 8 to 9 upgrade\ncat /var/log/leapp/leapp-report.txt\ncat /var/log/leapp/leapp-upgrade.log\n")])])])])]),e._v(" "),t("h3",{attrs:{id:"demo-video"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#demo-video"}},[e._v("#")]),e._v(" Demo Video")]),e._v(" "),t("p",[e._v("Here we have provided a demo of a CentOS 7.x to AlmaLinux 8.x upgrade using the AlmaLinux ELevate Project.")]),e._v(" "),t("iframe",{attrs:{width:"856",height:"482",src:"https://www.youtube.com/embed/Vzl9QxG5mvo",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),t("h2",{attrs:{id:"get-help"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#get-help"}},[e._v("#")]),e._v(" Get Help")]),e._v(" "),t("p",[e._v("For more help and assistance reach out to us in the ~migration channel on the "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/migration",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Community Chat"),t("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/84.11ed5301.js b/assets/js/84.11ed5301.js new file mode 100644 index 000000000..e757f2084 --- /dev/null +++ b/assets/js/84.11ed5301.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[84],{364:function(e,a,t){"use strict";t.r(a);var s=t(14),r=Object(s.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h6",{attrs:{id:"last-updated-2024-09-05"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#last-updated-2024-09-05"}},[e._v("#")]),e._v(" last updated: 2024-09-05")]),e._v(" "),a("h1",{attrs:{id:"elevate-testing-guide"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#elevate-testing-guide"}},[e._v("#")]),e._v(" ELevate Testing Guide")]),e._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),a("p",[e._v("Before beginning, we "),a("strong",[e._v("HIGHLY")]),e._v(" recommend that you follow system administration best practices and make sure you have backups and/or snapshots of your system before you proceed. It is recommended to do a trial run in a sandbox to verify the upgrade will work as expected before you attempt to upgrade any production system. Please report any issues encountered to the "),a("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),a("OutboundLink")],1),e._v(" and/or "),a("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/migration",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat Migration Channel"),a("OutboundLink")],1)])]),e._v(" "),a("p",[e._v("The ELevate Project supports a number of 3rd party repositories:")]),e._v(" "),a("ul",[a("li",[e._v("EPEL support is currently available for upgrades to AlmaLinux OS only.")]),e._v(" "),a("li",[e._v("Docker CE - for all supported operating systems.")]),e._v(" "),a("li",[e._v("MariaDB - for all supported operating systems.")]),e._v(" "),a("li",[e._v("Microsoft Linux Package Repositories - for all supported operating systems.")]),e._v(" "),a("li",[e._v("nginx - for all supported operating systems.")]),e._v(" "),a("li",[e._v("PostgreSQL - for all supported operating systems.")]),e._v(" "),a("li",[e._v("Imunify - for upgrades to EL 8.")]),e._v(" "),a("li",[e._v("KernelCare - for upgrades to EL 8.")])]),e._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),a("p",[e._v("You can contribute to the project and add more 3rd party repositories support. See more on the "),a("a",{attrs:{href:"/elevate/Contribution-guide"}},[e._v("Contribute")]),e._v(" page.")])]),e._v(" "),a("p",[e._v("Currently, the following upgrades are available:")]),e._v(" "),a("p",[a("img",{attrs:{src:"/images/ELevateNG.svg",alt:"image"}})]),e._v(" "),a("p",[e._v("* - upgrading from Scientific Linux 7 to AlmaLinux 8 requires a workaround. Please, see more in the "),a("a",{attrs:{href:"#known-issues"}},[e._v("known issues")]),e._v(". "),a("br"),e._v("\n** - upgrading to Oracle Linux 9 is available with the "),a("a",{attrs:{href:"https://blogs.oracle.com/linux/post/upgrade-oracle-linux-8-to-oracle-linux-9-using-leapp",target:"_blank",rel:"noopener noreferrer"}},[e._v("Oracle Leapp utility"),a("OutboundLink")],1),e._v(" and will not be supported by ELevate project.")]),e._v(" "),a("h2",{attrs:{id:"upgrade-centos-7-to-almalinux-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-centos-7-to-almalinux-8"}},[e._v("#")]),e._v(" Upgrade CentOS 7 to AlmaLinux 8")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("Update the system to get the latest updates and reboot your machine.\n"),a("strong",[e._v("NOTE:")]),e._v(" Since the CentOS 7 repositories are now offline you will need to swap to the CentOS vault, or you can use our CentOS 7 mirror that we've setup for use with ELevate:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[e._v("sudo")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("curl")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-o")]),e._v(" /etc/yum.repos.d/CentOS-Base.repo https://el7.repo.almalinux.org/centos/CentOS-Base.repo\n"),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("sudo")]),e._v(" yum upgrade "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v("\n"),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("sudo")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("reboot")]),e._v("\n")])])])]),e._v(" "),a("li",[a("p",[e._v("Install ELevate testing repo config for CentOS7, and import ELevate GPG key:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo curl https://repo.almalinux.org/elevate/testing/elevate-testing.repo -o /etc/yum.repos.d/elevate-testing.repo\nsudo rpm --import https://repo.almalinux.org/elevate/RPM-GPG-KEY-ELevate\n")])])])]),e._v(" "),a("li",[a("p",[e._v("Install leapp packages and upgrade data for AlmaLinux:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo yum install -y leapp-upgrade leapp-data-almalinux\n")])])])]),e._v(" "),a("li",[a("p",[e._v("Start a preupgrade check. In the meanwhile, the Leapp utility creates a special "),a("em",[e._v("/var/log/leapp/leapp-report.txt")]),e._v(" file that contains possible problems and recommended solutions. No rpm packages will be installed at this phase.")]),e._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),a("p",[e._v("Preupgrade check will fail as the default install doesn't meet all requirements for upgrading.")])]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo leapp preupgrade\n")])])]),a("p",[e._v("This summary report will help you get a picture of whether it is possible to continue the upgrade.")]),e._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),a("p",[e._v("In certain configurations, Leapp generates "),a("em",[e._v("/var/log/leapp/answerfile")]),e._v(" with true/false questions. Leapp utility requires answers to all these questions in order to proceed with the upgrade.")])])]),e._v(" "),a("li",[a("p",[e._v("The following fixes from "),a("em",[e._v("the /var/log/leapp/leapp-report.txt")]),e._v(" file are the most popular for CentOS 7, but it's recommended to review the whole file.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo rmmod pata_acpi\necho PermitRootLogin yes | sudo tee -a /etc/ssh/sshd_config\nsudo leapp answer --section remove_pam_pkcs11_module_check.confirm=True\n")])])]),a("p",[e._v("Check the "),a("a",{attrs:{href:"/elevate/ELevate-frequent-issues"}},[e._v("ELevate Frequent Issues")]),e._v(" page for known and frequent issues and guidance steps to solve them.")])]),e._v(" "),a("li",[a("p",[e._v("Start an upgrade. You'll be offered to reboot the system after this process is completed.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo leapp upgrade\nsudo reboot\n")])])])]),e._v(" "),a("li",[a("p",[e._v("A new entry in GRUB called "),a("code",[e._v("ELevate-Upgrade-Initramfs")]),e._v(" will appear. The system will be automatically booted into it.\nSee how the update process goes in the console.")])]),e._v(" "),a("li",[a("p",[e._v("After reboot, login to the system and check how the upgrade went. Verify that the current OS is the one you need. Check logs and packages left from previous OS version, consider removing them or update manually.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("cat /etc/redhat-release\ncat /etc/os-release\nrpm -qa | grep el7 \nsudo cat /var/log/leapp/leapp-report.txt\nsudo cat /var/log/leapp/leapp-upgrade.log\n")])])])])]),e._v(" "),a("h2",{attrs:{id:"prepare-the-system-for-upgrading-to-almalinux-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#prepare-the-system-for-upgrading-to-almalinux-9"}},[e._v("#")]),e._v(" Prepare the system for upgrading to AlmaLinux 9")]),e._v(" "),a("p",[e._v("When successfully upgraded to AlmaLinux 8 OS, consider performing these steps to prepare your system for upgrading to AlmaLinux 9:")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("Navigate to the "),a("strong",[e._v("/etc/")]),e._v(" directory and use an editor of your choice to edit the "),a("strong",[e._v("yum.conf")]),e._v(" file. You need to remove everything from the "),a("strong",[e._v("exclude")]),e._v(" line especially that refers to elevate or leapp.")]),e._v(" "),a("h5",{attrs:{id:"an-example-of-yum-conf-file"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#an-example-of-yum-conf-file"}},[e._v("#")]),e._v(" An example of yum.conf file:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("main"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\n"),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("gpgcheck")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("1")]),e._v("\n"),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("installonly_limit")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("3")]),e._v("\n"),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("clean_requirements_on_remove")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v("True\n"),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("best")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v("True\n"),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("skip_if_unavailable")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v("False\n"),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("exclude")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v("python2-leapp,snactor,leapp-upgrade-el7toel8,leapp\n")])])])]),e._v(" "),a("li",[a("p",[e._v("Then navigate to the "),a("em",[e._v("/etc/dnf/")]),e._v(" directory and use an editor of your choice to do the same in the "),a("strong",[e._v("dnf.conf")]),e._v(" file.")])]),e._v(" "),a("li",[a("p",[e._v("Now you can remove/manually upgrade packages left from CentOS 7 without any conflicts.")])]),e._v(" "),a("li",[a("p",[e._v("Check packages left from CentOS 7:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("rpm -qa | grep el7\n")])])]),a("p",[e._v("An example output with a list of packages:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v(" python2-leapp-0.16.0-2.el7.noarch\n kernel-3.10.0-1160.105.1.el7.x86_64\n leapp-upgrade-el7toel8-0.19.0-5.el7.noarch\n leapp-data-almalinux-0.2-6.el7.noarch\n leapp-0.16.0-2.el7.noarch\n")])])]),a("p",[e._v("As mentioned above, consider removing these packages or upgrading them manually to proceed with upgrade to AlmaLinux 9.")]),e._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),a("p",[e._v("If you face difficulties while removing the packages, the following command might help you:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo rpm -e --nodeps \n")])])])])]),e._v(" "),a("li",[a("p",[e._v("You can also check for the packages left from the upgrade process and remove them:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("rpm -qa | grep elevate\nrpm -qa | grep leapp\n")])])])]),e._v(" "),a("li",[a("p",[e._v("Check whether you have the "),a("em",[e._v("/root/tmp_leapp_py3")]),e._v(" directory created and if so delete it.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo rm -fr /root/tmp_leapp_py3\n")])])])]),e._v(" "),a("li",[a("p",[e._v("Clean up your machine.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf clean all\n")])])])]),e._v(" "),a("li",[a("p",[e._v("You may also have to remove old RSA/SHA1 GPG keys. List the keys:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\\t%{SUMMARY}\\n'\n")])])]),a("p",[e._v("To remove them, use use the "),a("code",[e._v("rpm -e")]),e._v(" command:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo rpm -e [keyname]\n")])])])])]),e._v(" "),a("p",[e._v("After these preparations are completed, you can upgrade your AlmaLinux 8 machine to AlmaLinux 9.")]),e._v(" "),a("h2",{attrs:{id:"upgrading-almalinux-8-to-almalinux-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#upgrading-almalinux-8-to-almalinux-9"}},[e._v("#")]),e._v(" Upgrading AlmaLinux 8 to AlmaLinux 9")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("Install ELevate testing repo config for AlmaLinux 8:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo curl https://repo.almalinux.org/elevate/testing/elevate-testing.repo -o /etc/yum.repos.d/elevate-testing.repo\n")])])])]),e._v(" "),a("li",[a("p",[e._v("Install leapp packages and upgrade data for AlmaLinux:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo yum install -y leapp-upgrade leapp-data-almalinux\n")])])])]),e._v(" "),a("li",[a("p",[e._v("Start a preupgrade check. In the meanwhile, the Leapp utility creates a special "),a("em",[e._v("/var/log/leapp/leapp-report.txt")]),e._v(" file that contains possible problems and recommended solutions. No rpm packages will be installed at this phase.")]),e._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),a("p",[e._v("Preupgrade check will fail as the default install doesn't meet all requirements for upgrading.")])]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo leapp preupgrade\n")])])]),a("p",[e._v("This summary report will help you get a picture of whether it is possible to continue the upgrade.")]),e._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),a("p",[e._v("In certain configurations, Leapp generates "),a("em",[e._v("/var/log/leapp/answerfile")]),e._v(" with true/false questions. Leapp utility requires answers to all these questions in order to proceed with the upgrade.")])])]),e._v(" "),a("li",[a("p",[e._v("The following fixes from "),a("em",[e._v("the /var/log/leapp/leapp-report.txt")]),e._v(" file are the most popular fixes for RHEL8-based operating systems:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[e._v("sudo")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("sed")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-i")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v('"s/^AllowZoneDrifting=.*/AllowZoneDrifting=no/"')]),e._v(" /etc/firewalld/firewalld.conf\n"),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("sudo")]),e._v(" leapp answer "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--section")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("check_vdo.confirm")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v("True\n")])])]),a("p",[e._v("You might also find the following issue in the "),a("strong",[e._v("leapp-report")]),e._v(" file that can interfere with the upgrade. Consider removing the file:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v(" Network configuration "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("for")]),e._v(" unsupported device types detected\n Summary: RHEL "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("9")]),e._v(" does not support the legacy network-scripts package that was deprecated "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("in")]),e._v(" RHEL "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("8")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("in")]),e._v(" favor of NetworkManager. Files "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("for")]),e._v(" device types that are not supported by NetworkManager are present "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("in")]),e._v(" the system. Files with the problematic configuration:\n - /etc/sysconfig/network-scripts/ifcfg-eth0\n")])])]),a("p",[e._v("Check the "),a("a",{attrs:{href:"/elevate/ELevate-frequent-issues"}},[e._v("ELevate Frequent Issues")]),e._v(" page for known and frequent issues and guidance steps to solve them.")])]),e._v(" "),a("li",[a("p",[e._v("Start an upgrade. You'll be offered to reboot the system after this process is completed.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo leapp upgrade\nsudo reboot\n")])])]),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),a("p",[e._v("You might want to remove the "),a("strong",[e._v("make-devel")]),e._v(" package as it conflicts when running "),a("code",[e._v("leapp upgrade")]),e._v(" and thus this step fails.")])])]),e._v(" "),a("li",[a("p",[e._v("A new entry in GRUB called "),a("code",[e._v("ELevate-Upgrade-Initramfs")]),e._v(" will appear. The system will be automatically booted into it.\nSee how the update process goes in the console.")])]),e._v(" "),a("li",[a("p",[e._v("After reboot, login to the system and check how the upgrade went. Verify that the current OS is the one you need. Check logs and packages left from previous OS version, consider removing them or update manually.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("cat /etc/redhat-release\ncat /etc/os-release\nrpm -qa | grep el8\nsudo cat /var/log/leapp/leapp-report.txt\nsudo cat /var/log/leapp/leapp-upgrade.log\n")])])])])]),e._v(" "),a("h2",{attrs:{id:"demo-video"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#demo-video"}},[e._v("#")]),e._v(" Demo Video")]),e._v(" "),a("p",[e._v("Here we have provided a demo of a CentOS 7.x to AlmaLinux 8.x upgrade using the AlmaLinux ELevate Project.")]),e._v(" "),a("iframe",{attrs:{width:"856",height:"482",src:"https://www.youtube.com/embed/Vzl9QxG5mvo",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),a("h2",{attrs:{id:"known-issues"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#known-issues"}},[e._v("#")]),e._v(" Known Issues")]),e._v(" "),a("h3",{attrs:{id:"upgrading-from-scientific-linux-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#upgrading-from-scientific-linux-7"}},[e._v("#")]),e._v(" Upgrading from Scientific Linux 7")]),e._v(" "),a("p",[e._v("Upgrading from Scientific Linux 7 to AlmaLinux 8 requires a workaround. You can apply it by running the following command before the preupgrade check:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("rm -rf /usr/share/redhat-release /usr/share/doc/redhat-release\n")])])]),a("h2",{attrs:{id:"get-help"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#get-help"}},[e._v("#")]),e._v(" Get Help")]),e._v(" "),a("p",[e._v("Report your feedback to "),a("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/migration",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux ~Migration Channel"),a("OutboundLink")],1),e._v(". We're especially interested in packages left from previous OS versions. This information will allow us to improve ELevate's configuration files.")])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/85.e9b1b2ec.js b/assets/js/85.e9b1b2ec.js new file mode 100644 index 000000000..57fbd4b42 --- /dev/null +++ b/assets/js/85.e9b1b2ec.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[85],{367:function(e,t,a){"use strict";a.r(t);var s=a(14),r=Object(s.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("table",[t("thead",[t("tr",[t("th",[e._v("Experience Level")]),e._v(" "),t("th",[e._v("⭐⭐☆☆☆ (Intermediate)")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("Last modified date")]),e._v(" "),t("td",[e._v("2024-04-16")])])])]),e._v(" "),t("h1",{attrs:{id:"elevating-centos-6-to-centos-7"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#elevating-centos-6-to-centos-7"}},[e._v("#")]),e._v(" ELevating CentOS 6 to CentOS 7")]),e._v(" "),t("div",{staticClass:"custom-block danger"},[t("p",{staticClass:"custom-block-title"},[e._v("DANGER")]),e._v(" "),t("p",[e._v("We "),t("strong",[e._v("HIGHLY")]),e._v(" recommend that you follow system administration best practices and make sure you have backups and/or snapshots of your system before you proceed. It is recommended to do a trial run in a sandbox to verify that migration worked as expected before you attempt to migrate any production system. Please report any issues encountered to the "),t("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),t("OutboundLink")],1),e._v(" and/or "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/migration",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat Migration Channel"),t("OutboundLink")],1)])]),e._v(" "),t("p",[e._v("This guide describes steps to be performed to migrate a CentOS 6 machine to CentOS 7 using the Red Hat Upgrade Tool (redhat-upgrade-tool).")]),e._v(" "),t("p",[e._v("The process consists of two steps:")]),e._v(" "),t("ol",[t("li",[e._v("Upgrading CentOS 6.10 to CentOS 7.2.1511 as this is the latest CentOS version that supports the Red Hat Upgrade Tool.")]),e._v(" "),t("li",[e._v("Upgrading CentOS 7.2.1511 to CentOS 7.9.2009.")])]),e._v(" "),t("h2",{attrs:{id:"requirements"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#requirements"}},[e._v("#")]),e._v(" Requirements")]),e._v(" "),t("ul",[t("li",[e._v("This guide is suitable only for x86_64 architecture.")]),e._v(" "),t("li",[e._v("The most recent version of CentOS 6.10.")]),e._v(" "),t("li",[e._v("An enabled Vault repository")])]),e._v(" "),t("p",[e._v("Please, check the "),t("strong",[e._v("Details")]),e._v(" below for guidance on how to enable the CentOS Vault repositories.")]),e._v(" "),t("details",{staticClass:"custom-block details"},[t("summary",[e._v("DETAILS")]),e._v(" "),t("p",[e._v("To upgrade your CentOS 6 machine, you need working CentOS 6 repositories. Run the below command replace your CentOS-base repo file with a known-good CentOS 6.10 Vault repository configuration:")]),e._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[e._v("curl")]),e._v(" https://repo.almalinux.org/elevate/el6/centos6-vault.repo "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-o")]),e._v(" /etc/yum.repos.d/CentOS-Base.repo\n")])])])]),e._v(" "),t("h2",{attrs:{id:"upgrade-centos-6-10-to-centos-7-2-1511"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-centos-6-10-to-centos-7-2-1511"}},[e._v("#")]),e._v(" Upgrade CentOS 6.10 to CentOS 7.2.1511")]),e._v(" "),t("h3",{attrs:{id:"prerequisites"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#prerequisites"}},[e._v("#")]),e._v(" Prerequisites")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("As root access is required to use the following steps, make sure that you are logged in as the root user:")]),e._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[e._v("whoami")]),e._v("\n")])])]),t("h6",{attrs:{id:"expected-output"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#expected-output"}},[e._v("#")]),e._v(" Expected output:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("root\n")])])])]),e._v(" "),t("li",[t("p",[e._v("Update your CentOS 6 system to get the most recent updates and verify:")]),e._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[e._v("yum update \n"),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" /etc/centos-release \n")])])]),t("h6",{attrs:{id:"expected-output-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#expected-output-2"}},[e._v("#")]),e._v(" Expected output:")]),e._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[e._v("CentOS release "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("6.10")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("Final"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v("\n")])])])]),e._v(" "),t("li",[t("p",[e._v("Install the "),t("em",[e._v("elevate-release")]),e._v(" package that contains the configuration file with CentOS 6 upgrade repositories:")]),e._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[e._v("yum "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("install")]),e._v(" https://repo.almalinux.org/elevate/elevate-release-latest-el6.noarch.rpm\n")])])])]),e._v(" "),t("li",[t("p",[e._v("Install the "),t("code",[e._v("redhat-upgrade-tool")]),e._v(" and "),t("code",[e._v("preupgrade-assistant-contents")]),e._v(" packages that are used to perform the migration:")]),e._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[e._v("yum "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("install")]),e._v(" redhat-upgrade-tool preupgrade-assistant-contents\n")])])])])]),e._v(" "),t("h3",{attrs:{id:"migrate-the-system"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#migrate-the-system"}},[e._v("#")]),e._v(" Migrate the system")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("Run the pre-upgrade assistant as a pre-ugrade check of the system. It will generate a report file with possible problems and risks for review. No changes will be made at this phase.")]),e._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[e._v("preupg\n")])])])]),e._v(" "),t("li",[t("p",[e._v("The generated "),t("strong",[e._v("result.html")]),e._v(" file is located in the "),t("em",[e._v("/root/preupgrade/")]),e._v(" directory. Inspect it carefully and consider running suitable commands and performing the recommended steps to resolve the reported issues.\nYou can check the risks from the "),t("em",[e._v("results.html")]),e._v(" using the "),t("code",[e._v("preupgr")]),e._v(" command:")]),e._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[e._v("preupg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--riskcheck")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--verbose")]),e._v("\n")])])]),t("p",[e._v("Or using, for example, "),t("code",[e._v("lynx")]),e._v(" - a terminal-based web browser:")]),e._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[e._v("lynx")]),e._v(" /root/preupgrade/result.html\n")])])])]),e._v(" "),t("li",[t("p",[e._v("Import CentOS 7 GPG key:")]),e._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[e._v("rpm")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" https://vault.centos.org/7.2.1511/os/x86_64/RPM-GPG-KEY-CentOS-7 \n")])])])]),e._v(" "),t("li",[t("p",[e._v("Start an upgrade:")]),e._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[e._v(" redhat-upgrade-tool "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--network")]),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("7")]),e._v(" --cleanup-post "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--instrepo")]),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v("http://vault.centos.org/7.2.1511/os/x86_64/\n")])])]),t("ul",[t("li",[e._v("The "),t("code",[e._v("--cleanup-post")]),e._v(" option will remove the CentOS 6 packages remaining after the migration.")]),e._v(" "),t("li",[e._v("The "),t("code",[e._v("--network")]),e._v(" option sets the system's release version to use online repositories.")]),e._v(" "),t("li",[e._v("You can add the "),t("code",[e._v("--force")]),e._v(" option to force the migration despite the risks.\n❗️ Consider this option carefully, and remember to have a system backup.")])])]),e._v(" "),t("li",[t("p",[e._v("When the upgrade process is over, reboot the system.")]),e._v(" "),t("p",[e._v("A new entry in GRUB called "),t("code",[e._v("System Upgrade (redhat-upgrade-tool)")]),e._v(" will appear. The system will be automatically booted into it. You can monitor the remainder of the migration process in the console.")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("The system will reboot twice during the upgrade.")])]),e._v(" "),t("p",[e._v("After the second reboot completes and you are presented with the login screen, login to the system and verify that the current OS is now CentOS 7.")]),e._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" /etc/centos-release\n")])])]),t("h6",{attrs:{id:"expected-output-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#expected-output-3"}},[e._v("#")]),e._v(" Expected output:")]),e._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[e._v("CentOS Linux release "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("7.2")]),e._v(".1511 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("Core"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" \n")])])])])]),e._v(" "),t("h3",{attrs:{id:"clean-up"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#clean-up"}},[e._v("#")]),e._v(" Clean up")]),e._v(" "),t("ul",[t("li",[e._v("After the migration is complete, there may be leftover packages from the previous OS (even if you used the "),t("code",[e._v("--cleanup-post")]),e._v(" option). Consider removing or updating them manually."),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[e._v("rpm")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-qa")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" el6\n")])])])]),e._v(" "),t("li",[e._v("You should also check your current repo list, and disable any lingering CentOS 6 repositories."),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[e._v("yum repolist "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--verbose")]),e._v("\n")])])])]),e._v(" "),t("li",[e._v("Also consider removing the CentOS 6 upgrade repository package, as it is no longer needed and could cause problems in the next steps:"),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[e._v("yum remove elevate-release\n")])])])]),e._v(" "),t("li",[e._v("The "),t("em",[e._v("CentOS-Base.repo")]),e._v(" file contains CentOS 6 Vault repositories. It wasn't updated during the upgrade process to CenOS 7.2.1511 contain CentOS 7 repositories. Instead, the new "),t("em",[e._v("CentOS-Base.repo.rpmnew")]),e._v(" file was created which you need to remove:"),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[e._v("rm")]),e._v(" /etc/yum.repos.d/CentOS-Base.repo.rpmnew\n")])])])])]),e._v(" "),t("h2",{attrs:{id:"upgrade-cenos-7-2-1511-to-centos-7-9-2009"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-cenos-7-2-1511-to-centos-7-9-2009"}},[e._v("#")]),e._v(" Upgrade CenOS 7.2.1511 to CentOS 7.9.2009")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("CentOS 7 reached its End-Of-Life meaning the repositories are now offline. To be able to update your CentOS 7.2.1511 machine to CentOS 7.9.2009 you need to update "),t("em",[e._v("CentOS-Base.repo")]),e._v(" file with the CentOS 7 Vault or you can use our CentOS 7 mirror that we've setup for use with ELevate:")]),e._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[e._v("curl")]),e._v(" http://el7.repo.almalinux.org/centos/CentOS-Base.repo "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-o")]),e._v(" /etc/yum.repos.d/CentOS-Base.repo\n")])])])]),e._v(" "),t("li",[t("p",[e._v("Run the "),t("code",[e._v("yum")]),e._v(" command to update your CentOS 7.2.1511 machine to the most recent version 7.9:")]),e._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[e._v("yum update\n")])])])]),e._v(" "),t("li",[t("p",[e._v("Reboot after the update completes and verify the system's version:")]),e._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" /etc/centos-release\n")])])]),t("h6",{attrs:{id:"expected-output-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#expected-output-4"}},[e._v("#")]),e._v(" Expected output:")]),e._v(" "),t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sh"}},[t("code",[e._v("CentOS Linux release "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("7.9")]),e._v(".2009 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("Core"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" \n")])])])])]),e._v(" "),t("h2",{attrs:{id:"get-help-and-contribute"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#get-help-and-contribute"}},[e._v("#")]),e._v(" Get Help and Contribute")]),e._v(" "),t("p",[e._v("We welcome any feedback as it helps to improve the project.")]),e._v(" "),t("p",[e._v("For any help and assistance, or if you want to share your thoughts or contribute to the ELevate project, reach out to us on the "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/migration",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Community Chat"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h4",{attrs:{id:"additional-documentation"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#additional-documentation"}},[e._v("#")]),e._v(" Additional documentation")]),e._v(" "),t("p",[e._v("Here's the list of additional documentation that you might find useful:")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://github.com/upgrades-migrations/redhat-upgrade-tool.git",target:"_blank",rel:"noopener noreferrer"}},[e._v("Red Hat Upgrade Tool"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://github.com/upgrades-migrations/preupgrade-assistant.git",target:"_blank",rel:"noopener noreferrer"}},[e._v("A framework designed to run the Preupgrade Assistant modules"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://github.com/upgrades-migrations/preupgrade-assistant-modules.git",target:"_blank",rel:"noopener noreferrer"}},[e._v("Modules used by an upgrade from CentOS 6 to CentOS 7"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://git.centos.org/sources/preupgrade-assistant-el6toel7-data/c6/",target:"_blank",rel:"noopener noreferrer"}},[e._v("CentOS Preupgrade Data"),t("OutboundLink")],1)])]),e._v(" "),t("h4",{attrs:{id:"trademarks"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#trademarks"}},[e._v("#")]),e._v(" Trademarks")]),e._v(" "),t("p",[e._v("Red Hat, Red Hat Enterprise Linux, and CentOS are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/86.9d6a24db.js b/assets/js/86.9d6a24db.js new file mode 100644 index 000000000..ade7a63f4 --- /dev/null +++ b/assets/js/86.9d6a24db.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[86],{365:function(e,a,t){"use strict";t.r(a);var s=t(14),r=Object(s.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h6",{attrs:{id:"last-updated-2024-08-30"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#last-updated-2024-08-30"}},[e._v("#")]),e._v(" last updated: 2024-08-30")]),e._v(" "),a("h1",{attrs:{id:"elevating-centos-7-to-almalinux-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#elevating-centos-7-to-almalinux-9"}},[e._v("#")]),e._v(" ELevating CentOS 7 to AlmaLinux 9")]),e._v(" "),a("p",[e._v("This guide contains steps on how to upgrade your CentOS 7 machine to AlmaLinux OS 9.\nAs the Leapp tool is designed to perform one-step upgrades, you need to split the upgrade process:")]),e._v(" "),a("ul",[a("li",[e._v("CentOS 7 to AlmaLinux 8")]),e._v(" "),a("li",[e._v("AlmaLinux 8 to AlmaLinux 9")])]),e._v(" "),a("p",[e._v("The ELevate project supports a number of 3rd party repositories:")]),e._v(" "),a("ul",[a("li",[e._v("EPEL support is currently available for upgrades to AlmaLinux OS only.")]),e._v(" "),a("li",[e._v("MariaDB - for all supported operating systems.")]),e._v(" "),a("li",[e._v("nginx - for all supported operating systems.")]),e._v(" "),a("li",[e._v("PostgreSQL - for all supported operating systems.")]),e._v(" "),a("li",[e._v("Imunify - for upgrades to EL 8.")]),e._v(" "),a("li",[e._v("KernelCare - for upgrades to EL 8.")])]),e._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),a("p",[e._v("You can contribute to the project and add more 3rd party repositories support. See more on the "),a("a",{attrs:{href:"/elevate/Contribution-guide"}},[e._v("Contribute")]),e._v(" page.")])]),e._v(" "),a("h2",{attrs:{id:"upgrade-centos-7-to-almalinux-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-centos-7-to-almalinux-8"}},[e._v("#")]),e._v(" Upgrade CentOS 7 to AlmaLinux 8")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("Update the system to get the latest updates and reboot your machine.\n"),a("strong",[e._v("NOTE:")]),e._v(" Since the CentOS 7 repositories are now offline you will need to swap to the CentOS vault, or you can use our CentOS 7 mirror that we've setup for use with ELevate:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[e._v("sudo")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("curl")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-o")]),e._v(" /etc/yum.repos.d/CentOS-Base.repo https://el7.repo.almalinux.org/centos/CentOS-Base.repo\n"),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("sudo")]),e._v(" yum upgrade "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v("\n"),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("sudo")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("reboot")]),e._v("\n")])])])]),e._v(" "),a("li",[a("p",[e._v("Install "),a("code",[e._v("elevate-release")]),e._v(" package with the project repo and GPG key.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el$(rpm --eval %rhel).noarch.rpm\n")])])])]),e._v(" "),a("li",[a("p",[e._v("Install leapp packages and upgrade data for AlmaLinux:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo yum install -y leapp-upgrade leapp-data-almalinux\n")])])])]),e._v(" "),a("li",[a("p",[e._v("Start a preupgrade check. In the meanwhile, the Leapp utility creates a special "),a("em",[e._v("/var/log/leapp/leapp-report.txt")]),e._v(" file that contains possible problems and recommended solutions. No rpm packages will be installed at this phase.")]),e._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),a("p",[e._v("Preupgrade check will fail as the default install doesn't meet all requirements for upgrade.")])]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo leapp preupgrade\n")])])]),a("p",[e._v("This summary report will help you get a picture of whether it is possible to continue the upgrade.")]),e._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),a("p",[e._v("In certain configurations, Leapp generates "),a("em",[e._v("/var/log/leapp/answerfile")]),e._v(" with true/false questions. Leapp utility requires answers to all these questions in order to proceed with the upgrade.")])])]),e._v(" "),a("li",[a("p",[e._v("The following fixes from "),a("em",[e._v("the /var/log/leapp/leapp-report.txt")]),e._v(" file are the most popular for CentOS 7, but it's recommended to review the whole file.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo rmmod pata_acpi\necho PermitRootLogin yes | sudo tee -a /etc/ssh/sshd_config\nsudo leapp answer --section remove_pam_pkcs11_module_check.confirm=True\n")])])]),a("p",[e._v("Check the "),a("a",{attrs:{href:"/elevate/ELevate-frequent-issues"}},[e._v("ELevate Frequent Issues")]),e._v(" page for known and frequent issues and guidance steps to solve them.")])]),e._v(" "),a("li",[a("p",[e._v("Start an upgrade. You'll be offered to reboot the system after this process is completed.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo leapp upgrade\nsudo reboot\n")])])])]),e._v(" "),a("li",[a("p",[e._v("A new entry in GRUB called "),a("code",[e._v("ELevate-Upgrade-Initramfs")]),e._v(" will appear. The system will be automatically booted into it.\nSee how the update process goes in the console.")])]),e._v(" "),a("li",[a("p",[e._v("After reboot, login to the system and check how the upgrade went. Verify that the current OS is the one you need. Check logs and packages left from the previous OS version, consider removing or updating them manually.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("cat /etc/redhat-release\ncat /etc/os-release\nrpm -qa | grep el7 \ncat /var/log/leapp/leapp-report.txt\ncat /var/log/leapp/leapp-upgrade.log\n")])])])])]),e._v(" "),a("h2",{attrs:{id:"prepare-the-system-for-upgrade-to-almalinux-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#prepare-the-system-for-upgrade-to-almalinux-9"}},[e._v("#")]),e._v(" Prepare the system for upgrade to AlmaLinux 9")]),e._v(" "),a("p",[e._v("When successfully upgraded to AlmaLinux 8 OS, consider performing these steps to prepare your system for upgrade to AlmaLinux 9:")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("Navigate to the "),a("strong",[e._v("/etc/")]),e._v(" directory and use an editor of your choice to edit the "),a("strong",[e._v("yum.conf")]),e._v(" file. You need to remove everything from the "),a("strong",[e._v("exclude")]),e._v(" line especially that refers to elevate or leapp.")]),e._v(" "),a("h5",{attrs:{id:"an-example-of-yum-conf-file"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#an-example-of-yum-conf-file"}},[e._v("#")]),e._v(" An example of yum.conf file:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("main"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\n"),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("gpgcheck")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("1")]),e._v("\n"),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("installonly_limit")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("3")]),e._v("\n"),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("clean_requirements_on_remove")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v("True\n"),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("best")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v("True\n"),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("skip_if_unavailable")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v("False\n"),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("exclude")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v("python2-leapp,snactor,leapp-upgrade-el7toel8,leapp\n")])])])]),e._v(" "),a("li",[a("p",[e._v("Then navigate to the "),a("em",[e._v("/etc/dnf/")]),e._v(" directory and use an editor of your choice to do the same in the "),a("strong",[e._v("dnf.conf")]),e._v(" file.")])]),e._v(" "),a("li",[a("p",[e._v("Now you can remove/manually upgrade packages left from CentOS 7 without any conflicts.")])]),e._v(" "),a("li",[a("p",[e._v("Check packages left from CentOS 7:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("rpm -qa | grep el7\n")])])]),a("h5",{attrs:{id:"an-example-output-with-a-list-of-packages"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#an-example-output-with-a-list-of-packages"}},[e._v("#")]),e._v(" An example output with a list of packages:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("leapp-upgrade-el7toel8-0.16.0-6.el7.elevate.17.noarch\nyum-plugin-fastestmirror-1.1.31-54.el7_8.noarch\npython2-leapp-0.14.0-1.el7.noarch\nleapp-data-almalinux-0.1-6.el7.noarch\nkernel-3.10.0-1160.102.1.el7.x86_64\nkernel-3.10.0-1160.el7.x86_64\njava-1.7.0-openjdk-headless-1.7.0.261-2.6.22.2.el7_8.x86_64\nbtrfs-progs-4.9.1-1.el7.x86_64\nelevate-release-1.0-2.el7.noarch\nleapp-0.14.0-1.el7.noarch\n")])])]),a("p",[e._v("As mentioned above, consider removing these packages or upgrading them manually to proceed with the upgrade to AlmaLinux 9.")]),e._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),a("p",[e._v("If you face difficulties while removing the packages, the following command might help you:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("rpm -e --nodeps \n")])])])])]),e._v(" "),a("li",[a("p",[e._v("You can also check for the packages left from the upgrade process and remove them:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("rpm -qa | grep elevate\nrpm -qa | grep leapp\n")])])])]),e._v(" "),a("li",[a("p",[e._v("Check whether you have the "),a("em",[e._v("/root/tmp_leapp_py3")]),e._v(" directory created and if so delete it.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo rm -fr /root/tmp_leapp_py3\n")])])])]),e._v(" "),a("li",[a("p",[e._v("Clean up your machine.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo dnf clean all\n")])])])]),e._v(" "),a("li",[a("p",[e._v("You may also have to remove old RSA/SHA1 GPG keys. List the keys:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\\t%{SUMMARY}\\n'\n")])])]),a("p",[e._v("To remove them, use use the "),a("code",[e._v("rpm -e")]),e._v(" command:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("rpm -e [keyname]\n")])])])])]),e._v(" "),a("p",[e._v("After these preparations are completed, you can upgrade your AlmaLinux 8 machine to AlmaLinux 9.")]),e._v(" "),a("h2",{attrs:{id:"upgrading-almalinux-8-to-almalinux-9"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#upgrading-almalinux-8-to-almalinux-9"}},[e._v("#")]),e._v(" Upgrading AlmaLinux 8 to AlmaLinux 9")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("Install "),a("code",[e._v("elevate-release")]),e._v(" package with the project repo and GPG key.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el$(rpm --eval %rhel).noarch.rpm\n")])])])]),e._v(" "),a("li",[a("p",[e._v("Install leapp packages and upgrade data for AlmaLinux:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo yum install -y leapp-upgrade leapp-data-almalinux\n")])])])]),e._v(" "),a("li",[a("p",[e._v("Start a preupgrade check. In the meanwhile, the Leapp utility creates a special "),a("em",[e._v("/var/log/leapp/leapp-report.txt")]),e._v(" file that contains possible problems and recommended solutions. No rpm packages will be installed at this phase.")]),e._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),a("p",[e._v("Preupgrade check will fail as the default install doesn't meet all requirements for upgrading.")])]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo leapp preupgrade\n")])])]),a("p",[e._v("This summary report will help you get a picture of whether it is possible to continue the upgrade.")]),e._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),a("p",[e._v("In certain configurations, Leapp generates "),a("em",[e._v("/var/log/leapp/answerfile")]),e._v(" with true/false questions. Leapp utility requires answers to all these questions in order to proceed with the upgrade.")])])]),e._v(" "),a("li",[a("p",[e._v("The following fixes from "),a("em",[e._v("the /var/log/leapp/leapp-report.txt")]),e._v(" file are the most popular fixes for RHEL8-based operating systems:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[e._v("sudo")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("sed")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-i")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v('"s/^AllowZoneDrifting=.*/AllowZoneDrifting=no/"')]),e._v(" /etc/firewalld/firewalld.conf\n"),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("sudo")]),e._v(" leapp answer "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--section")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[e._v("check_vdo.confirm")]),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v("True\n")])])]),a("p",[e._v("You might also find the following issue in the "),a("strong",[e._v("leapp-report")]),e._v(" file that can interfere with the upgrade. Consider removing the file:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v(" Network configuration "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("for")]),e._v(" unsupported device types detected\n Summary: RHEL "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("9")]),e._v(" does not support the legacy network-scripts package that was deprecated "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("in")]),e._v(" RHEL "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("8")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("in")]),e._v(" favor of NetworkManager. Files "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("for")]),e._v(" device types that are not supported by NetworkManager are present "),a("span",{pre:!0,attrs:{class:"token keyword"}},[e._v("in")]),e._v(" the system. Files with the problematic configuration:\n - /etc/sysconfig/network-scripts/ifcfg-eth0\n")])])]),a("p",[e._v("Check the "),a("a",{attrs:{href:"/elevate/ELevate-frequent-issues"}},[e._v("ELevate Frequent Issues")]),e._v(" page for known and frequent issues and guidance steps to solve them.")])]),e._v(" "),a("li",[a("p",[e._v("Start an upgrade. You'll be offered to reboot the system after this process is completed.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("sudo leapp upgrade\nsudo reboot\n")])])]),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),a("p",[e._v("You might want to remove the "),a("strong",[e._v("make-devel")]),e._v(" package as it conflicts when running "),a("code",[e._v("leapp upgrade")]),e._v(" and thus this step fails.")])])]),e._v(" "),a("li",[a("p",[e._v("A new entry in GRUB called "),a("code",[e._v("ELevate-Upgrade-Initramfs")]),e._v(" will appear. The system will be automatically booted into it.\nSee how the update process goes in the console.")])]),e._v(" "),a("li",[a("p",[e._v("After reboot, login to the system and check how the upgrade went. Verify that the current OS is the one you need. Check logs and packages left from the previous OS version, consider removing or updating them manually.")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("cat /etc/redhat-release\ncat /etc/os-release\nrpm -qa | grep el8\ncat /var/log/leapp/leapp-report.txt\ncat /var/log/leapp/leapp-upgrade.log\n")])])])]),e._v(" "),a("li",[a("p",[e._v("There will be outstanding "),a("strong",[e._v("nss_db")]),e._v(" package which should be removed and the system should be updated:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("dnf update --allowerasing\n")])])])])]),e._v(" "),a("h2",{attrs:{id:"get-help"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#get-help"}},[e._v("#")]),e._v(" Get Help")]),e._v(" "),a("p",[e._v("For more help and assistance reach out to us in the ~migration channel on the "),a("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/migration",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Community Chat"),a("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/87.862295ca.js b/assets/js/87.862295ca.js new file mode 100644 index 000000000..50e2c6eec --- /dev/null +++ b/assets/js/87.862295ca.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[87],{366:function(e,t,a){"use strict";a.r(t);var r=a(14),o=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h6",{attrs:{id:"last-updated-2024-08-30"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#last-updated-2024-08-30"}},[e._v("#")]),e._v(" last updated: 2024-08-30")]),e._v(" "),t("h1",{attrs:{id:"about-the-project"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#about-the-project"}},[e._v("#")]),e._v(" About the project")]),e._v(" "),t("p",[e._v("The ELevate project is an initiative to support upgrades between major versions of RHEL-derivatives.")]),e._v(" "),t("p",[e._v("The "),t("a",{attrs:{href:"https://leapp.readthedocs.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("Leapp utility"),t("OutboundLink")],1),e._v(" and a few "),t("a",{attrs:{href:"https://github.com/AlmaLinux/leapp-repository/commits/almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("patches"),t("OutboundLink")],1),e._v(" are used to perform in-place upgrades from CentOS 7 and Enterprise Linux (EL) 8, and between EL8 and EL9 systems.")]),e._v(" "),t("p",[e._v("The "),t("a",{attrs:{href:"https://github.com/upgrades-migrations/redhat-upgrade-tool.git",target:"_blank",rel:"noopener noreferrer"}},[e._v("Red Hat Upgrade Tool"),t("OutboundLink")],1),e._v(" is used to perform in-place upgrades between CentOS 6 and CentOS 7.")]),e._v(" "),t("h2",{attrs:{id:"available-migration-paths"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#available-migration-paths"}},[e._v("#")]),e._v(" Available migration paths")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("Please note, the ELevate project is designed to perform one-step upgrades. If you wish to perform an upgrade from CentOS7, you need to split the process. Please check the "),t("RouterLink",{attrs:{to:"/elevate/ELevating-CentOS7-to-AlmaLinux-9.html"}},[e._v("ELevating CentOS7 to AlmaLinux 9")]),e._v(" guide for more information.")],1)]),e._v(" "),t("p",[e._v("The ELevate project supports a number of 3rd party repositories:")]),e._v(" "),t("ul",[t("li",[e._v("EPEL support is currently available for upgrades to AlmaLinux OS only.")]),e._v(" "),t("li",[e._v("MariaDB - for all supported operating systems.")]),e._v(" "),t("li",[e._v("nginx - for all supported operating systems.")]),e._v(" "),t("li",[e._v("PostgreSQL - for all supported operating systems.")]),e._v(" "),t("li",[e._v("Imunify - for upgrades to EL 8.")]),e._v(" "),t("li",[e._v("KernelCare - for upgrades to EL 8.")])]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("You can contribute to the project and add more 3rd party repositories support. See more on the "),t("a",{attrs:{href:"/elevate/Contribution-guide"}},[e._v("Contribute")]),e._v(" page.")])]),e._v(" "),t("p",[e._v("Currently, the following upgrade paths are available:")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/ELevateNG.svg",alt:"image"}})]),e._v(" "),t("p",[e._v("* - upgrading from Scientific Linux 7 to AlmaLinux 8 requires a workaround. Please, see more in the "),t("a",{attrs:{href:"#known-issues"}},[e._v("known issues")]),e._v(". "),t("br"),e._v("\n** - upgrading to Oracle Linux 9 is available with the "),t("a",{attrs:{href:"https://blogs.oracle.com/linux/post/upgrade-oracle-linux-8-to-oracle-linux-9-using-leapp",target:"_blank",rel:"noopener noreferrer"}},[e._v("Oracle Leapp utility"),t("OutboundLink")],1),e._v(" and will not be supported by ELevate project.")]),e._v(" "),t("h2",{attrs:{id:"how-to-upgrade"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-to-upgrade"}},[e._v("#")]),e._v(" How to upgrade")]),e._v(" "),t("p",[e._v("Various guides cover the update steps depending on the upgrade type:")]),e._v(" "),t("ul",[t("li",[e._v("The "),t("a",{attrs:{href:"/elevate/ELevate-quickstart-guide"}},[e._v("ELevate Quickstart Guide")]),e._v(" covers the upgrade steps using the Leapp utility version with 3rd party repositories support and provides the Demo video.")]),e._v(" "),t("li",[e._v("The "),t("a",{attrs:{href:"/elevate/ELevating-CentOS7-to-AlmaLinux-9"}},[e._v("ELevate CentOS 7 to AlmaLinux 9 Guide")]),e._v(" covers a two-stage process to upgrade a CentOS 7 machine to AlmaLinux OS 9.")]),e._v(" "),t("li",[e._v("The "),t("a",{attrs:{href:"/elevate/ELevating-CentOS6-to-CentOS7"}},[e._v("ELevate CentOS 6 to CentOS 7 Guide")]),e._v(" covers steps to be performed to upgrade CentOS 6 machines to CentOS 7.")]),e._v(" "),t("li",[e._v("The "),t("a",{attrs:{href:"/elevate/ELevate-offline-guide"}},[e._v("ELevate Offline Guide")]),e._v(" covers the upgrade steps on air-gapped machines.")])]),e._v(" "),t("h2",{attrs:{id:"how-to-contribute"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-to-contribute"}},[e._v("#")]),e._v(" How to Contribute")]),e._v(" "),t("p",[e._v("ELevate is developed and built as a tool for the whole ecosystem, not just AlmaLinux. ELevate supports upgrading to/from other distributions and is open for all to contribute to and enhance. You can find more information and FAQ on "),t("a",{attrs:{href:"https://almalinux.org/elevate",target:"_blank",rel:"noopener noreferrer"}},[e._v("almalinux.org/elevate"),t("OutboundLink")],1),e._v(" and "),t("a",{attrs:{href:"/sigs/Migration"}},[e._v("Migration SIG")]),e._v(".")]),e._v(" "),t("p",[e._v("If are interested in contributing to the project, please check:")]),e._v(" "),t("ul",[t("li",[e._v("The "),t("a",{attrs:{href:"/elevate/Contribution-guide"}},[e._v("ELevate Contribution Guide")]),e._v(" covers the contribution processes to add a 3rd party repository support or testing.")]),e._v(" "),t("li",[e._v("The "),t("a",{attrs:{href:"/elevate/ELevate-NG-testing-guide"}},[e._v("ELevate NG Guide")]),e._v(" covers the upgrade steps using the next Leapp tool version, new features, bug fixes, etc.")]),e._v(" "),t("li",[e._v("The "),t("a",{attrs:{href:"/elevate/ELevate-testing-guide"}},[e._v("ELevate Testing Guide")]),e._v(" covers the steps for upgrade processes that are in testing.")])]),e._v(" "),t("p",[e._v("You can get any help on "),t("a",{attrs:{href:"https://chat.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat on Mattermost"),t("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/88.cbe170f4.js b/assets/js/88.cbe170f4.js new file mode 100644 index 000000000..571428280 --- /dev/null +++ b/assets/js/88.cbe170f4.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[88],{368:function(e,o,t){"use strict";t.r(o);var r=t(14),a=Object(r.a)({},(function(){var e=this,o=e._self._c;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("h1",{attrs:{id:"google-summer-of-code"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#google-summer-of-code"}},[e._v("#")]),e._v(" Google Summer of Code")]),e._v(" "),o("p",[e._v("AlmaLinux is proud to participate in Google's Summer of Code. Please find some details below regarding submitting proposals.")]),e._v(" "),o("h2",{attrs:{id:"application-process"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#application-process"}},[e._v("#")]),e._v(" Application Process")]),e._v(" "),o("ol",[o("li",[e._v("Join our "),o("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/gsoc",target:"_blank",rel:"noopener noreferrer"}},[e._v("GSoC Chat Channel"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("li",[e._v("Introduce yourself and tell us a little bit of your background and interests.")]),e._v(" "),o("li",[e._v("Let us know what languages, projects or frameworks you have experience or would like to work in.")]),e._v(" "),o("li",[e._v("Have you ever contributed to Open Source before?")]),e._v(" "),o("li",[e._v("What would you like to gain out of this experience?")])]),e._v(" "),o("h2",{attrs:{id:"ideas"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#ideas"}},[e._v("#")]),e._v(" Ideas")]),e._v(" "),o("ol",[o("li",[o("p",[e._v("Enhancements to the "),o("a",{attrs:{href:"https://almalinux.org/elevate",target:"_blank",rel:"noopener noreferrer"}},[e._v("ELevate"),o("OutboundLink")],1),e._v(" project. ELevate was introduced as a project to allow in place migrations between major versions of RHEL-derivative distribution. The project has proven wildly popular with thousands of migrations completed successfully. Currently the project support 7.x->8.x. As part of this project you would working under the mentorship of our ELevate team members and release engineering to include support for additional versions such as 8.x->9.x and potentially 6.x->7.x. Also, depending on progress, maybe supporting additional package repositories. "),o("strong",[e._v("Skill Level: Intermediate")]),e._v(" "),o("strong",[e._v("You should know or will learn RPM, dnf, yum, python, bash")]),e._v(".")])]),e._v(" "),o("li",[o("p",[e._v("Work on security update scripts. As part of this project you will work with our release engineering and security teams to help automate the processing of security update-related information, such as having processing scripts based on certain content or keywords (for example by CVE) and scripts to automatically post errata and updates to to mailing lists. "),o("strong",[e._v("Skill Level: Easy")]),e._v(" "),o("strong",[e._v("You should know or will learn RPM, dnf, yum, python, bash")]),e._v(".")])]),e._v(" "),o("li",[o("p",[e._v("Clean up of "),o("code",[e._v("countme")]),e._v(" scripts and integrate with upstream. AlmaLinux introduced "),o("code",[e._v("dnf countme")]),e._v(" in December of 2021. As part of this project you will work with our Infrastructure team to help clean up the data and work upstream with the "),o("a",{attrs:{href:"https://fedoraproject.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Fedora Project"),o("OutboundLink")],1),e._v(" to have our work integrated upstream. "),o("strong",[e._v("Skill Level: Easy")]),e._v(" "),o("strong",[e._v("You should know or will learn dnf, yum and python")]),e._v(".")])]),e._v(" "),o("li",[o("p",[e._v("Custom Distro Spin tool. We always get requests from users and vendors to include a custom package or some custom software within the distribution for their own use or release. As part of this project you will help create a tool which will allow AlmaLinux users to create a custom respins/isos/LiveCDs. "),o("strong",[e._v("Skill Level: Advanced-Intermediate")]),e._v(" "),o("strong",[e._v("You should know or will learn RPM, dnf, yum, python, bash")]),e._v(".")])]),e._v(" "),o("li",[o("p",[e._v("Propose your own project! We're open to ideas.")])])]),e._v(" "),o("h2",{attrs:{id:"application"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#application"}},[e._v("#")]),e._v(" Application")]),e._v(" "),o("p",[e._v("Once you've chosen an idea submit the application/proposal including all requirements at the Google Summer of Code Site.")])])}),[],!1,null,null,null);o.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/89.d98aea2d.js b/assets/js/89.d98aea2d.js new file mode 100644 index 000000000..c690ec1a2 --- /dev/null +++ b/assets/js/89.d98aea2d.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[89],{369:function(t,a,e){"use strict";e.r(a);var r=e(14),n=Object(r.a)({},(function(){var t=this,a=t._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h6",{attrs:{id:"last-updated-2024-07-04"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#last-updated-2024-07-04"}},[t._v("#")]),t._v(" last updated: 2024-07-04")]),t._v(" "),a("h1",{attrs:{id:"vagrant-boxes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#vagrant-boxes"}},[t._v("#")]),t._v(" Vagrant Boxes")]),t._v(" "),a("p",[t._v("AlmaLinux offers official AlmaLinux OS images for Vagrant Boxes. Images are delivered by the AlmaLinux "),a("a",{attrs:{href:"https://wiki.almalinux.org/sigs/Cloud.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("Cloud SIG"),a("OutboundLink")],1),t._v(".")]),t._v(" "),a("p",[t._v("The following "),a("a",{attrs:{href:"https://app.vagrantup.com/almalinux/boxes/9",target:"_blank",rel:"noopener noreferrer"}},[t._v("AlmaLinux OS 9"),a("OutboundLink")],1),t._v(" and "),a("a",{attrs:{href:"https://app.vagrantup.com/almalinux/boxes/8",target:"_blank",rel:"noopener noreferrer"}},[t._v("AlmaLinux OS 8"),a("OutboundLink")],1),t._v(" images are available on Vagrant Cloud:")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Vagrant Box")]),t._v(" "),a("th",[t._v("AlmaLinux OS 9")]),t._v(" "),a("th",[t._v("AlmaLinux OS 8")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("Libvirt")]),t._v(" "),a("td",[t._v("Intel/AMD (x86_64)")]),t._v(" "),a("td",[t._v("Intel/AMD (x86_64)")])]),t._v(" "),a("tr",[a("td",[t._v("Virtual Box")]),t._v(" "),a("td",[t._v("Intel/AMD (x86_64)")]),t._v(" "),a("td",[t._v("Intel/AMD (x86_64)")])]),t._v(" "),a("tr",[a("td",[t._v("Hyper-V")]),t._v(" "),a("td",[t._v("Intel/AMD (x86_64)")]),t._v(" "),a("td",[t._v("Intel/AMD (x86_64)")])]),t._v(" "),a("tr",[a("td",[t._v("VMWare")]),t._v(" "),a("td",[t._v("Intel/AMD (x86_64)"),a("br"),t._v("ARM64 (AArch64)")]),t._v(" "),a("td",[t._v("Intel/AMD (x86_64)")])]),t._v(" "),a("tr",[a("td",[t._v("Parallels")]),t._v(" "),a("td",[t._v("ARM64 (AArch64)")]),t._v(" "),a("td",[t._v("-")])])])]),t._v(" "),a("h2",{attrs:{id:"contribute-and-get-help"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#contribute-and-get-help"}},[t._v("#")]),t._v(" Contribute and Get Help")]),t._v(" "),a("p",[t._v("If you are interested in contributing or need any assistance, check the "),a("a",{attrs:{href:"/sigs/Cloud"}},[t._v("SIG/Cloud")]),t._v(" wiki page and join the "),a("em",[t._v("~SIG/Cloud")]),t._v(" chat channel in "),a("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/sigcloud",target:"_blank",rel:"noopener noreferrer"}},[t._v("Mattermost"),a("OutboundLink")],1),t._v(" chat channel on "),a("a",{attrs:{href:"https://chat.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("chat.almalinux.org"),a("OutboundLink")],1),t._v(".")])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/90.85f47110.js b/assets/js/90.85f47110.js new file mode 100644 index 000000000..9df87b6f6 --- /dev/null +++ b/assets/js/90.85f47110.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[90],{373:function(e,t,a){"use strict";a.r(t);var r=a(14),o=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h6",{attrs:{id:"last-updated-2024-08-30"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#last-updated-2024-08-30"}},[e._v("#")]),e._v(" last updated: 2024-08-30")]),e._v(" "),t("h1",{attrs:{id:"almalinux-migration-projects"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-migration-projects"}},[e._v("#")]),e._v(" AlmaLinux Migration Projects")]),e._v(" "),t("p",[e._v("AlmaLinux offers two projects for migrating your machine, each designed for specific migration paths.")]),e._v(" "),t("p",[e._v("See the general overviews of options to select the tool/project that best fits your requirements.")]),e._v(" "),t("h2",{attrs:{id:"almalinux-migration-tool"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-migration-tool"}},[e._v("#")]),e._v(" AlmaLinux Migration Tool")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/AlmaLinux/almalinux-deploy",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Migration Tool"),t("OutboundLink")],1),e._v(" can be used to convert your EL8 or EL9 machine to the corresponding version.")]),e._v(" "),t("p",[e._v("The tool supports the following migration paths:")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/migration.svg",alt:"image"}})]),e._v(" "),t("p",[e._v("See the "),t("a",{attrs:{href:"/documentation/migration-guide"}},[e._v("Migration Guide")]),e._v(" for the conversion steps.")]),e._v(" "),t("h2",{attrs:{id:"almalinux-elevate-project"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-elevate-project"}},[e._v("#")]),e._v(" AlmaLinux ELevate Project")]),e._v(" "),t("p",[e._v("The ELevate project is an initiative to support migrations between major versions of RHEL-derivatives.")]),e._v(" "),t("p",[e._v("The "),t("a",{attrs:{href:"https://leapp.readthedocs.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("Leapp utility"),t("OutboundLink")],1),e._v(" and a few "),t("a",{attrs:{href:"https://github.com/AlmaLinux/leapp-repository/commits/almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("patches"),t("OutboundLink")],1),e._v(" are used to perform in-place migrations between CentOS 7 and Enterprise Linux (EL) 8, and between EL8 and EL9 systems.")]),e._v(" "),t("p",[e._v("The "),t("a",{attrs:{href:"https://github.com/upgrades-migrations/redhat-upgrade-tool.git",target:"_blank",rel:"noopener noreferrer"}},[e._v("Red Hat Upgrade Tool"),t("OutboundLink")],1),e._v(" is used to perform in-place migration between CentOS 6 and CentOS 7.")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("Please note, the ELevate project is designed to perform one-step upgrades. If you wish to perform an upgrade from CentOS7, you need to split the process. Please check the "),t("RouterLink",{attrs:{to:"/elevate/ELevating-CentOS7-to-AlmaLinux-9.html"}},[e._v("ELevating CentOS7 to AlmaLinux 9")]),e._v(" guide for more information.")],1)]),e._v(" "),t("p",[e._v("The ELevate project supports a number of 3rd party repositories:")]),e._v(" "),t("ul",[t("li",[e._v("EPEL support is currently available for upgrades to AlmaLinux OS only.")]),e._v(" "),t("li",[e._v("MariaDB - for all supported operating systems.")]),e._v(" "),t("li",[e._v("nginx - for all supported operating systems.")]),e._v(" "),t("li",[e._v("PostgreSQL - for all supported operating systems.")]),e._v(" "),t("li",[e._v("Imunify - for upgrades to EL 8.")]),e._v(" "),t("li",[e._v("KernelCare - for upgrades to EL 8.")])]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("You can contribute to the project and add more 3rd party repositories support. See more on the "),t("a",{attrs:{href:"/elevate/Contribution-guide"}},[e._v("Contribute")]),e._v(" page.")])]),e._v(" "),t("p",[e._v("Currently, the following upgrade paths are available:")]),e._v(" "),t("p",[t("img",{attrs:{src:"/images/ELevateNG.svg",alt:"image"}})]),e._v(" "),t("p",[e._v("* - upgrading from Scientific Linux 7 to AlmaLinux 8 requires a workaround. Please, see more in the "),t("a",{attrs:{href:"#known-issues"}},[e._v("known issues")]),e._v(". "),t("br"),e._v("\n** - upgrading to Oracle Linux 9 is available with the "),t("a",{attrs:{href:"https://blogs.oracle.com/linux/post/upgrade-oracle-linux-8-to-oracle-linux-9-using-leapp",target:"_blank",rel:"noopener noreferrer"}},[e._v("Oracle Leapp utility"),t("OutboundLink")],1),e._v(" and will not be supported by ELevate project.\nSee the "),t("RouterLink",{attrs:{to:"/elevate/"}},[e._v("ELevate")]),e._v(" section for the update steps.")],1)])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/91.adaeecf1.js b/assets/js/91.adaeecf1.js new file mode 100644 index 000000000..0205b7ea8 --- /dev/null +++ b/assets/js/91.adaeecf1.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[91],{372:function(t,v,_){"use strict";_.r(v);var a=_(14),e=Object(a.a)({},(function(){var t=this,v=t._self._c;return v("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[v("h6",{attrs:{id:"last-updated-2024-04-17"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#last-updated-2024-04-17"}},[t._v("#")]),t._v(" last updated: 2024-04-17")]),t._v(" "),v("h1",{attrs:{id:"almalinux-8-10-beta-release-notes"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-8-10-beta-release-notes"}},[t._v("#")]),t._v(" AlmaLinux 8.10 Beta Release Notes")]),t._v(" "),v("p",[t._v("These are the release notes for AlmaLinux OS 8.10 Beta for all supported architectures:")]),t._v(" "),v("ul",[v("li",[t._v("x86_64")]),t._v(" "),v("li",[t._v("aarch64")]),t._v(" "),v("li",[t._v("ppc64le")]),t._v(" "),v("li",[t._v("s390x")])]),t._v(" "),v("p",[t._v("Codename: Cerulean Leopard.\nDistributed kernel version: 4.18.0-544.el8")]),t._v(" "),v("h2",{attrs:{id:"beta-release"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#beta-release"}},[t._v("#")]),t._v(" Beta Release")]),t._v(" "),v("div",{staticClass:"custom-block warning"},[v("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),v("p",[t._v("This is a "),v("strong",[t._v("BETA")]),t._v(" release and should not be used for production installations. The provided upgrade instructions should not be used on production machines unless you have backups and a recovery option. 😉")])]),t._v(" "),v("h2",{attrs:{id:"providing-feedback-and-getting-help"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#providing-feedback-and-getting-help"}},[t._v("#")]),t._v(" Providing Feedback and Getting Help")]),t._v(" "),v("p",[t._v("Please report any issues you may encounter during tests on the "),v("a",{attrs:{href:"https://bugs.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("AlmaLinux Bug Tracker"),v("OutboundLink")],1),t._v(". Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out "),v("a",{attrs:{href:"https://chat.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("The AlmaLinux Community Chat"),v("OutboundLink")],1),t._v(", "),v("a",{attrs:{href:"https://forums.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("The AlmaLinux Forums"),v("OutboundLink")],1),t._v(" and "),v("a",{attrs:{href:"https://reddit.com/r/almalinux",target:"_blank",rel:"noopener noreferrer"}},[t._v("The AlmaLinux Community on Reddit"),v("OutboundLink")],1),t._v(".")]),t._v(" "),v("h2",{attrs:{id:"changelog"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[t._v("#")]),t._v(" Changelog")]),t._v(" "),v("ul",[v("li",[v("p",[t._v("Updated module streams:")]),t._v(" "),v("ul",[v("li",[t._v("Python 3.12")]),t._v(" "),v("li",[t._v("Ruby 3.3")]),t._v(" "),v("li",[t._v("PHP 8.2")]),t._v(" "),v("li",[t._v("nginx 1.24")]),t._v(" "),v("li",[t._v("MariaDB 10.11")]),t._v(" "),v("li",[t._v("PostgreSQL 16")])])]),t._v(" "),v("li",[v("p",[t._v("Updated components:")]),t._v(" "),v("ul",[v("li",[t._v("Git to version 2.43.0")]),t._v(" "),v("li",[t._v("Git LFS to version 3.4.1")])])]),t._v(" "),v("li",[v("p",[t._v("Security")]),t._v(" "),v("ul",[v("li",[t._v("SCAP Security Guide 0.1.72 contains updated CIS profiles, a profile aligned with the PCI DSS policy version 4.0, and profiles for the latest DISA STIG policies.")]),t._v(" "),v("li",[t._v("The Linux kernel cryptographic API (libkcapi) 1.4.0 introduces new tools and options. Notably, with the new "),v("code",[t._v("-T")]),t._v(" option, you can specify target file names in hash-sum calculations.")]),t._v(" "),v("li",[t._v("The stunnel TLS/SSL tunneling service 5.71 changes the behavior of OpenSSL 1.1 and later versions in FIPS mode. Besides this change, version 5.71 provides many new features such as support for modern PostgreSQL clients.")]),t._v(" "),v("li",[t._v("The OpenSSL TLS toolkit now contains API-level protections against Bleichenbacher-like attacks on the RSA PKCS #1 v1.5 decryption process.")])])]),t._v(" "),v("li",[v("p",[t._v("The following device drivers were modified to re-add PCI IDs for hardware that was previously disabled in our upstream:")]),t._v(" "),v("ul",[v("li",[v("strong",[t._v("aacraid")]),t._v(" - Dell PERC2, 2/Si, 3/Si, 3/Di, Adaptec Advanced Raid Products, HP NetRAID-4M, IBM ServeRAID & ICP SCSI")]),t._v(" "),v("li",[v("strong",[t._v("be2iscsi")]),t._v(" - Emulex OneConnect Open-iSCSI for BladeEngine 2 and 3 adapters")]),t._v(" "),v("li",[v("strong",[t._v("hpsa")]),t._v(" - HP Smart Array Controller")]),t._v(" "),v("li",[v("strong",[t._v("lpfc")]),t._v(" - Emulex LightPulse Fibre Channel SCSI")]),t._v(" "),v("li",[v("strong",[t._v("megaraid_sas")]),t._v(" - Broadcom MegaRAID SAS")]),t._v(" "),v("li",[v("strong",[t._v("mlx4_core")]),t._v(" - Mellanox Gen2 and ConnectX-2 adapters")]),t._v(" "),v("li",[v("strong",[t._v("mpt3sas")]),t._v(" - LSI MPT Fusion SAS 3.0")]),t._v(" "),v("li",[v("strong",[t._v("mptsas")]),t._v(" - Fusion MPT SAS Host")]),t._v(" "),v("li",[v("strong",[t._v("qla2xxx")]),t._v(" - QLogic Fibre Channel HBA")]),t._v(" "),v("li",[v("strong",[t._v("qla4xxx")]),t._v(" - QLogic iSCSI HBA")])])])]),t._v(" "),v("h2",{attrs:{id:"upgrade-instructions"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-instructions"}},[t._v("#")]),t._v(" Upgrade Instructions")]),t._v(" "),v("p",[v("strong",[t._v("Please do not use these update instructions on production machines unless you don't mind if something breaks")]),t._v(" 😉")]),t._v(" "),v("p",[t._v("Upgrade the almalinux-release package to the 8.10-0.0.el8 version from the beta repositories:")]),t._v(" "),v("div",{staticClass:"language-bash extra-class"},[v("pre",{pre:!0,attrs:{class:"language-bash"}},[v("code",[t._v("$ dnf "),v("span",{pre:!0,attrs:{class:"token function"}},[t._v("install")]),t._v(" "),v("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-y")]),t._v(" https://repo.almalinux.org/vault/almalinux-release-latest-8-beta.x86_64.rpm\n$ dnf clean all\n")])])]),v("p",[t._v("the new package contains updated repository URLs so that you can just run:")]),t._v(" "),v("div",{staticClass:"language-bash extra-class"},[v("pre",{pre:!0,attrs:{class:"language-bash"}},[v("code",[t._v("$ dnf upgrade "),v("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-y")]),t._v("\n")])])]),v("p",[t._v("to update the rest of the packages.")]),t._v(" "),v("h2",{attrs:{id:"installation-instructions"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#installation-instructions"}},[t._v("#")]),t._v(" Installation instructions")]),t._v(" "),v("p",[t._v("There are three installation ISO images available:")]),t._v(" "),v("p",[v("code",[t._v("AlmaLinux-8.10-beta-1-x86_64-boot.iso")]),t._v(" - a single network installation CD image that downloads packages over the Internet.")]),t._v(" "),v("p",[v("code",[t._v("AlmaLinux-8.10-beta-1-x86_64-minimal.iso")]),t._v(" - a minimal self-containing DVD image that makes possible offline installation.")]),t._v(" "),v("p",[v("code",[t._v("AlmaLinux-8.10-beta-1-x86_64-dvd.iso")]),t._v(" - a full installation DVD image that contains mostly all AlmaLinux packages.")]),t._v(" "),v("p",[t._v("Download a suitable ISO image from the 8.10-beta/isos/$arch/ directory, for example:")]),t._v(" "),v("div",{staticClass:"language-bash extra-class"},[v("pre",{pre:!0,attrs:{class:"language-bash"}},[v("code",[t._v("$ "),v("span",{pre:!0,attrs:{class:"token function"}},[t._v("wget")]),t._v(" https://repo.almalinux.org/almalinux/8.10-beta/isos/x86_64/AlmaLinux-8.10-beta-1-x86_64-boot.iso\n")])])]),v("p",[t._v("Download and import the AlmaLinux public key:")]),t._v(" "),v("div",{staticClass:"language-bash extra-class"},[v("pre",{pre:!0,attrs:{class:"language-bash"}},[v("code",[t._v("$ "),v("span",{pre:!0,attrs:{class:"token function"}},[t._v("wget")]),t._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux\n$ gpg "),v("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("--import")]),t._v(" RPM-GPG-KEY-AlmaLinux\n")])])]),v("p",[t._v("Download and verify a checksums list:")]),t._v(" "),v("div",{staticClass:"language-bash extra-class"},[v("pre",{pre:!0,attrs:{class:"language-bash"}},[v("code",[t._v("$ "),v("span",{pre:!0,attrs:{class:"token function"}},[t._v("wget")]),t._v(" https://repo.almalinux.org/almalinux/8.10-beta/isos/x86_64/CHECKSUM\n\n"),v("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# we are looking for “Good signature”")]),t._v("\n$ gpg "),v("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("--verify")]),t._v(" CHECKSUM\ngpg: Signature made Tue "),v("span",{pre:!0,attrs:{class:"token number"}},[t._v("16")]),t._v(" Apr "),v("span",{pre:!0,attrs:{class:"token number"}},[t._v("2024")]),t._v(" "),v("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),t._v(":38:48 AM EDT\ngpg: using RSA key BC5EDDCADF502C077F1582882AE81E8ACED7258B\ngpg: Good signature from "),v("span",{pre:!0,attrs:{class:"token string"}},[t._v('"AlmaLinux OS 8 "')]),t._v(" "),v("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("unknown"),v("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\ngpg: WARNING: This key is not certified with a trusted signature"),v("span",{pre:!0,attrs:{class:"token operator"}},[t._v("!")]),t._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: BC5E DDCA DF50 2C07 7F15 "),v("span",{pre:!0,attrs:{class:"token number"}},[t._v("8288")]),t._v(" 2AE8 1E8A CED7 258B\n")])])]),v("p",[t._v("Verify the downloaded ISO image checksum:")]),t._v(" "),v("div",{staticClass:"language-bash extra-class"},[v("pre",{pre:!0,attrs:{class:"language-bash"}},[v("code",[v("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# calculate the downloaded ISO SHA256 checksum")]),t._v("\n$ sha256sum AlmaLinux-8.10-beta-1-x86_64-boot.iso\n5a8ab1a680b7373993889e91e8402f28784e78087ef23f33cee282ab69a2fbf7 AlmaLinux-8.10-beta-1-x86_64-boot.iso\n\n"),v("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# compare it with expected checksum, it should be the same")]),t._v("\n$ "),v("span",{pre:!0,attrs:{class:"token function"}},[t._v("cat")]),t._v(" CHECKSUM "),v("span",{pre:!0,attrs:{class:"token operator"}},[t._v("|")]),t._v(" "),v("span",{pre:!0,attrs:{class:"token function"}},[t._v("grep")]),t._v(" "),v("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-E")]),t._v(" "),v("span",{pre:!0,attrs:{class:"token string"}},[t._v("'SHA256.*AlmaLinux-8.10-beta-1-x86_64-boot.iso'")]),t._v("\nSHA256 "),v("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("AlmaLinux-8.10-beta-1-x86_64-boot.iso"),v("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),v("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" 5a8ab1a680b7373993889e91e8402f28784e78087ef23f33cee282ab69a2fbf7\n")])])]),v("p",[t._v("If you decide to use the "),v("code",[t._v("AlmaLinux-8.10-beta-1-x86_64-boot.iso")]),t._v(" image, you may need to provide the "),v("code",[t._v("https://repo.almalinux.org/vault/8.10-beta/BaseOS/x86_64/kickstart/")]),t._v(" URL repository as the Installation Source in the event that the installer is not able to find it automatically for some reason.")]),t._v(" "),v("p",[t._v("There are no extra Installation Sources required if you decided to go with either the Minimal or DVD ISO images.")]),t._v(" "),v("h2",{attrs:{id:"additional-packages"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#additional-packages"}},[t._v("#")]),t._v(" Additional packages")]),t._v(" "),v("p",[t._v("Here is a list of packages that are AlmaLinux-specific, and will not be found in compatible versions of RHEL..")]),t._v(" "),v("table",[v("thead",[v("tr",[v("th",[t._v("Package")]),t._v(" "),v("th",[t._v("Description")])])]),t._v(" "),v("tbody",[v("tr",[v("td",[t._v("almalinux-backgrounds")]),t._v(" "),v("td",[t._v("AlmaLinux background images."),v("br"),t._v("Replaces "),v("code",[t._v("redhat-backgrounds")])])]),t._v(" "),v("tr",[v("td",[t._v("almalinux-indexhtml")]),t._v(" "),v("td",[t._v("AlmaLinux default browser page"),v("br"),t._v("Replaces "),v("code",[t._v("redhat-indexhtml")])])]),t._v(" "),v("tr",[v("td",[t._v("almalinux-logos")]),t._v(" "),v("td",[t._v("AlmaLinux graphics for OS"),v("br"),t._v("Replaces "),v("code",[t._v("redhat-logos")])])]),t._v(" "),v("tr",[v("td",[t._v("almalinux-logos-httpd")]),t._v(" "),v("td",[t._v("AlmaLinux graphics for HTTPD server"),v("br"),t._v("Replaces "),v("code",[t._v("redhat-logos-httpd")])])]),t._v(" "),v("tr",[v("td",[t._v("almalinux-logos-ipa")]),t._v(" "),v("td",[t._v("AlmaLinux graphics for IPA server"),v("br"),t._v("Replaces "),v("code",[t._v("redhat-logos-ipa")])])]),t._v(" "),v("tr",[v("td",[t._v("almalinux-release")]),t._v(" "),v("td",[t._v("AlmaLinux release package, repos, and EULA"),v("br"),t._v("Replaces "),v("code",[t._v("redhat-release")]),t._v(" and "),v("code",[t._v("redhat-release-eula")])])])])]),t._v(" "),v("h2",{attrs:{id:"removed-packages"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#removed-packages"}},[t._v("#")]),t._v(" Removed packages")]),t._v(" "),v("p",[t._v("Here is a list of packages you will not find in AlmaLinux when comparing with the compatible version of RHEL.")]),t._v(" "),v("p",[t._v("AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join "),v("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/engineeringpackaging",target:"_blank",rel:"noopener noreferrer"}},[t._v("AlmaLinux Chat"),v("OutboundLink")],1),t._v(" as well as filing a bug report at "),v("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("AlmaLinux Bug Tracker"),v("OutboundLink")],1),t._v(" to discuss if you think any of the packages below should be included into the repos.")]),t._v(" "),v("table",[v("thead",[v("tr",[v("th",[t._v("Package")]),t._v(" "),v("th",[t._v("Description")])])]),t._v(" "),v("tbody",[v("tr",[v("td",[t._v("insights-client")]),t._v(" "),v("td",[t._v("RHEL specific package to connect to upstream vendor resources")])]),t._v(" "),v("tr",[v("td",[t._v("kmod-redhat-*")]),t._v(" "),v("td",[t._v("RHEL specific modules from Driver Update Program")])]),t._v(" "),v("tr",[v("td",[t._v("kpatch*")]),t._v(" "),v("td",[t._v("RHEL specific live patches for kernel")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-backgrounds")]),t._v(" "),v("td",[t._v("RHEL specific background images")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-indexhtml")]),t._v(" "),v("td",[t._v("RHEL specific default browser page")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-logos")]),t._v(" "),v("td",[t._v("RHEL specific graphics for OS")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-logos-httpd")]),t._v(" "),v("td",[t._v("RHEL specific graphics for HTTPD server")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-logos-ipa")]),t._v(" "),v("td",[t._v("RHEL specific graphics for IPA server")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-release")]),t._v(" "),v("td",[t._v("RHEL specific release package and repos")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-release-eula")]),t._v(" "),v("td",[t._v("RHEL specific EULA")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-support-lib-python")]),t._v(" "),v("td",[t._v("RHEL specific package to connect to upstream vendor resources")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-support-tool")]),t._v(" "),v("td",[t._v("RHEL specific package to connect to upstream vendor resources")])]),t._v(" "),v("tr",[v("td",[t._v("rhc")]),t._v(" "),v("td",[t._v("RHEL specific package to connect to upstream vendor resources")])]),t._v(" "),v("tr",[v("td",[t._v("rhc-worker-playbook")]),t._v(" "),v("td",[t._v("RHEL specific package to connect to upstream vendor resources")])]),t._v(" "),v("tr",[v("td",[t._v("rhsm-gtk")]),t._v(" "),v("td",[t._v("RHEL specific GUI for Subscription Manager")])]),t._v(" "),v("tr",[v("td",[t._v("rhsm-icons")]),t._v(" "),v("td",[t._v("RHEL specific GUI for Subscription Manager")])]),t._v(" "),v("tr",[v("td",[t._v("spice-client-win-x64")]),t._v(" "),v("td",[t._v("Contains binaries built by upstream vendor")])]),t._v(" "),v("tr",[v("td",[t._v("spice-client-win-x86")]),t._v(" "),v("td",[t._v("Contains binaries built by upstream vendor")])]),t._v(" "),v("tr",[v("td",[t._v("spice-qxl-wddm-dod")]),t._v(" "),v("td",[t._v("Contains binaries built by upstream vendor")])]),t._v(" "),v("tr",[v("td",[t._v("spice-vdagent-win-x64")]),t._v(" "),v("td",[t._v("Contains binaries built by upstream vendor")])]),t._v(" "),v("tr",[v("td",[t._v("spice-vdagent-win-x86")]),t._v(" "),v("td",[t._v("Contains binaries built by upstream vendor")])]),t._v(" "),v("tr",[v("td",[t._v("subscription-manager-cockpit")]),t._v(" "),v("td",[t._v("RHEL specific Cockpit module for Subscription Manager")])]),t._v(" "),v("tr",[v("td",[t._v("subscription-manager-initial-setup-addon")]),t._v(" "),v("td",[t._v("RHEL specific initial setup addon for Subscription Manager")])]),t._v(" "),v("tr",[v("td",[t._v("subscription-manager-plugin-container")]),t._v(" "),v("td",[t._v("RHEL specific Subscription Manager plugin for upstream vendor containers")])]),t._v(" "),v("tr",[v("td",[t._v("virt-who")]),t._v(" "),v("td",[t._v("RHEL specific package to connect to upstream vendor resources")])]),t._v(" "),v("tr",[v("td",[t._v("virtio-win")]),t._v(" "),v("td",[t._v("Contain binaries built by upstream vendor")])])])]),t._v(" "),v("h2",{attrs:{id:"extended-hardware-support"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#extended-hardware-support"}},[t._v("#")]),t._v(" Extended hardware support")]),t._v(" "),v("p",[t._v("The following devices support is added in this release, when compared with the RHEL 8.10 Beta:")]),t._v(" "),v("table",[v("thead",[v("tr",[v("th",[t._v("Device PCI ID")]),t._v(" "),v("th",[t._v("Device name")]),t._v(" "),v("th",[t._v("Driver name")])])]),t._v(" "),v("tbody",[v("tr",[v("td",[t._v("0x0E11:"),v("em",[t._v(":")]),t._v(": *:01:04")]),t._v(" "),v("td",[t._v("Compaq")]),t._v(" "),v("td",[t._v("hpsa")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0050")]),t._v(" "),v("td",[t._v("LSI SAS1064")]),t._v(" "),v("td",[t._v("mptsas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0054")]),t._v(" "),v("td",[t._v("LSI SAS1068")]),t._v(" "),v("td",[t._v("mptsas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0056")]),t._v(" "),v("td",[t._v("LSI SAS1064E")]),t._v(" "),v("td",[t._v("mptsas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0058")]),t._v(" "),v("td",[t._v("LSI SAS1068E")]),t._v(" "),v("td",[t._v("mptsas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0059")]),t._v(" "),v("td",[t._v("LSI SAS1068_820XELP")]),t._v(" "),v("td",[t._v("mptsas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0060")]),t._v(" "),v("td",[t._v("LSI MegaRAID SAS1078R")]),t._v(" "),v("td",[t._v("megaraid_sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0062")]),t._v(" "),v("td",[t._v("LSI SAS1078")]),t._v(" "),v("td",[t._v("mptsas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0064")]),t._v(" "),v("td",[t._v("LSI SAS2116_1")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0065")]),t._v(" "),v("td",[t._v("LSI SAS2116_2")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0070")]),t._v(" "),v("td",[t._v("LSI SAS2004")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0072")]),t._v(" "),v("td",[t._v("LSI SAS2008")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0074")]),t._v(" "),v("td",[t._v("LSI SAS2108_1")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0076")]),t._v(" "),v("td",[t._v("LSI SAS2108_2")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0077")]),t._v(" "),v("td",[t._v("LSI SAS2108_3")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0078")]),t._v(" "),v("td",[t._v("LSI MegaRAID SAS1078 Gen2")]),t._v(" "),v("td",[t._v("megaraid_sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x007C")]),t._v(" "),v("td",[t._v("LSI MegaRAID SAS1078DE")]),t._v(" "),v("td",[t._v("megaraid_sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x007E")]),t._v(" "),v("td",[t._v("LSI SSS6200")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0411")]),t._v(" "),v("td",[t._v("LSI MegaRAID SAS1064R")]),t._v(" "),v("td",[t._v("megaraid_sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0413")]),t._v(" "),v("td",[t._v("LSI MegaRAID SAS1068 Verde ZCR")]),t._v(" "),v("td",[t._v("megaraid_sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1011:0x0046:0x103C:0x10C2")]),t._v(" "),v("td",[t._v("HP NetRAID-4M")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1011:0x0046:0x9005:0x0364")]),t._v(" "),v("td",[t._v("Adaptec 5400S (Mustang)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1011:0x0046:0x9005:0x0365")]),t._v(" "),v("td",[t._v("Adaptec 5400S (Mustang)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1011:0x0046:0x9005:0x1364")]),t._v(" "),v("td",[t._v("Dell PERC 2/QC")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x0001:0x1028:0x0001")]),t._v(" "),v("td",[t._v("DELL PERC 2/Si (Iguana)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x0002:0x1028:0x0002")]),t._v(" "),v("td",[t._v("DELL PERC 3/Di (Opal)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x0002:0x1028:0x00D1")]),t._v(" "),v("td",[t._v("DELL PERC 3/Di (Viper)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x0002:0x1028:0x00D9")]),t._v(" "),v("td",[t._v("DELL PERC 3/Di (Lexus)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x0003:0x1028:0x0003")]),t._v(" "),v("td",[t._v("DELL PERC 3/Si (SlimFast)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x0004:0x1028:0x00D0")]),t._v(" "),v("td",[t._v("DELL PERC 3/Di (Iguana FlipChip)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x000A:0x1028:0x0106")]),t._v(" "),v("td",[t._v("DELL PERC 3/Di (Jaguar)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x000A:0x1028:0x011B")]),t._v(" "),v("td",[t._v("DELL PERC 3/Di (Dagger)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x000A:0x1028:0x0121")]),t._v(" "),v("td",[t._v("DELL PERC 3/Di (Boxster)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x0015")]),t._v(" "),v("td",[t._v("Dell PERC5")]),t._v(" "),v("td",[t._v("megaraid_sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x103C:"),v("em",[t._v(":")]),t._v(": *:01:04")]),t._v(" "),v("td",[t._v("HP")]),t._v(" "),v("td",[t._v("hpsa")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x2100")]),t._v(" "),v("td",[t._v("QLogic ISP2100")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x2200")]),t._v(" "),v("td",[t._v("QLogic ISP2200")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x2300")]),t._v(" "),v("td",[t._v("QLogic ISP2300")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x2312")]),t._v(" "),v("td",[t._v("QLogic ISP2312")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x2322")]),t._v(" "),v("td",[t._v("QLogic ISP2322")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x2422")]),t._v(" "),v("td",[t._v("QLogic ISP2422")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x2432")]),t._v(" "),v("td",[t._v("QLogic ISP2432")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x5422")]),t._v(" "),v("td",[t._v("QLogic ISP5422")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x5432")]),t._v(" "),v("td",[t._v("QLogic ISP5432 / QLE220")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x6312")]),t._v(" "),v("td",[t._v("QLogic ISP6312")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x6322")]),t._v(" "),v("td",[t._v("QLogic ISP6322")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x8001")]),t._v(" "),v("td",[t._v("QLogic ISP8001 / QLE81xx")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x8021")]),t._v(" "),v("td",[t._v("QLogic ISP8021 / QLE82xx")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x8022")]),t._v(" "),v("td",[t._v("QLogic ISP8022")]),t._v(" "),v("td",[t._v("qla4xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x8032")]),t._v(" "),v("td",[t._v("QLogic ISP8324")]),t._v(" "),v("td",[t._v("qla4xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x8042")]),t._v(" "),v("td",[t._v("QLogic ISP8042")]),t._v(" "),v("td",[t._v("qla4xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x8044")]),t._v(" "),v("td",[t._v("QLogic ISP8044 / QLE84xx")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x8432")]),t._v(" "),v("td",[t._v("QLogic ISP8432 / QLE8000")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0xF001")]),t._v(" "),v("td",[t._v("QLogic ISPF001 / QLE10000")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0x1AE5")]),t._v(" "),v("td",[t._v("FIREFLY")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xE100")]),t._v(" "),v("td",[t._v("PROTEUS VF")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xE131")]),t._v(" "),v("td",[t._v("BALIUS")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xE180")]),t._v(" "),v("td",[t._v("PROTEUS PF")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xE208")]),t._v(" "),v("td",[t._v("LANCER_FC_VF")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xE260")]),t._v(" "),v("td",[t._v("Emulex OneConnect OCe15102-FM/OCe15104-FM/OCm15108-F-P")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xE268")]),t._v(" "),v("td",[t._v("LANCER_FCOE_VF")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF095")]),t._v(" "),v("td",[t._v("RFLY")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF098")]),t._v(" "),v("td",[t._v("PFLY")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF0A1")]),t._v(" "),v("td",[t._v("LP101")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF0A5")]),t._v(" "),v("td",[t._v("TFLY")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF0D1")]),t._v(" "),v("td",[t._v("BSMB")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF0F5")]),t._v(" "),v("td",[t._v("NEPTUNE")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF0F6")]),t._v(" "),v("td",[t._v("NEPTUNE SCSP")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF0F7")]),t._v(" "),v("td",[t._v("NEPTUNE DCSP")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF700")]),t._v(" "),v("td",[t._v("SUPERFLY")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF800")]),t._v(" "),v("td",[t._v("DRAGONFLY")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF900")]),t._v(" "),v("td",[t._v("CENTAUR")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF980")]),t._v(" "),v("td",[t._v("PEGASUS")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFA00")]),t._v(" "),v("td",[t._v("THOR")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFB00")]),t._v(" "),v("td",[t._v("VIPER")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFC00")]),t._v(" "),v("td",[t._v("LP10000S")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFC10")]),t._v(" "),v("td",[t._v("LP11000S")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFC20")]),t._v(" "),v("td",[t._v("LPE11000S")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFC50")]),t._v(" "),v("td",[t._v("PROTEUS S")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFD00")]),t._v(" "),v("td",[t._v("HELIOS")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFD11")]),t._v(" "),v("td",[t._v("HELIOS SCSP")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFD12")]),t._v(" "),v("td",[t._v("HELIOS DCSP")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFE05")]),t._v(" "),v("td",[t._v("HORNET")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x15B3:0x1002")]),t._v(" "),v("td",[t._v("Mellanox ConnectX-2 MT25400")]),t._v(" "),v("td",[t._v("mlx4_core")])]),t._v(" "),v("tr",[v("td",[t._v("0x15B3:0x6340")]),t._v(" "),v("td",[t._v("Mellanox Hermon SDR")]),t._v(" "),v("td",[t._v("mlx4_core")])]),t._v(" "),v("tr",[v("td",[t._v("0x15B3:0x634A")]),t._v(" "),v("td",[t._v("Mellanox Hermon DDR")]),t._v(" "),v("td",[t._v("mlx4_core")])]),t._v(" "),v("tr",[v("td",[t._v("0x15B3:0x6354")]),t._v(" "),v("td",[t._v("Mellanox Hermon QDR")]),t._v(" "),v("td",[t._v("mlx4_core")])]),t._v(" "),v("tr",[v("td",[t._v("0x15B3:0x6368")]),t._v(" "),v("td",[t._v("Mellanox Hermon EN 10GigE")]),t._v(" "),v("td",[t._v("mlx4_core")])]),t._v(" "),v("tr",[v("td",[t._v("0x15B3:0x6372")]),t._v(" "),v("td",[t._v("Mellanox ConnectX EN 10GBASE-T")]),t._v(" "),v("td",[t._v("mlx4_core")])]),t._v(" "),v("tr",[v("td",[t._v("0x15B3:0x6732")]),t._v(" "),v("td",[t._v("Mellanox Hermon DDR Gen2")]),t._v(" "),v("td",[t._v("mlx4_core")])]),t._v(" "),v("tr",[v("td",[t._v("0x15B3:0x673C")]),t._v(" "),v("td",[t._v("Mellanox Hermon QDR Gen2")]),t._v(" "),v("td",[t._v("mlx4_core")])]),t._v(" "),v("tr",[v("td",[t._v("0x15B3:0x6746")]),t._v(" "),v("td",[t._v("Mellanox ConnectX EN 40GigE PCIe Gen2 5GT/s")]),t._v(" "),v("td",[t._v("mlx4_core")])]),t._v(" "),v("tr",[v("td",[t._v("0x15B3:0x6750")]),t._v(" "),v("td",[t._v("Mellanox Hermon EN 10GigE Gen2")]),t._v(" "),v("td",[t._v("mlx4_core")])]),t._v(" "),v("tr",[v("td",[t._v("0x15B3:0x675A")]),t._v(" "),v("td",[t._v("Mellanox ConnectX EN 10GBASE-T Gen2")]),t._v(" "),v("td",[t._v("mlx4_core")])]),t._v(" "),v("tr",[v("td",[t._v("0x15B3:0x6764")]),t._v(" "),v("td",[t._v("Mellanox ConnectX EN 10 GigE PCIe Gen2")]),t._v(" "),v("td",[t._v("mlx4_core")])]),t._v(" "),v("tr",[v("td",[t._v("0x15B3:0x676E")]),t._v(" "),v("td",[t._v("Mellanox ConnectX-2 40GigE PCIe Gen2")]),t._v(" "),v("td",[t._v("mlx4_core")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0212")]),t._v(" "),v("td",[t._v("Emulex BladeEngine 2 10Gb iSCSI Initiator")]),t._v(" "),v("td",[t._v("be2iscsi")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0222")]),t._v(" "),v("td",[t._v("Emulex BladeEngine 3 iSCSI")]),t._v(" "),v("td",[t._v("be2iscsi")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0702")]),t._v(" "),v("td",[t._v("Emulex OneConnect OCe10101/OCm10101/OCe10102/OCm10102")]),t._v(" "),v("td",[t._v("be2iscsi")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0703")]),t._v(" "),v("td",[t._v("Emulex OneConnect OCe10100")]),t._v(" "),v("td",[t._v("be2iscsi")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0704")]),t._v(" "),v("td",[t._v("Emulex OneConnect Tigershark FCoE")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0712")]),t._v(" "),v("td",[t._v("Emulex OneConnect Tomcat iSCSI")]),t._v(" "),v("td",[t._v("be2iscsi")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0714")]),t._v(" "),v("td",[t._v("Emulex OneConnect Tomcat FCoE")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0200:0x9005:0x0200")]),t._v(" "),v("td",[t._v("Themisto Jupiter Platform")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0283:0x9005:0x0283")]),t._v(" "),v("td",[t._v("Catapult")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0284:0x9005:0x0284")]),t._v(" "),v("td",[t._v("Tomcat")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285")]),t._v(" "),v("td",[t._v("Adaptec Catch All")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x1014:0x02F2")]),t._v(" "),v("td",[t._v("IBM 8i (AvonPark)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x1014:0x0312")]),t._v(" "),v("td",[t._v("IBM 8i (AvonPark Lite)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x1028")]),t._v(" "),v("td",[t._v("Dell Catchall")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x1028:0x0287")]),t._v(" "),v("td",[t._v("Perc 320/DC")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x1028:0x0291")]),t._v(" "),v("td",[t._v("CERC SATA RAID 2 PCI SATA 6ch (DellCorsair)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x103C:0x3227")]),t._v(" "),v("td",[t._v("AAR-2610SA PCI SATA 6ch")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x17AA")]),t._v(" "),v("td",[t._v("Legend Catchall")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x17AA:0x0286")]),t._v(" "),v("td",[t._v("Legend S220 (Legend Crusader)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x17AA:0x0287")]),t._v(" "),v("td",[t._v("Legend S230 (Legend Vulcan)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0285")]),t._v(" "),v("td",[t._v("Adaptec 2200S (Vulcan)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0286")]),t._v(" "),v("td",[t._v("Adaptec 2120S (Crusader)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0287")]),t._v(" "),v("td",[t._v("Adaptec 2200S (Vulcan-2m)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0288")]),t._v(" "),v("td",[t._v("Adaptec 3230S (Harrier)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0289")]),t._v(" "),v("td",[t._v("Adaptec 3240S (Tornado)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x028A")]),t._v(" "),v("td",[t._v("ASR-2020ZCR SCSI PCI-X ZCR (Skyhawk)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x028B")]),t._v(" "),v("td",[t._v("ASR-2025ZCR SCSI SO-DIMM PCI-X ZCR (Terminator)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x028E")]),t._v(" "),v("td",[t._v("ASR-2020SA SATA PCI-X ZCR (Skyhawk)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x028F")]),t._v(" "),v("td",[t._v("ASR-2025SA SATA SO-DIMM PCI-X ZCR (Terminator)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0290")]),t._v(" "),v("td",[t._v("AAR-2410SA PCI SATA 4ch (Jaguar II)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0292")]),t._v(" "),v("td",[t._v("AAR-2810SA PCI SATA 8ch (Corsair-8)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0293")]),t._v(" "),v("td",[t._v("AAR-21610SA PCI SATA 16ch (Corsair-16)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0294")]),t._v(" "),v("td",[t._v("ESD SO-DIMM PCI-X SATA ZCR (Prowler)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0296")]),t._v(" "),v("td",[t._v("ASR-2240S (SabreExpress)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0297")]),t._v(" "),v("td",[t._v("ASR-4005")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0298")]),t._v(" "),v("td",[t._v("ASR-4000 (BlackBird)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0299")]),t._v(" "),v("td",[t._v("ASR-4800SAS (Marauder-X)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x029A")]),t._v(" "),v("td",[t._v("ASR-4805SAS (Marauder-E)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x02A4")]),t._v(" "),v("td",[t._v("ICP9085LI (Marauder-X)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x02A5")]),t._v(" "),v("td",[t._v("ICP5085BR (Marauder-E)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286")]),t._v(" "),v("td",[t._v("Adaptec Rocket Catch All")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x1014:0x9540")]),t._v(" "),v("td",[t._v("IBM 8k/8k-l4 (Aurora Lite)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x1014:0x9580")]),t._v(" "),v("td",[t._v("IBM 8k/8k-l8 (Aurora)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x028C")]),t._v(" "),v("td",[t._v("ASR-2230S/ASR-2230SLP PCI-X (Lancer)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x028D")]),t._v(" "),v("td",[t._v("ASR-2130S (Lancer)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x029B")]),t._v(" "),v("td",[t._v("AAR-2820SA (Intruder)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x029C")]),t._v(" "),v("td",[t._v("AAR-2620SA (Intruder)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x029D")]),t._v(" "),v("td",[t._v("AAR-2420SA (Intruder)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x029E")]),t._v(" "),v("td",[t._v("ICP9024RO (Lancer)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x029F")]),t._v(" "),v("td",[t._v("ICP9014RO (Lancer)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x02A0")]),t._v(" "),v("td",[t._v("ICP9047MA (Lancer)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x02A1")]),t._v(" "),v("td",[t._v("ICP9087MA (Lancer)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x02A2")]),t._v(" "),v("td",[t._v("ASR-3800 (Hurricane44)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x02A3")]),t._v(" "),v("td",[t._v("ICP5445AU (Hurricane44)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x02A6")]),t._v(" "),v("td",[t._v("ICP9067MA (Intruder-6)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x0800")]),t._v(" "),v("td",[t._v("Callisto Jupiter Platform")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0287:0x9005:0x0800")]),t._v(" "),v("td",[t._v("Themisto Jupiter Platform")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0288")]),t._v(" "),v("td",[t._v("Adaptec NEMER/ARK Catch All")]),t._v(" "),v("td",[t._v("aacraid")])])])]),t._v(" "),v("h5",{attrs:{id:"trademarks"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#trademarks"}},[t._v("#")]),t._v(" Trademarks")]),t._v(" "),v("p",[t._v("Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")])])}),[],!1,null,null,null);v.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/92.72f984d3.js b/assets/js/92.72f984d3.js new file mode 100644 index 000000000..e3022746c --- /dev/null +++ b/assets/js/92.72f984d3.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[92],{370:function(t,v,_){"use strict";_.r(v);var a=_(14),e=Object(a.a)({},(function(){var t=this,v=t._self._c;return v("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[v("h6",{attrs:{id:"last-updated-2024-05-27"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#last-updated-2024-05-27"}},[t._v("#")]),t._v(" last updated: 2024-05-27")]),t._v(" "),v("h1",{attrs:{id:"almalinux-8-10-release-notes"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-8-10-release-notes"}},[t._v("#")]),t._v(" AlmaLinux 8.10 Release Notes")]),t._v(" "),v("p",[t._v("These are the release notes for AlmaLinux OS 8.10 Stable for all supported architectures:")]),t._v(" "),v("ul",[v("li",[t._v("x86_64")]),t._v(" "),v("li",[t._v("aarch64")]),t._v(" "),v("li",[t._v("ppc64le")]),t._v(" "),v("li",[t._v("s390x")])]),t._v(" "),v("p",[t._v("Codename: Cerulean Leopard.")]),t._v(" "),v("p",[t._v("Distributed kernel version: 4.18.0-553.el8_10")]),t._v(" "),v("h2",{attrs:{id:"providing-feedback-and-getting-help"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#providing-feedback-and-getting-help"}},[t._v("#")]),t._v(" Providing Feedback and Getting Help")]),t._v(" "),v("p",[t._v("Please report any issues you may encounter during tests on the "),v("a",{attrs:{href:"https://bugs.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("AlmaLinux Bug Tracker"),v("OutboundLink")],1),t._v(". Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out "),v("a",{attrs:{href:"https://chat.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("The AlmaLinux Community Chat"),v("OutboundLink")],1),t._v(", "),v("a",{attrs:{href:"https://forums.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("The AlmaLinux Forums"),v("OutboundLink")],1),t._v(" and "),v("a",{attrs:{href:"https://reddit.com/r/almalinux",target:"_blank",rel:"noopener noreferrer"}},[t._v("The AlmaLinux Community on Reddit"),v("OutboundLink")],1),t._v(".")]),t._v(" "),v("h2",{attrs:{id:"changelog"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[t._v("#")]),t._v(" Changelog")]),t._v(" "),v("ul",[v("li",[v("p",[t._v("Updated module streams:")]),t._v(" "),v("ul",[v("li",[t._v("Python 3.12")]),t._v(" "),v("li",[t._v("Ruby 3.3")]),t._v(" "),v("li",[t._v("PHP 8.2")]),t._v(" "),v("li",[t._v("nginx 1.24")]),t._v(" "),v("li",[t._v("MariaDB 10.11")]),t._v(" "),v("li",[t._v("PostgreSQL 16")])])]),t._v(" "),v("li",[v("p",[t._v("Updated components:")]),t._v(" "),v("ul",[v("li",[t._v("Git to version 2.43.0")]),t._v(" "),v("li",[t._v("Git LFS to version 3.4.1")])])]),t._v(" "),v("li",[v("p",[t._v("Security")]),t._v(" "),v("ul",[v("li",[t._v("SCAP Security Guide 0.1.72 contains updated CIS profiles, a profile aligned with the PCI DSS policy version 4.0, and profiles for the latest DISA STIG policies.")]),t._v(" "),v("li",[t._v("The Linux kernel cryptographic API (libkcapi) 1.4.0 introduces new tools and options. Notably, with the new "),v("code",[t._v("-T")]),t._v(" option, you can specify target file names in hash-sum calculations.")]),t._v(" "),v("li",[t._v("The stunnel TLS/SSL tunneling service 5.71 changes the behavior of OpenSSL 1.1 and later versions in FIPS mode. Besides this change, version 5.71 provides many new features such as support for modern PostgreSQL clients.")]),t._v(" "),v("li",[t._v("The OpenSSL TLS toolkit now contains API-level protections against Bleichenbacher-like attacks on the RSA PKCS #1 v1.5 decryption process.")])])]),t._v(" "),v("li",[v("p",[t._v("The following device drivers were modified to re-add PCI IDs for hardware that was previously disabled in our upstream:")]),t._v(" "),v("ul",[v("li",[v("strong",[t._v("aacraid")]),t._v(" - Dell PERC2, 2/Si, 3/Si, 3/Di, Adaptec Advanced Raid Products, HP NetRAID-4M, IBM ServeRAID & ICP SCSI")]),t._v(" "),v("li",[v("strong",[t._v("be2iscsi")]),t._v(" - Emulex OneConnect Open-iSCSI for BladeEngine 2 and 3 adapters")]),t._v(" "),v("li",[v("strong",[t._v("be2net")]),t._v(" - Emulex BladeEngine 2 and 3 adapters")]),t._v(" "),v("li",[v("strong",[t._v("hpsa")]),t._v(" - HP Smart Array Controller")]),t._v(" "),v("li",[v("strong",[t._v("lpfc")]),t._v(" - Emulex LightPulse Fibre Channel SCSI")]),t._v(" "),v("li",[v("strong",[t._v("megaraid_sas")]),t._v(" - Broadcom MegaRAID SAS")]),t._v(" "),v("li",[v("strong",[t._v("mlx4_core")]),t._v(" - Mellanox Gen2 and ConnectX-2 adapters")]),t._v(" "),v("li",[v("strong",[t._v("mpt3sas")]),t._v(" - LSI MPT Fusion SAS 3.0")]),t._v(" "),v("li",[v("strong",[t._v("mptsas")]),t._v(" - Fusion MPT SAS Host")]),t._v(" "),v("li",[v("strong",[t._v("qla2xxx")]),t._v(" - QLogic Fibre Channel HBA")]),t._v(" "),v("li",[v("strong",[t._v("qla4xxx")]),t._v(" - QLogic iSCSI HBA")])])])]),t._v(" "),v("p",[t._v("As we aim to match release versions and cadences with Red Hat Enterprise Linux, you can reference the "),v("a",{attrs:{href:"https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/8.10_release_notes/index",target:"_blank",rel:"noopener noreferrer"}},[t._v("RHEL 8.10 release notes"),v("OutboundLink")],1),t._v(" for a full list of changes in this release.")]),t._v(" "),v("h2",{attrs:{id:"installation-instructions"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#installation-instructions"}},[t._v("#")]),t._v(" Installation instructions")]),t._v(" "),v("p",[t._v("There are three installation ISO images available:")]),t._v(" "),v("p",[v("code",[t._v("AlmaLinux-8.10-x86_64-boot.iso")]),t._v(" - a single network installation CD image that downloads packages over the Internet.")]),t._v(" "),v("p",[v("code",[t._v("AlmaLinux-8.10-x86_64-minimal.iso")]),t._v(" - a minimal self-containing DVD image that makes possible offline installation.")]),t._v(" "),v("p",[v("code",[t._v("AlmaLinux-8.10-x86_64-dvd.iso")]),t._v(" - a full installation DVD image that contains mostly all AlmaLinux packages.")]),t._v(" "),v("p",[t._v("You can select a mirror closest to your geographic area listed on the "),v("a",{attrs:{href:"https://mirrors.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("mirrors.almalinux.org"),v("OutboundLink")],1),t._v(" website. A local mirror will be a lot quicker than using "),v("code",[t._v("repo.almalinux.org")]),t._v(" directly. Then, download a suitable ISO image from the 8.10/isos/$arch/ directory of your source, for example:")]),t._v(" "),v("div",{staticClass:"language-bash extra-class"},[v("pre",{pre:!0,attrs:{class:"language-bash"}},[v("code",[t._v("$ "),v("span",{pre:!0,attrs:{class:"token function"}},[t._v("wget")]),t._v(" https://mirror.interserver.net/almalinux/8.10/isos/x86_64/AlmaLinux-8.10-x86_64-boot.iso\n")])])]),v("p",[t._v("Download and import the AlmaLinux public key:")]),t._v(" "),v("div",{staticClass:"language-bash extra-class"},[v("pre",{pre:!0,attrs:{class:"language-bash"}},[v("code",[t._v("$ "),v("span",{pre:!0,attrs:{class:"token function"}},[t._v("wget")]),t._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux\n$ gpg "),v("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("--import")]),t._v(" RPM-GPG-KEY-AlmaLinux\n")])])]),v("p",[t._v("Download and verify a checksums list:")]),t._v(" "),v("div",{staticClass:"language-bash extra-class"},[v("pre",{pre:!0,attrs:{class:"language-bash"}},[v("code",[t._v("$ "),v("span",{pre:!0,attrs:{class:"token function"}},[t._v("wget")]),t._v(" https://repo.almalinux.org/almalinux/8.10/isos/x86_64/CHECKSUM\n\n"),v("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# we are looking for “Good signature”")]),t._v("\n$ gpg "),v("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("--verify")]),t._v(" CHECKSUM\ngpg: Signature made Sat "),v("span",{pre:!0,attrs:{class:"token number"}},[t._v("25")]),t._v(" May "),v("span",{pre:!0,attrs:{class:"token number"}},[t._v("2024")]),t._v(" 04:03:41 AM EDT\ngpg: using RSA key BC5EDDCADF502C077F1582882AE81E8ACED7258B\ngpg: Good signature from "),v("span",{pre:!0,attrs:{class:"token string"}},[t._v('"AlmaLinux OS 8 "')]),t._v(" "),v("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("unknown"),v("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\ngpg: WARNING: This key is not certified with a trusted signature"),v("span",{pre:!0,attrs:{class:"token operator"}},[t._v("!")]),t._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: BC5E DDCA DF50 2C07 7F15 "),v("span",{pre:!0,attrs:{class:"token number"}},[t._v("8288")]),t._v(" 2AE8 1E8A CED7 258B\n")])])]),v("p",[t._v("Verify the downloaded ISO image checksum:")]),t._v(" "),v("div",{staticClass:"language-bash extra-class"},[v("pre",{pre:!0,attrs:{class:"language-bash"}},[v("code",[v("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# calculate the downloaded ISO SHA256 checksum")]),t._v("\n$ sha256sum AlmaLinux-8.10-x86_64-boot.iso\ncc3e61faf2dd6c9c80d3beeb47eaaba235ac13fe1b617209c3c1e546528ccb99 AlmaLinux-8.10-x86_64-boot.iso\n\n"),v("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# compare it with expected checksum, it should be the same")]),t._v("\n$ "),v("span",{pre:!0,attrs:{class:"token function"}},[t._v("cat")]),t._v(" CHECKSUM "),v("span",{pre:!0,attrs:{class:"token operator"}},[t._v("|")]),t._v(" "),v("span",{pre:!0,attrs:{class:"token function"}},[t._v("grep")]),t._v(" "),v("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-E")]),t._v(" "),v("span",{pre:!0,attrs:{class:"token string"}},[t._v("'SHA256.*AlmaLinux-8.10-x86_64-boot.iso'")]),t._v("\nSHA256 "),v("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("AlmaLinux-8.10-x86_64-boot.iso"),v("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),v("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" cc3e61faf2dd6c9c80d3beeb47eaaba235ac13fe1b617209c3c1e546528ccb99\n")])])]),v("p",[t._v("If you decide to use the "),v("code",[t._v("AlmaLinux-8.10-x86_64-boot.iso")]),t._v(" image, you will need to provide the "),v("code",[t._v("8.10/BaseOS/x86_64/kickstart/")]),t._v(" URL repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.")]),t._v(" "),v("p",[t._v("There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.")]),t._v(" "),v("h2",{attrs:{id:"upgrade-instructions"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-instructions"}},[t._v("#")]),t._v(" Upgrade Instructions")]),t._v(" "),v("p",[t._v("To update your AlmaLinux OS 8 to 8.10 run:")]),t._v(" "),v("div",{staticClass:"language-bash extra-class"},[v("pre",{pre:!0,attrs:{class:"language-bash"}},[v("code",[t._v("$ dnf upgrade "),v("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-y")]),t._v("\n")])])]),v("h2",{attrs:{id:"_8-10-beta-testers"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_8-10-beta-testers"}},[t._v("#")]),t._v(" 8.10 Beta Testers")]),t._v(" "),v("p",[t._v("To update your AlmaLinux 0S 8.10 beta to 8.10 run:")]),t._v(" "),v("div",{staticClass:"language-bash extra-class"},[v("pre",{pre:!0,attrs:{class:"language-bash"}},[v("code",[t._v("$ "),v("span",{pre:!0,attrs:{class:"token function"}},[t._v("rpm")]),t._v(" "),v("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-i")]),t._v(" https://repo.almalinux.org/almalinux/8.10/BaseOS/x86_64/os/Packages/almalinux-repos-8.10-1.el8.x86_64.rpm "),v("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("--replacefiles")]),t._v("\n$ dnf upgrade "),v("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-y")]),t._v("\n")])])]),v("h2",{attrs:{id:"added-packages"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#added-packages"}},[t._v("#")]),t._v(" Added packages")]),t._v(" "),v("p",[t._v("Here is a list of added packages in comparison with upstream distribution.")]),t._v(" "),v("table",[v("thead",[v("tr",[v("th",[t._v("Package")]),t._v(" "),v("th",[t._v("Description")])])]),t._v(" "),v("tbody",[v("tr",[v("td",[t._v("almalinux-backgrounds")]),t._v(" "),v("td",[t._v("AlmaLinux background images."),v("br"),t._v("Replaces "),v("code",[t._v("redhat-backgrounds")])])]),t._v(" "),v("tr",[v("td",[t._v("almalinux-indexhtml")]),t._v(" "),v("td",[t._v("AlmaLinux default browser page"),v("br"),t._v("Replaces "),v("code",[t._v("redhat-indexhtml")])])]),t._v(" "),v("tr",[v("td",[t._v("almalinux-logos")]),t._v(" "),v("td",[t._v("AlmaLinux graphics for OS"),v("br"),t._v("Replaces "),v("code",[t._v("redhat-logos")])])]),t._v(" "),v("tr",[v("td",[t._v("almalinux-logos-httpd")]),t._v(" "),v("td",[t._v("AlmaLinux graphics for HTTPD server"),v("br"),t._v("Replaces "),v("code",[t._v("redhat-logos-httpd")])])]),t._v(" "),v("tr",[v("td",[t._v("almalinux-logos-ipa")]),t._v(" "),v("td",[t._v("AlmaLinux graphics for IPA server"),v("br"),t._v("Replaces "),v("code",[t._v("redhat-logos-ipa")])])]),t._v(" "),v("tr",[v("td",[t._v("almalinux-release")]),t._v(" "),v("td",[t._v("AlmaLinux release package, repos, and EULA"),v("br"),t._v("Replaces "),v("code",[t._v("redhat-release")]),t._v(" and "),v("code",[t._v("redhat-release-eula")])])])])]),t._v(" "),v("h2",{attrs:{id:"removed-packages"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#removed-packages"}},[t._v("#")]),t._v(" Removed packages")]),t._v(" "),v("p",[t._v("Here is a list of packages you will not find in AlmaLinux when comparing with the compatible version of RHEL.")]),t._v(" "),v("p",[t._v("AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join "),v("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/engineeringpackaging",target:"_blank",rel:"noopener noreferrer"}},[t._v("AlmaLinux Chat"),v("OutboundLink")],1),t._v(" as well as filing a bug report at "),v("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("AlmaLinux Bug Tracker"),v("OutboundLink")],1),t._v(" to discuss if you think any of the packages below should be included into the repos.")]),t._v(" "),v("table",[v("thead",[v("tr",[v("th",[t._v("Package")]),t._v(" "),v("th",[t._v("Description")])])]),t._v(" "),v("tbody",[v("tr",[v("td",[t._v("insights-client")]),t._v(" "),v("td",[t._v("RHEL specific package to connect to upstream vendor resources")])]),t._v(" "),v("tr",[v("td",[t._v("kmod-redhat-*")]),t._v(" "),v("td",[t._v("RHEL specific modules from Driver Update Program")])]),t._v(" "),v("tr",[v("td",[t._v("kpatch*")]),t._v(" "),v("td",[t._v("RHEL specific live patches for kernel")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-backgrounds")]),t._v(" "),v("td",[t._v("RHEL specific background images")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-indexhtml")]),t._v(" "),v("td",[t._v("RHEL specific default browser page")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-logos")]),t._v(" "),v("td",[t._v("RHEL specific graphics for OS")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-logos-httpd")]),t._v(" "),v("td",[t._v("RHEL specific graphics for HTTPD server")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-logos-ipa")]),t._v(" "),v("td",[t._v("RHEL specific graphics for IPA server")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-release")]),t._v(" "),v("td",[t._v("RHEL specific release package and repos")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-release-eula")]),t._v(" "),v("td",[t._v("RHEL specific EULA")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-support-lib-python")]),t._v(" "),v("td",[t._v("RHEL specific package to connect to upstream vendor resources")])]),t._v(" "),v("tr",[v("td",[t._v("redhat-support-tool")]),t._v(" "),v("td",[t._v("RHEL specific package to connect to upstream vendor resources")])]),t._v(" "),v("tr",[v("td",[t._v("rhc")]),t._v(" "),v("td",[t._v("RHEL specific package to connect to upstream vendor resources")])]),t._v(" "),v("tr",[v("td",[t._v("rhc-worker-playbook")]),t._v(" "),v("td",[t._v("RHEL specific package to connect to upstream vendor resources")])]),t._v(" "),v("tr",[v("td",[t._v("rhsm-gtk")]),t._v(" "),v("td",[t._v("RHEL specific GUI for Subscription Manager")])]),t._v(" "),v("tr",[v("td",[t._v("rhsm-icons")]),t._v(" "),v("td",[t._v("RHEL specific GUI for Subscription Manager")])]),t._v(" "),v("tr",[v("td",[t._v("spice-client-win-x64")]),t._v(" "),v("td",[t._v("Contains binaries built by upstream vendor")])]),t._v(" "),v("tr",[v("td",[t._v("spice-client-win-x86")]),t._v(" "),v("td",[t._v("Contains binaries built by upstream vendor")])]),t._v(" "),v("tr",[v("td",[t._v("spice-qxl-wddm-dod")]),t._v(" "),v("td",[t._v("Contains binaries built by upstream vendor")])]),t._v(" "),v("tr",[v("td",[t._v("spice-vdagent-win-x64")]),t._v(" "),v("td",[t._v("Contains binaries built by upstream vendor")])]),t._v(" "),v("tr",[v("td",[t._v("spice-vdagent-win-x86")]),t._v(" "),v("td",[t._v("Contains binaries built by upstream vendor")])]),t._v(" "),v("tr",[v("td",[t._v("subscription-manager-cockpit")]),t._v(" "),v("td",[t._v("RHEL specific Cockpit module for Subscription Manager")])]),t._v(" "),v("tr",[v("td",[t._v("subscription-manager-initial-setup-addon")]),t._v(" "),v("td",[t._v("RHEL specific initial setup addon for Subscription Manager")])]),t._v(" "),v("tr",[v("td",[t._v("subscription-manager-plugin-container")]),t._v(" "),v("td",[t._v("RHEL specific Subscription Manager plugin for upstream vendor containers")])]),t._v(" "),v("tr",[v("td",[t._v("virt-who")]),t._v(" "),v("td",[t._v("RHEL specific package to connect to upstream vendor resources")])]),t._v(" "),v("tr",[v("td",[t._v("virtio-win")]),t._v(" "),v("td",[t._v("Contain binaries built by upstream vendor")])])])]),t._v(" "),v("h2",{attrs:{id:"extended-hardware-support"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#extended-hardware-support"}},[t._v("#")]),t._v(" Extended hardware support")]),t._v(" "),v("p",[t._v("The following devices support is added in this release, when compared with the RHEL 8.10:")]),t._v(" "),v("table",[v("thead",[v("tr",[v("th",[t._v("Device PCI ID")]),t._v(" "),v("th",[t._v("Device name")]),t._v(" "),v("th",[t._v("Driver name")])])]),t._v(" "),v("tbody",[v("tr",[v("td",[t._v("0x0E11:"),v("em",[t._v(":")]),t._v(": *:01:04")]),t._v(" "),v("td",[t._v("Compaq")]),t._v(" "),v("td",[t._v("hpsa")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0050")]),t._v(" "),v("td",[t._v("LSI SAS1064")]),t._v(" "),v("td",[t._v("mptsas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0054")]),t._v(" "),v("td",[t._v("LSI SAS1068")]),t._v(" "),v("td",[t._v("mptsas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0056")]),t._v(" "),v("td",[t._v("LSI SAS1064E")]),t._v(" "),v("td",[t._v("mptsas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0058")]),t._v(" "),v("td",[t._v("LSI SAS1068E")]),t._v(" "),v("td",[t._v("mptsas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0059")]),t._v(" "),v("td",[t._v("LSI SAS1068_820XELP")]),t._v(" "),v("td",[t._v("mptsas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0060")]),t._v(" "),v("td",[t._v("LSI MegaRAID SAS1078R")]),t._v(" "),v("td",[t._v("megaraid_sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0062")]),t._v(" "),v("td",[t._v("LSI SAS1078")]),t._v(" "),v("td",[t._v("mptsas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0064")]),t._v(" "),v("td",[t._v("LSI SAS2116_1")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0065")]),t._v(" "),v("td",[t._v("LSI SAS2116_2")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0070")]),t._v(" "),v("td",[t._v("LSI SAS2004")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0072")]),t._v(" "),v("td",[t._v("LSI SAS2008")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0074")]),t._v(" "),v("td",[t._v("LSI SAS2108_1")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0076")]),t._v(" "),v("td",[t._v("LSI SAS2108_2")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0077")]),t._v(" "),v("td",[t._v("LSI SAS2108_3")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0078")]),t._v(" "),v("td",[t._v("LSI MegaRAID SAS1078 Gen2")]),t._v(" "),v("td",[t._v("megaraid_sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x007C")]),t._v(" "),v("td",[t._v("LSI MegaRAID SAS1078DE")]),t._v(" "),v("td",[t._v("megaraid_sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x007E")]),t._v(" "),v("td",[t._v("LSI SSS6200")]),t._v(" "),v("td",[t._v("mpt3sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0411")]),t._v(" "),v("td",[t._v("LSI MegaRAID SAS1064R")]),t._v(" "),v("td",[t._v("megaraid_sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1000:0x0413")]),t._v(" "),v("td",[t._v("LSI MegaRAID SAS1068 Verde ZCR")]),t._v(" "),v("td",[t._v("megaraid_sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x1011:0x0046:0x103C:0x10C2")]),t._v(" "),v("td",[t._v("HP NetRAID-4M")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1011:0x0046:0x9005:0x0364")]),t._v(" "),v("td",[t._v("Adaptec 5400S (Mustang)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1011:0x0046:0x9005:0x0365")]),t._v(" "),v("td",[t._v("Adaptec 5400S (Mustang)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1011:0x0046:0x9005:0x1364")]),t._v(" "),v("td",[t._v("Dell PERC 2/QC")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x0001:0x1028:0x0001")]),t._v(" "),v("td",[t._v("DELL PERC 2/Si (Iguana)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x0002:0x1028:0x0002")]),t._v(" "),v("td",[t._v("DELL PERC 3/Di (Opal)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x0002:0x1028:0x00D1")]),t._v(" "),v("td",[t._v("DELL PERC 3/Di (Viper)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x0002:0x1028:0x00D9")]),t._v(" "),v("td",[t._v("DELL PERC 3/Di (Lexus)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x0003:0x1028:0x0003")]),t._v(" "),v("td",[t._v("DELL PERC 3/Si (SlimFast)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x0004:0x1028:0x00D0")]),t._v(" "),v("td",[t._v("DELL PERC 3/Di (Iguana FlipChip)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x000A:0x1028:0x0106")]),t._v(" "),v("td",[t._v("DELL PERC 3/Di (Jaguar)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x000A:0x1028:0x011B")]),t._v(" "),v("td",[t._v("DELL PERC 3/Di (Dagger)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x000A:0x1028:0x0121")]),t._v(" "),v("td",[t._v("DELL PERC 3/Di (Boxster)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x1028:0x0015")]),t._v(" "),v("td",[t._v("Dell PERC5")]),t._v(" "),v("td",[t._v("megaraid_sas")])]),t._v(" "),v("tr",[v("td",[t._v("0x103C:"),v("em",[t._v(":")]),t._v(": *:01:04")]),t._v(" "),v("td",[t._v("HP")]),t._v(" "),v("td",[t._v("hpsa")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x2100")]),t._v(" "),v("td",[t._v("QLogic ISP2100")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x2200")]),t._v(" "),v("td",[t._v("QLogic ISP2200")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x2300")]),t._v(" "),v("td",[t._v("QLogic ISP2300")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x2312")]),t._v(" "),v("td",[t._v("QLogic ISP2312")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x2322")]),t._v(" "),v("td",[t._v("QLogic ISP2322")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x2422")]),t._v(" "),v("td",[t._v("QLogic ISP2422")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x2432")]),t._v(" "),v("td",[t._v("QLogic ISP2432")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x5422")]),t._v(" "),v("td",[t._v("QLogic ISP5422")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x5432")]),t._v(" "),v("td",[t._v("QLogic ISP5432 / QLE220")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x6312")]),t._v(" "),v("td",[t._v("QLogic ISP6312")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x6322")]),t._v(" "),v("td",[t._v("QLogic ISP6322")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x8001")]),t._v(" "),v("td",[t._v("QLogic ISP8001 / QLE81xx")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x8021")]),t._v(" "),v("td",[t._v("QLogic ISP8021 / QLE82xx")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x8022")]),t._v(" "),v("td",[t._v("QLogic ISP8022")]),t._v(" "),v("td",[t._v("qla4xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x8032")]),t._v(" "),v("td",[t._v("QLogic ISP8324")]),t._v(" "),v("td",[t._v("qla4xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x8042")]),t._v(" "),v("td",[t._v("QLogic ISP8042")]),t._v(" "),v("td",[t._v("qla4xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x8044")]),t._v(" "),v("td",[t._v("QLogic ISP8044 / QLE84xx")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0x8432")]),t._v(" "),v("td",[t._v("QLogic ISP8432 / QLE8000")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x1077:0xF001")]),t._v(" "),v("td",[t._v("QLogic ISPF001 / QLE10000")]),t._v(" "),v("td",[t._v("qla2xxx")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0x1AE5")]),t._v(" "),v("td",[t._v("FIREFLY")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xE100")]),t._v(" "),v("td",[t._v("PROTEUS VF")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xE131")]),t._v(" "),v("td",[t._v("BALIUS")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xE180")]),t._v(" "),v("td",[t._v("PROTEUS PF")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xE208")]),t._v(" "),v("td",[t._v("LANCER_FC_VF")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xE260")]),t._v(" "),v("td",[t._v("Emulex OneConnect OCe15102-FM/OCe15104-FM/OCm15108-F-P")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xE268")]),t._v(" "),v("td",[t._v("LANCER_FCOE_VF")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF095")]),t._v(" "),v("td",[t._v("RFLY")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF098")]),t._v(" "),v("td",[t._v("PFLY")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF0A1")]),t._v(" "),v("td",[t._v("LP101")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF0A5")]),t._v(" "),v("td",[t._v("TFLY")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF0D1")]),t._v(" "),v("td",[t._v("BSMB")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF0F5")]),t._v(" "),v("td",[t._v("NEPTUNE")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF0F6")]),t._v(" "),v("td",[t._v("NEPTUNE SCSP")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF0F7")]),t._v(" "),v("td",[t._v("NEPTUNE DCSP")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF700")]),t._v(" "),v("td",[t._v("SUPERFLY")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF800")]),t._v(" "),v("td",[t._v("DRAGONFLY")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF900")]),t._v(" "),v("td",[t._v("CENTAUR")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xF980")]),t._v(" "),v("td",[t._v("PEGASUS")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFA00")]),t._v(" "),v("td",[t._v("THOR")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFB00")]),t._v(" "),v("td",[t._v("VIPER")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFC00")]),t._v(" "),v("td",[t._v("LP10000S")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFC10")]),t._v(" "),v("td",[t._v("LP11000S")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFC20")]),t._v(" "),v("td",[t._v("LPE11000S")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFC50")]),t._v(" "),v("td",[t._v("PROTEUS S")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFD00")]),t._v(" "),v("td",[t._v("HELIOS")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFD11")]),t._v(" "),v("td",[t._v("HELIOS SCSP")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFD12")]),t._v(" "),v("td",[t._v("HELIOS DCSP")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x10DF:0xFE05")]),t._v(" "),v("td",[t._v("HORNET")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x15B3:0x1002")]),t._v(" "),v("td",[t._v("Mellanox ConnectX-2 MT25400")]),t._v(" "),v("td",[t._v("mlx4_core")])]),t._v(" "),v("tr",[v("td",[t._v("0x15B3:0x6340")]),t._v(" "),v("td",[t._v("Mellanox Hermon SDR")]),t._v(" "),v("td",[t._v("mlx4_core")])]),t._v(" "),v("tr",[v("td",[t._v("0x15B3:0x634A")]),t._v(" "),v("td",[t._v("Mellanox Hermon DDR")]),t._v(" "),v("td",[t._v("mlx4_core")])]),t._v(" "),v("tr",[v("td",[t._v("0x15B3:0x6354")]),t._v(" "),v("td",[t._v("Mellanox Hermon QDR")]),t._v(" "),v("td",[t._v("mlx4_core")])]),t._v(" "),v("tr",[v("td",[t._v("0x15B3:0x6368")]),t._v(" "),v("td",[t._v("Mellanox Hermon EN 10GigE")]),t._v(" "),v("td",[t._v("mlx4_core")])]),t._v(" "),v("tr",[v("td",[t._v("0x15B3:0x6372")]),t._v(" "),v("td",[t._v("Mellanox ConnectX EN 10GBASE-T")]),t._v(" "),v("td",[t._v("mlx4_core")])]),t._v(" "),v("tr",[v("td",[t._v("0x15B3:0x6732")]),t._v(" "),v("td",[t._v("Mellanox Hermon DDR Gen2")]),t._v(" "),v("td",[t._v("mlx4_core")])]),t._v(" "),v("tr",[v("td",[t._v("0x15B3:0x673C")]),t._v(" "),v("td",[t._v("Mellanox Hermon QDR Gen2")]),t._v(" "),v("td",[t._v("mlx4_core")])]),t._v(" "),v("tr",[v("td",[t._v("0x15B3:0x6746")]),t._v(" "),v("td",[t._v("Mellanox ConnectX EN 40GigE PCIe Gen2 5GT/s")]),t._v(" "),v("td",[t._v("mlx4_core")])]),t._v(" "),v("tr",[v("td",[t._v("0x15B3:0x6750")]),t._v(" "),v("td",[t._v("Mellanox Hermon EN 10GigE Gen2")]),t._v(" "),v("td",[t._v("mlx4_core")])]),t._v(" "),v("tr",[v("td",[t._v("0x15B3:0x675A")]),t._v(" "),v("td",[t._v("Mellanox ConnectX EN 10GBASE-T Gen2")]),t._v(" "),v("td",[t._v("mlx4_core")])]),t._v(" "),v("tr",[v("td",[t._v("0x15B3:0x6764")]),t._v(" "),v("td",[t._v("Mellanox ConnectX EN 10 GigE PCIe Gen2")]),t._v(" "),v("td",[t._v("mlx4_core")])]),t._v(" "),v("tr",[v("td",[t._v("0x15B3:0x676E")]),t._v(" "),v("td",[t._v("Mellanox ConnectX-2 40GigE PCIe Gen2")]),t._v(" "),v("td",[t._v("mlx4_core")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0211")]),t._v(" "),v("td",[t._v("Emulex BladeEngine 2 Network Adapter")]),t._v(" "),v("td",[t._v("be2net")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0212")]),t._v(" "),v("td",[t._v("Emulex BladeEngine 2 10Gb iSCSI Initiator")]),t._v(" "),v("td",[t._v("be2iscsi")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0221")]),t._v(" "),v("td",[t._v("Emulex BladeEngine3 Network Adapter")]),t._v(" "),v("td",[t._v("be2net")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0222")]),t._v(" "),v("td",[t._v("Emulex BladeEngine 3 iSCSI")]),t._v(" "),v("td",[t._v("be2iscsi")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0700")]),t._v(" "),v("td",[t._v("Emulex OneConnect Tigershark NIC")]),t._v(" "),v("td",[t._v("be2net")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0702")]),t._v(" "),v("td",[t._v("Emulex OneConnect OCe10101/OCm10101/OCe10102/OCm10102")]),t._v(" "),v("td",[t._v("be2iscsi")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0703")]),t._v(" "),v("td",[t._v("Emulex OneConnect OCe10100")]),t._v(" "),v("td",[t._v("be2iscsi")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0704")]),t._v(" "),v("td",[t._v("Emulex OneConnect Tigershark FCoE")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0710")]),t._v(" "),v("td",[t._v("Emulex OneConnect Tomcat NIC")]),t._v(" "),v("td",[t._v("be2net")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0712")]),t._v(" "),v("td",[t._v("Emulex OneConnect Tomcat iSCSI")]),t._v(" "),v("td",[t._v("be2iscsi")])]),t._v(" "),v("tr",[v("td",[t._v("0x19A2:0x0714")]),t._v(" "),v("td",[t._v("Emulex OneConnect Tomcat FCoE")]),t._v(" "),v("td",[t._v("lpfc")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0200:0x9005:0x0200")]),t._v(" "),v("td",[t._v("Themisto Jupiter Platform")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0283:0x9005:0x0283")]),t._v(" "),v("td",[t._v("Catapult")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0284:0x9005:0x0284")]),t._v(" "),v("td",[t._v("Tomcat")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285")]),t._v(" "),v("td",[t._v("Adaptec Catch All")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x1014:0x02F2")]),t._v(" "),v("td",[t._v("IBM 8i (AvonPark)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x1014:0x0312")]),t._v(" "),v("td",[t._v("IBM 8i (AvonPark Lite)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x1028")]),t._v(" "),v("td",[t._v("Dell Catchall")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x1028:0x0287")]),t._v(" "),v("td",[t._v("Perc 320/DC")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x1028:0x0291")]),t._v(" "),v("td",[t._v("CERC SATA RAID 2 PCI SATA 6ch (DellCorsair)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x103C:0x3227")]),t._v(" "),v("td",[t._v("AAR-2610SA PCI SATA 6ch")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x17AA")]),t._v(" "),v("td",[t._v("Legend Catchall")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x17AA:0x0286")]),t._v(" "),v("td",[t._v("Legend S220 (Legend Crusader)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x17AA:0x0287")]),t._v(" "),v("td",[t._v("Legend S230 (Legend Vulcan)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0285")]),t._v(" "),v("td",[t._v("Adaptec 2200S (Vulcan)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0286")]),t._v(" "),v("td",[t._v("Adaptec 2120S (Crusader)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0287")]),t._v(" "),v("td",[t._v("Adaptec 2200S (Vulcan-2m)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0288")]),t._v(" "),v("td",[t._v("Adaptec 3230S (Harrier)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0289")]),t._v(" "),v("td",[t._v("Adaptec 3240S (Tornado)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x028A")]),t._v(" "),v("td",[t._v("ASR-2020ZCR SCSI PCI-X ZCR (Skyhawk)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x028B")]),t._v(" "),v("td",[t._v("ASR-2025ZCR SCSI SO-DIMM PCI-X ZCR (Terminator)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x028E")]),t._v(" "),v("td",[t._v("ASR-2020SA SATA PCI-X ZCR (Skyhawk)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x028F")]),t._v(" "),v("td",[t._v("ASR-2025SA SATA SO-DIMM PCI-X ZCR (Terminator)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0290")]),t._v(" "),v("td",[t._v("AAR-2410SA PCI SATA 4ch (Jaguar II)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0292")]),t._v(" "),v("td",[t._v("AAR-2810SA PCI SATA 8ch (Corsair-8)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0293")]),t._v(" "),v("td",[t._v("AAR-21610SA PCI SATA 16ch (Corsair-16)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0294")]),t._v(" "),v("td",[t._v("ESD SO-DIMM PCI-X SATA ZCR (Prowler)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0296")]),t._v(" "),v("td",[t._v("ASR-2240S (SabreExpress)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0297")]),t._v(" "),v("td",[t._v("ASR-4005")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0298")]),t._v(" "),v("td",[t._v("ASR-4000 (BlackBird)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x0299")]),t._v(" "),v("td",[t._v("ASR-4800SAS (Marauder-X)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x029A")]),t._v(" "),v("td",[t._v("ASR-4805SAS (Marauder-E)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x02A4")]),t._v(" "),v("td",[t._v("ICP9085LI (Marauder-X)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0285:0x9005:0x02A5")]),t._v(" "),v("td",[t._v("ICP5085BR (Marauder-E)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286")]),t._v(" "),v("td",[t._v("Adaptec Rocket Catch All")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x1014:0x9540")]),t._v(" "),v("td",[t._v("IBM 8k/8k-l4 (Aurora Lite)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x1014:0x9580")]),t._v(" "),v("td",[t._v("IBM 8k/8k-l8 (Aurora)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x028C")]),t._v(" "),v("td",[t._v("ASR-2230S/ASR-2230SLP PCI-X (Lancer)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x028D")]),t._v(" "),v("td",[t._v("ASR-2130S (Lancer)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x029B")]),t._v(" "),v("td",[t._v("AAR-2820SA (Intruder)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x029C")]),t._v(" "),v("td",[t._v("AAR-2620SA (Intruder)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x029D")]),t._v(" "),v("td",[t._v("AAR-2420SA (Intruder)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x029E")]),t._v(" "),v("td",[t._v("ICP9024RO (Lancer)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x029F")]),t._v(" "),v("td",[t._v("ICP9014RO (Lancer)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x02A0")]),t._v(" "),v("td",[t._v("ICP9047MA (Lancer)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x02A1")]),t._v(" "),v("td",[t._v("ICP9087MA (Lancer)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x02A2")]),t._v(" "),v("td",[t._v("ASR-3800 (Hurricane44)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x02A3")]),t._v(" "),v("td",[t._v("ICP5445AU (Hurricane44)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x02A6")]),t._v(" "),v("td",[t._v("ICP9067MA (Intruder-6)")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0286:0x9005:0x0800")]),t._v(" "),v("td",[t._v("Callisto Jupiter Platform")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0287:0x9005:0x0800")]),t._v(" "),v("td",[t._v("Themisto Jupiter Platform")]),t._v(" "),v("td",[t._v("aacraid")])]),t._v(" "),v("tr",[v("td",[t._v("0x9005:0x0288")]),t._v(" "),v("td",[t._v("Adaptec NEMER/ARK Catch All")]),t._v(" "),v("td",[t._v("aacraid")])])])]),t._v(" "),v("h5",{attrs:{id:"trademarks"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#trademarks"}},[t._v("#")]),t._v(" Trademarks")]),t._v(" "),v("p",[t._v("Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")])])}),[],!1,null,null,null);v.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/93.111ad739.js b/assets/js/93.111ad739.js new file mode 100644 index 000000000..ee8f48c4e --- /dev/null +++ b/assets/js/93.111ad739.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[93],{377:function(e,a,t){"use strict";t.r(a);var r=t(14),n=Object(r.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"almalinux-8-3-rc-release-notes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-8-3-rc-release-notes"}},[e._v("#")]),e._v(" AlmaLinux 8.3 RC release notes")]),e._v(" "),a("p",[e._v("Distributed kernel version: 4.18.0-240.")]),e._v(" "),a("h2",{attrs:{id:"installation-instructions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#installation-instructions"}},[e._v("#")]),e._v(" Installation instructions")]),e._v(" "),a("p",[e._v("There are three installation ISO images available:")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-8.3-rc-1-x86_64-boot.iso")]),e._v(" - a single network installation CD image\nthat downloads packages over the Internet.")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-8.3-rc-1-x86_64-minimal.iso")]),e._v(" - a minimal self-containing DVD image\nthat makes possible offline installation.")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-8.3-rc-1-x86_64-dvd1.iso")]),e._v(" - a full installation DVD image that\ncontains mostly all AlmaLinux packages.")]),e._v(" "),a("p",[e._v("Select a mirror listed on the\n"),a("a",{attrs:{href:"https://mirrors.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("mirrors.almalinux.org"),a("OutboundLink")],1),e._v(" website (please,\ndon't use the "),a("code",[e._v("repo.almalinux.org")]),e._v(" host directly) and download a suitable ISO\nimage from the "),a("code",[e._v("8.3-rc/isos/x86_64/")]),e._v(" directory, for example:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://mirror.interserver.net/almalinux/8.3-rc/isos/x86_64/AlmaLinux-8.3-rc-1-x86_64-boot.iso\n")])])]),a("p",[e._v("Download and import the AlmaLinux public key:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux\n$ gpg "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" RPM-GPG-KEY-AlmaLinux\n")])])]),a("p",[e._v("Download and verify a checksums list:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/8.3-rc/isos/x86_64/CHECKSUM\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# we are looking for “Good signature” ")]),e._v("\n$ gpg "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--verify")]),e._v(" CHECKSUM \n gpg: Signature made Fri "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("19")]),e._v(" Feb "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("2021")]),e._v(" 03:04:44 PM MSK\n gpg: using RSA key 51D6647EC21AD6EA\n gpg: Good signature from "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux "')]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("unknown"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\n gpg: WARNING: This key is not certified with a trusted signature"),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("!")]),e._v("\n gpg: There is no indication that the signature belongs to the owner.\n Primary key fingerprint: 5E9B 8F56 17B5 066C E920 57C3 488F CF7C 3ABB 34F8\n Subkey fingerprint: E53C F5EF 91CE B0AD "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("1812")]),e._v(" ECB8 51D6 647E C21A D6EA\n")])])]),a("p",[e._v("Verify the downloaded ISO image checksum:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# calculate the downloaded ISO SHA256 checksum")]),e._v("\n$ sha256sum AlmaLinux-8.3-rc-1-x86_64-boot.iso \n1bf9bff6af3413f8f273e54c11fb45f7da63afea670eafc50dde22c45582be7a AlmaLinux-8.3-rc-1-x86_64-boot.iso\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# compare it with expected checksum, it should be the same")]),e._v("\n$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" CHECKSUM "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-E")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'SHA256.*AlmaLinux-8.3-rc-1-x86_64-boot.iso'")]),e._v("\nSHA256 "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("AlmaLinux-8.3-rc-1-x86_64-boot.iso"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" 1bf9bff6af3413f8f273e54c11fb45f7da63afea670eafc50dde22c45582be7a\n")])])]),a("p",[e._v("If you decided to use the "),a("code",[e._v("AlmaLinux-8.3-rc-1-x86_64-boot.iso")]),e._v(" image, you will\nneed to provide the "),a("code",[e._v("8.3-rc/BaseOS/x86_64/kickstart/")]),e._v(" repository from the\nselected mirror as the Installation Source.")]),e._v(" "),a("p",[e._v("There are no extra Installation Sources required if you decided to go with\neither minimal or dvd ISO images.")]),e._v(" "),a("h2",{attrs:{id:"upgrade-instructions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-instructions"}},[e._v("#")]),e._v(" Upgrade instructions")]),e._v(" "),a("p",[e._v("Upgrade the almalinux-release package to the 8.3-3.el8 version from the beta\nrepositories:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ dnf clean all "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("&&")]),e._v(" dnf upgrade "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v(" almalinux-release\n")])])]),a("p",[e._v("the new package contains updated repository URLs so that you can just run:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ dnf upgrade "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v("\n")])])]),a("p",[e._v("to update the rest of the packages.")]),e._v(" "),a("h2",{attrs:{id:"changelog"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[e._v("#")]),e._v(" Changelog")]),e._v(" "),a("ul",[a("li",[e._v("The dnf package manager now uses AlmaLinux public mirrors by default. The\ncurrent list of public mirrors can be found on the\n"),a("a",{attrs:{href:"https://mirrors.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("mirrors.almalinux.org"),a("OutboundLink")],1),e._v(" website.")]),e._v(" "),a("li",[e._v("The "),a("code",[e._v("HighAvailability")]),e._v(" repo is added. It’s disabled by default and can be\nenabled by the "),a("code",[e._v("dnf config-manager --set-enabled ha command")]),e._v("\n("),a("a",{attrs:{href:"https://bugs.almalinux.org/view.php?id=16",target:"_blank",rel:"noopener noreferrer"}},[e._v("ambz#16"),a("OutboundLink")],1),e._v(").")]),e._v(" "),a("li",[e._v("The "),a("code",[e._v("subscription-manager")]),e._v(" package and its dependencies added\n("),a("a",{attrs:{href:"https://bugs.almalinux.org/view.php?id=5",target:"_blank",rel:"noopener noreferrer"}},[e._v("almbz#5"),a("OutboundLink")],1),e._v(").")]),e._v(" "),a("li",[e._v("The "),a("code",[e._v("satellite-5-client")]),e._v(" module moved from the "),a("code",[e._v("BaseOS")]),e._v(" to the "),a("code",[e._v("AppStream")]),e._v("\nrepository ("),a("a",{attrs:{href:"https://bugs.almalinux.org/view.php?id=4",target:"_blank",rel:"noopener noreferrer"}},[e._v("almbz#4"),a("OutboundLink")],1),e._v(").")]),e._v(" "),a("li",[e._v("Fixed issues with the "),a("code",[e._v("php:7.4")]),e._v(" and "),a("code",[e._v("nodejs:12")]),e._v(" modules installation\n("),a("a",{attrs:{href:"https://bugs.almalinux.org/view.php?id=9",target:"_blank",rel:"noopener noreferrer"}},[e._v("almbz#9"),a("OutboundLink")],1),e._v(").")]),e._v(" "),a("li",[e._v("Added "),a("code",[e._v("maven:3.6")]),e._v(" and "),a("code",[e._v("jmc:rhel8")]),e._v(" modules.")]),e._v(" "),a("li",[e._v("Completed the "),a("code",[e._v("perl:5.30")]),e._v(" module build.")]),e._v(" "),a("li",[e._v("The "),a("code",[e._v("/usr/lib/rpm/redhat/dist.sh")]),e._v(" utility is now aware of AlmaLinux\n("),a("a",{attrs:{href:"https://bugs.almalinux.org/view.php?id=17",target:"_blank",rel:"noopener noreferrer"}},[e._v("almbz#17"),a("OutboundLink")],1),e._v(").")]),e._v(" "),a("li",[e._v("Added the "),a("code",[e._v("almalinux")]),e._v(" RPM macros\n("),a("a",{attrs:{href:"https://bugs.almalinux.org/view.php?id=22",target:"_blank",rel:"noopener noreferrer"}},[e._v("almbz#22"),a("OutboundLink")],1),e._v(").")]),e._v(" "),a("li",[e._v("The "),a("code",[e._v("libreport-almalinux")]),e._v(" package is added to support automatic bug\nreporting to "),a("a",{attrs:{href:"https://bugs.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("bugs.almalinux.org"),a("OutboundLink")],1),e._v("\n("),a("a",{attrs:{href:"https://bugs.almalinux.org/view.php?id=2",target:"_blank",rel:"noopener noreferrer"}},[e._v("almbz#2"),a("OutboundLink")],1),e._v(")")]),e._v(" "),a("li",[e._v("All installation environments are now available during network install\n("),a("a",{attrs:{href:"https://bugs.almalinux.org/view.php?id=14",target:"_blank",rel:"noopener noreferrer"}},[e._v("almbz#14"),a("OutboundLink")],1),e._v(")")]),e._v(" "),a("li",[e._v("The debuginfo repositories are now populated with packages.")])]),e._v(" "),a("h2",{attrs:{id:"known-issues"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#known-issues"}},[e._v("#")]),e._v(" Known issues")]),e._v(" "),a("ul",[a("li",[e._v("There is no SecureBoot support in this release\n("),a("a",{attrs:{href:"https://bugs.almalinux.org/view.php?id=3",target:"_blank",rel:"noopener noreferrer"}},[e._v("almbz#3"),a("OutboundLink")],1),e._v("). We are doing our\nbest to have it in a stable release.")]),e._v(" "),a("li",[e._v("The Minimal ISO proposes to install "),a("code",[e._v("Server environment with GNOME")]),e._v(" but\nactually can only install "),a("code",[e._v("Minimal Install")]),e._v(" environment\n("),a("a",{attrs:{href:"https://bugs.almalinux.org/view.php?id=14",target:"_blank",rel:"noopener noreferrer"}},[e._v("almbz#14"),a("OutboundLink")],1),e._v(").")]),e._v(" "),a("li",[e._v('The mirrors support implemented with help of the DNF fastestmirror plugin\nthat is known to be a bit "quirky". We are going to switch to\ngeo-location-based mirror selection in the stable version.')])])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/94.b9ac1e6c.js b/assets/js/94.b9ac1e6c.js new file mode 100644 index 000000000..0c57e2420 --- /dev/null +++ b/assets/js/94.b9ac1e6c.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[94],{375:function(a,e,t){"use strict";t.r(e);var s=t(14),n=Object(s.a)({},(function(){var a=this,e=a._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[e("h1",{attrs:{id:"almalinux-8-3-release-notes"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-8-3-release-notes"}},[a._v("#")]),a._v(" AlmaLinux 8.3 release notes")]),a._v(" "),e("p",[a._v("Distributed kernel version: 4.18.0-240.")]),a._v(" "),e("h2",{attrs:{id:"installation-instructions"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#installation-instructions"}},[a._v("#")]),a._v(" Installation instructions")]),a._v(" "),e("p",[a._v("There are three installation ISO images available:")]),a._v(" "),e("p",[e("code",[a._v("AlmaLinux-8.3-x86_64-boot.iso")]),a._v(" - a single network installation CD image\nthat downloads packages over the Internet.")]),a._v(" "),e("p",[e("code",[a._v("AlmaLinux-8.3-x86_64-minimal.iso")]),a._v(" - a minimal self-containing DVD image\nthat makes possible offline installation.")]),a._v(" "),e("p",[e("code",[a._v("AlmaLinux-8.3-x86_64-dvd1.iso")]),a._v(" - a full installation DVD image that\ncontains mostly all AlmaLinux packages.")]),a._v(" "),e("p",[a._v("Select a mirror listed on the\n"),e("a",{attrs:{href:"https://mirrors.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[a._v("mirrors.almalinux.org"),e("OutboundLink")],1),a._v(" website (please,\ndon't use the "),e("code",[a._v("repo.almalinux.org")]),a._v(" host directly) and download a suitable ISO\nimage from the "),e("code",[a._v("8.3/isos/x86_64/")]),a._v(" directory, for example:")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[a._v("$ "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("wget")]),a._v(" https://mirror.interserver.net/almalinux/8.3/isos/x86_64/AlmaLinux-8.3-x86_64-boot.iso\n")])])]),e("p",[a._v("Download and import the AlmaLinux public key:")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[a._v("$ "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("wget")]),a._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux\n$ gpg "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--import")]),a._v(" RPM-GPG-KEY-AlmaLinux\n")])])]),e("p",[a._v("Download and verify a checksums list:")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[a._v("$ "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("wget")]),a._v(" https://repo.almalinux.org/almalinux/8.3/isos/x86_64/CHECKSUM\n\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# we are looking for “Good signature”")]),a._v("\n$ gpg "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--verify")]),a._v(" CHECKSUM\n gpg: Signature made Fri "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("19")]),a._v(" Feb "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("2021")]),a._v(" 03:04:44 PM MSK\n gpg: using RSA key 51D6647EC21AD6EA\n gpg: Good signature from "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"AlmaLinux "')]),a._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),a._v("unknown"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),a._v("\n gpg: WARNING: This key is not certified with a trusted signature"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("!")]),a._v("\n gpg: There is no indication that the signature belongs to the owner.\n Primary key fingerprint: 5E9B 8F56 17B5 066C E920 57C3 488F CF7C 3ABB 34F8\n Subkey fingerprint: E53C F5EF 91CE B0AD "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("1812")]),a._v(" ECB8 51D6 647E C21A D6EA\n")])])]),e("p",[a._v("Verify the downloaded ISO image checksum:")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# calculate the downloaded ISO SHA256 checksum")]),a._v("\n$ sha256sum AlmaLinux-8.3-x86_64-boot.iso\n08fd99fab31277ea3710bfc1ccb8a7229522af5d3987d5b062739cb0dc3b5e3e AlmaLinux-8.3-x86_64-boot.iso\n\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# compare it with expected checksum, it should be the same")]),a._v("\n$ "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("cat")]),a._v(" CHECKSUM "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("|")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("grep")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-E")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("'SHA256.*AlmaLinux-8.3-x86_64-boot.iso'")]),a._v("\nSHA256 "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("AlmaLinux-8.3-x86_64-boot.iso"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v(" 08fd99fab31277ea3710bfc1ccb8a7229522af5d3987d5b062739cb0dc3b5e3e\n")])])]),e("p",[a._v("If you decided to use the "),e("code",[a._v("AlmaLinux-8.3-x86_64-boot.iso")]),a._v(" image, you will\nneed to provide the "),e("code",[a._v("8.3/BaseOS/x86_64/kickstart/")]),a._v(" repository from the\nselected mirror as the Installation Source.")]),a._v(" "),e("p",[a._v("There are no extra Installation Sources required if you decided to go with\neither minimal or dvd ISO images.")]),a._v(" "),e("h2",{attrs:{id:"upgrade-instructions"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-instructions"}},[a._v("#")]),a._v(" Upgrade instructions")]),a._v(" "),e("p",[a._v("Upgrade the almalinux-release package to the 8.3-3.el8 version from the beta\nor rc repositories:")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[a._v("$ dnf clean all "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("&&")]),a._v(" dnf upgrade "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v(" almalinux-release\n")])])]),e("p",[a._v("the new package contains updated repository URLs so that you can just run:")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[a._v("$ dnf upgrade "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-y")]),a._v("\n")])])]),e("p",[a._v("to update the rest of the packages.")]),a._v(" "),e("h2",{attrs:{id:"changelog"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[a._v("#")]),a._v(" Changelog")]),a._v(" "),e("ul",[e("li",[a._v("The Minimal ISO now proposes to install only environments that can be\ninstalled from it ("),e("a",{attrs:{href:"https://bugs.almalinux.org/view.php?id=14",target:"_blank",rel:"noopener noreferrer"}},[a._v("almbz#14"),e("OutboundLink")],1),a._v(").")])]),a._v(" "),e("h2",{attrs:{id:"known-issues"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#known-issues"}},[a._v("#")]),a._v(" Known issues")]),a._v(" "),e("ul",[e("li",[a._v("There is no SecureBoot support in this release\n("),e("a",{attrs:{href:"https://bugs.almalinux.org/view.php?id=3",target:"_blank",rel:"noopener noreferrer"}},[a._v("almbz#3"),e("OutboundLink")],1),a._v("). We are doing our\nbest to have it in a stable release.")]),a._v(" "),e("li",[a._v('The mirrors support implemented with help of the DNF fastestmirror plugin\nthat is known to be a bit "quirky". We are going to switch to\ngeo-location-based mirror selection in the stable version.')])])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/95.c5e777ee.js b/assets/js/95.c5e777ee.js new file mode 100644 index 000000000..3570cf2d5 --- /dev/null +++ b/assets/js/95.c5e777ee.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[95],{381:function(e,a,t){"use strict";t.r(a);var r=t(14),s=Object(r.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"almalinux-8-4-for-arm-release-notes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-8-4-for-arm-release-notes"}},[e._v("#")]),e._v(" AlmaLinux 8.4 for ARM Release Notes")]),e._v(" "),a("p",[e._v("Distributed kernel version: 4.18.0-305.")]),e._v(" "),a("h2",{attrs:{id:"providing-feedback-and-getting-help"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#providing-feedback-and-getting-help"}},[e._v("#")]),e._v(" Providing Feedback and Getting Help")]),e._v(" "),a("p",[e._v("Please report any issues you may encounter on the "),a("a",{attrs:{href:"https://bugs.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),a("OutboundLink")],1),e._v(". Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out "),a("a",{attrs:{href:"https://chat.almalinux.org/almalinux/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat"),a("OutboundLink")],1),e._v(", "),a("a",{attrs:{href:"https://forums.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Forums"),a("OutboundLink")],1),e._v(" and "),a("a",{attrs:{href:"https://reddit.com/r/almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community on Reddit"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"changelog"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[e._v("#")]),e._v(" Changelog")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("The "),a("strong",[e._v("Fastest Mirror")]),e._v(" will be selected automatically in network install mode")])]),e._v(" "),a("li",[a("p",[a("strong",[e._v("OpenSCAP")]),e._v(" security profiles are now ready for production")])]),e._v(" "),a("li",[a("p",[e._v("A "),a("strong",[e._v("devel")]),e._v(" repo is released as well with extra packages and build dependencies not included in the upstream distribution. This is for developers only and shouldn’t be enabled on production installations")])]),e._v(" "),a("li",[a("p",[e._v("The "),a("strong",[e._v("PowerTools")]),e._v(" repo is now disabled by default to match the upstream distribution behavior and is moved to separate file "),a("code",[e._v("almalinux-powertools.repo")]),e._v(" ("),a("a",{attrs:{href:"https://bugs.almalinux.org/view.php?id=74",target:"_blank",rel:"noopener noreferrer"}},[e._v("almbz#74"),a("OutboundLink")],1),e._v(")")])]),e._v(" "),a("li",[a("p",[e._v("Added new module streams:")]),e._v(" "),a("ul",[a("li",[e._v("Python 3.9")]),e._v(" "),a("li",[e._v("SWIG 4.0")]),e._v(" "),a("li",[e._v("Subversion 1.14")]),e._v(" "),a("li",[e._v("Redis 6")]),e._v(" "),a("li",[e._v("PostgreSQL 13")]),e._v(" "),a("li",[e._v("MariaDB 10.5")])])]),e._v(" "),a("li",[a("p",[e._v("Compiler Updates:")]),e._v(" "),a("ul",[a("li",[e._v("GCC Toolset 10")]),e._v(" "),a("li",[e._v("LLVM Toolset 11.0.0")]),e._v(" "),a("li",[e._v("Rust Toolset 1.49.0")]),e._v(" "),a("li",[e._v("Go Toolset 1.15.7")])])])]),e._v(" "),a("p",[e._v("You can reference the upstream "),a("a",{attrs:{href:"https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/8.4_release_notes/index",target:"_blank",rel:"noopener noreferrer"}},[e._v("RHEL 8.4 release notes"),a("OutboundLink")],1),e._v(" for a full list of changes in this release.")]),e._v(" "),a("h2",{attrs:{id:"installation-instructions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#installation-instructions"}},[e._v("#")]),e._v(" Installation instructions")]),e._v(" "),a("p",[e._v("There are three installation ISO images available:")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-8.4-aarch64-boot.iso")]),e._v(" - a single network installation CD image\nthat downloads packages over the Internet.")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-8.4-aarch64-minimal.iso")]),e._v(" - a minimal self-containing DVD image\nthat makes possible offline installation.")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-8.4-aarch64-dvd.iso")]),e._v(" - a full installation DVD image that\ncontains mostly all AlmaLinux packages.")]),e._v(" "),a("p",[e._v("You should select a mirror closest to your geographic area listed on the "),a("a",{attrs:{href:"https://mirrors.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("mirrors.almalinux.org"),a("OutboundLink")],1),e._v(" website (local mirrors will be a lot quicker than using "),a("code",[e._v("repo.almalinux.org")]),e._v(" directly) and download a suitable ISO image from the 8.4/isos/aarch64/ directory, for example:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" http://almalinux-mirror.tpa.hivelocity.net/8.4/isos/aarch64/AlmaLinux-8.4-aarch64-boot.iso\n")])])]),a("p",[e._v("Download and import the AlmaLinux public key:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux\n$ gpg "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" RPM-GPG-KEY-AlmaLinux\n")])])]),a("p",[e._v("Download and verify a checksums list:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/8.4/isos/aarch64/CHECKSUM\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# we are looking for “Good signature”")]),e._v("\n$ gpg "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--verify")]),e._v(" CHECKSUM\ngpg: Signature made Fri "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("25")]),e._v(" Jun "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("2021")]),e._v(" 09:01:15 AM UTC using RSA key ID C21AD6EA\ngpg: Good signature from "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux "')]),e._v("\ngpg: WARNING: This key is not certified with a trusted signature"),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("!")]),e._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: 5E9B 8F56 17B5 066C E920 57C3 488F CF7C 3ABB 34F8\n Subkey fingerprint: E53C F5EF 91CE B0AD "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("1812")]),e._v(" ECB8 51D6 647E C21A D6EA\n")])])]),a("p",[e._v("Verify the downloaded ISO image checksum:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# calculate the downloaded ISO SHA256 checksum")]),e._v("\n$ sha256sum AlmaLinux-8.4-aarch64-boot.iso\n80bf7881a4c9df4d2ec6a8167a848aaa48a589e642cda4e020231b8577813d0e AlmaLinux-8.4-aarch64-boot.iso\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# compare it with expected checksum, it should be the same")]),e._v("\n$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" CHECKSUM "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-E")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'SHA256.*AlmaLinux-8.4-aarch64-boot.iso'")]),e._v("\nSHA256 "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("AlmaLinux-8.4-aarch64-boot.iso"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" 80bf7881a4c9df4d2ec6a8167a848aaa48a589e642cda4e020231b8577813d0e\n")])])]),a("p",[e._v("If you decide to use the "),a("code",[e._v("AlmaLinux-8.4-aarch64-boot.iso")]),e._v(" image, you may\nneed to provide the "),a("code",[e._v("8.4/BaseOS/aarch64/kickstart/")]),e._v(" repository from the\nselected mirror as the Installation Source if the installer will not be able\nto find closest mirror for some reason.")]),e._v(" "),a("p",[e._v("There are no extra Installation Sources required if you decided to go with\neither the minimal or DVD ISO images.")]),e._v(" "),a("h2",{attrs:{id:"known-issues"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#known-issues"}},[e._v("#")]),e._v(" Known issues")]),e._v(" "),a("ul",[a("li",[e._v('The mirrors support implemented with help of the DNF fastestmirror plugin is known to be a bit "quirky". We are going to switch to geolocation-based mirror selection soon.')]),e._v(" "),a("li",[e._v("We don’t provide OVAL definitions for AlmaLinux updates yet so the "),a("code",[e._v("Ensure Software Patches Installed")]),e._v(" OpenSCAP check will be marked as "),a("code",[e._v("notchecked")]),e._v(". However, OpenSCAP is already configured for AlmaLinux OVAL sources so no configuration will be needed when definitions become available.")])]),e._v(" "),a("h2",{attrs:{id:"added-packages"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#added-packages"}},[e._v("#")]),e._v(" Added packages")]),e._v(" "),a("p",[e._v("Here is a list of added packages in comparison with upstream distribution.")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Package")]),e._v(" "),a("th",[e._v("Description")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("almalinux-backgrounds")]),e._v(" "),a("td",[e._v("AlmaLinux background images."),a("br"),e._v("Replaces "),a("code",[e._v("redhat-backgrounds")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-indexhtml")]),e._v(" "),a("td",[e._v("AlmaLinux default browser page"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-indexhtml")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-logos")]),e._v(" "),a("td",[e._v("AlmaLinux graphics for OS"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-logos")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-logos-httpd")]),e._v(" "),a("td",[e._v("AlmaLinux graphics for HTTPD server"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-logos-httpd")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-logos-ipa")]),e._v(" "),a("td",[e._v("AlmaLinux graphics for IPA server"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-logos-ipa")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-release")]),e._v(" "),a("td",[e._v("AlmaLinux release package, repos, and EULA"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-release")]),e._v(" and "),a("code",[e._v("redhat-release-eula")])])])])]),e._v(" "),a("h2",{attrs:{id:"removed-packages"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#removed-packages"}},[e._v("#")]),e._v(" Removed packages")]),e._v(" "),a("p",[e._v("Here is a list of removed packages in comparison with the upstream distribution."),a("br"),e._v("\nAlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join "),a("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/engineeringpackaging",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat"),a("OutboundLink")],1),e._v(" as well as filing a bug report at "),a("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),a("OutboundLink")],1),e._v(" to discuss if you think any of the packages below should be included into the repos.")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Package")]),e._v(" "),a("th",[e._v("Description")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("insights-client")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("kmod-redhat-*")]),e._v(" "),a("td",[e._v("RHEL specific modules from Driver Update Program")])]),e._v(" "),a("tr",[a("td",[e._v("kpatch*")]),e._v(" "),a("td",[e._v("RHEL specific live patches for kernel")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-backgrounds")]),e._v(" "),a("td",[e._v("RHEL specific background images")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-indexhtml")]),e._v(" "),a("td",[e._v("RHEL specific default browser page")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-logos")]),e._v(" "),a("td",[e._v("RHEL specific graphics for OS")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-logos-httpd")]),e._v(" "),a("td",[e._v("RHEL specific graphics for HTTPD server")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-logos-ipa")]),e._v(" "),a("td",[e._v("RHEL specific graphics for IPA server")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-release")]),e._v(" "),a("td",[e._v("RHEL specific release package and repos")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-release-eula")]),e._v(" "),a("td",[e._v("RHEL specific EULA")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-support-lib-python")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-support-tool")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("rhc")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("rhc-worker-playbook")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("rhsm-gtk")]),e._v(" "),a("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("rhsm-icons")]),e._v(" "),a("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("spice-qxl-wddm-dod")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("subscription-manager-cockpit")]),e._v(" "),a("td",[e._v("RHEL specific Cockpit module for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("subscription-manager-initial-setup-addon")]),e._v(" "),a("td",[e._v("RHEL specific initial setup addon for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("subscription-manager-plugin-container")]),e._v(" "),a("td",[e._v("RHEL specific Subscription Manager plugin for upstream vendor containers")])]),e._v(" "),a("tr",[a("td",[e._v("virt-who")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("virtio-win")]),e._v(" "),a("td",[e._v("Contain binaries built by upstream vendor")])])])]),e._v(" "),a("p",[e._v("Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")])])}),[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/96.9c4a3b94.js b/assets/js/96.9c4a3b94.js new file mode 100644 index 000000000..0c05a03af --- /dev/null +++ b/assets/js/96.9c4a3b94.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[96],{378:function(e,a,t){"use strict";t.r(a);var r=t(14),s=Object(r.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"almalinux-8-4-beta-for-arm-release-notes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-8-4-beta-for-arm-release-notes"}},[e._v("#")]),e._v(" AlmaLinux 8.4 Beta for ARM Release Notes")]),e._v(" "),a("h2",{attrs:{id:"beta-release"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beta-release"}},[e._v("#")]),e._v(" Beta Release")]),e._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),a("p",[e._v("This is a "),a("strong",[e._v("BETA")]),e._v(" release and should not be used for production installations.")])]),e._v(" "),a("h2",{attrs:{id:"providing-feedback-and-getting-help"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#providing-feedback-and-getting-help"}},[e._v("#")]),e._v(" Providing Feedback and Getting Help")]),e._v(" "),a("p",[e._v("Please report any issues you may encounter during tests on the "),a("a",{attrs:{href:"https://bugs.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),a("OutboundLink")],1),e._v(". Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out "),a("a",{attrs:{href:"https://chat.almalinux.org/almalinux/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat"),a("OutboundLink")],1),e._v(", "),a("a",{attrs:{href:"https://forums.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Forums"),a("OutboundLink")],1),e._v(" and "),a("a",{attrs:{href:"https://reddit.com/r/almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community on Reddit"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"changelog"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[e._v("#")]),e._v(" Changelog")]),e._v(" "),a("p",[e._v("This is the first AlmaLinux release for ARM.")]),e._v(" "),a("h2",{attrs:{id:"installation-instructions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#installation-instructions"}},[e._v("#")]),e._v(" Installation instructions")]),e._v(" "),a("p",[e._v("There are three installation ISO images available:")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-8.4-beta-1-aarch64-boot.iso")]),e._v(" - a single network installation CD image\nthat downloads packages over the Internet.")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-8.4-beta-1-aarch64-minimal.iso")]),e._v(" - a minimal self-containing DVD image\nthat makes possible offline installation.")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-8.4-beta-1-aarch64-dvd.iso")]),e._v(" - a full installation DVD image that\ncontains mostly all AlmaLinux packages.")]),e._v(" "),a("p",[e._v("You should select a mirror closest to your geographic area listed on the "),a("a",{attrs:{href:"https://mirrors.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("mirrors.almalinux.org"),a("OutboundLink")],1),e._v(" website (local mirrors will be a lot quicker than using "),a("code",[e._v("repo.almalinux.org")]),e._v(" directly) and download a suitable ISO image from the 8.4/isos/aarch64/ directory, for example:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/8.4-beta/isos/aarch64/AlmaLinux-8.4-beta-1-aarch64-boot.iso\n")])])]),a("p",[e._v("Download and import the AlmaLinux public key:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux\n$ gpg "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" RPM-GPG-KEY-AlmaLinux\n")])])]),a("p",[e._v("Download and verify a checksums list:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/8.4-beta/isos/aarch64/CHECKSUM\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# we are looking for “Good signature”")]),e._v("\n$ gpg "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--verify")]),e._v(" CHECKSUM\ngpg: Signature made Fri "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("28")]),e._v(" May "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("2021")]),e._v(" 06:05:33 PM UTC using RSA key ID C21AD6EA\ngpg: Good signature from "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux "')]),e._v("\ngpg: WARNING: This key is not certified with a trusted signature"),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("!")]),e._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: 5E9B 8F56 17B5 066C E920 57C3 488F CF7C 3ABB 34F8\n Subkey fingerprint: E53C F5EF 91CE B0AD "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("1812")]),e._v(" ECB8 51D6 647E C21A D6EA\n")])])]),a("p",[e._v("Verify the downloaded ISO image checksum:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# calculate the downloaded ISO SHA256 checksum")]),e._v("\n$ sha256sum AlmaLinux-8.4-beta-1-aarch64-boot.iso\n9a17e790991fc6df68b00312649d29e55caac89ce9bb30b4cfa67da3f773ca05 AlmaLinux-8.4-beta-1-aarch64-boot.iso\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# compare it with expected checksum, it should be the same")]),e._v("\n$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" CHECKSUM "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-E")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'SHA256.*AlmaLinux-8.4-beta-1-aarch64-boot.iso'")]),e._v("\nSHA256 "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("AlmaLinux-8.4-beta-1-aarch64-boot.iso"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" 9a17e790991fc6df68b00312649d29e55caac89ce9bb30b4cfa67da3f773ca05\n")])])]),a("p",[e._v("If you decide to use the "),a("code",[e._v("AlmaLinux-8.4-beta-1-aarch64-boot.iso")]),e._v(" image, you will\nneed to provide the "),a("code",[e._v("8.4-beta/BaseOS/aarch64/kickstart/")]),e._v(" repository from the\nselected mirror as the Installation Source.")]),e._v(" "),a("p",[e._v("There are no extra Installation Sources required if you decided to go with\neither the minimal or DVD ISO images.")]),e._v(" "),a("h2",{attrs:{id:"known-issues"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#known-issues"}},[e._v("#")]),e._v(" Known issues")]),e._v(" "),a("ul",[a("li",[e._v('The mirrors support implemented with help of the DNF fastestmirror plugin is known to be a bit "quirky". We are going to switch to geolocation-based mirror selection soon.')]),e._v(" "),a("li",[e._v("The jmc:rhel8 module is not available in beta and will be added in stable.")]),e._v(" "),a("li",[e._v("We don’t provide OVAL definitions for AlmaLinux updates yet so the "),a("code",[e._v("Ensure Software Patches Installed")]),e._v(" OpenSCAP check will be marked as "),a("code",[e._v("notchecked")]),e._v(". However, OpenSCAP is already configured for AlmaLinux OVAL sources so no configuration will be needed when definitions become available.")])]),e._v(" "),a("h2",{attrs:{id:"added-packages"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#added-packages"}},[e._v("#")]),e._v(" Added packages")]),e._v(" "),a("p",[e._v("Here is a list of added packages in comparison with upstream distribution.")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Package")]),e._v(" "),a("th",[e._v("Description")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("almalinux-backgrounds")]),e._v(" "),a("td",[e._v("AlmaLinux background images."),a("br"),e._v("Replaces "),a("code",[e._v("redhat-backgrounds")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-indexhtml")]),e._v(" "),a("td",[e._v("AlmaLinux default browser page"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-indexhtml")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-logos")]),e._v(" "),a("td",[e._v("AlmaLinux graphics for OS"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-logos")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-logos-httpd")]),e._v(" "),a("td",[e._v("AlmaLinux graphics for HTTPD server"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-logos-httpd")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-logos-ipa")]),e._v(" "),a("td",[e._v("AlmaLinux graphics for IPA server"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-logos-ipa")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-release")]),e._v(" "),a("td",[e._v("AlmaLinux release package, repos, and EULA"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-release")]),e._v(" and "),a("code",[e._v("redhat-release-eula")])])])])]),e._v(" "),a("h2",{attrs:{id:"removed-packages"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#removed-packages"}},[e._v("#")]),e._v(" Removed packages")]),e._v(" "),a("p",[e._v("Here is a list of removed packages in comparison with the upstream distribution."),a("br"),e._v("\nAlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join "),a("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/engineeringpackaging",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat"),a("OutboundLink")],1),e._v(" as well as filing a bug report at "),a("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),a("OutboundLink")],1),e._v(" to discuss if you think any of the packages below should be included into the repos.")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Package")]),e._v(" "),a("th",[e._v("Description")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("insights-client")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("kmod-redhat-*")]),e._v(" "),a("td",[e._v("RHEL specific modules from Driver Update Program")])]),e._v(" "),a("tr",[a("td",[e._v("kpatch*")]),e._v(" "),a("td",[e._v("RHEL specific live patches for kernel")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-backgrounds")]),e._v(" "),a("td",[e._v("RHEL specific background images")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-indexhtml")]),e._v(" "),a("td",[e._v("RHEL specific default browser page")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-logos")]),e._v(" "),a("td",[e._v("RHEL specific graphics for OS")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-logos-httpd")]),e._v(" "),a("td",[e._v("RHEL specific graphics for HTTPD server")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-logos-ipa")]),e._v(" "),a("td",[e._v("RHEL specific graphics for IPA server")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-release")]),e._v(" "),a("td",[e._v("RHEL specific release package and repos")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-release-eula")]),e._v(" "),a("td",[e._v("RHEL specific EULA")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-support-lib-python")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-support-tool")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("rhc")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("rhc-worker-playbook")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("rhsm-gtk")]),e._v(" "),a("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("rhsm-icons")]),e._v(" "),a("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("spice-client-win-x64")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-client-win-x86")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-qxl-wddm-dod")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-vdagent-win-x64")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-vdagent-win-x86")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("subscription-manager-cockpit")]),e._v(" "),a("td",[e._v("RHEL specific Cockpit module for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("subscription-manager-initial-setup-addon")]),e._v(" "),a("td",[e._v("RHEL specific initial setup addon for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("subscription-manager-plugin-container")]),e._v(" "),a("td",[e._v("RHEL specific Subscription Manager plugin for upstream vendor containers")])]),e._v(" "),a("tr",[a("td",[e._v("virt-who")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("virtio-win")]),e._v(" "),a("td",[e._v("Contain binaries built by upstream vendor")])])])]),e._v(" "),a("p",[e._v("Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")])])}),[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/97.ab217132.js b/assets/js/97.ab217132.js new file mode 100644 index 000000000..36be0c2ed --- /dev/null +++ b/assets/js/97.ab217132.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[97],{376:function(e,a,t){"use strict";t.r(a);var s=t(14),n=Object(s.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"almalinux-8-4-beta-release-notes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-8-4-beta-release-notes"}},[e._v("#")]),e._v(" AlmaLinux 8.4 Beta Release Notes")]),e._v(" "),a("h2",{attrs:{id:"beta-release"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beta-release"}},[e._v("#")]),e._v(" Beta Release")]),e._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),a("p",[e._v("This is a "),a("strong",[e._v("BETA")]),e._v(" release and should not be used for production installations. The provided upgrade instructions should not be used on production machines, unless you don't mind if something breaks. 😉")])]),e._v(" "),a("h2",{attrs:{id:"providing-feedback-and-getting-help"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#providing-feedback-and-getting-help"}},[e._v("#")]),e._v(" Providing Feedback and Getting Help")]),e._v(" "),a("p",[e._v("Please report any issues you may encounter during tests on the "),a("a",{attrs:{href:"https://bugs.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),a("OutboundLink")],1),e._v(". Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out "),a("a",{attrs:{href:"https://webchat.freenode.net/#almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("#AlmaLinux on FreeNode IRC"),a("OutboundLink")],1),e._v(", "),a("a",{attrs:{href:"https://forums.almalinux.org/c/84-beta/5",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Forums"),a("OutboundLink")],1),e._v(" and"),a("a",{attrs:{href:"https://reddit.com/r/almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community on Reddit"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"changelog"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[e._v("#")]),e._v(" Changelog")]),e._v(" "),a("ul",[a("li",[a("p",[a("strong",[e._v("Secure Boot is now fully supported")]),e._v(" ("),a("a",{attrs:{href:"https://bugs.almalinux.org/view.php?id=3",target:"_blank",rel:"noopener noreferrer"}},[e._v("almbz#3"),a("OutboundLink")],1),e._v(")")])]),e._v(" "),a("li",[a("p",[e._v("Added new module streams:")]),e._v(" "),a("ul",[a("li",[e._v("Python 3.9")]),e._v(" "),a("li",[e._v("SWIG 4.0")]),e._v(" "),a("li",[e._v("Subversion 1.14")]),e._v(" "),a("li",[e._v("Redis 6")]),e._v(" "),a("li",[e._v("PostgreSQL 13")]),e._v(" "),a("li",[e._v("MariaDB 10.5")])])]),e._v(" "),a("li",[a("p",[e._v("Compiler Updates:")]),e._v(" "),a("ul",[a("li",[e._v("GCC Toolset 10")]),e._v(" "),a("li",[e._v("LLVM Toolset 11.0.0")]),e._v(" "),a("li",[e._v("Rust Toolset 1.49.0")]),e._v(" "),a("li",[e._v("Go Toolset 1.15.7")])])])]),e._v(" "),a("h2",{attrs:{id:"installation-instructions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#installation-instructions"}},[e._v("#")]),e._v(" Installation instructions")]),e._v(" "),a("p",[e._v("There are three installation ISO images available:")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-8.4-beta-1-x86_64-boot.iso")]),e._v(" - a single network installation CD image\nthat downloads packages over the Internet.")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-8.4-beta-1-x86_64-minimal.iso")]),e._v(" - a minimal self-containing DVD image\nthat makes possible offline installation.")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-8.4-beta-1-x86_64-dvd.iso")]),e._v(" - a full installation DVD image that\ncontains mostly all AlmaLinux packages.")]),e._v(" "),a("p",[e._v("You can select a mirror closest to your geographic area listed on the "),a("a",{attrs:{href:"https://mirrors.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("mirrors.almalinux.org"),a("OutboundLink")],1),e._v(" website. A local mirrors will be a lot quicker than using "),a("code",[e._v("repo.almalinux.org")]),e._v(" directly. Then, download a suitable ISO image from the 8.4-beta/isos/x86_64/ directory of your source, for example:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://mirror.interserver.net/almalinux/8.4-beta/isos/x86_64/AlmaLinux-8.4-beta-1-x86_64-boot.iso\n")])])]),a("p",[e._v("Download and import the AlmaLinux public key:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux\n$ gpg "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" RPM-GPG-KEY-AlmaLinux\n")])])]),a("p",[e._v("Download and verify a checksums list:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/8.4-beta/isos/x86_64/CHECKSUM\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# we are looking for “Good signature”")]),e._v("\n$ gpg "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--verify")]),e._v(" CHECKSUM\n gpg: Signature made Thu Apr "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("29")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("11")]),e._v(":34:13 "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("2021")]),e._v(" UTC\n gpg: using RSA key 51D6647EC21AD6EA\n gpg: Good signature from "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux "')]),e._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("[")]),e._v("unknown"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("]")]),e._v("\n gpg: WARNING: This key is not certified with a trusted signature"),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("!")]),e._v("\n gpg: There is no indication that the signature belongs to the owner.\n Primary key fingerprint: 5E9B 8F56 17B5 066C E920 57C3 488F CF7C 3ABB 34F8\n Subkey fingerprint: E53C F5EF 91CE B0AD "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("1812")]),e._v(" ECB8 51D6 647E C21A D6EA\n")])])]),a("p",[e._v("Verify the downloaded ISO image checksum:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# calculate the downloaded ISO SHA256 checksum")]),e._v("\n$ sha256sum AlmaLinux-8.4-beta-1-x86_64-boot.iso\ne0e50a5db9cccfa70eaba9b4465e3e727ebed689f1a30dbbd7fcfa6046f05890 AlmaLinux-8.4-beta-1-x86_64-boot.iso\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# compare it with expected checksum, it should be the same")]),e._v("\n$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" CHECKSUM "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-E")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'SHA256.*AlmaLinux-8.4-beta-1-x86_64-boot.iso'")]),e._v("\nSHA256 "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("AlmaLinux-8.4-beta-1-x86_64-boot.iso"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" e0e50a5db9cccfa70eaba9b4465e3e727ebed689f1a30dbbd7fcfa6046f05890\n")])])]),a("p",[e._v("If you decide to use the "),a("code",[e._v("AlmaLinux-8.4-beta-1-x86_64-boot.iso")]),e._v(" image, you will\nneed to provide the "),a("code",[e._v("8.4-beta/BaseOS/x86_64/kickstart/")]),e._v(" repository from the\nselected mirror as the Installation Source.")]),e._v(" "),a("p",[e._v("There are no extra Installation Sources required if you decided to go with\neither the minimal or DVD ISO images.")]),e._v(" "),a("h2",{attrs:{id:"upgrade-instructions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-instructions"}},[e._v("#")]),e._v(" Upgrade Instructions")]),e._v(" "),a("p",[a("strong",[e._v("Please do not use these update instructions on production machines, unless you don't mind if something breaks.")]),e._v(" 😉")]),e._v(" "),a("p",[e._v("Upgrade the almalinux-release package to the 8.4-1.el8 version from the beta\nrepositories:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ dnf "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("install")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v(" https://repo.almalinux.org/almalinux/almalinux-release-latest-8-beta.x86_64.rpm\n$ dnf clean all\n")])])]),a("p",[e._v("the new package contains updated repository URLs so that you can just run:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ dnf upgrade "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v("\n")])])]),a("p",[e._v("to update the rest of the packages.")]),e._v(" "),a("h2",{attrs:{id:"known-issues"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#known-issues"}},[e._v("#")]),e._v(" Known issues")]),e._v(" "),a("ul",[a("li",[e._v('The mirrors support implemented with help of the DNF fastestmirror plugin is known to be a bit "quirky". We are going to switch to geolocation-based mirror selection in the 8.4 stable version.')]),e._v(" "),a("li",[e._v("The python39-devel:3.9 module is not available in beta and will be added in stable.")])])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/98.ced20abd.js b/assets/js/98.ced20abd.js new file mode 100644 index 000000000..1faf2fdef --- /dev/null +++ b/assets/js/98.ced20abd.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[98],{380:function(e,t,a){"use strict";a.r(t);var r=a(14),s=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"almalinux-8-4-release-notes"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-8-4-release-notes"}},[e._v("#")]),e._v(" AlmaLinux 8.4 Release Notes")]),e._v(" "),t("p",[e._v("Distributed kernel version: 4.18.0-305.")]),e._v(" "),t("h2",{attrs:{id:"providing-feedback-and-getting-help"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#providing-feedback-and-getting-help"}},[e._v("#")]),e._v(" Providing Feedback and Getting Help")]),e._v(" "),t("p",[e._v("Please report any issues you may encounter on the "),t("a",{attrs:{href:"https://bugs.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),t("OutboundLink")],1),e._v(". Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat"),t("OutboundLink")],1),e._v(", "),t("a",{attrs:{href:"https://forums.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Forums"),t("OutboundLink")],1),e._v(" and "),t("a",{attrs:{href:"https://reddit.com/r/almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community on Reddit"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"changelog"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[e._v("#")]),e._v(" Changelog")]),e._v(" "),t("ul",[t("li",[t("p",[t("strong",[e._v("Secure Boot")]),e._v(" is now fully supported ("),t("a",{attrs:{href:"https://bugs.almalinux.org/view.php?id=3",target:"_blank",rel:"noopener noreferrer"}},[e._v("almbz#3"),t("OutboundLink")],1),e._v(")")])]),e._v(" "),t("li",[t("p",[t("strong",[e._v("OpenSCAP")]),e._v(" security profiles are now ready for production")])]),e._v(" "),t("li",[t("p",[t("strong",[e._v("devel")]),e._v(" repo released with extra packages and build dependencies not included in upstream distribution. This is developers only and shouldn’t be enabled on production installations")])]),e._v(" "),t("li",[t("p",[t("strong",[e._v("PowerTools")]),e._v(" repo is now disabled by default to match upstream distribution and moved to separate file "),t("code",[e._v("almalinux-powertools.repo")]),e._v(" ("),t("a",{attrs:{href:"https://bugs.almalinux.org/view.php?id=74",target:"_blank",rel:"noopener noreferrer"}},[e._v("almbz#74"),t("OutboundLink")],1),e._v(")")])]),e._v(" "),t("li",[t("p",[e._v("Added new module streams:")]),e._v(" "),t("ul",[t("li",[e._v("Python 3.9")]),e._v(" "),t("li",[e._v("SWIG 4.0")]),e._v(" "),t("li",[e._v("Subversion 1.14")]),e._v(" "),t("li",[e._v("Redis 6")]),e._v(" "),t("li",[e._v("PostgreSQL 13")]),e._v(" "),t("li",[e._v("MariaDB 10.5")])])]),e._v(" "),t("li",[t("p",[e._v("Compiler Updates:")]),e._v(" "),t("ul",[t("li",[e._v("GCC Toolset 10")]),e._v(" "),t("li",[e._v("LLVM Toolset 11.0.0")]),e._v(" "),t("li",[e._v("Rust Toolset 1.49.0")]),e._v(" "),t("li",[e._v("Go Toolset 1.15.7")])])])]),e._v(" "),t("p",[e._v("You can reference the upstream "),t("a",{attrs:{href:"https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/8.4_release_notes/index",target:"_blank",rel:"noopener noreferrer"}},[e._v("RHEL 8.4 release notes"),t("OutboundLink")],1),e._v(" for a full list of changes in this release.")]),e._v(" "),t("h2",{attrs:{id:"installation-instructions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#installation-instructions"}},[e._v("#")]),e._v(" Installation instructions")]),e._v(" "),t("p",[e._v("There are three installation ISO images available:")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-8.4-x86_64-boot.iso")]),e._v(" - a single network installation CD image\nthat downloads packages over the Internet.")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-8.4-x86_64-minimal.iso")]),e._v(" - a minimal self-containing DVD image\nthat makes possible offline installation.")]),e._v(" "),t("p",[t("code",[e._v("AlmaLinux-8.4-x86_64-dvd.iso")]),e._v(" - a full installation DVD image that\ncontains mostly all AlmaLinux packages.")]),e._v(" "),t("p",[e._v("The recommended way to download ISO images is using the "),t("a",{attrs:{href:"https://repo.almalinux.org/vault/8.4/isos/x86_64/AlmaLinux-8.4.torrent",target:"_blank",rel:"noopener noreferrer"}},[e._v("torrent"),t("OutboundLink")],1),e._v(" links. Alternatively, you can select a mirror closest to your geographic area listed on the "),t("a",{attrs:{href:"https://mirrors.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("mirrors.almalinux.org"),t("OutboundLink")],1),e._v(" website (local mirrors will be a lot quicker than using "),t("code",[e._v("repo.almalinux.org")]),e._v(" directly) and download a suitable ISO image from the 8.4/isos/x86_64/ directory, for example:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://mirror.interserver.net/almalinux/8.4/isos/x86_64/AlmaLinux-8.4-x86_64-boot.iso\n")])])]),t("p",[e._v("Download and import the AlmaLinux public key:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux\n$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" RPM-GPG-KEY-AlmaLinux\n")])])]),t("p",[e._v("Download and verify a checksums list:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/8.4/isos/x86_64/CHECKSUM\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# we are looking for “Good signature”")]),e._v("\n$ gpg "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--verify")]),e._v(" CHECKSUM\ngpg: Signature made Wed "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("26")]),e._v(" May "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("2021")]),e._v(" 08:21:40 AM UTC using RSA key ID C21AD6EA\ngpg: Good signature from "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux "')]),e._v("\ngpg: WARNING: This key is not certified with a trusted signature"),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("!")]),e._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: 5E9B 8F56 17B5 066C E920 57C3 488F CF7C 3ABB 34F8\n Subkey fingerprint: E53C F5EF 91CE B0AD "),t("span",{pre:!0,attrs:{class:"token number"}},[e._v("1812")]),e._v(" ECB8 51D6 647E C21A D6EA\n")])])]),t("p",[e._v("Verify the downloaded ISO image checksum:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# calculate the downloaded ISO SHA256 checksum")]),e._v("\n$ sha256sum AlmaLinux-8.4-x86_64-boot.iso\n76e8f56892e6d90706b142868eec51b6b8c015ec3792f8d9e0730da93a2d1162 AlmaLinux-8.4-x86_64-boot.iso\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# compare it with expected checksum, it should be the same")]),e._v("\n$ "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" CHECKSUM "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-E")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[e._v("'SHA256.*AlmaLinux-8.4-x86_64-boot.iso'")]),e._v("\nSHA256 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("AlmaLinux-8.4-x86_64-boot.iso"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" 76e8f56892e6d90706b142868eec51b6b8c015ec3792f8d9e0730da93a2d1162\n")])])]),t("p",[e._v("If you've decided to use the "),t("code",[e._v("AlmaLinux-8.4-x86_64-boot.iso")]),e._v(" image, you will\nneed to provide the "),t("code",[e._v("8.4/BaseOS/x86_64/kickstart/")]),e._v(" repository from the\nselected mirror as the Installation Source.")]),e._v(" "),t("p",[e._v("There are no extra Installation Sources required if you decided to go with\neither the minimal or DVD ISO images.")]),e._v(" "),t("h2",{attrs:{id:"upgrade-instructions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#upgrade-instructions"}},[e._v("#")]),e._v(" Upgrade Instructions")]),e._v(" "),t("p",[e._v("Just run:")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ dnf upgrade "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v("\n")])])]),t("p",[e._v("to update your AlmaLinux OS 8.3 stable to 8.4."),t("br"),e._v("\nIf you’re upgrading from 8.4 beta then you should run")]),e._v(" "),t("div",{staticClass:"language-bash extra-class"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[e._v("$ dnf upgrade "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-y")]),e._v("\n")])])]),t("p",[e._v("twice.")]),e._v(" "),t("h2",{attrs:{id:"known-issues"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#known-issues"}},[e._v("#")]),e._v(" Known issues")]),e._v(" "),t("ul",[t("li",[e._v('The mirrors support implemented with help of the DNF fastestmirror plugin is known to be a bit "quirky". We are going to switch to geo-location-based mirror selection soon.')]),e._v(" "),t("li",[e._v("We don’t provide OVAL definitions for AlmaLinux updates yet so the "),t("code",[e._v("Ensure Software Patches Installed")]),e._v(" OpenSCAP check will be marked as "),t("code",[e._v("notchecked")]),e._v(". However, OpenSCAP is already configured for AlmaLinux OVAL sources so no configuration will be needed when definitions become available.")])]),e._v(" "),t("h2",{attrs:{id:"added-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#added-packages"}},[e._v("#")]),e._v(" Added packages")]),e._v(" "),t("p",[e._v("Here is a list of added packages in comparison with upstream distribution.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Package")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("almalinux-backgrounds")]),e._v(" "),t("td",[e._v("AlmaLinux background images."),t("br"),e._v("Replaces "),t("code",[e._v("redhat-backgrounds")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-indexhtml")]),e._v(" "),t("td",[e._v("AlmaLinux default browser page"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-indexhtml")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for OS"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos-httpd")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for HTTPD server"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos-httpd")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-logos-ipa")]),e._v(" "),t("td",[e._v("AlmaLinux graphics for IPA server"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-logos-ipa")])])]),e._v(" "),t("tr",[t("td",[e._v("almalinux-release")]),e._v(" "),t("td",[e._v("AlmaLinux release package, repos, and EULA"),t("br"),e._v("Replaces "),t("code",[e._v("redhat-release")]),e._v(" and "),t("code",[e._v("redhat-release-eula")])])])])]),e._v(" "),t("h2",{attrs:{id:"removed-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#removed-packages"}},[e._v("#")]),e._v(" Removed packages")]),e._v(" "),t("p",[e._v("Here is a list of removed packages in comparison with the upstream distribution."),t("br"),e._v("\nAlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join "),t("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/engineeringpackaging",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat"),t("OutboundLink")],1),e._v(" as well as filing a bug report at "),t("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),t("OutboundLink")],1),e._v(" to discuss if you think any of the packages below should be included into the repos.")]),e._v(" "),t("table",[t("thead",[t("tr",[t("th",[e._v("Package")]),e._v(" "),t("th",[e._v("Description")])])]),e._v(" "),t("tbody",[t("tr",[t("td",[e._v("insights-client")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("kmod-redhat-*")]),e._v(" "),t("td",[e._v("RHEL specific modules from Driver Update Program")])]),e._v(" "),t("tr",[t("td",[e._v("kpatch*")]),e._v(" "),t("td",[e._v("RHEL specific live patches for kernel")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-backgrounds")]),e._v(" "),t("td",[e._v("RHEL specific background images")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-indexhtml")]),e._v(" "),t("td",[e._v("RHEL specific default browser page")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos")]),e._v(" "),t("td",[e._v("RHEL specific graphics for OS")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos-httpd")]),e._v(" "),t("td",[e._v("RHEL specific graphics for HTTPD server")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-logos-ipa")]),e._v(" "),t("td",[e._v("RHEL specific graphics for IPA server")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-release")]),e._v(" "),t("td",[e._v("RHEL specific release package and repos")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-release-eula")]),e._v(" "),t("td",[e._v("RHEL specific EULA")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-support-lib-python")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("redhat-support-tool")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhc")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhc-worker-playbook")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("rhsm-gtk")]),e._v(" "),t("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("rhsm-icons")]),e._v(" "),t("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("spice-client-win-x64")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-client-win-x86")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-qxl-wddm-dod")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-vdagent-win-x64")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("spice-vdagent-win-x86")]),e._v(" "),t("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-cockpit")]),e._v(" "),t("td",[e._v("RHEL specific Cockpit module for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-initial-setup-addon")]),e._v(" "),t("td",[e._v("RHEL specific initial setup addon for Subscription Manager")])]),e._v(" "),t("tr",[t("td",[e._v("subscription-manager-plugin-container")]),e._v(" "),t("td",[e._v("RHEL specific Subscription Manager plugin for upstream vendor containers")])]),e._v(" "),t("tr",[t("td",[e._v("virt-who")]),e._v(" "),t("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),t("tr",[t("td",[e._v("virtio-win")]),e._v(" "),t("td",[e._v("Contain binaries built by upstream vendor")])])])]),e._v(" "),t("p",[e._v("Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/99.b518f6e7.js b/assets/js/99.b518f6e7.js new file mode 100644 index 000000000..58117248d --- /dev/null +++ b/assets/js/99.b518f6e7.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[99],{379:function(e,a,t){"use strict";t.r(a);var r=t(14),s=Object(r.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"almalinux-8-5-beta-for-powerpc-release-notes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#almalinux-8-5-beta-for-powerpc-release-notes"}},[e._v("#")]),e._v(" AlmaLinux 8.5 beta for PowerPC Release Notes")]),e._v(" "),a("h2",{attrs:{id:"beta-release"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#beta-release"}},[e._v("#")]),e._v(" Beta Release")]),e._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),a("p",[e._v("This is a BETA release and should not be used for production installations.")])]),e._v(" "),a("h2",{attrs:{id:"providing-feedback-and-getting-help"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#providing-feedback-and-getting-help"}},[e._v("#")]),e._v(" Providing Feedback and Getting Help")]),e._v(" "),a("p",[e._v("Please report any issues you may encounter during tests on the "),a("a",{attrs:{href:"https://bugs.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),a("OutboundLink")],1),e._v(". Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out "),a("a",{attrs:{href:"https://chat.almalinux.org/almalinux/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat"),a("OutboundLink")],1),e._v(", "),a("a",{attrs:{href:"https://forums.almalinux.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Forums"),a("OutboundLink")],1),e._v(" and "),a("a",{attrs:{href:"https://reddit.com/r/almalinux",target:"_blank",rel:"noopener noreferrer"}},[e._v("The AlmaLinux Community on Reddit"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"changelog"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#changelog"}},[e._v("#")]),e._v(" Changelog")]),e._v(" "),a("p",[e._v("This is the first AlmaLinux release for PowerPC.")]),e._v(" "),a("h2",{attrs:{id:"installation-instructions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#installation-instructions"}},[e._v("#")]),e._v(" Installation instructions")]),e._v(" "),a("p",[e._v("There are three installation ISO images available:")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-8.5-beta-1-ppc64le-boot.iso")]),e._v(" - a single network installation CD image that downloads packages over the Internet.")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-8.5-beta-1-ppc64le-minimal.iso")]),e._v(" - a minimal self-containing DVD image that makes possible offline installation.")]),e._v(" "),a("p",[a("code",[e._v("AlmaLinux-8.5-beta-1-ppc64le-dvd.iso")]),e._v(" - a full installation DVD image that contains mostly all AlmaLinux packages.")]),e._v(" "),a("p",[e._v("You should select a mirror closest to your geographic area listed on the "),a("a",{attrs:{href:"https://mirrors.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("mirrors.almalinux.org"),a("OutboundLink")],1),e._v(" website (local mirrors will be a lot quicker than using "),a("code",[e._v("repo.almalinux.org")]),e._v(" directly) and download a suitable ISO image from the 8.5-beta/isos/ppc64le/ directory, for example:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/8.5-beta/isos/ppc64le/AlmaLinux-8.5-beta-1-ppc64le-boot.iso\n")])])]),a("p",[e._v("Download and import the AlmaLinux public key:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux\n$ gpg "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--import")]),e._v(" RPM-GPG-KEY-AlmaLinux\n")])])]),a("p",[e._v("Download and verify a checksums list:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[e._v("$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("wget")]),e._v(" https://repo.almalinux.org/almalinux/8.5-beta/isos/ppc64le/CHECKSUM\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# we are looking for “Good signature”")]),e._v("\n$ gpg "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("--verify")]),e._v(" CHECKSUM\ngpg: Signature made Thu "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("30")]),e._v(" Dec "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("2021")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("11")]),e._v(":05:32 AM UTC using RSA key ID C21AD6EA\ngpg: Good signature from "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v('"AlmaLinux "')]),e._v("\ngpg: WARNING: This key is not certified with a trusted signature"),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("!")]),e._v("\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: 5E9B 8F56 17B5 066C E920 57C3 488F CF7C 3ABB 34F8\n Subkey fingerprint: E53C F5EF 91CE B0AD "),a("span",{pre:!0,attrs:{class:"token number"}},[e._v("1812")]),e._v(" ECB8 51D6 647E C21A D6EA\n")])])]),a("p",[e._v("Verify the downloaded ISO image checksum:")]),e._v(" "),a("div",{staticClass:"language-bash extra-class"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# calculate the downloaded ISO SHA256 checksum")]),e._v("\n$ sha256sum AlmaLinux-8.5-beta-1-ppc64le-boot.iso\n7dc479f318845da73d226b28580c2c46beba0077f18312f54d18dcd2c2f8cb47 AlmaLinux-8.5-beta-1-ppc64le-boot.iso\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[e._v("# compare it with expected checksum, it should be the same")]),e._v("\n$ "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("cat")]),e._v(" CHECKSUM "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("|")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[e._v("grep")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[e._v("-E")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[e._v("'SHA256.*AlmaLinux-8.5-beta-1-ppc64le-boot.iso'")]),e._v("\nSHA256 "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v("(")]),e._v("AlmaLinux-8.5-beta-1-ppc64le-boot.iso"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[e._v(")")]),e._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[e._v("=")]),e._v(" 7dc479f318845da73d226b28580c2c46beba0077f18312f54d18dcd2c2f8cb47\n")])])]),a("p",[e._v("If you decide to use the "),a("code",[e._v("AlmaLinux-8.5-beta-1-ppc64le-boot.iso")]),e._v(" image, you will\nneed to provide the "),a("code",[e._v("8.5-beta/BaseOS/ppc64le/kickstart/")]),e._v(" repository from the\nselected mirror as the Installation Source.")]),e._v(" "),a("p",[e._v("There are no extra Installation Sources required if you decided to go with\neither the minimal or DVD ISO images.")]),e._v(" "),a("h2",{attrs:{id:"known-issues"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#known-issues"}},[e._v("#")]),e._v(" Known issues")]),e._v(" "),a("ul",[a("li",[e._v("The "),a("strong",[e._v("maven:3.6")]),e._v(" module is not available in beta.")])]),e._v(" "),a("h2",{attrs:{id:"added-packages"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#added-packages"}},[e._v("#")]),e._v(" Added packages")]),e._v(" "),a("p",[e._v("Here is a list of added packages in comparison with the upstream distribution.")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Package")]),e._v(" "),a("th",[e._v("Description")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("almalinux-backgrounds")]),e._v(" "),a("td",[e._v("AlmaLinux background images."),a("br"),e._v("Replaces "),a("code",[e._v("redhat-backgrounds")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-indexhtml")]),e._v(" "),a("td",[e._v("AlmaLinux default browser page"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-indexhtml")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-logos")]),e._v(" "),a("td",[e._v("AlmaLinux graphics for OS"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-logos")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-logos-httpd")]),e._v(" "),a("td",[e._v("AlmaLinux graphics for HTTPD server"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-logos-httpd")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-logos-ipa")]),e._v(" "),a("td",[e._v("AlmaLinux graphics for IPA server"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-logos-ipa")])])]),e._v(" "),a("tr",[a("td",[e._v("almalinux-release")]),e._v(" "),a("td",[e._v("AlmaLinux release package, repos, and EULA"),a("br"),e._v("Replaces "),a("code",[e._v("redhat-release")]),e._v(" and "),a("code",[e._v("redhat-release-eula")])])])])]),e._v(" "),a("h2",{attrs:{id:"removed-packages"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#removed-packages"}},[e._v("#")]),e._v(" Removed packages")]),e._v(" "),a("p",[e._v("Here is a list of removed packages in comparison with the upstream distribution."),a("br"),e._v("\nAlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join "),a("a",{attrs:{href:"https://chat.almalinux.org/almalinux/channels/engineeringpackaging",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Chat"),a("OutboundLink")],1),e._v(" as well as file a bug report at "),a("a",{attrs:{href:"https://bugs.almalinux.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("AlmaLinux Bug Tracker"),a("OutboundLink")],1),e._v(" to discuss if you think any of the packages below should be included into the repos.")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Package")]),e._v(" "),a("th",[e._v("Description")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("insights-client")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("kmod-redhat-*")]),e._v(" "),a("td",[e._v("RHEL specific modules from Driver Update Program")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-backgrounds")]),e._v(" "),a("td",[e._v("RHEL specific background images")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-indexhtml")]),e._v(" "),a("td",[e._v("RHEL specific default browser page")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-logos")]),e._v(" "),a("td",[e._v("RHEL specific graphics for OS")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-logos-httpd")]),e._v(" "),a("td",[e._v("RHEL specific graphics for HTTPD server")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-logos-ipa")]),e._v(" "),a("td",[e._v("RHEL specific graphics for IPA server")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-release")]),e._v(" "),a("td",[e._v("RHEL specific release package and repos")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-release-eula")]),e._v(" "),a("td",[e._v("RHEL specific EULA")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-support-lib-python")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("redhat-support-tool")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("rhc")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("rhc-worker-playbook")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("rhsm-gtk")]),e._v(" "),a("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("rhsm-icons")]),e._v(" "),a("td",[e._v("RHEL specific GUI for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("spice-client-win-x64")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-client-win-x86")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-qxl-wddm-dod")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-vdagent-win-x64")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("spice-vdagent-win-x86")]),e._v(" "),a("td",[e._v("Contains binaries built by upstream vendor")])]),e._v(" "),a("tr",[a("td",[e._v("subscription-manager-cockpit")]),e._v(" "),a("td",[e._v("RHEL specific Cockpit module for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("subscription-manager-initial-setup-addon")]),e._v(" "),a("td",[e._v("RHEL specific initial setup addon for Subscription Manager")])]),e._v(" "),a("tr",[a("td",[e._v("subscription-manager-plugin-container")]),e._v(" "),a("td",[e._v("RHEL specific Subscription Manager plugin for upstream vendor containers")])]),e._v(" "),a("tr",[a("td",[e._v("virt-who")]),e._v(" "),a("td",[e._v("RHEL specific package to connect to upstream vendor resources")])]),e._v(" "),a("tr",[a("td",[e._v("virtio-win")]),e._v(" "),a("td",[e._v("Contain binaries built by upstream vendor")])])])]),e._v(" "),a("p",[e._v("Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.")])])}),[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/app.05cd53a5.js b/assets/js/app.05cd53a5.js new file mode 100644 index 000000000..098887f7e --- /dev/null +++ b/assets/js/app.05cd53a5.js @@ -0,0 +1,16 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[]]);!function(e){function t(t){for(var r,o,l=t[0],s=t[1],u=t[2],d=0,p=[];d
'};function i(e,t,n){return en?n:e}function a(e){return 100*(-1+e)}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=i(e,r.minimum,1),n.status=1===e?null:e;var s=n.render(!t),u=s.querySelector(r.barSelector),c=r.speed,d=r.easing;return s.offsetWidth,o((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),l(u,function(e,t,n){var i;return(i="translate3d"===r.positionUsing?{transform:"translate3d("+a(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+a(e)+"%,0)"}:{"margin-left":a(e)+"%"}).transition="all "+t+"ms "+n,i}(e,c,d)),1===e?(l(s,{transition:"none",opacity:1}),s.offsetWidth,setTimeout((function(){l(s,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),c)}),c)):setTimeout(t,c)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*i(Math.random()*t,.1,.95)),t=i(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var i,o=t.querySelector(r.barSelector),s=e?"-100":a(n.status||0),c=document.querySelector(r.parent);return l(o,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(i=t.querySelector(r.spinnerSelector))&&p(i),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){c(document.documentElement,"nprogress-busy"),c(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var o=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),l=function(){var e=["Webkit","O","Moz","ms"],t={};function n(n){return n=n.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()})),t[n]||(t[n]=function(t){var n=document.body.style;if(t in n)return t;for(var r,i=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);i--;)if((r=e[i]+a)in n)return r;return t}(n))}function r(e,t,r){t=n(t),e.style[t]=r}return function(e,t){var n,i,a=arguments;if(2==a.length)for(n in t)void 0!==(i=t[n])&&t.hasOwnProperty(n)&&r(e,n,i);else r(e,a[1],a[2])}}();function s(e,t){return("string"==typeof e?e:d(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=d(e),r=n+t;s(n,t)||(e.className=r.substring(1))}function c(e,t){var n,r=d(e);s(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function d(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n})?r.call(t,n,t,e):r)||(e.exports=i)},function(e,t,n){"use strict";var r=n(0),i=n(45).f,a=n(12),o=n(92),l=n(33),s=n(61),u=n(119);e.exports=function(e,t){var n,c,d,p,f,v=e.target,h=e.global,g=e.stat;if(n=h?r:g?r[v]||l(v,{}):r[v]&&r[v].prototype)for(c in t){if(p=t[c],d=e.dontCallGetSet?(f=i(n,c))&&f.value:n[c],!u(h?c:v+(g?".":"#")+c,e.forced)&&void 0!==d){if(typeof p==typeof d)continue;s(p,d)}(e.sham||d&&d.sham)&&a(p,"sham",!0),o(n,c,p,e)}}},function(e,t,n){"use strict";var r=n(25),i=Function.prototype.call;e.exports=r?i.bind(i):function(){return i.apply(i,arguments)}},function(e,t,n){"use strict";var r=n(3);e.exports=!r((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},function(e,t,n){"use strict";e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){"use strict";var r=n(46),i=n(28);e.exports=function(e){return r(i(e))}},function(e,t,n){"use strict";var r=n(47),i=TypeError;e.exports=function(e){if(r(e))throw new i("Can't call method on "+e);return e}},function(e,t,n){"use strict";var r=n(0),i=n(1),a=function(e){return i(e)?e:void 0};e.exports=function(e,t){return arguments.length<2?a(r[e]):r[e]&&r[e][t]}},function(e,t,n){"use strict";var r=n(1),i=n(101),a=TypeError;e.exports=function(e){if(r(e))return e;throw new a(i(e)+" is not a function")}},function(e,t,n){"use strict";var r=n(0),i=n(55),a=n(8),o=n(57),l=n(52),s=n(51),u=r.Symbol,c=i("wks"),d=s?u.for||u:u&&u.withoutSetter||o;e.exports=function(e){return a(c,e)||(c[e]=l&&a(u,e)?u[e]:d("Symbol."+e)),c[e]}},function(e,t,n){"use strict";var r=n(56),i=n(0),a=n(33),o=e.exports=i["__core-js_shared__"]||a("__core-js_shared__",{});(o.versions||(o.versions=[])).push({version:"3.38.1",mode:r?"pure":"global",copyright:"© 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.38.1/LICENSE",source:"https://github.com/zloirock/core-js"})},function(e,t,n){"use strict";var r=n(0),i=Object.defineProperty;e.exports=function(e,t){try{i(r,e,{value:t,configurable:!0,writable:!0})}catch(n){r[e]=t}return t}},function(e,t,n){"use strict";var r=n(28),i=Object;e.exports=function(e){return i(r(e))}},function(e,t,n){"use strict";var r=n(116);e.exports=function(e){return r(e.length)}},function(e,t,n){var r=n(144),i=n(10),a=Object.prototype,o=a.hasOwnProperty,l=a.propertyIsEnumerable,s=r(function(){return arguments}())?r:function(e){return i(e)&&o.call(e,"callee")&&!l.call(e,"callee")};e.exports=s},function(e,t,n){var r=n(9)(n(7),"Map");e.exports=r},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t,n){var r=n(164),i=n(171),a=n(173),o=n(174),l=n(175);function s(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&e<=9007199254740991}},function(e,t,n){var r=n(4),i=n(43),a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,o=/^\w*$/;e.exports=function(e,t){if(r(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!i(e))||(o.test(e)||!a.test(e)||null!=t&&e in Object(t))}},function(e,t,n){var r=n(11),i=n(10);e.exports=function(e){return"symbol"==typeof e||i(e)&&"[object Symbol]"==r(e)}},function(e,t){e.exports=function(e){return e}},function(e,t,n){"use strict";var r=n(5),i=n(24),a=n(98),o=n(26),l=n(27),s=n(48),u=n(8),c=n(58),d=Object.getOwnPropertyDescriptor;t.f=r?d:function(e,t){if(e=l(e),t=s(t),c)try{return d(e,t)}catch(e){}if(u(e,t))return o(!i(a.f,e,t),e[t])}},function(e,t,n){"use strict";var r=n(2),i=n(3),a=n(16),o=Object,l=r("".split);e.exports=i((function(){return!o("z").propertyIsEnumerable(0)}))?function(e){return"String"===a(e)?l(e,""):o(e)}:o},function(e,t,n){"use strict";e.exports=function(e){return null==e}},function(e,t,n){"use strict";var r=n(99),i=n(49);e.exports=function(e){var t=r(e,"string");return i(t)?t:t+""}},function(e,t,n){"use strict";var r=n(29),i=n(1),a=n(50),o=n(51),l=Object;e.exports=o?function(e){return"symbol"==typeof e}:function(e){var t=r("Symbol");return i(t)&&a(t.prototype,l(e))}},function(e,t,n){"use strict";var r=n(2);e.exports=r({}.isPrototypeOf)},function(e,t,n){"use strict";var r=n(52);e.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(e,t,n){"use strict";var r=n(53),i=n(3),a=n(0).String;e.exports=!!Object.getOwnPropertySymbols&&!i((function(){var e=Symbol("symbol detection");return!a(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},function(e,t,n){"use strict";var r,i,a=n(0),o=n(54),l=a.process,s=a.Deno,u=l&&l.versions||s&&s.version,c=u&&u.v8;c&&(i=(r=c.split("."))[0]>0&&r[0]<4?1:+(r[0]+r[1])),!i&&o&&(!(r=o.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=o.match(/Chrome\/(\d+)/))&&(i=+r[1]),e.exports=i},function(e,t,n){"use strict";var r=n(0).navigator,i=r&&r.userAgent;e.exports=i?String(i):""},function(e,t,n){"use strict";var r=n(32);e.exports=function(e,t){return r[e]||(r[e]=t||{})}},function(e,t,n){"use strict";e.exports=!1},function(e,t,n){"use strict";var r=n(2),i=0,a=Math.random(),o=r(1..toString);e.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+o(++i+a,36)}},function(e,t,n){"use strict";var r=n(5),i=n(3),a=n(103);e.exports=!r&&!i((function(){return 7!==Object.defineProperty(a("div"),"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";var r=n(6),i=String,a=TypeError;e.exports=function(e){if(r(e))return e;throw new a(i(e)+" is not an object")}},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var r=n(8),i=n(110),a=n(45),o=n(15);e.exports=function(e,t,n){for(var l=i(t),s=o.f,u=a.f,c=0;cc))return!1;var p=s.get(e),f=s.get(t);if(p&&f)return p==t&&f==e;var v=-1,h=!0,g=2&n?new r:void 0;for(s.set(e,t),s.set(t,e);++v-1&&e%1==0&&e]/;e.exports=function(e){var t,n=""+e,i=r.exec(n);if(!i)return n;var a="",o=0,l=0;for(o=i.index;o=t||n<0||g&&e-u>=a}function k(){var e=f();if(x(e))return w(e);l=setTimeout(k,function(e){var n=t-(e-s);return g?p(n,a-(e-u)):n}(e))}function w(e){return l=void 0,m&&r?b(e):(r=i=void 0,o)}function _(){var e=f(),n=x(e);if(r=arguments,i=this,s=e,n){if(void 0===l)return y(s);if(g)return l=setTimeout(k,t),b(s)}return void 0===l&&(l=setTimeout(k,t)),o}return t=h(t)||0,v(n)&&(c=!!n.leading,a=(g="maxWait"in n)?d(h(n.maxWait)||0,t):a,m="trailing"in n?!!n.trailing:m),_.cancel=function(){void 0!==l&&clearTimeout(l),u=0,r=s=i=l=void 0},_.flush=function(){return void 0===l?o:w(f())},_}},function(e,t,n){"use strict";var r=n(23),i=n(34),a=n(35),o=n(139),l=n(141);r({target:"Array",proto:!0,arity:1,forced:n(3)((function(){return 4294967297!==[].push.call({length:4294967296},1)}))||!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(e){return e instanceof TypeError}}()},{push:function(e){var t=i(this),n=a(t),r=arguments.length;l(n+r);for(var s=0;s79&&o<83||!a("reduce")},{reduce:function(e){var t=arguments.length;return i(this,e,t,t>1?arguments[1]:void 0)}})},function(e,t,n){"use strict";var r={}.propertyIsEnumerable,i=Object.getOwnPropertyDescriptor,a=i&&!r.call({1:2},1);t.f=a?function(e){var t=i(this,e);return!!t&&t.enumerable}:r},function(e,t,n){"use strict";var r=n(24),i=n(6),a=n(49),o=n(100),l=n(102),s=n(31),u=TypeError,c=s("toPrimitive");e.exports=function(e,t){if(!i(e)||a(e))return e;var n,s=o(e,c);if(s){if(void 0===t&&(t="default"),n=r(s,e,t),!i(n)||a(n))return n;throw new u("Can't convert object to primitive value")}return void 0===t&&(t="number"),l(e,t)}},function(e,t,n){"use strict";var r=n(30),i=n(47);e.exports=function(e,t){var n=e[t];return i(n)?void 0:r(n)}},function(e,t,n){"use strict";var r=String;e.exports=function(e){try{return r(e)}catch(e){return"Object"}}},function(e,t,n){"use strict";var r=n(24),i=n(1),a=n(6),o=TypeError;e.exports=function(e,t){var n,l;if("string"===t&&i(n=e.toString)&&!a(l=r(n,e)))return l;if(i(n=e.valueOf)&&!a(l=r(n,e)))return l;if("string"!==t&&i(n=e.toString)&&!a(l=r(n,e)))return l;throw new o("Can't convert object to primitive value")}},function(e,t,n){"use strict";var r=n(0),i=n(6),a=r.document,o=i(a)&&i(a.createElement);e.exports=function(e){return o?a.createElement(e):{}}},function(e,t,n){"use strict";var r=n(5),i=n(3);e.exports=r&&i((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},function(e,t,n){"use strict";var r=n(5),i=n(8),a=Function.prototype,o=r&&Object.getOwnPropertyDescriptor,l=i(a,"name"),s=l&&"something"===function(){}.name,u=l&&(!r||r&&o(a,"name").configurable);e.exports={EXISTS:l,PROPER:s,CONFIGURABLE:u}},function(e,t,n){"use strict";var r=n(2),i=n(1),a=n(32),o=r(Function.toString);i(a.inspectSource)||(a.inspectSource=function(e){return o(e)}),e.exports=a.inspectSource},function(e,t,n){"use strict";var r,i,a,o=n(108),l=n(0),s=n(6),u=n(12),c=n(8),d=n(32),p=n(109),f=n(60),v=l.TypeError,h=l.WeakMap;if(o||d.state){var g=d.state||(d.state=new h);g.get=g.get,g.has=g.has,g.set=g.set,r=function(e,t){if(g.has(e))throw new v("Object already initialized");return t.facade=e,g.set(e,t),t},i=function(e){return g.get(e)||{}},a=function(e){return g.has(e)}}else{var m=p("state");f[m]=!0,r=function(e,t){if(c(e,m))throw new v("Object already initialized");return t.facade=e,u(e,m,t),t},i=function(e){return c(e,m)?e[m]:{}},a=function(e){return c(e,m)}}e.exports={set:r,get:i,has:a,enforce:function(e){return a(e)?i(e):r(e,{})},getterFor:function(e){return function(t){var n;if(!s(t)||(n=i(t)).type!==e)throw new v("Incompatible receiver, "+e+" required");return n}}}},function(e,t,n){"use strict";var r=n(0),i=n(1),a=r.WeakMap;e.exports=i(a)&&/native code/.test(String(a))},function(e,t,n){"use strict";var r=n(55),i=n(57),a=r("keys");e.exports=function(e){return a[e]||(a[e]=i(e))}},function(e,t,n){"use strict";var r=n(29),i=n(2),a=n(111),o=n(118),l=n(59),s=i([].concat);e.exports=r("Reflect","ownKeys")||function(e){var t=a.f(l(e)),n=o.f;return n?s(t,n(e)):t}},function(e,t,n){"use strict";var r=n(112),i=n(117).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},function(e,t,n){"use strict";var r=n(2),i=n(8),a=n(27),o=n(113).indexOf,l=n(60),s=r([].push);e.exports=function(e,t){var n,r=a(e),u=0,c=[];for(n in r)!i(l,n)&&i(r,n)&&s(c,n);for(;t.length>u;)i(r,n=t[u++])&&(~o(c,n)||s(c,n));return c}},function(e,t,n){"use strict";var r=n(27),i=n(114),a=n(35),o=function(e){return function(t,n,o){var l=r(t),s=a(l);if(0===s)return!e&&-1;var u,c=i(o,s);if(e&&n!=n){for(;s>c;)if((u=l[c++])!=u)return!0}else for(;s>c;c++)if((e||c in l)&&l[c]===n)return e||c||0;return!e&&-1}};e.exports={includes:o(!0),indexOf:o(!1)}},function(e,t,n){"use strict";var r=n(62),i=Math.max,a=Math.min;e.exports=function(e,t){var n=r(e);return n<0?i(n+t,0):a(n,t)}},function(e,t,n){"use strict";var r=Math.ceil,i=Math.floor;e.exports=Math.trunc||function(e){var t=+e;return(t>0?i:r)(t)}},function(e,t,n){"use strict";var r=n(62),i=Math.min;e.exports=function(e){var t=r(e);return t>0?i(t,9007199254740991):0}},function(e,t,n){"use strict";e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,t,n){"use strict";t.f=Object.getOwnPropertySymbols},function(e,t,n){"use strict";var r=n(3),i=n(1),a=/#|\.prototype\./,o=function(e,t){var n=s[l(e)];return n===c||n!==u&&(i(t)?r(t):!!t)},l=o.normalize=function(e){return String(e).replace(a,".").toLowerCase()},s=o.data={},u=o.NATIVE="N",c=o.POLYFILL="P";e.exports=o},function(e,t,n){"use strict";var r=n(30),i=n(34),a=n(46),o=n(35),l=TypeError,s="Reduce of empty array with no initial value",u=function(e){return function(t,n,u,c){var d=i(t),p=a(d),f=o(d);if(r(n),0===f&&u<2)throw new l(s);var v=e?f-1:0,h=e?-1:1;if(u<2)for(;;){if(v in p){c=p[v],v+=h;break}if(v+=h,e?v<0:f<=v)throw new l(s)}for(;e?v>=0:f>v;v+=h)v in p&&(c=n(c,p[v],v,d));return c}};e.exports={left:u(!1),right:u(!0)}},function(e,t,n){"use strict";var r=n(3);e.exports=function(e,t){var n=[][e];return!!n&&r((function(){n.call(null,t||function(){return 1},1)}))}},function(e,t,n){"use strict";var r=n(123);e.exports="NODE"===r},function(e,t,n){"use strict";var r=n(0),i=n(54),a=n(16),o=function(e){return i.slice(0,e.length)===e};e.exports=o("Bun/")?"BUN":o("Cloudflare-Workers")?"CLOUDFLARE":o("Deno/")?"DENO":o("Node.js/")?"NODE":r.Bun&&"string"==typeof Bun.version?"BUN":r.Deno&&"object"==typeof Deno.version?"DENO":"process"===a(r.process)?"NODE":r.window&&r.document?"BROWSER":"REST"},function(e,t,n){"use strict";var r=n(23),i=n(0),a=n(125),o=n(126),l=i.WebAssembly,s=7!==new Error("e",{cause:7}).cause,u=function(e,t){var n={};n[e]=o(e,t,s),r({global:!0,constructor:!0,arity:1,forced:s},n)},c=function(e,t){if(l&&l[e]){var n={};n[e]=o("WebAssembly."+e,t,s),r({target:"WebAssembly",stat:!0,constructor:!0,arity:1,forced:s},n)}};u("Error",(function(e){return function(t){return a(e,this,arguments)}})),u("EvalError",(function(e){return function(t){return a(e,this,arguments)}})),u("RangeError",(function(e){return function(t){return a(e,this,arguments)}})),u("ReferenceError",(function(e){return function(t){return a(e,this,arguments)}})),u("SyntaxError",(function(e){return function(t){return a(e,this,arguments)}})),u("TypeError",(function(e){return function(t){return a(e,this,arguments)}})),u("URIError",(function(e){return function(t){return a(e,this,arguments)}})),c("CompileError",(function(e){return function(t){return a(e,this,arguments)}})),c("LinkError",(function(e){return function(t){return a(e,this,arguments)}})),c("RuntimeError",(function(e){return function(t){return a(e,this,arguments)}}))},function(e,t,n){"use strict";var r=n(25),i=Function.prototype,a=i.apply,o=i.call;e.exports="object"==typeof Reflect&&Reflect.apply||(r?o.bind(a):function(){return o.apply(a,arguments)})},function(e,t,n){"use strict";var r=n(29),i=n(8),a=n(12),o=n(50),l=n(63),s=n(61),u=n(130),c=n(131),d=n(132),p=n(135),f=n(136),v=n(5),h=n(56);e.exports=function(e,t,n,g){var m=g?2:1,b=e.split("."),y=b[b.length-1],x=r.apply(null,b);if(x){var k=x.prototype;if(!h&&i(k,"cause")&&delete k.cause,!n)return x;var w=r("Error"),_=t((function(e,t){var n=d(g?t:e,void 0),r=g?new x(e):new x;return void 0!==n&&a(r,"message",n),f(r,_,r.stack,2),this&&o(k,this)&&c(r,this,_),arguments.length>m&&p(r,arguments[m]),r}));if(_.prototype=k,"Error"!==y?l?l(_,w):s(_,w,{name:!0}):v&&"stackTraceLimit"in x&&(u(_,x,"stackTraceLimit"),u(_,x,"prepareStackTrace")),s(_,x),!h)try{k.name!==y&&a(k,"name",y),k.constructor=_}catch(e){}return _}}},function(e,t,n){"use strict";var r=n(2),i=n(30);e.exports=function(e,t,n){try{return r(i(Object.getOwnPropertyDescriptor(e,t)[n]))}catch(e){}}},function(e,t,n){"use strict";var r=n(129),i=String,a=TypeError;e.exports=function(e){if(r(e))return e;throw new a("Can't set "+i(e)+" as a prototype")}},function(e,t,n){"use strict";var r=n(6);e.exports=function(e){return r(e)||null===e}},function(e,t,n){"use strict";var r=n(15).f;e.exports=function(e,t,n){n in e||r(e,n,{configurable:!0,get:function(){return t[n]},set:function(e){t[n]=e}})}},function(e,t,n){"use strict";var r=n(1),i=n(6),a=n(63);e.exports=function(e,t,n){var o,l;return a&&r(o=t.constructor)&&o!==n&&i(l=o.prototype)&&l!==n.prototype&&a(e,l),e}},function(e,t,n){"use strict";var r=n(93);e.exports=function(e,t){return void 0===e?arguments.length<2?"":t:r(e)}},function(e,t,n){"use strict";var r=n(134),i=n(1),a=n(16),o=n(31)("toStringTag"),l=Object,s="Arguments"===a(function(){return arguments}());e.exports=r?a:function(e){var t,n,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=l(e),o))?n:s?a(t):"Object"===(r=a(t))&&i(t.callee)?"Arguments":r}},function(e,t,n){"use strict";var r={};r[n(31)("toStringTag")]="z",e.exports="[object z]"===String(r)},function(e,t,n){"use strict";var r=n(6),i=n(12);e.exports=function(e,t){r(t)&&"cause"in t&&i(e,"cause",t.cause)}},function(e,t,n){"use strict";var r=n(12),i=n(137),a=n(138),o=Error.captureStackTrace;e.exports=function(e,t,n,l){a&&(o?o(e,t):r(e,"stack",i(n,l)))}},function(e,t,n){"use strict";var r=n(2),i=Error,a=r("".replace),o=String(new i("zxcasd").stack),l=/\n\s*at [^:]*:[^\n]*/,s=l.test(o);e.exports=function(e,t){if(s&&"string"==typeof e&&!i.prepareStackTrace)for(;t--;)e=a(e,l,"");return e}},function(e,t,n){"use strict";var r=n(3),i=n(26);e.exports=!r((function(){var e=new Error("a");return!("stack"in e)||(Object.defineProperty(e,"stack",i(1,7)),7!==e.stack)}))},function(e,t,n){"use strict";var r=n(5),i=n(140),a=TypeError,o=Object.getOwnPropertyDescriptor,l=r&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(e){return e instanceof TypeError}}();e.exports=l?function(e,t){if(i(e)&&!o(e,"length").writable)throw new a("Cannot set read only .length");return e.length=t}:function(e,t){return e.length=t}},function(e,t,n){"use strict";var r=n(16);e.exports=Array.isArray||function(e){return"Array"===r(e)}},function(e,t,n){"use strict";var r=TypeError;e.exports=function(e){if(e>9007199254740991)throw r("Maximum allowed index exceeded");return e}},function(e,t,n){var r=n(64),i=n(143);e.exports=function e(t,n,a,o,l){var s=-1,u=t.length;for(a||(a=i),l||(l=[]);++s0&&a(c)?n>1?e(c,n-1,a,o,l):r(l,c):o||(l[l.length]=c)}return l}},function(e,t,n){var r=n(13),i=n(36),a=n(4),o=r?r.isConcatSpreadable:void 0;e.exports=function(e){return a(e)||i(e)||!!(o&&e&&e[o])}},function(e,t,n){var r=n(11),i=n(10);e.exports=function(e){return i(e)&&"[object Arguments]"==r(e)}},function(e,t,n){var r=n(13),i=Object.prototype,a=i.hasOwnProperty,o=i.toString,l=r?r.toStringTag:void 0;e.exports=function(e){var t=a.call(e,l),n=e[l];try{e[l]=void 0;var r=!0}catch(e){}var i=o.call(e);return r&&(t?e[l]=n:delete e[l]),i}},function(e,t){var n=Object.prototype.toString;e.exports=function(e){return n.call(e)}},function(e,t,n){var r=n(148),i=n(204),a=n(44),o=n(4),l=n(214);e.exports=function(e){return"function"==typeof e?e:null==e?a:"object"==typeof e?o(e)?i(e[0],e[1]):r(e):l(e)}},function(e,t,n){var r=n(149),i=n(203),a=n(82);e.exports=function(e){var t=i(e);return 1==t.length&&t[0][2]?a(t[0][0],t[0][1]):function(n){return n===e||r(n,e,t)}}},function(e,t,n){var r=n(66),i=n(70);e.exports=function(e,t,n,a){var o=n.length,l=o,s=!a;if(null==e)return!l;for(e=Object(e);o--;){var u=n[o];if(s&&u[2]?u[1]!==e[u[0]]:!(u[0]in e))return!1}for(;++o-1}},function(e,t,n){var r=n(18);e.exports=function(e,t){var n=this.__data__,i=r(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this}},function(e,t,n){var r=n(17);e.exports=function(){this.__data__=new r,this.size=0}},function(e,t){e.exports=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}},function(e,t){e.exports=function(e){return this.__data__.get(e)}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t,n){var r=n(17),i=n(37),a=n(39);e.exports=function(e,t){var n=this.__data__;if(n instanceof r){var o=n.__data__;if(!i||o.length<199)return o.push([e,t]),this.size=++n.size,this;n=this.__data__=new a(o)}return n.set(e,t),this.size=n.size,this}},function(e,t,n){var r=n(68),i=n(161),a=n(38),o=n(69),l=/^\[object .+?Constructor\]$/,s=Function.prototype,u=Object.prototype,c=s.toString,d=u.hasOwnProperty,p=RegExp("^"+c.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!a(e)||i(e))&&(r(e)?p:l).test(o(e))}},function(e,t,n){var r,i=n(162),a=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";e.exports=function(e){return!!a&&a in e}},function(e,t,n){var r=n(7)["__core-js_shared__"];e.exports=r},function(e,t){e.exports=function(e,t){return null==e?void 0:e[t]}},function(e,t,n){var r=n(165),i=n(17),a=n(37);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(a||i),string:new r}}},function(e,t,n){var r=n(166),i=n(167),a=n(168),o=n(169),l=n(170);function s(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}},function(e,t,n){var r=n(72),i=n(226),a=n(231),o=n(73),l=n(232),s=n(40);e.exports=function(e,t,n){var u=-1,c=i,d=e.length,p=!0,f=[],v=f;if(n)p=!1,c=a;else if(d>=200){var h=t?null:l(e);if(h)return s(h);p=!1,c=o,v=new r}else v=t?[]:f;e:for(;++u-1}},function(e,t,n){var r=n(228),i=n(229),a=n(230);e.exports=function(e,t,n){return t==t?a(e,t,n):r(e,i,n)}},function(e,t){e.exports=function(e,t,n,r){for(var i=e.length,a=n+(r?1:-1);r?a--:++a=0&&Math.floor(t)===t&&isFinite(e)}function h(e){return o(e)&&"function"==typeof e.then&&"function"==typeof e.catch}function g(e){return null==e?"":Array.isArray(e)||p(e)&&e.toString===d?JSON.stringify(e,m,2):String(e)}function m(e,t){return t&&t.__v_isRef?t.value:t}function b(e){var t=parseFloat(e);return isNaN(t)?e:t}function y(e,t){for(var n=Object.create(null),r=e.split(","),i=0;i-1)return e.splice(r,1)}}var w=Object.prototype.hasOwnProperty;function _(e,t){return w.call(e,t)}function S(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}var A=/-(\w)/g,P=S((function(e){return e.replace(A,(function(e,t){return t?t.toUpperCase():""}))})),C=S((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),L=/\B([A-Z])/g,E=S((function(e){return e.replace(L,"-$1").toLowerCase()}));var O=Function.prototype.bind?function(e,t){return e.bind(t)}:function(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n};function I(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function j(e,t){for(var n in t)e[n]=t[n];return e}function $(e){for(var t={},n=0;n0,Z=J&&J.indexOf("edge/")>0;J&&J.indexOf("android");var ee=J&&/iphone|ipad|ipod|ios/.test(J);J&&/chrome\/\d+/.test(J),J&&/phantomjs/.test(J);var te,ne=J&&J.match(/firefox\/(\d+)/),re={}.watch,ie=!1;if(Q)try{var ae={};Object.defineProperty(ae,"passive",{get:function(){ie=!0}}),window.addEventListener("test-passive",null,ae)}catch(e){}var oe=function(){return void 0===te&&(te=!Q&&"undefined"!=typeof global&&(global.process&&"server"===global.process.env.VUE_ENV)),te},le=Q&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function se(e){return"function"==typeof e&&/native code/.test(e.toString())}var ue,ce="undefined"!=typeof Symbol&&se(Symbol)&&"undefined"!=typeof Reflect&&se(Reflect.ownKeys);ue="undefined"!=typeof Set&&se(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var de=null;function pe(e){void 0===e&&(e=null),e||de&&de._scope.off(),de=e,e&&e._scope.on()}var fe=function(){function e(e,t,n,r,i,a,o,l){this.tag=e,this.data=t,this.children=n,this.text=r,this.elm=i,this.ns=void 0,this.context=a,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=t&&t.key,this.componentOptions=o,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=l,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1}return Object.defineProperty(e.prototype,"child",{get:function(){return this.componentInstance},enumerable:!1,configurable:!0}),e}(),ve=function(e){void 0===e&&(e="");var t=new fe;return t.text=e,t.isComment=!0,t};function he(e){return new fe(void 0,void 0,void 0,String(e))}function ge(e){var t=new fe(e.tag,e.data,e.children&&e.children.slice(),e.text,e.elm,e.context,e.componentOptions,e.asyncFactory);return t.ns=e.ns,t.isStatic=e.isStatic,t.key=e.key,t.isComment=e.isComment,t.fnContext=e.fnContext,t.fnOptions=e.fnOptions,t.fnScopeId=e.fnScopeId,t.asyncMeta=e.asyncMeta,t.isCloned=!0,t}"function"==typeof SuppressedError&&SuppressedError;var me=0,be=[],ye=function(){function e(){this._pending=!1,this.id=me++,this.subs=[]}return e.prototype.addSub=function(e){this.subs.push(e)},e.prototype.removeSub=function(e){this.subs[this.subs.indexOf(e)]=null,this._pending||(this._pending=!0,be.push(this))},e.prototype.depend=function(t){e.target&&e.target.addDep(this)},e.prototype.notify=function(e){var t=this.subs.filter((function(e){return e}));for(var n=0,r=t.length;n0&&(Je((u=e(u,"".concat(n||"","_").concat(r)))[0])&&Je(d)&&(p[c]=he(d.text+u[0].text),u.shift()),p.push.apply(p,u)):s(u)?Je(d)?p[c]=he(d.text+u):""!==u&&p.push(he(u)):Je(u)&&Je(d)?p[c]=he(d.text+u.text):(l(t._isVList)&&o(u.tag)&&a(u.key)&&o(n)&&(u.key="__vlist".concat(n,"_").concat(r,"__")),p.push(u)));return p}(e):void 0}function Je(e){return o(e)&&o(e.text)&&!1===e.isComment}function Xe(e,t){var n,r,a,l,s=null;if(i(e)||"string"==typeof e)for(s=new Array(e.length),n=0,r=e.length;n0,l=t?!!t.$stable:!o,s=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(l&&i&&i!==r&&s===i.$key&&!o&&!i.$hasNormal)return i;for(var u in a={},t)t[u]&&"$"!==u[0]&&(a[u]=gt(e,n,u,t[u]))}else a={};for(var c in n)c in a||(a[c]=mt(n,c));return t&&Object.isExtensible(t)&&(t._normalized=a),z(a,"$stable",l),z(a,"$key",s),z(a,"$hasNormal",o),a}function gt(e,t,n,r){var a=function(){var t=de;pe(e);var n=arguments.length?r.apply(null,arguments):r({}),a=(n=n&&"object"==typeof n&&!i(n)?[n]:Qe(n))&&n[0];return pe(t),n&&(!a||1===n.length&&a.isComment&&!vt(a))?void 0:n};return r.proxy&&Object.defineProperty(t,n,{get:a,enumerable:!0,configurable:!0}),a}function mt(e,t){return function(){return e[t]}}function bt(e){return{get attrs(){if(!e._attrsProxy){var t=e._attrsProxy={};z(t,"_v_attr_proxy",!0),yt(t,e.$attrs,r,e,"$attrs")}return e._attrsProxy},get listeners(){e._listenersProxy||yt(e._listenersProxy={},e.$listeners,r,e,"$listeners");return e._listenersProxy},get slots(){return function(e){e._slotsProxy||kt(e._slotsProxy={},e.$scopedSlots);return e._slotsProxy}(e)},emit:O(e.$emit,e),expose:function(t){t&&Object.keys(t).forEach((function(n){return Be(e,t,n)}))}}}function yt(e,t,n,r,i){var a=!1;for(var o in t)o in e?t[o]!==n[o]&&(a=!0):(a=!0,xt(e,o,r,i));for(var o in e)o in t||(a=!0,delete e[o]);return a}function xt(e,t,n,r){Object.defineProperty(e,t,{enumerable:!0,configurable:!0,get:function(){return n[r][t]}})}function kt(e,t){for(var n in t)e[n]=t[n];for(var n in e)n in t||delete e[n]}var wt=null;function _t(e,t){return(e.__esModule||ce&&"Module"===e[Symbol.toStringTag])&&(e=e.default),c(e)?t.extend(e):e}function St(e){if(i(e))for(var t=0;tdocument.createEvent("Event").timeStamp&&(un=function(){return cn.now()})}var dn=function(e,t){if(e.post){if(!t.post)return 1}else if(t.post)return-1;return e.id-t.id};function pn(){var e,t;for(sn=un(),on=!0,tn.sort(dn),ln=0;lnln&&tn[n].id>e.id;)n--;tn.splice(n+1,0,e)}else tn.push(e);an||(an=!0,Dt(pn))}}function vn(e,t){if(e){for(var n=Object.create(null),r=ce?Reflect.ownKeys(e):Object.keys(e),i=0;i-1)if(a&&!_(i,"default"))o=!1;else if(""===o||o===E(e)){var s=Tn(String,i.type);(s<0||l-1:"string"==typeof e?e.split(",").indexOf(t)>-1:!!f(e)&&e.test(t)}function Xn(e,t){var n=e.cache,r=e.keys,i=e._vnode,a=e.$vnode;for(var o in n){var l=n[o];if(l){var s=l.name;s&&!t(s)&&Yn(n,o,r,i)}}a.componentOptions.children=void 0}function Yn(e,t,n,r){var i=e[t];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),e[t]=null,k(n,t)}Wn.prototype._init=function(e){var t=this;t._uid=qn++,t._isVue=!0,t.__v_skip=!0,t._scope=new He(!0),t._scope.parent=void 0,t._scope._vm=!0,e&&e._isComponent?function(e,t){var n=e.$options=Object.create(e.constructor.options),r=t._parentVnode;n.parent=t.parent,n._parentVnode=r;var i=r.componentOptions;n.propsData=i.propsData,n._parentListeners=i.listeners,n._renderChildren=i.children,n._componentTag=i.tag,t.render&&(n.render=t.render,n.staticRenderFns=t.staticRenderFns)}(t,e):t.$options=On(zn(t.constructor),e||{},t),t._renderProxy=t,t._self=t,function(e){var t=e.$options,n=t.parent;if(n&&!t.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._provided=n?n._provided:Object.create(null),e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}(t),function(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$options._parentListeners;t&&Qt(e,t)}(t),function(e){e._vnode=null,e._staticTrees=null;var t=e.$options,n=e.$vnode=t._parentVnode,i=n&&n.context;e.$slots=pt(t._renderChildren,i),e.$scopedSlots=n?ht(e.$parent,n.data.scopedSlots,e.$slots):r,e._c=function(t,n,r,i){return At(e,t,n,r,i,!1)},e.$createElement=function(t,n,r,i){return At(e,t,n,r,i,!0)};var a=n&&n.data;je(e,"$attrs",a&&a.attrs||r,null,!0),je(e,"$listeners",t._parentListeners||r,null,!0)}(t),en(t,"beforeCreate",void 0,!1),function(e){var t=vn(e.$options.inject,e);t&&(Le(!1),Object.keys(t).forEach((function(n){je(e,n,t[n])})),Le(!0))}(t),Dn(t),function(e){var t=e.$options.provide;if(t){var n=u(t)?t.call(e):t;if(!c(n))return;for(var r=Ue(e),i=ce?Reflect.ownKeys(n):Object.keys(n),a=0;a1?I(n):n;for(var r=I(arguments,1),i='event handler for "'.concat(e,'"'),a=0,o=n.length;aparseInt(this.max)&&Yn(e,t[0],t,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)Yn(this.cache,e,this.keys)},mounted:function(){var e=this;this.cacheVNode(),this.$watch("include",(function(t){Xn(e,(function(e){return Jn(t,e)}))})),this.$watch("exclude",(function(t){Xn(e,(function(e){return!Jn(t,e)}))}))},updated:function(){this.cacheVNode()},render:function(){var e=this.$slots.default,t=St(e),n=t&&t.componentOptions;if(n){var r=Qn(n),i=this.include,a=this.exclude;if(i&&(!r||!Jn(i,r))||a&&r&&Jn(a,r))return t;var o=this.cache,l=this.keys,s=null==t.key?n.Ctor.cid+(n.tag?"::".concat(n.tag):""):t.key;o[s]?(t.componentInstance=o[s].componentInstance,k(l,s),l.push(s)):(this.vnodeToCache=t,this.keyToCache=s),t.data.keepAlive=!0}return t||e&&e[0]}}};!function(e){var t={get:function(){return U}};Object.defineProperty(e,"config",t),e.util={warn:_n,extend:j,mergeOptions:On,defineReactive:je},e.set=$e,e.delete=Re,e.nextTick=Dt,e.observable=function(e){return Ie(e),e},e.options=Object.create(null),F.forEach((function(t){e.options[t+"s"]=Object.create(null)})),e.options._base=e,j(e.options.components,er),function(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=I(arguments,1);return n.unshift(this),u(e.install)?e.install.apply(e,n):u(e)&&e.apply(null,n),t.push(e),this}}(e),function(e){e.mixin=function(e){return this.options=On(this.options,e),this}}(e),Kn(e),function(e){F.forEach((function(t){e[t]=function(e,n){return n?("component"===t&&p(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&u(n)&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}}))}(e)}(Wn),Object.defineProperty(Wn.prototype,"$isServer",{get:oe}),Object.defineProperty(Wn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Wn,"FunctionalRenderContext",{value:hn}),Wn.version="2.7.16";var tr=y("style,class"),nr=y("input,textarea,option,select,progress"),rr=y("contenteditable,draggable,spellcheck"),ir=y("events,caret,typing,plaintext-only"),ar=y("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),or="http://www.w3.org/1999/xlink",lr=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},sr=function(e){return lr(e)?e.slice(6,e.length):""},ur=function(e){return null==e||!1===e};function cr(e){for(var t=e.data,n=e,r=e;o(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(t=dr(r.data,t));for(;o(n=n.parent);)n&&n.data&&(t=dr(t,n.data));return function(e,t){if(o(e)||o(t))return pr(e,fr(t));return""}(t.staticClass,t.class)}function dr(e,t){return{staticClass:pr(e.staticClass,t.staticClass),class:o(e.class)?[e.class,t.class]:t.class}}function pr(e,t){return e?t?e+" "+t:e:t||""}function fr(e){return Array.isArray(e)?function(e){for(var t,n="",r=0,i=e.length;r-1?Nr(e,t,n):ar(t)?ur(n)?e.removeAttribute(t):(n="allowfullscreen"===t&&"EMBED"===e.tagName?"true":t,e.setAttribute(t,n)):rr(t)?e.setAttribute(t,function(e,t){return ur(t)||"false"===t?"false":"contenteditable"===e&&ir(t)?t:"true"}(t,n)):lr(t)?ur(n)?e.removeAttributeNS(or,sr(t)):e.setAttributeNS(or,t,n):Nr(e,t,n)}function Nr(e,t,n){if(ur(n))e.removeAttribute(t);else{if(X&&!Y&&"TEXTAREA"===e.tagName&&"placeholder"===t&&""!==n&&!e.__ieph){var r=function(t){t.stopImmediatePropagation(),e.removeEventListener("input",r)};e.addEventListener("input",r),e.__ieph=!0}e.setAttribute(t,n)}}var Gr={create:Mr,update:Mr};function Dr(e,t){var n=t.elm,r=t.data,i=e.data;if(!(a(r.staticClass)&&a(r.class)&&(a(i)||a(i.staticClass)&&a(i.class)))){var l=cr(t),s=n._transitionClasses;o(s)&&(l=pr(l,fr(s))),l!==n._prevClass&&(n.setAttribute("class",l),n._prevClass=l)}}var Br,Fr={create:Dr,update:Dr};function Hr(e,t,n){var r=Br;return function i(){var a=t.apply(null,arguments);null!==a&&qr(e,i,n,r)}}var Ur=It&&!(ne&&Number(ne[1])<=53);function Vr(e,t,n,r){if(Ur){var i=sn,a=t;t=a._wrapper=function(e){if(e.target===e.currentTarget||e.timeStamp>=i||e.timeStamp<=0||e.target.ownerDocument!==document)return a.apply(this,arguments)}}Br.addEventListener(e,t,ie?{capture:n,passive:r}:n)}function qr(e,t,n,r){(r||Br).removeEventListener(e,t._wrapper||t,n)}function zr(e,t){if(!a(e.data.on)||!a(t.data.on)){var n=t.data.on||{},r=e.data.on||{};Br=t.elm||e.elm,function(e){if(o(e.__r)){var t=X?"change":"input";e[t]=[].concat(e.__r,e[t]||[]),delete e.__r}o(e.__c)&&(e.change=[].concat(e.__c,e.change||[]),delete e.__c)}(n),ze(n,r,Vr,qr,Hr,t.context),Br=void 0}}var Wr,Kr={create:zr,update:zr,destroy:function(e){return zr(e,Sr)}};function Qr(e,t){if(!a(e.data.domProps)||!a(t.data.domProps)){var n,r,i=t.elm,s=e.data.domProps||{},u=t.data.domProps||{};for(n in(o(u.__ob__)||l(u._v_attr_proxy))&&(u=t.data.domProps=j({},u)),s)n in u||(i[n]="");for(n in u){if(r=u[n],"textContent"===n||"innerHTML"===n){if(t.children&&(t.children.length=0),r===s[n])continue;1===i.childNodes.length&&i.removeChild(i.childNodes[0])}if("value"===n&&"PROGRESS"!==i.tagName){i._value=r;var c=a(r)?"":String(r);Jr(i,c)&&(i.value=c)}else if("innerHTML"===n&&gr(i.tagName)&&a(i.innerHTML)){(Wr=Wr||document.createElement("div")).innerHTML="".concat(r,"");for(var d=Wr.firstChild;i.firstChild;)i.removeChild(i.firstChild);for(;d.firstChild;)i.appendChild(d.firstChild)}else if(r!==s[n])try{i[n]=r}catch(e){}}}}function Jr(e,t){return!e.composing&&("OPTION"===e.tagName||function(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}(e,t)||function(e,t){var n=e.value,r=e._vModifiers;if(o(r)){if(r.number)return b(n)!==b(t);if(r.trim)return n.trim()!==t.trim()}return n!==t}(e,t))}var Xr={create:Qr,update:Qr},Yr=S((function(e){var t={},n=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach((function(e){if(e){var r=e.split(n);r.length>1&&(t[r[0].trim()]=r[1].trim())}})),t}));function Zr(e){var t=ei(e.style);return e.staticStyle?j(e.staticStyle,t):t}function ei(e){return Array.isArray(e)?$(e):"string"==typeof e?Yr(e):e}var ti,ni=/^--/,ri=/\s*!important$/,ii=function(e,t,n){if(ni.test(t))e.style.setProperty(t,n);else if(ri.test(n))e.style.setProperty(E(t),n.replace(ri,""),"important");else{var r=oi(t);if(Array.isArray(n))for(var i=0,a=n.length;i-1?t.split(ui).forEach((function(t){return e.classList.add(t)})):e.classList.add(t);else{var n=" ".concat(e.getAttribute("class")||""," ");n.indexOf(" "+t+" ")<0&&e.setAttribute("class",(n+t).trim())}}function di(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(ui).forEach((function(t){return e.classList.remove(t)})):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{for(var n=" ".concat(e.getAttribute("class")||""," "),r=" "+t+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?e.setAttribute("class",n):e.removeAttribute("class")}}function pi(e){if(e){if("object"==typeof e){var t={};return!1!==e.css&&j(t,fi(e.name||"v")),j(t,e),t}return"string"==typeof e?fi(e):void 0}}var fi=S((function(e){return{enterClass:"".concat(e,"-enter"),enterToClass:"".concat(e,"-enter-to"),enterActiveClass:"".concat(e,"-enter-active"),leaveClass:"".concat(e,"-leave"),leaveToClass:"".concat(e,"-leave-to"),leaveActiveClass:"".concat(e,"-leave-active")}})),vi=Q&&!Y,hi="transition",gi="transitionend",mi="animation",bi="animationend";vi&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(hi="WebkitTransition",gi="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(mi="WebkitAnimation",bi="webkitAnimationEnd"));var yi=Q?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function xi(e){yi((function(){yi(e)}))}function ki(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),ci(e,t))}function wi(e,t){e._transitionClasses&&k(e._transitionClasses,t),di(e,t)}function _i(e,t,n){var r=Ai(e,t),i=r.type,a=r.timeout,o=r.propCount;if(!i)return n();var l="transition"===i?gi:bi,s=0,u=function(){e.removeEventListener(l,c),n()},c=function(t){t.target===e&&++s>=o&&u()};setTimeout((function(){s0&&(n="transition",c=o,d=a.length):"animation"===t?u>0&&(n="animation",c=u,d=s.length):d=(n=(c=Math.max(o,u))>0?o>u?"transition":"animation":null)?"transition"===n?a.length:s.length:0,{type:n,timeout:c,propCount:d,hasTransform:"transition"===n&&Si.test(r[hi+"Property"])}}function Pi(e,t){for(;e.length1}function ji(e,t){!0!==t.data.show&&Li(t)}var $i=function(e){var t,n,r={},u=e.modules,c=e.nodeOps;for(t=0;tv?x(e,a(n[m+1])?null:n[m+1].elm,n,f,m,r):f>m&&w(t,d,v)}(d,h,m,n,u):o(m)?(o(e.text)&&c.setTextContent(d,""),x(d,null,m,0,m.length-1,n)):o(h)?w(h,0,h.length-1):o(e.text)&&c.setTextContent(d,""):e.text!==t.text&&c.setTextContent(d,t.text),o(v)&&o(f=v.hook)&&o(f=f.postpatch)&&f(e,t)}}}function P(e,t,n){if(l(n)&&o(e.parent))e.parent.data.pendingInsert=t;else for(var r=0;r-1,o.selected!==a&&(o.selected=a);else if(N(Gi(o),r))return void(e.selectedIndex!==l&&(e.selectedIndex=l));i||(e.selectedIndex=-1)}}function Ni(e,t){return t.every((function(t){return!N(t,e)}))}function Gi(e){return"_value"in e?e._value:e.value}function Di(e){e.target.composing=!0}function Bi(e){e.target.composing&&(e.target.composing=!1,Fi(e.target,"input"))}function Fi(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function Hi(e){return!e.componentInstance||e.data&&e.data.transition?e:Hi(e.componentInstance._vnode)}var Ui={model:Ri,show:{bind:function(e,t,n){var r=t.value,i=(n=Hi(n)).data&&n.data.transition,a=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;r&&i?(n.data.show=!0,Li(n,(function(){e.style.display=a}))):e.style.display=r?a:"none"},update:function(e,t,n){var r=t.value;!r!=!t.oldValue&&((n=Hi(n)).data&&n.data.transition?(n.data.show=!0,r?Li(n,(function(){e.style.display=e.__vOriginalDisplay})):Ei(n,(function(){e.style.display="none"}))):e.style.display=r?e.__vOriginalDisplay:"none")},unbind:function(e,t,n,r,i){i||(e.style.display=e.__vOriginalDisplay)}}},Vi={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function qi(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?qi(St(t.children)):e}function zi(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];var i=n._parentListeners;for(var r in i)t[P(r)]=i[r];return t}function Wi(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}var Ki=function(e){return e.tag||vt(e)},Qi=function(e){return"show"===e.name},Ji={name:"transition",props:Vi,abstract:!0,render:function(e){var t=this,n=this.$slots.default;if(n&&(n=n.filter(Ki)).length){0;var r=this.mode;0;var i=n[0];if(function(e){for(;e=e.parent;)if(e.data.transition)return!0}(this.$vnode))return i;var a=qi(i);if(!a)return i;if(this._leaving)return Wi(e,i);var o="__transition-".concat(this._uid,"-");a.key=null==a.key?a.isComment?o+"comment":o+a.tag:s(a.key)?0===String(a.key).indexOf(o)?a.key:o+a.key:a.key;var l=(a.data||(a.data={})).transition=zi(this),u=this._vnode,c=qi(u);if(a.data.directives&&a.data.directives.some(Qi)&&(a.data.show=!0),c&&c.data&&!function(e,t){return t.key===e.key&&t.tag===e.tag}(a,c)&&!vt(c)&&(!c.componentInstance||!c.componentInstance._vnode.isComment)){var d=c.data.transition=j({},l);if("out-in"===r)return this._leaving=!0,We(d,"afterLeave",(function(){t._leaving=!1,t.$forceUpdate()})),Wi(e,i);if("in-out"===r){if(vt(a))return u;var p,f=function(){p()};We(l,"afterEnter",f),We(l,"enterCancelled",f),We(d,"delayLeave",(function(e){p=e}))}}return i}}},Xi=j({tag:String,moveClass:String},Vi);function Yi(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function Zi(e){e.data.newPos=e.elm.getBoundingClientRect()}function ea(e){var t=e.data.pos,n=e.data.newPos,r=t.left-n.left,i=t.top-n.top;if(r||i){e.data.moved=!0;var a=e.elm.style;a.transform=a.WebkitTransform="translate(".concat(r,"px,").concat(i,"px)"),a.transitionDuration="0s"}}delete Xi.mode;var ta={Transition:Ji,TransitionGroup:{props:Xi,beforeMount:function(){var e=this,t=this._update;this._update=function(n,r){var i=Xt(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode=e.kept,i(),t.call(e,n,r)}},render:function(e){for(var t=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],a=this.children=[],o=zi(this),l=0;l-1?br[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:br[e]=/HTMLUnknownElement/.test(t.toString())},j(Wn.options.directives,Ui),j(Wn.options.components,ta),Wn.prototype.__patch__=Q?$i:R,Wn.prototype.$mount=function(e,t){return function(e,t,n){var r;e.$el=t,e.$options.render||(e.$options.render=ve),en(e,"beforeMount"),r=function(){e._update(e._render(),n)},new qt(e,r,R,{before:function(){e._isMounted&&!e._isDestroyed&&en(e,"beforeUpdate")}},!0),n=!1;var i=e._preWatchers;if(i)for(var a=0;a=0&&(t=e.slice(r),e=e.slice(0,r));var i=e.indexOf("?");return i>=0&&(n=e.slice(i+1),e=e.slice(0,i)),{path:e,query:n,hash:t}}(i.path||""),u=t&&t.path||"/",c=s.path?wa(s.path,u,n||i.append):u,d=function(e,t,n){void 0===t&&(t={});var r,i=n||ua;try{r=i(e||"")}catch(e){r={}}for(var a in t){var o=t[a];r[a]=Array.isArray(o)?o.map(sa):sa(o)}return r}(s.query,i.query,r&&r.options.parseQuery),p=i.hash||s.hash;return p&&"#"!==p.charAt(0)&&(p="#"+p),{_normalized:!0,path:c,query:d,hash:p}}var Ua,Va=function(){},qa={name:"RouterLink",props:{to:{type:[String,Object],required:!0},tag:{type:String,default:"a"},custom:Boolean,exact:Boolean,exactPath:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,ariaCurrentValue:{type:String,default:"page"},event:{type:[String,Array],default:"click"}},render:function(e){var t=this,n=this.$router,r=this.$route,i=n.resolve(this.to,r,this.append),a=i.location,o=i.route,l=i.href,s={},u=n.options.linkActiveClass,c=n.options.linkExactActiveClass,d=null==u?"router-link-active":u,p=null==c?"router-link-exact-active":c,f=null==this.activeClass?d:this.activeClass,v=null==this.exactActiveClass?p:this.exactActiveClass,h=o.redirectedFrom?pa(null,Ha(o.redirectedFrom),null,n):o;s[v]=ma(r,h,this.exactPath),s[f]=this.exact||this.exactPath?s[v]:function(e,t){return 0===e.path.replace(da,"/").indexOf(t.path.replace(da,"/"))&&(!t.hash||e.hash===t.hash)&&function(e,t){for(var n in t)if(!(n in e))return!1;return!0}(e.query,t.query)}(r,h);var g=s[v]?this.ariaCurrentValue:null,m=function(e){za(e)&&(t.replace?n.replace(a,Va):n.push(a,Va))},b={click:za};Array.isArray(this.event)?this.event.forEach((function(e){b[e]=m})):b[this.event]=m;var y={class:s},x=!this.$scopedSlots.$hasNormal&&this.$scopedSlots.default&&this.$scopedSlots.default({href:l,route:o,navigate:m,isActive:s[f],isExactActive:s[v]});if(x){if(1===x.length)return x[0];if(x.length>1||!x.length)return 0===x.length?e():e("span",{},x)}if("a"===this.tag)y.on=b,y.attrs={href:l,"aria-current":g};else{var k=function e(t){var n;if(t)for(var r=0;r-1&&(l.params[p]=n.params[p]);return l.path=Fa(c.path,l.params),s(c,l,o)}if(l.path){l.params={};for(var f=0;f-1}function So(e,t){return _o(e)&&e._isRouter&&(null==t||e.type===t)}function Ao(e,t,n){var r=function(i){i>=e.length?n():e[i]?t(e[i],(function(){r(i+1)})):r(i+1)};r(0)}function Po(e){return function(t,n,r){var i=!1,a=0,o=null;Co(e,(function(e,t,n,l){if("function"==typeof e&&void 0===e.cid){i=!0,a++;var s,u=Oo((function(t){var i;((i=t).__esModule||Eo&&"Module"===i[Symbol.toStringTag])&&(t=t.default),e.resolved="function"==typeof t?t:Ua.extend(t),n.components[l]=t,--a<=0&&r()})),c=Oo((function(e){var t="Failed to resolve async component "+l+": "+e;o||(o=_o(e)?e:new Error(t),r(o))}));try{s=e(u,c)}catch(e){c(e)}if(s)if("function"==typeof s.then)s.then(u,c);else{var d=s.component;d&&"function"==typeof d.then&&d.then(u,c)}}})),i||r()}}function Co(e,t){return Lo(e.map((function(e){return Object.keys(e.components).map((function(n){return t(e.components[n],e.instances[n],e,n)}))})))}function Lo(e){return Array.prototype.concat.apply([],e)}var Eo="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;function Oo(e){var t=!1;return function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];if(!t)return t=!0,e.apply(this,n)}}var Io=function(e,t){this.router=e,this.base=function(e){if(!e)if(Wa){var t=document.querySelector("base");e=(e=t&&t.getAttribute("href")||"/").replace(/^https?:\/\/[^\/]+/,"")}else e="/";"/"!==e.charAt(0)&&(e="/"+e);return e.replace(/\/$/,"")}(t),this.current=va,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};function jo(e,t,n,r){var i=Co(e,(function(e,r,i,a){var o=function(e,t){"function"!=typeof e&&(e=Ua.extend(e));return e.options[t]}(e,t);if(o)return Array.isArray(o)?o.map((function(e){return n(e,r,i,a)})):n(o,r,i,a)}));return Lo(r?i.reverse():i)}function $o(e,t){if(t)return function(){return e.apply(t,arguments)}}Io.prototype.listen=function(e){this.cb=e},Io.prototype.onReady=function(e,t){this.ready?e():(this.readyCbs.push(e),t&&this.readyErrorCbs.push(t))},Io.prototype.onError=function(e){this.errorCbs.push(e)},Io.prototype.transitionTo=function(e,t,n){var r,i=this;try{r=this.router.match(e,this.current)}catch(e){throw this.errorCbs.forEach((function(t){t(e)})),e}var a=this.current;this.confirmTransition(r,(function(){i.updateRoute(r),t&&t(r),i.ensureURL(),i.router.afterHooks.forEach((function(e){e&&e(r,a)})),i.ready||(i.ready=!0,i.readyCbs.forEach((function(e){e(r)})))}),(function(e){n&&n(e),e&&!i.ready&&(So(e,bo.redirected)&&a===va||(i.ready=!0,i.readyErrorCbs.forEach((function(t){t(e)}))))}))},Io.prototype.confirmTransition=function(e,t,n){var r=this,i=this.current;this.pending=e;var a,o,l=function(e){!So(e)&&_o(e)&&(r.errorCbs.length?r.errorCbs.forEach((function(t){t(e)})):console.error(e)),n&&n(e)},s=e.matched.length-1,u=i.matched.length-1;if(ma(e,i)&&s===u&&e.matched[s]===i.matched[u])return this.ensureURL(),e.hash&&ao(this.router,i,e,!1),l(((o=ko(a=i,e,bo.duplicated,'Avoided redundant navigation to current location: "'+a.fullPath+'".')).name="NavigationDuplicated",o));var c=function(e,t){var n,r=Math.max(e.length,t.length);for(n=0;n0)){var t=this.router,n=t.options.scrollBehavior,r=ho&&n;r&&this.listeners.push(io());var i=function(){var n=e.current,i=Mo(e.base);e.current===va&&i===e._startLocation||e.transitionTo(i,(function(e){r&&ao(t,e,n,!0)}))};window.addEventListener("popstate",i),this.listeners.push((function(){window.removeEventListener("popstate",i)}))}},t.prototype.go=function(e){window.history.go(e)},t.prototype.push=function(e,t,n){var r=this,i=this.current;this.transitionTo(e,(function(e){go(_a(r.base+e.fullPath)),ao(r.router,e,i,!1),t&&t(e)}),n)},t.prototype.replace=function(e,t,n){var r=this,i=this.current;this.transitionTo(e,(function(e){mo(_a(r.base+e.fullPath)),ao(r.router,e,i,!1),t&&t(e)}),n)},t.prototype.ensureURL=function(e){if(Mo(this.base)!==this.current.fullPath){var t=_a(this.base+this.current.fullPath);e?go(t):mo(t)}},t.prototype.getCurrentLocation=function(){return Mo(this.base)},t}(Io);function Mo(e){var t=window.location.pathname,n=t.toLowerCase(),r=e.toLowerCase();return!e||n!==r&&0!==n.indexOf(_a(r+"/"))||(t=t.slice(e.length)),(t||"/")+window.location.search+window.location.hash}var To=function(e){function t(t,n,r){e.call(this,t,n),r&&function(e){var t=Mo(e);if(!/^\/#/.test(t))return window.location.replace(_a(e+"/#"+t)),!0}(this.base)||No()}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.setupListeners=function(){var e=this;if(!(this.listeners.length>0)){var t=this.router.options.scrollBehavior,n=ho&&t;n&&this.listeners.push(io());var r=function(){var t=e.current;No()&&e.transitionTo(Go(),(function(r){n&&ao(e.router,r,t,!0),ho||Fo(r.fullPath)}))},i=ho?"popstate":"hashchange";window.addEventListener(i,r),this.listeners.push((function(){window.removeEventListener(i,r)}))}},t.prototype.push=function(e,t,n){var r=this,i=this.current;this.transitionTo(e,(function(e){Bo(e.fullPath),ao(r.router,e,i,!1),t&&t(e)}),n)},t.prototype.replace=function(e,t,n){var r=this,i=this.current;this.transitionTo(e,(function(e){Fo(e.fullPath),ao(r.router,e,i,!1),t&&t(e)}),n)},t.prototype.go=function(e){window.history.go(e)},t.prototype.ensureURL=function(e){var t=this.current.fullPath;Go()!==t&&(e?Bo(t):Fo(t))},t.prototype.getCurrentLocation=function(){return Go()},t}(Io);function No(){var e=Go();return"/"===e.charAt(0)||(Fo("/"+e),!1)}function Go(){var e=window.location.href,t=e.indexOf("#");return t<0?"":e=e.slice(t+1)}function Do(e){var t=window.location.href,n=t.indexOf("#");return(n>=0?t.slice(0,n):t)+"#"+e}function Bo(e){ho?go(Do(e)):window.location.hash=e}function Fo(e){ho?mo(Do(e)):window.location.replace(Do(e))}var Ho=function(e){function t(t,n){e.call(this,t,n),this.stack=[],this.index=-1}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.push=function(e,t,n){var r=this;this.transitionTo(e,(function(e){r.stack=r.stack.slice(0,r.index+1).concat(e),r.index++,t&&t(e)}),n)},t.prototype.replace=function(e,t,n){var r=this;this.transitionTo(e,(function(e){r.stack=r.stack.slice(0,r.index).concat(e),t&&t(e)}),n)},t.prototype.go=function(e){var t=this,n=this.index+e;if(!(n<0||n>=this.stack.length)){var r=this.stack[n];this.confirmTransition(r,(function(){var e=t.current;t.index=n,t.updateRoute(r),t.router.afterHooks.forEach((function(t){t&&t(r,e)}))}),(function(e){So(e,bo.duplicated)&&(t.index=n)}))}},t.prototype.getCurrentLocation=function(){var e=this.stack[this.stack.length-1];return e?e.fullPath:"/"},t.prototype.ensureURL=function(){},t}(Io),Uo=function(e){void 0===e&&(e={}),this.app=null,this.apps=[],this.options=e,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=Ja(e.routes||[],this);var t=e.mode||"hash";switch(this.fallback="history"===t&&!ho&&!1!==e.fallback,this.fallback&&(t="hash"),Wa||(t="abstract"),this.mode=t,t){case"history":this.history=new Ro(this,e.base);break;case"hash":this.history=new To(this,e.base,this.fallback);break;case"abstract":this.history=new Ho(this,e.base);break;default:0}},Vo={currentRoute:{configurable:!0}};Uo.prototype.match=function(e,t,n){return this.matcher.match(e,t,n)},Vo.currentRoute.get=function(){return this.history&&this.history.current},Uo.prototype.init=function(e){var t=this;if(this.apps.push(e),e.$once("hook:destroyed",(function(){var n=t.apps.indexOf(e);n>-1&&t.apps.splice(n,1),t.app===e&&(t.app=t.apps[0]||null),t.app||t.history.teardown()})),!this.app){this.app=e;var n=this.history;if(n instanceof Ro||n instanceof To){var r=function(e){n.setupListeners(),function(e){var r=n.current,i=t.options.scrollBehavior;ho&&i&&"fullPath"in e&&ao(t,e,r,!1)}(e)};n.transitionTo(n.getCurrentLocation(),r,r)}n.listen((function(e){t.apps.forEach((function(t){t._route=e}))}))}},Uo.prototype.beforeEach=function(e){return zo(this.beforeHooks,e)},Uo.prototype.beforeResolve=function(e){return zo(this.resolveHooks,e)},Uo.prototype.afterEach=function(e){return zo(this.afterHooks,e)},Uo.prototype.onReady=function(e,t){this.history.onReady(e,t)},Uo.prototype.onError=function(e){this.history.onError(e)},Uo.prototype.push=function(e,t,n){var r=this;if(!t&&!n&&"undefined"!=typeof Promise)return new Promise((function(t,n){r.history.push(e,t,n)}));this.history.push(e,t,n)},Uo.prototype.replace=function(e,t,n){var r=this;if(!t&&!n&&"undefined"!=typeof Promise)return new Promise((function(t,n){r.history.replace(e,t,n)}));this.history.replace(e,t,n)},Uo.prototype.go=function(e){this.history.go(e)},Uo.prototype.back=function(){this.go(-1)},Uo.prototype.forward=function(){this.go(1)},Uo.prototype.getMatchedComponents=function(e){var t=e?e.matched?e:this.resolve(e).route:this.currentRoute;return t?[].concat.apply([],t.matched.map((function(e){return Object.keys(e.components).map((function(t){return e.components[t]}))}))):[]},Uo.prototype.resolve=function(e,t,n){var r=Ha(e,t=t||this.history.current,n,this),i=this.match(r,t),a=i.redirectedFrom||i.fullPath;return{location:r,route:i,href:function(e,t,n){var r="hash"===n?"#"+t:t;return e?_a(e+"/"+r):r}(this.history.base,a,this.mode),normalizedTo:r,resolved:i}},Uo.prototype.getRoutes=function(){return this.matcher.getRoutes()},Uo.prototype.addRoute=function(e,t){this.matcher.addRoute(e,t),this.history.current!==va&&this.history.transitionTo(this.history.getCurrentLocation())},Uo.prototype.addRoutes=function(e){this.matcher.addRoutes(e),this.history.current!==va&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(Uo.prototype,Vo);var qo=Uo;function zo(e,t){return e.push(t),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}Uo.install=function e(t){if(!e.installed||Ua!==t){e.installed=!0,Ua=t;var n=function(e){return void 0!==e},r=function(e,t){var r=e.$options._parentVnode;n(r)&&n(r=r.data)&&n(r=r.registerRouteInstance)&&r(e,t)};t.mixin({beforeCreate:function(){n(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),t.util.defineReactive(this,"_route",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,r(this,this)},destroyed:function(){r(this)}}),Object.defineProperty(t.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(t.prototype,"$route",{get:function(){return this._routerRoot._route}}),t.component("RouterView",xa),t.component("RouterLink",qa);var i=t.config.optionMergeStrategies;i.beforeRouteEnter=i.beforeRouteLeave=i.beforeRouteUpdate=i.created}},Uo.version="3.6.5",Uo.isNavigationFailure=So,Uo.NavigationFailureType=bo,Uo.START_LOCATION=va,Wa&&window.Vue&&window.Vue.use(Uo);n(97);n(124),n(90);var Wo={"components/AlgoliaSearchBox":()=>Promise.all([n.e(0),n.e(13)]).then(n.bind(null,299)),"components/DropdownLink":()=>Promise.all([n.e(0),n.e(14)]).then(n.bind(null,255)),"components/DropdownTransition":()=>Promise.all([n.e(0),n.e(19)]).then(n.bind(null,243)),"components/Home":()=>Promise.all([n.e(0),n.e(16)]).then(n.bind(null,281)),"components/NavLink":()=>n.e(21).then(n.bind(null,242)),"components/NavLinks":()=>Promise.all([n.e(0),n.e(12)]).then(n.bind(null,266)),"components/Navbar":()=>Promise.all([n.e(0),n.e(1)]).then(n.bind(null,296)),"components/Page":()=>Promise.all([n.e(0),n.e(11)]).then(n.bind(null,282)),"components/PageEdit":()=>Promise.all([n.e(0),n.e(17)]).then(n.bind(null,268)),"components/PageNav":()=>Promise.all([n.e(0),n.e(15)]).then(n.bind(null,269)),"components/Sidebar":()=>Promise.all([n.e(0),n.e(10)]).then(n.bind(null,283)),"components/SidebarButton":()=>Promise.all([n.e(0),n.e(20)]).then(n.bind(null,284)),"components/SidebarGroup":()=>Promise.all([n.e(0),n.e(3)]).then(n.bind(null,267)),"components/SidebarLink":()=>Promise.all([n.e(0),n.e(18)]).then(n.bind(null,256)),"components/SidebarLinks":()=>Promise.all([n.e(0),n.e(3)]).then(n.bind(null,254)),"global-components/Badge":()=>Promise.all([n.e(0),n.e(4)]).then(n.bind(null,304)),"global-components/CodeBlock":()=>Promise.all([n.e(0),n.e(5)]).then(n.bind(null,300)),"global-components/CodeGroup":()=>Promise.all([n.e(0),n.e(6)]).then(n.bind(null,301)),"layouts/404":()=>n.e(7).then(n.bind(null,302)),"layouts/Layout":()=>Promise.all([n.e(0),n.e(1),n.e(2)]).then(n.bind(null,303)),NotFound:()=>n.e(7).then(n.bind(null,302)),Layout:()=>Promise.all([n.e(0),n.e(1),n.e(2)]).then(n.bind(null,303))},Ko={"v-008da348":()=>n.e(25).then(n.bind(null,305)),"v-01fe701c":()=>n.e(24).then(n.bind(null,306)),"v-427c40ee":()=>n.e(26).then(n.bind(null,307)),"v-0800abdc":()=>n.e(28).then(n.bind(null,308)),"v-ee6eeb4c":()=>n.e(27).then(n.bind(null,309)),"v-4042bb2e":()=>n.e(29).then(n.bind(null,310)),"v-7908efbc":()=>n.e(31).then(n.bind(null,311)),"v-3c922c94":()=>n.e(23).then(n.bind(null,312)),"v-644a1a7c":()=>n.e(30).then(n.bind(null,313)),"v-27af2b1c":()=>n.e(32).then(n.bind(null,314)),"v-191607df":()=>n.e(34).then(n.bind(null,315)),"v-e1b9bfd0":()=>n.e(35).then(n.bind(null,316)),"v-436e2204":()=>n.e(36).then(n.bind(null,317)),"v-38419582":()=>n.e(37).then(n.bind(null,318)),"v-20e0edbc":()=>n.e(38).then(n.bind(null,319)),"v-8c8bd788":()=>n.e(39).then(n.bind(null,320)),"v-6698c488":()=>n.e(40).then(n.bind(null,321)),"v-67b163e4":()=>n.e(42).then(n.bind(null,322)),"v-5620553c":()=>n.e(41).then(n.bind(null,323)),"v-66729284":()=>n.e(44).then(n.bind(null,324)),"v-4b39163e":()=>n.e(45).then(n.bind(null,325)),"v-8d762088":()=>n.e(43).then(n.bind(null,326)),"v-60748e3c":()=>n.e(48).then(n.bind(null,327)),"v-0c0204bc":()=>n.e(46).then(n.bind(null,328)),"v-28e9cfe2":()=>n.e(47).then(n.bind(null,329)),"v-386648fc":()=>n.e(49).then(n.bind(null,330)),"v-3bae4eda":()=>n.e(50).then(n.bind(null,331)),"v-544469dc":()=>n.e(51).then(n.bind(null,332)),"v-28408ffc":()=>n.e(52).then(n.bind(null,333)),"v-729ad45c":()=>n.e(53).then(n.bind(null,334)),"v-24236f4f":()=>n.e(54).then(n.bind(null,335)),"v-5250ebf8":()=>n.e(55).then(n.bind(null,336)),"v-e0f61f08":()=>n.e(57).then(n.bind(null,337)),"v-1de0093c":()=>n.e(58).then(n.bind(null,338)),"v-bcdb7dbc":()=>n.e(59).then(n.bind(null,339)),"v-93e3f0d8":()=>n.e(56).then(n.bind(null,340)),"v-34c7ab32":()=>n.e(62).then(n.bind(null,341)),"v-7e6f1e46":()=>n.e(61).then(n.bind(null,342)),"v-be78eea8":()=>n.e(60).then(n.bind(null,343)),"v-5590408c":()=>n.e(65).then(n.bind(null,344)),"v-e1758c4c":()=>n.e(64).then(n.bind(null,345)),"v-3390bfa0":()=>n.e(66).then(n.bind(null,346)),"v-7a2d3eaa":()=>n.e(63).then(n.bind(null,347)),"v-53f7fb4c":()=>n.e(67).then(n.bind(null,348)),"v-2e40e15c":()=>n.e(68).then(n.bind(null,349)),"v-29a9731c":()=>n.e(69).then(n.bind(null,350)),"v-e5225524":()=>n.e(72).then(n.bind(null,351)),"v-55662ea4":()=>n.e(73).then(n.bind(null,352)),"v-71263eca":()=>n.e(74).then(n.bind(null,353)),"v-575a405e":()=>n.e(71).then(n.bind(null,354)),"v-c37b8034":()=>n.e(75).then(n.bind(null,355)),"v-ca7a84b4":()=>n.e(76).then(n.bind(null,356)),"v-6eac333c":()=>n.e(77).then(n.bind(null,357)),"v-abcab9ac":()=>n.e(70).then(n.bind(null,358)),"v-2a1c22bc":()=>n.e(80).then(n.bind(null,359)),"v-3d934450":()=>n.e(78).then(n.bind(null,360)),"v-b10d8a48":()=>n.e(82).then(n.bind(null,361)),"v-5ac19ab0":()=>n.e(83).then(n.bind(null,362)),"v-7bff6860":()=>n.e(79).then(n.bind(null,363)),"v-441e0588":()=>n.e(84).then(n.bind(null,364)),"v-241dfc10":()=>n.e(86).then(n.bind(null,365)),"v-107084ee":()=>n.e(87).then(n.bind(null,366)),"v-72dda17a":()=>n.e(85).then(n.bind(null,367)),"v-6d6a1188":()=>n.e(88).then(n.bind(null,368)),"v-7395e8b8":()=>n.e(89).then(n.bind(null,369)),"v-0db3a3b6":()=>n.e(92).then(n.bind(null,370)),"v-23e31d40":()=>n.e(22).then(n.bind(null,371)),"v-e0280cc8":()=>n.e(91).then(n.bind(null,372)),"v-776b3a21":()=>n.e(90).then(n.bind(null,373)),"v-320792bc":()=>n.e(81).then(n.bind(null,374)),"v-3b50827c":()=>n.e(94).then(n.bind(null,375)),"v-d2ca10bc":()=>n.e(97).then(n.bind(null,376)),"v-9b3b8fc4":()=>n.e(93).then(n.bind(null,377)),"v-f7f8edf8":()=>n.e(96).then(n.bind(null,378)),"v-15e3bcb8":()=>n.e(99).then(n.bind(null,379)),"v-76566bdc":()=>n.e(98).then(n.bind(null,380)),"v-186b35fc":()=>n.e(95).then(n.bind(null,381)),"v-e5e46608":()=>n.e(101).then(n.bind(null,382)),"v-9d475588":()=>n.e(102).then(n.bind(null,383)),"v-3097f7b4":()=>n.e(103).then(n.bind(null,384)),"v-df7eeb30":()=>n.e(105).then(n.bind(null,385)),"v-3f277de4":()=>n.e(100).then(n.bind(null,386)),"v-276827fc":()=>n.e(106).then(n.bind(null,387)),"v-38cd10aa":()=>n.e(107).then(n.bind(null,388)),"v-3d4cd228":()=>n.e(109).then(n.bind(null,389)),"v-626e115c":()=>n.e(108).then(n.bind(null,390)),"v-a8264748":()=>n.e(111).then(n.bind(null,391)),"v-1b6fd7bc":()=>n.e(112).then(n.bind(null,392)),"v-c5180a88":()=>n.e(110).then(n.bind(null,393)),"v-5675c11c":()=>n.e(114).then(n.bind(null,394)),"v-5479629e":()=>n.e(113).then(n.bind(null,395)),"v-05f42e40":()=>n.e(115).then(n.bind(null,396)),"v-66fcd848":()=>n.e(118).then(n.bind(null,397)),"v-dd08ab08":()=>n.e(116).then(n.bind(null,398)),"v-b4db21bc":()=>n.e(117).then(n.bind(null,399)),"v-07877d3c":()=>n.e(120).then(n.bind(null,400)),"v-4e1ef564":()=>n.e(119).then(n.bind(null,401)),"v-34f8b4f2":()=>n.e(121).then(n.bind(null,402)),"v-0d1ee514":()=>n.e(123).then(n.bind(null,403)),"v-c2cf6f08":()=>n.e(122).then(n.bind(null,404)),"v-9fd573b4":()=>n.e(124).then(n.bind(null,405)),"v-1f36497b":()=>n.e(125).then(n.bind(null,406)),"v-5b3a7088":()=>n.e(127).then(n.bind(null,407)),"v-304da2fc":()=>n.e(126).then(n.bind(null,408)),"v-273b82c8":()=>n.e(104).then(n.bind(null,409)),"v-0ad0a12f":()=>n.e(128).then(n.bind(null,410)),"v-451d3572":()=>n.e(131).then(n.bind(null,411)),"v-11f83908":()=>n.e(130).then(n.bind(null,412)),"v-668fa6dc":()=>n.e(129).then(n.bind(null,413)),"v-c4200220":()=>n.e(132).then(n.bind(null,414)),"v-3d058bdc":()=>n.e(134).then(n.bind(null,415)),"v-04728def":()=>n.e(136).then(n.bind(null,416)),"v-581eb57c":()=>n.e(138).then(n.bind(null,417)),"v-e52e34c8":()=>n.e(137).then(n.bind(null,418)),"v-22d4855c":()=>n.e(139).then(n.bind(null,419)),"v-a02dc9e2":()=>n.e(135).then(n.bind(null,420)),"v-0ce13ac8":()=>n.e(140).then(n.bind(null,421)),"v-8f7fb5c8":()=>n.e(143).then(n.bind(null,422)),"v-dd6e01c8":()=>n.e(133).then(n.bind(null,423)),"v-f0373388":()=>n.e(141).then(n.bind(null,424)),"v-fa141608":()=>n.e(144).then(n.bind(null,425)),"v-24eb5588":()=>n.e(142).then(n.bind(null,426)),"v-4dabc4dc":()=>n.e(145).then(n.bind(null,427)),"v-186194bc":()=>n.e(146).then(n.bind(null,428)),"v-4eb741dc":()=>n.e(148).then(n.bind(null,429)),"v-39d136c8":()=>n.e(147).then(n.bind(null,430)),"v-0af0d4ee":()=>n.e(150).then(n.bind(null,431)),"v-6101ef3c":()=>n.e(149).then(n.bind(null,432)),"v-00e4fbf8":()=>n.e(151).then(n.bind(null,433)),"v-578807fc":()=>n.e(153).then(n.bind(null,434)),"v-646d169c":()=>n.e(152).then(n.bind(null,435)),"v-7015cd32":()=>n.e(155).then(n.bind(null,436)),"v-f2219dc8":()=>n.e(154).then(n.bind(null,437)),"v-408b9f46":()=>n.e(157).then(n.bind(null,438)),"v-39210696":()=>n.e(156).then(n.bind(null,439)),"v-14edf1fc":()=>n.e(158).then(n.bind(null,440)),"v-7c7d2fb0":()=>n.e(161).then(n.bind(null,441)),"v-dff0a7e2":()=>n.e(159).then(n.bind(null,442)),"v-e818b4c8":()=>n.e(33).then(n.bind(null,443)),"v-1ad8369c":()=>n.e(160).then(n.bind(null,444))};function Qo(e){const t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}const Jo=/-(\w)/g,Xo=Qo(e=>e.replace(Jo,(e,t)=>t?t.toUpperCase():"")),Yo=/\B([A-Z])/g,Zo=Qo(e=>e.replace(Yo,"-$1").toLowerCase()),el=Qo(e=>e.charAt(0).toUpperCase()+e.slice(1));function tl(e,t){if(!t)return;if(e(t))return e(t);return t.includes("-")?e(el(Xo(t))):e(el(t))||e(Zo(t))}const nl=Object.assign({},Wo,Ko),rl=e=>nl[e],il=e=>Ko[e],al=e=>Wo[e],ol=e=>Wn.component(e);function ll(e){return tl(il,e)}function sl(e){return tl(al,e)}function ul(e){return tl(rl,e)}function cl(e){return tl(ol,e)}function dl(...e){return Promise.all(e.filter(e=>e).map(async e=>{if(!cl(e)&&ul(e)){const t=await ul(e)();Wn.component(e,t.default)}}))}function pl(e,t){"undefined"!=typeof window&&window.__VUEPRESS__&&(window.__VUEPRESS__[e]=t)}var fl=n(87),vl=n.n(fl),hl=n(88),gl=n.n(hl),ml={created(){if(this.siteMeta=this.$site.headTags.filter(([e])=>"meta"===e).map(([e,t])=>t),this.$ssrContext){const t=this.getMergedMetaTags();this.$ssrContext.title=this.$title,this.$ssrContext.lang=this.$lang,this.$ssrContext.pageMeta=(e=t)?e.map(e=>{let t="{t+=` ${n}="${gl()(e[n])}"`}),t+">"}).join("\n "):"",this.$ssrContext.canonicalLink=yl(this.$canonicalUrl)}var e},mounted(){this.currentMetaTags=[...document.querySelectorAll("meta")],this.updateMeta(),this.updateCanonicalLink()},methods:{updateMeta(){document.title=this.$title,document.documentElement.lang=this.$lang;const e=this.getMergedMetaTags();this.currentMetaTags=xl(e,this.currentMetaTags)},getMergedMetaTags(){const e=this.$page.frontmatter.meta||[];return vl()([{name:"description",content:this.$description}],e,this.siteMeta,kl)},updateCanonicalLink(){bl(),this.$canonicalUrl&&document.head.insertAdjacentHTML("beforeend",yl(this.$canonicalUrl))}},watch:{$page(){this.updateMeta(),this.updateCanonicalLink()}},beforeDestroy(){xl(null,this.currentMetaTags),bl()}};function bl(){const e=document.querySelector("link[rel='canonical']");e&&e.remove()}function yl(e=""){return e?``:""}function xl(e,t){if(t&&[...t].filter(e=>e.parentNode===document.head).forEach(e=>document.head.removeChild(e)),e)return e.map(e=>{const t=document.createElement("meta");return Object.keys(e).forEach(n=>{t.setAttribute(n,e[n])}),document.head.appendChild(t),t})}function kl(e){for(const t of["name","property","itemprop"])if(e.hasOwnProperty(t))return e[t]+t;return JSON.stringify(e)}var wl=n(89),_l={mounted(){window.addEventListener("scroll",this.onScroll)},methods:{onScroll:n.n(wl)()((function(){this.setActiveHash()}),300),setActiveHash(){const e=[].slice.call(document.querySelectorAll(".sidebar-link")),t=[].slice.call(document.querySelectorAll(".header-anchor")).filter(t=>e.some(e=>e.hash===t.hash)),n=Math.max(window.pageYOffset,document.documentElement.scrollTop,document.body.scrollTop),r=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),i=window.innerHeight+n;for(let e=0;e=a.parentElement.offsetTop+10&&(!o||n{this.$nextTick(()=>{this.$vuepress.$set("disableScrollBehavior",!1)})})}}}},beforeDestroy(){window.removeEventListener("scroll",this.onScroll)}},Sl=n(22),Al=n.n(Sl),Pl=[ml,_l,{mounted(){Al.a.configure({showSpinner:!1}),this.$router.beforeEach((e,t,n)=>{e.path===t.path||Wn.component(e.name)||Al.a.start(),n()}),this.$router.afterEach(()=>{Al.a.done(),this.isSidebarOpen=!1})}}],Cl={name:"GlobalLayout",computed:{layout(){const e=this.getLayout();return pl("layout",e),Wn.component(e)}},methods:{getLayout(){if(this.$page.path){const e=this.$page.frontmatter.layout;return e&&(this.$vuepress.getLayoutAsyncComponent(e)||this.$vuepress.getVueComponent(e))?e:"Layout"}return"NotFound"}}},Ll=n(14),El=Object(Ll.a)(Cl,(function(){return(0,this._self._c)(this.layout,{tag:"component"})}),[],!1,null,null,null).exports;!function(e,t,n){switch(t){case"components":e[t]||(e[t]={}),Object.assign(e[t],n);break;case"mixins":e[t]||(e[t]=[]),e[t].push(...n);break;default:throw new Error("Unknown option name.")}}(El,"mixins",Pl);const Ol=[{name:"v-008da348",path:"/Contribute-to-Testing.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-008da348").then(n)}},{name:"v-01fe701c",path:"/Contribute-to-Documentation.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-01fe701c").then(n)}},{name:"v-427c40ee",path:"/Contribute.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-427c40ee").then(n)}},{name:"v-0800abdc",path:"/FAQ.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-0800abdc").then(n)}},{name:"v-ee6eeb4c",path:"/Election2022.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-ee6eeb4c").then(n)}},{name:"v-4042bb2e",path:"/Help-and-Support.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-4042bb2e").then(n)}},{name:"v-7908efbc",path:"/Howto.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-7908efbc").then(n)}},{name:"v-3c922c94",path:"/Comparison.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-3c922c94").then(n)}},{name:"v-644a1a7c",path:"/Help-translating-site.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-644a1a7c").then(n)}},{name:"v-27af2b1c",path:"/LiveMedia.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-27af2b1c").then(n)}},{name:"v-191607df",path:"/",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-191607df").then(n)}},{path:"/index.html",redirect:"/"},{name:"v-e1b9bfd0",path:"/Transparency.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-e1b9bfd0").then(n)}},{name:"v-436e2204",path:"/alesco.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-436e2204").then(n)}},{name:"v-38419582",path:"/alesco/meeting-minutes.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-38419582").then(n)}},{name:"v-20e0edbc",path:"/alesco/meeting-minutes/2024-07-24.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-20e0edbc").then(n)}},{name:"v-8c8bd788",path:"/alesco/meeting-minutes/2024-08-21.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-8c8bd788").then(n)}},{name:"v-6698c488",path:"/alesco/meeting-minutes/2024-09-04.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-6698c488").then(n)}},{name:"v-67b163e4",path:"/cloud/AWS_AMIS.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-67b163e4").then(n)}},{name:"v-5620553c",path:"/cloud/AWS.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-5620553c").then(n)}},{name:"v-66729284",path:"/cloud/EC2-instance-connect.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-66729284").then(n)}},{name:"v-4b39163e",path:"/cloud/Generic-cloud-on-local.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-4b39163e").then(n)}},{name:"v-8d762088",path:"/cloud/Azure.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-8d762088").then(n)}},{name:"v-60748e3c",path:"/cloud/OCI.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-60748e3c").then(n)}},{name:"v-0c0204bc",path:"/cloud/Generic-cloud.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-0c0204bc").then(n)}},{name:"v-28e9cfe2",path:"/cloud/Google.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-28e9cfe2").then(n)}},{name:"v-386648fc",path:"/cloud/OpenNebula.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-386648fc").then(n)}},{name:"v-3bae4eda",path:"/cloud/",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-3bae4eda").then(n)}},{path:"/cloud/index.html",redirect:"/cloud/"},{name:"v-544469dc",path:"/cloud/cloud-changelog.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-544469dc").then(n)}},{name:"v-28408ffc",path:"/community/coc.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-28408ffc").then(n)}},{name:"v-729ad45c",path:"/community/platforms.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-729ad45c").then(n)}},{name:"v-24236f4f",path:"/containers/",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-24236f4f").then(n)}},{path:"/containers/index.html",redirect:"/containers/"},{name:"v-5250ebf8",path:"/containers/docker-images.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-5250ebf8").then(n)}},{name:"v-e0f61f08",path:"/development/Modified-packages.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-e0f61f08").then(n)}},{name:"v-1de0093c",path:"/development/Packaging.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-1de0093c").then(n)}},{name:"v-bcdb7dbc",path:"/development/building-almalinux-iso-locally.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-bcdb7dbc").then(n)}},{name:"v-93e3f0d8",path:"/development/AlmaLinux-Build-System.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-93e3f0d8").then(n)}},{name:"v-34c7ab32",path:"/development/private-keys/secure-boot.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-34c7ab32").then(n)}},{name:"v-7e6f1e46",path:"/development/private-keys/package-signing.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-7e6f1e46").then(n)}},{name:"v-be78eea8",path:"/development/openQA.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-be78eea8").then(n)}},{name:"v-5590408c",path:"/documentation/errata.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-5590408c").then(n)}},{name:"v-e1758c4c",path:"/documentation/epel-and-rpmfusion.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-e1758c4c").then(n)}},{name:"v-3390bfa0",path:"/documentation/guides.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-3390bfa0").then(n)}},{name:"v-7a2d3eaa",path:"/documentation/after-installation-guide.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-7a2d3eaa").then(n)}},{name:"v-53f7fb4c",path:"/documentation/installation-guide.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-53f7fb4c").then(n)}},{name:"v-2e40e15c",path:"/documentation/kickstart-guide.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-2e40e15c").then(n)}},{name:"v-29a9731c",path:"/documentation/migration-guide.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-29a9731c").then(n)}},{name:"v-e5225524",path:"/documentation/openscap-guide.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-e5225524").then(n)}},{name:"v-55662ea4",path:"/documentation/oval-streams.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-55662ea4").then(n)}},{name:"v-71263eca",path:"/documentation/package-building-guide.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-71263eca").then(n)}},{name:"v-575a405e",path:"/documentation/openscap-guide-for-9.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-575a405e").then(n)}},{name:"v-c37b8034",path:"/documentation/raspberry-pi.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-c37b8034").then(n)}},{name:"v-ca7a84b4",path:"/documentation/sbom-guide.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-ca7a84b4").then(n)}},{name:"v-6eac333c",path:"/documentation/wsl.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-6eac333c").then(n)}},{name:"v-abcab9ac",path:"/documentation/openQA.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-abcab9ac").then(n)}},{name:"v-2a1c22bc",path:"/elevate/ELevate-NG-testing-guide.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-2a1c22bc").then(n)}},{name:"v-3d934450",path:"/election2023.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-3d934450").then(n)}},{name:"v-b10d8a48",path:"/elevate/ELevate-offline-guide.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-b10d8a48").then(n)}},{name:"v-5ac19ab0",path:"/elevate/ELevate-quickstart-guide.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-5ac19ab0").then(n)}},{name:"v-7bff6860",path:"/elevate/Contribution-guide.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-7bff6860").then(n)}},{name:"v-441e0588",path:"/elevate/ELevate-testing-guide.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-441e0588").then(n)}},{name:"v-241dfc10",path:"/elevate/ELevating-CentOS7-to-AlmaLinux-9.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-241dfc10").then(n)}},{name:"v-107084ee",path:"/elevate/",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-107084ee").then(n)}},{path:"/elevate/index.html",redirect:"/elevate/"},{name:"v-72dda17a",path:"/elevate/ELevating-CentOS6-to-CentOS7.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-72dda17a").then(n)}},{name:"v-6d6a1188",path:"/gsoc.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-6d6a1188").then(n)}},{name:"v-7395e8b8",path:"/installation/vagrant-boxes.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-7395e8b8").then(n)}},{name:"v-0db3a3b6",path:"/release-notes/8.10.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-0db3a3b6").then(n)}},{name:"v-23e31d40",path:"/release-notes/8.3-beta.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-23e31d40").then(n)}},{name:"v-e0280cc8",path:"/release-notes/8.10-beta.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-e0280cc8").then(n)}},{name:"v-776b3a21",path:"/migration/",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-776b3a21").then(n)}},{path:"/migration/index.html",redirect:"/migration/"},{name:"v-320792bc",path:"/elevate/ELevate-frequent-issues.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-320792bc").then(n)}},{name:"v-3b50827c",path:"/release-notes/8.3.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-3b50827c").then(n)}},{name:"v-d2ca10bc",path:"/release-notes/8.4-beta.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-d2ca10bc").then(n)}},{name:"v-9b3b8fc4",path:"/release-notes/8.3-rc.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-9b3b8fc4").then(n)}},{name:"v-f7f8edf8",path:"/release-notes/8.4-beta-arm.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-f7f8edf8").then(n)}},{name:"v-15e3bcb8",path:"/release-notes/8.5-beta-ppc.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-15e3bcb8").then(n)}},{name:"v-76566bdc",path:"/release-notes/8.4.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-76566bdc").then(n)}},{name:"v-186b35fc",path:"/release-notes/8.4-arm.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-186b35fc").then(n)}},{name:"v-e5e46608",path:"/release-notes/8.5-ppc.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-e5e46608").then(n)}},{name:"v-9d475588",path:"/release-notes/8.5.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-9d475588").then(n)}},{name:"v-3097f7b4",path:"/release-notes/8.6-beta.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-3097f7b4").then(n)}},{name:"v-df7eeb30",path:"/release-notes/8.7-beta.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-df7eeb30").then(n)}},{name:"v-3f277de4",path:"/release-notes/8.5-beta.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-3f277de4").then(n)}},{name:"v-276827fc",path:"/release-notes/8.7.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-276827fc").then(n)}},{name:"v-38cd10aa",path:"/release-notes/8.8-beta.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-38cd10aa").then(n)}},{name:"v-3d4cd228",path:"/release-notes/8.9-beta.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-3d4cd228").then(n)}},{name:"v-626e115c",path:"/release-notes/8.8.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-626e115c").then(n)}},{name:"v-a8264748",path:"/release-notes/9.0-beta.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-a8264748").then(n)}},{name:"v-1b6fd7bc",path:"/release-notes/9.0.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-1b6fd7bc").then(n)}},{name:"v-c5180a88",path:"/release-notes/8.9.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-c5180a88").then(n)}},{name:"v-5675c11c",path:"/release-notes/9.1.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-5675c11c").then(n)}},{name:"v-5479629e",path:"/release-notes/9.1-beta.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-5479629e").then(n)}},{name:"v-05f42e40",path:"/release-notes/9.2-beta.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-05f42e40").then(n)}},{name:"v-66fcd848",path:"/release-notes/9.3.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-66fcd848").then(n)}},{name:"v-dd08ab08",path:"/release-notes/9.2.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-dd08ab08").then(n)}},{name:"v-b4db21bc",path:"/release-notes/9.3-beta.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-b4db21bc").then(n)}},{name:"v-07877d3c",path:"/release-notes/9.4.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-07877d3c").then(n)}},{name:"v-4e1ef564",path:"/release-notes/9.4-beta.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-4e1ef564").then(n)}},{name:"v-34f8b4f2",path:"/release-notes/",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-34f8b4f2").then(n)}},{path:"/release-notes/index.html",redirect:"/release-notes/"},{name:"v-0d1ee514",path:"/repos/CentOS.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-0d1ee514").then(n)}},{name:"v-c2cf6f08",path:"/repos/AlmaLinux.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-c2cf6f08").then(n)}},{name:"v-9fd573b4",path:"/repos/Extras.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-9fd573b4").then(n)}},{name:"v-1f36497b",path:"/repos/",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-1f36497b").then(n)}},{path:"/repos/index.html",redirect:"/repos/"},{name:"v-5b3a7088",path:"/series/LAMP-server.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-5b3a7088").then(n)}},{name:"v-304da2fc",path:"/repos/Synergy.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-304da2fc").then(n)}},{name:"v-273b82c8",path:"/release-notes/8.6.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-273b82c8").then(n)}},{name:"v-0ad0a12f",path:"/series/",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-0ad0a12f").then(n)}},{path:"/series/index.html",redirect:"/series/"},{name:"v-451d3572",path:"/series/nginx/NginxSeriesA02R91.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-451d3572").then(n)}},{name:"v-11f83908",path:"/series/nginx/NginxSeriesA02R8.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-11f83908").then(n)}},{name:"v-668fa6dc",path:"/series/nginx/NginxSeriesA01.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-668fa6dc").then(n)}},{name:"v-c4200220",path:"/series/nginx/NginxSeriesA02R92.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-c4200220").then(n)}},{name:"v-3d058bdc",path:"/series/nginx/NginxSeriesA04P1.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-3d058bdc").then(n)}},{name:"v-04728def",path:"/series/system/",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-04728def").then(n)}},{path:"/series/system/index.html",redirect:"/series/system/"},{name:"v-581eb57c",path:"/series/system/SystemSeriesA02.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-581eb57c").then(n)}},{name:"v-e52e34c8",path:"/series/system/SystemSeriesA01.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-e52e34c8").then(n)}},{name:"v-22d4855c",path:"/series/system/SystemSeriesA03.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-22d4855c").then(n)}},{name:"v-a02dc9e2",path:"/series/nginx/",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-a02dc9e2").then(n)}},{path:"/series/nginx/index.html",redirect:"/series/nginx/"},{name:"v-0ce13ac8",path:"/series/system/SystemSeriesA03R8.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-0ce13ac8").then(n)}},{name:"v-8f7fb5c8",path:"/series/system/SystemSeriesA05.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-8f7fb5c8").then(n)}},{name:"v-dd6e01c8",path:"/series/nginx/NginxSeriesA03.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-dd6e01c8").then(n)}},{name:"v-f0373388",path:"/series/system/SystemSeriesA03R9.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-f0373388").then(n)}},{name:"v-fa141608",path:"/series/system/SystemSeriesA06.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-fa141608").then(n)}},{name:"v-24eb5588",path:"/series/system/SystemSeriesA04.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-24eb5588").then(n)}},{name:"v-4dabc4dc",path:"/series/system/SystemSeriesA07.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-4dabc4dc").then(n)}},{name:"v-186194bc",path:"/series/system/SystemSeriesA08.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-186194bc").then(n)}},{name:"v-4eb741dc",path:"/series/system/SystemSeriesA10.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-4eb741dc").then(n)}},{name:"v-39d136c8",path:"/series/system/SystemSeriesA09.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-39d136c8").then(n)}},{name:"v-0af0d4ee",path:"/sigs/Certification.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-0af0d4ee").then(n)}},{name:"v-6101ef3c",path:"/sigs/Build-System.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-6101ef3c").then(n)}},{name:"v-00e4fbf8",path:"/sigs/Cloud.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-00e4fbf8").then(n)}},{name:"v-578807fc",path:"/sigs/HPCandAI.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-578807fc").then(n)}},{name:"v-646d169c",path:"/sigs/Core.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-646d169c").then(n)}},{name:"v-7015cd32",path:"/sigs/LiveMedia.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-7015cd32").then(n)}},{name:"v-f2219dc8",path:"/sigs/Infrastructure.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-f2219dc8").then(n)}},{name:"v-408b9f46",path:"/sigs/Migration.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-408b9f46").then(n)}},{name:"v-39210696",path:"/sigs/Marketing.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-39210696").then(n)}},{name:"v-14edf1fc",path:"/sigs/ProcessForCreatingNewSIG.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-14edf1fc").then(n)}},{name:"v-7c7d2fb0",path:"/sigs/sigproposaltemplate.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-7c7d2fb0").then(n)}},{name:"v-dff0a7e2",path:"/sigs/",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-dff0a7e2").then(n)}},{path:"/sigs/index.html",redirect:"/sigs/"},{name:"v-e818b4c8",path:"/Mirrors.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-e818b4c8").then(n)}},{name:"v-1ad8369c",path:"/sigs/marketing/indico.html",component:El,beforeEnter:(e,t,n)=>{dl("Layout","v-1ad8369c").then(n)}},{path:"*",component:El}],Il={title:"AlmaLinux Wiki",description:"AlmaLinux OS Documentation",base:"/",headTags:[["script",{},"\n\t var _paq = window._paq = window._paq || [];\n\t /* tracker methods like \"setCustomDimension\" should be called before \"trackPageView\" */\n\t _paq.push(['trackPageView']);\n\t _paq.push(['enableLinkTracking']);\n\t (function() {\n\t var u=\"https://matomo.almalinux.org/\";\n\t _paq.push(['setTrackerUrl', u+'matomo.php']);\n\t _paq.push(['setSiteId', '5']);\n\t var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];\n\t g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);\n\t })();\n"],["link",{rel:"shortcut icon",type:"image/png",href:"/images/logo.png"}]],pages:[{title:"Testing",frontmatter:{title:"Testing"},regularPath:"/Contribute-to-Testing.html",relativePath:"Contribute-to-Testing.md",key:"v-008da348",path:"/Contribute-to-Testing.html",headers:[{level:2,title:"Beta testing",slug:"beta-testing"},{level:2,title:"openQA",slug:"openqa"},{level:2,title:"Updated packages",slug:"updated-packages"},{level:2,title:"Migration and Upgrades",slug:"migration-and-upgrades"}]},{title:"Documentation",frontmatter:{title:"Documentation"},regularPath:"/Contribute-to-Documentation.html",relativePath:"Contribute-to-Documentation.md",key:"v-01fe701c",path:"/Contribute-to-Documentation.html",headers:[{level:2,title:"Prerequisites",slug:"prerequisites"},{level:3,title:"Starting the process",slug:"starting-the-process"},{level:3,title:"Setting up the environment",slug:"setting-up-the-environment"},{level:2,title:"Working with AlmaLinux documentation",slug:"working-with-almalinux-documentation"},{level:3,title:"Pages style guide",slug:"pages-style-guide"},{level:3,title:"Review process",slug:"review-process"}]},{title:"Help AlmaLinux OS",frontmatter:{title:"Help AlmaLinux OS"},regularPath:"/Contribute.html",relativePath:"Contribute.md",key:"v-427c40ee",path:"/Contribute.html",headers:[{level:2,title:"Help with reporting bugs and making fixes",slug:"help-with-reporting-bugs-and-making-fixes"},{level:2,title:"Specific Areas We Need Help With",slug:"specific-areas-we-need-help-with"},{level:3,title:"1. Help with reporting bugs and making fixes",slug:"_1-help-with-reporting-bugs-and-making-fixes"},{level:3,title:"2. Improve the documentation",slug:"_2-improve-the-documentation"},{level:3,title:"3. Help with Azure mirrors deployment",slug:"_3-help-with-azure-mirrors-deployment"},{level:3,title:"4. Promotion, blog posts, translations, and more!",slug:"_4-promotion-blog-posts-translations-and-more"},{level:3,title:"5. More ways to help for DevOps & Programmers",slug:"_5-more-ways-to-help-for-devops-programmers"},{level:2,title:"Need assistance? We are here to help!",slug:"need-assistance-we-are-here-to-help"}]},{title:"FAQ",frontmatter:{title:"FAQ"},regularPath:"/FAQ.html",relativePath:"FAQ.md",key:"v-0800abdc",path:"/FAQ.html",headers:[{level:3,title:"What is AlmaLinux?",slug:"what-is-almalinux"},{level:3,title:"Can I do X, Y, or Z with AlmaLinux?",slug:"can-i-do-x-y-or-z-with-almalinux"},{level:3,title:"What does ABI/binary compatible with RHEL mean?",slug:"what-does-abi-binary-compatible-with-rhel-mean"},{level:3,title:"Is AlmaLinux OS FIPS-140 compliant??",slug:"is-almalinux-os-fips-140-compliant"},{level:3,title:'Where did the name "AlmaLinux" come from?',slug:"where-did-the-name-almalinux-come-from"},{level:3,title:"How is the community protected from future course changes?",slug:"how-is-the-community-protected-from-future-course-changes"},{level:3,title:"Why use AlmaLinux?",slug:"why-use-almalinux"},{level:3,title:"What architectures and platforms do you support?",slug:"what-architectures-and-platforms-do-you-support"},{level:3,title:"Is AlmaLinux secure?",slug:"is-almalinux-secure"},{level:3,title:"Where does AlmaLinux get package sources? How AlmaLinux is built?",slug:"where-does-almalinux-get-package-sources-how-almalinux-is-built"},{level:3,title:"How do I migrate a single host from CentOS to AlmaLinux?",slug:"how-do-i-migrate-a-single-host-from-centos-to-almalinux"},{level:3,title:"How do I migrate an entire fleet of servers from CentOS to AlmaLinux?",slug:"how-do-i-migrate-an-entire-fleet-of-servers-from-centos-to-almalinux"},{level:3,title:"How do I migrate from CentOS 7 to AlmaLinux 8?",slug:"how-do-i-migrate-from-centos-7-to-almalinux-8"},{level:3,title:"How long will AlmaLinux be supported?",slug:"how-long-will-almalinux-be-supported"},{level:3,title:"How to Report Bugs",slug:"how-to-report-bugs"},{level:3,title:"How can I request a package be added to AlmaLinux?",slug:"how-can-i-request-a-package-be-added-to-almalinux"},{level:3,title:"Why does the AlmaLinux codename include cats?",slug:"why-does-the-almalinux-codename-include-cats"}]},{title:"Election 2022",frontmatter:{title:"Election 2022"},regularPath:"/Election2022.html",relativePath:"Election2022.md",key:"v-ee6eeb4c",path:"/Election2022.html",headers:[{level:2,title:"FAQ",slug:"faq"}]},{title:"Help and Support",frontmatter:{title:"Help and Support"},regularPath:"/Help-and-Support.html",relativePath:"Help-and-Support.md",key:"v-4042bb2e",path:"/Help-and-Support.html",headers:[{level:3,title:"Community Chats",slug:"community-chats"},{level:3,title:"Forums",slug:"forums"},{level:3,title:"Mailing Lists",slug:"mailing-lists"},{level:3,title:"Social Media",slug:"social-media"},{level:2,title:"Chat Policies",slug:"chat-policies"},{level:2,title:"Getting Help Recommendations",slug:"getting-help-recommendations"},{level:3,title:"Providing an output",slug:"providing-an-output"}]},{title:"Howtos",frontmatter:{title:"Howtos"},regularPath:"/Howto.html",relativePath:"Howto.md",key:"v-7908efbc",path:"/Howto.html",headers:[{level:2,title:"Installation Guides",slug:"installation-guides"},{level:2,title:"Remote Desktop",slug:"remote-desktop"},{level:2,title:"Virtualization",slug:"virtualization"},{level:2,title:"Authentication & Security",slug:"authentication-security"},{level:2,title:"Networking",slug:"networking"},{level:2,title:"Other",slug:"other"}]},{title:"Enterprise Linux Comparison",frontmatter:{title:"Enterprise Linux Comparison"},regularPath:"/Comparison.html",relativePath:"Comparison.md",key:"v-3c922c94",path:"/Comparison.html",headers:[{level:2,title:"Build Sources",slug:"build-sources"},{level:2,title:"Ownership",slug:"ownership"},{level:2,title:"Technical breakdown",slug:"technical-breakdown"}]},{title:"Help translating site",frontmatter:{title:"Help translating site"},regularPath:"/Help-translating-site.html",relativePath:"Help-translating-site.md",key:"v-644a1a7c",path:"/Help-translating-site.html",headers:[{level:2,title:"Create an account",slug:"create-an-account"},{level:2,title:"Starting to translate",slug:"starting-to-translate"},{level:2,title:"Request new languages",slug:"request-new-languages"}]},{title:"Live Media",frontmatter:{title:"Live Media"},regularPath:"/LiveMedia.html",relativePath:"LiveMedia.md",key:"v-27af2b1c",path:"/LiveMedia.html",headers:[{level:2,title:"About Live Media",slug:"about-live-media"},{level:2,title:"Live Media Options",slug:"live-media-options"},{level:2,title:"How to download and write images",slug:"how-to-download-and-write-images"}]},{title:"About AlmaLinux Wiki",frontmatter:{},regularPath:"/",relativePath:"README.md",key:"v-191607df",path:"/",headers:[{level:2,title:"Contributions to the Wiki",slug:"contributions-to-the-wiki"},{level:3,title:"Transparency Statement",slug:"transparency-statement"},{level:3,title:"License",slug:"license"}]},{title:"AlmaLinux OS Foundation",frontmatter:{},regularPath:"/Transparency.html",relativePath:"Transparency.md",key:"v-e1b9bfd0",path:"/Transparency.html",headers:[{level:2,title:"We strive to be transparent",slug:"we-strive-to-be-transparent"},{level:2,title:"First board elections",slug:"first-board-elections"},{level:2,title:"The plans for the board",slug:"the-plans-for-the-board"},{level:2,title:"Assets and build environment",slug:"assets-and-build-environment"},{level:2,title:"Minutes of AlmaLinux OS Foundation Board Meetings",slug:"minutes-of-almalinux-os-foundation-board-meetings"},{level:2,title:"Membership Committee",slug:"membership-committee"}]},{title:"ALESCo",frontmatter:{title:"ALESCo"},regularPath:"/alesco.html",relativePath:"alesco.md",key:"v-436e2204",path:"/alesco.html",headers:[{level:2,title:"How to participate",slug:"how-to-participate"},{level:2,title:"Activities, projects, and deliverables",slug:"activities-projects-and-deliverables"},{level:2,title:"Help wanted",slug:"help-wanted"},{level:2,title:"Committee members",slug:"committee-members"},{level:2,title:"AlmaLinux Engineering Steering Committee (ALESCo)",slug:"almalinux-engineering-steering-committee-alesco"},{level:3,title:"Mission Statement:",slug:"mission-statement"},{level:3,title:"Tasks and Responsibilities:",slug:"tasks-and-responsibilities"},{level:3,title:"Policies:",slug:"policies"},{level:3,title:"Chair:",slug:"chair"}]},{frontmatter:{Title:"ALESCo Meeting Minutes"},regularPath:"/alesco/meeting-minutes.html",relativePath:"alesco/meeting-minutes.md",key:"v-38419582",path:"/alesco/meeting-minutes.html"},{title:"ALESCo Meeting Minutes (2024-07-24)",frontmatter:{},regularPath:"/alesco/meeting-minutes/2024-07-24.html",relativePath:"alesco/meeting-minutes/2024-07-24.md",key:"v-20e0edbc",path:"/alesco/meeting-minutes/2024-07-24.html",headers:[{level:2,title:"Members",slug:"members"},{level:3,title:"Attendance",slug:"attendance"},{level:2,title:"Community Attendees",slug:"community-attendees"},{level:2,title:"Decisions Adopted",slug:"decisions-adopted"},{level:2,title:"Minutes",slug:"minutes"}]},{title:"ALESCo Meeting Minutes (2024-08-21)",frontmatter:{},regularPath:"/alesco/meeting-minutes/2024-08-21.html",relativePath:"alesco/meeting-minutes/2024-08-21.md",key:"v-8c8bd788",path:"/alesco/meeting-minutes/2024-08-21.html",headers:[{level:2,title:"Members",slug:"members"},{level:3,title:"ALESCo Member Attendees",slug:"alesco-member-attendees"},{level:3,title:"Board Attendees",slug:"board-attendees"},{level:2,title:"Community Attendees",slug:"community-attendees"},{level:2,title:"Decisions Adopted",slug:"decisions-adopted"},{level:2,title:"Minutes",slug:"minutes"}]},{title:"ALESCo Meeting Minutes (2024-09-04)",frontmatter:{},regularPath:"/alesco/meeting-minutes/2024-09-04.html",relativePath:"alesco/meeting-minutes/2024-09-04.md",key:"v-6698c488",path:"/alesco/meeting-minutes/2024-09-04.html",headers:[{level:2,title:"Members",slug:"members"},{level:3,title:"ALESCo Member Attendees",slug:"alesco-member-attendees"},{level:3,title:"Board Attendees",slug:"board-attendees"},{level:2,title:"Community Attendees",slug:"community-attendees"},{level:2,title:"Decisions Adopted",slug:"decisions-adopted"},{level:2,title:"Minutes",slug:"minutes"}]},{frontmatter:{},regularPath:"/cloud/AWS_AMIS.html",relativePath:"cloud/AWS_AMIS.md",key:"v-67b163e4",path:"/cloud/AWS_AMIS.html"},{title:"AWS",frontmatter:{title:"AWS"},regularPath:"/cloud/AWS.html",relativePath:"cloud/AWS.md",key:"v-5620553c",path:"/cloud/AWS.html",headers:[{level:2,title:"Contributing",slug:"contributing"},{level:2,title:"AWS Marketplace",slug:"aws-marketplace"},{level:2,title:"Community AMIs",slug:"community-amis"}]},{title:"EC2 Instance Connect",frontmatter:{title:"EC2 Instance Connect"},regularPath:"/cloud/EC2-instance-connect.html",relativePath:"cloud/EC2-instance-connect.md",key:"v-66729284",path:"/cloud/EC2-instance-connect.html",headers:[{level:2,title:"About EC2 Instance Connect",slug:"about-ec2-instance-connect"},{level:2,title:"Enabling EC2 Instance Connect",slug:"enabling-ec2-instance-connect"},{level:3,title:"EC2 Console:",slug:"ec2-console"},{level:3,title:"AWS CLI",slug:"aws-cli"},{level:2,title:"Connect to an instance",slug:"connect-to-an-instance"},{level:3,title:"Using the browser-based client on AWS Console",slug:"using-the-browser-based-client-on-aws-console"},{level:3,title:"Push/Inject your public SSH keys with AWS CLI and use SSH client of your choice",slug:"push-inject-your-public-ssh-keys-with-aws-cli-and-use-ssh-client-of-your-choice"},{level:3,title:"Use AWS CLI to connect",slug:"use-aws-cli-to-connect"}]},{title:"Using Generic Cloud Images on a local machine",frontmatter:{title:"Using Generic Cloud Images on a local machine",lang:"en-US"},regularPath:"/cloud/Generic-cloud-on-local.html",relativePath:"cloud/Generic-cloud-on-local.md",key:"v-4b39163e",path:"/cloud/Generic-cloud-on-local.html",headers:[{level:2,title:"AlmaLinux Guest OS support",slug:"almalinux-guest-os-support"},{level:2,title:"Create a snapshot from the image",slug:"create-a-snapshot-from-the-image"},{level:2,title:"Cloud-init",slug:"cloud-init"},{level:2,title:"Static IP",slug:"static-ip"},{level:2,title:"Virt-Manager (GUI)",slug:"virt-manager-gui"},{level:2,title:"Repackage cloud image",slug:"repackage-cloud-image"},{level:2,title:"Inspection and Manipulation of images",slug:"inspection-and-manipulation-of-images"}]},{title:"Azure",frontmatter:{title:"Azure"},regularPath:"/cloud/Azure.html",relativePath:"cloud/Azure.md",key:"v-8d762088",path:"/cloud/Azure.html",headers:[{level:2,title:"Azure Community Gallery",slug:"azure-community-gallery"},{level:2,title:"Azure Marketplace",slug:"azure-marketplace"},{level:2,title:"Azure Portal",slug:"azure-portal"},{level:2,title:"Azure CLI",slug:"azure-cli"},{level:3,title:"AlmaLinux OS 8 x86_64",slug:"almalinux-os-8-x86-64"},{level:3,title:"AlmaLinux OS 9 x86_64",slug:"almalinux-os-9-x86-64"},{level:3,title:"AlmaLinux OS 8 AArch64",slug:"almalinux-os-8-aarch64"},{level:3,title:"AlmaLinux OS 9 AArch64",slug:"almalinux-os-9-aarch64"}]},{title:"Oracle Cloud Infrastructure",frontmatter:{title:"Oracle Cloud Infrastructure"},regularPath:"/cloud/OCI.html",relativePath:"cloud/OCI.md",key:"v-60748e3c",path:"/cloud/OCI.html",headers:[{level:2,title:"About Oracle Cloud Infrastructure",slug:"about-oracle-cloud-infrastructure"},{level:2,title:"Where to get the image and guidance steps",slug:"where-to-get-the-image-and-guidance-steps"},{level:3,title:"Oracle Cloud Infrastructure Console",slug:"oracle-cloud-infrastructure-console"},{level:3,title:"OCI CLI",slug:"oci-cli"}]},{title:"Generic Cloud (Cloud-init)",frontmatter:{title:"Generic Cloud (Cloud-init)"},regularPath:"/cloud/Generic-cloud.html",relativePath:"cloud/Generic-cloud.md",key:"v-0c0204bc",path:"/cloud/Generic-cloud.html",headers:[{level:2,title:"Download images",slug:"download-images"},{level:2,title:"Verify AlmaLinux 8 images",slug:"verify-almalinux-8-images"},{level:3,title:"Import the AlmaLinux OS PGP public key",slug:"import-the-almalinux-os-pgp-public-key"},{level:3,title:"Download and verify the image",slug:"download-and-verify-the-image"},{level:2,title:"Verify AlmaLinux 9 images",slug:"verify-almalinux-9-images"},{level:3,title:"Import the AlmaLinux OS PGP public key",slug:"import-the-almalinux-os-pgp-public-key-2"},{level:3,title:"Download and verify the AlmaLinux 9 image",slug:"download-and-verify-the-almalinux-9-image"}]},{title:"Google Cloud",frontmatter:{title:"Google Cloud"},regularPath:"/cloud/Google.html",relativePath:"cloud/Google.md",key:"v-28e9cfe2",path:"/cloud/Google.html"},{title:"OpenNebula",frontmatter:{title:"OpenNebula"},regularPath:"/cloud/OpenNebula.html",relativePath:"cloud/OpenNebula.md",key:"v-386648fc",path:"/cloud/OpenNebula.html",headers:[{level:2,title:"Download images",slug:"download-images"},{level:2,title:"Verify AlmaLinux 8 images",slug:"verify-almalinux-8-images"},{level:3,title:"Import the AlmaLinux OS PGP public key",slug:"import-the-almalinux-os-pgp-public-key"},{level:3,title:"Download and verify the image",slug:"download-and-verify-the-image"},{level:2,title:"Verify AlmaLinux 9 images",slug:"verify-almalinux-9-images"},{level:3,title:"Import the AlmaLinux OS PGP public key",slug:"import-the-almalinux-os-pgp-public-key-2"},{level:3,title:"Download and verify the AlmaLinux 9 image",slug:"download-and-verify-the-almalinux-9-image"}]},{title:"Cloud Images",frontmatter:{},regularPath:"/cloud/",relativePath:"cloud/README.md",key:"v-3bae4eda",path:"/cloud/",headers:[{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Contribute and Get Help",slug:"contribute-and-get-help"}]},{title:"Changelog",frontmatter:{title:"Changelog"},regularPath:"/cloud/cloud-changelog.html",relativePath:"cloud/cloud-changelog.md",key:"v-544469dc",path:"/cloud/cloud-changelog.html",headers:[{level:2,title:"Amazon Web Services AMIs",slug:"amazon-web-services-amis"},{level:3,title:"AlmaLinux OS versions 9.3.20240303 and 8.9.20240303:",slug:"almalinux-os-versions-9-3-20240303-and-8-9-20240303"},{level:2,title:"Generic Cloud",slug:"generic-cloud"},{level:3,title:"AlmaLinux OS versions 9.4-20240507 and 8.10-20240530 with Cloud-init (OpenStack compatible)",slug:"almalinux-os-versions-9-4-20240507-and-8-10-20240530-with-cloud-init-openstack-compatible"},{level:3,title:"AlmaLinux OS version 8.9-20231128",slug:"almalinux-os-version-8-9-20231128"},{level:2,title:"OpenNebula",slug:"opennebula"},{level:3,title:"AlmaLinux OS version 8.10-20240530",slug:"almalinux-os-version-8-10-20240530"}]},{title:"AlmaLinux Community Code of Conduct (CoC)",frontmatter:{Title:"Code of Conduct"},regularPath:"/community/coc.html",relativePath:"community/coc.md",key:"v-28408ffc",path:"/community/coc.html",headers:[{level:2,title:"Applicability",slug:"applicability"},{level:2,title:"Attribution",slug:"attribution"}]},{title:"Community Platforms",frontmatter:{title:"Community Platforms"},regularPath:"/community/platforms.html",relativePath:"community/platforms.md",key:"v-729ad45c",path:"/community/platforms.html",headers:[{level:2,title:"Official Channels",slug:"official-channels"}]},{title:"Containers on AlmaLinux",frontmatter:{},regularPath:"/containers/",relativePath:"containers/README.md",key:"v-24236f4f",path:"/containers/"},{title:"Docker Images",frontmatter:{title:"Docker Images"},regularPath:"/containers/docker-images.html",relativePath:"containers/docker-images.md",key:"v-5250ebf8",path:"/containers/docker-images.html",headers:[{level:2,title:"About AlmaLinux Docker Images",slug:"about-almalinux-docker-images"},{level:2,title:"AlmaLinux Docker Images Variants",slug:"almalinux-docker-images-variants"},{level:3,title:"AlmaLinux: Default (Platform)",slug:"almalinux-default-platform"},{level:3,title:"AlmaLinux: Minimal",slug:"almalinux-minimal"},{level:3,title:"AlmaLinux: Base",slug:"almalinux-base"},{level:3,title:"AlmaLinux: Init",slug:"almalinux-init"},{level:3,title:"AlmaLinux: Micro",slug:"almalinux-micro"},{level:2,title:"Help and Contribute",slug:"help-and-contribute"}]},{title:"Modified packages",frontmatter:{title:"Modified packages"},regularPath:"/development/Modified-packages.html",relativePath:"development/Modified-packages.md",key:"v-e0f61f08",path:"/development/Modified-packages.html"},{title:"Packaging",frontmatter:{title:"Packaging"},regularPath:"/development/Packaging.html",relativePath:"development/Packaging.md",key:"v-1de0093c",path:"/development/Packaging.html",headers:[{level:2,title:"Upstream packages modification",slug:"upstream-packages-modification"}]},{title:"Building AlmaLinux ISO locally",frontmatter:{title:"Building AlmaLinux ISO locally"},regularPath:"/development/building-almalinux-iso-locally.html",relativePath:"development/building-almalinux-iso-locally.md",key:"v-bcdb7dbc",path:"/development/building-almalinux-iso-locally.html",headers:[{level:2,title:"Prerequisites",slug:"prerequisites"},{level:3,title:"System Requirements",slug:"system-requirements"},{level:3,title:"Software Requirements",slug:"software-requirements"},{level:2,title:"Get Your Machine Ready",slug:"get-your-machine-ready"},{level:2,title:"Setting Up an Ansible Inventory",slug:"setting-up-an-ansible-inventory"},{level:2,title:"Deployment",slug:"deployment"},{level:2,title:"Building an AlmaLinux ISO",slug:"building-an-almalinux-iso"},{level:2,title:"Reporting issues",slug:"reporting-issues"}]},{title:"AlmaLinux Build System",frontmatter:{title:"AlmaLinux Build System"},regularPath:"/development/AlmaLinux-Build-System.html",relativePath:"development/AlmaLinux-Build-System.md",key:"v-93e3f0d8",path:"/development/AlmaLinux-Build-System.html",headers:[{level:2,title:"About AlmaLinux Build System",slug:"about-almalinux-build-system"},{level:2,title:"AlmaLinux OS source packages",slug:"almalinux-os-source-packages"},{level:2,title:"More guides and details",slug:"more-guides-and-details"},{level:2,title:"Reporting Issues",slug:"reporting-issues"},{level:2,title:"Contribute and Get Help",slug:"contribute-and-get-help"}]},{title:"Secure Boot Key Generation and Handling",frontmatter:{},regularPath:"/development/private-keys/secure-boot.html",relativePath:"development/private-keys/secure-boot.md",key:"v-34c7ab32",path:"/development/private-keys/secure-boot.html",headers:[{level:2,title:"Owernship",slug:"owernship"},{level:2,title:"Key Generation",slug:"key-generation"},{level:3,title:"Prepare a Secure Environment",slug:"prepare-a-secure-environment"},{level:3,title:"Generate Keys and Certificates",slug:"generate-keys-and-certificates"},{level:3,title:"Configure Yubikey PIV",slug:"configure-yubikey-piv"},{level:3,title:"Copy Keys and Certificates",slug:"copy-keys-and-certificates"},{level:2,title:"Removal of Custodianship",slug:"removal-of-custodianship"},{level:2,title:"Distribution of Keys to Key Holders",slug:"distribution-of-keys-to-key-holders"},{level:2,title:"Storage of Keys by Key Holders",slug:"storage-of-keys-by-key-holders"},{level:2,title:"Key Generation Log",slug:"key-generation-log"},{level:3,title:"Shim 15.8",slug:"shim-15-8"},{level:2,title:"Changelog",slug:"changelog"},{level:3,title:"2024-07-03",slug:"_2024-07-03"},{level:3,title:"2024-03-13",slug:"_2024-03-13"}]},{title:"Package Signing Key Generation and Handling",frontmatter:{},regularPath:"/development/private-keys/package-signing.html",relativePath:"development/private-keys/package-signing.md",key:"v-7e6f1e46",path:"/development/private-keys/package-signing.html",headers:[{level:2,title:"Owernship",slug:"owernship"},{level:2,title:"Key Generation",slug:"key-generation"},{level:3,title:"Prepare a Secure Environment",slug:"prepare-a-secure-environment"},{level:3,title:"Generate Keys and Certificates",slug:"generate-keys-and-certificates"},{level:3,title:"Copy Keys and Certificates",slug:"copy-keys-and-certificates"},{level:2,title:"Removal of Custodianship",slug:"removal-of-custodianship"},{level:2,title:"Distribution of Keys to Key Holders",slug:"distribution-of-keys-to-key-holders"},{level:2,title:"Storage of Keys by Key Holders",slug:"storage-of-keys-by-key-holders"},{level:2,title:"Key Generation Log",slug:"key-generation-log"},{level:3,title:"AlmaLinux 10",slug:"almalinux-10"},{level:2,title:"Changelog",slug:"changelog"},{level:3,title:"2024-07-03",slug:"_2024-07-03"}]},{title:"openQA",frontmatter:{title:"openQA"},regularPath:"/development/openQA.html",relativePath:"development/openQA.md",key:"v-be78eea8",path:"/development/openQA.html",headers:[{level:2,title:"About openQA in the AlmaLinux Project",slug:"about-openqa-in-the-almalinux-project"},{level:2,title:"User Guide",slug:"user-guide"},{level:3,title:"Latest tests on the main page",slug:"latest-tests-on-the-main-page"},{level:3,title:"All Tests",slug:"all-tests"},{level:3,title:"Job Groups",slug:"job-groups"},{level:2,title:"Contribute and Get Help",slug:"contribute-and-get-help"}]},{title:"Security Errata",frontmatter:{title:"Security Errata"},regularPath:"/documentation/errata.html",relativePath:"documentation/errata.md",key:"v-5590408c",path:"/documentation/errata.html",headers:[{level:3,title:"About Errata",slug:"about-errata"},{level:3,title:"How to access errata",slug:"how-to-access-errata"},{level:3,title:"Mailing list",slug:"mailing-list"}]},{title:"Installing EPEL and RPM Fusion",frontmatter:{title:"Installing EPEL and RPM Fusion"},regularPath:"/documentation/epel-and-rpmfusion.html",relativePath:"documentation/epel-and-rpmfusion.md",key:"v-e1758c4c",path:"/documentation/epel-and-rpmfusion.html",headers:[{level:2,title:"Step 1: Install EPEL.",slug:"step-1-install-epel"},{level:2,title:"Step 2: Install (and verify) the RPM Fusion GPG keys",slug:"step-2-install-and-verify-the-rpm-fusion-gpg-keys"},{level:2,title:"Step 3: Install RPM Fusion",slug:"step-3-install-rpm-fusion"}]},{title:"Documentation | Security Guides",frontmatter:{},regularPath:"/documentation/guides.html",relativePath:"documentation/guides.md",key:"v-3390bfa0",path:"/documentation/guides.html"},{title:"AlmaLinux After-Installation Guide",frontmatter:{title:"AlmaLinux After-Installation Guide"},regularPath:"/documentation/after-installation-guide.html",relativePath:"documentation/after-installation-guide.md",key:"v-7a2d3eaa",path:"/documentation/after-installation-guide.html",headers:[{level:2,title:"Update the system and check for security updates",slug:"update-the-system-and-check-for-security-updates"},{level:3,title:"Check for security updates",slug:"check-for-security-updates"},{level:2,title:"Configure the network settings",slug:"configure-the-network-settings"},{level:3,title:"On a machine with a graphical interface",slug:"on-a-machine-with-a-graphical-interface"},{level:3,title:"On a machine without a graphical interface",slug:"on-a-machine-without-a-graphical-interface"},{level:3,title:"Setting the hostname",slug:"setting-the-hostname"},{level:2,title:"Enable necessary repositories",slug:"enable-necessary-repositories"},{level:2,title:"Install NVIDIA or AMD drivers",slug:"install-nvidia-or-amd-drivers"},{level:3,title:"NVIDIA",slug:"nvidia"},{level:3,title:"AMD",slug:"amd"},{level:2,title:"Configure firewall settings",slug:"configure-firewall-settings"},{level:2,title:"Desktop Environment",slug:"desktop-environment"},{level:2,title:"Reboot",slug:"reboot"},{level:2,title:"Live Media options",slug:"live-media-options"}]},{title:"AlmaLinux Installation Guide",frontmatter:{title:"AlmaLinux Installation Guide"},regularPath:"/documentation/installation-guide.html",relativePath:"documentation/installation-guide.md",key:"v-53f7fb4c",path:"/documentation/installation-guide.html",headers:[{level:2,title:"Requirements",slug:"requirements"},{level:2,title:"Download AlmaLinux ISO",slug:"download-almalinux-iso"},{level:2,title:"ISO verification",slug:"iso-verification"},{level:2,title:"Write an image on a USB",slug:"write-an-image-on-a-usb"},{level:2,title:"Installation",slug:"installation"},{level:2,title:"Live Media",slug:"live-media"}]},{title:"Kickstart Installation (Unattended Installation)",frontmatter:{},regularPath:"/documentation/kickstart-guide.html",relativePath:"documentation/kickstart-guide.md",key:"v-2e40e15c",path:"/documentation/kickstart-guide.html",headers:[{level:2,title:"Kickstart Installation (Unattended Installation)",slug:"kickstart-installation-unattended-installation"},{level:3,title:"Customization",slug:"customization"},{level:3,title:"Examples",slug:"examples"}]},{title:"Migration Guide",frontmatter:{title:"Migration Guide"},regularPath:"/documentation/migration-guide.html",relativePath:"documentation/migration-guide.md",key:"v-29a9731c",path:"/documentation/migration-guide.html",headers:[{level:2,title:"How to Migrate",slug:"how-to-migrate"},{level:2,title:"Migrating from CentOS versions lower than 8.4",slug:"migrating-from-centos-versions-lower-than-8-4"},{level:2,title:"Get Help",slug:"get-help"}]},{title:"AlmaLinux 8 OpenSCAP Guide",frontmatter:{0:"A",1:"l",2:"m",3:"a",4:"L",5:"i",6:"n",7:"u",8:"x",9:" ",10:"O",11:"p",12:"e",13:"n",14:"S",15:"C",16:"A",17:"P",18:" ",19:"G",20:"u",21:"i",22:"d",23:"e"},regularPath:"/documentation/openscap-guide.html",relativePath:"documentation/openscap-guide.md",key:"v-e5225524",path:"/documentation/openscap-guide.html",headers:[{level:2,title:"About OpenSCAP",slug:"about-openscap"},{level:3,title:"About SCAP packages and how to Enable them",slug:"about-scap-packages-and-how-to-enable-them"},{level:2,title:"About the oscap Command",slug:"about-the-oscap-command"},{level:3,title:"Displaying information, using oscap",slug:"displaying-information-using-oscap"},{level:3,title:"Displaying Available Profiles",slug:"displaying-available-profiles"},{level:3,title:"Scanning the system",slug:"scanning-the-system"},{level:3,title:"Generating a Full Security Guide",slug:"generating-a-full-security-guide"},{level:3,title:"OVAL Scan",slug:"oval-scan"},{level:2,title:"SCAP Workbench",slug:"scap-workbench"},{level:3,title:"Applying Security Policy during Installation",slug:"applying-security-policy-during-installation"}]},{title:"AlmaLinux OS OVAL streams",frontmatter:{title:"AlmaLinux OS OVAL streams"},regularPath:"/documentation/oval-streams.html",relativePath:"documentation/oval-streams.md",key:"v-55662ea4",path:"/documentation/oval-streams.html",headers:[{level:2,title:"AlmaLinux OS 8",slug:"almalinux-os-8"},{level:2,title:"AlmaLinux OS 9",slug:"almalinux-os-9"}]},{title:"Package Building Guide",frontmatter:{title:"Package Building Guide"},regularPath:"/documentation/package-building-guide.html",relativePath:"documentation/package-building-guide.md",key:"v-71263eca",path:"/documentation/package-building-guide.html",headers:[{level:2,title:"About mock",slug:"about-mock"},{level:2,title:"Setup mock and rpm-build",slug:"setup-mock-and-rpm-build"},{level:2,title:"Building packages from SRPMS",slug:"building-packages-from-srpms"},{level:3,title:"Instruction if changes are needed",slug:"instruction-if-changes-are-needed"},{level:3,title:"Instruction without changes",slug:"instruction-without-changes"},{level:2,title:"Building packages from git.almalinux.org",slug:"building-packages-from-git-almalinux-org"},{level:2,title:"Config file for i686",slug:"config-file-for-i686"}]},{title:"AlmaLinux 9 OpenSCAP Guide",frontmatter:{title:"AlmaLinux 9 OpenSCAP Guide"},regularPath:"/documentation/openscap-guide-for-9.html",relativePath:"documentation/openscap-guide-for-9.md",key:"v-575a405e",path:"/documentation/openscap-guide-for-9.html",headers:[{level:2,title:"Validate Data Stream File",slug:"validate-data-stream-file"},{level:2,title:"Displaying information, using oscap",slug:"displaying-information-using-oscap"},{level:2,title:"Displaying Available Profiles",slug:"displaying-available-profiles"},{level:2,title:"View information about a profile",slug:"view-information-about-a-profile"},{level:2,title:"Scanning the system",slug:"scanning-the-system"},{level:2,title:"Generating a Full Security Guide",slug:"generating-a-full-security-guide"},{level:2,title:"Remediating a System For Compliance With a Security Profile",slug:"remediating-a-system-for-compliance-with-a-security-profile"},{level:2,title:"Auditing for Vulnerabilities By Using OVAL Definitions",slug:"auditing-for-vulnerabilities-by-using-oval-definitions"},{level:3,title:"About OVAL",slug:"about-oval"},{level:3,title:"Getting an OVAL file",slug:"getting-an-oval-file"},{level:3,title:"Displaying information about an OVAL file",slug:"displaying-information-about-an-oval-file"},{level:3,title:"Validating an OVAL file",slug:"validating-an-oval-file"},{level:3,title:"Performing a scan",slug:"performing-a-scan"},{level:2,title:"SCAP Workbench",slug:"scap-workbench"}]},{title:"Raspberry Pi",frontmatter:{title:"Raspberry Pi"},regularPath:"/documentation/raspberry-pi.html",relativePath:"documentation/raspberry-pi.md",key:"v-c37b8034",path:"/documentation/raspberry-pi.html",headers:[{level:2,title:"About Raspberry Pi",slug:"about-raspberry-pi"},{level:2,title:"Tested models",slug:"tested-models"},{level:2,title:"Installation steps",slug:"installation-steps"},{level:3,title:"Download image",slug:"download-image"},{level:3,title:"Verify AlmaLinux 8 images",slug:"verify-almalinux-8-images"},{level:3,title:"Verify AlmaLinux 9 images",slug:"verify-almalinux-9-images"},{level:3,title:"Burn Raspberry Pi image",slug:"burn-raspberry-pi-image"},{level:3,title:"Getting started",slug:"getting-started"},{level:3,title:"Connecting to Wi-Fi",slug:"connecting-to-wi-fi"},{level:3,title:"Getting GNOME working",slug:"getting-gnome-working"},{level:2,title:"Configuration using cloud-init",slug:"configuration-using-cloud-init"},{level:3,title:"Add SSH public key to default user",slug:"add-ssh-public-key-to-default-user"},{level:3,title:"Change default user's password",slug:"change-default-user-s-password"},{level:3,title:"Enable SSH password authentication",slug:"enable-ssh-password-authentication"},{level:3,title:"Network configuration: wired network with a static IPv4 address",slug:"network-configuration-wired-network-with-a-static-ipv4-address"},{level:3,title:"Network configuration: Wi-Fi with a dynamic IP address",slug:"network-configuration-wi-fi-with-a-dynamic-ip-address"},{level:3,title:"Frequent Issues",slug:"frequent-issues"},{level:2,title:"Booting AlmaLinux 9.1 on RPi (boot log)",slug:"booting-almalinux-9-1-on-rpi-boot-log"},{level:2,title:"How to contribute",slug:"how-to-contribute"}]},{title:"User Guide: AlmaLinux Software Bill of Materials (SBOM)",frontmatter:{title:"User Guide: AlmaLinux *Software Bill of Materials (SBOM)*"},regularPath:"/documentation/sbom-guide.html",relativePath:"documentation/sbom-guide.md",key:"v-ca7a84b4",path:"/documentation/sbom-guide.html",headers:[{level:2,title:"Introduction",slug:"introduction"},{level:3,title:"About SBOM",slug:"about-sbom"},{level:3,title:"About CAS",slug:"about-cas"},{level:3,title:"Working with SBOM",slug:"working-with-sbom"},{level:3,title:"Supported releases",slug:"supported-releases"},{level:2,title:"Install guide",slug:"install-guide"},{level:3,title:"Software Prerequisites",slug:"software-prerequisites"},{level:3,title:"Installation",slug:"installation"},{level:2,title:"Using Guide",slug:"using-guide"},{level:3,title:"Authenticate by package binary file",slug:"authenticate-by-package-binary-file"},{level:3,title:"Authenticate with manually calculated rpm-package-hash",slug:"authenticate-with-manually-calculated-rpm-package-hash"},{level:3,title:"Get rpm-package-hash (or package) from AlmaLinux Build System",slug:"get-rpm-package-hash-or-package-from-almalinux-build-system"},{level:3,title:"Authentication using a hash obtained from Build Service",slug:"authentication-using-a-hash-obtained-from-build-service"},{level:2,title:"Trademark notices",slug:"trademark-notices"}]},{title:"AlmaLinux WSL",frontmatter:{title:"AlmaLinux WSL"},regularPath:"/documentation/wsl.html",relativePath:"documentation/wsl.md",key:"v-6eac333c",path:"/documentation/wsl.html",headers:[{level:2,title:"About WSL",slug:"about-wsl"},{level:2,title:"Installation steps",slug:"installation-steps"},{level:2,title:"Popular issues",slug:"popular-issues"}]},{title:"openQA",frontmatter:{title:"openQA"},regularPath:"/documentation/openQA.html",relativePath:"documentation/openQA.md",key:"v-abcab9ac",path:"/documentation/openQA.html",headers:[{level:2,title:"About openQA in the AlmaLinux Project",slug:"about-openqa-in-the-almalinux-project"},{level:2,title:"User Guide",slug:"user-guide"},{level:3,title:"Latest tests on the main page",slug:"latest-tests-on-the-main-page"},{level:3,title:"All Tests",slug:"all-tests"},{level:3,title:"Job Groups",slug:"job-groups"},{level:2,title:"Contribute and Get Help",slug:"contribute-and-get-help"}]},{title:"ELevate NG Testing Guide",frontmatter:{title:"ELevate NG Testing Guide"},regularPath:"/elevate/ELevate-NG-testing-guide.html",relativePath:"elevate/ELevate-NG-testing-guide.md",key:"v-2a1c22bc",path:"/elevate/ELevate-NG-testing-guide.html",headers:[{level:2,title:"Upgrade CentOS 7 to AlmaLinux 8",slug:"upgrade-centos-7-to-almalinux-8"},{level:2,title:"Prepare the system for upgrade to AlmaLinux 9",slug:"prepare-the-system-for-upgrade-to-almalinux-9"},{level:2,title:"Upgrading AlmaLinux 8 to AlmaLinux 9",slug:"upgrading-almalinux-8-to-almalinux-9"},{level:2,title:"Demo Video",slug:"demo-video"},{level:2,title:"Known Issues",slug:"known-issues"},{level:3,title:"Upgrading from Scientific Linux 7",slug:"upgrading-from-scientific-linux-7"},{level:2,title:"Get Help",slug:"get-help"}]},{title:"Election 2023",frontmatter:{title:"Election 2023"},regularPath:"/election2023.html",relativePath:"election2023.md",key:"v-3d934450",path:"/election2023.html",headers:[{level:2,title:"Votes cast",slug:"votes-cast"},{level:3,title:"Contributor and Mirror members, 200 voters out of 351 possible",slug:"contributor-and-mirror-members-200-voters-out-of-351-possible"},{level:3,title:"Platinum members, 1 voter, out of 2 possible",slug:"platinum-members-1-voter-out-of-2-possible"},{level:3,title:"Gold members, 2 voters out of 3 possible",slug:"gold-members-2-voters-out-of-3-possible"},{level:3,title:"Silver members, 7 voters out of 11 possible",slug:"silver-members-7-voters-out-of-11-possible"},{level:2,title:"FAQ",slug:"faq"}]},{title:"ELevate Offline Guide",frontmatter:{title:"ELevate Offline Guide"},regularPath:"/elevate/ELevate-offline-guide.html",relativePath:"elevate/ELevate-offline-guide.md",key:"v-b10d8a48",path:"/elevate/ELevate-offline-guide.html",headers:[{level:2,title:"Requirements",slug:"requirements"},{level:2,title:"Prerequisites",slug:"prerequisites"},{level:3,title:"Create a local AlmaLinux mirror",slug:"create-a-local-almalinux-mirror"},{level:3,title:"Create a local ELevate mirror",slug:"create-a-local-elevate-mirror"},{level:3,title:"Add access to the private ELevate mirror",slug:"add-access-to-the-private-elevate-mirror"},{level:2,title:"Migrate CentOS 7 to AlmaLinux 8",slug:"migrate-centos-7-to-almalinux-8"},{level:3,title:"Install ELevate packages",slug:"install-elevate-packages"},{level:3,title:"Perform the migration",slug:"perform-the-migration"},{level:3,title:"Prepare the system for migration to AlmaLinux 9",slug:"prepare-the-system-for-migration-to-almalinux-9"},{level:2,title:"Migrate AlmaLinux 8 to AlmaLinux 9",slug:"migrate-almalinux-8-to-almalinux-9"},{level:3,title:"Install ELevate packages",slug:"install-elevate-packages-2"},{level:2,title:"Perform the migration",slug:"perform-the-migration-2"},{level:2,title:"Get Help",slug:"get-help"}]},{title:"ELevate Quickstart Guide",frontmatter:{title:"ELevate Quickstart Guide"},regularPath:"/elevate/ELevate-quickstart-guide.html",relativePath:"elevate/ELevate-quickstart-guide.md",key:"v-5ac19ab0",path:"/elevate/ELevate-quickstart-guide.html",headers:[{level:3,title:"Requirements",slug:"requirements"},{level:2,title:"Upgrade steps",slug:"upgrade-steps"},{level:3,title:"Demo Video",slug:"demo-video"},{level:2,title:"Get Help",slug:"get-help"}]},{title:"ELevate Contribution Guide",frontmatter:{title:"ELevate Contribution Guide"},regularPath:"/elevate/Contribution-guide.html",relativePath:"elevate/Contribution-guide.md",key:"v-7bff6860",path:"/elevate/Contribution-guide.html",headers:[{level:2,title:"Third-party vendors support",slug:"third-party-vendors-support"},{level:3,title:"Repository mapping file",slug:"repository-mapping-file"},{level:3,title:"Package repository file",slug:"package-repository-file"},{level:3,title:"Package signatures list",slug:"package-signatures-list"},{level:3,title:"Package migration event list",slug:"package-migration-event-list"},{level:3,title:"Creating a pull request",slug:"creating-a-pull-request"},{level:2,title:"Contribute to Testing",slug:"contribute-to-testing"},{level:2,title:"Get Help",slug:"get-help"}]},{title:"ELevate Testing Guide",frontmatter:{title:"ELevate Testing Guide"},regularPath:"/elevate/ELevate-testing-guide.html",relativePath:"elevate/ELevate-testing-guide.md",key:"v-441e0588",path:"/elevate/ELevate-testing-guide.html",headers:[{level:2,title:"Upgrade CentOS 7 to AlmaLinux 8",slug:"upgrade-centos-7-to-almalinux-8"},{level:2,title:"Prepare the system for upgrading to AlmaLinux 9",slug:"prepare-the-system-for-upgrading-to-almalinux-9"},{level:2,title:"Upgrading AlmaLinux 8 to AlmaLinux 9",slug:"upgrading-almalinux-8-to-almalinux-9"},{level:2,title:"Demo Video",slug:"demo-video"},{level:2,title:"Known Issues",slug:"known-issues"},{level:3,title:"Upgrading from Scientific Linux 7",slug:"upgrading-from-scientific-linux-7"},{level:2,title:"Get Help",slug:"get-help"}]},{title:"ELevating CentOS 7 to AlmaLinux 9",frontmatter:{title:"ELevating CentOS 7 to AlmaLinux 9"},regularPath:"/elevate/ELevating-CentOS7-to-AlmaLinux-9.html",relativePath:"elevate/ELevating-CentOS7-to-AlmaLinux-9.md",key:"v-241dfc10",path:"/elevate/ELevating-CentOS7-to-AlmaLinux-9.html",headers:[{level:2,title:"Upgrade CentOS 7 to AlmaLinux 8",slug:"upgrade-centos-7-to-almalinux-8"},{level:2,title:"Prepare the system for upgrade to AlmaLinux 9",slug:"prepare-the-system-for-upgrade-to-almalinux-9"},{level:2,title:"Upgrading AlmaLinux 8 to AlmaLinux 9",slug:"upgrading-almalinux-8-to-almalinux-9"},{level:2,title:"Get Help",slug:"get-help"}]},{title:"About ELevate project",frontmatter:{title:"About ELevate project"},regularPath:"/elevate/",relativePath:"elevate/README.md",key:"v-107084ee",path:"/elevate/",headers:[{level:2,title:"Available migration paths",slug:"available-migration-paths"},{level:2,title:"How to upgrade",slug:"how-to-upgrade"},{level:2,title:"How to Contribute",slug:"how-to-contribute"}]},{title:"ELevating CentOS 6 to CentOS 7",frontmatter:{title:"ELevating CentOS 6 to CentOS 7"},regularPath:"/elevate/ELevating-CentOS6-to-CentOS7.html",relativePath:"elevate/ELevating-CentOS6-to-CentOS7.md",key:"v-72dda17a",path:"/elevate/ELevating-CentOS6-to-CentOS7.html",headers:[{level:2,title:"Requirements",slug:"requirements"},{level:2,title:"Upgrade CentOS 6.10 to CentOS 7.2.1511",slug:"upgrade-centos-6-10-to-centos-7-2-1511"},{level:3,title:"Prerequisites",slug:"prerequisites"},{level:3,title:"Migrate the system",slug:"migrate-the-system"},{level:3,title:"Clean up",slug:"clean-up"},{level:2,title:"Upgrade CenOS 7.2.1511 to CentOS 7.9.2009",slug:"upgrade-cenos-7-2-1511-to-centos-7-9-2009"},{level:2,title:"Get Help and Contribute",slug:"get-help-and-contribute"}]},{title:"Google Summer of Code",frontmatter:{},regularPath:"/gsoc.html",relativePath:"gsoc.md",key:"v-6d6a1188",path:"/gsoc.html",headers:[{level:2,title:"Application Process",slug:"application-process"},{level:2,title:"Ideas",slug:"ideas"},{level:2,title:"Application",slug:"application"}]},{title:"Vagrant Boxes",frontmatter:{title:"Vagrant Boxes"},regularPath:"/installation/vagrant-boxes.html",relativePath:"installation/vagrant-boxes.md",key:"v-7395e8b8",path:"/installation/vagrant-boxes.html",headers:[{level:2,title:"Contribute and Get Help",slug:"contribute-and-get-help"}]},{title:"8.10",frontmatter:{title:"8.10"},regularPath:"/release-notes/8.10.html",relativePath:"release-notes/8.10.md",key:"v-0db3a3b6",path:"/release-notes/8.10.html",headers:[{level:2,title:"Providing Feedback and Getting Help",slug:"providing-feedback-and-getting-help"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Installation instructions",slug:"installation-instructions"},{level:2,title:"Upgrade Instructions",slug:"upgrade-instructions"},{level:2,title:"8.10 Beta Testers",slug:"_8-10-beta-testers"},{level:2,title:"Added packages",slug:"added-packages"},{level:2,title:"Removed packages",slug:"removed-packages"},{level:2,title:"Extended hardware support",slug:"extended-hardware-support"}]},{title:"8.3 Beta",frontmatter:{title:"8.3 Beta"},regularPath:"/release-notes/8.3-beta.html",relativePath:"release-notes/8.3-beta.md",key:"v-23e31d40",path:"/release-notes/8.3-beta.html",headers:[{level:2,title:"Installation instructions",slug:"installation-instructions"},{level:2,title:"How to set up a usb key to install AlmaLinux",slug:"how-to-set-up-a-usb-key-to-install-almalinux"},{level:2,title:"Known issues",slug:"known-issues"}]},{title:"8.10 Beta",frontmatter:{title:"8.10 Beta"},regularPath:"/release-notes/8.10-beta.html",relativePath:"release-notes/8.10-beta.md",key:"v-e0280cc8",path:"/release-notes/8.10-beta.html",headers:[{level:2,title:"Beta Release",slug:"beta-release"},{level:2,title:"Providing Feedback and Getting Help",slug:"providing-feedback-and-getting-help"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Upgrade Instructions",slug:"upgrade-instructions"},{level:2,title:"Installation instructions",slug:"installation-instructions"},{level:2,title:"Additional packages",slug:"additional-packages"},{level:2,title:"Removed packages",slug:"removed-packages"},{level:2,title:"Extended hardware support",slug:"extended-hardware-support"}]},{title:"AlmaLinux Migration Projects",frontmatter:{title:"AlmaLinux Migration Projects"},regularPath:"/migration/",relativePath:"migration/README.md",key:"v-776b3a21",path:"/migration/",headers:[{level:2,title:"AlmaLinux Migration Tool",slug:"almalinux-migration-tool"},{level:2,title:"AlmaLinux ELevate Project",slug:"almalinux-elevate-project"}]},{title:"ELevate Frequent Issues",frontmatter:{title:"ELevate Frequent Issues"},regularPath:"/elevate/ELevate-frequent-issues.html",relativePath:"elevate/ELevate-frequent-issues.md",key:"v-320792bc",path:"/elevate/ELevate-frequent-issues.html",headers:[{level:2,title:"Leapp upgrade error caused by important modules from kernel drivers",slug:"leapp-upgrade-error-caused-by-important-modules-from-kernel-drivers"},{level:2,title:'Leapp upgrade error "More space needed on the / filesystem"',slug:"leapp-upgrade-error-more-space-needed-on-the-filesystem"},{level:2,title:"sssd fails after upgrade",slug:"sssd-fails-after-upgrade"},{level:2,title:"ELevate fails due to initramfs missing a module",slug:"elevate-fails-due-to-initramfs-missing-a-module"},{level:2,title:"Known issues",slug:"known-issues"},{level:2,title:"Get Help",slug:"get-help"}]},{title:"8.3",frontmatter:{title:"8.3"},regularPath:"/release-notes/8.3.html",relativePath:"release-notes/8.3.md",key:"v-3b50827c",path:"/release-notes/8.3.html",headers:[{level:2,title:"Installation instructions",slug:"installation-instructions"},{level:2,title:"Upgrade instructions",slug:"upgrade-instructions"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Known issues",slug:"known-issues"}]},{title:"8.4 Beta",frontmatter:{title:"8.4 Beta"},regularPath:"/release-notes/8.4-beta.html",relativePath:"release-notes/8.4-beta.md",key:"v-d2ca10bc",path:"/release-notes/8.4-beta.html",headers:[{level:2,title:"Beta Release",slug:"beta-release"},{level:2,title:"Providing Feedback and Getting Help",slug:"providing-feedback-and-getting-help"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Installation instructions",slug:"installation-instructions"},{level:2,title:"Upgrade Instructions",slug:"upgrade-instructions"},{level:2,title:"Known issues",slug:"known-issues"}]},{title:"8.3 RC",frontmatter:{title:"8.3 RC"},regularPath:"/release-notes/8.3-rc.html",relativePath:"release-notes/8.3-rc.md",key:"v-9b3b8fc4",path:"/release-notes/8.3-rc.html",headers:[{level:2,title:"Installation instructions",slug:"installation-instructions"},{level:2,title:"Upgrade instructions",slug:"upgrade-instructions"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Known issues",slug:"known-issues"}]},{title:"8.4 Beta for ARM",frontmatter:{title:"8.4 Beta for ARM"},regularPath:"/release-notes/8.4-beta-arm.html",relativePath:"release-notes/8.4-beta-arm.md",key:"v-f7f8edf8",path:"/release-notes/8.4-beta-arm.html",headers:[{level:2,title:"Beta Release",slug:"beta-release"},{level:2,title:"Providing Feedback and Getting Help",slug:"providing-feedback-and-getting-help"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Installation instructions",slug:"installation-instructions"},{level:2,title:"Known issues",slug:"known-issues"},{level:2,title:"Added packages",slug:"added-packages"},{level:2,title:"Removed packages",slug:"removed-packages"}]},{title:"8.5 Beta for PowerPC",frontmatter:{title:"8.5 Beta for PowerPC"},regularPath:"/release-notes/8.5-beta-ppc.html",relativePath:"release-notes/8.5-beta-ppc.md",key:"v-15e3bcb8",path:"/release-notes/8.5-beta-ppc.html",headers:[{level:2,title:"Beta Release",slug:"beta-release"},{level:2,title:"Providing Feedback and Getting Help",slug:"providing-feedback-and-getting-help"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Installation instructions",slug:"installation-instructions"},{level:2,title:"Known issues",slug:"known-issues"},{level:2,title:"Added packages",slug:"added-packages"},{level:2,title:"Removed packages",slug:"removed-packages"}]},{title:"8.4",frontmatter:{title:"8.4"},regularPath:"/release-notes/8.4.html",relativePath:"release-notes/8.4.md",key:"v-76566bdc",path:"/release-notes/8.4.html",headers:[{level:2,title:"Providing Feedback and Getting Help",slug:"providing-feedback-and-getting-help"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Installation instructions",slug:"installation-instructions"},{level:2,title:"Upgrade Instructions",slug:"upgrade-instructions"},{level:2,title:"Known issues",slug:"known-issues"},{level:2,title:"Added packages",slug:"added-packages"},{level:2,title:"Removed packages",slug:"removed-packages"}]},{title:"8.4 for ARM",frontmatter:{title:"8.4 for ARM"},regularPath:"/release-notes/8.4-arm.html",relativePath:"release-notes/8.4-arm.md",key:"v-186b35fc",path:"/release-notes/8.4-arm.html",headers:[{level:2,title:"Providing Feedback and Getting Help",slug:"providing-feedback-and-getting-help"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Installation instructions",slug:"installation-instructions"},{level:2,title:"Known issues",slug:"known-issues"},{level:2,title:"Added packages",slug:"added-packages"},{level:2,title:"Removed packages",slug:"removed-packages"}]},{title:"8.5 for PowerPC",frontmatter:{title:"8.5 for PowerPC"},regularPath:"/release-notes/8.5-ppc.html",relativePath:"release-notes/8.5-ppc.md",key:"v-e5e46608",path:"/release-notes/8.5-ppc.html",headers:[{level:2,title:"Providing Feedback and Getting Help",slug:"providing-feedback-and-getting-help"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Installation instructions",slug:"installation-instructions"},{level:2,title:"Added packages",slug:"added-packages"},{level:2,title:"Removed packages",slug:"removed-packages"}]},{title:"8.5",frontmatter:{title:"8.5"},regularPath:"/release-notes/8.5.html",relativePath:"release-notes/8.5.md",key:"v-9d475588",path:"/release-notes/8.5.html",headers:[{level:2,title:"Providing Feedback and Getting Help",slug:"providing-feedback-and-getting-help"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Installation Instructions",slug:"installation-instructions"},{level:2,title:"Upgrade Instructions from 8.4 to 8.5",slug:"upgrade-instructions-from-8-4-to-8-5"},{level:2,title:"Packages Added in this Release",slug:"packages-added-in-this-release"},{level:2,title:"Packages Removed in this Release",slug:"packages-removed-in-this-release"}]},{title:"8.6 Beta",frontmatter:{title:"8.6 Beta"},regularPath:"/release-notes/8.6-beta.html",relativePath:"release-notes/8.6-beta.md",key:"v-3097f7b4",path:"/release-notes/8.6-beta.html",headers:[{level:2,title:"Beta Release",slug:"beta-release"},{level:2,title:"Providing Feedback and Getting Help",slug:"providing-feedback-and-getting-help"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Installation instructions",slug:"installation-instructions"},{level:2,title:"Upgrade Instructions",slug:"upgrade-instructions"},{level:2,title:"Added packages",slug:"added-packages"},{level:2,title:"Removed packages",slug:"removed-packages"}]},{title:"8.7 Beta",frontmatter:{title:"8.7 Beta"},regularPath:"/release-notes/8.7-beta.html",relativePath:"release-notes/8.7-beta.md",key:"v-df7eeb30",path:"/release-notes/8.7-beta.html",headers:[{level:2,title:"Beta Release",slug:"beta-release"},{level:2,title:"Providing Feedback and Getting Help",slug:"providing-feedback-and-getting-help"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Installation instructions",slug:"installation-instructions"},{level:2,title:"Upgrade Instructions",slug:"upgrade-instructions"},{level:2,title:"Added packages",slug:"added-packages"},{level:2,title:"Removed packages",slug:"removed-packages"}]},{title:"8.5 Beta",frontmatter:{title:"8.5 Beta"},regularPath:"/release-notes/8.5-beta.html",relativePath:"release-notes/8.5-beta.md",key:"v-3f277de4",path:"/release-notes/8.5-beta.html",headers:[{level:2,title:"Beta Release",slug:"beta-release"},{level:2,title:"Providing Feedback and Getting Help",slug:"providing-feedback-and-getting-help"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Installation instructions",slug:"installation-instructions"},{level:2,title:"Upgrade Instructions",slug:"upgrade-instructions"},{level:2,title:"Added packages",slug:"added-packages"},{level:2,title:"Removed packages",slug:"removed-packages"}]},{title:"8.7",frontmatter:{title:"8.7"},regularPath:"/release-notes/8.7.html",relativePath:"release-notes/8.7.md",key:"v-276827fc",path:"/release-notes/8.7.html",headers:[{level:2,title:"Providing Feedback and Getting Help",slug:"providing-feedback-and-getting-help"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Installation instructions",slug:"installation-instructions"},{level:2,title:"Upgrade Instructions",slug:"upgrade-instructions"},{level:2,title:"Added packages",slug:"added-packages"},{level:2,title:"Removed packages",slug:"removed-packages"}]},{title:"8.8 Beta",frontmatter:{title:"8.8 Beta"},regularPath:"/release-notes/8.8-beta.html",relativePath:"release-notes/8.8-beta.md",key:"v-38cd10aa",path:"/release-notes/8.8-beta.html",headers:[{level:2,title:"Beta Release",slug:"beta-release"},{level:2,title:"Providing Feedback and Getting Help",slug:"providing-feedback-and-getting-help"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Installation instructions",slug:"installation-instructions"},{level:2,title:"Upgrade Instructions",slug:"upgrade-instructions"},{level:2,title:"Added packages",slug:"added-packages"},{level:2,title:"Removed packages",slug:"removed-packages"}]},{title:"8.9 Beta",frontmatter:{title:"8.9 Beta"},regularPath:"/release-notes/8.9-beta.html",relativePath:"release-notes/8.9-beta.md",key:"v-3d4cd228",path:"/release-notes/8.9-beta.html",headers:[{level:2,title:"Beta Release",slug:"beta-release"},{level:2,title:"Providing Feedback and Getting Help",slug:"providing-feedback-and-getting-help"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Installation instructions",slug:"installation-instructions"},{level:2,title:"Upgrade Instructions",slug:"upgrade-instructions"},{level:2,title:"Additional packages",slug:"additional-packages"},{level:2,title:"Removed packages",slug:"removed-packages"}]},{title:"8.8",frontmatter:{title:"8.8"},regularPath:"/release-notes/8.8.html",relativePath:"release-notes/8.8.md",key:"v-626e115c",path:"/release-notes/8.8.html",headers:[{level:2,title:"Providing Feedback and Getting Help",slug:"providing-feedback-and-getting-help"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Installation instructions",slug:"installation-instructions"},{level:2,title:"Upgrade Instructions",slug:"upgrade-instructions"},{level:2,title:"Added packages",slug:"added-packages"},{level:2,title:"Removed packages",slug:"removed-packages"}]},{title:"9.0 Beta",frontmatter:{title:"9.0 Beta"},regularPath:"/release-notes/9.0-beta.html",relativePath:"release-notes/9.0-beta.md",key:"v-a8264748",path:"/release-notes/9.0-beta.html",headers:[{level:2,title:"Beta Release",slug:"beta-release"},{level:2,title:"Providing Feedback and Getting Help",slug:"providing-feedback-and-getting-help"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Installation instructions",slug:"installation-instructions"},{level:2,title:"Known issues",slug:"known-issues"},{level:2,title:"Added packages",slug:"added-packages"},{level:2,title:"Removed packages",slug:"removed-packages"}]},{title:"9.0",frontmatter:{title:"9.0"},regularPath:"/release-notes/9.0.html",relativePath:"release-notes/9.0.md",key:"v-1b6fd7bc",path:"/release-notes/9.0.html",headers:[{level:2,title:"Providing Feedback and Getting Help",slug:"providing-feedback-and-getting-help"},{level:2,title:"Upstream Release Notes",slug:"upstream-release-notes"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Installation Instructions",slug:"installation-instructions"},{level:2,title:"Upgrade Instructions",slug:"upgrade-instructions"},{level:2,title:"Added Packages",slug:"added-packages"},{level:2,title:"Removed Packages",slug:"removed-packages"}]},{title:"8.9",frontmatter:{title:"8.9"},regularPath:"/release-notes/8.9.html",relativePath:"release-notes/8.9.md",key:"v-c5180a88",path:"/release-notes/8.9.html",headers:[{level:2,title:"Providing Feedback and Getting Help",slug:"providing-feedback-and-getting-help"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Installation instructions",slug:"installation-instructions"},{level:2,title:"Upgrade Instructions",slug:"upgrade-instructions"},{level:2,title:"Added packages",slug:"added-packages"},{level:2,title:"Removed packages",slug:"removed-packages"}]},{title:"9.1",frontmatter:{title:"9.1"},regularPath:"/release-notes/9.1.html",relativePath:"release-notes/9.1.md",key:"v-5675c11c",path:"/release-notes/9.1.html",headers:[{level:2,title:"Providing Feedback and Getting Help",slug:"providing-feedback-and-getting-help"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Installation instructions",slug:"installation-instructions"},{level:2,title:"Upgrade Instructions",slug:"upgrade-instructions"},{level:2,title:"Added packages",slug:"added-packages"},{level:2,title:"Removed packages",slug:"removed-packages"}]},{title:"9.1 Beta",frontmatter:{title:"9.1 Beta"},regularPath:"/release-notes/9.1-beta.html",relativePath:"release-notes/9.1-beta.md",key:"v-5479629e",path:"/release-notes/9.1-beta.html",headers:[{level:2,title:"Beta Release",slug:"beta-release"},{level:2,title:"Providing Feedback and Getting Help",slug:"providing-feedback-and-getting-help"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Installation instructions",slug:"installation-instructions"},{level:2,title:"Upgrade Instructions",slug:"upgrade-instructions"},{level:2,title:"Added packages",slug:"added-packages"},{level:2,title:"Removed packages",slug:"removed-packages"}]},{title:"9.2 Beta",frontmatter:{title:"9.2 Beta"},regularPath:"/release-notes/9.2-beta.html",relativePath:"release-notes/9.2-beta.md",key:"v-05f42e40",path:"/release-notes/9.2-beta.html",headers:[{level:2,title:"Beta Release",slug:"beta-release"},{level:2,title:"Providing Feedback and Getting Help",slug:"providing-feedback-and-getting-help"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Installation instructions",slug:"installation-instructions"},{level:2,title:"Upgrade Instructions",slug:"upgrade-instructions"},{level:2,title:"Added packages",slug:"added-packages"},{level:2,title:"Removed packages",slug:"removed-packages"}]},{title:"9.3",frontmatter:{title:"9.3"},regularPath:"/release-notes/9.3.html",relativePath:"release-notes/9.3.md",key:"v-66fcd848",path:"/release-notes/9.3.html",headers:[{level:2,title:"Providing Feedback and Getting Help",slug:"providing-feedback-and-getting-help"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Installation instructions",slug:"installation-instructions"},{level:2,title:"Upgrade Instructions",slug:"upgrade-instructions"},{level:2,title:"Additional packages",slug:"additional-packages"},{level:2,title:"Removed packages",slug:"removed-packages"}]},{title:"9.2",frontmatter:{title:"9.2"},regularPath:"/release-notes/9.2.html",relativePath:"release-notes/9.2.md",key:"v-dd08ab08",path:"/release-notes/9.2.html",headers:[{level:2,title:"Providing Feedback and Getting Help",slug:"providing-feedback-and-getting-help"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Installation instructions",slug:"installation-instructions"},{level:2,title:"Upgrade Instructions",slug:"upgrade-instructions"},{level:2,title:"Added packages",slug:"added-packages"},{level:2,title:"Removed packages",slug:"removed-packages"}]},{title:"9.3 Beta",frontmatter:{title:"9.3 Beta"},regularPath:"/release-notes/9.3-beta.html",relativePath:"release-notes/9.3-beta.md",key:"v-b4db21bc",path:"/release-notes/9.3-beta.html",headers:[{level:2,title:"Beta Release",slug:"beta-release"},{level:2,title:"Providing Feedback and Getting Help",slug:"providing-feedback-and-getting-help"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Installation instructions",slug:"installation-instructions"},{level:2,title:"Upgrade Instructions",slug:"upgrade-instructions"},{level:2,title:"Known issues",slug:"known-issues"},{level:2,title:"Additional packages",slug:"additional-packages"},{level:2,title:"Removed packages",slug:"removed-packages"}]},{title:"9.4",frontmatter:{title:"9.4"},regularPath:"/release-notes/9.4.html",relativePath:"release-notes/9.4.md",key:"v-07877d3c",path:"/release-notes/9.4.html",headers:[{level:2,title:"Providing Feedback and Getting Help",slug:"providing-feedback-and-getting-help"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Installation instructions",slug:"installation-instructions"},{level:2,title:"Upgrade Instructions",slug:"upgrade-instructions"},{level:2,title:"9.4 Beta Testers",slug:"_9-4-beta-testers"},{level:2,title:"Additional packages",slug:"additional-packages"},{level:2,title:"Removed packages",slug:"removed-packages"},{level:2,title:"Extended hardware support",slug:"extended-hardware-support"}]},{title:"9.4 Beta",frontmatter:{title:"9.4 Beta"},regularPath:"/release-notes/9.4-beta.html",relativePath:"release-notes/9.4-beta.md",key:"v-4e1ef564",path:"/release-notes/9.4-beta.html",headers:[{level:2,title:"Beta Release",slug:"beta-release"},{level:2,title:"Providing Feedback and Getting Help",slug:"providing-feedback-and-getting-help"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Upgrade Instructions",slug:"upgrade-instructions"},{level:2,title:"Installation instructions",slug:"installation-instructions"},{level:2,title:"Additional packages",slug:"additional-packages"},{level:2,title:"Removed packages",slug:"removed-packages"},{level:2,title:"Extended hardware support",slug:"extended-hardware-support"}]},{title:"Release Notes",frontmatter:{title:"Release Notes"},regularPath:"/release-notes/",relativePath:"release-notes/README.md",key:"v-34f8b4f2",path:"/release-notes/",headers:[{level:3,title:"AlmaLinux 9",slug:"almalinux-9"},{level:3,title:"AlmaLinux 8",slug:"almalinux-8"}]},{title:"CentOS SIGs Repositories",frontmatter:{title:"CentOS SIGs Repositories"},regularPath:"/repos/CentOS.html",relativePath:"repos/CentOS.md",key:"v-0d1ee514",path:"/repos/CentOS.html",headers:[{level:2,title:"Cloud SIG",slug:"cloud-sig"},{level:2,title:"Messaging SIG",slug:"messaging-sig"},{level:2,title:"Network Functions Virtualization SIG",slug:"network-functions-virtualization-sig"},{level:2,title:"Operational Tooling SIG",slug:"operational-tooling-sig"},{level:2,title:"Storage SIG",slug:"storage-sig"},{level:2,title:"Virtualization SIG",slug:"virtualization-sig"}]},{title:"AlmaLinux Repositories",frontmatter:{title:"AlmaLinux Repositories"},regularPath:"/repos/AlmaLinux.html",relativePath:"repos/AlmaLinux.md",key:"v-c2cf6f08",path:"/repos/AlmaLinux.html"},{title:"Extra Repositories",frontmatter:{title:"Extra Repositories"},regularPath:"/repos/Extras.html",relativePath:"repos/Extras.md",key:"v-9fd573b4",path:"/repos/Extras.html",headers:[{level:2,title:"EPEL",slug:"epel"},{level:2,title:"The ELRepo Project",slug:"the-elrepo-project"},{level:2,title:"RPM Fusion",slug:"rpm-fusion"}]},{title:"Repositories",frontmatter:{title:"Repositories"},regularPath:"/repos/",relativePath:"repos/README.md",key:"v-1f36497b",path:"/repos/"},{title:"Deploy a LAMP server",frontmatter:{title:"Deploy a LAMP server"},regularPath:"/series/LAMP-server.html",relativePath:"series/LAMP-server.md",key:"v-5b3a7088",path:"/series/LAMP-server.html",headers:[{level:2,title:"Introduction",slug:"introduction"},{level:3,title:"Requirements",slug:"requirements"},{level:2,title:"First step - install Apache 2",slug:"first-step-install-apache-2"},{level:2,title:"Second step - install MariaDB",slug:"second-step-install-mariadb"},{level:2,title:"Third step - install php-fpm",slug:"third-step-install-php-fpm"},{level:2,title:"Optional step - adding a website",slug:"optional-step-adding-a-website"}]},{title:"Synergy Repository",frontmatter:{title:"Synergy Repository"},regularPath:"/repos/Synergy.html",relativePath:"repos/Synergy.md",key:"v-304da2fc",path:"/repos/Synergy.html",headers:[{level:2,title:"About",slug:"about"},{level:2,title:"Enabling the repository",slug:"enabling-the-repository"},{level:2,title:"Request a package",slug:"request-a-package"}]},{title:"8.6",frontmatter:{title:"8.6"},regularPath:"/release-notes/8.6.html",relativePath:"release-notes/8.6.md",key:"v-273b82c8",path:"/release-notes/8.6.html",headers:[{level:2,title:"Providing Feedback and Getting Help",slug:"providing-feedback-and-getting-help"},{level:2,title:"Changelog",slug:"changelog"},{level:2,title:"Installation instructions",slug:"installation-instructions"},{level:2,title:"Upgrade Instructions from 8.5 to 8.6",slug:"upgrade-instructions-from-8-5-to-8-6"},{level:2,title:"Added packages",slug:"added-packages"},{level:2,title:"Removed packages",slug:"removed-packages"}]},{title:"Howto Series: AlmaLinux Tutorials 🚀",frontmatter:{},regularPath:"/series/",relativePath:"series/README.md",key:"v-0ad0a12f",path:"/series/",headers:[{level:2,title:"Nginx Series",slug:"nginx-series"},{level:2,title:"System Series",slug:"system-series"}]},{title:"A02 R91 ❯ AlmaLinux 9.1 Installation",frontmatter:{},regularPath:"/series/nginx/NginxSeriesA02R91.html",relativePath:"series/nginx/NginxSeriesA02R91.md",key:"v-451d3572",path:"/series/nginx/NginxSeriesA02R91.html",headers:[{level:2,title:"🌟 Introduction",slug:"🌟-introduction"},{level:2,title:"📝 Installation instructions",slug:"📝-installation-instructions"},{level:3,title:"System Updates First!",slug:"system-updates-first"},{level:3,title:"📖 Available Nginx Versions (AlmaLinux OS 9.1)",slug:"📖-available-nginx-versions-almalinux-os-9-1"},{level:3,title:"🔖 Variant I: AppStream Non-module Install",slug:"🔖-variant-i-appstream-non-module-install"},{level:3,title:"➡️ Install",slug:"➡️-install"},{level:3,title:"🔖 Variant II: AppStream Module Install",slug:"🔖-variant-ii-appstream-module-install"},{level:3,title:"🔖 Variant III: Main-line Repository Install",slug:"🔖-variant-iii-main-line-repository-install"},{level:3,title:"➡️ Import the Nginx signing key",slug:"➡️-import-the-nginx-signing-key"},{level:3,title:"➡️ Create a repo definition file for Nginx",slug:"➡️-create-a-repo-definition-file-for-nginx"},{level:3,title:"➡️ Populate the new repo file with below text (copy-paste & Ctrl+D)",slug:"➡️-populate-the-new-repo-file-with-below-text-copy-paste-ctrl-d"},{level:3,title:"➡️ Install dnf-uils",slug:"➡️-install-dnf-uils"},{level:3,title:"➡️ Enable the repository",slug:"➡️-enable-the-repository"},{level:3,title:"➡️ Enable/install the module",slug:"➡️-enable-install-the-module"},{level:3,title:"➡️ Test",slug:"➡️-test"},{level:2,title:"📚 Further reading and Next Steps",slug:"📚-further-reading-and-next-steps"}]},{title:"A02 R8 ❯ AlmaLinux 8.x Installation",frontmatter:{},regularPath:"/series/nginx/NginxSeriesA02R8.html",relativePath:"series/nginx/NginxSeriesA02R8.md",key:"v-11f83908",path:"/series/nginx/NginxSeriesA02R8.html",headers:[{level:2,title:"🌟 Introduction",slug:"🌟-introduction"},{level:2,title:"📝 Installation instructions",slug:"📝-installation-instructions"},{level:3,title:"System Updates First!",slug:"system-updates-first"},{level:3,title:"📖 Available Nginx Versions (AlmaLinux OS 8.7)",slug:"📖-available-nginx-versions-almalinux-os-8-7"},{level:3,title:"🔖 Variant I - AppStream Non-module Install",slug:"🔖-variant-i-appstream-non-module-install"},{level:3,title:"➡️ Install",slug:"➡️-install"},{level:3,title:"➡️ Test installation",slug:"➡️-test-installation"},{level:3,title:"🔖 Variant II: AppStream Module Install",slug:"🔖-variant-ii-appstream-module-install"},{level:3,title:"➡️ Pre-Install: list versions",slug:"➡️-pre-install-list-versions"},{level:3,title:"➡️ Install: enable the selected module version",slug:"➡️-install-enable-the-selected-module-version"},{level:3,title:"➡️ Install: actual package installation",slug:"➡️-install-actual-package-installation"},{level:3,title:"➡️ Test installation",slug:"➡️-test-installation-2"},{level:3,title:"🔖 Variant III: Main-line Repository Install",slug:"🔖-variant-iii-main-line-repository-install"},{level:3,title:"➡️ Add the repository",slug:"➡️-add-the-repository"},{level:3,title:"➡️ Install dnf-uils",slug:"➡️-install-dnf-uils"},{level:3,title:"➡️ Test",slug:"➡️-test"},{level:2,title:"📚 Further reading and Next Steps",slug:"📚-further-reading-and-next-steps"}]},{title:"A01 ❯ A Beginner's Guide",frontmatter:{},regularPath:"/series/nginx/NginxSeriesA01.html",relativePath:"series/nginx/NginxSeriesA01.md",key:"v-668fa6dc",path:"/series/nginx/NginxSeriesA01.html",headers:[{level:2,title:"🌟 Introduction",slug:"🌟-introduction"},{level:3,title:"About Nginx",slug:"about-nginx"},{level:3,title:"Architecture",slug:"architecture"},{level:3,title:"Primary components",slug:"primary-components"},{level:3,title:"Best practices",slug:"best-practices"},{level:2,title:"🧠 Fundamental Concepts",slug:"🧠-fundamental-concepts"},{level:3,title:"Nginx Installation Variants",slug:"nginx-installation-variants"},{level:2,title:"📝 Key Takeaways",slug:"📝-key-takeaways"},{level:3,title:"➡️ Installing",slug:"➡️-installing"},{level:3,title:"➡️ Testing",slug:"➡️-testing"},{level:3,title:"➡️ Configuring",slug:"➡️-configuring"},{level:3,title:"➡️ Management",slug:"➡️-management"},{level:2,title:"📖 Release-Specific Installation",slug:"📖-release-specific-installation"},{level:2,title:"📚 Further reading and Next Steps",slug:"📚-further-reading-and-next-steps"}]},{title:"A02 R92 ❯ AlmaLinux 9.2 Installation",frontmatter:{},regularPath:"/series/nginx/NginxSeriesA02R92.html",relativePath:"series/nginx/NginxSeriesA02R92.md",key:"v-c4200220",path:"/series/nginx/NginxSeriesA02R92.html",headers:[{level:2,title:"🌟 Introduction",slug:"🌟-introduction"},{level:2,title:"📝 Installation instructions",slug:"📝-installation-instructions"},{level:3,title:"System Updates First!",slug:"system-updates-first"},{level:3,title:"📖 Available Nginx Versions (AlmaLinux OS 9.2)",slug:"📖-available-nginx-versions-almalinux-os-9-2"},{level:3,title:"🔖 Variant I: AppStream Non-module Install",slug:"🔖-variant-i-appstream-non-module-install"},{level:3,title:"➡️ Install",slug:"➡️-install"},{level:3,title:"➡️ Test installation",slug:"➡️-test-installation"},{level:3,title:"🔖Variant II: AppStream Module Install",slug:"🔖variant-ii-appstream-module-install"},{level:3,title:"➡️ Install: enable the selected module version",slug:"➡️-install-enable-the-selected-module-version"},{level:3,title:"➡️ Install: actual package installation",slug:"➡️-install-actual-package-installation"},{level:3,title:"➡️ Test installation",slug:"➡️-test-installation-2"},{level:3,title:"🔖 Variant III: Main-line Repository Install",slug:"🔖-variant-iii-main-line-repository-install"},{level:3,title:"➡️ Import the Nginx signing key",slug:"➡️-import-the-nginx-signing-key"},{level:3,title:"➡️ Create a repo definition file for Nginx",slug:"➡️-create-a-repo-definition-file-for-nginx"},{level:3,title:"➡️ Populate the new repo file with below text (copy-paste & Ctrl+D)",slug:"➡️-populate-the-new-repo-file-with-below-text-copy-paste-ctrl-d"},{level:3,title:"➡️ Install dnf-uils",slug:"➡️-install-dnf-uils"},{level:3,title:"➡️ Enable the repository",slug:"➡️-enable-the-repository"},{level:3,title:"➡️ Install the package",slug:"➡️-install-the-package"},{level:3,title:"➡️ Test",slug:"➡️-test"},{level:2,title:"📚 Further reading and Next Steps",slug:"📚-further-reading-and-next-steps"}]},{title:"A04 ❯ Secure Nginx Deployment",frontmatter:{},regularPath:"/series/nginx/NginxSeriesA04P1.html",relativePath:"series/nginx/NginxSeriesA04P1.md",key:"v-3d058bdc",path:"/series/nginx/NginxSeriesA04P1.html",headers:[{level:2,title:"🌟 Introduction",slug:"🌟-introduction"},{level:2,title:"🧠 Fundamental Concepts",slug:"🧠-fundamental-concepts"},{level:3,title:"General Protection",slug:"general-protection"},{level:3,title:"Security must-haves",slug:"security-must-haves"},{level:3,title:"Configuration Specific Practices",slug:"configuration-specific-practices"},{level:2,title:"📝 Key Takeaways",slug:"📝-key-takeaways"},{level:3,title:"Step 1: Check The Firewalld Configuration",slug:"step-1-check-the-firewalld-configuration"},{level:3,title:"Step 2: Enable SSL/TLS Encryption",slug:"step-2-enable-ssl-tls-encryption"},{level:3,title:"Step 3: Implement User Authentication",slug:"step-3-implement-user-authentication"},{level:3,title:"Step 4: Implement Rate Limiting",slug:"step-4-implement-rate-limiting"},{level:3,title:"Step 5: Disable Server Tokens",slug:"step-5-disable-server-tokens"},{level:2,title:"📖 FAQ",slug:"📖-faq"},{level:2,title:"📚 Further reading and Next Steps",slug:"📚-further-reading-and-next-steps"}]},{title:"AlmaLinux System Series",frontmatter:{},regularPath:"/series/system/",relativePath:"series/system/README.md",key:"v-04728def",path:"/series/system/",headers:[{level:2,title:"Welcome!",slug:"welcome"},{level:2,title:"Article List",slug:"article-list"}]},{title:"A02 ❯ Firewalld: A Beginner's Guide",frontmatter:{},regularPath:"/series/system/SystemSeriesA02.html",relativePath:"series/system/SystemSeriesA02.md",key:"v-581eb57c",path:"/series/system/SystemSeriesA02.html",headers:[{level:2,title:"🌟 Introduction",slug:"🌟-introduction"},{level:2,title:"🧠 Fundamental Concepts",slug:"🧠-fundamental-concepts"},{level:2,title:"📝 Key Takeaways",slug:"📝-key-takeaways"},{level:3,title:"Predefined zones",slug:"predefined-zones"},{level:3,title:"Default config",slug:"default-config"},{level:3,title:"firewall-cmd",slug:"firewall-cmd"},{level:3,title:"The --permanent flag",slug:"the-permanent-flag"},{level:2,title:"📖 Interacting with Firewalld",slug:"📖-interacting-with-firewalld"},{level:3,title:"➡️ Adding / removing temporary rules",slug:"➡️-adding-removing-temporary-rules"},{level:3,title:"➡️ Adding / removing permanent rules",slug:"➡️-adding-removing-permanent-rules"},{level:2,title:"🔖 Probing settings",slug:"🔖-probing-settings"},{level:3,title:"➡️ Configuration",slug:"➡️-configuration"},{level:3,title:"➡️ Zones",slug:"➡️-zones"},{level:3,title:"➡️ Services: list active services",slug:"➡️-services-list-active-services"},{level:2,title:"🔖 Configuring",slug:"🔖-configuring"},{level:3,title:"➡️ Selecting Zones for Interfaces",slug:"➡️-selecting-zones-for-interfaces"},{level:3,title:"➡️ Changing the Default Zone",slug:"➡️-changing-the-default-zone"},{level:2,title:"📋 Table of Services",slug:"📋-table-of-services"},{level:2,title:"📚 Further Reading and Next Steps",slug:"📚-further-reading-and-next-steps"}]},{title:"A01 ❯ Application Streams",frontmatter:{},regularPath:"/series/system/SystemSeriesA01.html",relativePath:"series/system/SystemSeriesA01.md",key:"v-e52e34c8",path:"/series/system/SystemSeriesA01.html",headers:[{level:2,title:"🌟 Introduction",slug:"🌟-introduction"},{level:2,title:"🧠 Fundamental Concepts",slug:"🧠-fundamental-concepts"},{level:3,title:"AppStream",slug:"appstream"},{level:3,title:"AppStream Modularity",slug:"appstream-modularity"},{level:2,title:"📝 Key Takeaways",slug:"📝-key-takeaways"},{level:2,title:"📖 Version Specific Examples",slug:"📖-version-specific-examples"},{level:3,title:"➡️ Version independent calling (here installing) syntax is:",slug:"➡️-version-independent-calling-here-installing-syntax-is"},{level:3,title:"🔖 AlmaLinux 8.7",slug:"🔖-almalinux-8-7"},{level:3,title:"➡️ List modules",slug:"➡️-list-modules"},{level:3,title:"🔖 AlmaLinux 9.1",slug:"🔖-almalinux-9-1"},{level:3,title:"➡️ List modules",slug:"➡️-list-modules-2"},{level:2,title:"📚 Further Reading and Next Steps",slug:"📚-further-reading-and-next-steps"}]},{title:"A03 ❯ NVIDIA Driver Installation Guide",frontmatter:{},regularPath:"/series/system/SystemSeriesA03.html",relativePath:"series/system/SystemSeriesA03.md",key:"v-22d4855c",path:"/series/system/SystemSeriesA03.html",headers:[{level:2,title:"🌟 Introduction",slug:"🌟-introduction"},{level:2,title:"🧠 Fundamental Concepts",slug:"🧠-fundamental-concepts"},{level:3,title:"Dynamic Kernel Module Support (DKMS)",slug:"dynamic-kernel-module-support-dkms"},{level:3,title:"ELRepo Kernel",slug:"elrepo-kernel"},{level:3,title:"NVIDIA Drivers Source",slug:"nvidia-drivers-source"},{level:3,title:"NVIDIA Precompiled/Binary Drivers",slug:"nvidia-precompiled-binary-drivers"},{level:3,title:"Understanding NVIDIA .run Driver Installation",slug:"understanding-nvidia-run-driver-installation"},{level:2,title:"📖 Release-Specific Installation",slug:"📖-release-specific-installation"},{level:2,title:"FAQ",slug:"faq"},{level:3,title:"Q: Installed the module but getting Black Screen after reboot?",slug:"q-installed-the-module-but-getting-black-screen-after-reboot"},{level:3,title:"If the Desktop Icon for NVIDIA-Settings is not showing, do :",slug:"if-the-desktop-icon-for-nvidia-settings-is-not-showing-do"},{level:2,title:"📚 Further Reading and Next Steps",slug:"📚-further-reading-and-next-steps"}]},{title:"AlmaLinux Nginx Series",frontmatter:{},regularPath:"/series/nginx/",relativePath:"series/nginx/README.md",key:"v-a02dc9e2",path:"/series/nginx/",headers:[{level:2,title:"Welcome!",slug:"welcome"},{level:2,title:"Article List",slug:"article-list"}]},{title:"A03 R8 ❯ NVIDIA: Installation on 8.x",frontmatter:{},regularPath:"/series/system/SystemSeriesA03R8.html",relativePath:"series/system/SystemSeriesA03R8.md",key:"v-0ce13ac8",path:"/series/system/SystemSeriesA03R8.html",headers:[{level:2,title:"🌟 Introduction",slug:"🌟-introduction"},{level:2,title:"🔖 Variant I: Install Binary Driver",slug:"🔖-variant-i-install-binary-driver"},{level:2,title:"🔖 Variant II: Compile Driver Source",slug:"🔖-variant-ii-compile-driver-source"},{level:3,title:"ELRepo related steps",slug:"elrepo-related-steps"},{level:3,title:"NVIDIA driver build-related steps",slug:"nvidia-driver-build-related-steps"},{level:2,title:"🔖 Variant III: NVIDIA .run Driver Installation Guide",slug:"🔖-variant-iii-nvidia-run-driver-installation-guide"},{level:3,title:"Known issue with NVIDIA-Settings Desktop Icon:",slug:"known-issue-with-nvidia-settings-desktop-icon"},{level:2,title:"📚 Further Reading and Next Steps",slug:"📚-further-reading-and-next-steps"}]},{title:"A05 ❯ Multimedia Codecs Installation Guide",frontmatter:{},regularPath:"/series/system/SystemSeriesA05.html",relativePath:"series/system/SystemSeriesA05.md",key:"v-8f7fb5c8",path:"/series/system/SystemSeriesA05.html",headers:[{level:2,title:"Add EPEL:",slug:"add-epel"},{level:2,title:"Enable CRB:",slug:"enable-crb"},{level:2,title:"Add RPMFusion:",slug:"add-rpmfusion"},{level:2,title:"Install multimedia codecs:",slug:"install-multimedia-codecs"},{level:2,title:"Extra Audio packages",slug:"extra-audio-packages"},{level:2,title:"Play a DVD",slug:"play-a-dvd"},{level:2,title:"Install mediaplayers like VLC, MPV or Celluloid from RPMFusion",slug:"install-mediaplayers-like-vlc-mpv-or-celluloid-from-rpmfusion"}]},{title:"A03 ❯ Default Configuration Guide",frontmatter:{},regularPath:"/series/nginx/NginxSeriesA03.html",relativePath:"series/nginx/NginxSeriesA03.md",key:"v-dd6e01c8",path:"/series/nginx/NginxSeriesA03.html",headers:[{level:2,title:"🌟 Intoduction",slug:"🌟-intoduction"},{level:2,title:"🧠 Fundamental Concepts",slug:"🧠-fundamental-concepts"},{level:3,title:"Nginx Configuration File Structure",slug:"nginx-configuration-file-structure"},{level:3,title:"Directives",slug:"directives"},{level:3,title:"Contexts",slug:"contexts"},{level:3,title:"Inheritance and Directive Precedence",slug:"inheritance-and-directive-precedence"},{level:3,title:"Variables",slug:"variables"},{level:3,title:"Rewrite and Redirect Rules",slug:"rewrite-and-redirect-rules"},{level:2,title:"📝 Key take aways",slug:"📝-key-take-aways"},{level:3,title:"➡️ Basic Configuration",slug:"➡️-basic-configuration"},{level:3,title:"➡️ Performance and Connection Settings",slug:"➡️-performance-and-connection-settings"},{level:3,title:"📖 Deep dive on worker_connections",slug:"📖-deep-dive-on-worker-connections"},{level:3,title:"➡️ MIME Types and Logging",slug:"➡️-mime-types-and-logging"},{level:3,title:"📖 Break down the the default log_format",slug:"📖-break-down-the-the-default-log-format"},{level:3,title:"➡️ HTTP Server Block",slug:"➡️-http-server-block"},{level:3,title:"➡️ HTTPS Server Block Specific",slug:"➡️-https-server-block-specific"},{level:3,title:"📖 More about ssl_ciphers setting",slug:"📖-more-about-ssl-ciphers-setting"},{level:2,title:"📚 Further reading and Next Steps",slug:"📚-further-reading-and-next-steps"}]},{title:"A03 R9 ❯ NVIDIA: Installation on 9.x",frontmatter:{},regularPath:"/series/system/SystemSeriesA03R9.html",relativePath:"series/system/SystemSeriesA03R9.md",key:"v-f0373388",path:"/series/system/SystemSeriesA03R9.html",headers:[{level:2,title:"🌟 Introduction",slug:"🌟-introduction"},{level:2,title:"🔖 Variant I: Install Binary Driver",slug:"🔖-variant-i-install-binary-driver"},{level:2,title:"🔖 Variant II: Compile Driver Source",slug:"🔖-variant-ii-compile-driver-source"},{level:3,title:"ELRepo releated steps",slug:"elrepo-releated-steps"},{level:3,title:"NVIDIA driver build related steps",slug:"nvidia-driver-build-related-steps"},{level:2,title:"🔖 Variant III: NVIDIA .run Driver Installation Guide",slug:"🔖-variant-iii-nvidia-run-driver-installation-guide"},{level:2,title:"Known issue with NVIDIA-Settings Desktop Icon** :",slug:"known-issue-with-nvidia-settings-desktop-icon"},{level:3,title:"Create NVIDIA Settings desktop icon :",slug:"create-nvidia-settings-desktop-icon"},{level:2,title:"📚 Further Reading and Next Steps",slug:"📚-further-reading-and-next-steps"}]},{title:"A06 ❯ Multimedia Codecs & Libraries for VFX Workstation Installation Guide",frontmatter:{},regularPath:"/series/system/SystemSeriesA06.html",relativePath:"series/system/SystemSeriesA06.md",key:"v-fa141608",path:"/series/system/SystemSeriesA06.html"},{title:"A04 ❯ Snapd Installation Guide",frontmatter:{},regularPath:"/series/system/SystemSeriesA04.html",relativePath:"series/system/SystemSeriesA04.md",key:"v-24eb5588",path:"/series/system/SystemSeriesA04.html",headers:[{level:2,title:"🌟 Introduction",slug:"🌟-introduction"},{level:2,title:"Enable EPEL repo 💽",slug:"enable-epel-repo"},{level:2,title:"Install 🛠",slug:"install"},{level:2,title:"Set up ⚙️",slug:"set-up"},{level:3,title:"Last installation step 🏁",slug:"last-installation-step"},{level:3,title:"Optional: for Desktop Users :desktop_computer:",slug:"optional-for-desktop-users"}]},{title:"A07 ❯ Change from Wayland to Xorg Installation Guide",frontmatter:{},regularPath:"/series/system/SystemSeriesA07.html",relativePath:"series/system/SystemSeriesA07.md",key:"v-4dabc4dc",path:"/series/system/SystemSeriesA07.html"},{title:"A08 ❯ Earlyoom (Out of Memory) Installation Guide",frontmatter:{},regularPath:"/series/system/SystemSeriesA08.html",relativePath:"series/system/SystemSeriesA08.md",key:"v-186194bc",path:"/series/system/SystemSeriesA08.html",headers:[{level:2,title:"Install EarlyOOM:",slug:"install-earlyoom"},{level:2,title:"Configure EarlyOOM to start at boot:",slug:"configure-earlyoom-to-start-at-boot"},{level:2,title:"Configure Earlyoom Parameters:",slug:"configure-earlyoom-parameters"},{level:2,title:"Gain administrative privileges by using the sudo command:",slug:"gain-administrative-privileges-by-using-the-sudo-command"},{level:2,title:"Open the /etc/default/earlyoom file in a text editor of your choice. For example, you can use the nano editor:",slug:"open-the-etc-default-earlyoom-file-in-a-text-editor-of-your-choice-for-example-you-can-use-the-nano-editor"},{level:2,title:"Find or add the following lines to the file:",slug:"find-or-add-the-following-lines-to-the-file"},{level:2,title:"Set the owner and group of the file to root:",slug:"set-the-owner-and-group-of-the-file-to-root"},{level:2,title:"Set the file permissions to 0644:",slug:"set-the-file-permissions-to-0644"}]},{title:"A10 ❯ Chrony Installation Guide",frontmatter:{},regularPath:"/series/system/SystemSeriesA10.html",relativePath:"series/system/SystemSeriesA10.md",key:"v-4eb741dc",path:"/series/system/SystemSeriesA10.html",headers:[{level:2,title:"Install Chrony:",slug:"install-chrony"},{level:2,title:"Edit the /etc/chrony.conf file using a text editor like nano or vi.",slug:"edit-the-etc-chrony-conf-file-using-a-text-editor-like-nano-or-vi"}]},{title:"A09 ❯ Journalctl Persistent Installation Guide",frontmatter:{},regularPath:"/series/system/SystemSeriesA09.html",relativePath:"series/system/SystemSeriesA09.md",key:"v-39d136c8",path:"/series/system/SystemSeriesA09.html"},{title:"Certification SIG",frontmatter:{title:"Certification SIG"},regularPath:"/sigs/Certification.html",relativePath:"sigs/Certification.md",key:"v-0af0d4ee",path:"/sigs/Certification.html",headers:[{level:2,title:"How to Join",slug:"how-to-join"},{level:2,title:"Activities, projects, and deliverables",slug:"activities-projects-and-deliverables"},{level:3,title:"Help wanted",slug:"help-wanted"},{level:2,title:"SIG members",slug:"sig-members"},{level:2,title:"Additional information for SIG application approval",slug:"additional-information-for-sig-application-approval"}]},{title:"Build System SIG",frontmatter:{title:"Build System SIG"},regularPath:"/sigs/Build-System.html",relativePath:"sigs/Build-System.md",key:"v-6101ef3c",path:"/sigs/Build-System.html",headers:[{level:2,title:"How to Join",slug:"how-to-join"},{level:2,title:"Activities, projects, and deliverables",slug:"activities-projects-and-deliverables"},{level:3,title:"Help wanted:",slug:"help-wanted"},{level:2,title:"SIG Members:",slug:"sig-members"}]},{title:"Cloud SIG",frontmatter:{title:"Cloud SIG"},regularPath:"/sigs/Cloud.html",relativePath:"sigs/Cloud.md",key:"v-00e4fbf8",path:"/sigs/Cloud.html",headers:[{level:2,title:"How to Join",slug:"how-to-join"},{level:2,title:"Activities, projects, and deliverables",slug:"activities-projects-and-deliverables"},{level:3,title:"Help wanted",slug:"help-wanted"},{level:2,title:"SIG members",slug:"sig-members"}]},{title:"HPC and AI SIG",frontmatter:{title:"HPC and AI SIG"},regularPath:"/sigs/HPCandAI.html",relativePath:"sigs/HPCandAI.md",key:"v-578807fc",path:"/sigs/HPCandAI.html",headers:[{level:2,title:"How to Join",slug:"how-to-join"},{level:2,title:"Activities, projects, and deliverables",slug:"activities-projects-and-deliverables"},{level:3,title:"Help wanted",slug:"help-wanted"},{level:2,title:"SIG members",slug:"sig-members"},{level:2,title:"Additional information for SIG application approval",slug:"additional-information-for-sig-application-approval"}]},{title:"Core SIG",frontmatter:{title:"Core SIG"},regularPath:"/sigs/Core.html",relativePath:"sigs/Core.md",key:"v-646d169c",path:"/sigs/Core.html",headers:[{level:2,title:"How to Join",slug:"how-to-join"},{level:2,title:"Activities, projects, and deliverables",slug:"activities-projects-and-deliverables"},{level:3,title:"Help wanted",slug:"help-wanted"},{level:2,title:"SIG members",slug:"sig-members"}]},{title:"Live Media SIG",frontmatter:{title:"Live Media SIG"},regularPath:"/sigs/LiveMedia.html",relativePath:"sigs/LiveMedia.md",key:"v-7015cd32",path:"/sigs/LiveMedia.html",headers:[{level:2,title:"How to Join",slug:"how-to-join"},{level:2,title:"Activities, projects, and deliverables",slug:"activities-projects-and-deliverables"},{level:3,title:"Help wanted",slug:"help-wanted"},{level:2,title:"SIG members",slug:"sig-members"}]},{title:"Infrastructure SIG",frontmatter:{title:"Infrastructure SIG"},regularPath:"/sigs/Infrastructure.html",relativePath:"sigs/Infrastructure.md",key:"v-f2219dc8",path:"/sigs/Infrastructure.html",headers:[{level:2,title:"How to Join",slug:"how-to-join"},{level:2,title:"Activities, projects, and deliverables",slug:"activities-projects-and-deliverables"},{level:3,title:"Help wanted",slug:"help-wanted"},{level:2,title:"SIG members",slug:"sig-members"}]},{title:"Migration SIG",frontmatter:{title:"Migration SIG"},regularPath:"/sigs/Migration.html",relativePath:"sigs/Migration.md",key:"v-408b9f46",path:"/sigs/Migration.html",headers:[{level:3,title:"AlmaLinux Migration Tool",slug:"almalinux-migration-tool"},{level:3,title:"AlmaLinux ELevate project.",slug:"almalinux-elevate-project"},{level:2,title:"How to Join",slug:"how-to-join"},{level:2,title:"Activities, projects, and deliverables",slug:"activities-projects-and-deliverables"},{level:3,title:"Help wanted",slug:"help-wanted"},{level:2,title:"SIG members",slug:"sig-members"}]},{title:"Marketing SIG",frontmatter:{title:"Marketing SIG"},regularPath:"/sigs/Marketing.html",relativePath:"sigs/Marketing.md",key:"v-39210696",path:"/sigs/Marketing.html",headers:[{level:2,title:"How to Join",slug:"how-to-join"},{level:2,title:"Activities, projects, and deliverables",slug:"activities-projects-and-deliverables"},{level:3,title:"Help wanted",slug:"help-wanted"},{level:2,title:"SIG members",slug:"sig-members"},{level:3,title:"Various marketing-adjacent accounts",slug:"various-marketing-adjacent-accounts"},{level:3,title:"Social Media Accounts",slug:"social-media-accounts"}]},{title:"The Process for Creating a New SIG* in the AlmaLinux Community",frontmatter:{},regularPath:"/sigs/ProcessForCreatingNewSIG.html",relativePath:"sigs/ProcessForCreatingNewSIG.md",key:"v-14edf1fc",path:"/sigs/ProcessForCreatingNewSIG.html",headers:[{level:3,title:"0. Gauge interest",slug:"_0-gauge-interest"},{level:3,title:"1. Write a proposal for the board",slug:"_1-write-a-proposal-for-the-board"},{level:3,title:"2. Proposal Review",slug:"_2-proposal-review"},{level:3,title:"3. Feedback and Revision",slug:"_3-feedback-and-revision"},{level:3,title:"4. Approval and Announcement",slug:"_4-approval-and-announcement"},{level:3,title:"5. Reporting and Accountability",slug:"_5-reporting-and-accountability"},{level:2,title:"Additional Considerations",slug:"additional-considerations"},{level:3,title:"A.1. Mentorship and Collaboration with Existing SIGs",slug:"a-1-mentorship-and-collaboration-with-existing-sigs"},{level:3,title:"A.2. SIG Decommissioning",slug:"a-2-sig-decommissioning"}]},{title:"name of SIG",frontmatter:{title:"name of SIG"},regularPath:"/sigs/sigproposaltemplate.html",relativePath:"sigs/sigproposaltemplate.md",key:"v-7c7d2fb0",path:"/sigs/sigproposaltemplate.html",headers:[{level:2,title:"How to Join",slug:"how-to-join"},{level:2,title:"Activities, projects, and deliverables",slug:"activities-projects-and-deliverables"},{level:3,title:"Help wanted",slug:"help-wanted"},{level:2,title:"SIG members",slug:"sig-members"},{level:2,title:"Additional information for SIG application approval",slug:"additional-information-for-sig-application-approval"}]},{title:"Special interest groups",frontmatter:{title:"Special interest groups"},regularPath:"/sigs/",relativePath:"sigs/README.md",key:"v-dff0a7e2",path:"/sigs/"},{title:"Mirrors",frontmatter:{title:"Mirrors"},regularPath:"/Mirrors.html",relativePath:"Mirrors.md",key:"v-e818b4c8",path:"/Mirrors.html"},{title:"Managing events.almalinux.org",frontmatter:{title:"Managing events.almalinux.org"},regularPath:"/sigs/marketing/indico.html",relativePath:"sigs/marketing/indico.md",key:"v-1ad8369c",path:"/sigs/marketing/indico.html",headers:[{level:2,title:"Webinars",slug:"webinars"},{level:2,title:"SIG meetings",slug:"sig-meetings"},{level:2,title:"SIG Categories",slug:"sig-categories"}]}],themeConfig:{logo:"/images/logo.png",nav:[{text:"Home",link:"https://almalinux.org/"},{text:"Chat",link:"https://chat.almalinux.org/"},{text:"Mailing Lists",link:"https://lists.almalinux.org/"},{text:"Bugs",link:"https://bugs.almalinux.org/"}],sidebar:[{title:"About",path:"/"},{title:"Release Notes",path:"/release-notes/",children:["/release-notes/9.4","/release-notes/8.10",{title:"Older AlmaLinux 9 releases",children:["/release-notes/9.3","/release-notes/9.2","/release-notes/9.1","/release-notes/9.0",{title:"AlmaLinux 9 betas",children:["/release-notes/9.4-beta","/release-notes/9.3-beta","/release-notes/9.2-beta","/release-notes/9.1-beta","/release-notes/9.0-beta"]}]},{title:"Older AlmaLinux 8 releases",children:["/release-notes/8.9","/release-notes/8.8","/release-notes/8.7","/release-notes/8.6","/release-notes/8.5-ppc","/release-notes/8.5","/release-notes/8.4-arm","/release-notes/8.4","/release-notes/8.3",{title:"AlmaLinux 8 betas",children:["/release-notes/8.10-beta","/release-notes/8.9-beta","/release-notes/8.8-beta","/release-notes/8.7-beta","/release-notes/8.6-beta","/release-notes/8.5-beta","/release-notes/8.5-beta-ppc","/release-notes/8.4-beta-arm","/release-notes/8.4-beta","/release-notes/8.3-rc","/release-notes/8.3-beta"]}]}]},{title:"ALESCo",path:"/alesco",children:[{title:"Meeting Minutes",path:"/alesco/meeting-minutes"}]},{title:"Contribute",children:["/Contribute","/Contribute-to-Documentation","/Mirrors","/Contribute-to-Testing","/Help-translating-site",{title:"Special interest groups (SIGs)",path:"/sigs/",children:["/sigs/Build-System","/sigs/Cloud","/sigs/Core","/sigs/HPCandAI","/sigs/Infrastructure","/sigs/LiveMedia",{title:"The Marketing SIG",path:"/sigs/Marketing",children:["/sigs/marketing/indico"]},"/sigs/Migration","/sigs/Certification","/sigs/ProcessForCreatingNewSIG"]}]},{title:"Development",children:["/development/AlmaLinux-Build-System","/documentation/package-building-guide","/development/building-almalinux-iso-locally","/development/Modified-packages","/development/Packaging",{title:"Private Keys",children:["/development/private-keys/secure-boot","/development/private-keys/package-signing"]}]},{title:"Documentation",children:["/Comparison","/FAQ","/Howto",{title:"openQA Guide",path:"/development/openQA"},{title:"Howto Series",path:"/series/",children:["/series/LAMP-server",{title:"Nginx Series",path:"/series/nginx/",children:["/series/nginx/NginxSeriesA01","/series/nginx/NginxSeriesA02R8","/series/nginx/NginxSeriesA02R91","/series/nginx/NginxSeriesA02R92","/series/nginx/NginxSeriesA03","/series/nginx/NginxSeriesA04P1"]},{title:"System Series",path:"/series/system/",children:["/series/system/SystemSeriesA01","/series/system/SystemSeriesA02","/series/system/SystemSeriesA03","/series/system/SystemSeriesA03R8","/series/system/SystemSeriesA03R9","/series/system/SystemSeriesA04","/series/system/SystemSeriesA05"]}]},{title:"Security Guides",path:"/documentation/guides",children:["/documentation/openscap-guide","/documentation/openscap-guide-for-9","/documentation/oval-streams","/documentation/sbom-guide","/documentation/errata"]}]},{title:"Installation",children:["/documentation/installation-guide","/documentation/after-installation-guide","/documentation/wsl",{title:"Live Media",path:"/LiveMedia"},"/documentation/raspberry-pi","/installation/vagrant-boxes",{title:"Cloud Images",path:"/cloud",children:["/cloud/cloud-changelog",{title:"Generic Cloud (Cloud-init)",path:"/cloud",children:["/cloud/Generic-cloud","/cloud/Generic-cloud-on-local"]},{title:"AWS",path:"/cloud",children:["/cloud/AWS","/cloud/EC2-instance-connect"]},"/cloud/Azure","/cloud/Google","/cloud/OCI","/cloud/OpenNebula"]},{title:"Containers",path:"/containers",children:["/containers/docker-images"]},{title:"Repositories",path:"/repos/",children:["/repos/AlmaLinux","/repos/CentOS","/repos/Extras","/repos/Synergy"]}]},{title:"Migration",path:"/migration",children:["/documentation/migration-guide",{title:"ELevate Project",path:"/elevate/",children:["/elevate/ELevate-quickstart-guide","/elevate/ELevating-CentOS7-to-AlmaLinux-9","/elevate/ELevating-CentOS6-to-CentOS7","/elevate/ELevate-offline-guide","/elevate/ELevate-testing-guide","/elevate/ELevate-NG-testing-guide","/elevate/ELevate-frequent-issues","/elevate/Contribution-guide"]}]},{title:"The Foundation",children:["/Transparency","/Election2022","/election2023","/gsoc"]},"/Help-and-Support"],repo:"AlmaLinux/",docsRepo:"AlmaLinux/wiki",docsDir:"docs",docsBranch:"master",editLinks:!1}};n(235);Wn.component("Badge",()=>Promise.all([n.e(0),n.e(4)]).then(n.bind(null,304))),Wn.component("CodeBlock",()=>Promise.all([n.e(0),n.e(5)]).then(n.bind(null,300))),Wn.component("CodeGroup",()=>Promise.all([n.e(0),n.e(6)]).then(n.bind(null,301)));n(236);var jl=[{},({Vue:e})=>{e.mixin({computed:{$dataBlock(){return this.$options.__data__block__}}})},{},{}],$l=[];class Rl extends class{constructor(){this.store=new Wn({data:{state:{}}})}$get(e){return this.store.state[e]}$set(e,t){Wn.set(this.store.state,e,t)}$emit(...e){this.store.$emit(...e)}$on(...e){this.store.$on(...e)}}{}Object.assign(Rl.prototype,{getPageAsyncComponent:ll,getLayoutAsyncComponent:sl,getAsyncComponent:ul,getVueComponent:cl});var Ml={install(e){const t=new Rl;e.$vuepress=t,e.prototype.$vuepress=t}};function Tl(e,t){const n=t.toLowerCase();return e.options.routes.some(e=>e.path.toLowerCase()===n)}var Nl={props:{pageKey:String,slotKey:{type:String,default:"default"}},render(e){const t=this.pageKey||this.$parent.$page.key;return pl("pageKey",t),Wn.component(t)||Wn.component(t,ll(t)),Wn.component(t)?e(t):e("")}},Gl={functional:!0,props:{slotKey:String,required:!0},render:(e,{props:t,slots:n})=>e("div",{class:["content__"+t.slotKey]},n()[t.slotKey])},Dl={computed:{openInNewWindowTitle(){return this.$themeLocaleConfig.openNewWindowText||"(opens new window)"}}},Bl=(n(237),n(238),Object(Ll.a)(Dl,(function(){var e=this._self._c;return e("span",[e("svg",{staticClass:"icon outbound",attrs:{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"}},[e("path",{attrs:{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"}}),this._v(" "),e("polygon",{attrs:{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"}})]),this._v(" "),e("span",{staticClass:"sr-only"},[this._v(this._s(this.openInNewWindowTitle))])])}),[],!1,null,null,null).exports),Fl={functional:!0,render(e,{parent:t,children:n}){if(t._isMounted)return n;t.$once("hook:mounted",()=>{t.$forceUpdate()})}};Wn.config.productionTip=!1,Wn.use(qo),Wn.use(Ml),Wn.mixin(function(e,t,n=Wn){!function(e){e.locales&&Object.keys(e.locales).forEach(t=>{e.locales[t].path=t});Object.freeze(e)}(t),n.$vuepress.$set("siteData",t);const r=new(e(n.$vuepress.$get("siteData"))),i=Object.getOwnPropertyDescriptors(Object.getPrototypeOf(r)),a={};return Object.keys(i).reduce((e,t)=>(t.startsWith("$")&&(e[t]=i[t].get),e),a),{computed:a}}(e=>class{setPage(e){this.__page=e}get $site(){return e}get $themeConfig(){return this.$site.themeConfig}get $frontmatter(){return this.$page.frontmatter}get $localeConfig(){const{locales:e={}}=this.$site;let t,n;for(const r in e)"/"===r?n=e[r]:0===this.$page.path.indexOf(r)&&(t=e[r]);return t||n||{}}get $siteTitle(){return this.$localeConfig.title||this.$site.title||""}get $canonicalUrl(){const{canonicalUrl:e}=this.$page.frontmatter;return"string"==typeof e&&e}get $title(){const e=this.$page,{metaTitle:t}=this.$page.frontmatter;if("string"==typeof t)return t;const n=this.$siteTitle,r=e.frontmatter.home?null:e.frontmatter.title||e.title;return n?r?r+" | "+n:n:r||"VuePress"}get $description(){const e=function(e){if(e){const t=e.filter(e=>"description"===e.name)[0];if(t)return t.content}}(this.$page.frontmatter.meta);return e||(this.$page.frontmatter.description||this.$localeConfig.description||this.$site.description||"")}get $lang(){return this.$page.frontmatter.lang||this.$localeConfig.lang||"en-US"}get $localePath(){return this.$localeConfig.path||"/"}get $themeLocaleConfig(){return(this.$site.themeConfig.locales||{})[this.$localePath]||{}}get $page(){return this.__page?this.__page:function(e,t){for(let n=0;nn||(e.hash?!Wn.$vuepress.$get("disableScrollBehavior")&&{selector:decodeURIComponent(e.hash)}:{x:0,y:0})});!function(e){e.beforeEach((t,n,r)=>{if(Tl(e,t.path))r();else if(/(\/|\.html)$/.test(t.path))if(/\/$/.test(t.path)){const n=t.path.replace(/\/$/,"")+".html";Tl(e,n)?r(n):r()}else r();else{const n=t.path+"/",i=t.path+".html";Tl(e,i)?r(i):Tl(e,n)?r(n):r()}})}(n);const r={};try{await Promise.all(jl.filter(e=>"function"==typeof e).map(t=>t({Vue:Wn,options:r,router:n,siteData:Il,isServer:e})))}catch(e){console.error(e)}return{app:new Wn(Object.assign(r,{router:n,render:e=>e("div",{attrs:{id:"app"}},[e("RouterView",{ref:"layout"}),e("div",{class:"global-ui"},$l.map(t=>e(t)))])})),router:n}}(!1).then(({app:e,router:t})=>{t.onReady(()=>{e.$mount("#app")})})}]); \ No newline at end of file diff --git a/assets/js/vendors~docsearch.5a4296f1.js b/assets/js/vendors~docsearch.5a4296f1.js new file mode 100644 index 000000000..973b2d352 --- /dev/null +++ b/assets/js/vendors~docsearch.5a4296f1.js @@ -0,0 +1,3 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{297:function(t,e,n){ +/*! docsearch 2.6.3 | © Algolia | github.com/algolia/docsearch */ +var r;"undefined"!=typeof self&&self,r=function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=22)}([function(t,e,n){"use strict";var r,i=n(1);function s(t){return t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}t.exports={isArray:null,isFunction:null,isObject:null,bind:null,each:null,map:null,mixin:null,isMsie:function(t){if(void 0===t&&(t=navigator.userAgent),/(msie|trident)/i.test(t)){var e=t.match(/(msie |rv:)(\d+(.\d+)?)/i);if(e)return e[2]}return!1},escapeRegExChars:function(t){return t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isNumber:function(t){return"number"==typeof t},toStr:function(t){return null==t?"":t+""},cloneDeep:function(t){var e=this.mixin({},t),n=this;return this.each(e,(function(t,r){t&&(n.isArray(t)?e[r]=[].concat(t):n.isObject(t)&&(e[r]=n.cloneDeep(t)))})),e},error:function(t){throw new Error(t)},every:function(t,e){var n=!0;return t?(this.each(t,(function(r,i){n&&(n=e.call(null,r,i,t)&&n)})),!!n):n},any:function(t,e){var n=!1;return t?(this.each(t,(function(r,i){if(e.call(null,r,i,t))return n=!0,!1})),n):n},getUniqueId:(r=0,function(){return r++}),templatify:function(t){if(this.isFunction(t))return t;var e=i.element(t);return"SCRIPT"===e.prop("tagName")?function(){return e.text()}:function(){return String(t)}},defer:function(t){setTimeout(t,0)},noop:function(){},formatPrefix:function(t,e){return e?"":t+"-"},className:function(t,e,n){return(n?"":".")+t+e},escapeHighlightedString:function(t,e,n){e=e||"";var r=document.createElement("div");r.appendChild(document.createTextNode(e)),n=n||"";var i=document.createElement("div");i.appendChild(document.createTextNode(n));var o=document.createElement("div");return o.appendChild(document.createTextNode(t)),o.innerHTML.replace(RegExp(s(r.innerHTML),"g"),e).replace(RegExp(s(i.innerHTML),"g"),n)}}},function(t,e,n){"use strict";t.exports={element:null}},function(t,e){var n=Object.prototype.hasOwnProperty,r=Object.prototype.toString;t.exports=function(t,e,i){if("[object Function]"!==r.call(e))throw new TypeError("iterator must be a function");var s=t.length;if(s===+s)for(var o=0;o was loaded but did not call our provided callback"),JSONPScriptError:s("JSONPScriptError"," + + + + + + + +

# AlmaLinux OS Amazon Web Services AMIs

AlmaLinux OS offers Amazon Machine Images in a number of formats and regions for consumption on AWS. All AlmaLinux OS AMIs are completely free of charge regardless of the deployment channel.

TIP

To learn more about AWS AMIs please see the AWS EC2 Documentation on AMIs (opens new window). There are currently 2 deployment channels available: Marketplace and Community.

# Contributing

You can find more information about how these, and other cloud images are built on our Cloud Images GitHub Repository (opens new window). Join our Cloud SIG on Mattermost (opens new window) to help out with the effort or for support. You can also discuss on our Cloud SIG Forum (opens new window) and on our AlmaLinux Community Reddit (opens new window).

# AWS Marketplace

The AWS Marketplace is a curated digital catalog used to find, deploy and manage software offerings. All AWS Marketplace products undergo thorough review and vetting by the AWS team to ensure security and quality.

The AlmaLinux OS Foundation's official AlmaLinux OS images (opens new window) are available via the AWS Marketplace at the links provided:

AlmaLinux OS 8 x86_64 arm64
AlmaLinux OS 9 x86_64 arm64

# Community AMIs

Community AMIs are images that are shared directly by the AlmaLinux OS Foundation for others to utilize directly within their infrastructure. Below is a complete list of currently published AMIs and their corresponding IDs. For purposes of automation and integration into build tools and CI/CD pipelines, this list is also available as a CSV (opens new window) file.

Additional Regions Coming Soon

Distribution Version Region AMI ID Arch
AlmaLinux OS 9.4.20240805 af-south-1 ami-0e87746d2c19bfd02 x86_64
AlmaLinux OS 9.4.20240805 af-south-1 ami-07f376107f1fe3c42 aarch64
AlmaLinux OS 9.4.20240805 ap-east-1 ami-07a4221196f0ce8b0 x86_64
AlmaLinux OS 9.4.20240805 ap-east-1 ami-05a3ff798c720298b aarch64
AlmaLinux OS 9.4.20240805 ap-northeast-1 ami-09d950a43d85748ca x86_64
AlmaLinux OS 9.4.20240805 ap-northeast-1 ami-03f57d8564b290e36 aarch64
AlmaLinux OS 9.4.20240805 ap-northeast-2 ami-0beed408c3400a3ca x86_64
AlmaLinux OS 9.4.20240805 ap-northeast-2 ami-070a67d78f8c7f7ca aarch64
AlmaLinux OS 9.4.20240805 ap-northeast-3 ami-02eef1615b5e0c66c x86_64
AlmaLinux OS 9.4.20240805 ap-northeast-3 ami-02f2f994b5d15a2c7 aarch64
AlmaLinux OS 9.4.20240805 ap-south-1 ami-0176d9f86b4b5ce21 x86_64
AlmaLinux OS 9.4.20240805 ap-south-1 ami-02fcacaa6bed65f9e aarch64
AlmaLinux OS 9.4.20240805 ap-south-2 ami-02a4a30d0afdc930b x86_64
AlmaLinux OS 9.4.20240805 ap-south-2 ami-0d5be6987b0ba90c2 aarch64
AlmaLinux OS 9.4.20240805 ap-southeast-1 ami-0febea321b402d0c6 x86_64
AlmaLinux OS 9.4.20240805 ap-southeast-1 ami-01ff71222477b174e aarch64
AlmaLinux OS 9.4.20240805 ap-southeast-2 ami-0bcf592d89df55135 x86_64
AlmaLinux OS 9.4.20240805 ap-southeast-2 ami-051c2942e0c3aeb35 aarch64
AlmaLinux OS 9.4.20240805 ap-southeast-3 ami-036a281cf45dd00ad x86_64
AlmaLinux OS 9.4.20240805 ap-southeast-3 ami-06047dfa1c3157023 aarch64
AlmaLinux OS 9.4.20240805 ap-southeast-4 ami-050c5f10e4203a49b x86_64
AlmaLinux OS 9.4.20240805 ap-southeast-4 ami-05397e84cdd736c44 aarch64
AlmaLinux OS 9.4.20240805 ca-central-1 ami-03a225246dbb48513 x86_64
AlmaLinux OS 9.4.20240805 ca-central-1 ami-0f4e08e6a32967a32 aarch64
AlmaLinux OS 9.4.20240805 ca-west-1 ami-03d543a49debcb97e x86_64
AlmaLinux OS 9.4.20240805 ca-west-1 ami-0909866a908f1d9f8 aarch64
AlmaLinux OS 9.4.20240805 eu-central-1 ami-0e9c75acd47af13bf x86_64
AlmaLinux OS 9.4.20240805 eu-central-1 ami-08431b408352123c1 aarch64
AlmaLinux OS 9.4.20240805 eu-central-2 ami-0c411973ace5cefbc x86_64
AlmaLinux OS 9.4.20240805 eu-central-2 ami-0bfd60bf5029fc57c aarch64
AlmaLinux OS 9.4.20240805 eu-north-1 ami-00212882da11367e3 x86_64
AlmaLinux OS 9.4.20240805 eu-north-1 ami-0baa8a7591084b38f aarch64
AlmaLinux OS 9.4.20240805 eu-south-1 ami-049e5bcefbfefd53e x86_64
AlmaLinux OS 9.4.20240805 eu-south-1 ami-0ab3fad7bcb53c82f aarch64
AlmaLinux OS 9.4.20240805 eu-south-2 ami-01a8195d39d8d80c1 x86_64
AlmaLinux OS 9.4.20240805 eu-south-2 ami-059bf737838571605 aarch64
AlmaLinux OS 9.4.20240805 eu-west-1 ami-0280f3435efef7b27 x86_64
AlmaLinux OS 9.4.20240805 eu-west-1 ami-0cf5f6f1d7001459a aarch64
AlmaLinux OS 9.4.20240805 eu-west-2 ami-0c7a3096aa4ffe3a6 x86_64
AlmaLinux OS 9.4.20240805 eu-west-2 ami-04df570ea6d78b9dc aarch64
AlmaLinux OS 9.4.20240805 eu-west-3 ami-062ae5f2478e913b9 x86_64
AlmaLinux OS 9.4.20240805 eu-west-3 ami-01d94ff69cb167b04 aarch64
AlmaLinux OS 9.4.20240805 il-central-1 ami-016ecd679b3d82b11 x86_64
AlmaLinux OS 9.4.20240805 il-central-1 ami-065e37062ffde64cf aarch64
AlmaLinux OS 9.4.20240805 me-central-1 ami-04f015b2053327186 x86_64
AlmaLinux OS 9.4.20240805 me-central-1 ami-020aed64f6bdb90db aarch64
AlmaLinux OS 9.4.20240805 me-south-1 ami-0fecad4b5e365d4a0 x86_64
AlmaLinux OS 9.4.20240805 me-south-1 ami-0dd62eaeffb11f6ba aarch64
AlmaLinux OS 9.4.20240805 sa-east-1 ami-0c73a0a7051b38c3d x86_64
AlmaLinux OS 9.4.20240805 sa-east-1 ami-0df417aff6078932d aarch64
AlmaLinux OS 9.4.20240805 us-east-1 ami-0c2163c916f8dd3c8 x86_64
AlmaLinux OS 9.4.20240805 us-east-1 ami-0ba8fa4bea636d73f aarch64
AlmaLinux OS 9.4.20240805 us-east-2 ami-08b29382556696ac9 x86_64
AlmaLinux OS 9.4.20240805 us-east-2 ami-0268fd9e4b0c56720 aarch64
AlmaLinux OS 9.4.20240805 us-west-1 ami-02ec64f2fdc14259e x86_64
AlmaLinux OS 9.4.20240805 us-west-1 ami-0d2bc1b9cfecc72b5 aarch64
AlmaLinux OS 9.4.20240805 us-west-2 ami-08e91d25fdc31fc28 x86_64
AlmaLinux OS 9.4.20240805 us-west-2 ami-0433d4230c53f3ee8 aarch64
AlmaLinux OS 8.10.20240820 af-south-1 ami-0b73f9ad125fb7917 x86_64
AlmaLinux OS 8.10.20240820 af-south-1 ami-00edef6bfe68e7ddf aarch64
AlmaLinux OS 8.10.20240820 ap-east-1 ami-095a10632bec83594 x86_64
AlmaLinux OS 8.10.20240820 ap-east-1 ami-05d28dc0a36d6e356 aarch64
AlmaLinux OS 8.10.20240820 ap-northeast-1 ami-09a76e2a3c19fb6ca x86_64
AlmaLinux OS 8.10.20240820 ap-northeast-1 ami-0c2f60f7a5b931b04 aarch64
AlmaLinux OS 8.10.20240820 ap-northeast-2 ami-0413ca4a7d3ca0d06 x86_64
AlmaLinux OS 8.10.20240820 ap-northeast-2 ami-0fad86cbf8f9a542b aarch64
AlmaLinux OS 8.10.20240820 ap-northeast-3 ami-067520a647ea9beaa x86_64
AlmaLinux OS 8.10.20240820 ap-northeast-3 ami-074305ea1aa643af7 aarch64
AlmaLinux OS 8.10.20240820 ap-south-1 ami-0e1a57c5265125517 x86_64
AlmaLinux OS 8.10.20240820 ap-south-1 ami-00fcce4f482ac540b aarch64
AlmaLinux OS 8.10.20240820 ap-south-2 ami-00c6b85abb900cecd x86_64
AlmaLinux OS 8.10.20240820 ap-south-2 ami-0c93f886176644251 aarch64
AlmaLinux OS 8.10.20240820 ap-southeast-1 ami-0a639bcd776f53adb x86_64
AlmaLinux OS 8.10.20240820 ap-southeast-1 ami-07e55ce960e743ca5 aarch64
AlmaLinux OS 8.10.20240820 ap-southeast-2 ami-03fbe82d61f93711a x86_64
AlmaLinux OS 8.10.20240820 ap-southeast-2 ami-08493610589214684 aarch64
AlmaLinux OS 8.10.20240820 ap-southeast-3 ami-0674da1eadce69fed x86_64
AlmaLinux OS 8.10.20240820 ap-southeast-3 ami-0421142e62ebe3f44 aarch64
AlmaLinux OS 8.10.20240820 ap-southeast-4 ami-051f723cbeee1e2eb x86_64
AlmaLinux OS 8.10.20240820 ap-southeast-4 ami-08b27bfedd2b5583c aarch64
AlmaLinux OS 8.10.20240820 ca-central-1 ami-0ddf77a117c0069b8 x86_64
AlmaLinux OS 8.10.20240820 ca-central-1 ami-04c49099a1a4b33c4 aarch64
AlmaLinux OS 8.10.20240820 ca-west-1 ami-0dd63ce06d19b3c0d x86_64
AlmaLinux OS 8.10.20240820 ca-west-1 ami-008e5b9143e39100e aarch64
AlmaLinux OS 8.10.20240820 eu-central-1 ami-0885614e0c26eacb2 x86_64
AlmaLinux OS 8.10.20240820 eu-central-1 ami-0afc91e8cf84a2ad9 aarch64
AlmaLinux OS 8.10.20240820 eu-central-2 ami-080279fc703ce5de8 x86_64
AlmaLinux OS 8.10.20240820 eu-central-2 ami-0fcf322b05905b768 aarch64
AlmaLinux OS 8.10.20240820 eu-north-1 ami-06ccc94382a0ec897 x86_64
AlmaLinux OS 8.10.20240820 eu-north-1 ami-07ecb5e3b6d9be91e aarch64
AlmaLinux OS 8.10.20240820 eu-south-1 ami-0ea44e2330c04cbcf x86_64
AlmaLinux OS 8.10.20240820 eu-south-1 ami-05337094271078908 aarch64
AlmaLinux OS 8.10.20240820 eu-south-2 ami-0d15a2b87a42791e5 x86_64
AlmaLinux OS 8.10.20240820 eu-south-2 ami-080dbfd31806ea21a aarch64
AlmaLinux OS 8.10.20240820 eu-west-1 ami-08dac599ae3228b30 x86_64
AlmaLinux OS 8.10.20240820 eu-west-1 ami-0c86b999a1a04fa1b aarch64
AlmaLinux OS 8.10.20240820 eu-west-2 ami-0623648722c2741f7 x86_64
AlmaLinux OS 8.10.20240820 eu-west-2 ami-075c0433d4863e7d8 aarch64
AlmaLinux OS 8.10.20240820 eu-west-3 ami-02f73956bec41f6eb x86_64
AlmaLinux OS 8.10.20240820 eu-west-3 ami-04f58f558dc501a56 aarch64
AlmaLinux OS 8.10.20240820 il-central-1 ami-0b615118df5dad96b x86_64
AlmaLinux OS 8.10.20240820 il-central-1 ami-00149de67caaadbb4 aarch64
AlmaLinux OS 8.10.20240820 me-central-1 ami-09a528b9d4ddda446 x86_64
AlmaLinux OS 8.10.20240820 me-central-1 ami-044fd3983ec0b04c0 aarch64
AlmaLinux OS 8.10.20240820 me-south-1 ami-09921b16046011ce2 x86_64
AlmaLinux OS 8.10.20240820 me-south-1 ami-0226e0a6a3b742e51 aarch64
AlmaLinux OS 8.10.20240820 sa-east-1 ami-0605b89a61df504fd x86_64
AlmaLinux OS 8.10.20240820 sa-east-1 ami-02cb875f6e89f5afa aarch64
AlmaLinux OS 8.10.20240820 us-east-1 ami-0825c833650fed842 x86_64
AlmaLinux OS 8.10.20240820 us-east-1 ami-0f1d97cfa7cf5ad5d aarch64
AlmaLinux OS 8.10.20240820 us-east-2 ami-0f4ab906702bed7d5 x86_64
AlmaLinux OS 8.10.20240820 us-east-2 ami-01d5ed1fa2aab982a aarch64
AlmaLinux OS 8.10.20240820 us-west-1 ami-06b3617b535631431 x86_64
AlmaLinux OS 8.10.20240820 us-west-1 ami-0e29d461279664e56 aarch64
AlmaLinux OS 8.10.20240820 us-west-2 ami-05d9accf06ed81259 x86_64
AlmaLinux OS 8.10.20240820 us-west-2 ami-09e922ec8f159cf62 aarch64
+ + + diff --git a/cloud/AWS_AMIS.html b/cloud/AWS_AMIS.html new file mode 100644 index 000000000..f11496aca --- /dev/null +++ b/cloud/AWS_AMIS.html @@ -0,0 +1,51 @@ + + + + + + AlmaLinux Wiki + + + + + + + + + +
Distribution Version Region AMI ID Arch
AlmaLinux OS 9.4.20240805 af-south-1 ami-0e87746d2c19bfd02 x86_64
AlmaLinux OS 9.4.20240805 af-south-1 ami-07f376107f1fe3c42 aarch64
AlmaLinux OS 9.4.20240805 ap-east-1 ami-07a4221196f0ce8b0 x86_64
AlmaLinux OS 9.4.20240805 ap-east-1 ami-05a3ff798c720298b aarch64
AlmaLinux OS 9.4.20240805 ap-northeast-1 ami-09d950a43d85748ca x86_64
AlmaLinux OS 9.4.20240805 ap-northeast-1 ami-03f57d8564b290e36 aarch64
AlmaLinux OS 9.4.20240805 ap-northeast-2 ami-0beed408c3400a3ca x86_64
AlmaLinux OS 9.4.20240805 ap-northeast-2 ami-070a67d78f8c7f7ca aarch64
AlmaLinux OS 9.4.20240805 ap-northeast-3 ami-02eef1615b5e0c66c x86_64
AlmaLinux OS 9.4.20240805 ap-northeast-3 ami-02f2f994b5d15a2c7 aarch64
AlmaLinux OS 9.4.20240805 ap-south-1 ami-0176d9f86b4b5ce21 x86_64
AlmaLinux OS 9.4.20240805 ap-south-1 ami-02fcacaa6bed65f9e aarch64
AlmaLinux OS 9.4.20240805 ap-south-2 ami-02a4a30d0afdc930b x86_64
AlmaLinux OS 9.4.20240805 ap-south-2 ami-0d5be6987b0ba90c2 aarch64
AlmaLinux OS 9.4.20240805 ap-southeast-1 ami-0febea321b402d0c6 x86_64
AlmaLinux OS 9.4.20240805 ap-southeast-1 ami-01ff71222477b174e aarch64
AlmaLinux OS 9.4.20240805 ap-southeast-2 ami-0bcf592d89df55135 x86_64
AlmaLinux OS 9.4.20240805 ap-southeast-2 ami-051c2942e0c3aeb35 aarch64
AlmaLinux OS 9.4.20240805 ap-southeast-3 ami-036a281cf45dd00ad x86_64
AlmaLinux OS 9.4.20240805 ap-southeast-3 ami-06047dfa1c3157023 aarch64
AlmaLinux OS 9.4.20240805 ap-southeast-4 ami-050c5f10e4203a49b x86_64
AlmaLinux OS 9.4.20240805 ap-southeast-4 ami-05397e84cdd736c44 aarch64
AlmaLinux OS 9.4.20240805 ca-central-1 ami-03a225246dbb48513 x86_64
AlmaLinux OS 9.4.20240805 ca-central-1 ami-0f4e08e6a32967a32 aarch64
AlmaLinux OS 9.4.20240805 ca-west-1 ami-03d543a49debcb97e x86_64
AlmaLinux OS 9.4.20240805 ca-west-1 ami-0909866a908f1d9f8 aarch64
AlmaLinux OS 9.4.20240805 eu-central-1 ami-0e9c75acd47af13bf x86_64
AlmaLinux OS 9.4.20240805 eu-central-1 ami-08431b408352123c1 aarch64
AlmaLinux OS 9.4.20240805 eu-central-2 ami-0c411973ace5cefbc x86_64
AlmaLinux OS 9.4.20240805 eu-central-2 ami-0bfd60bf5029fc57c aarch64
AlmaLinux OS 9.4.20240805 eu-north-1 ami-00212882da11367e3 x86_64
AlmaLinux OS 9.4.20240805 eu-north-1 ami-0baa8a7591084b38f aarch64
AlmaLinux OS 9.4.20240805 eu-south-1 ami-049e5bcefbfefd53e x86_64
AlmaLinux OS 9.4.20240805 eu-south-1 ami-0ab3fad7bcb53c82f aarch64
AlmaLinux OS 9.4.20240805 eu-south-2 ami-01a8195d39d8d80c1 x86_64
AlmaLinux OS 9.4.20240805 eu-south-2 ami-059bf737838571605 aarch64
AlmaLinux OS 9.4.20240805 eu-west-1 ami-0280f3435efef7b27 x86_64
AlmaLinux OS 9.4.20240805 eu-west-1 ami-0cf5f6f1d7001459a aarch64
AlmaLinux OS 9.4.20240805 eu-west-2 ami-0c7a3096aa4ffe3a6 x86_64
AlmaLinux OS 9.4.20240805 eu-west-2 ami-04df570ea6d78b9dc aarch64
AlmaLinux OS 9.4.20240805 eu-west-3 ami-062ae5f2478e913b9 x86_64
AlmaLinux OS 9.4.20240805 eu-west-3 ami-01d94ff69cb167b04 aarch64
AlmaLinux OS 9.4.20240805 il-central-1 ami-016ecd679b3d82b11 x86_64
AlmaLinux OS 9.4.20240805 il-central-1 ami-065e37062ffde64cf aarch64
AlmaLinux OS 9.4.20240805 me-central-1 ami-04f015b2053327186 x86_64
AlmaLinux OS 9.4.20240805 me-central-1 ami-020aed64f6bdb90db aarch64
AlmaLinux OS 9.4.20240805 me-south-1 ami-0fecad4b5e365d4a0 x86_64
AlmaLinux OS 9.4.20240805 me-south-1 ami-0dd62eaeffb11f6ba aarch64
AlmaLinux OS 9.4.20240805 sa-east-1 ami-0c73a0a7051b38c3d x86_64
AlmaLinux OS 9.4.20240805 sa-east-1 ami-0df417aff6078932d aarch64
AlmaLinux OS 9.4.20240805 us-east-1 ami-0c2163c916f8dd3c8 x86_64
AlmaLinux OS 9.4.20240805 us-east-1 ami-0ba8fa4bea636d73f aarch64
AlmaLinux OS 9.4.20240805 us-east-2 ami-08b29382556696ac9 x86_64
AlmaLinux OS 9.4.20240805 us-east-2 ami-0268fd9e4b0c56720 aarch64
AlmaLinux OS 9.4.20240805 us-west-1 ami-02ec64f2fdc14259e x86_64
AlmaLinux OS 9.4.20240805 us-west-1 ami-0d2bc1b9cfecc72b5 aarch64
AlmaLinux OS 9.4.20240805 us-west-2 ami-08e91d25fdc31fc28 x86_64
AlmaLinux OS 9.4.20240805 us-west-2 ami-0433d4230c53f3ee8 aarch64
AlmaLinux OS 8.10.20240820 af-south-1 ami-0b73f9ad125fb7917 x86_64
AlmaLinux OS 8.10.20240820 af-south-1 ami-00edef6bfe68e7ddf aarch64
AlmaLinux OS 8.10.20240820 ap-east-1 ami-095a10632bec83594 x86_64
AlmaLinux OS 8.10.20240820 ap-east-1 ami-05d28dc0a36d6e356 aarch64
AlmaLinux OS 8.10.20240820 ap-northeast-1 ami-09a76e2a3c19fb6ca x86_64
AlmaLinux OS 8.10.20240820 ap-northeast-1 ami-0c2f60f7a5b931b04 aarch64
AlmaLinux OS 8.10.20240820 ap-northeast-2 ami-0413ca4a7d3ca0d06 x86_64
AlmaLinux OS 8.10.20240820 ap-northeast-2 ami-0fad86cbf8f9a542b aarch64
AlmaLinux OS 8.10.20240820 ap-northeast-3 ami-067520a647ea9beaa x86_64
AlmaLinux OS 8.10.20240820 ap-northeast-3 ami-074305ea1aa643af7 aarch64
AlmaLinux OS 8.10.20240820 ap-south-1 ami-0e1a57c5265125517 x86_64
AlmaLinux OS 8.10.20240820 ap-south-1 ami-00fcce4f482ac540b aarch64
AlmaLinux OS 8.10.20240820 ap-south-2 ami-00c6b85abb900cecd x86_64
AlmaLinux OS 8.10.20240820 ap-south-2 ami-0c93f886176644251 aarch64
AlmaLinux OS 8.10.20240820 ap-southeast-1 ami-0a639bcd776f53adb x86_64
AlmaLinux OS 8.10.20240820 ap-southeast-1 ami-07e55ce960e743ca5 aarch64
AlmaLinux OS 8.10.20240820 ap-southeast-2 ami-03fbe82d61f93711a x86_64
AlmaLinux OS 8.10.20240820 ap-southeast-2 ami-08493610589214684 aarch64
AlmaLinux OS 8.10.20240820 ap-southeast-3 ami-0674da1eadce69fed x86_64
AlmaLinux OS 8.10.20240820 ap-southeast-3 ami-0421142e62ebe3f44 aarch64
AlmaLinux OS 8.10.20240820 ap-southeast-4 ami-051f723cbeee1e2eb x86_64
AlmaLinux OS 8.10.20240820 ap-southeast-4 ami-08b27bfedd2b5583c aarch64
AlmaLinux OS 8.10.20240820 ca-central-1 ami-0ddf77a117c0069b8 x86_64
AlmaLinux OS 8.10.20240820 ca-central-1 ami-04c49099a1a4b33c4 aarch64
AlmaLinux OS 8.10.20240820 ca-west-1 ami-0dd63ce06d19b3c0d x86_64
AlmaLinux OS 8.10.20240820 ca-west-1 ami-008e5b9143e39100e aarch64
AlmaLinux OS 8.10.20240820 eu-central-1 ami-0885614e0c26eacb2 x86_64
AlmaLinux OS 8.10.20240820 eu-central-1 ami-0afc91e8cf84a2ad9 aarch64
AlmaLinux OS 8.10.20240820 eu-central-2 ami-080279fc703ce5de8 x86_64
AlmaLinux OS 8.10.20240820 eu-central-2 ami-0fcf322b05905b768 aarch64
AlmaLinux OS 8.10.20240820 eu-north-1 ami-06ccc94382a0ec897 x86_64
AlmaLinux OS 8.10.20240820 eu-north-1 ami-07ecb5e3b6d9be91e aarch64
AlmaLinux OS 8.10.20240820 eu-south-1 ami-0ea44e2330c04cbcf x86_64
AlmaLinux OS 8.10.20240820 eu-south-1 ami-05337094271078908 aarch64
AlmaLinux OS 8.10.20240820 eu-south-2 ami-0d15a2b87a42791e5 x86_64
AlmaLinux OS 8.10.20240820 eu-south-2 ami-080dbfd31806ea21a aarch64
AlmaLinux OS 8.10.20240820 eu-west-1 ami-08dac599ae3228b30 x86_64
AlmaLinux OS 8.10.20240820 eu-west-1 ami-0c86b999a1a04fa1b aarch64
AlmaLinux OS 8.10.20240820 eu-west-2 ami-0623648722c2741f7 x86_64
AlmaLinux OS 8.10.20240820 eu-west-2 ami-075c0433d4863e7d8 aarch64
AlmaLinux OS 8.10.20240820 eu-west-3 ami-02f73956bec41f6eb x86_64
AlmaLinux OS 8.10.20240820 eu-west-3 ami-04f58f558dc501a56 aarch64
AlmaLinux OS 8.10.20240820 il-central-1 ami-0b615118df5dad96b x86_64
AlmaLinux OS 8.10.20240820 il-central-1 ami-00149de67caaadbb4 aarch64
AlmaLinux OS 8.10.20240820 me-central-1 ami-09a528b9d4ddda446 x86_64
AlmaLinux OS 8.10.20240820 me-central-1 ami-044fd3983ec0b04c0 aarch64
AlmaLinux OS 8.10.20240820 me-south-1 ami-09921b16046011ce2 x86_64
AlmaLinux OS 8.10.20240820 me-south-1 ami-0226e0a6a3b742e51 aarch64
AlmaLinux OS 8.10.20240820 sa-east-1 ami-0605b89a61df504fd x86_64
AlmaLinux OS 8.10.20240820 sa-east-1 ami-02cb875f6e89f5afa aarch64
AlmaLinux OS 8.10.20240820 us-east-1 ami-0825c833650fed842 x86_64
AlmaLinux OS 8.10.20240820 us-east-1 ami-0f1d97cfa7cf5ad5d aarch64
AlmaLinux OS 8.10.20240820 us-east-2 ami-0f4ab906702bed7d5 x86_64
AlmaLinux OS 8.10.20240820 us-east-2 ami-01d5ed1fa2aab982a aarch64
AlmaLinux OS 8.10.20240820 us-west-1 ami-06b3617b535631431 x86_64
AlmaLinux OS 8.10.20240820 us-west-1 ami-0e29d461279664e56 aarch64
AlmaLinux OS 8.10.20240820 us-west-2 ami-05d9accf06ed81259 x86_64
AlmaLinux OS 8.10.20240820 us-west-2 ami-09e922ec8f159cf62 aarch64
+ + + diff --git a/cloud/Azure.html b/cloud/Azure.html new file mode 100644 index 000000000..eb8d97eea --- /dev/null +++ b/cloud/Azure.html @@ -0,0 +1,69 @@ + + + + + + Azure | AlmaLinux Wiki + + + + + + + + + +

# AlmaLinux OS in Azure Cloud

AlmaLinux offers images for Azure across all Azure regions via the Azure Marketplace. Images are deployable via the marketplace, portal and CLI and for both Gen1 and Gen2 machines. The images are completely free of charge regardless of the deployment channel.

The AlmaLinux team and community would like to thank Microsoft Azure for their sponsorship of AlmaLinux which helped make this, and other initiatives possible.

Azure Community Galleries allow anyone to publicly share virtual machine images. The AlmaLinux Foundation uploads images to the gallery almalinux-56b45196-f8a2-4e53-858a-bc4d0ebca440. Microsoft provides examples (opens new window) of using community gallery images via az CLI, the portal, and REST.

To use an image in a program, you will need to send an ImageReference (opens new window) like this one to the API:

"imageReference": {
+  "communityGalleryImageId": "/CommunityGalleries/almalinux-56b45196-f8a2-4e53-858a-bc4d0ebca440/Images/almalinux-9-gen2/Versions/latest"
+}
+

# Azure Marketplace

The Azure Marketplace is a curated digital catalog used to find, deploy and manage software offerings. All Azure Marketplace products undergo thorough review and vetting by the Azure team to ensure security and quality. Additionally, the AlmaLinux image has gone through significant automated testing with Microsoft's test suite to ensure compatibility across a wide range of Azure compute resources.

The official images can be found below:

The Azure Marketplace makes new images available more slowly than the Community Gallery. It also requires each subscription using AlmaLinux for the first time to accept a EULA before successfully creating any VM with the offering.

# Azure Portal

When deploying a new Virtual Machine instance in the Azure portal, Select Image -> See All Images, and in the marketplace pop search for AlmaLinux.

# Azure CLI

You can easily deploy images using the Azure CLI (opens new window). You can list all available images by running:

az vm image list --all --publisher almalinux -o table
+

You can then deploy by running:

# AlmaLinux OS 8 x86_64

az vm create -n MyVm -g MyResourceGroup --image almalinux:almalinux-x86_64:8-gen1:latest
+az vm create -n MyVm -g MyResourceGroup --image almalinux:almalinux-x86_64:8-gen2:latest
+

# AlmaLinux OS 9 x86_64

az vm create -n MyVm -g MyResourceGroup --image almalinux:almalinux-x86_64:9-gen1:latest
+az vm create -n MyVm -g MyResourceGroup --image almalinux:almalinux-x86_64:9-gen2:latest
+

# AlmaLinux OS 8 AArch64

az vm create -n MyVm -g MyResourceGroup --image almalinux:almalinux-arm:8-arm-gen2:latest
+

# AlmaLinux OS 9 AArch64

az vm create -n MyVm -g MyResourceGroup --image almalinux:almalinux-arm:9-arm-gen2:latest
+

For a full range of options that are customizable from the CLI please check the Azure CLI Reference Docs (opens new window).

+ + + diff --git a/cloud/EC2-instance-connect.html b/cloud/EC2-instance-connect.html new file mode 100644 index 000000000..4982fa9a5 --- /dev/null +++ b/cloud/EC2-instance-connect.html @@ -0,0 +1,166 @@ + + + + + + EC2 Instance Connect | AlmaLinux Wiki + + + + + + + + + +
# last modified: 2024-03-05

# How to use EC2 Instance Connect

# About EC2 Instance Connect

Amazon EC2 Instance Connect (opens new window) provides a simple and secure way to connect to your Linux instances with Secure Shell (SSH).

If you want to connect to an AlmaLinux OS instance using EC2 Instance Connect, please, follow the steps below.

TIP

EC2 Instance Connect packages are pre-installed in AlmaLinux OS starting versions 8.9.20240303 and 9.3.20240303 However, for older versions of AlmaLinux OS AMIs, you will need to install the packages manually: +Install EC2 Instance Connect RPM packages:

  • AlmaLinux OS 9 x86_64
    dnf -y install \
    +    https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect.rpm \
    +    https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux.noarch.rpm
    +
  • AlmaLinux OS 9 AArch64
    dnf -y install \
    +    https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_arm64/ec2-instance-connect.rpm \
    +    https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux.noarch.rpm
    +
  • AlmaLinux OS 8 x86_64
    dnf -y install \
    +  https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect.rhel8.rpm \
    +  https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux.noarch.rpm
    +
  • AlmaLinux OS 8 AArch64
    dnf -y install \
    +  https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_arm64/ec2-instance-connect.rhel8.rpm \
    +  https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux.noarch.rpm
    +

# Enabling EC2 Instance Connect

To be able to connect to an AlmaLinux OS instance using the EC2 Instance Connect you need to enable it first by instance ID or resource tag. For this purpose, you need to create a relevant policy file using EC2 Console or AWS CLI.

# EC2 Console:

  • In EC2 Console navigate to "IAM -> Policies -> Create policy".
  • Select Policy editor as JSON and paste the relevant policy contents: +
    • Policy to enable EC2 Instance Connect by tag: ec2_instance_connect_policy_by_tag.json.

      {
      +    "Version": "2012-10-17",
      +    "Statement": [{
      +    		"Effect": "Allow",
      +    		"Action": "ec2-instance-connect:SendSSHPublicKey",
      +    		"Resource": "arn:aws:ec2:$REGION:$ACCOUNT-ID:instance/*",
      +    		"Condition": {
      +    			"StringEquals": {
      +    				"aws:ResourceTag/$TAGKEY": "$TAGVALUE",
      +                    "ec2:osuser": "ec2-user"
      +    			}
      +    		}
      +    	},
      +    	{
      +    		"Effect": "Allow",
      +    		"Action": "ec2:DescribeInstances",
      +    		"Resource": "*"
      +    	}
      +    ]
      +}
      +

      Replace these variables with yours:

      • $REGION: AWS Region of instances you want to connect (for example,us-east-1) or * to apply to all regions.
      • $ACCOUNT-ID: ID of AWS account or * to apply to all accounts.
      • $TAGKEY: Key of the resource tag, for example, Foo
      • $TAGVALUE: Value for $TAGKEY, for example, Bar
    • Policy to enable EC2 Instance Connect by instance ID: ec2_instance_connect_policy_by_instance-id.json.

      {
      +	"Version": "2012-10-17",
      +	"Statement": [{
      +			"Effect": "Allow",
      +			"Action": "ec2-instance-connect:SendSSHPublicKey",
      +			"Resource": [
      +				"arn:aws:ec2:$REGION:$ACCOUNT-ID:instance/$INSTANCE-ID",
      +				"arn:aws:ec2:$REGION:$ACCOUNT-ID:instance/$INSTANCE-ID"
      +			],
      +			"Condition": {
      +				"StringEquals": {
      +					"ec2:osuser": "ec2-user"
      +				}
      +			}
      +		},
      +		{
      +			"Effect": "Allow",
      +			"Action": "ec2:DescribeInstances",
      +			"Resource": "*"
      +		}
      +	]
      +}
      +

      Replace these variables with yours:

      • $REGION: AWS Region of instances you want to connect (for example,us-east-1) or * to apply to all regions.
      • $ACCOUNT-ID: ID of AWS account or * to apply to all accounts.
      • $INSTANCE-ID: ID of instance, for example, i-1234567890abcdef0

# AWS CLI

  • Run the following command in AWS CLI to create a policy:

    aws iam create-policy \
    +    --policy-name $POLICY_NAME \
    +    --policy-document file://$POLICY_FILE
    +

    Replace these variables with your data:

    • $POLICY_NAME: Name of policy, ec2_instance_connect_policy_by_instance-id or ec2_instance_connect_policy_by_tag
    • $POLICY_FILE:: Policy file in JSON ec2_instance_connect_policy_by_instance-id.json or ec2_instance_connect_policy_by_tag.json
  • Put relevant policy contents:

    • Policy to enable EC2 Instance Connect by tag: ec2_instance_connect_policy_by_tag.json.

      {
      +    "Version": "2012-10-17",
      +    "Statement": [{
      +    		"Effect": "Allow",
      +    		"Action": "ec2-instance-connect:SendSSHPublicKey",
      +    		"Resource": "arn:aws:ec2:$REGION:$ACCOUNT-ID:instance/*",
      +    		"Condition": {
      +    			"StringEquals": {
      +    				"aws:ResourceTag/$TAGKEY": "$TAGVALUE",
      +                    "ec2:osuser": "ec2-user"
      +    			}
      +    		}
      +    	},
      +    	{
      +    		"Effect": "Allow",
      +    		"Action": "ec2:DescribeInstances",
      +    		"Resource": "*"
      +    	}
      +    ]
      +}
      +

      Replace these variables with yours:

      • $REGION: AWS Region of instances you want to connect (for example,us-east-1) or * to apply to all regions.
      • $ACCOUNT-ID: ID of AWS account or * to apply to all accounts.
      • $TAGKEY: Key of the resource tag, for example, Foo
      • $TAGVALUE: Value for $TAGKEY, for example, Bar
    • Policy to enable EC2 Instance Connect by instance ID: ec2_instance_connect_policy_by_instance-id.json.

      {
      +	"Version": "2012-10-17",
      +	"Statement": [{
      +			"Effect": "Allow",
      +			"Action": "ec2-instance-connect:SendSSHPublicKey",
      +			"Resource": [
      +				"arn:aws:ec2:$REGION:$ACCOUNT-ID:instance/$INSTANCE-ID",
      +				"arn:aws:ec2:$REGION:$ACCOUNT-ID:instance/$INSTANCE-ID"
      +			],
      +			"Condition": {
      +				"StringEquals": {
      +					"ec2:osuser": "ec2-user"
      +				}
      +			}
      +		},
      +		{
      +			"Effect": "Allow",
      +			"Action": "ec2:DescribeInstances",
      +			"Resource": "*"
      +		}
      +	]
      +}
      +

      Replace these variables with yours:

      • $REGION: AWS Region of instances you want to connect (for example,us-east-1) or * to apply to all regions.
      • $ACCOUNT-ID: ID of AWS account or * to apply to all accounts.
      • $INSTANCE-ID: ID of instance, for example, i-1234567890abcdef0
  • When the policy is created, you can attach this policy to an IAM user or/and group.

# Connect to an instance

There are three ways of connecting:

  • Use the browser-based client on the AWS Console
  • Push your public SSH keys with AWS CLI and use your SSH client to connect
  • Use AWS CLI to connect

# Using the browser-based client on AWS Console

Requirements:

  • curl
  • jq

To connect using the EC2 Instance Connect browser-based client, you need to get the IP address range of the AWS service in your region. Add these ranges to the security group of instances for inbound SSH connection.

Get the subnet of AWS service for your region:

curl -s https://ip-ranges.amazonaws.com/ip-ranges.json | jq '.prefixes[] | select(.region=="$REGION") | select(.service=="EC2_INSTANCE_CONNECT") | .ip_prefix'
+

Replace $REGION with an AWS region, for example, us-east-1

# Push/Inject your public SSH keys with AWS CLI and use SSH client of your choice

WARNING

When you connect to an instance using EC2 Instance Connect, the Instance Connect API pushes an SSH public key to the instance metadata where it remains for 60 seconds.

Push your public SSH key to an instance and connect with the SSH client:

Run the command:

aws ec2-instance-connect send-ssh-public-key \
+    --instance-id $INSTANCE_ID \
+    --instance-os-user ec2-user \
+    --ssh-public-key file://$SSH_PUB_KEY_PATH
+

Replace these variables with your own:

  • $INSTANCE_ID: ID of Instance, for example, i-1234567890abcdef0
  • $SSH_PUB_KEY_PATH: Path of public pair of SSH key, for example, ~/.ssh/my_ssh_key.pub

TIP

See the AWS CLI Command Reference (opens new window) for more command line options.

# Use AWS CLI to connect

Run the command to connect using only AWS CLI:

aws ec2-instance-connect ssh --instance-id $INSTANCE_ID
+

Replace these variables with your own:

  • $INSTANCE_ID: ID of Instance, for example, i-1234567890abcdef0

TIP

See the AWS CLI Command Reference (opens new window) for more command line options.

+ + + diff --git a/cloud/Generic-cloud-on-local.html b/cloud/Generic-cloud-on-local.html new file mode 100644 index 000000000..610529ae5 --- /dev/null +++ b/cloud/Generic-cloud-on-local.html @@ -0,0 +1,212 @@ + + + + + + Using Generic Cloud Images on a local machine | AlmaLinux Wiki + + + + + + + + + +

# Using Generic Cloud Images on a local machine

You can use the AlmaLinux OS 8 and 9 Generic Cloud images for testing, developing, manipulating and repackaging purposes on your local machine.

Required packages:

  • osinfo-db for AlmaLinux OS support on the virtualization stack.
  • qemu-img (RPM) (ArchLinux), qemu-utils (DEB) for creating snapshots.
  • virt-install (CLI) virt-manager (GUI) (RPM), virt-manager (ships with virt-install too) (DEB) for creating VMs.
  • xorriso or genisoimage for creation of Cloud-init data ISOs.
  • guestfs-tools (RPM) (ArchLinux), libguestfs-tools (DEB) for inspecting and manipulating image content.

# AlmaLinux Guest OS support

You need at least version 20210215 for AlmaLinux and 20210426 for other distributions osinfo-db packages to support AlmaLinux as a guest OS.

TIP

20210621 and newer recommended for latest improvements.

To check whether AlmaLinux OS is supported on the installed version of osinfo-db:

osinfo-query os | grep almalinux
+
+ almalinux8           | AlmaLinux 8                                        | 8        | http://almalinux.org/almalinux/8
+ almalinux9           | AlmaLinux 9                                        | 9        | http://almalinux.org/almalinux/9
+

If the installed osinfo-db doesn’t support either or any version of AlmaLinux OS, You can manually update the Osinfo database with the --local option without overriding the installed osinfo-db which is installed by the distribution's package manager. The new database will have precedence when the database is loaded.

Retrieve the latest $osinfo_db_version from here (e.g., 20230719) : https://releases.pagure.org/libosinfo/?C=M;O=D (opens new window)

osinfo_db_version='20230719' # Replace with the latest version
+
+curl -O https://releases.pagure.org/libosinfo/osinfo-db-"$osinfo_db_version".tar.xz # Download
+sudo osinfo-db-import --local osinfo-db-"$osinfo_db_version".tar.xz # Install
+

Refer to this guide to download and verify the cloud images: https://wiki.almalinux.org/cloud/Generic-cloud.html#download-and-verification (opens new window)

# Create a snapshot from the image

If you don’t want to modify the cloud image each time you create a VM, you can create a snapshot from the cloud image. The snapshot's virtual size can be different from the base image. In this example, we will use 20G instead of the base image's virtual size (10G). Cloud-init will grow the root filesystem automatically on the creation of the VM.

qemu-img create -f qcow2 -b AlmaLinux-9-GenericCloud-9.2-20230513.x86_64.qcow2 -F qcow2 wiki_example_almalinux92_snapshot.qcow2 20G
+

WARNING

If you face a permission error on image, snapshot, and Cloud-init ISO files, you can resolve it in the following ways:

  • You can move the image and snapshot to the /var/lib/libvirt/images directory.
  • Change the ownership of file to qemu user with chown qemu:qemu. On SELinux enforced systems, do not forget to change the context type too with chcon -t virt_image_t

# Cloud-init

The NoCloud (opens new window) datasource allows the user to provide user-data, meta-data and network-config to the VM without running a network service (or even without having a network at all). You can provide Meta-data and User-data files with --cloud-init option of virt-install (opens new window) >= 3.0.0 or with an ISO file for versions `< 3.0.0.

The name of the default user on the AlmaLinux OS Generic Cloud images is almalinux and it's locked. Therefore we need to inject a password or public ssh key for authentication. In this example, we do both: set a password and add public SSH keys for the almalinux user.

These two main criteria must be met on the Cloud-init User Data:

  • The first line must be #cloud-config.
  • The syntax must be in YAML.

user-data:

#cloud-config
+
+ssh_pwauth: true # sshd service will be configured to accept password authentication method
+password: changeme # Set a password for almalinux
+chpasswd:
+    expire: false # Don't ask for password reset after the first log-in
+ssh_authorized_keys: # Add your ssh public key for publickey authentication
+    - ssh-ed25519 AAAAB3NzaC1yc2EAAAABIwAAAQEA3I7VUf2l5gSn5uavROsc5HRDpZ turquoisekodkod@almalinux.example
+    - ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAGEA3FSyQwBI6Z+nCSjUU sapphirecaracal@almalinux.example
+

TIP

Refer to the Cloud-init modules list (opens new window) for further customization options.

TIP

You can close the console output of the VM with Ctrl + ]

Start the VM - virt-install >= 3.0.0 with --cloud-init option:

#!/usr/bin/env bash
+
+
+vm_name='wiki-example-almalinux92'
+vm_memory='2048'
+vm_cpus='2'
+vm_disk='/var/lib/libvirt/images/wiki_example_almalinux92_snapshot.qcow2'
+
+ci_user_data='ci_user_data_ssh_auth_pass_pubkey'
+
+
+virt-install \
+    --connect qemu:///system \
+    --name "$vm_name" \
+    --memory "$vm_memory" \
+    --machine q35 \
+    --vcpus "$vm_cpus" \
+    --cpu host-passthrough \
+    --import \
+    --cloud-init user-data="$ci_user_data" \
+    --osinfo name=almalinux8 \
+    --disk "$vm_disk" \
+    --virt-type kvm
+

Start the VM - virt-install < 3.0.0

Create Cloud-init data ISO with User and Meta data files:

WARNING

The filename of Cloud-init user data, meta data must be renamed to user-data and meta-data and be placed on the root directory of ISO.

/user-data
+/meta-data
+

The meta-data can be empty for no meta-data option

touch meta-data
+

xorriso (AlmaLinux OS 9)

xorriso -as genisoimage -output ci_data.iso -volid CIDATA -joliet -rock user-data meta-data
+

genisoimage (AlmaLinux OS 8)

genisoimage -output ci_data.iso -volid CIDATA -joliet -rock user-data meta-data
+

Create the VM with Cloud-init data ISO mounted:

#!/usr/bin/env bash
+
+vm_name='wiki-almalinux92'
+vm_memory='2048'
+vm_cpus='2'
+vm_disk='/var/lib/libvirt/images/wiki_example_almalinux92_snapshot.qcow2'
+
+ci_dataiso='/var/lib/libvirt/images/ci_data.iso'
+
+virt-install \
+     --connect qemu:///system \
+     --name "$vm_name" \
+     --memory "$vm_memory" \
+     --machine q35 \
+     --vcpus $vm_cpus \
+     --cpu host-passthrough \
+     --import \
+     --osinfo name=almalinux9 \
+     --disk "$vm_disk" \
+     --disk "$ci_dataiso",device=cdrom \
+     --virt-type kvm
+

Get the IP address of the VM:

virsh domainifaddr $VM_NAME
+

# Static IP

To create a VM with static IPs rather than dynamic from DHCP, We need to create network-config file in Networking config Version 1 or Networking config Version 2 format.

An example for a single interface VM on 192.168.122.0/24 network, our network-config file would be:

Networking config Version 1:

version: 1
+config:
+  - type: physical
+    name: eth0
+    subnets:
+      - type: static
+        address: 192.168.122.92
+        netmask: 255.255.255.0
+        gateway: 192.168.122.1
+        dns_nameservers:
+          - 192.168.122.1
+          - 9.9.9.9
+

Networking config Version 2:

version: 2
+ethernets:
+  eth0:
+    addresses:
+      - 192.168.122.92/24
+    gateway4: 192.168.124.1
+    nameservers:
+      addresses:
+        - 192.168.122.1
+        - 9.9.9.9
+

TIP

Please consult documenation pages of Networking config Version 1 (opens new window) and Networking config Version 2 (opens new window) for the full list of options.

In virt-install/manager version >= 4.1.0 (available in AlmaLinux OS 9), you can use the network-config sub-option of the --cloud-init option.

#!/usr/bin/env bash
+
+vm_name='wiki-almalinux92'
+vm_memory='2048'
+vm_cpus='2'
+vm_disk='/var/lib/libvirt/images/wiki_example_almalinux92_snapshot.qcow2'
+
+ci_user_data='ci_user_data_ssh_auth_pass_pubkey' # Cloud-init user-data
+ci_network_config='ci_network_config_192_168_122_92_v1' # Cloud-init network-config
+
+
+virt-install \
+     --connect qemu:///system \
+     --name "$vm_name" \
+     --memory "$vm_memory" \
+     --machine q35 \
+     --vcpus "$vm_cpus" \
+     --cpu host-passthrough \
+     --import \
+     --cloud-init user-data="$ci_user_data",network-config="$ci_network_config" \
+     --osinfo name=almalinux9 \
+     --disk "$vm_disk" \
+     --virt-type kvm
+

On virt-install/manager < 4.1.0 (AlmaLinux OS 8), you will need to create a Cloud-init Data ISO in ISO 9660 format.

WARNING

The names of Cloud-init user data, meta data and networking config must be renamed to user-data, meta-data and network-config and be present on the root directory of ISO.

/user-data
+/meta-data
+/network-config
+

Create the Cloud-init Data ISO:

The meta-data file can be empty if no meta-data is needed.

touch meta-data
+

xorriso (AlmaLinux OS 9)

xorriso -as genisoimage -output ci_data.iso -volid CIDATA -joliet -rock user-data meta-data network-config
+

genisoimage (AlmaLinux OS 8)

genisoimage -output ci_data.iso -volid CIDATA -joliet -rock user-data meta-data network-config
+

Create the VM with Cloud-init data ISO mounted:

#!/usr/bin/env bash
+
+vm_name='wiki-almalinux92'
+vm_memory='2048'
+vm_cpus='2'
+vm_disk='/var/lib/libvirt/images/wiki_example_almalinux92_snapshot.qcow2'
+
+ci_dataiso='/var/lib/libvirt/images/ci_data.iso'
+
+virt-install \
+     --connect qemu:///system \
+     --name "$vm_name" \
+     --memory "$vm_memory" \
+     --machine q35 \
+     --vcpus $vm_cpus \
+     --cpu host-passthrough \
+     --import \
+     --osinfo name=almalinux9 \
+     --disk "$vm_disk" \
+     --disk "$ci_dataiso",device=cdrom \
+     --virt-type kvm
+

# Virt-Manager (GUI)

Unlike the virt-install, the virt-manager doesn't have an option to provide Cloud-init user-data, meta-data and network-config (Static IP). For that reason we can add Cloud-init data ISO to our VM as CDROM device.

"New VM" -> "Import existing disk image" -> Choose AlmaLinux OS image itself or snapshot, put a tick on the "Customize configuration before install" option.

"Add Hardware" -> "Storage" -> Select Device type as "CDROM", click on "Manage" and select Cloud-init data ISO and click on "Finish" button. Start the VM with the "Begin Installation".

# Repackage cloud image

shutdown VM:

sudo virsh shutdown $VM_NAME
+

Convert the snapshot to the full image without touching backing file(AlmaLinux-8-GenericCloud-8.4-20210616.x86_64.qcow2):

qemu-img convert -c -O qcow2 doc-almalinux84-snapshot.qcow2 doc-almalinux84-base.qcow2
+

You can reset, unconfigure and inject files to the image with libguestfs virt-sysprep. See the upstream documentation for further option (opens new window) and operations. (opens new window)

virt-sysprep --format qcow2 -a doc-almalinux84-base.qcow2
+

# Inspection and Manipulation of images

Show a file inside the image

virt-cat -a AlmaLinux-9-GenericCloud-9.2-20230513.x86_64.qcow2 /etc/cloud/cloud.cfg
+

Show disk usage inside the image

virt-df -a AlmaLinux-9-GenericCloud-9.2-20230513.x86_64.qcow2 -h
+

Display the OS infromation

virt-inspector -a AlmaLinux-9-GenericCloud-9.2-20230513.x86_64.qcow2
+

Get the version of kernel package with the help of XPATH query

virt-inspector -a AlmaLinux-9-GenericCloud-9.2-20230513.x86_64.qcow2 | virt-inspector --xpath '//application[name="kernel"]/version | //application[name="kernel"]/release'
+
+<version>5.14.0</version>
+<release>284.11.1.el9_2</release>
+

Mount filesystems of an image.

mkdir guest_mount # Create the mount directoy
+guestmount -a AlmaLinux-9-GenericCloud-9.2-20230513.x86_64.qcow2 -i --ro guest_mount/ # Mount read-only with --ro
+guestunmount guest-mount/ # Unmount
+

TIP

You can check the libguestfs's website (opens new window) for more documentation and more tools

+ + + diff --git a/cloud/Generic-cloud.html b/cloud/Generic-cloud.html new file mode 100644 index 000000000..8dbba8aa2 --- /dev/null +++ b/cloud/Generic-cloud.html @@ -0,0 +1,131 @@ + + + + + + Generic Cloud (Cloud-init) | AlmaLinux Wiki + + + + + + + + + +

# AlmaLinux OS Generic Cloud (Cloud-init) image

The Generic Cloud image is a general purpose virtual machine image that +contains the Cloud-init (opens new window) package. During boot, +cloud-init will take configuration options from cloud metadata and +initialize a system accordingly. This may include network +configuration, user's SSH key pair installation, attaching storage devices, etc.

# Download images

The AlmaLinux OS Generic Cloud image is available from our +mirrors (opens new window) and from the main AlmaLinux OS +repositories:

AlmaLinux 8 x86_64 aarch64 ppc64le s390x
AlmaLinux 9 x86_64 aarch64 ppc64le s390x

# Verify AlmaLinux 8 images

# Import the AlmaLinux OS PGP public key

In order to verify a downloaded image you need to import the AlmaLinux OS PGP +public key first.

TIP

If you are using an AlmaLinux OS-powered system, you may skip the command +below because you already have the key stored in the /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux file. +Run the following command instead to import the key:

gpg --import /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
+
$ curl -O -s https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
+

Print the key fingerprint:

$ gpg --with-subkey-fingerprints RPM-GPG-KEY-AlmaLinux
+gpg: WARNING: no command supplied.  Trying to guess what you mean ...
+pub   rsa4096 2021-01-12 [C] [expires: 2024-01-12]
+      5E9B8F5617B5066CE92057C3488FCF7C3ABB34F8
+uid           AlmaLinux <packager@almalinux.org>
+sub   rsa3072 2021-01-12 [S] [expires: 2024-01-12]
+

The fingerprint is 5E9B8F5617B5066CE92057C3488FCF7C3ABB34F8. If you see a +different fingerprint, it means you downloaded a compromised file. Please, +let us know a mirror from which you +downloaded the file, remove the file and retry the download from another +mirror.

Next you need to import the key:

$ gpg --import RPM-GPG-KEY-AlmaLinux
+gpg: key 488FCF7C3ABB34F8: public key "AlmaLinux <packager@almalinux.org>" imported
+gpg: Total number processed: 1
+gpg:               imported: 1
+

# Download and verify the image

Download checksum file and its signature first:

$ curl -O -s https://repo.almalinux.org/almalinux/8/cloud/x86_64/images/CHECKSUM
+$ curl -O -s https://repo.almalinux.org/almalinux/8/cloud/x86_64/images/CHECKSUM.asc
+

Verify the checksum file signature:

$ gpg --verify CHECKSUM.asc CHECKSUM
+gpg: Signature made Sat 12 Nov 00:13:38 CET
+gpg:                using RSA key E53CF5EF91CEB0AD1812ECB851D6647EC21AD6EA
+gpg: Good signature from "AlmaLinux <packager@almalinux.org>" [unknown]
+gpg: WARNING: This key is not certified with a trusted signature!
+gpg:          There is no indication that the signature belongs to the owner.
+Primary key fingerprint: 5E9B 8F56 17B5 066C E920  57C3 488F CF7C 3ABB 34F8
+     Subkey fingerprint: E53C F5EF 91CE B0AD 1812  ECB8 51D6 647E C21A D6EA
+

Make sure that you see the Good signature from "AlmaLinux <packager@almalinux.org>" +message in the output.

Download the latest image version:

$ curl -O -s https://repo.almalinux.org/almalinux/8/cloud/x86_64/images/AlmaLinux-8-GenericCloud-latest.x86_64.qcow2
+

and verify its checksum:

$ sha256sum -c CHECKSUM 2>&1 | grep OK
+AlmaLinux-8-GenericCloud-latest.x86_64.qcow2: OK
+

If the output is different, you should download the image again. Trying another +mirror may be a good idea.

# Verify AlmaLinux 9 images

# Import the AlmaLinux OS PGP public key

In order to verify a downloaded image you need to import the AlmaLinux OS PGP +public key first.

TIP

If you are using an AlmaLinux OS-powered system, you may skip the command +below because you already have the key stored in the /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9 file. +Run the following command instead to import the key:

gpg --import /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
+
$ curl -O -s https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9
+

Print the key fingerprint:

$ gpg --with-subkey-fingerprints RPM-GPG-KEY-AlmaLinux-9
+pub   rsa4096 2022-01-18 [SC]
+      BF18AC2876178908D6E71267D36CB86CB86B3716
+uid           AlmaLinux OS 9 <packager@almalinux.org>
+sub   rsa4096 2022-01-18 [E]
+

The fingerprint is BF18AC2876178908D6E71267D36CB86CB86B3716. If you see a +different fingerprint, it means you downloaded a compromised file. Please, +let us know a mirror from which you +downloaded the file, remove the file and retry the download from another +mirror.

Next you need to import the key:

$ gpg --import RPM-GPG-KEY-AlmaLinux-9
+gpg: key D36CB86CB86B3716: public key "AlmaLinux <packager@almalinux.org>" imported
+gpg: Total number processed: 1
+gpg:               imported: 1
+

# Download and verify the AlmaLinux 9 image

Download checksum file and its signature first:

$ curl -O -s https://repo.almalinux.org/almalinux/9/cloud/x86_64/images/CHECKSUM
+$ curl -O -s https://repo.almalinux.org/almalinux/9/cloud/x86_64/images/CHECKSUM.asc
+

Verify the checksum file signature:

$ gpg --verify CHECKSUM.asc CHECKSUM
+gpg: Signature made Fri 18 Nov 2022 04:19:01 AM CET
+gpg:                using RSA key BF18AC2876178908D6E71267D36CB86CB86B3716
+gpg: Good signature from "AlmaLinux OS 9 <packager@almalinux.org>" [unknown]
+gpg: WARNING: This key is not certified with a trusted signature!
+gpg:          There is no indication that the signature belongs to the owner.
+Primary key fingerprint: BF18 AC28 7617 8908 D6E7  1267 D36C B86C B86B 3716
+

Make sure that you see the Good signature from "AlmaLinux <packager@almalinux.org>" +message in the output.

Download the latest image version:

$ curl -O -s https://repo.almalinux.org/almalinux/9/cloud/x86_64/images/AlmaLinux-9-GenericCloud-latest.x86_64.qcow2
+

and verify its checksum:

$ sha256sum -c CHECKSUM 2>&1 | grep OK
+AlmaLinux-9-GenericCloud-latest.x86_64.qcow2: OK
+

If the output is different, you should download the image again. Trying another +mirror may be a good idea.

+ + + diff --git a/cloud/Google.html b/cloud/Google.html new file mode 100644 index 000000000..e1e2dc9ea --- /dev/null +++ b/cloud/Google.html @@ -0,0 +1,60 @@ + + + + + + Google Cloud | AlmaLinux Wiki + + + + + + + + + + + + + diff --git a/cloud/OCI.html b/cloud/OCI.html new file mode 100644 index 000000000..5aa4d8f6c --- /dev/null +++ b/cloud/OCI.html @@ -0,0 +1,62 @@ + + + + + + Oracle Cloud Infrastructure | AlmaLinux Wiki + + + + + + + + + +

# AlmaLinux OS in Oracle Cloud Infrastructure

AlmaLinux offers images for Oracle Cloud Infrastructure across all OCI regions via the Oracle Cloud Marketplace (opens new window). Images are deployable for Regular, Shielded and ARM type instances via the Oracle Cloud Marketplace, Partner Image on Oracle Cloud Infrastructure Console and OCI CLI (opens new window). The images are completely free of charge regardless of the deployment channel.

# About Oracle Cloud Infrastructure

Oracle Cloud Marketplace is an online store—a one-stop shop—selling hundreds of business apps and professional services that complement your existing Oracle Cloud implementation. +All apps and services on the marketplace are offered by approved, registered, and expert partners and developers. Plus, Oracle has vetted, reviewed, and approved each product.

# Where to get the image and guidance steps

The official AlmaLinux OS images are available on Oracle Cloud Marketplace (opens new window) at the links provided:

AlmaLinux OS 8 x86_64 AArch64
AlmaLinux OS 9 x86_64 AArch64

# Oracle Cloud Infrastructure Console

In the Image and shape section, choose the image and shape. For instance: in the Image section, click Change image. Then, select Partner images as an Image source from the list.

# OCI CLI

You can easily deploy images using the OCI CLI (opens new window). You can list all available images and get the OCID of the image by running:

oci compute image list $OCID
+

You can then deploy by running:

oci compute instance launch --image-id
+

For a full range of options that are customizable from the CLI please check the OCI CLI Reference Docs (opens new window).

+ + + diff --git a/cloud/OpenNebula.html b/cloud/OpenNebula.html new file mode 100644 index 000000000..9b8ce5c99 --- /dev/null +++ b/cloud/OpenNebula.html @@ -0,0 +1,126 @@ + + + + + + OpenNebula | AlmaLinux Wiki + + + + + + + + + +

# AlmaLinux OS OpenNebula image

The OpenNebula image contains the OpenNebula addons repository as delivered via the AlmaLinux Cloud SIG (opens new window). The repo provides the latest upstream version of the OpenNebula Linux VM Contextualization to prepare the networking in the running guest virtual machine, configure SSH keys, set passwords, run custom start scripts, onesysprep, etc.

# Download images

The AlmaLinux OS OpenNebula image is available from our +mirrors (opens new window) and from the main AlmaLinux OS repositories:

AlmaLinux 8 x86_64 aarch64
AlmaLinux 9 x86_64 aarch64

# Verify AlmaLinux 8 images

# Import the AlmaLinux OS PGP public key

In order to verify a downloaded image, you need to import the AlmaLinux OS PGP +public key first.

TIP

If you are using an AlmaLinux OS-powered system, you may skip the command +below because you already have the key stored in the /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux file. +Run the following command instead to import the key:

gpg --import /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
+
$ curl -O -s https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
+

Print the key fingerprint:

$ gpg --with-subkey-fingerprints RPM-GPG-KEY-AlmaLinux
+gpg: WARNING: no command supplied.  Trying to guess what you mean ...
+pub   rsa4096 2021-01-12 [C] [expires: 2024-01-12]
+      5E9B8F5617B5066CE92057C3488FCF7C3ABB34F8
+uid           AlmaLinux <packager@almalinux.org>
+sub   rsa3072 2021-01-12 [S] [expires: 2024-01-12]
+

The fingerprint is 5E9B8F5617B5066CE92057C3488FCF7C3ABB34F8. If you see a +different fingerprint, it means you downloaded a compromised file. Please, +let us know a mirror from which you +downloaded the file, remove the file and retry the download from another +mirror.

Next you need to import the key:

$ gpg --import RPM-GPG-KEY-AlmaLinux
+gpg: key 488FCF7C3ABB34F8: public key "AlmaLinux <packager@almalinux.org>" imported
+gpg: Total number processed: 1
+gpg:               imported: 1
+

# Download and verify the image

Download checksum file and its signature first:

$ curl -O -s https://repo.almalinux.org/almalinux/8/cloud/x86_64/images/CHECKSUM
+$ curl -O -s https://repo.almalinux.org/almalinux/8/cloud/x86_64/images/CHECKSUM.asc
+

Verify the checksum file signature:

$ gpg --verify CHECKSUM.asc CHECKSUM
+gpg: Signature made Sat 12 Nov 00:13:38 CET
+gpg:                using RSA key E53CF5EF91CEB0AD1812ECB851D6647EC21AD6EA
+gpg: Good signature from "AlmaLinux <packager@almalinux.org>" [unknown]
+gpg: WARNING: This key is not certified with a trusted signature!
+gpg:          There is no indication that the signature belongs to the owner.
+Primary key fingerprint: 5E9B 8F56 17B5 066C E920  57C3 488F CF7C 3ABB 34F8
+     Subkey fingerprint: E53C F5EF 91CE B0AD 1812  ECB8 51D6 647E C21A D6EA
+

Make sure that you see the Good signature from "AlmaLinux <packager@almalinux.org>" +message in the output.

Download the latest image version:

$ curl -O -s https://repo.almalinux.org/almalinux/8/cloud/x86_64/images/AlmaLinux-8-OpenNebula-latest.x86_64.qcow2
+

and verify its checksum:

$ sha256sum -c CHECKSUM 2>&1 | grep OK
+AlmaLinux-8-OpenNebula-latest.x86_64.qcow2: OK
+

If the output is different, you should download the image again. Trying another +mirror may be a good idea.

# Verify AlmaLinux 9 images

# Import the AlmaLinux OS PGP public key

In order to verify a downloaded image you need to import the AlmaLinux OS PGP +public key first.

TIP

If you are using an AlmaLinux OS-powered system, you may skip the command +below because you already have the key stored in the /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9 file. +Run the following command instead to import the key:

gpg --import /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
+
$ curl -O -s https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9
+

Print the key fingerprint:

$ gpg --with-subkey-fingerprints RPM-GPG-KEY-AlmaLinux-9
+pub   rsa4096 2022-01-18 [SC]
+      BF18AC2876178908D6E71267D36CB86CB86B3716
+uid           AlmaLinux OS 9 <packager@almalinux.org>
+sub   rsa4096 2022-01-18 [E]
+

The fingerprint is BF18AC2876178908D6E71267D36CB86CB86B3716. If you see a +different fingerprint, it means you downloaded a compromised file. Please, +let us know a mirror from which you +downloaded the file, remove the file and retry the download from another +mirror.

Next you need to import the key:

$ gpg --import RPM-GPG-KEY-AlmaLinux-9
+gpg: key D36CB86CB86B3716: public key "AlmaLinux <packager@almalinux.org>" imported
+gpg: Total number processed: 1
+gpg:               imported: 1
+

# Download and verify the AlmaLinux 9 image

Download checksum file and its signature first:

$ curl -O -s https://repo.almalinux.org/almalinux/9/cloud/x86_64/images/CHECKSUM
+$ curl -O -s https://repo.almalinux.org/almalinux/9/cloud/x86_64/images/CHECKSUM.asc
+

Verify the checksum file signature:

$ gpg --verify CHECKSUM.asc CHECKSUM
+gpg: Signature made Fri 18 Nov 2022 04:19:01 AM CET
+gpg:                using RSA key BF18AC2876178908D6E71267D36CB86CB86B3716
+gpg: Good signature from "AlmaLinux OS 9 <packager@almalinux.org>" [unknown]
+gpg: WARNING: This key is not certified with a trusted signature!
+gpg:          There is no indication that the signature belongs to the owner.
+Primary key fingerprint: BF18 AC28 7617 8908 D6E7  1267 D36C B86C B86B 3716
+

Make sure that you see the Good signature from "AlmaLinux <packager@almalinux.org>" +message in the output.

Download the latest image version:

$ curl -O -s https://repo.almalinux.org/almalinux/9/cloud/x86_64/images/AlmaLinux-9-OpenNebula-latest.x86_64.qcow2
+

and verify its checksum:

$ sha256sum -c CHECKSUM 2>&1 | grep OK
+AlmaLinux-9-OpenNebula-latest.x86_64.qcow2: OK
+

If the output is different, you should download the image again. Trying another +mirror may be a good idea.

+ + + diff --git a/cloud/cloud-changelog.html b/cloud/cloud-changelog.html new file mode 100644 index 000000000..640a0beee --- /dev/null +++ b/cloud/cloud-changelog.html @@ -0,0 +1,61 @@ + + + + + + Changelog | AlmaLinux Wiki + + + + + + + + + +
# last updated: 2024-07-04

# Amazon Web Services AMIs

# AlmaLinux OS versions 9.3.20240303 and 8.9.20240303:

  • AlmaLinux Amazon Images were switched from Instance Metadata Service Version 1 (IMDSv1) to Instance Metadata Service Version 2 (IMDSv2). +The IMDSv2 is beneficial in multiple use cases such as:

    • Misconfigured Open Web Application Firewalls (WAF).
    • Misconfigured Open Reverse Proxies (Apache HTTP Server, Squid etc.).
    • Server-side request forgery (SSRF) vulnerabilities.
    • Open router.
    • Open Layer 3 Firewall.
    • Virtual private network (VPN).
    • Tunnel.
    • Network address translation (NAT). +For more details see article (opens new window) from AWS Security Blog and talk (opens new window) from AWS re:Invent 2019
  • The size of boot partition (/boot) increased from 512 MiB to 1024 MiB / 1GiB.

  • Included EC2 Instance Connect. See: https://wiki.almalinux.org/cloud/EC2-instance-connect.html

# Generic Cloud

# AlmaLinux OS versions 9.4-20240507 and 8.10-20240530 with Cloud-init (OpenStack compatible)

Impacted architectures: x86_64, AArch64, ppc64le, s390x

The size of boot partition (/boot) increased from 512 MiB to 1024 MiB / 1GiB. This means that three and more kernels can be installed and enables larger initramfs (initial ram file system) and kernel related development.

# AlmaLinux OS version 8.9-20231128

Impacted architecture: x86_64

AlmaLinux Generic Cloud images have now unified - BIOS and UEFI - boot support. The download URLs of the UEFI images are symlinked to the current image for compatibility: $MIRROR/almalinux/8/cloud/x86_64/images/AlmaLinux-8-GenericCloud-UEFI-latest.x86_64.qcow2

# OpenNebula

# AlmaLinux OS version 8.10-20240530

Impacted architecture: x86_64

AlmaLinux OpenNebula images have now unified - BIOS and UEFI - boot support. The download URLs of the UEFI images are symlinked to the current image for compatibility.

+ + + diff --git a/cloud/index.html b/cloud/index.html new file mode 100644 index 000000000..71732b2e5 --- /dev/null +++ b/cloud/index.html @@ -0,0 +1,51 @@ + + + + + + Cloud Images | AlmaLinux Wiki + + + + + + + + + +

# Cloud Images

At AlmaLinux, cloud integration is among our top priorities, ensuring that users get the most streamlined and efficient experience when deploying our OS in the cloud. Our dedication to this initiative is evident through the exceptional work of our Cloud Special Interest Group (Cloud SIG). They relentlessly work on perfecting and tailoring AlmaLinux for cloud environments, making our cloud images stand out for their performance, stability, and adaptability.

Presently, we are proud to offer robust support for a wide range of platforms including:

Cloud AlmaLinux OS 8 AlmaLinux OS 9
AWS Intel/AMD (x86_64) (opens new window)
ARM64 (AArch64) (opens new window)
Intel/AMD (x86_64) (opens new window)
ARM64 (AArch64) (opens new window)
Azure Intel/AMD (x86_64) (opens new window)
ARM64 (AArch64) (opens new window)
HPC Intel/AMD (x86_64) (opens new window)
Intel/AMD (x86_64) (opens new window)
ARM64 (AArch64) (opens new window)
Generic Cloud (Cloud-init) Intel/AMD (x86_64) (opens new window)
ARM64 (AArch64) (opens new window)
IBM Z (s390x) (opens new window)
Power LE (ppc64le) (opens new window)
Intel/AMD (x86_64) (opens new window)
ARM64 (AArch64) (opens new window)
IBM Z (s390x) (opens new window)
Power LE (ppc64le) (opens new window)
Google Cloud Intel/AMD (x86_64) (opens new window) Intel/AMD (x86_64) (opens new window)
OpenNebula Intel/AMD (x86_64) (opens new window)
ARM64 (AArch64) (opens new window)
Intel/AMD (x86_64) (opens new window)
ARM64 (AArch64) (opens new window)
Oracle Cloud Infrastructure Intel/AMD (x86_64) (opens new window)
ARM64 (AArch64) (opens new window)
Intel/AMD (x86_64) (opens new window)
ARM64 (AArch64) (opens new window)

Additionally, for those wishing to simulate cloud environments or test locally, we also provide options to run the Cloud image on your local machine. Dive in and experience the pinnacle of cloud-based Linux distributions with AlmaLinux.

# Changelog

You can find all the changes for every AlmaLinux Cloud Image starting versions 8.9 and 9.3 on the changelog page.

# Contribute and Get Help

If you are interested in contributing or need any assistance, check the SIG/Cloud wiki page and join the ~SIG/Cloud chat channel in Mattermost (opens new window) chat channel on chat.almalinux.org (opens new window).

+ + + diff --git a/community/coc.html b/community/coc.html new file mode 100644 index 000000000..d103de953 --- /dev/null +++ b/community/coc.html @@ -0,0 +1,51 @@ + + + + + + AlmaLinux Community Code of Conduct (CoC) | AlmaLinux Wiki + + + + + + + + + +

# AlmaLinux Community Code of Conduct (CoC)

The AlmaLinux community is made up of a mixture of professionals and volunteers from all over the world, working on every aspect of the distribution from coding through to marketing. Diversity is one of our huge strengths, but it can also lead to communication issues and unhappiness. To that end, we have a few ground rules that we ask people to adhere to when they’re using project resources.

This isn’t an exhaustive list of things that you can’t do. Rather, take it in the spirit in which it’s intended - a guide to make it easier to be excellent to each other.

  • Be considerate. Your work will be used by other people, and you in turn will depend on the work of others. Any decision you take will affect users and colleagues, and you should take those consequences into account when making decisions.

  • Be respectful. Not all of us will agree all the time, but disagreement is no excuse for poor behavior and poor manners. We might all experience some frustration now and then, but we cannot allow that frustration to turn into a personal attack. It’s important to remember that a community where people feel uncomfortable or threatened is not a productive one. Members of the AlmaLinux community should be respectful when dealing with other contributors as well as with people outside the AlmaLinux community and with users of AlmaLinux.

When we disagree, we try to understand why. Disagreements, both social and technical, happen all the time and AlmaLinux is no exception. It is important that we resolve disagreements and differing views constructively.

Remember that we’re different. The strength of AlmaLinux comes from its varied community, people from a wide range of backgrounds. Different people have different perspectives on issues. Being unable to understand why someone holds a viewpoint doesn’t mean that they’re wrong. Don’t forget that it is human to err and blaming each other doesn’t get us anywhere, rather offer to help resolving issues and to help learn from mistakes.

# Applicability

Our Code of Conduct applies to all AlmaLinux community resources, including forums, IRC channels, mailing lists, etc.

# Attribution

"Code of Conduct" by Red Hat, Inc. (opens new window) is licensed under CC-BY-SA 3.0 (opens new window). Used with modifications.

+ + + diff --git a/community/platforms.html b/community/platforms.html new file mode 100644 index 000000000..e9f4f0fac --- /dev/null +++ b/community/platforms.html @@ -0,0 +1,51 @@ + + + + + + Community Platforms | AlmaLinux Wiki + + + + + + + + + +

# AlmaLinux IRC Channels

AlmaLinux maintains a presence on the freenode IRC network (opens new window).

Please observe the AlmaLinux Code of Conduct and respect your fellow users at all times.

# Official Channels

Channel Purpose
#almalinux General discussion and community-based user support
#almalinux-arm (SIG) ARM-specific discussion and support
#almalinux-cloud (SIG) Cloud-centric discussion (AWS, GCP, Azure, OpenStack, etc.)
#almalinux-devel Developing for AlmaLinux (or a similar EL platform)? This is for you.
#almalinux-infra Discussion or issue reporting for AlmaLinux project infrastructure
#almalinux-security Security-specific discussion and support
#almalinux-social Off-topic banter
#almalinux-storage (SIG) Storage-specific discussion (GlusterFS, etc.)

# Mattermost

AlmaLinux operates a Mattermost instance at https://chat.almalinux.org.

This instance is open to the public; contributors are highly encouraged to sign up!

+ + + diff --git a/containers/docker-images.html b/containers/docker-images.html new file mode 100644 index 000000000..6f922c291 --- /dev/null +++ b/containers/docker-images.html @@ -0,0 +1,59 @@ + + + + + + Docker Images | AlmaLinux Wiki + + + + + + + + + +
# last updated: 2024-04-22

# AlmaLinux OS Docker Images

# About AlmaLinux Docker Images

AlmaLinux Docker Images is a great way to build your container image based on AlmaLinux OS. AlmaLinux Docker Images offer users such benefits as high reliability, security, and performance. It is possible to build a cloud and web application that is developed in containers and share it with whom you want or where you want to collaborate after pushing it to the registry server with any of the images.

WARNING

Please, when accessing AlmaLinux Container images at Quay.io (opens new window), make sure you are using the correct link: https://quay.io/repository/almalinuxorg/almalinux.

# AlmaLinux Docker Images Variants

AlmaLinux OS project now provides two official images: Default (Platform) and Minimal (Platform), and four fully compatible alternatives for the Red Hat Universal Base Images (UBI): Base, Init, Micro and Minimal.

# AlmaLinux: Default (Platform)

The general purpose of the default (platform) image is a container image that contains default packages and can be used as a drop-in replacement for the CentOS 8 image.

Container image tag: almalinux:latest

Link to the repository:

hub.docker.com/_/almalinux (opens new window)

# AlmaLinux: Minimal

The AlmaLinux minimal image is a compacted image that contains a limited package set and uses the microdnf package manager as a replacement for DNF. A minimal DNF uses libdnf and therefore doesn't require Python. This image is 52% smaller in size (37MB download, 102MB expanded). It is designed for applications that come with their dependencies bundled like GO, NodeJS, Java. You can get the Minimal image via two variants of the following container tags and links.

Container image tag for Minimal (Platform): almalinux:minimal

Container image tag for Minimal ( UBI - alternative): almalinux/8-minimal

Links to repositories:

Platform Version
Docker Hub AlmaLinux 8 (opens new window)
AlmaLinux 9 (opens new window)
Quay.io AlmaLinux 8 (opens new window)
AlmaLinux 9 (opens new window)
GitHub Packages AlmaLinux 8 (opens new window)
AlmaLinux 9 (opens new window)

# AlmaLinux: Base

The AlmaLinux Base Image is designed to be a base for your containerized applications, middleware and utilities. Base Image includes some helpful OS tools like find, tar, vi, etc., and a full DNF stack. The systemd initialization system and access to free dnf repositories are fully available. The Base image has some differences in a package set than the Default (Platform) image.

Container image tag: almalinux/8-base

Links to repositories:

Platform Version
Docker Hub AlmaLinux 8 (opens new window)
AlmaLinux 9
Quay.io AlmaLinux 8 (opens new window)
AlmaLinux 9 (opens new window)
GitHub Packages AlmaLinux 8 (opens new window)
AlmaLinux 9 (opens new window)

# AlmaLinux: Init

The AlmaLinux Init image is effective if you want to run an init system as Process ID 1 for running multi-services inside a container. The systemd is enabled as the init system in the image.

Container image tag: almalinux/8-init

Links to repositories:

Platform Version
Docker Hub AlmaLinux 8 (opens new window)
AlmaLinux 9 (opens new window)
Quay.io AlmaLinux 8 (opens new window)
AlmaLinux 9 (opens new window)
GitHub Packages AlmaLinux 8 (opens new window)
AlmaLinux 9 (opens new window)

# AlmaLinux: Micro

The AlmaLinux Micro image is an even more minimized image. It is distributed without any package manager. The Micro image uses the package manager on the underlying host to install packages, typically using Buildah or Multi-stage builds with Podman. The Micro image is 82% smaller than the Base image and 68% smaller than the Minimal image in size, as this image is 13MB download, 36MB expanded. It is designed for applications that come with their dependencies bundled like GO, NodeJS, Java. Since this image has only very few packages, it is more secure compared to other images.

Container image tag: almalinux/8-micro

Links to repositories:

Platform Version
Docker Hub AlmaLinux 8 (opens new window)
AlmaLinux 9 (opens new window)
Quay.io AlmaLinux 8 (opens new window)
AlmaLinux 9 (opens new window)
GitHub Packages AlmaLinux 8 (opens new window)
AlmaLinux 9 (opens new window)

# Help and Contribute

If you want to contribute or need any help, join us at Container Sig at Mattermost (opens new window).

+ + + diff --git a/containers/index.html b/containers/index.html new file mode 100644 index 000000000..0544b3e24 --- /dev/null +++ b/containers/index.html @@ -0,0 +1,51 @@ + + + + + + Containers on AlmaLinux | AlmaLinux Wiki + + + + + + + + + +

# Containers on AlmaLinux

In the evolving world of development and deployment, containers have become essential tools, bringing consistency, scalability, and efficiency to the forefront. At AlmaLinux, we've embraced this trend, with our Cloud Special Interest Group (Cloud SIG) playing a pivotal role in aligning our offerings with the needs of the community.

Docker Images: Our Docker images are optimized for a seamless deployment experience, mirroring the reliability and performance that AlmaLinux is known for. Ideal for developers who want the stability of AlmaLinux within the Docker environment.

OCI Images: The Open Container Initiative (OCI) lays down the standards for modern container technologies. AlmaLinux's OCI images uphold these standards, ensuring compatibility and smooth operation with various container tools and orchestration platforms.

Dive into the future of application deployment with AlmaLinux's tailored container solutions.

+ + + diff --git a/development/AlmaLinux-Build-System.html b/development/AlmaLinux-Build-System.html new file mode 100644 index 000000000..f6d7d8ffb --- /dev/null +++ b/development/AlmaLinux-Build-System.html @@ -0,0 +1,59 @@ + + + + + + AlmaLinux Build System | AlmaLinux Wiki + + + + + + + + + +
# last updated: 2024-09-10

# AlmaLinux Build System

# About AlmaLinux Build System

AlmaLinux Build System (opens new window) is designed to handle processes of:

  • Building rpm packages for multiple supported architectures and distribution versions.
  • Testing packages.
  • Signing packages. See more on the Signing packages page.
  • Releasing packages.
  • Ensuring that packages and their sources are reliably using SBOM.
  • Providing Errata.

# AlmaLinux OS source packages

AlmaLinux OS source code including modified packages is stored and managed in Git repositories on git.almalinux.org (opens new window).

AlmaLinux OS Team and community work on these repositories to submit changes, fix bugs, and introduce new features. The AlmaLinux Build System is then used to pull the latest changes from these repositories and build the updated packages.

If you are interested in learning how to build AlmaLinux OS packages, please check the Packaging guidelines and Building packages guide.

Details and guides on how the AlmaLinux Build System works and how to use it can be found in the AlmaLinux Build System Wiki (opens new window).

# Reporting Issues

All issues should be reported to the Build System (opens new window) repository. A kanban board (opens new window) is used for the Build System project to track the progress.

# Contribute and Get Help

AlmaLinux Build System is open for community contributions. You can contribute to the codebase, submit patches, and use community product repositories to build and release packages. You can find more on the Build System SIG page.

Join the ~SIG/Build System chat channel (opens new window) for any talk and assistance.

+ + + diff --git a/development/Modified-packages.html b/development/Modified-packages.html new file mode 100644 index 000000000..191ea2c92 --- /dev/null +++ b/development/Modified-packages.html @@ -0,0 +1,59 @@ + + + + + + Modified packages | AlmaLinux Wiki + + + + + + + + + +

# AlmaLinux Modified packages

All AlmaLinux OS packages, including modified ones, can be found on git.almalinux.org (opens new window). There are several branches in each package repository:

  • c8/c9 branches for original sources
  • a8/a9 branches for modified sources

This table lists AlmaLinux packages with modified sources.

Package AlmaLinux 8 AlmaLinux 9 Commentary
abrt Git commit:
8 (opens new window)
Doesn't require modification - Remove requirements for rhel-related packages
- Add support for GPG subkeys
- Disable rhtsupport
anaconda Git commit:
8 (opens new window)
Git commit:
9 (opens new window)
- Add AlmaLinux support patches
- Remove rhel-related requirements
anaconda-user-help Git commit:
8 (opens new window)
Git commit:
9 (opens new window)
- Apply AlmaLinux branding patch
bluez Git commit:
8 (opens new window)
Doesn't require modification - Debrand for AlmaLinux
cloud-init Git commit:
8 (opens new window)
Git commit:
9 (opens new window)
- Apply AlmaLinux support patch
clufter Git commit:
8 (opens new window)
Doesn't require modification - This change helps build clufter with a new version of pacemaker
crash Git commit:
8 (opens new window)
Git commit:
9 (opens new window)
- Debrand for AlmaLinux
dnf Git commit:
8 (opens new window)
Git commit:
9 (opens new window)
- Debrand for AlmaLinux
firefox Git commit:
8 (opens new window)
Git commit:
9 (opens new window)
- Debrand for AlmaLinux
fwupd Git commit:
8 (opens new window)
Git commit:
9 (opens new window)
- Use AlmaLinux secure boot cert
fwupdate Git commit:
8 (opens new window)
Doesn't require modification - Use AlmaLinux secure boot cert
gcc Git commit:
8 (opens new window)
Git commit:
9 (opens new window)
- Debrand for AlmaLinux
- Use bugs.almalinux.org instead of Red Hat bugzilla
gnome-settings-daemon Git commit:
8 (opens new window)
Doesn't require modification - Disable subman plugin
golang-github-cpuguy83-go-md2man Git commit:
8 (opens new window)
Doesn't require modification - Fix compilation error
grub2 Git commit:
8 (opens new window)
Git commit:
9 (opens new window)
- Use AlmaLinux secure boot cert
- Debrand for AlmaLinux
hplip Git commit:
8 (opens new window)
Git commit:
9 (opens new window)
- Add AlmaLinux support
- Fix permission for custom created gpg dir
- Change gpg server to pgp.mit.edu
initial-setup Git commit:
8 (opens new window)
Git commit:
9 (opens new window)
- AlmaLinux debrand patch
kernel Git commit:
8 (opens new window)
Git commit:
9 (opens new window)
- Use AlmaLinux secure boot cert
- Debrand for AlmaLinux
kernel-rt Git commit:
8 (opens new window)
Git commit:
9 (opens new window)
- Use AlmaLinux secure boot cert
- Debrand for AlmaLinux
libdnf Git commit:
8 (opens new window)
Git commit:
9 (opens new window)
- Debrand for AlmaLinux
- Add support for GPG subkeys for repodata signing
libguestfs Git commit:
8 (opens new window)
Git commit:
9 (opens new window)
- Fix build for AlmaLinux
libreoffice Git commit:
8 (opens new window)
Git commit:
9 (opens new window)
- Debrand for AlmaLinux
libreport Git commit:
8 (opens new window)
Git commit:
9 (opens new window)
- Debrand for AlmaLinux
mongo-tools Git commit:
8 (opens new window)
Doesn't require modification - Use golang instead of go-toolset-1.10-golang BR
nginx Git commit:
8:
  • a8-stream-1.14 (opens new window)
  • a8-stream-1.16 (opens new window)
  • a8-stream-1.18 (opens new window)
  • a8-stream-1.20 (opens new window)
  • a8-stream-1.22 (opens new window)
  • Git commit:
    9:
  • 9 (opens new window)
  • a9-stream-1.22 (opens new window)
  • - Debrand for AlmaLinux
    opa-ff Git commit:
    8 (opens new window)
    Git commit:
    9 (opens new window)
    - Add AlmaLinux detection
    opa-fm Git commit:
    8 (opens new window)
    Git commit:
    9 (opens new window)
    - Add AlmaLinux detection
    openscap Git commit:
    8 (opens new window)
    Git commit:
    9 (opens new window)
    - Add AlmaLinux definitions
    osbuild Git commit:
    8 (opens new window)
    Git commit:
    9 (opens new window)
    - Add AlmaLinux runners
    osbuild-composer Git commit:
    8 (opens new window)
    Git commit:
    9 (opens new window)
    - Add AlmaLinux support patch
    pcs Git commit:
    8 (opens new window)
    Doesn't require modification - Debrand logo
    perl-AnyEvent Git commit:
    8 (opens new window)
    Doesn't require modification - Use patch for fix ssltest
    python2 Git commit:
    8 (opens new window)
    Doesn't require modification - Add AlmaLinux to supported distros
    python3 Git commit:
    8 (opens new window)
    Doesn't require modification - Add AlmaLinux to supported distros
    python-nss Git commit:
    8 (opens new window)
    Doesn't require modification - Fix FTBFS with NSS v3.58+ caused by conflicting struct names
    python-psycopg2 Git commit:
    8 (opens new window)
    Doesn't require modification - Add patch 0001-Mark-_test_external_close-as-expected-failure.patch
    redhat-rpm-config Git commit:
    8 (opens new window)
    Git commit:
    9 (opens new window)
    - Fix AlmaLinux detection
    rpm-ostree Git commit:
    8 (opens new window)
    Doesn't require modification - Add libassuan-devel to BR
    s390utils Git commit:
    8 (opens new window)
    Doesn't require modification - Fix detection 5* version kernels to allow builds on AlmaLinux 9 nodes
    scap-security-guide Git commit:
    8 (opens new window)
    Git commit:
    9 (opens new window)
    - Add AlmaLinux patch
    shim Git commit:
    8 (opens new window)
    Git commit:
    9 (opens new window)
    - Use AlmaLinux binary and cert
    shim-unsigned-x64 Git commit:
    8 (opens new window)
    Git commit:
    9 (opens new window)
    - Use AlmaLinux cert and SBAT entry
    shim-unsigned-aarch64 Doesn't require modification Git commit:
    9 (opens new window)
    - Use AlmaLinux cert and SBAT entry
    sos Git commit:
    8 (opens new window)
    Git commit:
    9 (opens new window)
    - Debrand for AlmaLinux
    subscription-manager Git commit:
    8 (opens new window)
    Git commit:
    9 (opens new window)
    - Debrand for AlmaLinux
    thunderbird Git commit:
    8 (opens new window)
    Git commit:
    9 (opens new window)
    - Debrand for AlmaLinux
    virt-manager Git commit:
    8 (opens new window)
    Git commit:
    9 (opens new window)
    - Add AlmaLinux support patch

    List of modified packages that don't require debranding after AlmaLinux 8.7 and AlmaLinux 9.1 versions:

    Package AlmaLinux 8 AlmaLinux 9 Commentary
    WALinuxAgent Git commit:
    8 (opens new window)
    Git commit:
    9 (opens new window)
    - Add AlmaLinux support patch
    chrony Git commit:
    8 (opens new window)
    Git commit:
    9 (opens new window)
    - Use CloudLinux/RHEL NTP pool instead of AlmaLinux
    eth-tools Git commit:
    8 (opens new window)
    Git commit:
    9 (opens new window)
    - Apply AlmaLinux support patch
    gstreamer1-plugins-bad-free Doesn't require modification Git commit:
    9 (opens new window)
    - Added wayland-protocols-devel to BuildRequires to fix build
    + + + diff --git a/development/Packaging.html b/development/Packaging.html new file mode 100644 index 000000000..43e073610 --- /dev/null +++ b/development/Packaging.html @@ -0,0 +1,64 @@ + + + + + + Packaging | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux packaging guideline

    # Upstream packages modification

    Here is a (mostly complete) list of reasons to modify an upstream package:

    • debranding.
    • removing upstream-specific dependencies (e.g. subscription-manager).
    • fixing upstream bugs if necessary.

    We have a convention to add the .alma postfix to the end of the modified +packages "Release" field. For example, an upstream sos-3.9.1-6.el8 package +will become sos-3.9.1-6.el8.alma after debranding. This will help us +distinguish our packages from upstream ones, especially if a machine was +converted to AlmaLinux.

    All modified package sources should be uploaded to a corresponding repository +in the AlmaLinux Git git.almalinux.org (opens new window) into branches for modified sources - a8 and a9.

    + + + diff --git a/development/building-almalinux-iso-locally.html b/development/building-almalinux-iso-locally.html new file mode 100644 index 000000000..79d7ab796 --- /dev/null +++ b/development/building-almalinux-iso-locally.html @@ -0,0 +1,116 @@ + + + + + + Building AlmaLinux ISO locally | AlmaLinux Wiki + + + + + + + + + +

    # Building AlmaLinux ISO locally

    This guide walks you through the process of building AlmaLinux OS ISO on your local AlmaLinux OS 9 machine.

    # Prerequisites

    # System Requirements

    • AlmaLinux OS 9 machine
    • At least 6 CPU cores are recommended
    • 8+ GB RAM
    • 300+ GB free storage space needed for the Docker container

    # Software Requirements

    A basic knowledge of these tools is needed for successful building of an AlmaLinux ISO image:

    • Ansible
    • Docker

    # Get Your Machine Ready

    The following steps describe how to prepare your AlmaLinux 9 machine to build an ISO image.

    • Install Docker CE.
    • Clone this GitHub repository pungi-node-public (opens new window) and switch to the repository's folder to proceed with the next steps.
    • Install Ansible from the EPEL repository:
      dnf install epel-release #enable the repository
      +dnf install ansible #install Ansible
      +

    # Setting Up an Ansible Inventory

    Before building AlmaLinux OS ISO images, you need to configure Ansible parameters.

    1. Navigate to the Inventory Directory: Change to the cloned repository and navigate to the inventories folder.

      cd ~/pungi-node-public/inventories
      +
    2. Copy Sample Configuration: The inventories directory contains a sample folder with default settings. Create a copy of this folder and give it a name of your choice, for example, almalinux.

      cp -r sample almalinux
      +
    3. Edit Inventory Settings: Switch to the newly created directory to modify the Ansible inventory.

      cd ~/pungi-node-public/inventories/almalinux
      +

      WARNING

      Don't forget to replace the almalinux folder name with your chosen name in the following commands and examples.

    4. Add SSH Keys: Navigate to the inventories/almalinux/group_vars/ directory and add your public SSH key to the ssh_public_keys variable in the all.yml file.

    5. Specify Work Directory: Change to the inventories/almalinux/host_vars directory and edit the <arch>.yml file, where <arch> is your system's architecture (e.g., x86_64.yml).

      TIP

      Ensure that the storage containing your work directory has at least 300 GB of free space, as it will host a local mirror with packages.

      Update the work_directory_path parameter in this file to specify your work directory.

    6. Configure Host Parameters: Return to the inventories/almalinux directory and edit the hosts.yml file to update the ansible_host and ansible_user parameters. Make sure that the specified user has passwordless sudo access.

    TIP

    By default, the Ansible inventory is set to build ISOs for the x86_64 architecture. In case you need to build an ISO for another architecture, make these changes:

    • Replace x86_64 with architecture of your choice in the names of files: +
      • x86_64.yml in the inventories/almalinux/group_vars directory
      • x86_64.yml, x86_64-al8.yml, x86_64-al9.yml files in the inventories/almalinux/host_vars directory.
    • Replace mentioning of the x86_64 with architecture of your choice in the hosts.yml in the inventories/almalinux directory

    # Setting Ansible to build ISOs for several architectures

    By default, the Ansible inventory is set to build an ISO for one architecture. But it's also possible to build ISOs for several architectures of your choice. To do so, please, make these changes:

    • Make copies of the mentioned below files and rename them according to the required architecture: +
      • x86_64.yml in the inventories/almalinux/group_vars directory
      • x86_64.yml, x86_64-al8.yml, x86_64-al9.yml files in the inventories/almalinux/host_vars directory.
    • Add required architecture as parameters to the hosts.yml file in the inventories/almalinux directory. Don't forget to fill in the necessary parameters.

    # Setting Ansible to build an ISO for one AlmaLinux OS version

    By default, the inventory is set to build ISOs for both AlmaLinux OS 8 and AlmaLinux OS 9 versions. What do we do to build for only one of them? You need to edit and comment items in several configuration files.

    • Go the the inventories/almalinux/group_vars/ directory and edit the all.yml file. Comment one of the sshd_ports_in_containers options accordingly to your needs:

        ---
      +  sshd_ports_in_containers: # lists possible AlmaLinux OS versions for building ISOs
      +    8: 6023 # AlmaLinux OS 8, comment this line if you don't want to build this version
      +    9: 6022 # AlmaLinux OS 9, comment this line if you don't want to build this version
      +
    • In the same directory edit the hosts.yml file. Comment lines with AlmaLinux OS version that you don't need to build an ISO for:

       ---
      + os_versions:
      +   - 8
      +   - 9
      + per_version_absent_repos:
      +   8:
      +     - "crb"
      +   9:
      +     - "powertools"
      + products:
      +   - platform: "AlmaLinux-8"
      +     name: "almalinux8-beta"
      +     version: 8
      +   - platform: "AlmaLinux-9"
      +     name: "AlmaLinux-9-beta"
      +     version: 9
      +
    • Switch to the inventories/almalinux/hosts.yml directory and comment a docker host in the hosts.yml and its variables for the architecture you don't need. For example, if you don't want to build an AlmaLinux OS 9 ISO image for the x86_64 architecture, you should comment the x86_64-al9 host and its variables ansible_:

        all:
      +    children:
      +      hosts:
      +        hosts:
      +          x86_64:
      +      dockers:
      +        children:
      +          x86_64-dockers:
      +      x86_64:
      +        hosts:
      +          x86_64:
      +            ansible_host: "<IP/domain/ssh alias>"
      +            ansible_user: "<a host user>"
      +        children:
      +          x86_64-dockers:
      +            hosts:
      +              x86_64-al8: # comment these lines if you don't need to build ISOs for AlmaLinux OS 8
      +                ansible_host: "<IP/domain/ssh alias>"  # the same as a host machine
      +                ansible_user: "root"
      +                ansible_port: "{{ sshd_ports_in_containers[8] }}"
      +              x86_64-al9: # comment these lines if you don't need to build ISOs for AlmaLinux OS 9
      +                ansible_host: "<IP/domain/ssh alias>"  # the same as a host machine
      +                ansible_user: "root"
      +                ansible_port: "{{ sshd_ports_in_containers[9] }}"
      +

    # Deployment

    • After you set your Ansible inventory to meet your needs, deploy the Pungi node by running the following command:

      ansible-playbook -i inventories/almalinux playbooks/build_node_in_docker.yml -vv -b
      +
    • After the deployment it's recommended to check that you can connect successfully through SSH to each deployed Docker container.

    • Now you can sync RPM packages to a local mirror by running the following command:

      systemctl start reposync.<arch>.service
      +

      WARNING

      In the command replace the arch part with the architecture you are building an ISO for. For example, x86_64:

      systemctl start reposync.x86_64.service
      +

      Please, note, that the first sync can take up to several hours.

    # Building an AlmaLinux ISO

    When the sync stage is completed you can proceed with building an ISO:

    • Clone GitHub repository pungi-scripts-public (opens new window) into the previously deployed Docker container.
    • Switch to the pungi-scripts-public/build_scripts directory.
    • To build an ISO run the following command with options that meet your needs:
      python3.9 jenkins.py --working-root-directory <working_root_directory> --arch <arch> --product-name AlmaLinux  --distribution-major-version <major_version>  --distribution-minor-version <minor_version> --beta-suffix <beta_suffix> --sigkeys-fingerprints <fingerprint_1> <fingerprint_2> --git-auth-token <git_auth_token> --git-auth-username <git_auth_username>
      +
      Command options that you need to fill: +
      • working_root_directory - specify your work directory as you did in the very beginning in the inventories/almalinux/host_vars/x86_64.yml file
      • arch - specify what architecture you are building an ISO for, for example, x86_64
      • major_version and minor_version - set the numbers that match a full version of the distribution, for example in 8.9 - 8 is a major version, and 9 is a minor version
      • beta_suffix - this parametr can take two values, -beta and empty string "". Please, check the pungi-almalinux (opens new window) repository as it contains branches with the same version and the same beta suffix.
      • fingerprint_1 and fingerprint_2 - these parameters are fingerprints of keys that are used to sign RPM packages. +
        • For AlmaLinux OS 9:B7BB94F0C9BA6CAA and D36CB86CB86B3716
        • For AlmaLinux OS 8: 51D6647EC21AD6EA and 488FCF7C3ABB34F8
      • git_auth_token and git_auth_username - parameters for your auth credits that can be found at git.almalinux.org (opens new window). To generate a token go to the user settings/applications (opens new window)

    TIP

    Please, note, that building an AlmaLinux ISO can take up to several hours, not including the time for syncing RPM packages to a local mirror.

    # Reporting issues

    Should you have any issues, please report them to a corresponding project:

    + + + diff --git a/development/openQA.html b/development/openQA.html new file mode 100644 index 000000000..a76746950 --- /dev/null +++ b/development/openQA.html @@ -0,0 +1,70 @@ + + + + + + openQA | AlmaLinux Wiki + + + + + + + + + +
    Experience Level ⭑⭑⭒⭒⭒ (Intermediate)
    Last modified date 4/12/2023

    # About openQA in the AlmaLinux Project

    AlmaLinux places great importance on thorough testing. This guide outlines the implementation and use of the openQA tool for automating the testing of the AlmaLinux OS installation process across all supported architectures.

    Accessible at openqa.almalinux.org (opens new window), the openQA tool uses virtual machines to reproduce the installation process and check the output (both serial console and graphics output).

    Detailed information about openQA can be found at open.qa (opens new window) and open.qa/docs (opens new window).

    # Supported Architectures

    • x86-64
    • aarch64
    • ppc64le
    • s390x

    # AlmaLinux openQA repositories

    There are three GitHub repositories involved in AlmaLinux OpenQA Testing:

    # User Guide

    This User Guide describes what information can be found on the openqa.almalinux.org (opens new window)

    To begin with, navigate your browser to https://openqa.almalinux.org. +You will find yourself on the main page. You can see the latest tested jobs and their test statuses. +image

    TIP

    You can see the Learn more button on the main page. It leads you directly to open.qa (opens new window).

    TIP

    Log in is available only for members of the AlmaLinux Organization on GitHub, but all the tests, their results and logs are also available for an unauthorized user.

    OpenQA test suites are executed in separate processes, referred to as "jobs," with each job focusing on testing a specific piece of installer functionality.

    You can use the search field to find:

    • job templates by name or description
    • job modules by filename
    • test modules within the test distributions, either by filename or source code.

    image

    # Latest tests on the main page

    The main page shows the latest tested jobs with the statuses. Clicking on the build (a version of a product) or a test status scale lead you to a Test result overview. +image

    # Summary of Test Result Overview

    The test result overview provides the following details:

    • Total number of test jobs performed
    • Job result statuses, which typically include: +
      • Passed - No critical failures detected during the process
      • Failed - At least one critical assertion not satisfied
      • Soft-Failed - At least one known, non-critical issue found
      • Skipped - Job not started due to failed dependencies
      • Flavors - Specific variants of a product
    • A test suite for each flavor, is accompanied by a job result icon.

    # Result details

    • You can view the tests conducted, their statuses, and screenshots. By clicking on the test icon, you will be directed to the job's Details page, which displays the screenshots and the time taken to complete the job. +image

    • Clicking on a screenshot will enlarge it and display a "needle" – a mechanism used to determine the state of the virtual machine by detecting the presence of specific elements on the machine's output (screen). +image

    TIP

    There's a small camera icon that will take you to a video recording of the executed test. +Example: +image

    • The Logs and Assets section enables you to download result files and the product that was tested (an iso file).
    • Moreover, there're Settings section for job's settings, Comments, and the Next&Previous results for the latest job for this scenario.

    # All Tests

    The All Tests option leads to a list of jobs that are running (in the process), scheduled and the last 500 finished jobs. The last 500 finished jobs can be filtered by the result status. +image

    TIP

    openQA is employed to evaluate diverse combinations of actions and configurations in the AlmaLinux installer. By establishing a virtual machine, executing a sequence of steps, and generating a result for each unique combination, openQA ensures comprehensive testing. These runs, known as 'jobs,' are assigned a numeric identifier and are governed by various settings that determine their behavior.

    Numerous job parameters are involved in the process:

    • Medium: Represents the "tested product" and consists of a name along with a set of variables that characterize the product.

    • Test: Displays a job status icon and ID. Hovering over the status icon reveals the status description, such as done, failed, etc. Hovering over the branch icon after the test name highlights the job's children in blue and parents in red (if present on the same page).

      TIP

      Clicking on the status icon will lead you to the test overview page.

      TIP

      Clicking on the test icons for an ongoing job will take you to a live video feed of the test in progress.

      Example: +image

    • Progress: Indicates the percentage of test completion through a progress scale.

    • Priority: A value used by the scheduler to determine the next job in line.

    • Result: Displays the "result overview" icon set, including the number of passed and failed modules, dependencies, and the presence of bugs, among others.

    • Started: Timestamp indicating when a job began.

    • Created: Timestamp indicating when a job was created.

    • Finished: Timestamp indicating when a job was completed.

    # Job Groups

    The Job Groups option opens a menu. +image

    Each job is assigned to a group based on its respective architecture. Updates groups pertain to jobs associated with products that have updates. When selecting a job group, you'll be shown the most recent tested builds for that group, accompanied by a test results scale.

    # Contribute and Get Help

    If you feel like getting involved or for questions and discussions, please, join us the in the Mattermost Chat (opens new window) and check the openQA repositories.

    + + + diff --git a/development/private-keys/package-signing.html b/development/private-keys/package-signing.html new file mode 100644 index 000000000..20ae01348 --- /dev/null +++ b/development/private-keys/package-signing.html @@ -0,0 +1,140 @@ + + + + + + Package Signing Key Generation and Handling | AlmaLinux Wiki + + + + + + + + + +

    # Package Signing Key Generation and Handling

    Last updated 2024-07-10.

    # Owernship

    Certificate and key generation and handling is overseen by ALESCo.

    # Key Generation

    This is a slow and tedious process. It is important that no corners are cut and the utmost care is taken validating security through every step of the process.

    # Prepare a Secure Environment

    Download latest AlmaLinux live ISO from https://repo.almalinux.org/. Using default Gnome mini for this guide as to not have any 3rd-party binaries present (EPEL).

    In the folder where you download the ISO, look at the CHECKSUM and CHECKSUM.asc files. First let's verify that it is properly signed and that its contents can be authenticated.

    wget https://repo.almalinux.org/almalinux/9/live/x86_64/CHECKSUM
    +wget https://repo.almalinux.org/almalinux/9/live/x86_64/CHECKSUM.asc
    +wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9
    +gpg --import RPM-GPG-KEY-AlmaLinux-9
    +gpg --verify CHECKSUM.asc CHECKSUM
    +

    Now verify the downloaded ISO's sha256 checksum against that contained in the CHECKSUM file.

    Copy the ISO file to a flash drive.

    dd if=almalinux.iso of=/dev/sdX

    Boot the image. Connect to the internet temporarily to run a single command:

    sudo dnf install pcsc-lite
    +

    # Download GPG Public Keys of Recipients

    If you are doing key exports as part of this, grab the public keys of all recipients.

    These keys are accurate at the time of this writing. Verify them prior to use, of course.

    curl <key> | gpg --import
    +

    It may also be helpful to open a copy of this guide in the browser before disconnecting from the internet.

    Disconnect from the internet and do not connect again. Everything from here on out has to be done fully air-gapped and the generated private keys can never be connected to a machine with network access.

    # Generate Keys and Certificates

    1. Prepare GPG Environment:

      mkdir ~/.gnupg/
      +cat << 'EOF' > ~/.gnupg/gpg.conf
      +personal-cipher-preferences AES256 AES192 AES
      +personal-digest-preferences SHA512 SHA384 SHA256
      +personal-compress-preferences ZLIB BZIP2 ZIP Uncompressed
      +default-preference-list SHA512 SHA384 SHA256 AES256 AES192 AES ZLIB BZIP2 ZIP Uncompressed
      +cert-digest-algo SHA512
      +s2k-digest-algo SHA512
      +s2k-cipher-algo AES256
      +charset utf-8
      +no-comments
      +no-emit-version
      +no-greeting
      +keyid-format 0xlong
      +list-options show-uid-validity
      +verify-options show-uid-validity
      +with-fingerprint
      +require-cross-certification
      +no-symkey-cache
      +armor
      +use-agent
      +throw-keyids
      +EOF
      +
    2. Generate the key:

      export IDENTITY="AlmaLinux OS 10 <packager@almalinux.org>"
      +export KEY_TYPE=rsa4096
      +CERTIFY_PASS=$(LC_ALL=C tr -dc 'A-Z1-9' < /dev/urandom | \
      +tr -d "1IOS5U" | fold -w 30 | sed "-es/./ /"{1..26..5} | \
      +cut -c2- | tr " " "-" | head -1) ; echo "$CERTIFY_PASS"
      +gpg --batch --passphrase "$CERTIFY_PASS" --quick-generate-key "$IDENTITY" "$KEY_TYPE" sign never
      +KEYID=$(gpg -k --with-colons "$IDENTITY" | awk -F: '/^pub:/ { print $5; exit }')
      +KEYFP=$(gpg -k --with-colons "$IDENTITY" | awk -F: '/^fpr:/ { print $10; exit }')
      +printf "\nKey ID: %40s\nKey FP: %40s\n\n" "$KEYID" "$KEYFP"
      +

      Make sure to securely store the passphrase in Vaultwarden.

    3. Export Public and Private Keys

      gpg --armor --export $KEYID > almalinux10.asc
      +gpg --batch --armor --passphrase "$CERTIFY_PASS" --pinentry-mode=loopback --export-secret-keys $KEYID > almalinux10-privkey.asc
      +
    4. Configure (new) Yubikey

      Generate Pins

      # generate pins
      +ADMIN_PIN=$(LC_ALL=C tr -dc '0-9' < /dev/urandom | fold -w8 | head -1)
      +USER_PIN=$(LC_ALL=C tr -dc '0-9' < /dev/urandom | fold -w6 | head -1)
      +printf "\nAdmin PIN: %12s\nUser PIN: %13s\n\n" "$ADMIN_PIN" "$USER_PIN"
      +

      Make sure to securely store the admin and user pins in Vaultwarden.

      Set pins

      # set admin pin
      +gpg --command-fd=0 --pinentry-mode=loopback --change-pin <<EOF
      +3
      +12345678
      +$ADMIN_PIN
      +$ADMIN_PIN
      +q
      +EOF
      +# set user pin
      +gpg --command-fd=0 --pinentry-mode=loopback --change-pin <<EOF
      +1
      +123456
      +$USER_PIN
      +$USER_PIN
      +q
      +EOF
      +

      Set basic info on the Yubikey

      gpg --command-fd=0 --pinentry-mode=loopback --edit-card <<EOF
      +admin
      +login
      +$IDENTITY
      +$ADMIN_PIN
      +forcesig
      +url
      +https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-10
      +quit
      +EOF
      +
    5. Copy private key to Yubikey. This is a destructive proces so we need to make a backup of the private keys before we proceed and use that to write to the Yubikey. If we're only writing to a single Yubikey the backup is not necessary as we have already exported the key into armored format which will not be impacted.

      cp -r ~/.gnupg ~/.gnupg.keytocard
      +GNUPGHOME=~/.gnupg.keytocard gpg --command-fd=0 --pinentry-mode=loopback --edit-key $KEYID <<EOF
      +keytocard
      +y
      +1
      +$CERTIFY_PASS
      +$ADMIN_PIN
      +save
      +EOF
      +

    # Copy Keys and Certificates

    DO NOT DO NOT DO NOT connect to the internet to copy the files.

    # Public Certificates

    Copy the public key (almalinux10.asc if copy/pasting commands from this guide) to a flash drive. This drive can then be connected to a machine with networking and distributed as necessary - there is nothing secret about them.

    # Private Keys

    Encrypt the private keys using GPG. The GPG-encrypted files are the only ones that can be distributed to key holders via offline methods. It's recommended that they keys remain encrypted at rest.

    gpg -r <recipient-gpg-email> -r <recipient-gpg-email> -e almalinux10-privkey.asc
    +

    Copy the .asc (public/private) keys and GPG-encrypted version of the private key to a blank flash drive. The drive must never be connected to a networked or untrusted system. It should only ever be connected to an air-gapped blank OS install.

    # Removal of Custodianship

    We need to define how we handle if a keyholder leaves AlmaLinux.

    # Distribution of Keys to Key Holders

    Keys will be distributed to key holders only via physical medium - never via the internet. Our SOP is for the key generator to encrypt the keys with GPG and place them on a hardware-encrypted (FIPS-140 certified), self-destructing (if brute force or disassembly are attempted) USB key. These may then be mailed to the key holder or delivered in person at, for example, a conference.

    The unlock code for the flash drive will be provided by the key generator to the key holder upon their recipient of the flash drive, and confirmation of that receipt via a GPG-signed email.

    The hardware unlock code may be provided via the internet using encrypted means - either AlmaLinux's internal password manager (Vaultwarden) or GPG-encrypted email.

    # Storage of Keys by Key Holders

    Keys should be stored offline and encrypted at rest via GPG and the hardware encryption of the flash drive. It should be stored in a fire resistant lock box/safe or bank safety deposit box.

    # Key Generation Log

    # AlmaLinux 10

    Package signing keys generated on 2024-07-10 using policy dated 2024-07-03. These keys and certs will be used for package signing in AlmaLinux 10, including testing/beta builds.

    # Changelog

    # 2024-07-03

    Initial ratification

    + + + diff --git a/development/private-keys/secure-boot.html b/development/private-keys/secure-boot.html new file mode 100644 index 000000000..f971704d3 --- /dev/null +++ b/development/private-keys/secure-boot.html @@ -0,0 +1,93 @@ + + + + + + Secure Boot Key Generation and Handling | AlmaLinux Wiki + + + + + + + + + +

    # Secure Boot Key Generation and Handling

    Last updated 2024-03-13.

    # Owernship

    Certificate and key generation and handling is overseen by ALESCo.

    # Key Generation

    This is a slow and tedious process. It is important that no corners are cut and the utmost care is taken validating security through every step of the process.

    # Prepare a Secure Environment

    Download latest AlmaLinux live ISO from https://repo.almalinux.org/. Using default Gnome mini for this guide as to not have any 3rd-party binaries present (EPEL).

    In the folder where you download the ISO, look at the CHECKSUM and CHECKSUM.asc files. First let's verify that it is properly signed and that its contents can be authenticated.

    wget https://repo.almalinux.org/almalinux/9/live/x86_64/CHECKSUM
    +wget https://repo.almalinux.org/almalinux/9/live/x86_64/CHECKSUM.asc
    +wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9
    +gpg --import RPM-GPG-KEY-AlmaLinux-9
    +gpg --verify CHECKSUM.asc CHECKSUM
    +

    Now verify the downloaded ISO's sha256 checksum against that contained in the CHECKSUM file.

    Copy the ISO file to a flash drive.

    dd if=almalinux.iso of=/dev/sdX

    Boot the image. Connect to the internet temporarily to run a single command:

    sudo dnf -y install epel-release words
    +sudo dnf -y install pesign yubikey-manager yubico-piv-tool
    +

    # Download GPG Public Keys of Recipients

    If you are doing key exports as part of this, grab the public keys of all recipients.

    These keys are accurate at the time of this writing. Verify them prior to use, of course.

    curl <key> | gpg --import
    +

    Disconnect from the internet and do not connect again. Everything from here on out has to be done fully air-gapped and the generated private keys can never be connected to a machine with network access.

    # Generate Keys and Certificates

    1. First, create temporary directory and initialize NSS DB inside. Don't set password because of pesign bug.

      mkdir -m 0700 -p ~/almalinux-uefi-certs/ca
      +certutil -d ~/almalinux-uefi-certs/ca -N
      +
    2. Generate a 10 years CA certificate. More than 10 years cert is not allowed for shim:

      efikeygen -d ~/almalinux-uefi-certs/ca \
      +  --ca --self-sign --not-valid-after=$(date +%s --date='+10 years') \
      +  --nickname='AlmaLinux Secure Boot CA' \
      +  --common-name='CN=AlmaLinux Secure Boot CA,O=AlmaLinux OS Foundation,E=security@almalinux.org'
      +
    3. Generate a 10 years Signing certificate. More than 10 years cert is not allowed for shim:

      efikeygen -d ~/almalinux-uefi-certs/ca \
      +  --kernel --not-valid-after=$(date +%s --date='+10 years') --signer='AlmaLinux Secure Boot CA' \
      +  --nickname='AlmaLinux Secure Boot Signing' \
      +  --common-name='CN=AlmaLinux Secure Boot Signing,O=AlmaLinux OS Foundation,E=security@almalinux.com'
      +
    4. Export CA and Signing public and private keys to PKCS#12 files. At this point set a password, and we will store it in Vaultwarden with key holders having access:

      pk12util -d ~/almalinux-uefi-certs/ca -o almalinux-secureboot-ca.p12 -n 'AlmaLinux Secure Boot CA'
      +pk12util -d ~/almalinux-uefi-certs/ca -o almalinux-secureboot-signing.p12 -n 'AlmaLinux Secure Boot Signing'
      +
      • almalinux-secureboot-ca.p12 file is CA keypair that should be stored. It will be required to issue new Signing keys
      • almalinux-secureboot-signing.p12 file is Signing keypair that should be imported to signing node to perform actual binaries signing
    5. Export CA and Signing public keys to DER files. No password required:

      certutil -d ~/almalinux-uefi-certs/ca -L -n "AlmaLinux Secure Boot CA" -r > almalinux-secureboot-ca.cer
      +certutil -d ~/almalinux-uefi-certs/ca -L -n "AlmaLinux Secure Boot Signing" -r > almalinux-secureboot.cer
      +
      • almalinux-secureboot-ca.cer file is the CA public key we should include into shim. It also should be imported to signing node to perform actual binaries signing.
      • almalinux-secureboot.cer is Signing public key that may be recommended to include into some RPM packages (but not necessary)

    # Configure Yubikey PIV

    # does the system see the key
    +ykman piv info
    +

    Generate PIV Pins (only if new yubikey)

    PIVPIN=$(awk '/^\w{6,8}$/' /usr/share/dict/words | shuf -n1)
    +PIVPUK=$(openssl rand -base64 10 | tr -d +/= | cut -c 1-8)
    +echo "PIV PIN: $PIVPIN; PIV PUK: $PIVPUK"
    +

    Make sure to securely store the PIN and PUK. They are specific to the PIV component of the Yubikey.

    Increase PIN/PUK retry limit (only if new yubikey)

    ykman piv access set-retries 9 9 --pin 123456 --force
    +

    Set our new pins (only if new yubikey)

    ykman piv access change-pin --pin 123456 --new-pin $PIVPIN
    +ykman piv access change-puk --puk 12345678 --new-puk $PIVPUK
    +

    Set a non-default management key (only if new yubikey)

    ykman piv access change-management-key --algorithm aes128 --protect --pin $PIVPIN
    +

    Import keys to Yubikey PIV slots (pay attention to slot number, 82 in this example, if not a new yubikey)

    ykman piv keys import --pin-policy always --touch-policy never --pin $PIVPIN 82 almalinux-secureboot-signing.p12
    +

    # Copy Keys and Certificates

    DO NOT DO NOT DO NOT connect to the internet to copy the files.

    # Public Certificates

    Copy the .cer (public) files to a blank flash drive. This drive can then be connected to a machine with networking and distributed as necessary - there is nothing secret about them.

    # Private Keys

    Encrypt the private keys using GPG. The GPG-encrypted files are the only ones that can be distributed to key holders via offline methods. It's recommended that they keys remain encrypted at rest.

    gpg -r <recipient-gpg-email> -r <recipient-gpg-email> -e almalinux-secureboot-ca.p12
    +gpg -r <recipient-gpg-email> -r <recipient-gpg-email> -e almalinux-secureboot-signing.p12
    +

    Copy the .p12 (private) keys and GPG-encrypted versions to a blank flash drive. The drive must never be connected to a networked or untrusted system. It should only ever be connected to an air-gapped blank OS install.

    # Removal of Custodianship

    We need to define how we handle if a keyholder leaves AlmaLinux.

    # Distribution of Keys to Key Holders

    Keys will be distributed to key holders only via physical medium - never via the internet. Our SOP is for the key generator to encrypt the keys with GPG and place them on a hardware-encrypted (FIPS-140 certified), self-destructing (if brute force or disassembly are attempted) USB key. These may then be mailed to the key holder or delivered in person at, for example, a conference.

    The unlock code for the flash drive will be provided by the key generator to the key holder upon their recipient of the flash drive, and confirmation of that receipt via a GPG-signed email.

    The hardware unlock code may be provided via the internet using encrypted means - either AlmaLinux's internal password manager (Vaultwarden) or GPG-encrypted email.

    # Storage of Keys by Key Holders

    Keys should be stored offline and encrypted at rest via GPG and the hardware encryption of the flash drive. It should be stored in a fire resistant lock box/safe or bank safety deposit box.

    # Key Generation Log

    # Shim 15.8

    Secure boot keys generated on 2024-03-13 using policy dated 2024-03-13. These keys and certs will go into use in late 2024 and are valid through 2034.

    • https://github.com/rhboot/shim-review/issues/407
    • https://github.com/rhboot/shim-review/issues/432

    # Changelog

    # 2024-07-03

    Add Yubikey PIV programming instructions

    # 2024-03-13

    Initial ratification

    + + + diff --git a/documentation/after-installation-guide.html b/documentation/after-installation-guide.html new file mode 100644 index 000000000..fc258bc85 --- /dev/null +++ b/documentation/after-installation-guide.html @@ -0,0 +1,103 @@ + + + + + + AlmaLinux After-Installation Guide | AlmaLinux Wiki + + + + + + + + + +
    # last updated: 2023-01-15

    💡 Experience Level ⭐☆☆☆☆
    📆 Last modified 2023-01-15

    # After-installation Guide

    This guide describes recommended actions to be performed after the AlmaLinux OS installation is completed successfully and rebooted. It also contains some steps for the system's customization.

    # Update the system and check for security updates

    Run the following command in the terminal to check for all available updates including security updates and install them:

    sudo dnf update
    +

    # Check for security updates

    If you don't want to have all available updates to be installed on your machine, but need to check only for the security updates to ensure that it is up to date and protected against vulnerabilities, run the following command:

    sudo dnf --security update
    +

    # Configure the network settings

    # On a machine with a graphical interface

    If your system has a graphical interface, you can an application. On your panel, open Settings via Applications:

    image

    or find them under WiFi/Connection sign:

    image

    Using this application you can edit an existing connection or configure a new one.

    # On a machine without a graphical interface

    If your system doesn't have any graphical interface, you can configure network settings using the Network Manager tool - nmtui

    Run the following command in the terminal:

    nmtui
    +

    It will get you to the text user interface tool.

    image

    Use the arrow keys to navigate and press Enter to select an option of your choice.

    Find more (opens new window) about nmtui tool usage.

    # Setting the hostname

    To set the hostname on AlmaLinux, you can use either the nmtui tool or run the hostnamectl command in the terminal:

    hostnamectl set-hostname [new-hostname] # replace new-hostname with the hostmane to set
    +

    Administrative privileges may be required to use this command.

    # Enable necessary repositories

    First, list repositories that are already enabled on your AlmaLinux machine:

    dnf repolist
    +

    Then, enable a specific repository. Most AlmaLinux repositories can be enabled with the dnf config-manager --set enabled command. +But note, that CentOS SIGs, Extra (EPEL and ELRepo) and AlmaLinux Synergy repositories are enabled with the dnf install command.

    You can check the Repositories page to check all the supported repositories and a particular command on how to enable each of them.

    After needed repositories have been enabled, verify the changes:

    dnf repolist enabled
    +

    TIP

    It is recommended to update the repository after enabling it:

    sudo dnf update  
    +

    Updating the repository will ensure that you have access to the latest software packages and security updates available.

    # Install NVIDIA or AMD drivers

    Depending on your hardware installed, you might need to install NVIDIA or AMD drivers.

    # NVIDIA

    You can get NVIDIA drivers in different ways:

    • Install binary driver
    • Compile driver source
    • Get them using RPM Fusion: +
      • Enable the RPM Fusion repository by running the command:

        For AlmaLinux 8:

        sudo dnf install https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm
        +

        For AlmaLinux 9:

        sudo dnf install https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-9.noarch.rpm https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-9.noarch.rpm
        +
      • Next, update the repositories:

        sudo dnf update  
        +
      • Install the necessary packages:

        sudo dnf install akmod-nvidia
        +
      • Reboot your system to load the new NVIDIA kernel module and complete the installation. You should now have the NVIDIA drivers successfully installed on your AlmaLinux system.

    # AMD

    • To install AMD drivers using RPM Fusion on AlmaLinux, first, enable the RPM Fusion repository by running the following commands:

      For AlmaLinux 8:

      sudo dnf install https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm
      +

      For AlmaLinux 9:

      sudo dnf install https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-9.noarch.rpm https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-9.noarch.rpm
      +
    • Next, update the repositories:

      sudo dnf update
      +
    • Install the AMD drivers package:

      sudo dnf install akmod-amdgpu
      +
    • Reboot your system to load the driver.

    # Configure firewall settings

    To configure firewall settings on AlmaLinux, you can use the built-in firewall management tool - firewalld.

    • Install the tool:
      sudo dnf install firewalld
      +
    • Start the firewalld service:
      sudo systemctl start firewalld
      +
    • If needed, enable it to start automatically on boot:
      sudo systemctl enable firewalld
      +
    • Use the firewall-cmd command to define rules and zones for your firewall.

    Read more about the tool's usage.

    # Desktop Environment

    One of the possible customizations to your AlmaLinux system is having a Desktop Environment of your choice. AlmaLinux supports:

    • GNOME
    • GNOME-Mini
    • KDE
    • XFCE
    • MATE
    • Pantheon for AlmaLinux 9

    Some AlmaLinux images already have GNOME and GNOME-Mini desktop environments installed.

    To install GNOME, KDE, and XFCE desktop environments:

    • First, enable EPEL and PowerTools/CRB repositories, by running the following commands:

      For AlmaLinux 8:

      sudo dnf config-manager --set-enabled powertools
      +sudo dnf install epel-release
      +

      For AlmaLinux 9:

      sudo dnf config-manager --set-enabled crb
      +sudo dnf install epel-release
      +
    • List available available package groups:

      sudo dnf group list
      +

      An example output you may see:

      Available Environment Groups:
      +  Server with GUI # GNOME Desktop Environment
      +  Server 
      +  Workstation # GNOME Desktop Environment
      +  KDE Plasma Workspaces # KDE Desktop Environment
      +  Virtualization Host
      +  Custom Operating System
      +  ...
      +Available Groups:
      +  ...
      +  Xfce # XFCE Desktop Environment
      +
    • Install a package group of your choice:

      • GNOME - you can install one of the "Server with GUI" or "Workstation" options to get the GNOME Desktop Environment. Check the list of packages to define which option fits your needs better:
        dnf group info "Server with GUI" # to list packages of Server with GUI group
        +dnf group info "Workstation" # to list packages of Workstation group
        +
        Install the preferred one:
        sudo dnf groupinstall "Server with GUI" # install Server with GUI group of packages
        +sudo dnf groupinstall "Workstation" # install Workstation group of packages
        +
      • KDE
        sudo dnf groupinstall "KDE Plasma Workspaces" 
        +
      • XFCE
        sudo dnf groupinstall "Xfce"
        +

    To install Pantheon for AlmaLinux 9:

    • Enable EPEL, PowerTools and Synergy repositories
    • Install Pantheon Desktop Environment:
      sudo dnf groupinstall "Pantheon Desktop"
      +

    To have an AlmaLinux system with GNOME-Mini or MATE desktop environments we recommend installing AlmaLinux OS from the corresponding Live Media image.

    # Reboot

    Reboot your AlmaLinux OS machine to apply all the changes:

    reboot
    +

    # Live Media options

    If you are not sure whether AlmaLinux fits your needs, you can try it before installing it. AlmaLinux has various Live Media options for this purpose. You can get the download links from the website (opens new window) and usage guides on the Live Media page.

    + + + diff --git a/documentation/epel-and-rpmfusion.html b/documentation/epel-and-rpmfusion.html new file mode 100644 index 000000000..1b59644ee --- /dev/null +++ b/documentation/epel-and-rpmfusion.html @@ -0,0 +1,61 @@ + + + + + + Installing EPEL and RPM Fusion | AlmaLinux Wiki + + + + + + + + + +

    # Installing EPEL and RPM Fusion

    This guide describes how to install Extra Packages for Enterprise Linux (EPEL) and RPM Fusion, two software repositories that contain software that is not included by AlmaLinux (like codecs).

    WARNING

    These third-party software repositories may not be supported by AlmaLinux's ELevate Project.

    # Step 1: Install EPEL.

    Installing EPEL is required for RPM Fusion.

    1. Follow the instructions described here to install EPEL.

    # Step 2: Install (and verify) the RPM Fusion GPG keys

    Downloading and verifying the RPM Fusion GPG keys ensures that the packages you install are from RPM Fusion and not altered (by accident or by malicious intent).

    1. Download the distribution-gpg-keys package.
    $ sudo dnf install distribution-gpg-keys
    +
    • If you get a prompt to import a GPG key, compare the key you recived to Fedora's package signing keys (opens new window). Make sure the key on the webpage is the correct EPEL version as the one described on the userid, and make sure the fingerprints match.
    1. Import the RPM Fusion keys with rpmkeys
    # RPM Fusion (free packages)
    +$ sudo rpmkeys --import /usr/share/distribution-gpg-keys/rpmfusion/RPM-GPG-KEY-rpmfusion-free-el-$(rpm -E %rhel)
    +# RPM Fusion (nonfree packages)
    +$ sudo rpmkeys --import /usr/share/distribution-gpg-keys/rpmfusion/RPM-GPG-KEY-rpmfusion-nonfree-el-$(rpm -E %rhel)
    +
    1. (Optional) Check that the GPG keys match the one on the RPM Fusion keys page (opens new window). (It is in the section labeled "Currently Used Keys".) Use the commands below to show the keys that were imported and compare them to the one in RPM Fusion.
    # RPM Fusion (free packages)
    +$ gpg --show-keys --with-fingerprint /usr/share/distribution-gpg-keys/rpmfusion/RPM-GPG-KEY-rpmfusion-free-el-$(rpm -E %rhel)
    +# RPM Fusion (nonfree packages)
    +$ gpg --show-keys --with-fingerprint /usr/share/distribution-gpg-keys/rpmfusion/RPM-GPG-KEY-rpmfusion-nonfree-el-$(rpm -E %rhel)
    +

    # Step 3: Install RPM Fusion

    Enter the command below.

    $ sudo dnf --setopt=localpkg_gpgcheck=1 install  https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm
    +

    If the installation fails, this may mean that the GPG keys imported earlier do not match the signiture of the RPM Fusion repositories. If this occurs, retry step 2.3 to see if you have the correct GPG keys.

    + + + diff --git a/documentation/errata.html b/documentation/errata.html new file mode 100644 index 000000000..bde449cf0 --- /dev/null +++ b/documentation/errata.html @@ -0,0 +1,63 @@ + + + + + + Security Errata | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux Errata

    # About Errata

    Errata are package updates like some enhancements and features, bug fixes and security patches. These updates can be found at errata.almalinux.org (opens new window) as a list of errata advisories.

    image

    Advisories are published text to help users get the information that errata provide and their impact. +There are three types of advisories:

    • ALSA - AlmaLinux Security Advisory - considered the most important type as it contains security fixes
    • ALBA - AlmaLinux Bug Advisory - contains bug fixes
    • ALEA - AlmaLinux Enhancement Advisory - contains enhancements and new features

    These advisories are ranked by severity: Critical, Important, Moderate and Low.

    Besides type and severity details, each advisory includes some description, references, a list of updated packages and the release date.

    image

    # How to access errata

    • You can find updateinfo.xml files in repos and mirrors. Or run the following command to see the list of advisories as an output:
    dnf updateinfo --list
    +

    # Mailing list

    You can subscribe to the AlmaLinux errata mailing list (opens new window) to receive notifications about errata package releases.

    + + + diff --git a/documentation/guides.html b/documentation/guides.html new file mode 100644 index 000000000..8f5485083 --- /dev/null +++ b/documentation/guides.html @@ -0,0 +1,51 @@ + + + + + + Documentation | Security Guides | AlmaLinux Wiki + + + + + + + + + +

    # Documentation | Security Guides

    In this section of the wiki, we emphasize AlmaLinux OS security through:

    • OpenSCAP: Comprehensive guides on evaluating system security configurations.
    • OVAL: Standardized definitions for AlmaLinux to consistently assess vulnerabilities.
    • SBOM: Resources on tracking software components for transparency.
    • Security Errata: Regular updates on the latest security patches and updates.

    # About Our Security Mindset

    For AlmaLinux OS Project ensuring its security is paramount for several reasons:

    • Trust: Users and organizations need to trust that the OS isn't compromised, ensuring the safety of their data and applications.
    • Stability: Security vulnerabilities can lead to system instability. A secure OS is generally a more stable OS.
    • Data Integrity: Protecting the OS from unauthorized access ensures the integrity of the data it holds.
    • Threat Landscape: Linux-based systems, due to their widespread use especially in server environments, are continuous targets for attackers. Keeping them secure is an ongoing necessity.
    • Reputation: AlmaLinux aims to be a reliable RHEL fork. Maintaining a strong security posture is essential for its reputation and adoption.
    • Compliance: Many organizations are subject to regulatory standards that mandate specific security controls and measures. A secure OS helps these organizations achieve and maintain compliance.
    + + + diff --git a/documentation/installation-guide.html b/documentation/installation-guide.html new file mode 100644 index 000000000..5a89e6878 --- /dev/null +++ b/documentation/installation-guide.html @@ -0,0 +1,127 @@ + + + + + + AlmaLinux Installation Guide | AlmaLinux Wiki + + + + + + + + + +
    # last updated: 2023-02-09

    # AlmaLinux installation guide (ISOs)

    These guide steps describe how to download AlmaLinux ISO, create a USB stick, and install AlmaLinux OS using it.

    # Requirements

    # Download AlmaLinux ISO

    AlmaLinux supports both firmware interfaces: BIOS and UEFI.

    AlmaLinux supports four architectures:

    • Intel/AMD (x86_64)
    • ARM64 (aarch64)
    • IBM PowerPC (ppc64le)
    • IBM Z (s390x)

    AlmaLinux has 3 types of ISOs for each supported architecture:

    • boot - a single network installation CD image that downloads packages over the Internet.
    • minimal - a minimal self-containing DVD image that makes offline installation possible.
    • dvd - a full installation DVD image that contains mostly all AlmaLinux packages.

    TIP

    There are also latest and update ISO images. Latest provides the latest minor version of the selected major version, like AlmaLinux-9-latest. Update files are ISOs that were rebuilt including some updates.

    There are a few ways to download AlmaLinux ISO:

    • Download AlmaLinux ISO from the mirror. Select the nearest to your geographic area mirror from the list (opens new window). You need the version/isos/arch/ directory to download the suitable ISO.

    • Download from the Public Package Repository (opens new window):

    • Run the curl command in the command line:

      WARNING

      This command example is for downloading the DVD ISO of AlmaLinux 9.1. AlmaLinux ISOs are named using the following convention:

      AlmaLinux-major version.minor version-architecture-ISO type.iso

      Change the version, architecture and type to the ones you need.

      $ curl -O https://repo.almalinux.org/almalinux/9/isos/x86_64/AlmaLinux-9.1-x86_64-dvd.iso
      +

      TIP

      curl is built-in into current versions of Linux®, macOS and Windows.

    # ISO verification

    # Linux

    Download and import the AlmaLinux public key:

    $ curl -O https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9
    +$ gpg --import RPM-GPG-KEY-AlmaLinux-9
    +

    Verify the downloaded ISO image checksum:

    # download a checksums list
    +$ curl -O https://repo.almalinux.org/almalinux/9/isos/x86_64/CHECKSUM
    +
    +# verify the checksums list, we are looking for a “Good signature”
    +$ gpg --verify CHECKSUM
    +gpg: Signature made Tue 13 Dec 2022 14:09:50 CET
    +gpg:                using RSA key BF18AC2876178908D6E71267D36CB86CB86B3716
    +gpg: Good signature from "AlmaLinux OS 9 <packager@almalinux.org>" [unknown]
    +gpg: WARNING: This key is not certified with a trusted signature!
    +gpg:          There is no indication that the signature belongs to the owner.
    +Primary key fingerprint: BF18 AC28 7617 8908 D6E7  1267 D36C B86C B86B 3716
    +# calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-9.1-x86_64-dvd.iso
    +2a44e3f8a012c132da19b9aae2bf949e20b116f0a2a7ac3eca111972f4ac952f  AlmaLinux-9.1-x86_64-dvd.iso
    +
    +# compare it with the expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-9.1-x86_64-dvd.iso'
    +SHA256 (AlmaLinux-9.1-x86_64-dvd.iso) = 2a44e3f8a012c132da19b9aae2bf949e20b116f0a2a7ac3eca111972f4ac952f
    +

    # macOS

    # calculate the downloaded ISO SHA256 checksum
    +$ shasum -a 256 AlmaLinux-9.1-x86_64-dvd.iso
    +2a44e3f8a012c132da19b9aae2bf949e20b116f0a2a7ac3eca111972f4ac952f  AlmaLinux-9.1-x86_64-dvd.iso
    +
    +# download the CHECKSUM file
    +curl -O https://repo.almalinux.org/almalinux/9/isos/x86_64/CHECKSUM
    +    
    +# compare it with the expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-9.1-x86_64-dvd.iso'
    +SHA256 (AlmaLinux-9.1-x86_64-dvd.iso) = 2a44e3f8a012c132da19b9aae2bf949e20b116f0a2a7ac3eca111972f4ac952f
    +

    # Windows

    C:\> certUtil -hashfile C:\AlmaLinux-9.1-x86_64-dvd.iso SHA256
    +SHA256 hash of AlmaLinux-9.1-x86_64-dvd.iso:
    +2a44e3f8a012c132da19b9aae2bf949e20b116f0a2a7ac3eca111972f4ac952f
    +CertUtil: -hashfile command completed successfully.
    +
    +# download the CHECKSUM file
    +C:\> curl -O https://repo.almalinux.org/almalinux/9/isos/x86_64/CHECKSUM
    +    
    +# compare it with the expected checksum, it should be the same
    +C:\> findstr /i /r /c:"SHA256.*AlmaLinux-9.1-x86_64-dvd.iso" CHECKSUM
    +SHA256 (AlmaLinux-9.1-x86_64-dvd.iso) = 2a44e3f8a012c132da19b9aae2bf949e20b116f0a2a7ac3eca111972f4ac952f
    +

    # Write an image on a USB

    Use the following steps and commands depending on OS you are using to write an image on a USB.

    # Linux

    Use the dd command for any Linux OS.

    Insert your target USB and locate it. There are different ways to do it, but here are some of them:

    • sudo fdisk -l - this command shows you the connected block storage devices, including the USB devices.

    • lsblk - this command gives you all the available block storage devices, including the USB block storage devices.

    • sudo blkid - this command gives you the same information as lsblk, but you have to run it as root.

    You need to look for /dev/sda or /dev/sdb or /dev/sdc, which is your target USB.

    After you found out the location of your target USB, navigate to the location of your source ISO. Run the dd command to copy files from ISO to USB:

    sudo dd if=./AlmaLinux-9.1-x86_64-dvd.iso of=/dev/sdX status=progress conv=fsync bs=4M
    +
    • dd: Start the dd command to write the DVD/CD iso image.
    • if=AlmaLinux-9.1-x86_64-dvd.iso: path to the input file.
    • of=/dev/sdX: path to destination USB disk/stick (you need to replace 'X').
    • status=progress: display a progress bar while writing the image to the USB stick.
    • conv=fsync: make sure to finish the writing before returning.
    • bs=4M: use blocks of 4 megabytes instead of the default 512 bytes.

    WARNING

    This example is for AlmaLinux 9.1. Replace the version with the one you need to work with other AlmaLinux images.

    # Windows

    For Windows OS there is a helpful free and open-source application - Rufus (opens new window).

    Open the application, choose your target USB, and ISO you need to burn, and press start.

    # macOS

    The cross-platform tool balenaEtcher (opens new window) is used to write images on macOS. It is simple too. Open balenaEtcher, choose the image and the USB, and press Flash.

    You can also use dd from the CLI:

    sudo dd if=./AlmaLinux-9.1-x86_64-dvd.iso of=/dev/diskXXX status=progress conv=fsync bs=4M
    +

    TIP

    Look at the Linux example above for detailed command elements description for the dd command.

    TIP

    To determine the XXX (on our machine it was disk2s1) open the Disk Utility app. +Choose your USB drive in the External section and check the disk name in the Device field:

    image

    Now you have AlmaLinux ready on a USB stick.

    # Installation

    • Before starting the installation, you might need to define which system's mode you are booting and installing - UEFI or BIOS.
    • Insert and boot the USB stick. You'll see the AlmaLinux welcome menu: +image
      • Automatically, the recommended option Test this media & install AlmaLinux 9.1 is highlighted. Choosing this option will run the installation media check to verify that it's usable and that the installation won't be aborted in the process. After the media check completes successfully, the installer screen will pop up automatically.

      TIP

      You can choose the first option Install AlmaLinux 9.1. In this case, you will only see some boot messages before the installer will pop up. The installation media check won't be performed.

    • When the installer boots, the first thing you need to do, is to choose a language that will be used during the installation process. +image +Choose the language you'd like and press the Continue button.
    • Next, the Installation Summary window will appear. It contains sections that you can configure: +image

      WARNING

      Sections that are marked with red color are necessary to be customized to begin the installation.

    • LOCALIZATION section: +
      • Keyboard - you may choose and specify the system's keyboard layouts here. By default, there are an English layout and a language chosen during the previous step. +image When you've finished with the changes, click on the Done button.
      • Language Support - the default supported language is the language you chose for the installation process. You can add support for additional languages if you need it. +image When you've finished with the changes, click on the Done button.
      • Time & Date - this option allows you to select the timezone you need for your machine. You can choose the location from the Region/City lists or select if from the map. There is the Network Time option that allows the system to automatically set the time when this option is enabled. This option can be set to ON or OFF by default. It depends on your installation source. +image When you've finished with the changes, click on the Done button.
    • SOFTWARE - this section allows you to add the installation source and additional repositories if needed. +
      • Installation Source - the installation source is to be specified here. When using an ISO image for the installation using, the installation source will be automatically specified as Local media.

      WARNING

      If you are using the BOOT ISO image to perform the installation, you will need to provide the <version>/BaseOS/x86_64/kickstart/ repository from the selected mirror as the Installation Source if the installer will not be able to find the closest mirror for some reason.

      There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.

      When you've finished with the changes, click on the Done button.
      • Software Selection - this section contains two fields: +
        • Base Environment - this field will be defined automatically according to the ISO type you are using for the installation.
        • Additional Software for the Selected Environment - you can choose additional software to be installed. The list of available additional software depends on the chosen variant in the Base Environment field. +image When you've finished with the changes, click on the Done button.
      • SYSTEM - this section allows you to customize the hardware of the system to you your needs like creating drive partitions, enabling Encryption, KDUMP, specifying the Network and choosing a security profile:
      • Installation destination - you will see available disks for the system installation as Local Standard Disks. You can click on the disk you need. If your system has only one disk, it'll be automatically chosen. By default, Storage Configuration will be marked as Automatic.

      TIP

      If you want to create disk partitions by yourself, choose the Custom option here.

      image

      TIP

      If you want to encrypt your data, select this option in the Encryption section. You'll be asked to type a passphrase after clicking on the Done button. +image

      When you've finished with the changes, click on the Done button.
      • KDUMP - by default, kdump will be marked as enabled with automatic memory reservation. +image When you've finished with the changes, click on the Done button.
      • Network & Host Name - all correctly detected networks will be listed in the left field. It'll be also automatically connected. You can add a network device and configure the chosen network in this section. +image When you've finished with the changes, click on the Done button.
      • Security Profile - no profile is chosen by default, as applying a security policy is not necessary. The applied security policy will be installed in the system using the compliance policies defined by SCAP. You can choose one of the available security profiles: +
        • ANSSI-BP-028 (enhanced)
        • ANSSI-BP-028 (high)
        • ANSSI-BP-028 (intermediary)
        • ANSSI-BP-028 (minimal)
        • [DRAFT] CIS AlmaLinux 9 Benchmark for Level 2 - Server
        • [DRAFT] CIS AlmaLinux 9 Benchmark for Level 1 - Server
        • [DRAFT] CIS AlmaLinux 9 Benchmark for Level 1 - Workstation
        • [DRAFT] CIS AlmaLinux 9 Benchmark for Level 2 - Workstation
        • [DRAFT] Unclassified Information in Non-federal Information Systems and Organizations (NIST 800-171)
        • Australian Cyber Security Centre (ACSC) Essential Eight
        • Health Insurance Portability and Accountability Act (HIPAA)
        • Australian Cyber Security Centre (ACSC) ISM Official
        • [DRAFT] Protection Profile for General Purpose Operating Systems
        • PCI-DSS v3.2.1 Control Baseline for Red Hat Enterprise Linux 9
        • [DRAFT] DISA STIG for Red Hat Enterprise Linux 9
        • [DRAFT] DISA STIG with GUI for Red Hat Enterprise Linux 9 +image

      TIP

      If you are interested in more details about Security Profiles, check the OpenSCAP Guide for AlmaLinux 8 and OpenSCAP Guide for AlmaLinux 9.

      When you've finished with the changes, click on the Done button.
    • USER SETTINGS - in this section, you are able to create a password for the root user account and create user accounts. +
      • Root Password - as the root user is the most privileged account, you must set a strong password for it to protect this account. Type the password in the Root Password text field and type it once more in the Confirm text field to confirm the password. +image When you've finished with the changes, click on the Done button.
      • User Creation - this window allows you to create administrative and non-administrative users. To create a user fill in the Full Name and User Name fields, set and confirm the password, and enable the Make this user administrator field if needed. The Require the password to use this account option is enabled by default. You can leave it enabled or click on the checkbox to remove the check to disable this option. +image When you've finished with the changes, click on the Done button.
    • When you are finished with the customization, click on the Begin Installation button to start the installation process. +image +You will see the process running and its progress. Also, different task messages will appear.

      TIP

      If you don't want to proceed, you can safely quit the process by pressing the Quit button or resetting the machine.

    • Wait for the installation process to complete successfully and click on the Reboot button to restart the system. +image
    • When the system reboots, log in and enjoy your AlmaLinux system.

    # Live Media

    AlmaLinux also provides Live Media images with different desktop environment options:

    • GNOME-Mini
    • GNOME
    • KDE
    • XFCE
    • MATE

    Using Live Media You can try AlmaLinux OS before installing. You can find more information on the Live Media wiki page.

    # Trademark notices

    Red Hat, Red Hat Enterprise Linux are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.

    macOS is the registered trademark of Apple Inc. in the U.S. and other countries.

    Windows is the registered trademark of Microsoft Corporation in the United States and other countries.

    + + + diff --git a/documentation/kickstart-guide.html b/documentation/kickstart-guide.html new file mode 100644 index 000000000..604b50b42 --- /dev/null +++ b/documentation/kickstart-guide.html @@ -0,0 +1,108 @@ + + + + + + Kickstart Installation (Unattended Installation) | AlmaLinux Wiki + + + + + + + + + +

    # Kickstart Installation (Unattended Installation)

    Kickstart is used to perform unattended installation with predefined set of parameters

    There are multiple ways of starting a kickstart installation, for details check out pykickstart docs (opens new window)

    # Customization

    Best way to start is to perform an installation in a virtual machine then take /root/anaconda-ks.cfg as the base and modify it, it contains selected options during the installation

    All commands that can be used in kickstart are listed here (opens new window)

    You can host the kickstart files using preinstalled python http server python -m http.server and then add inst.ks=http://<ip>:<port>/kickstart.cfg to grub during boot

    # Examples

    # KDE Desktop

    Example using KDE Desktop with preinstalled CRB and EPEL repositories preinstalled

    # use graphical installer
    +graphical
    +
    +# add base repositories with mirrors
    +repo --name="alamalinux9-baseos" --mirrorlist="https://mirrors.almalinux.org/mirrorlist/9/baseos"
    +repo --name="alamalinux9-appstream" --mirrorlist="https://mirrors.almalinux.org/mirrorlist/9/appstream"
    +
    +# add epel repo with mirrors
    +repo --name="epel9-everything" --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=epel-9&arch=x86_64"
    +
    +# add CRB with mirrors
    +repo --name="CRB" --mirrorlist="https://mirrors.almalinux.org/mirrorlist/9/crb/"
    +
    +# use internet install
    +url --url="https://repo.almalinux.org/almalinux/9/BaseOS/x86_64/kickstart/"
    +
    +# set hostname (link is the first device that is up)
    +network --device=link --bootproto=dhcp --hostname="localhost"
    +
    +# set locale and keyboard layout
    +keyboard --xlayouts='us'
    +lang en_US.UTF-8
    +
    +# packages or groups to install
    +%packages
    +# exclude select applications
    +-kamera
    +-akregator
    +-kate
    +
    +# repos used in kickstart arent saved afterwards
    +epel-release
    +
    +# install kde desktop environmental group
    +@^kde-desktop-environment
    +
    +# install virtual machine guest additions group
    +@guest-agents
    +%end
    +
    +# enable first boot agent
    +firstboot --enable
    +
    +# set timezone and use UTC
    +timezone America/New_York --utc
    +
    +# disable root account
    +rootpw --lock
    +
    +# create user with multiple groups and password in plaintext
    +user --groups="wheel,input" --name user --password="temp"
    +
    +# repo command adds a repository only to the installer so add CRB to installed system too
    +%post
    +#!/bin/sh
    +dnf config-manager --set-enabled crb
    +%end
    +
    + + + diff --git a/documentation/migration-guide.html b/documentation/migration-guide.html new file mode 100644 index 000000000..c7c32f226 --- /dev/null +++ b/documentation/migration-guide.html @@ -0,0 +1,88 @@ + + + + + + Migration Guide | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux Migration Guide

    This guide describes how to convert your operating system to AlmaLinux using the AlmaLinux Migration tool (opens new window).

    What OSes can be converted:

    • CentOS 8
    • CentOS Stream 8, 9
    • Miracle Linux 8, 9
    • Oracle Linux 8, 9
    • RHEL 8, 9
    • Rocky Linux 8, 9
    • Virtuozzo Linux (VZLinux) 8, 9

    This tool also supports cPanel, Plesk and DirectAdmin panels.

    # How to Migrate

    The minimal supported version of EL8 operating systems is 8.4. In case your OS version is lower, please, upgrade it.

    TIP

    It's recommended to have a backup or snapshot of your system. There'll be a restore point if something will go wrong.

    Follow these steps to convert your EL8 or EL9 system to AlmaLinux using CLI:

    • Run the following command to update your operating system if needed:
    sudo dnf update -y
    +
    curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh
    +
    • Run the script:
    sudo bash almalinux-deploy.sh
    +
    • Check the output for any errors. If the conversion went without any issues, you'll see that Migration to AlmaLinux is completed in the output.
    • Reboot the system to boot with AlmaLinux kernel:
    sudo reboot
    +
    • Ensure that your system was successfully converted: +
      • Check the release file:
      $ cat /etc/redhat-release
      +AlmaLinux release 8.7 (Stone Smilodon)
      +
      • Check that the system boots with AlmaLinux kernel by default:
      $ sudo grubby --info DEFAULT | grep AlmaLinux
      +title="AlmaLinux (4.18.0-425.3.1.el8.x86_64) 8.7 (Stone Smilodon)"
      +

    # Migrating from CentOS versions lower than 8.4

    There are a few additional moments when you are converting your CentOS System. +CentOS 8.4 or 8.5 is required to convert to AlmaLinux. If your CentOS version is lower, it is recommended to update it to 8.5 before converting to AlmaLinux. Though, it's not necessary if your CentOS version is at least CentOS 8.4.

    • As of January 31, 2022, the CentOS 8 mirror lists are offline. To successfully perform dnf update -y you need to update your dnf config files to point to a valid mirror. You can use the following sed commands for convenience to restore dnf to a functional state that will let you update to 8.5 and subsequently AlmaLinux.
    sudo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$releasever\// s/^#*/#/' -e '/^\[baseos\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/BaseOS/$basearch/os' /etc/yum.repos.d/CentOS-Linux-BaseOS.repo
    +sudo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$releasever\// s/^#*/#/' -e '/^\[appstream\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/AppStream/$basearch/os' /etc/yum.repos.d/CentOS-Linux-AppStream.repo
    +sudo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$releasever\// s/^#*/#/' -e '/^\[cr\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/ContinuousRelease/$basearch/os' /etc/yum.repos.d/CentOS-Linux-ContinuousRelease.repo
    +sudo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$releasever\// s/^#*/#/' -e '/^\[devel\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/Devel/$basearch/os' /etc/yum.repos.d/CentOS-Linux-Devel.repo
    +sudo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$releasever\// s/^#*/#/' -e '/^\[extras\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/extras/$basearch/os' /etc/yum.repos.d/CentOS-Linux-Extras.repo
    +sudo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$releasever\// s/^#*/#/' -e '/^\[fasttrack\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/fasttrack/$basearch/os' /etc/yum.repos.d/CentOS-Linux-FastTrack.repo
    +sudo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$releasever\// s/^#*/#/' -e '/^\[ha\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/HighAvailability/$basearch/os' /etc/yum.repos.d/CentOS-Linux-HighAvailability.repo
    +sudo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$releasever\// s/^#*/#/' -e '/^\[plus\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/centosplus/$basearch/os' /etc/yum.repos.d/CentOS-Linux-Plus.repo
    +sudo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$releasever&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$releasever\// s/^#*/#/' -e '/^\[powertools\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/PowerTools/$basearch/os' /etc/yum.repos.d/CentOS-Linux-PowerTools.repo
    +

    TIP

    Alternatively, you can use the -f flag to handle this for you when running the almalinux-deploy.sh (opens new window) script:

    sudo bash almalinux-deploy.sh -f
    +
    • Run the following command to update your operating system:
    sudo dnf update -y
    +
    • Reboot the system after the updating:
    sudo reboot
    +
    curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh
    +
    • Run the script:
    sudo bash almalinux-deploy.sh
    +
    • Ensure that your system was successfully converted: +
      • check the release file
      $ cat /etc/redhat-release
      +AlmaLinux release 8.7 (Stone Smilodon)
      +
      • check that the system boots with AlmaLinux kernel by default
      $ sudo grubby --info DEFAULT | grep AlmaLinux
      +title="AlmaLinux (4.18.0-425.3.1.el8.x86_64) 8.7 (Stone Smilodon)"
      +

    # Get Help

    For more help and assistance reach out to us in the ~migration channel on the AlmaLinux Community Chat (opens new window).

    + + + diff --git a/documentation/openQA.html b/documentation/openQA.html new file mode 100644 index 000000000..75dba11fd --- /dev/null +++ b/documentation/openQA.html @@ -0,0 +1,62 @@ + + + + + + openQA | AlmaLinux Wiki + + + + + + + + + +
    Experience Level ⭑⭑⭒⭒⭒ (Intermediate)
    Last modified date 4/12/2023

    # About openQA in the AlmaLinux Project

    AlmaLinux places great importance on thorough testing. This guide outlines the implementation and use of the openQA tool for automating the testing of the AlmaLinux OS installation process across all supported architectures.

    Accessible at openqa.almalinux.org (opens new window), the openQA tool uses virtual machines to reproduce the installation process and check the output (both serial console and graphics output).

    Detailed information about openQA can be found at open.qa (opens new window) and open.qa/docs (opens new window).

    # Supported Architectures

    • x86-64
    • aarch64
    • ppc64le
    • s390x

    # AlmaLinux openQA repositories

    There are three GitHub repositories involved in AlmaLinux OpenQA Testing:

    # User Guide

    This User Guide describes what information can be found on the openqa.almalinux.org (opens new window)

    To begin with, navigate your browser to https://openqa.almalinux.org. +You will find yourself on the main page. You can see the latest tested jobs and their test statuses. +image

    TIP

    You can see the Learn more button on the main page. It leads you directly to open.qa (opens new window).

    TIP

    Log in is available only for members of the AlmaLinux Organization on GitHub, but all the tests, their results and logs are also available for an unauthorized user.

    OpenQA test suites are executed in separate processes, referred to as "jobs," with each job focusing on testing a specific piece of installer functionality.

    You can use the search field to find:

    • job templates by name or description
    • job modules by filename
    • test modules within the test distributions, either by filename or source code.

    image

    # Latest tests on the main page

    The main page shows the latest tested jobs with the statuses. Clicking on the build (a version of a product) or a test status scale lead you to a Test result overview. +image

    # Summary of Test Result Overview

    The test result overview provides the following details:

    • Total number of test jobs performed
    • Job result statuses, which typically include: +
      • Passed - No critical failures detected during the process
      • Failed - At least one critical assertion not satisfied
      • Soft-Failed - At least one known, non-critical issue found
      • Skipped - Job not started due to failed dependencies
      • Flavors - Specific variants of a product
    • A test suite for each flavor, is accompanied by a job result icon.

    # Result details

    • You can view the tests conducted, their statuses, and screenshots. By clicking on the test icon, you will be directed to the job's Details page, which displays the screenshots and the time taken to complete the job. +image

    • Clicking on a screenshot will enlarge it and display a "needle" – a mechanism used to determine the state of the virtual machine by detecting the presence of specific elements on the machine's output (screen). +image

    TIP

    There's a small camera icon that will take you to a video recording of the executed test. +Example: +image

    • The Logs and Assets section enables you to download result files and the product that was tested (an iso file).
    • Moreover, there're Settings section for job's settings, Comments, and the Next&Previous results for the latest job for this scenario.

    # All Tests

    The All Tests option leads to a list of jobs that are running (in the process), scheduled and the last 500 finished jobs. The last 500 finished jobs can be filtered by the result status. +image

    TIP

    openQA is employed to evaluate diverse combinations of actions and configurations in the AlmaLinux installer. By establishing a virtual machine, executing a sequence of steps, and generating a result for each unique combination, openQA ensures comprehensive testing. These runs, known as 'jobs,' are assigned a numeric identifier and are governed by various settings that determine their behavior.

    Numerous job parameters are involved in the process:

    • Medium: Represents the "tested product" and consists of a name along with a set of variables that characterize the product.

    • Test: Displays a job status icon and ID. Hovering over the status icon reveals the status description, such as done, failed, etc. Hovering over the branch icon after the test name highlights the job's children in blue and parents in red (if present on the same page).

      TIP

      Clicking on the status icon will lead you to the test overview page.

      TIP

      Clicking on the test icons for an ongoing job will take you to a live video feed of the test in progress.

      Example: +image

    • Progress: Indicates the percentage of test completion through a progress scale.

    • Priority: A value used by the scheduler to determine the next job in line.

    • Result: Displays the "result overview" icon set, including the number of passed and failed modules, dependencies, and the presence of bugs, among others.

    • Started: Timestamp indicating when a job began.

    • Created: Timestamp indicating when a job was created.

    • Finished: Timestamp indicating when a job was completed.

    # Job Groups

    The Job Groups option opens a menu. +image

    Each job is assigned to a group based on its respective architecture. Updates groups pertain to jobs associated with products that have updates. When selecting a job group, you'll be shown the most recent tested builds for that group, accompanied by a test results scale.

    # Contribute and Get Help

    If you feel like getting involved or for questions and discussions, please, join us the in the Mattermost Chat (opens new window) and check the openQA repositories.

    + + + diff --git a/documentation/openscap-guide-for-9.html b/documentation/openscap-guide-for-9.html new file mode 100644 index 000000000..9aa54d233 --- /dev/null +++ b/documentation/openscap-guide-for-9.html @@ -0,0 +1,222 @@ + + + + + + AlmaLinux 9 OpenSCAP Guide | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux 9 OpenSCAP Guide

    This guide was developed AlmaLinux 9 OS. +You can find some general information about OpenSCAP and how to enable OpenSCAP packages in the About OpenSCAP (opens new window) section.

    # Validate Data Stream File

    A single source data stream file includes XCCDF content. Run the following command to validate a source data stream file against its schema:

    oscap ds sds-validate /usr/share/xml/scap/ssg/content/ssg-almalinux9-ds.xml \ && echo "ok" || echo "exit code = $? not ok"
    +

    The command output returns ok if the data-stream file is valid.

    The part in quotes is the full path to the security content file being examined.

    # Displaying information, using oscap

    The oscap -V command displays information such as the specifications which the version of oscap supports; capabilities of the oscap version; where schema, CPE, and probe files are stored; inbuilt CPE names; supported OVAL objects and associated SCAP probes.

    As an example of an output you will see this:

    OpenSCAP command line tool (oscap) 1.3.6
    +Copyright 2009--2021 Red Hat Inc., Durham, North Carolina.
    +
    +==== Supported specifications ====
    +SCAP Version: 1.3
    +XCCDF Version: 1.2
    +OVAL Version: 5.11.1
    +CPE Version: 2.3
    +CVSS Version: 2.0
    +CVE Version: 2.0
    +Asset Identification Version: 1.1
    +Asset Reporting Format Version: 1.1
    +CVRF Version: 1.1
    +
    +==== Capabilities added by auto-loaded plugins ====
    +No plugins have been auto-loaded...
    +
    +==== Paths ====
    +Schema files: /usr/share/openscap/schemas
    +Default CPE files: /usr/share/openscap/cpe
    +
    +==== Inbuilt CPE names ====
    +Red Hat Enterprise Linux - cpe:/o:redhat:enterprise_linux:-
    +Red Hat Enterprise Linux 5 - cpe:/o:redhat:enterprise_linux:5
    +...
    +Community Enterprise Operating System 8 - cpe:/o:centos:centos:8
    +AlmaLinux 8 - cpe:/o:almalinux:almalinux:8
    +AlmaLinux 9 - cpe:/o:almalinux:almalinux:9
    +Fedora 32 - cpe:/o:fedoraproject:fedora:32
    +...
    +
    +==== Supported OVAL objects and associated OpenSCAP probes ====
    +OVAL family   OVAL object                  OpenSCAP probe              
    +----------    ----------                   ----------                  
    +independent   environmentvariable          probe_environmentvariable
    +independent   environmentvariable58        probe_environmentvariable58
    +...
    +unix          xinetd                       probe_xinetd
    +

    # Displaying Available Profiles

    A profile consists of common security suggestions that are related to any AlmaLinux installation. Profiles also have supplementary recommendations for the system to use. So, the oscap info command is used to see if available profiles are currently supported by the SCAP Security Guide which is a checklist file.

    oscap info /usr/share/xml/scap/ssg/content/ssg-almalinux9-ds.xml
    +

    The part in quotes is the full path to the security content file being examined.

    As an example of displaying available profiles output you'll see next:

    Document type: Source Data Stream
    +Imported: 2022-05-25T01:55:58
    +
    +Stream: scap_org.open-scap_datastream_from_xccdf_ssg-almalinux9-xccdf-1.2.xml
    +Generated: (null)
    +Version: 1.3
    +Checklists:
    +	Ref-Id: scap_org.open-scap_cref_ssg-almalinux9-xccdf-1.2.xml
    +WARNING: Datastream component 'scap_org.open-scap_cref_oval-org.almalinux.alsa-9.xml.bz2' points out to the remote 'https://security.almalinux.org/oval/org.almalinux.alsa-9.xml.bz2'. Use the '--fetch-remote-resources' option to download it.
    +WARNING: Skipping 'https://security.almalinux.org/oval/org.almalinux.alsa-9.xml.bz2' file which is referenced from datastream
    +		Status: draft
    +		Generated: 2022-05-24
    +		Resolved: true
    +		Profiles:
    +			Title: ANSSI-BP-028 (enhanced)
    +				Id: xccdf_org.ssgproject.content_profile_anssi_bp28_enhanced
    +			Title: ANSSI-BP-028 (high)
    +				Id: xccdf_org.ssgproject.content_profile_anssi_bp28_high
    +			Title: ANSSI-BP-028 (intermediary)
    +				Id: xccdf_org.ssgproject.content_profile_anssi_bp28_intermediary
    +			Title: ANSSI-BP-028 (minimal)
    +				Id: xccdf_org.ssgproject.content_profile_anssi_bp28_minimal
    +			Title: [DRAFT] CIS AlmaLinux 9 Benchmark for Level 2 - Server
    +				Id: xccdf_org.ssgproject.content_profile_cis
    +			Title: [DRAFT] CIS AlmaLinux 9 Benchmark for Level 1 - Server
    +				Id: xccdf_org.ssgproject.content_profile_cis_server_l1
    +			Title: [DRAFT] CIS AlmaLinux 9 Benchmark for Level 1 - Workstation
    +				Id: xccdf_org.ssgproject.content_profile_cis_workstation_l1
    +			Title: [DRAFT] CIS AlmaLinux 9 Benchmark for Level 2 - Workstation
    +				Id: xccdf_org.ssgproject.content_profile_cis_workstation_l2
    +			Title: [DRAFT] Unclassified Information in Non-federal Information Systems and Organizations (NIST 800-171)
    +				Id: xccdf_org.ssgproject.content_profile_cui
    +			Title: Australian Cyber Security Centre (ACSC) Essential Eight
    +				Id: xccdf_org.ssgproject.content_profile_e8
    +			Title: Health Insurance Portability and Accountability Act (HIPAA)
    +				Id: xccdf_org.ssgproject.content_profile_hipaa
    +			Title: Australian Cyber Security Centre (ACSC) ISM Official
    +				Id: xccdf_org.ssgproject.content_profile_ism_o
    +			Title: [DRAFT] Protection Profile for General Purpose Operating Systems
    +				Id: xccdf_org.ssgproject.content_profile_ospp
    +			Title: PCI-DSS v3.2.1 Control Baseline for Red Hat Enterprise Linux 9
    +				Id: xccdf_org.ssgproject.content_profile_pci-dss
    +			Title: [DRAFT] DISA STIG for Red Hat Enterprise Linux 9
    +				Id: xccdf_org.ssgproject.content_profile_stig
    +			Title: [DRAFT] DISA STIG with GUI for Red Hat Enterprise Linux 9
    +				Id: xccdf_org.ssgproject.content_profile_stig_gui
    +		Referenced check files:
    +			ssg-almalinux9-oval.xml
    +				system: http://oval.mitre.org/XMLSchema/oval-definitions-5
    +			ssg-almalinux9-ocil.xml
    +				system: http://scap.nist.gov/schema/ocil/2
    +			oval-org.almalinux.alsa-9.xml.bz2
    +				system: http://oval.mitre.org/XMLSchema/oval-definitions-5
    +Checks:
    +	Ref-Id: scap_org.open-scap_cref_ssg-almalinux9-oval.xml
    +	Ref-Id: scap_org.open-scap_cref_ssg-almalinux9-ocil.xml
    +	Ref-Id: scap_org.open-scap_cref_--builddir--build--BUILD--scap-security-guide-0.1.60--build--ssg-almalinux9-cpe-oval.xml
    +	Ref-Id: scap_org.open-scap_cref_oval-org.almalinux.alsa-9.xml.bz2
    +Dictionaries:
    +	Ref-Id: scap_org.open-scap_cref_--builddir--build--BUILD--scap-security-guide-0.1.60--build--ssg-almalinux9-cpe-dictionary.xml
    +

    # View information about a profile

    The --profile option is useful to get information about a specific profile.

    For example:

    oscap info --profile xccdf_org.ssgproject.content_profile_hipaa /usr/share/xml/scap/ssg/content/ssg-almalinux9-ds.xml
    +

    There's an output example:

    Document type: Source Data Stream
    +Imported: 2022-05-25T01:55:58
    +
    +Stream: scap_org.open-scap_datastream_from_xccdf_ssg-almalinux9-xccdf-1.2.xml
    +Generated: (null)
    +Version: 1.3
    +WARNING: Datastream component 'scap_org.open-scap_cref_oval-org.almalinux.alsa-9.xml.bz2' points out to the remote 'https://security.almalinux.org/oval/org.almalinux.alsa-9.xml.bz2'. Use '--fetch-remote-resources' option to download it.
    +WARNING: Skipping 'https://security.almalinux.org/oval/org.almalinux.alsa-9.xml.bz2' file which is referenced from datastream
    +Profile
    +	Title: Health Insurance Portability and Accountability Act (HIPAA)
    +	Id: xccdf_org.ssgproject.content_profile_hipaa
    +
    +	Description: The HIPAA Security Rule establishes U.S. national standards to protect individuals’ electronic personal health information that is created, received, used, or maintained by a covered entity. The Security Rule requires appropriate administrative, physical and technical safeguards to ensure the confidentiality, integrity, and security of electronic protected health information.  This profile configures AlmaLinux 9 to the HIPAA Security Rule identified for securing of electronic protected health information. Use of this profile in no way guarantees or makes claims against legal compliance against the HIPAA Security Rule(s).
    +

    WARNING

    You can see a warning about remote data stream components when viewing information about XCCDF profiles. The data stream file contains information on where to download these components - OVAL definitions. You can ignore this warning now, but you must use the --fetch-remote-resources option when performing an evaluation. This option allows OSCAP to download these resources.

    # Scanning the system

    The most effective use of the oscap utility is the feature to perform configuration and vulnerability scans of a local system. The oscap xccdf eval command is useful to scan a system against an XCCDF profile.

    The output of this command shows a scan operation. The results are shown in a terminal window, as well as saved in XML and HTML formats in the two directories. One directory is /tmp, and the other is the ~home/user catalog that you choose by yourself where you'd like to save the results. Any rule in a profile that results in a fail potentially requires the system to be reconfigured.

    Here's an example of running the oscap xccdf eval command against a determined profile:

    sudo oscap xccdf eval  --profile hipaa   --fetch-remote-resources   --results /tmp/ssg-results.xml   --report ~/report/ssg-results.html     /usr/share/xml/scap/ssg/content/ssg-almalinux9-ds.xml
    +

    WARNING

    You must use the --fetch-remote-resources option when performing an evaluation. This option allows OSCAP to download these remote resources which are OVAL definitions. Information on where to download them is included in the data stream file.

    Here is an example output of this command:

    Downloading: https://security.almalinux.org/oval/org.almalinux.alsa-9.xml.bz2 ... ok
    +--- Starting Evaluation ---
    +
    +Title   Verify File Hashes with RPM
    +Rule    xccdf_org.ssgproject.content_rule_rpm_verify_hashes
    +Result  pass
    +...
    +Title   Distribute the SSH Server configuration to multiple files in a config directory.
    +Rule    xccdf_org.ssgproject.content_rule_sshd_use_directory_configuration
    +Result  pass    
    +

    The HTML report which you can view in a browser looks like as follows:

    image

    # Generating a Full Security Guide

    To create a full security guide for a system based on an XCCDF profile, use the oscap xccdf generate guide command. Pay attention, that like in the previous command you choose your home path ~home/user to save the HTML security guide.

    Use the oscap xccdf generate guide command to create a full security guide that provides a catalog of security-relevant configuration settings for the system. Security guides often include example bash remediation scripts and Ansible snippets that can be helpful when run against the system to automatically resolve issues. Be aware that you should test remediation scripts on systems within a test environment as actions taken by scripts may not be desirable for your enterprise.

    sudo oscap xccdf generate guide --profile hipaa   --fetch-remote-resources \
    +/usr/share/xml/scap/ssg/content/ssg-almalinux9-ds.xml > ~/report/security_guide.html
    +

    The HTML report which you can view in a browser looks like as follows:

    image

    TIP

    Run the oscap info ssg-results.xml command from the /tmp directory to review the results XML file. You can get information like remediation scripts from it.

    # Remediating a System For Compliance With a Security Profile

    Performing remediation steps is recommended after a fresh installation without any profile selected while installation. OSCAP commands can apply remediation steps where the system fails to comply with an XCCDF profile. You can find these rules that result in fail status during scanning the system and generating a security guide.

    TIP

    Note, that remediation doesn't guarantee compliance with an XCCDF profile if the system configuration has been changed. Also, remediation steps can make changes to a system and alter how a system functions and the steps can't be automatically reverted once applied. So it's not recommended to run remediation steps on a production system without testing.

    Run the oscap xccdf eval command with --profile and --remediate options to allow OSCAP automatically apply remediation steps:

    sudo oscap xccdf eval --profile hipaa \
    +  --remediate /usr/share/xml/scap/ssg/content/ssg-almalinux9-ds.xml    
    +

    After that, reboot the system and scan the system again to validate the changes.

    It's possible to generate remediation scripts for later use allowing to review and modify actions before applying these changes. +The following command generates a remediation script that provides all of the remediations that are present in a profile. Run the command against the data stream file:

    oscap xccdf generate fix --profile hipaa --fix-type bash \
    + --output all-remediations.sh /usr/share/xml/scap/ssg/content/ssg-almalinux9-ds.xml
    +

    To generate a remediation script with specific remediations run a scan against an XCCDF file and use an XML results file:

    oscap xccdf generate fix --profile hipaa --fix-type bash  --output remediations.sh /tmp/ssg-results.xml
    +

    # Auditing for Vulnerabilities By Using OVAL Definitions

    # About OVAL

    The OVAL definition file is used to scan the system in order to verify if applicable errata have been installed. To see the information about supported AlmaLinux OS versions and their public OVAL streams, please, visit the AlmaLinux OVAL streams (opens new window) wiki page.

    There are two types of OVAL files: org.almalinux.alsa-9.xml and org.almalinux.alsa-9.xml.bz2, which contain the same information but archived.

    # Getting an OVAL file

    The first thing to run the OVAL scan is to download a file from an AlmaLinux OVAL stream using the browser or the wget command:

    wget https://security.almalinux.org/oval/org.almalinux.alsa-9.xml
    +

    or

    wget https://security.almalinux.org/oval/org.almalinux.alsa-9.xml.bz2
    +

    TIP

    Don't forget to extract the OVAL file if you downloaded the compressed file:

    bzip2 -d org.almalinux.alsa-9.xml.bz2
    +

    # Displaying information about an OVAL file

    Run the oscap info command to display information about an OVAL file:

    oscap info org.almalinux.alsa-9.xml
    +

    Here is an example output you can see:

    Document type: OVAL Definitions
    +OVAL version: 5.10
    +Generated: 2022-09-16T20:30:33
    +Imported: 2022-09-16T22:30:33
    +

    # Validating an OVAL file

    Run the oscap validate command to validate an OVAL file against its schema:

    oscap oval validate org.almalinux.alsa-9.xml \
    +  && echo "ok" || echo "exit code = $? not ok"
    +

    The command output returns ok if the files are valid and properly structured.

    # Performing a scan

    Run the following command to perform an audit scan of the AlmaLinux:

    sudo oscap oval eval --results /tmp/alsa-results-oval.xml \
    +--report ~/report/alsa-report-oval.html org.almalinux.alsa-9.xml
    +

    Here is an example output you can see:

    Definition oval:org.almalinux.alsa:def:20226224: false
    +...
    +Definition oval:org.almalinux.alsa:def:20225249: true
    +...
    +Definition oval:org.almalinux.alsa:def:20221729: false
    +Definition oval:org.almalinux.alsa:def:20221728: false
    +Evaluation done
    +

    A result of false means that the patch has been applied. A result of true means that the system is vulnerable and the patch is yet to be applied.

    Run the following command to generate the HTML report to view in a browser:

    sudo oscap oval generate report /tmp/alsa-results-oval.xml \ 
    +/home/sonia/report/alsa-report-oval.html
    +

    Here is an example of the HTML report:

    image

    # SCAP Workbench

    One more way to scan a local or a remote system is SCAP Workbench. The SCAP Workbench utility also allows generating reports based on scan evaluations.

    To install SCAP Workbench run the following command as root:

    sudo dnf install scap-workbench
    +

    If the scap-security-guide package wasn't installed from the package repository before, you need to install it too, to use SCAP Workbench effectively. All the other packages and dependencies are installed and updated automatically.

    After SCAP Workbench is installed, it should appear in your desktop environments application menu and you can run it.

    image

    After you start Workbench, a dialog window will offer you to choose which SCAP Security Guide to open.

    When one of the guides is chosen, the next SCAP Workbench window appears. There is a menu, which offers you some more options to select before scanning the system.

    image

    File +This option offers to load or save SCAP-related content. The Save Customization Only item is useful if you selected 'Customization Only' and you want to save it as an XCCDF XML file. The Save All item is useful to save SCAP files to the selected directory or as an RPM package.

    Customization +This option informs you about the customization used for the given security policy. The default is no customization.

    Profile +This option allows choosing the security profile by clicking this menu. You can create a new profile by clicking the Customize button.

    Here is the list of available profiles that can be used to evaluate the system:

    • ANSSI-BP-028 (enhanced)
    • ANSSI-BP-028 (high)
    • ANSSI-BP-028 (intermediary)
    • ANSSI-BP-028 (minimal)
    • [DRAFT] CIS AlmaLinux 9 Benchmark for Level 2 - Server
    • [DRAFT] CIS AlmaLinux 9 Benchmark for Level 1 - Server
    • [DRAFT] CIS AlmaLinux 9 Benchmark for Level 1 - Workstation
    • [DRAFT] CIS AlmaLinux 9 Benchmark for Level 2 - Workstation
    • [DRAFT] Unclassified Information in Non-federal Information Systems and Organizations (NIST 800-171)
    • Australian Cyber Security Centre (ACSC) Essential Eight
    • Health Insurance Portability and Accountability Act (HIPAA)
    • Australian Cyber Security Centre (ACSC) ISM Official
    • [DRAFT] Protection Profile for General Purpose Operating Systems
    • PCI-DSS v3.2.1 Control Baseline for Red Hat Enterprise Linux 9
    • [DRAFT] DISA STIG for Red Hat Enterprise Linux 9
    • [DRAFT] DISA STIG with GUI for Red Hat Enterprise Linux 9

    Target +Here you can select the system you want to be evaluated - a local or a remote one.

    Selected Rules +This field shows you a list of security rules that security policy applies to.

    Fetch remote resources +You need to check this box in case you want the scanner to download remote OVAL content defined in an XML file.

    Remediate +If you check this box, SCAP Workbench will attempt to correct system settings that would fail to match the state defined by the policy.

    After the profile is chosen, press the SCAN button. You will see how the process is going on the status bar.

    image

    When the scan is completed, you can Save Results as an XCCDF Result file, ARF, or HTML Report, in case you need them. If you press the Show Report button, it'll be displayed in a browser:

    image

    + + + diff --git a/documentation/openscap-guide.html b/documentation/openscap-guide.html new file mode 100644 index 000000000..c4fd40474 --- /dev/null +++ b/documentation/openscap-guide.html @@ -0,0 +1,197 @@ + + + + + + AlmaLinux 8 OpenSCAP Guide | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux 8 OpenSCAP Guide

    WARNING

    This guide was developed for AlmaLinux 8 OS. Running OpenSCAP for AlmaLinux 9 OS may work differently, please, refer to AlmaLinux 9 OpenSCAP Guide.

    # About OpenSCAP

    SCAP - The Security Content Automation Protocol - is an automated method that uses standards to enable vulnerability management, measurement, and policy compliance evaluation of systems. SCAP is a U.S. standard maintained by the National Institute of Standards and Technology.

    The AlmaLinux OpenSCAP Guide describes how to use OpenSCAP software to audit your AlmaLinux 8 system for security compliance.

    # About SCAP packages and how to Enable them

    AlmaLinux provides the following SCAP packages for AlmaLinux 8:

    SCAP package Description
    openscap Provides the OpenSCAP library and tool for evaluating a system generating reports.
    openscap-utils Includes command-line tools that use the OpenSCAP library.
    openscap-scanner Enables many SCAP options, like vulnerability and configuration scanning, along with the SCAP Security Guide.
    scap-security-guide Contains SCAP-format system-hardening guide. The guide has links to government requirements and provides security profiles.

    SCAP packages are available in the AlmaLinux 8 AppStream repository. Use the dnf command to install the SCAP packages. The openscap-scanner package will be installed as a dependency.

    sudo dnf install openscap openscap-utils scap-security-guide

    After installation, all SCAP security policies are located in the /usr/share/xml/scap/ssg/content/ directory.

    # About the oscap Command

    The oscap command is a utility that helps evaluate the system, check compliance, and perform various functions like showing information and generating reports.

    This utility has many options, but uses the following general structure:

    oscap [options] module operation [operation_options_and_arguments]

    Module types that are supported by the oscap command are mentioned in the list:

    Module type Description
    cpe Uses a Common Platform Enumeration (CPE) file to perform operations.
    cve Uses a Common Vulnerabilities and Exposures (CVE) file to perform operations.
    cvss Uses a Common Vulnerability Scoring System (CVSS) file to perform operations.
    ds Uses a SCAP Data Stream (DS) to perform operations.
    info Determines a file's type and prints information about the file.
    oval Uses an Open Vulnerability and Assessment Language (OVAL) file to perform operations.
    xccdf Uses a file in eXtensible Configuration Checklist Description Format (XCCDF) to perform operations.
    eval For an OVAL file, oscap probes the system, evaluates each definition in the file and then prints the results to standard output.
    For a specified profile in an XCCDF file, oscap tests the system against each rule in the file and prints the results to standard output.
    generate For an OVAL XML results file, generate converts the specified file into an HTML report.
    For an XCCDF file, generate outputs a full security guide for a specified profile.
    validate Validates an OVAL or XCCDF file against an XML schema to check for errors.

    These modules such as info, oval, xccdf are effective for scanning the system. +Also, keep in mind, that sometimes the oscap command performs different operations depending on the module type. Pay attention to the eval and generate module types.

    Now, let's take a look at some more detailed examples with the oscap command.

    # Displaying information, using oscap

    The oscap -V command displays information such as the specifications which the version of oscap supports; capabilities of the oscap version; where schema, CPE, and probe files are stored; inbuilt CPE names; supported OVAL objects and associated SCAP probes.

    As an example of an output you will see this:

    OpenSCAP command line tool (oscap) 1.3.6
    +Copyright 2009--2021 Red Hat Inc., Durham, North Carolina.
    +
    +==== Supported specifications ====
    +SCAP Version: 1.3
    +XCCDF Version: 1.2
    +OVAL Version: 5.11.1
    +CPE Version: 2.3
    +CVSS Version: 2.0
    +CVE Version: 2.0
    +Asset Identification Version: 1.1
    +Asset Reporting Format Version: 1.1
    +CVRF Version: 1.1
    +
    +==== Capabilities added by auto-loaded plugins ====
    +No plugins have been auto-loaded...
    +
    +==== Paths ====
    +Schema files: /usr/share/openscap/schemas
    +Default CPE files: /usr/share/openscap/cpe
    +
    +==== Inbuilt CPE names ====
    +Red Hat Enterprise Linux - cpe:/o:redhat:enterprise_linux:-
    +...
    +Community Enterprise Operating System 8 - cpe:/o:centos:centos:8
    +AlmaLinux 8 - cpe:/o:almalinux:almalinux:8
    +...
    +Fedora 35 - cpe:/o:fedoraproject:fedora:35
    +
    +==== Supported OVAL objects and associated OpenSCAP probes ====
    +OVAL family   OVAL object                  OpenSCAP probe              
    +----------    ----------                   ----------                  
    +independent   environmentvariable          probe_environmentvariable
    +independent   environmentvariable58        probe_environmentvariable58
    +...
    +unix          uname                        probe_uname
    +unix          xinetd                       probe_xinetd
    +

    # Displaying Available Profiles

    A profile consists of common security suggestions that are related to any AlmaLinux installation. Profiles also have supplementary recommendations for the system to use. So, the oscap info command is used to see available profiles that are currently supported by the SCAP Security Guide which is a checklist file.

    oscap info /usr/share/xml/scap/ssg/content/ssg-almalinux8-xccdf.xml

    The part in quotes is the full path to the security content file being examined.

    As an example of displaying available profiles output you'll see next:

    Document type: XCCDF Checklist
    +Checklist version: 1.1
    +Imported: 2022-05-03T13:52:24
    +Status: draft
    +Generated: 2022-05-03
    +Resolved: true
    +Profiles:
    +	Title: ANSSI-BP-028 (enhanced)
    +		Id: anssi_bp28_enhanced
    +	Title: ANSSI-BP-028 (high)
    +		Id: anssi_bp28_high
    +	Title: ANSSI-BP-028 (intermediary)
    +		Id: anssi_bp28_intermediary
    +	Title: ANSSI-BP-028 (minimal)
    +		Id: anssi_bp28_minimal
    +	Title: CIS AlmaLinux OS 8 Benchmark for Level 2 - Server
    +		Id: cis
    +	Title: CIS AlmaLinux OS 8 Benchmark for Level 1 - Server
    +		Id: cis_server_l1
    +	Title: CIS AlmaLinux OS 8 Benchmark for Level 1 - Workstation
    +		Id: cis_workstation_l1
    +	Title: CIS AlmaLinux OS 8 Benchmark for Level 2 - Workstation
    +		Id: cis_workstation_l2
    +	Title: Unclassified Information in Non-federal Information Systems and Organizations (NIST 800-171)
    +		Id: cui
    +	Title: Australian Cyber Security Centre (ACSC) Essential Eight
    +		Id: e8
    +	Title: Health Insurance Portability and Accountability Act (HIPAA)
    +		Id: hipaa
    +	Title: Australian Cyber Security Centre (ACSC) ISM Official
    +		Id: ism_o
    +	Title: Protection Profile for General Purpose Operating Systems
    +		Id: ospp
    +	Title: PCI-DSS v3.2.1 Control Baseline for Red Hat Enterprise Linux 8
    +		Id: pci-dss
    +	Title: DISA STIG for Red Hat Enterprise Linux 8
    +		Id: stig
    +	Title: DISA STIG with GUI for Red Hat Enterprise Linux 8
    +		Id: stig_gui
    +Referenced check files:
    +	ssg-almalinux8-oval.xml
    +		system: http://oval.mitre.org/XMLSchema/oval-definitions-5
    +	ssg-almalinux8-ocil.xml
    +		system: http://scap.nist.gov/schema/ocil/2
    +	https://security.almalinux.org/oval/org.almalinux.alsa-8.xml
    +		system: http://oval.mitre.org/XMLSchema/oval-definitions-5
    +

    We'd like to mention, that the profiles in the example list may not be the same with your system.

    The --profile option is useful to get information about a specific profile.

    oscap info --profile hipaa /usr/share/xml/scap/ssg/content/ssg-almalinux8-xccdf.xml

    There's an output example:

    Document type: XCCDF Checklist
    +Profile
    +	Title: Health Insurance Portability and Accountability Act (HIPAA)
    +	Id: hipaa
    +
    +Description: The HIPAA Security Rule establishes U.S. national standards to protect individuals’ electronic personal health information that is created, received, used, or maintained by a covered entity. The Security Rule requires appropriate administrative, physical and technical safeguards to ensure the confidentiality, integrity, and security of electronic protected health information.  This profile configures AlmaLinux 8 to the HIPAA Security Rule identified for securing of electronic protected health information. Use of this profile in no way guarantees or makes claims against legal compliance against the HIPAA Security Rule(s).
    +

    # Scanning the system

    The most effective use of the oscap utility is the feature to perform configuration and vulnerability scans of a local system. The oscap xccdf eval command is useful to scan a system against an XCCDF profile.

    The output of this command shows a scan operation. It uses the ssg-almalinux8-cpe-dictionary.xml CPE dictionary to run against the HIPAA profile of the ssg-almalinux8-xccdf.xml checklist. The results are shown in a terminal window, as well as saved in XML and HTML formats in the two directories. One directory is /tmp, and the other is the ~home/user catalog that you choose by yourself where you'd like to save the results. Any rule in a profile that results in a fail potentially requires the system to be reconfigured.

    oscap xccdf eval --profile hipaa \
    +--results /tmp/`hostname`-ssg-results.xml \
    +--report ~/report/`hostname`-ssg-results.html \ 
    +--cpe /usr/share/xml/scap/ssg/content/ssg-almalinux8-cpe-dictionary.xml \
    +/usr/share/xml/scap/ssg/content/ssg-almalinux8-xccdf.xml
    +

    Here is an example output of this command:

    Title   Verify File Hashes with RPM
    +Rule    rpm_verify_hashes
    +Result  pass
    +
    +Title   Verify and Correct File Permissions with RPM
    +Rule    rpm_verify_permissions
    +Result  fail
    +
    +Title   Configure SSH to use System Crypto Policy
    +Rule    configure_ssh_crypto_policy
    +Result  pass
    +...
    +Title   Remove Rsh Trust Files
    +Rule    no_rsh_trust_files
    +Result  pass
    +
    +Title   Disable KDump Kernel Crash Analyzer (kdump)
    +Rule    service_kdump_disabled
    +Result  fail
    +

    The HTML report which you can view in a browser looks like as follows:

    image

    # Generating a Full Security Guide

    To create a full security guide for a system based on an XCCDF profile, use the oscap xccdf generate guide command. Pay attention, that like in the previous command you choose your home path ~home/user to save the HTML security guide.

    oscap xccdf generate guide --profile hipaa \
    +--cpe /usr/share/xml/scap/ssg/content/ssg-almalinux8-cpe-dictionary.xml \
    +/usr/share/xml/scap/ssg/content/ssg-almalinux8-xccdf.xml > ~/report/security_guide.html
    +

    You can view the HTML report in a browser. Here is an example:

    image image

    # OVAL Scan

    # About OVAL

    The OVAL definition file is used to scan the system in order to verify if applicable errata have been installed. +To see the information about supported AlmaLinux OS versions and their public OVAL streams, please, visit the AlmaLinux OVAL streams (opens new window) wiki page.

    There are two types of OVAL files: org.almalinux.alsa-8.xml and org.almalinux.alsa-8.xml.bz2, which contain the same information but archived.

    # Performing a scan

    The first thing to run the OVAL scan is to download a file from an AlmaLinux OVAL stream using the browser or the wget command.

    TIP

    Don't forget to extract the OVAL file if you downloaded the compressed file:

    bzip2 -d org.almalinux.alsa-8.xml.bz2
    +
    • The following command to perform an audit scan of the AlmaLinux:
    oscap oval eval --results /tmp/alsa-results-oval.xml \
    +--report ~/report/alsa-report-oval.html org.almalinux.alsa-8.xml
    +

    Here is an example output you can see:

    Definition oval:org.almalinux.alsa:def:20224887: false
    +Definition oval:org.almalinux.alsa:def:20224872: true
    +Definition oval:org.almalinux.alsa:def:20224855: false
    +...
    +Definition oval:org.almalinux.alsa:def:20224769: false
    +...
    +Evaluation done.
    +

    A result of false means that the patch has been applied. A result of true means that the system is vulnerable and the patch is yet to be applied.

    • Run the following command to generate the HTML report to view in a browser:
    oscap oval generate report /tmp/alsa-results-oval.xml \ 
    +~/report/alsa-report-oval.html
    +

    Here is the example of the HTML report: +image

    # SCAP Workbench

    One more way to scan a local or a remote system is SCAP Workbench. The SCAP Workbench utility also allows generating reports based on scan evaluations.

    To install SCAP Workbench run the following command as root:

    sudo dnf install scap-workbench

    If the scap-security-guide package wasn't installed from the package repository before, you need to install it too, to use SCAP Workbench effectively. All the other packages and dependencies are installed and updated automatically.

    After SCAP Workbench is installed, it should appear in your desktop environments application menu and you can run it.

    image

    After you start Workbench, a dialog window will offer you to choose which SCAP Security Guide to open.

    When one of the guides is chosen, the next SCAP Workbench window appears. There is a menu, which offers you some more options to select before scanning the system.

    image

    File +This option offers to load or save SCAP-related content. The Save Customization Only item is useful if you selected 'Customization Only' and you want to save it as an XCCDF XML file. The Save All item is useful to save SCAP files to the selected directory or as an RPM package.

    Customization +This option informs you about the customization used for the given security policy. The default is no customization.

    Profile +This option allows choosing the security profile by clicking this menu. You can create a new profile by clicking the Customize button.

    Here is the list of available profiles that can be used to evaluate the system:

    • ANSSI-BP-028 (enhanced)
    • ANSSI-BP-028 (high)
    • ANSSI-BP-028 (intermediary)
    • ANSSI-BP-028 (minimal)
    • CIS AlmaLinux 8 Benchmark for Level 2 - Server
    • CIS AlmaLinux 8 Benchmark for Level 1 - Server
    • CIS AlmaLinux 8 Benchmark for Level 1 - Workstation
    • CIS AlmaLinux 8 Benchmark for Level 2 - Workstation
    • Unclassified Information in Non-federal Information Systems and Organizations (NIST 800-171)
    • Australian Cyber Security Centre (ACSC) Essential Eight
    • Health Insurance Portability and Accountability Act (HIPAA)
    • Australian Cyber Security Centre (ACSC) ISM Official
    • Protection Profile for General Purpose Operating Systems
    • PCI-DSS v3.2.1 Control Baseline for Red Hat Enterprise Linux 8
    • DISA STIG for Red Hat Enterprise Linux 8
    • DISA STIG with GUI for Red Hat Enterprise Linux 8

    Target +Here you can select the system you want to be evaluated - a local or a remote one.

    Selected Rules +This field shows you a list of security rules that security policy applies to.

    Fetch remote resources +You need to check this box in case you want the scanner to download remote OVAL content defined in an XML file.

    Remediate +If you check this box, SCAP Workbench will attempt to correct system settings that would fail to match the state defined by the policy.

    After the profile is chosen, press the SCAN button. You will see how the process is going on the status bar.

    image

    After the scanning is finished, you'll have a diagnostics window.

    image

    You can Save Results as XCCDF Result file, ARF, or HTML Report, in case you need them. If you press the Show Report button, it'll be displayed in a browser:

    image

    # Applying Security Policy during Installation

    Note that you can also choose one of the earlier mentioned profiles while running AlmaLinux Installation. To do this, go to the Security Policy option to choose the profile you need.

    image

    No profile is chosen by default, as applying a security policy is not necessary. The applied security policy will be installed to the system using the compliance policies defined by SCAP.

    + + + diff --git a/documentation/oval-streams.html b/documentation/oval-streams.html new file mode 100644 index 000000000..94eb14a81 --- /dev/null +++ b/documentation/oval-streams.html @@ -0,0 +1,59 @@ + + + + + + AlmaLinux OS OVAL streams | AlmaLinux Wiki + + + + + + + + + + + + + diff --git a/documentation/package-building-guide.html b/documentation/package-building-guide.html new file mode 100644 index 000000000..2a61d5de6 --- /dev/null +++ b/documentation/package-building-guide.html @@ -0,0 +1,350 @@ + + + + + + Package Building Guide | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux Package Building Guide

    This guide contains step-by-step instructions on how to build for AlmaLinux packages for different architectures. It also includes some background information about the mock tool, setup instructions, and some examples. These details can be helpful for the building packages for the AlmaLinux project.

    # About mock

    Mock (opens new window) is a tool for building RPM packages. It allows you to build packages for multiple architectures and different versions of RPM-based systems. It's possible to use mock to build packages for AlmaLinux OS as well.

    This guide contains steps on how to build packages for AlmaLinux for different architectures.

    The mock tool has such advantages as:

    • Mock creates a clean environment and clears it after the process is completed;
    • It is possible to build packages for different architectures and distributions with mock;
    • Mock doesn't require installing many development packages and tools.

    The mock tool already contains config files for x86_64 and aarch64 architectures. You can find them in the /etc/mock/ directory.

    image

    WARNING

    Mock doesn't have a config file to build i686 packages. So you have to create a config yourselves to make that possible.

    Mock rebuilds RPMs from source RPMs. You have to download source RPMs in advance. All packages are available at repo.almalinux.org (opens new window).

    Full package name contains package name, version, release and architecture. For example, in zlib-1.2.11-17.el8.src.rpm package name is zlib, 1.2.11 is version, 17.el8 is release, and src for architecture but it indicates that it's an RPM source package.

    # Setup mock and rpm-build

    • First step is to install EPEL repository to your system:
    sudo dnf install -y epel-release
    +

    TIP

    Get more information about AlmaLinux supports EPEL and other repositories on AlmaLinux wiki.

    • After EPEL installation is completed, you can install the mock tool:
    sudo dnf install -y mock rpm-build
    +
    • Run the following command to be added to the mock group. That is necessary as you are going to use mock to build packages:
    sudo usermod -a -G mock username
    +

    # Building packages from SRPMS

    # Instruction if changes are needed

    These steps allow you to make some changes before building the package.

    rpm -i ./fullpackagename.src.rpm
    +

    This command creates your workplace directory structure rpmbuild. There are two folders for now: SOURCES and SPECS. The purpose of the SOURCES directory is to download the source tarballs into this directory. SPECS directory contains .spec files which have package meta information and build instructions.

    TIP

    Now is the right time to make some changes, if needed, before building a package.

    • Switch to SPECS directory to prepare the source using rpmbuild, the -bs flag, and specifying the spec filename. Some more directories are created: +
      • BUILD has unpacked sources that get compiled in this directory;
      • BUILDROOT is used for copied files during the install phase;
      • RPMS has the created rpms;
      • SRPMS has a .src.rpm with a spec file and the sources.
    rpmbuild -bs packagename.spec
    +

    images

    Switch to the SRPMS directory to build the package. The next step depends on what architecture you are building packages.

    # x86_64

    Use the almalinux-8-x86_64.cfg file that mock already has to build packages.

    Run the following command to build the package:

    mock -r almalinux-8-x86_64 --rebuild fullpackagename.src.rpm
    +

    Here is an example of what you can see as a building process:

    INFO: mock.py version 2.12 starting (python version = 3.6.8, NVR = mock-2.12-1.el8)...
    +Start(bootstrap): init plugins
    +...
    +Finish(bootstrap): chroot init
    +Start: chroot init
    +
    +...
    +
    +Start: dnf update
    +...
    +AlmaLinux 8 - AppStream                                                     2.2 MB/s | 8.0 MB     00:03    
    +AlmaLinux 8 - PowerTools                                                    6.9 kB/s | 4.7 kB     00:00    
    +AlmaLinux 8 - PowerTools                                                    866 kB/s | 2.4 MB     00:02    
    +AlmaLinux 8 - Extras                                                        5.2 kB/s | 3.9 kB     00:00    
    +AlmaLinux 8 - Extras                                                        7.3 kB/s |  12 kB     00:01    
    +Dependencies resolved.
    +============================================================================================================
    + Package                            Architecture  Version                            Repository        Size
    +============================================================================================================
    +Upgrading:
    + almalinux-release                  x86_64        8.5-3.el8                          baseos            24 k
    + annobin                            x86_64        9.72-1.el8_5.2                     appstream        110 k
    + bash                               x86_64        4.4.20-2.el8                       baseos           1.5 M
    + ...                      baseos           1.2 M
    + sqlite-libs                        x86_64        3.26.0-15.el8                      baseos           580 k
    + systemd-libs                       x86_64        239-51.el8                         baseos           1.1 M
    + tpm2-tss                           x86_64        2.3.2-4.el8                        baseos           274 k
    + util-linux                         x86_64        2.32.1-28.el8                      baseos           2.5 M
    + which                              x86_64        2.21-16.el8                        baseos            48 k
    +
    +Transaction Summary
    +============================================================================================================
    +Upgrade  74 Packages
    +
    +Total download size: 133 M
    +Downloading Packages:
    +AlmaLinux 8 - AppStream           195% [==================================================================] done.B/s | 1.2 kB     --:-- ETA
    +(1/74): almalinux-release-8.5-3.el8.x86_64.rpm                              244 kB/s |  24 kB     00:00    
    +(2/74): chkconfig-1.19.1-1.el8.x86_64.rpm                                   486 kB/s | 197 kB     00:00    
    +...
    +(71/74): qt5-srpm-macros-5.15.2-1.el8.noarch.rpm                             37 kB/s | 9.5 kB     00:00    
    +(72/74): rpm-build-4.14.3-19.el8.x86_64.rpm                                 168 kB/s | 172 kB     00:01    
    +(73/74): gcc-c++-8.5.0-3.el8.alma.x86_64.rpm                                611 kB/s |  12 MB     00:20    
    +(74/74): gcc-8.5.0-3.el8.alma.x86_64.rpm                                    783 kB/s |  23 MB     00:30    
    +------------------------------------------------------------------------------------------------------------
    +Total                                                                       2.2 MB/s | 133 MB     01:00     
    +Running transaction check
    +Transaction check succeeded.
    +Running transaction test
    +Transaction test succeeded.
    +Running transaction
    +  Running scriptlet: filesystem-3.8-6.el8.x86_64                                                        1/1 
    +  Preparing        :                                                                                    1/1 
    +  Upgrading        : libgcc-8.5.0-3.el8.alma.x86_64                                                   1/148 
    +  Running scriptlet: libgcc-8.5.0-3.el8.alma.x86_64                                                   1/148 
    +  Upgrading        : crypto-policies-20210617-1.gitc776d3e.el8.noarch                                 2/148 
    +  ...
    +  Cleanup          : ncurses-base-6.1-7.20180224.el8.noarch                                         147/148 
    +  Cleanup          : libgcc-8.4.1-1.el8.alma.x86_64                                                 148/148 
    +  ...
    +  Verifying        : almalinux-release-8.5-3.el8.x86_64                                               1/148 
    +  Verifying        : almalinux-release-8.4-3.el8.x86_64                                               2/148 
    +  ...
    +  Verifying        : rpm-build-4.14.3-19.el8.x86_64                                                 147/148 
    +  Verifying        : rpm-build-4.14.3-14.el8_4.x86_64                                               148/148 
    +
    +Upgraded:
    +  almalinux-release-8.5-3.el8.x86_64                        annobin-9.72-1.el8_5.2.x86_64                   
    +  bash-4.4.20-2.el8.x86_64                                  binutils-2.30-108.el8_5.1.x86_64                
    +  ...
    +  systemd-libs-239-51.el8.x86_64                            tpm2-tss-2.3.2-4.el8.x86_64                     
    +  util-linux-2.32.1-28.el8.x86_64                           which-2.21-16.el8.x86_64                        
    +
    +Complete!
    +INFO: Calling postupdate hooks because there are new/updated packages:
    +krb5-libs-1.18.2-14.el8.x86_64
    +file-libs-5.33-20.el8.x86_64
    +...
    +rpm-build-libs-4.14.3-19.el8.x86_64
    +openldap-2.4.46-18.el8.x86_64
    +Start: creating root cache
    +Finish: creating root cache
    +Finish: dnf update
    +Finish: chroot init
    +Start: build phase for zlib-1.2.11-17.el8.src.rpm
    +Start: build setup for zlib-1.2.11-17.el8.src.rpm
    +Building target platforms: x86_64
    +Building for target x86_64
    +Wrote: /builddir/build/SRPMS/zlib-1.2.11-17.el8.src.rpm
    +AlmaLinux 8 - BaseOS                                                        3.7 kB/s | 4.3 kB     00:01    
    +AlmaLinux 8 - AppStream                                                     4.9 kB/s | 4.7 kB     00:00    
    +AlmaLinux 8 - PowerTools                                                    4.1 kB/s | 4.7 kB     00:01    
    +AlmaLinux 8 - Extras                                                        5.1 kB/s | 3.9 kB     00:00    
    +Dependencies resolved.
    +============================================================================================================
    + Package                          Architecture     Version                        Repository           Size
    +============================================================================================================
    +Installing:
    + autoconf                         noarch           2.69-29.el8                    appstream           710 k
    + automake                         noarch           1.16.1-7.el8                   appstream           712 k
    + libtool                          x86_64           2.4.6-25.el8                   appstream           708 k
    +Installing dependencies:
    + emacs-filesystem                 noarch           1:26.1-7.el8                   baseos               69 k
    + groff-base                       x86_64           1.22.3-18.el8                  baseos              1.0 M
    + m4                               x86_64           1.4.18-7.el8                   baseos              222 k
    + ...
    + perl-threads                     x86_64           1:2.21-2.el8                   baseos               61 k
    + perl-threads-shared              x86_64           1.58-2.el8                     baseos               47 k
    +
    +Transaction Summary
    +============================================================================================================
    +Install  40 Packages
    +... 
    +(39/40): perl-libs-5.26.3-420.el8.x86_64.rpm                                389 kB/s | 1.6 MB     00:04    
    +(40/40): perl-interpreter-5.26.3-420.el8.x86_64.rpm                         1.0 MB/s | 6.3 MB     00:06    
    +------------------------------------------------------------------------------------------------------------
    +Total                                                                       1.1 MB/s | 8.9 MB     00:07     
    +Running transaction check
    +Transaction check succeeded.
    +Running transaction test
    +Transaction test succeeded.
    +Running transaction
    +  Preparing        :                                                                                    1/1 
    +  Installing       : m4-1.4.18-7.el8.x86_64                                                            1/40 
    +  Running scriptlet: m4-1.4.18-7.el8.x86_64                                                            1/40 
    +  Installing       : groff-base-1.22.3-18.el8.x86_64                                                   2/40 
    +  ...
    +  Installing       : libtool-2.4.6-25.el8.x86_64                                                      40/40 
    +  Running scriptlet: libtool-2.4.6-25.el8.x86_64                                                      40/40 
    +  Verifying        : emacs-filesystem-1:26.1-7.el8.noarch                                              1/40 
    +  Verifying        : groff-base-1.22.3-18.el8.x86_64                                                   2/40 
    +  ...
    +  Verifying        : perl-Thread-Queue-3.13-1.el8.noarch                                              40/40 
    +
    +Installed:
    +  autoconf-2.69-29.el8.noarch                           automake-1.16.1-7.el8.noarch                       
    +  ...     
    +  perl-threads-1:2.21-2.el8.x86_64                      perl-threads-shared-1.58-2.el8.x86_64              
    +
    +Complete!
    +Finish: build setup for zlib-1.2.11-17.el8.src.rpm
    +Start: Outputting list of installed packages
    +Finish: Outputting list of installed packages
    +Start: rpmbuild zlib-1.2.11-17.el8.src.rpm
    +...
    +patching file contrib/minizip/unzip.c
    +Patch #2 (zlib-1.2.11-IBM-Z-hw-accelrated-deflate-s390x.patch):
    ++ echo 'Patch #2 (zlib-1.2.11-IBM-Z-hw-accelrated-deflate-s390x.patch):'
    ++ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0
    +patching file Makefile.in
    +patching file configure
    +...
    +patching file test/crc32_test.c
    ++ echo 'Patch #3 (zlib-1.2.11-optimized-CRC32-framework.patch):'
    ++ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0
    +...
    ++ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0
    +patching file crc32.c
    +patching file deflate.c
    +...
    +patching file deflate.c
    +patching file test/infcover.c
    ++ echo 'Patch #6 (zlib-1.2.11-IBM-Z-hw-accelrated-deflate-fix.patch):'
    ++ /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0
    +...
    +gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN  -c -o inflate.o inflate.c
    +gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/
    +
    +Provides: debuginfo(build-id) = e0d0a31c725b443047e37c342f2f7a925a141786 zlib-debuginfo = 1.2.11-17.el8 zlib-debuginfo(x86-64) = 1.2.11-17.el8
    +Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
    +Recommends: zlib-debugsource(x86-64) = 1.2.11-17.el8
    +Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/zlib-1.2.11-17.el8.x86_64
    +Wrote: /builddir/build/RPMS/zlib-1.2.11-17.el8.x86_64.rpm
    +Wrote: /builddir/build/RPMS/zlib-devel-1.2.11-17.el8.x86_64.rpm
    +Wrote: /builddir/build/RPMS/zlib-static-1.2.11-17.el8.x86_64.rpm
    +Wrote: /builddir/build/RPMS/zlib-debugsource-1.2.11-17.el8.x86_64.rpm
    +Wrote: /builddir/build/RPMS/zlib-debuginfo-1.2.11-17.el8.x86_64.rpm
    +Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.x41aFv
    ++ umask 022
    ++ cd /builddir/build/BUILD
    ++ cd zlib-1.2.11
    ++ /usr/bin/rm -rf /builddir/build/BUILDROOT/zlib-1.2.11-17.el8.x86_64
    ++ exit 0
    +Finish: rpmbuild zlib-1.2.11-17.el8.src.rpm
    +Finish: build phase for zlib-1.2.11-17.el8.src.rpm
    +INFO: Done(zlib-1.2.11-17.el8.src.rpm) Config(almalinux-8-x86_64) 18 minutes 57 seconds
    +INFO: Results and/or logs in: /var/lib/mock/almalinux-8-x86_64/result
    +Finish: run
    +

    # aarch64

    Use the almalinux-8-aarch64.cfg file, though you need your computer or VM running on arm or qemu to proceed.

    Run the following command to build the package:

    mock -r almalinux-8-aarch64 --rebuild fullpackagename.src.rpm
    +

    # i686

    Vault (opens new window) repository contains all i686 packages. +Note, mock doesn't have a specified config file to build i686 packages or AlmaLinux. So you have to download this config file. Next, we need to put that config to the /etc/mock/ directory. It is possible to build i686 now.

    Run the following command to build the package:

    mock -r almalinux-8-i686 --rebuild fullpackagename.src.rpm
    +

    # Instruction without changes

    In case you need to build a package without any changes, follow mentioned steps:

    • Install epel-release, mock, rpm-build and add a user to the mock group.
    • Download a package you want to rebuild from repo.almalinux.org (opens new window). Use the wget command with the URL of the package.
    • Run mock -r "configname" --rebuild fullpackagename.src.rpm to build the package.

    TIP

    "configname" is the name of a configuration file from /etc/mock/ without the /etc/mock/ path prefix and the .cfg suffix. Check the information above to see examples.

    Builds are done in the /var/lib/mock directory. You can see the built packages in this directory.

    image

    # Building packages from git.almalinux.org (opens new window)

    Another way to build packages is to receive sources and .spec files from git.almalinux.org (opens new window). Check this instruction to use this way:

    TIP

    SSH link for cloning the repo is available only for signed-in users.

    • Switch to the almalinux-git-utils directory and run the following commands:
    python3 setup.py build
    +
    pip3 install .
    +
    • Switch to the needed directory and clone a repo with the RPM package project from git.almalinux.org (opens new window). After that, you have the SPECS folder with the .spec file for the cloned project.

    • Switch to the project directory and run the mentioned command. This script downloads sources and BLOBs from the AlmaLinux sources cache. You can find them in the SOURCES folder.

    alma_get_sources
    +
    • Run these commands to create a workplace directory structure rpmbuild.
    dnf install -y rpmdevtools
    +
    rpmdev-setuptree
    +
    • Move SOURCES and SPECS files from the project directory to the ~/rpmbuild directory.

    • Switch to the ~/rpmbuild/SPECS directory and run this command to build a SPEC file:

    rpmbuild -bs packagename.spec
    +
    mock -r "configname" --rebuild fullpackagename.src.rpm
    +

    # Config file for i686

    config_opts['root'] = 'almalinux-8-i686'
    +config_opts['chroot_setup_cmd'] = 'install tar gcc-c++ redhat-rpm-config redhat-release which xz sed make bzip2 gzip gcc coreutils unzip shadow-utils diffutils cpio bash gawk rpm-build info patch util-linux findutils grep scl-utils scl-utils-build git-core'
    +config_opts['dist'] = 'el8.alma' 
    +config_opts['dnf_common_opts'] = ['--setopt=deltarpm=False', '--allowerasing', '--nobest', '--setopt=install_weak_deps=False']
    +config_opts['legal_host_arches'] = ['i386', 'i586', 'i686', 'x86_64']
    +config_opts['releasever'] = '8'
    +config_opts['package_manager'] = 'dnf'
    +config_opts['rpmbuild_networking'] = True
    +config_opts['target_arch'] = 'i686'
    +config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
    +config_opts['use_bootstrap'] = False
    +
    +
    +config_opts['dnf.conf'] = """
    +[main]
    +keepcache=1
    +cachedir = /var/cache/yum
    +debuglevel=1
    +reposdir=/dev/null
    +logfile=/var/log/yum.log
    +retries=20
    +obsoletes=1
    +gpgcheck=0
    +assumeyes=1
    +rpmverbosity = info
    +syslog_ident=mock
    +syslog_device=
    +metadata_expire=0
    +mdpolicy=group:primary
    +best=0
    +install_weak_deps=0
    +protected_packages=
    +module_platform_id=platform:el8
    +user_agent={{ user_agent }}
    +
    +
    +[baseos]
    +name=AlmaLinux $releasever - BaseOS
    +baseurl=https://repo.almalinux.org/vault/$releasever/BaseOS/i686/os/
    +enabled=1
    +gpgcheck=1
    +gpgkey=file:///usr/share/distribution-gpg-keys/alma/RPM-GPG-KEY-AlmaLinux
    +
    +[appstream]
    +name=AlmaLinux $releasever - AppStream
    +baseurl=https://repo.almalinux.org/vault/$releasever/AppStream/i686/os/
    +enabled=1
    +gpgcheck=1
    +gpgkey=file:///usr/share/distribution-gpg-keys/alma/RPM-GPG-KEY-AlmaLinux
    +
    +[powertools]
    +name=AlmaLinux $releasever - PowerTools
    +baseurl=https://repo.almalinux.org/vault/$releasever/PowerTools/i686/os/
    +enabled=1
    +gpgcheck=1
    +gpgkey=file:///usr/share/distribution-gpg-keys/alma/RPM-GPG-KEY-AlmaLinux
    +
    +[extras]
    +name=AlmaLinux $releasever - Extras
    +baseurl=https://repo.almalinux.org/vault/$releasever/extras/i686/os/
    +enabled=1
    +gpgcheck=1
    +gpgkey=file:///usr/share/distribution-gpg-keys/alma/RPM-GPG-KEY-AlmaLinux
    +
    +[ha]
    +name=AlmaLinux $releasever - HighAvailability
    +baseurl = https://repo.almalinux.org/vault/$releasever/HighAvailability/i686/os/
    +enabled = 0
    +gpgcheck=1
    +gpgkey=file:///usr/share/distribution-gpg-keys/alma/RPM-GPG-KEY-AlmaLinux
    +
    +[resilientstorage]
    +name=AlmaLinux $releasever - ResilientStorage
    +baseurl=https://repo.almalinux.org/vault/$releasever/ResilientStorage/i686/os/
    +enabled=0
    +gpgcheck=1
    +gpgkey=file:///usr/share/distribution-gpg-keys/alma/RPM-GPG-KEY-AlmaLinux
    +
    +[devel]
    +name=AlmaLinux $releasever - Devel (WARNING: UNSUPPORTED - FOR BUILDROOT USE ONLY!)
    +baseurl=https://repo.almalinux.org/vault/$releasever/devel/i686/os/
    +enabled=0
    +gpgcheck=1
    +gpgkey=file:///usr/share/distribution-gpg-keys/alma/RPM-GPG-KEY-AlmaLinux
    +
    +"""
    +
    + + + diff --git a/documentation/raspberry-pi.html b/documentation/raspberry-pi.html new file mode 100644 index 000000000..63e1fb6b3 --- /dev/null +++ b/documentation/raspberry-pi.html @@ -0,0 +1,900 @@ + + + + + + Raspberry Pi | AlmaLinux Wiki + + + + + + + + + +

    # Raspberry Pi

    # About Raspberry Pi

    The Raspberry Pi (opens new window) is a compact computer primarily used for learning computing and programming. It's also very popular for many DIY projects, including home media centers and home automation. Whether you need a full desktop experience or prefer running it headless depends on your project. While the Raspberry Pi can run different operating systems, it was specifically designed for Linux.

    # Tested models

    The AlmaLinux OS releases have been tested on the following models.

    • Raspberry Pi 5 (supported since June 2024 images)
    • Raspberry Pi 4 Model B
    • Raspberry Pi 400
    • Raspberry Pi 3 Model B+
    • Raspberry Pi 3 Model A+

    32-bit Raspberry Pis (ARMv6/ARMv7) and original Raspberry Pi 3 (without "+" models) are not supported. Other ARMv8 Raspberry Pis such as Compute Modules are not tested but will probably work. Let us know if it doesn't work. See also How to contribute section.

    # Installation steps

    # Download image

    AlmaLinux OS provides standard Raspberry Pi images and images with a GNOME desktop environment. +Raspberry Pi images can be found on repo.almalinux.org/rpi/ and mirrors (opens new window). It is recommended to get images from your nearest mirror. Dig into /9/raspberrypi/images/ or /8/raspberrypi/images/ directory of your nearest mirror.

    DETAILS

    At the time of our testing, these commands were used to fetch the images:

    • AlmaLinux OS 8
      $ curl -LO https://repo.almalinux.org/almalinux/8/raspberrypi/images/AlmaLinux-8-RaspberryPi-latest.aarch64.raw.xz
      +
    • AlmaLinux OS 9
      $ curl -LO https://repo.almalinux.org/almalinux/9/raspberrypi/images/AlmaLinux-9-RaspberryPi-latest.aarch64.raw.xz
      +

    # Verify AlmaLinux 8 images

    TIP

    If you are using an AlmaLinux OS-powered system, you already have the key stored in the /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux file. So you can skip the download the key and print the key fingerprint steps. +Run the following command to import the key instead:

    gpg --import /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
    +

    In order to verify a downloaded image you need to:

    • Import the AlmaLinux OS PGP public key first:

      $ curl -O -s https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
      +
    • Print the key fingerprint:

      $ gpg --with-subkey-fingerprints RPM-GPG-KEY-AlmaLinux
      +gpg: WARNING: no command supplied.  Trying to guess what you mean ...
      +pub   rsa4096 2021-01-12 [C] [expires: 2024-01-12]
      +      5E9B8F5617B5066CE92057C3488FCF7C3ABB34F8
      +uid           AlmaLinux <packager@almalinux.org>
      +sub   rsa3072 2021-01-12 [S] [expires: 2024-01-12]
      +

      WARNING

      The fingerprint is 5E9B8F5617B5066CE92057C3488FCF7C3ABB34F8. If you see a different fingerprint, it means you downloaded a compromised file. Please, let us know, remove the file and retry the download.

    • Next you need to import the key:

      $ gpg --import RPM-GPG-KEY-AlmaLinux
      +gpg: key 488FCF7C3ABB34F8: public key "AlmaLinux <packager@almalinux.org>" imported
      +gpg: Total number processed: 1
      +gpg:               imported: 1
      +

    To verify the image:

    • Download the checksum file and its signature first:

      $ curl -O -s https://repo.almalinux.org/rpi/images/CHECKSUM
      +$ curl -O -s https://repo.almalinux.org/rpi/images/CHECKSUM.asc
      +
    • Verify the checksum file signature:

      $ gpg --verify CHECKSUM.asc CHECKSUM
      +gpg: Signature made Mon 14 Nov 2022 06:40:06 PM CET
      +gpg:                using RSA key 51D6647EC21AD6EA
      +gpg: Good signature from "AlmaLinux <packager@almalinux.org>" [unknown]
      +gpg: WARNING: This key is not certified with a trusted signature!
      +gpg:          There is no indication that the signature belongs to the owner.
      +Primary key fingerprint: 5E9B 8F56 17B5 066C E920  57C3 488F CF7C 3ABB 34F8
      +     Subkey fingerprint: E53C F5EF 91CE B0AD 1812  ECB8 51D6 647E C21A D6EA
      +

      TIP

      Make sure that you see the Good signature from "AlmaLinux <packager@almalinux.org>" message in the output.

    • Verify the checksum of the downloaded image:

      $ sha256sum -c CHECKSUM 2>&1 | grep OK
      +AlmaLinux-8-RaspberryPi-latest.aarch64.raw.xz: OK
      +

      WARNING

      If the output is different, you should download the image again.

    # Verify AlmaLinux 9 images

    In order to verify a downloaded image:

    • Import the AlmaLinux OS PGP public key first:

      $ curl -O -s https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9
      +

      TIP

      If you are using an AlmaLinux OS-powered system, you already have the key stored in the /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9 file. So you can skip the download the key and print the key fingerprint steps. +Run the following command instead to import the key:

      gpg --import /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
      +
    • Print the key fingerprint:

      $ gpg --with-subkey-fingerprints RPM-GPG-KEY-AlmaLinux-9
      +pub   rsa4096 2022-01-18 [SC]
      +      BF18AC2876178908D6E71267D36CB86CB86B3716
      +uid           AlmaLinux OS 9 <packager@almalinux.org>
      +sub   rsa4096 2022-01-18 [E]
      +

      WARNING

      The fingerprint is BF18AC2876178908D6E71267D36CB86CB86B3716. If you see a different fingerprint, it means you downloaded a compromised file. Please, let us know, remove the file and retry the download.

    • Next you need to import the key:

      $ gpg --import RPM-GPG-KEY-AlmaLinux-9
      +gpg: key D36CB86CB86B3716: public key "AlmaLinux <packager@almalinux.org>" imported
      +gpg: Total number processed: 1
      +gpg:               imported: 1
      +

    To verify the image:

    • Download the checksum file and its signature first:

      $ curl -O -s https://repo.almalinux.org/rpi/9/images/CHECKSUM
      +$ curl -O -s https://repo.almalinux.org/rpi/9/images/CHECKSUM.asc
      +
    • Verify the checksum file signature:

      $ gpg --verify CHECKSUM.asc CHECKSUM
      +gpg: Signature made Fri 18 Nov 2022 12:06:49 AM CET
      +gpg:                using RSA key D36CB86CB86B3716
      +gpg: Good signature from "AlmaLinux OS 9 <packager@almalinux.org>" [unknown]
      +gpg: WARNING: This key is not certified with a trusted signature!
      +gpg:          There is no indication that the signature belongs to the owner.
      +Primary key fingerprint: BF18 AC28 7617 8908 D6E7  1267 D36C B86C B86B 3716
      +

      TIP

      Make sure that you see the Good signature from "AlmaLinux <packager@almalinux.org>" message in the output.

    • Verify the checksum of the downloaded image:

      $ sha256sum -c CHECKSUM 2>&1 | grep OK
      +AlmaLinux-9-RaspberryPi-latest.aarch64.raw.xz: OK
      +

      WARNING

      If the output is different, you should download the image again.

    # Burn Raspberry Pi image

    The next step is to burn the image to an SD card using

    When it's done insert the SD Card into your Raspberry Pi and boot.

    TIP

    Do not use OS customization feature built in RPi Imager. AlmaLinux doesn't support the feature and it conflicts with our initialization process such as default user creation. If you want to apply custom configuration, edit user-data file as described in Configuration using cloud-init section.

    # Getting started

    When you boot your Raspberry Pi use you can login with the almalinux user and almalinux password. root account is locked by default.

    # Connecting to Wi-Fi

    • Check whether wifi is enabled:
      $ nmcli radio wifi
      +

    You should see the command responding with enabled.

    • Next, check the list of local Wi-Fi networks next to you to find one you want to connect:
      $ nmcli dev wifi list
      +
    • Connect to the Wi-Fi network:
      $ nmcli --ask dev wifi connect <network-ssid>
      +

      TIP

      The --ask option will ask you to enter the password.

    • Your wlan0 interface should now be active and pull an IP via DHCP. You can verify this via nmcli con show to check the physical layer connection and then ip a to see if you've gotten an IP.

    # Getting GNOME working

    TIP

    If you got an AlmaLinux Raspberry Pi GNOME image, please, ignore this section, as you already have this desktop environment.

    The steps below describe how to get a GNOME desktop environment:

    (if you installed a standard AlmaLinux Raspberry Pi image)

    • You can install just a barebones GNOME desktop environment once you installed the Raspberry Pi system.

    • To do so run the following command:

      dnf groupinstall gnome-desktop
      +

      TIP

      Please, note that you might need to install additional packages if needed.

    • If you want to install a more comprehensive GNOME environment:

      dnf groupinstall "Server with GUI"
      +
    • When the GNOME is installed run the following command to change the boot target to graphical:

      systemctl set-default graphical
      +
    • Reboot the system using the sudo reboot command and enjoy your Raspberry Pi with GNOME.

    The Raspberry Pi demo video can be found in the GitHub repository (opens new window).

    # Configuration using cloud-init

    AlmaLinux Raspberry Pi image now supports cloud-init (opens new window) to perform early initialization. +This section describes some typical examples to setup AlmaLinux Raspberry Pi image. See the cloud-init official documentation (opens new window) for further information.

    To configure early initialization, modify user-data file in FAT boot volume named CIDATA (the same location where config.txt exists). Please note that cloud-init usually only works at very first boot so modification on user-data file must be done before inserting SD card and power on your Raspberry Pi.

    # Add SSH public key to default user

    The default user is almalinux. Add your SSH public key to enable to login to your Raspberry Pi.

    -     #ssh_authorized_keys:
    ++     ssh_authorized_keys:
    +       # Put here your ssh public keys
    +       #- ssh-ed25519 AAAAC3Nz...
    ++      - ssh-rsa AAAAB3NzaC1yc2EAAAADAQ...
    +

    # Change default user's password

    Specify hashed password like this. Use mkpasswd -m sha-512 command to generate a hashed password.

       - name: almalinux
    +     groups: [ adm, systemd-journal ]
    +     sudo: [ "ALL=(ALL) NOPASSWD:ALL" ]
    +     lock_passwd: false
    ++    passwd: "$6$hjdBm161zuYLfb9.$jkJkq5pQDkFvWPeJhnon9xHIX93SgLTNLsyQcddWJLcQGcM8qHkxDztbwt1DzTP6dmlQ3J.AA6h4JeGaVg.pS1"
    +     #ssh_authorized_keys:
    +       # Put here your ssh public keys
    +       #- ssh-ed25519 AAAAC3Nz...
    +

    # Enable SSH password authentication

    Change ssh_pwauth to true to allow SSH password authentication. This does not enable password login for root user.

    -ssh_pwauth: false
    ++ssh_pwauth: true
    +

    # Network configuration: wired network with a static IPv4 address

    Put network-config file in the same location as user-data. The following example assigns a static IPv4 address to eth0 interface.

    version: 2
    +
    +ethernets:
    +  eth0:
    +    dhcp4: false
    +    optional: true
    +    addresses:
    +      - 192.168.1.99/24
    +    gateway4: 192.168.1.1
    +    nameservers:
    +      addresses:
    +        - 8.8.8.8
    +        - 8.8.4.4
    +

    # Network configuration: Wi-Fi with a dynamic IP address

    Generally, the following network-config configuration enables to connect to Wi-Fi however this is not supported in AlmaLinux.

    version: 2
    +
    +wifis:
    +  wlan0:
    +    dhcp4: true
    +    optional: true
    +    access-points:
    +      "Wi-Fi_SSID":
    +        password: "Wi-Fi_PreSharedKey"
    +

    Add the following two lines at the bottom of user-data instead (example is diff style).

    +runcmd:
    ++  - nmcli dev wifi connect "Wi-Fi_SSID" password "Wi-Fi_PreSharedKey"
    +

    # Frequent Issues

    If you installed a GUI, and your screen has a black border around it, follow the steps below to fix this:

    • Run the command below in the terminal:
      sudo nano /boot/config.txt
      +
    • Add a new line to the file:
      disable_overscan=1
      +
    • Type Ctrl+x on your keyboard to exit nano, and a little message at the bottom or the terminal will say, “save modified buffer?’. Type y for ‘yes’.
    • Reboot your system:
      sudo reboot
      +

    # Booting AlmaLinux 9.1 on RPi (boot log)

    DETAILS
    [    0.000000] Linux version 6.1.23-v8.1.el9 (mockbuild@2bfe3a8b75a540939bf2bf4aa27f3116) (gcc (GCC) 11.3.1 20220421 (Red Hat 11.3.1-2), GNU ld version 2.35.2-24.el9) #1 SMP PREEMPT Tue Apr 25 17:13:15 UTC 2023
    +[    0.000000] Machine model: Raspberry Pi 3 Model B+
    +[    0.000000] efi: UEFI not found.
    +[    0.000000] Reserved memory: created CMA memory pool at 0x0000000038000000, size 64 MiB
    +[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
    +[    0.000000] Zone ranges:
    +[    0.000000]   DMA      [mem 0x0000000000000000-0x000000003bffffff]
    +[    0.000000]   DMA32    empty
    +[    0.000000]   Normal   empty
    +[    0.000000] Movable zone start for each node
    +[    0.000000] Early memory node ranges
    +[    0.000000]   node   0: [mem 0x0000000000000000-0x000000003bffffff]
    +[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000003bffffff]
    +[    0.000000] On node 0, zone DMA: 16384 pages in unavailable ranges
    +[    0.000000] percpu: Embedded 29 pages/cpu s78440 r8192 d32152 u118784
    +[    0.000000] pcpu-alloc: s78440 r8192 d32152 u118784 alloc=29*4096
    +[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
    +[    0.000000] Detected VIPT I-cache on CPU0
    +[    0.000000] CPU features: detected: ARM erratum 843419
    +[    0.000000] CPU features: detected: ARM erratum 845719
    +[    0.000000] alternatives: applying boot alternatives
    +[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 241920
    +[    0.000000] Kernel command line: rw earlyprintk loglevel=8 console=ttyAMA0,115200 dwc_otg.lpm_enable=0 root=/dev/mmcblk0p2 rootdelay=1
    +[    0.000000] Unknown kernel command line parameters "earlyprintk", will be passed to user space.
    +[    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
    +[    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
    +[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
    +[    0.000000] Memory: 873764K/983040K available (11904K kernel code, 2110K rwdata, 3680K rodata, 4160K init, 1098K bss, 43740K reserved, 65536K cma-reserved)
    +[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
    +[    0.000000] ftrace: allocating 38901 entries in 152 pages
    +[    0.000000] ftrace: allocated 152 pages with 3 groups
    +[    0.000000] trace event string verifier disabled
    +[    0.000000] rcu: Preemptible hierarchical RCU implementation.
    +[    0.000000] rcu: 	RCU event tracing is enabled.
    +[    0.000000] rcu: 	RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
    +[    0.000000] 	Trampoline variant of Tasks RCU enabled.
    +[    0.000000] 	Rude variant of Tasks RCU enabled.
    +[    0.000000] 	Tracing variant of Tasks RCU enabled.
    +[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
    +[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
    +[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
    +[    0.000000] Root IRQ handler: bcm2836_arm_irqchip_handle_irq
    +[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
    +[    0.000000] arch_timer: cp15 timer(s) running at 62.50MHz (phys).
    +[    0.000000] clocksource: arch_sys_counter: mask: 0x1ffffffffffffff max_cycles: 0x1cd42e208c, max_idle_ns: 881590405314 ns
    +[    0.000095] sched_clock: 57 bits at 63MHz, resolution 16ns, wraps every 4398046511096ns
    +[    0.011254] Console: colour dummy device 80x25
    +[    0.013014] Calibrating delay loop (skipped), value calculated using timer frequency.. 125.00 BogoMIPS (lpj=250000)
    +[    0.013276] pid_max: default: 32768 minimum: 301
    +[    0.014509] LSM: Security Framework initializing
    +[    0.015789] SELinux:  Initializing.
    +[    0.015840] SELinux: CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE is non-zero.  This is deprecated and will be rejected in a future kernel release.
    +[    0.015890] SELinux: https://github.com/SELinuxProject/selinux-kernel/wiki/DEPRECATE-checkreqprot
    +[    0.020336] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
    +[    0.020428] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
    +[    0.042129] cgroup: Disabling memory control group subsystem
    +[    0.075459] cblist_init_generic: Setting adjustable number of callback queues.
    +[    0.075662] cblist_init_generic: Setting shift to 2 and lim to 1.
    +[    0.076421] cblist_init_generic: Setting shift to 2 and lim to 1.
    +[    0.077309] cblist_init_generic: Setting shift to 2 and lim to 1.
    +[    0.079850] rcu: Hierarchical SRCU implementation.
    +[    0.079930] rcu: 	Max phase no-delay instances is 1000.
    +[    0.086830] EFI services will not be available.
    +[    0.090527] smp: Bringing up secondary CPUs ...
    +[    0.096550] Detected VIPT I-cache on CPU1
    +[    0.097769] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
    +[    0.105304] Detected VIPT I-cache on CPU2
    +[    0.105647] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
    +[    0.110049] Detected VIPT I-cache on CPU3
    +[    0.110544] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
    +[    0.111260] smp: Brought up 1 node, 4 CPUs
    +[    0.111329] SMP: Total of 4 processors activated.
    +[    0.111449] CPU features: detected: 32-bit EL0 Support
    +[    0.111491] CPU features: detected: 32-bit EL1 Support
    +[    0.111580] CPU features: detected: CRC32 instructions
    +[    0.113797] CPU: All CPU(s) started at EL2
    +[    0.114060] alternatives: applying system-wide alternatives
    +[    0.136277] devtmpfs: initialized
    +[    0.186183] Enabled cp15_barrier support
    +[    0.186636] Enabled setend support
    +[    0.188396] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
    +[    0.188648] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
    +[    0.195183] pinctrl core: initialized pinctrl subsystem
    +[    0.208103] DMI not present or invalid.
    +[    0.219648] NET: Registered PF_NETLINK/PF_ROUTE protocol family
    +[    0.253373] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
    +[    0.255727] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
    +[    0.259783] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
    +[    0.261228] audit: initializing netlink subsys (disabled)
    +[    0.268684] audit: type=2000 audit(0.252:1): state=initialized audit_enabled=0 res=1
    +[    0.279456] thermal_sys: Registered thermal governor 'step_wise'
    +[    0.282765] cpuidle: using governor menu
    +[    0.286290] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
    +[    0.289614] ASID allocator initialised with 65536 entries
    +[    0.293027] Serial: AMBA PL011 UART driver
    +[    0.359161] bcm2835-mbox 3f00b880.mailbox: mailbox enabled
    +[    0.405955] raspberrypi-firmware soc:firmware: Attached to firmware from 1970-01-05T00:12:17, variant unknown
    +[    0.410191] raspberrypi-firmware soc:firmware: Firmware hash is 000000000000000000000000096bb980ffffffc0
    +[    0.441871] KASLR disabled due to lack of seed
    +[    0.559945] bcm2835-dma 3f007000.dma: DMA legacy API manager, dmachans=0x1
    +[    0.577533] SCSI subsystem initialized
    +[    0.579329] usbcore: registered new interface driver usbfs
    +[    0.579833] usbcore: registered new interface driver hub
    +[    0.580142] usbcore: registered new device driver usb
    +[    0.582597] usb_phy_generic phy: supply vcc not found, using dummy regulator
    +[    0.584092] usb_phy_generic phy: dummy supplies not allowed for exclusive requests
    +[    0.586204] pps_core: LinuxPPS API ver. 1 registered
    +[    0.586248] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    +[    0.586394] PTP clock support registered
    +[    0.599822] NetLabel: Initializing
    +[    0.599874] NetLabel:  domain hash size = 128
    +[    0.599912] NetLabel:  protocols = UNLABELED CIPSOv4 CALIPSO
    +[    0.601164] NetLabel:  unlabeled traffic allowed by default
    +[    0.607665] vgaarb: loaded
    +[    0.611591] clocksource: Switched to clocksource arch_sys_counter
    +[    0.616631] VFS: Disk quotas dquot_6.6.0
    +[    0.616939] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
    +[    0.617958] FS-Cache: Loaded
    +[    0.619451] CacheFiles: Loaded
    +[    0.675026] NET: Registered PF_INET protocol family
    +[    0.677233] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
    +[    0.687998] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)
    +[    0.688245] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
    +[    0.688366] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)
    +[    0.688642] TCP bind hash table entries: 8192 (order: 6, 262144 bytes, linear)
    +[    0.689113] TCP: Hash tables configured (established 8192 bind 8192)
    +[    0.690573] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
    +[    0.690844] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
    +[    0.693613] NET: Registered PF_UNIX/PF_LOCAL protocol family
    +[    0.698887] RPC: Registered named UNIX socket transport module.
    +[    0.698978] RPC: Registered udp transport module.
    +[    0.699016] RPC: Registered tcp transport module.
    +[    0.699048] RPC: Registered tcp NFSv4.1 backchannel transport module.
    +[    0.699432] PCI: CLS 0 bytes, default 64
    +[    0.706388] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
    +[    0.708611] kvm [1]: IPA Size Limit: 40 bits
    +[    0.714771] kvm [1]: Hyp mode initialized successfully
    +[    1.716489] Initialise system trusted keyrings
    +[    1.719565] workingset: timestamp_bits=46 max_order=18 bucket_order=0
    +[    1.746394] zbud: loaded
    +[    1.757537] NFS: Registering the id_resolver key type
    +[    1.758148] Key type id_resolver registered
    +[    1.758212] Key type id_legacy registered
    +[    1.758842] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
    +[    1.758994] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
    +[    1.770013] Key type asymmetric registered
    +[    1.770149] Asymmetric key parser 'x509' registered
    +[    1.770568] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
    +[    1.772238] io scheduler mq-deadline registered
    +[    1.772358] io scheduler kyber registered
    +[    1.807165] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 0 config (0 80)
    +[    1.807618] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 1 config (0 81)
    +[    1.807822] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 2 config (0 82)
    +[    1.808031] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 3 config (0 83)
    +[    1.808216] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 4 config (0 84)
    +[    1.808456] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 5 config (0 85)
    +[    1.808634] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 6 config (0 86)
    +[    1.808825] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 7 config (0 87)
    +[    1.812309] bcm2708_fb soc:fb: FB found 1 display(s)
    +[    1.843120] Console: switching to colour frame buffer device 100x30
    +[    1.849163] bcm2708_fb soc:fb: Registered framebuffer for display 0, size 800x480
    +[    1.869832] bcm2835-rng 3f104000.rng: hwrng registered
    +[    1.871747] vc-mem: phys_addr:0x00000000 mem_base=0x00000000 mem_size:0x00000000(0 MiB)
    +[    1.877183] gpiomem-bcm2835 3f200000.gpiomem: Initialised: Registers at 0x3f200000
    +[    1.941882] brd: module loaded
    +[    1.978700] loop: module loaded
    +[    1.982075] Loading iSCSI transport class v2.0-870.
    +[    1.998743] usbcore: registered new interface driver r8152
    +[    1.999000] usbcore: registered new interface driver lan78xx
    +[    1.999424] usbcore: registered new interface driver smsc95xx
    +[    2.000612] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
    +[    2.205267] Core Release: 2.94a
    +[    2.205540] Setting default values for core params
    +[    2.207029] Finished setting default values for core params
    +[    2.411593] Using Buffer DMA mode
    +[    2.411688] Periodic Transfer Interrupt Enhancement - disabled
    +[    2.411731] Multiprocessor Interrupt Enhancement - disabled
    +[    2.411816] OTG VER PARAM: 0, OTG VER FLAG: 0
    +[    2.412104] Shared Tx FIFO mode
    +[    2.414884]
    +[    2.414935] WARN::dwc_otg_hcd_init:1072: FIQ DMA bounce buffers: virt = ffffffc009861000 dma = 0x00000000f8090000 len=9024
    +[    2.415160] FIQ FSM acceleration enabled for :
    +[    2.415160] Non-periodic Split Transactions
    +[    2.415160] Periodic Split Transactions
    +[    2.415160] High-Speed Isochronous Endpoints
    +[    2.415160] Interrupt/Control Split Transaction hack enabled
    +[    2.415302] dwc_otg: Microframe scheduler enabled
    +[    2.415572]
    +[    2.415596] WARN::hcd_init_fiq:496: MPHI regs_base at ffffffc0096e5000
    +[    2.416411] dwc_otg 3f980000.usb: DWC OTG Controller
    +[    2.417055] dwc_otg 3f980000.usb: new USB bus registered, assigned bus number 1
    +[    2.417983] dwc_otg 3f980000.usb: irq 74, io mem 0x00000000
    +[    2.418812] Init: Port Power? op_state=1
    +[    2.418920] Init: Power Port (1)
    +[    2.425132] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.01
    +[    2.425192] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    +[    2.425242] usb usb1: Product: DWC OTG Controller
    +[    2.425290] usb usb1: Manufacturer: Linux 6.1.23-v8.1.el9 dwc_otg_hcd
    +[    2.425355] usb usb1: SerialNumber: 3f980000.usb
    +[    2.431455] hub 1-0:1.0: USB hub found
    +[    2.432172] hub 1-0:1.0: 1 port detected
    +[    2.438894] dwc_otg: FIQ enabled
    +[    2.438944] dwc_otg: NAK holdoff enabled
    +[    2.438980] dwc_otg: FIQ split-transaction FSM enabled
    +[    2.439115] Module dwc_common_port init
    +[    2.443143] usbcore: registered new interface driver uas
    +[    2.445043] usbcore: registered new interface driver usb-storage
    +[    2.447156] mousedev: PS/2 mouse device common for all mice
    +[    2.453828] cpu cpu0: Cannot get clock for CPU0
    +[    2.453931] raspberrypi-cpufreq: probe of raspberrypi-cpufreq failed with error -2
    +[    2.455607] sdhci: Secure Digital Host Controller Interface driver
    +[    2.455641] sdhci: Copyright(c) Pierre Ossman
    +[    2.456697] sdhci-pltfm: SDHCI platform and OF driver helper
    +[    2.463028] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 2 config (0 82)
    +[    2.463541] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 2 config (0 82)
    +[    2.463681] leds-gpio: probe of leds failed with error -5
    +[    2.469003] ledtrig-cpu: registered to indicate activity on CPUs
    +[    2.470772] hid: raw HID events driver (C) Jiri Kosina
    +[    2.471788] usbcore: registered new interface driver usbhid
    +[    2.471834] usbhid: USB HID core driver
    +[    2.483158] bcm2835_vchiq 3f00b840.mailbox: failed to set channelbase
    +[    2.483435] vchiq: could not initialize vchiq platform
    +[    2.488463] NET: Registered PF_PACKET protocol family
    +[    2.489504] Key type dns_resolver registered
    +[    2.495036] registered taskstats version 1
    +[    2.495705] Loading compiled-in X.509 certificates
    +[    2.500585] Key type .fscrypt registered
    +[    2.500667] Key type fscrypt-provisioning registered
    +[    2.550943] Indeed it is in host mode hprt0 = 00021101
    +[    2.603776] uart-pl011 3f201000.serial: cts_event_workaround enabled
    +[    2.605916] 3f201000.serial: ttyAMA0 at MMIO 0x3f201000 (irq = 99, base_baud = 0) is a PL011 rev2
    +[    2.673550] printk: console [ttyAMA0] enabled
    +[    2.678027] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 5 config (0 85)
    +[    2.678701] raspberrypi-exp-gpio soc:firmware:expgpio: Failed to get GPIO 5 config (0 85)
    +[    2.679138] reg-fixed-voltage cam1_regulator: error -EIO: can't get GPIO
    +[    2.679804] reg-fixed-voltage: probe of cam1_regulator failed with error -5
    +[    2.684657] bcm2835-aux-uart 3f215040.serial: there is not valid maps for state default
    +[    2.686253] bcm2835-aux-uart 3f215040.serial: error -ENOSPC: unable to register 8250 port
    +[    2.686941] bcm2835-aux-uart: probe of 3f215040.serial failed with error -28
    +[    2.692446] bcm2835-wdt bcm2835-wdt: Broadcom BCM2835 watchdog timer
    +[    2.693829] bcm2835-power bcm2835-power: ASB register ID returned 0x00000000
    +[    2.706003] mmc-bcm2835 3f300000.mmcnr: mmc_debug:0 mmc_debug2:0
    +[    2.706339] mmc-bcm2835 3f300000.mmcnr: DMA channel allocated
    +[    2.739920] usb 1-1: new full-speed USB device number 2 using dwc_otg
    +[    2.741621] sdhost: log_buf @ (____ptrval____) (c2a77000)
    +[    2.750165] Indeed it is in host mode hprt0 = 00021101
    +[    2.798082] mmc0: sdhost-bcm2835 loaded - DMA enabled (>1)
    +[    2.805500] of_cfs_init
    +[    2.809990] of_cfs_init: OK
    +[    2.832623] mmc0: host does not support reading read-only switch, assuming write-enable
    +[    2.836719] mmc0: new high speed SDHC card at address 4567
    +[    2.837390] uart-pl011 3f201000.serial: no DMA platform data
    +[    2.842736] Waiting 1 sec before mounting root device...
    +[    2.848391] mmcblk0: mmc0:4567 QEMU! 8.00 GiB
    +[    2.881023]  mmcblk0: p1 p2
    +[    2.885646] mmcblk0: mmc0:4567 QEMU! 8.00 GiB
    +[    3.002060] usb 1-1: New USB device found, idVendor=0409, idProduct=55aa, bcdDevice= 1.01
    +[    3.003141] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    +[    3.004012] usb 1-1: Product: QEMU USB Hub
    +[    3.004221] usb 1-1: Manufacturer: QEMU
    +[    3.004407] usb 1-1: SerialNumber: 314159-1
    +[    3.012806] hub 1-1:1.0: USB hub found
    +[    3.015694] hub 1-1:1.0: 8 ports detected
    +[    3.408809] usb 1-1.1: new full-speed USB device number 3 using dwc_otg
    +[    3.541223] usb 1-1.1: not running at top speed; connect to a high speed hub
    +[    3.572088] usb 1-1.1: New USB device found, idVendor=0627, idProduct=0001, bcdDevice= 0.00
    +[    3.573075] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=9
    +[    3.573924] usb 1-1.1: Product: QEMU USB Mouse
    +[    3.574895] usb 1-1.1: Manufacturer: QEMU
    +[    3.576576] usb 1-1.1: SerialNumber: 89126-1.1
    +[    3.645464] input: QEMU QEMU USB Mouse as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1:1.0/0003:0627:0001.0001/input/input0
    +[    3.660977] hid-generic 0003:0627:0001.0001: input,hidraw0: USB HID v0.01 Mouse [QEMU QEMU USB Mouse] on usb-3f980000.usb-1.1/input0
    +[    3.756747] usb 1-1.2: new full-speed USB device number 4 using dwc_otg
    +[    3.870426] usb 1-1.2: not running at top speed; connect to a high speed hub
    +[    3.892762] usb 1-1.2: New USB device found, idVendor=0627, idProduct=0001, bcdDevice= 0.00
    +[    3.893185] usb 1-1.2: New USB device strings: Mfr=1, Product=4, SerialNumber=11
    +[    3.893969] usb 1-1.2: Product: QEMU USB Keyboard
    +[    3.895015] usb 1-1.2: Manufacturer: QEMU
    +[    3.896513] usb 1-1.2: SerialNumber: 68284-1.2
    +[    3.951819] input: QEMU QEMU USB Keyboard as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:0627:0001.0002/input/input1
    +[    4.056460] hid-generic 0003:0627:0001.0002: input,hidraw1: USB HID v1.11 Keyboard [QEMU QEMU USB Keyboard] on usb-3f980000.usb-1.2/input0
    +[    4.176769] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Quota mode: none.
    +[    4.178581] VFS: Mounted root (ext4 filesystem) on device 179:2.
    +[    4.190300] devtmpfs: mounted
    +[    4.445271] Freeing unused kernel memory: 4160K
    +[    4.449218] Run /sbin/init as init process
    +[    4.449420]   with arguments:
    +[    4.449592]     /sbin/init
    +[    4.449746]     earlyprintk
    +[    4.449988]   with environment:
    +[    4.450177]     HOME=/
    +[    4.450360]     TERM=linux
    +[    4.472055] random: crng init done
    +[    9.494267] audit: type=1404 audit(9.464:2): enforcing=1 old_enforcing=0 auid=4294967295 ses=4294967295 enabled=1 old-enabled=1 lsm=selinux res=1
    +[   11.566538] SELinux:  Class user_namespace not defined in policy.
    +[   11.567172] SELinux: the above unknown classes and permissions will be allowed
    +[   11.694915] SELinux:  policy capability network_peer_controls=1
    +[   11.695194] SELinux:  policy capability open_perms=1
    +[   11.695638] SELinux:  policy capability extended_socket_class=1
    +[   11.696635] SELinux:  policy capability always_check_network=0
    +[   11.697039] SELinux:  policy capability cgroup_seclabel=1
    +[   11.697273] SELinux:  policy capability nnp_nosuid_transition=1
    +[   11.697594] SELinux:  policy capability genfs_seclabel_symlinks=1
    +[   11.698045] SELinux:  policy capability ioctl_skip_cloexec=0
    +[   12.393988] audit: type=1403 audit(12.364:3): auid=4294967295 ses=4294967295 lsm=selinux res=1
    +[   12.485570] systemd[1]: Successfully loaded SELinux policy in 3.059932s.
    +[   12.805212] mmc1: Timeout waiting for hardware interrupt.
    +[   13.134037] systemd[1]: System time before build time, advancing clock.
    +[   14.325355] NET: Registered PF_INET6 protocol family
    +[   14.365418] Segment Routing with IPv6
    +[   14.366689] In-situ OAM (IOAM) with IPv6
    +[   15.324585] systemd[1]: Relabelled /dev, /dev/shm, /run, /sys/fs/cgroup in 650.957ms.
    +[   15.900358] systemd[1]: systemd 252-13.el9_2 running in system mode (+PAM +AUDIT +SELINUX -APPARMOR +IMA +SMACK +SECCOMP +GCRYPT +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS -FIDO2 +IDN2 -IDN -IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 -PWQUALITY +P11KIT -QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD -BPF_FRAMEWORK +XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified)
    +[   15.904667] systemd[1]: Detected architecture arm64.
    +
    +Welcome to AlmaLinux 9.2 (Turquoise Kodkod)!
    +
    +[   16.003991] systemd[1]: No hostname configured, using default hostname.
    +[   16.010667] systemd[1]: Hostname set to <localhost>.
    +[   16.127177] systemd[1]: Initializing machine ID from random generator.
    +[   22.470849] systemd-rc-local-generator[120]: /etc/rc.d/rc.local is not marked executable, skipping.
    +[   28.307921] audit: type=1400 audit(1679270415.164:4): avc:  denied  { append } for  pid=142 comm="dmidecode" path="/run/cloud-init/ds-identify.log" dev="tmpfs" ino=32 scontext=system_u:system_r:dmidecode_t:s0 tcontext=system_u:object_r:net_conf_t:s0 tclass=file permissive=0
    +[   28.576896] audit: type=1400 audit(1679270415.436:5): avc:  denied  { append } for  pid=144 comm="dmidecode" path="/run/cloud-init/ds-identify.log" dev="tmpfs" ino=32 scontext=system_u:system_r:dmidecode_t:s0 tcontext=system_u:object_r:net_conf_t:s0 tclass=file permissive=0
    +[   28.813327] audit: type=1400 audit(1679270415.676:6): avc:  denied  { append } for  pid=146 comm="dmidecode" path="/run/cloud-init/ds-identify.log" dev="tmpfs" ino=32 scontext=system_u:system_r:dmidecode_t:s0 tcontext=system_u:object_r:net_conf_t:s0 tclass=file permissive=0
    +[   28.930810] audit: type=1400 audit(1679270415.792:7): avc:  denied  { append } for  pid=148 comm="dmidecode" path="/run/cloud-init/ds-identify.log" dev="tmpfs" ino=32 scontext=system_u:system_r:dmidecode_t:s0 tcontext=system_u:object_r:net_conf_t:s0 tclass=file permissive=0
    +[   29.287482] audit: type=1400 audit(1679270416.148:8): avc:  denied  { append } for  pid=150 comm="dmidecode" path="/run/cloud-init/ds-identify.log" dev="tmpfs" ino=32 scontext=system_u:system_r:dmidecode_t:s0 tcontext=system_u:object_r:net_conf_t:s0 tclass=file permissive=0
    +[   43.298159] systemd[1]: Queued start job for default target Graphical Interface.
    +[   43.431704] systemd[1]: Created slice Slice /system/getty.
    +[  OK  ] Created slice Slice /system/getty.
    +[   43.474536] systemd[1]: Created slice Slice /system/modprobe.
    +[  OK  ] Created slice Slice /system/modprobe.
    +[   43.497344] systemd[1]: Created slice Slice /system/serial-getty.
    +[  OK  ] Created slice Slice /system/serial-getty.
    +[   43.517136] systemd[1]: Created slice Slice /system/sshd-keygen.
    +[  OK  ] Created slice Slice /system/sshd-keygen.
    +[   43.536784] systemd[1]: Created slice User and Session Slice.
    +[  OK  ] Created slice User and Session Slice.
    +[   43.550280] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    +[  OK  ] Started Dispatch Password …ts to Console Directory Watch.
    +[   43.565626] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    +[  OK  ] Started Forward Password R…uests to Wall Directory Watch.
    +[   43.597377] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
    +[  OK  ] Set up automount Arbitrary…s File System Automount Point.
    +[   43.610955] systemd[1]: Reached target Local Encrypted Volumes.
    +[  OK  ] Reached target Local Encrypted Volumes.
    +[   43.617450] systemd[1]: Reached target Local Integrity Protected Volumes.
    +[  OK  ] Reached target Local Integrity Protected Volumes.
    +[   43.623145] systemd[1]: Reached target Path Units.
    +[  OK  ] Reached target Path Units.
    +[   43.628409] systemd[1]: Reached target Remote File Systems.
    +[  OK  ] Reached target Remote File Systems.
    +[   43.635067] systemd[1]: Reached target Slice Units.
    +[  OK  ] Reached target Slice Units.
    +[   43.643877] systemd[1]: Reached target Local Verity Protected Volumes.
    +[  OK  ] Reached target Local Verity Protected Volumes.
    +[   43.750294] systemd[1]: Listening on Process Core Dump Socket.
    +[  OK  ] Listening on Process Core Dump Socket.
    +[   43.766467] systemd[1]: Listening on initctl Compatibility Named Pipe.
    +[  OK  ] Listening on initctl Compatibility Named Pipe.
    +[   43.808550] systemd[1]: Listening on Journal Socket (/dev/log).
    +[  OK  ] Listening on Journal Socket (/dev/log).
    +[   43.833110] systemd[1]: Listening on Journal Socket.
    +[  OK  ] Listening on Journal Socket.
    +[   43.881311] systemd[1]: Listening on udev Control Socket.
    +[  OK  ] Listening on udev Control Socket.
    +[   43.897113] systemd[1]: Listening on udev Kernel Socket.
    +[  OK  ] Listening on udev Kernel Socket.
    +[   43.910175] systemd[1]: Huge Pages File System was skipped because of an unmet condition check (ConditionPathExists=/sys/kernel/mm/hugepages).
    +[   44.001086] systemd[1]: Mounting POSIX Message Queue File System...
    +         Mounting POSIX Message Queue File System...
    +[   44.073404] systemd[1]: Mounting Kernel Debug File System...
    +         Mounting Kernel Debug File System...
    +[   44.159167] systemd[1]: Mounting Kernel Trace File System...
    +         Mounting Kernel Trace File System...
    +[   44.257552] systemd[1]: Starting Create List of Static Device Nodes...
    +         Starting Create List of Static Device Nodes...
    +[   44.356595] systemd[1]: Starting Load Kernel Module configfs...
    +         Starting Load Kernel Module configfs...
    +[   44.445632] systemd[1]: Starting Load Kernel Module drm...
    +         Starting Load Kernel Module drm...
    +[   44.551079] systemd[1]: Starting Load Kernel Module fuse...
    +         Starting Load Kernel Module fuse...
    +[   44.603762] systemd[1]: Starting Read and set NIS domainname from /etc/sysconfig/network...
    +         Starting Read and set NIS …from /etc/sysconfig/network...
    +[   44.780971] systemd[1]: Starting Journal Service...
    +         Starting Journal Service...
    +[   44.800043] systemd[1]: Load Kernel Modules was skipped because no trigger condition checks were met.
    +[   44.850412] fuse: init (API version 7.37)
    +[   44.890459] systemd[1]: Starting Generate network units from Kernel command line...
    +         Starting Generate network …ts from Kernel command line...
    +[   44.988959] systemd[1]: Starting Remount Root and Kernel File Systems...
    +         Starting Remount Root and Kernel File Systems...
    +[   45.029236] systemd[1]: Repartition Root Disk was skipped because no trigger condition checks were met.
    +[   45.272185] systemd[1]: Starting Apply Kernel Variables...
    +         Starting Apply Kernel Variables...
    +[   45.392285] systemd[1]: Starting Coldplug All udev Devices...
    +         Starting Coldplug All udev Devices...
    +[   45.758942] systemd[1]: Mounted POSIX Message Queue File System.
    +[  OK  ] Mounted POSIX Message Queue File System.
    +[   45.814062] systemd[1]: Mounted Kernel Debug File System.
    +[  OK  ] Mounted Kernel Debug File System.
    +[   45.839015] systemd[1]: Mounted Kernel Trace File System.
    +[  OK  ] Mounted Kernel Trace File System.
    +[   45.859989] systemd[1]: Finished Create List of Static Device Nodes.
    +[  OK  ] Finished Create List of Static Device Nodes.
    +[   45.895095] systemd[1]: modprobe@configfs.service: Deactivated successfully.
    +[   45.903060] systemd[1]: Finished Load Kernel Module configfs.
    +[  OK  ] Finished Load Kernel Module configfs.
    +[   45.924422] systemd[1]: modprobe@drm.service: Deactivated successfully.
    +[   45.934118] systemd[1]: Finished Load Kernel Module drm.
    +[  OK  ] Finished Load Kernel Module drm.
    +[   45.950935] systemd[1]: modprobe@fuse.service: Deactivated successfully.
    +[   45.990144] systemd[1]: Finished Load Kernel Module fuse.
    +[  OK  ] Finished Load Kernel Module fuse.
    +[   46.023341] systemd[1]: Finished Read and set NIS domainname from /etc/sysconfig/network.
    +[  OK  ] Finished Read and set NIS …e from /etc/sysconfig/network.
    +[   46.038850] systemd[1]: Finished Generate network units from Kernel command line.
    +[  OK  ] Finished Generate network units from Kernel command line.
    +[   46.108032] EXT4-fs (mmcblk0p2): re-mounted. Quota mode: none.
    +[   46.160366] systemd[1]: Mounting FUSE Control File System...
    +         Mounting FUSE Control File System...
    +[   46.218775] systemd[1]: Mounting Kernel Configuration File System...
    +         Mounting Kernel Configuration File System...
    +[   46.307144] systemd[1]: Finished Remount Root and Kernel File Systems.
    +[  OK  ] Finished Remount Root and Kernel File Systems.
    +[   46.338082] systemd[1]: Finished Apply Kernel Variables.
    +[  OK  ] Finished Apply Kernel Variables.
    +[   46.387977] systemd[1]: Mounted FUSE Control File System.
    +[  OK  ] Mounted FUSE Control File System.
    +[   46.394655] systemd[1]: Mounted Kernel Configuration File System.
    +[  OK  ] Mounted Kernel Configuration File System.
    +[   46.472305] systemd[1]: Activating swap /swapfile...
    +         Activating swap /swapfile...
    +[   46.484104] systemd[1]: OSTree Remount OS/ Bind Mounts was skipped because of an unmet condition check (ConditionKernelCommandLine=ostree).
    +[   46.489240] systemd[1]: First Boot Wizard was skipped because of an unmet condition check (ConditionFirstBoot=yes).
    +[   46.689761] Adding 102396k swap on /swapfile.  Priority:-2 extents:1 across:102396k SSFS
    +[   46.712757] systemd[1]: Starting Rebuild Hardware Database...
    +         Starting Rebuild Hardware Database...
    +[   46.808088] systemd[1]: Starting Load/Save Random Seed...
    +         Starting Load/Save Random Seed...
    +[   46.936036] systemd[1]: Starting Create System Users...
    +         Starting Create System Users...
    +[   46.984180] systemd[1]: Activated swap /swapfile.
    +[  OK  ] Activated swap /swapfile.
    +[   47.058260] systemd[1]: Reached target Swaps.
    +[  OK  ] Reached target Swaps.
    +[   47.512579] systemd[1]: Started Journal Service.
    +[  OK  ] Started Journal Service.
    +[  OK  ] Finished Load/Save Random Seed.
    +         Starting Flush Journal to Persistent Storage...
    +[   48.179198] systemd-journald[162]: Received client request to flush runtime journal.
    +[  OK  ] Finished Flush Journal to Persistent Storage.
    +[  OK  ] Finished Create System Users.
    +         Starting Create Static Device Nodes in /dev...
    +[  OK  ] Finished Create Static Device Nodes in /dev.
    +[  OK  ] Reached target Preparation for Local File Systems.
    +[  OK  ] Finished Coldplug All udev Devices.
    +[  OK  ] Finished Rebuild Hardware Database.
    +         Starting Rule-based Manage…for Device Events and Files...
    +[  OK  ] Started Rule-based Manager for Device Events and Files.
    +[  OK  ] Found device /dev/ttyAMA0.
    +[  OK  ] Found device /dev/disk/by-uuid/F996-6567.
    +         Mounting /boot...
    +[   76.878834] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    +[  OK  ] Mounted /boot.
    +[  OK  ] Reached target Local File Systems.
    +         Starting Rebuild Dynamic Linker Cache...
    +         Starting Automatic Boot Loader Update...
    +         Starting Create Volatile Files and Directories...
    +[  OK  ] Finished Automatic Boot Loader Update.
    +[**    ] (1 of 2) A start job is running for…amic Linker Cache (46s / no limit)
    +[   90.508025] usb 1-1: USB disconnect, device number 2
    +[*     ] (1 of 2) A start job is running for…amic Linker Cache (47s / no limit)
    +[    **] (1 of 2) A start job is running for…amic Linker Cache (50s / no limit)
    +[  OK  ] Finished Create Volatile Files and Directories.
    +[   94.350574] usb 1-1: new full-speed USB device number 5 using dwc_otg
    +[   94.356260] Indeed it is in host mode hprt0 = 00021141
    +[   95.177591] usb 1-1: New USB device found, idVendor=0409, idProduct=55aa, bcdDevice= 1.01
    +[   95.179150] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    +[   95.181215] usb 1-1: Product: QEMU USB Hub
    +[   95.182023] usb 1-1: Manufacturer: QEMU
    +[   95.182528] usb 1-1: SerialNumber: 314159-1
    +[   95.345987] hub 1-1:1.0: USB hub found
    +[   95.349299] hub 1-1:1.0: 8 ports detected
    +         Starting Security Auditing Service...
    +[   95.906858] usb 1-1.1: new full-speed USB device number 6 using dwc_otg
    +[   96.048290] usb 1-1.1: not running at top speed; connect to a high speed hub
    +[   96.125369] usb 1-1.1: New USB device found, idVendor=0627, idProduct=0001, bcdDevice= 0.00
    +[   96.126635] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=9
    +[   96.128394] usb 1-1.1: Product: QEMU USB Mouse
    +         Starting Rebuild Journal Catalog...
    +[   96.255730] usb 1-1.1: Manufacturer: QEMU
    +[   96.256277] usb 1-1.1: SerialNumber: 89126-1.1
    +[   96.415036] input: QEMU QEMU USB Mouse as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1:1.0/0003:0627:0001.0003/input/input2
    +[   96.489559] hid-generic 0003:0627:0001.0003: input,hidraw0: USB HID v0.01 Mouse [QEMU QEMU USB Mouse] on usb-3f980000.usb-1.1/input0
    +[    **] (1 of 3) A start job is running for… Auditing Service (53s / no limit)
    +[   96.653982] usb 1-1.2: new full-speed USB device number 7 using dwc_otg
    +[   96.814888] usb 1-1.2: not running at top speed; connect to a high speed hub
    +[   96.870092] usb 1-1.2: New USB device found, idVendor=0627, idProduct=0001, bcdDevice= 0.00
    +[   96.870511] usb 1-1.2: New USB device strings: Mfr=1, Product=4, SerialNumber=11
    +[   96.871024] usb 1-1.2: Product: QEMU USB Keyboard
    +[   96.871616] usb 1-1.2: Manufacturer: QEMU
    +[ ***  ] (2 of 3) A start job is running for…amic Linker Cache (54s / no limit)[   98.209695] input: QEMU QEMU USB Keyboard as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:0627:0001.0004/input/input3
    +
    +[  OK  ] Finished Rebuild Journal Catalog.
    +[  OK  ] Finished Rebuild Dynamic Linker Cache.
    +[  OK  ] Started Security Auditing Service.
    +         Starting Update is Completed...
    +         Starting Record System Boot/Shutdown in UTMP...
    +[  OK  ] Finished Update is Completed.
    +[  OK  ] Finished Record System Boot/Shutdown in UTMP.
    +[  OK  ] Reached target System Initialization.
    +[  OK  ] Started dnf makecache --timer.
    +[  OK  ] Started Daily rotation of log files.
    +[  OK  ] Started Daily Cleanup of Temporary Directories.
    +[  OK  ] Reached target Timer Units.
    +[  OK  ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
    +[  OK  ] Listening on D-Bus System Message Bus Socket.
    +[  OK  ] Listening on SSSD Kerberos…ache Manager responder socket.
    +[  OK  ] Reached target Socket Units.
    +         Starting Initial cloud-init job (pre-networking)...
    +[  OK  ] Reached target Basic System.
    +         Starting Avahi mDNS/DNS-SD Stack...
    +         Starting NTP client/server...
    +         Starting Restore /run/initramfs on shutdown...
    +[  OK  ] Started irqbalance daemon.
    +         Starting Authorization Manager...
    +         Starting Power Profiles daemon...
    +         Starting System Logging Service...
    +         Starting RealtimeKit Scheduling Policy Service...
    +[  OK  ] Reached target sshd-keygen.target.
    +[  OK  ] Reached target User and Group Name Lookups.
    +         Starting Accounts Service...
    +         Starting Switcheroo Control Proxy service...
    +         Starting User Login Management...
    +         Starting Disk Manager...
    +         Starting Daemon for power management...
    +[  OK  ] Started System Logging Service.
    +[  OK  ] Finished Restore /run/initramfs on shutdown.
    +         Starting D-Bus System Message Bus...
    +[  OK  ] Started NTP client/server.
    +[  OK  ] Started D-Bus System Message Bus.
    +[  OK  ] Started RealtimeKit Scheduling Policy Service.
    +[  OK  ] Started Avahi mDNS/DNS-SD Stack.
    +[  OK  ] Started User Login Management.
    +[  OK  ] Started Switcheroo Control Proxy service.
    +[  OK  ] Started Daemon for power management.
    +[  130.256091] usb 1-1: USB disconnect, device number 5
    +[  130.256412] usb 1-1.1: USB disconnect, device number 6
    +[  130.404552] usb 1-1.2: USB disconnect, device number 7
    +[  130.698103] Indeed it is in host mode hprt0 = 00021141
    +[  130.920063] usb 1-1: new full-speed USB device number 8 using dwc_otg
    +[  130.921545] Indeed it is in host mode hprt0 = 00021141
    +[  OK  ] Started Authorization Manager.
    +[  131.214604] usb 1-1: New USB device found, idVendor=0409, idProduct=55aa, bcdDevice= 1.01
    +[  131.215471] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    +[  131.215987] usb 1-1: Product: QEMU USB Hub
    +[  131.216343] usb 1-1: Manufacturer: QEMU
    +[  131.216804] usb 1-1: SerialNumber: 314159-1
    +[  131.224314] hub 1-1:1.0: USB hub found
    +[  131.226142] hub 1-1:1.0: 8 ports detected
    +         Starting Modem Manager...
    +         Starting firewalld - dynamic firewall daemon...
    +[  OK  ] Started Accounts Service.
    +[  OK  ] Started Power Profiles daemon.
    +[  131.567648] usb 1-1.1: new full-speed USB device number 9 using dwc_otg
    +[  131.670337] usb 1-1.1: not running at top speed; connect to a high speed hub
    +[  131.688784] usb 1-1.1: New USB device found, idVendor=0627, idProduct=0001, bcdDevice= 0.00
    +[  131.689349] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=9
    +[  131.689828] usb 1-1.1: Product: QEMU USB Mouse
    +[  131.690221] usb 1-1.1: Manufacturer: QEMU
    +[  131.690518] usb 1-1.1: SerialNumber: 89126-1.1
    +[  131.712728] input: QEMU QEMU USB Mouse as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1:1.0/0003:0627:0001.0005/input/input4
    +[  131.717360] hid-generic 0003:0627:0001.0005: input,hidraw0: USB HID v0.01 Mouse [QEMU QEMU USB Mouse] on usb-3f980000.usb-1.1/input0
    +[  131.856200] usb 1-1.2: new full-speed USB device number 10 using dwc_otg
    +[  131.963344] usb 1-1.2: not running at top speed; connect to a high speed hub
    +[  131.974845] usb 1-1.2: New USB device found, idVendor=0627, idProduct=0001, bcdDevice= 0.00
    +[  131.975633] usb 1-1.2: New USB device strings: Mfr=1, Product=4, SerialNumber=11
    +[  131.976154] usb 1-1.2: Product: QEMU USB Keyboard
    +[  131.976503] usb 1-1.2: Manufacturer: QEMU
    +[  131.976791] usb 1-1.2: SerialNumber: 68284-1.2
    +[  132.011443] input: QEMU QEMU USB Keyboard as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:0627:0001.0006/input/input5
    +[  132.082076] hid-generic 0003:0627:0001.0006: input,hidraw1: USB HID v1.11 Keyboard [QEMU QEMU USB Keyboard] on usb-3f980000.usb-1.2/input0
    +[  OK  ] Started Modem Manager.
    +[  OK  ] Started Disk Manager.
    +[  140.720361] usb 1-1: USB disconnect, device number 8
    +[  140.720960] usb 1-1.1: USB disconnect, device number 9
    +[  140.829946] usb 1-1.2: USB disconnect, device number 10
    +[  141.297149] Indeed it is in host mode hprt0 = 00021141
    +[  141.579604] usb 1-1: new full-speed USB device number 11 using dwc_otg
    +[  141.580930] Indeed it is in host mode hprt0 = 00021141
    +[  141.880663] usb 1-1: New USB device found, idVendor=0409, idProduct=55aa, bcdDevice= 1.01
    +[  141.881258] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    +[  141.881671] usb 1-1: Product: QEMU USB Hub
    +[  141.881986] usb 1-1: Manufacturer: QEMU
    +[  141.882244] usb 1-1: SerialNumber: 314159-1
    +[  141.900410] hub 1-1:1.0: USB hub found
    +[  141.901814] hub 1-1:1.0: 8 ports detected
    +[  142.220154] usb 1-1.1: new full-speed USB device number 12 using dwc_otg
    +[  142.337253] usb 1-1.1: not running at top speed; connect to a high speed hub
    +[  142.371431] usb 1-1.1: New USB device found, idVendor=0627, idProduct=0001, bcdDevice= 0.00
    +[  142.372196] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=9
    +[  142.372838] usb 1-1.1: Product: QEMU USB Mouse
    +[  142.373196] usb 1-1.1: Manufacturer: QEMU
    +[  142.373472] usb 1-1.1: SerialNumber: 89126-1.1
    +[  142.434777] input: QEMU QEMU USB Mouse as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1:1.0/0003:0627:0001.0007/input/input6
    +[  142.492743] hid-generic 0003:0627:0001.0007: input,hidraw0: USB HID v0.01 Mouse [QEMU QEMU USB Mouse] on usb-3f980000.usb-1.1/input0
    +[  142.595781] usb 1-1.2: new full-speed USB device number 13 using dwc_otg
    +[  142.707158] usb 1-1.2: not running at top speed; connect to a high speed hub
    +[  142.718843] usb 1-1.2: New USB device found, idVendor=0627, idProduct=0001, bcdDevice= 0.00
    +[  142.719932] usb 1-1.2: New USB device strings: Mfr=1, Product=4, SerialNumber=11
    +[  142.720410] usb 1-1.2: Product: QEMU USB Keyboard
    +[  142.720810] usb 1-1.2: Manufacturer: QEMU
    +[  142.721084] usb 1-1.2: SerialNumber: 68284-1.2
    +[  142.741022] input: QEMU QEMU USB Keyboard as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:0627:0001.0008/input/input7
    +[  142.824245] hid-generic 0003:0627:0001.0008: input,hidraw1: USB HID v1.11 Keyboard [QEMU QEMU USB Keyboard] on usb-3f980000.usb-1.2/input0
    +[  OK  ] Started firewalld - dynamic firewall daemon.
    +[  147.443786] cloud-init[358]: Cloud-init v. 22.1-9.el9.alma running 'init-local' at Mon, 20 Mar 2023 00:02:13 +0000. Up 146.31 seconds.
    +[  OK  ] Finished Initial cloud-init job (pre-networking).
    +[  OK  ] Reached target Preparation for Network.
    +         Starting Network Manager...
    +[  OK  ] Started Network Manager.
    +[  OK  ] Reached target Network.
    +         Starting Network Manager Wait Online...
    +         Starting Hostname Service...
    +[  OK  ] Started Hostname Service.
    +[  OK  ] Listening on Load/Save RF …itch Status /dev/rfkill Watch.
    +         Starting Network Manager Script Dispatcher Service...
    +[  OK  ] Started Network Manager Script Dispatcher Service.
    +[  OK  ] Finished Network Manager Wait Online.
    +         Starting Initial cloud-ini… (metadata service crawler)...
    +[  165.062401] cloud-init[454]: Cloud-init v. 22.1-9.el9.alma running 'init' at Mon, 20 Mar 2023 00:02:31 +0000. Up 164.34 seconds.
    +[  166.304990] cloud-init[454]: ci-info: +++++++++++++++++++++++Net device info++++++++++++++++++++++++
    +[  166.312983] cloud-init[454]: ci-info: +--------+------+-----------+-----------+-------+------------+
    +[  166.319418] cloud-init[454]: ci-info: | Device |  Up  |  Address  |    Mask   | Scope | Hw-Address |
    +[  166.326203] cloud-init[454]: ci-info: +--------+------+-----------+-----------+-------+------------+
    +[  166.334032] cloud-init[454]: ci-info: |   lo   | True | 127.0.0.1 | 255.0.0.0 |  host |     .      |
    +[  166.342912] cloud-init[454]: ci-info: |   lo   | True |  ::1/128  |     .     |  host |     .      |
    +[  166.347088] cloud-init[454]: ci-info: +--------+------+-----------+-----------+-------+------------+
    +[  166.352919] cloud-init[454]: ci-info: +++++++++++++++++++Route IPv6 info+++++++++++++++++++
    +[  166.358139] cloud-init[454]: ci-info: +-------+-------------+---------+-----------+-------+
    +[  166.362993] cloud-init[454]: ci-info: | Route | Destination | Gateway | Interface | Flags |
    +[  166.367239] cloud-init[454]: ci-info: +-------+-------------+---------+-----------+-------+
    +[  166.374170] cloud-init[454]: ci-info: +-------+-------------+---------+-----------+-------+
    +[  178.237665] EXT4-fs (mmcblk0p2): resizing filesystem from 1074176 to 1974011 blocks
    +[  180.657229] EXT4-fs (mmcblk0p2): resized filesystem to 1974011
    +         Starting Network Manager Script Dispatcher Service...
    +[  OK  ] Started Network Manager Script Dispatcher Service.
    +[  189.293212] cloud-init[454]: 2023-03-20 00:02:56,174 - util.py[WARNING]: Running module users-groups (<module 'cloudinit.config.cc_users_groups' from '/usr/lib/python3.9/site-packages/cloudinit/config/cc_users_groups.py'>) failed
    +[  213.309216] cloud-init[454]: Generating public/private rsa key pair.
    +[  213.320749] cloud-init[454]: Your identification has been saved in /etc/ssh/ssh_host_rsa_key
    +[  213.331188] cloud-init[454]: Your public key has been saved in /etc/ssh/ssh_host_rsa_key.pub
    +[  213.339964] cloud-init[454]: The key fingerprint is:
    +[  213.347315] cloud-init[454]: SHA256:NmlN1Lso5XT7isPVX99q52gaBVI/9aUcmBv4IKg6th8 root@almalinux.local
    +[  213.353576] cloud-init[454]: The key's randomart image is:
    +[  213.358567] cloud-init[454]: +---[RSA 3072]----+
    +[  213.364001] cloud-init[454]: |       .  .o.o. o|
    +[  213.373560] cloud-init[454]: |      . ..o.=o +o|
    +[  213.378544] cloud-init[454]: |     .   .oo.+= .|
    +[  213.381915] cloud-init[454]: |    .    +o.=. . |
    +[  213.386195] cloud-init[454]: |   .    S+.o +.  |
    +[  213.391974] cloud-init[454]: |  +    o..o +.. .|
    +[  213.398433] cloud-init[454]: | . oE    o ... .+|
    +[  213.410292] cloud-init[454]: |  .  .    o. .+.=|
    +[  213.415830] cloud-init[454]: |   ..     ..o=o+.|
    +[  213.422837] cloud-init[454]: +----[SHA256]-----+
    +[  213.428573] cloud-init[454]: Generating public/private ecdsa key pair.
    +[  213.434432] cloud-init[454]: Your identification has been saved in /etc/ssh/ssh_host_ecdsa_key
    +[  213.441556] cloud-init[454]: Your public key has been saved in /etc/ssh/ssh_host_ecdsa_key.pub
    +[  213.447548] cloud-init[454]: The key fingerprint is:
    +[  213.453073] cloud-init[454]: SHA256:45QxnS/TcscLFtAg0fmcxXkiBtY150hOPQnwGGk15zU root@almalinux.local
    +[  213.458806] cloud-init[454]: The key's randomart image is:
    +[  213.464785] cloud-init[454]: +---[ECDSA 256]---+
    +[  213.468749] cloud-init[454]: |        oo=O+**E+|
    +[  213.471572] cloud-init[454]: |         +o=O+OB=|
    +[  213.475080] cloud-init[454]: |        o +=.=o+o|
    +[  213.478204] cloud-init[454]: |         + o+o   |
    +[  213.481504] cloud-init[454]: |        S + * o  |
    +[  213.484526] cloud-init[454]: |       o . * o . |
    +[  213.487875] cloud-init[454]: |        .     .  |
    +[  213.492574] cloud-init[454]: |                 |
    +[  213.496587] cloud-init[454]: |                 |
    +[  213.500557] cloud-init[454]: +----[SHA256]-----+
    +[  213.505442] cloud-init[454]: Generating public/private ed25519 key pair.
    +[  213.509156] cloud-init[454]: Your identification has been saved in /etc/ssh/ssh_host_ed25519_key
    +[  213.511972] cloud-init[454]: Your public key has been saved in /etc/ssh/ssh_host_ed25519_key.pub
    +[  213.515016] cloud-init[454]: The key fingerprint is:
    +[  213.517457] cloud-init[454]: SHA256:+hHD0Bo9jqskyjKrN91vCggkjn9eqmqe8sXISVb3ZIU root@almalinux.local
    +[  213.520007] cloud-init[454]: The key's randomart image is:
    +[  213.523071] cloud-init[454]: +--[ED25519 256]--+
    +[  213.525735] cloud-init[454]: |         ..      |
    +[  213.527847] cloud-init[454]: |       oE.       |
    +[  213.530482] cloud-init[454]: |..  . + *        |
    +[  213.533017] cloud-init[454]: |=  . . @ .       |
    +[  213.535464] cloud-init[454]: |o.o   o S        |
    +[  213.537845] cloud-init[454]: | * =   o o       |
    +[  213.540282] cloud-init[454]: |  B.*.+ .        |
    +[  213.542811] cloud-init[454]: |=o+*.=....       |
    +[  213.552004] cloud-init[454]: |@Xoo+ .+o        |
    +[  213.556157] cloud-init[454]: +----[SHA256]-----+
    +[FAILED] Failed to start Initial cl…ob (metadata service crawler).
    +See 'systemctl status cloud-init.service' for details.
    +[  OK  ] Reached target Cloud-config availability.
    +[  OK  ] Reached target Network is Online.
    +         Starting Apply the settings specified in cloud-config...
    +         Starting OpenSSH server daemon...
    +         Starting Permit User Sessions...
    +[  OK  ] Finished Permit User Sessions.
    +[  OK  ] Started Command Scheduler.
    +         Starting GNOME Display Manager...
    +[  OK  ] Started Serial Getty on ttyAMA0.
    +[  OK  ] Reached target Login Prompts.
    +[  OK  ] Started OpenSSH server daemon.
    +[  OK  ] Reached target Multi-User System.
    +[  OK  ] Started GNOME Display Manager.
    +[  OK  ] Reached target Graphical Interface.
    +         Starting Record Runlevel Change in UTMP...
    +[  OK  ] Finished Record Runlevel Change in UTMP.
    +
    +AlmaLinux 9.2 (Turquoise Kodkod)
    +Kernel 6.1.23-v8.1.el9 on an aarch64
    +
    +almalinux login: [  222.131263] cloud-init[558]: Cloud-init v. 22.1-9.el9.alma running 'modules:config' at Mon, 20 Mar 2023 00:03:27 +0000. Up 220.28 seconds.
    +[  237.571131] cloud-init[592]: Cloud-init v. 22.1-9.el9.alma running 'modules:final' at Mon, 20 Mar 2023 00:03:41 +0000. Up 235.00 seconds.
    +ci-info: no authorized SSH keys fingerprints found for user almalinux.
    +<14>Mar 20 00:03:47 cloud-init: #############################################################
    +<14>Mar 20 00:03:47 cloud-init: -----BEGIN SSH HOST KEY FINGERPRINTS-----
    +<14>Mar 20 00:03:47 cloud-init: 256 SHA256:45QxnS/TcscLFtAg0fmcxXkiBtY150hOPQnwGGk15zU root@almalinux.local (ECDSA)
    +<14>Mar 20 00:03:47 cloud-init: 256 SHA256:+hHD0Bo9jqskyjKrN91vCggkjn9eqmqe8sXISVb3ZIU root@almalinux.local (ED25519)
    +<14>Mar 20 00:03:47 cloud-init: 3072 SHA256:NmlN1Lso5XT7isPVX99q52gaBVI/9aUcmBv4IKg6th8 root@almalinux.local (RSA)
    +<14>Mar 20 00:03:47 cloud-init: -----END SSH HOST KEY FINGERPRINTS-----
    +<14>Mar 20 00:03:47 cloud-init: #############################################################
    +-----BEGIN SSH HOST KEY KEYS-----
    +ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKu+gdlfm4pgbRbDRJfSUB9BElUWUA7mkU8Sp++wf+TEXuIAtlW5W1LZYkFTAiUkPNQ4NQ5rm6yRicMCpAfNWFc= root@almalinux.local
    +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAGHcFNm7GWwEH1L8w0BzE+xWSuchZXh6a9IcUZnEkl8 root@almalinux.local
    +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDtC0X1uAbqUFgbFAl3c9Zc56WaUVUdj7+S6rzdz8V2ShWAtdc3KtQIha86wye+ClN9ry3cJJIyMaFjEkeROZ2GVSmm3tvHyUN14pn86uJlYn2cjTSd0hjVbEqhTzdvVpjAhUivZNM6E0ood6I/HQ4BYeehjaEcovTmYcAq62sV27EXJidQrBRpJkmmvVY5J6Q8HV0dbA5jCd/CBgGxQDaQI1rlZV3YEfhdK4cMKR9RQlPTxu8a8+w4JbgttkoFZE7T9ZsNkzyvHYIvo3S5TKZmBZHhhegnR0VJselGD1pGmfbbJ4P68jgi12nhKHcE/PD02Bu+3Q/yNxOKxpdpufl+Fp5BWJ8OypGozhT1AFVhuLZf+v4UDvxnr23Q2JjmTFHoIVx+gK+wN8k7CLCmUgPWeNYgV2A8xO3FamE+CA5yRcpU4uWyKM+01AhGBGMhsszJEndPSsoLNCgmg/Ch38dQtSuP63iEq4/ZFUXu8UZHehb3HfT6w+Ro4aSSjY44wFE= root@almalinux.local
    +-----END SSH HOST KEY KEYS-----
    +[  241.538302] cloud-init[592]: Cloud-init v. 22.1-9.el9.alma finished at Mon, 20 Mar 2023 00:03:48 +0000. Datasource DataSourceNoCloud [seed=/dev/mmcblk0p1][dsmode=net].  Up 241.33 seconds
    +
    +

    # How to contribute

    You can send all the bugs you may see on bugs.almalinux.org (opens new window). +You might also want to check the AlmaLinux OS Raspberry Pi repository (opens new window) on GitHub.

    Join the Community Chat (opens new window) if you want to help and contribute or get any assistance.

    + + + diff --git a/documentation/sbom-guide.html b/documentation/sbom-guide.html new file mode 100644 index 000000000..e154763a2 --- /dev/null +++ b/documentation/sbom-guide.html @@ -0,0 +1,224 @@ + + + + + + User Guide: AlmaLinux *Software Bill of Materials (SBOM)* | AlmaLinux Wiki + + + + + + + + + +
    # Last updated: 2023-02-03

    # AlmaLinux SBOM User Guide

    # Introduction

    # About SBOM

    SBOM (Software Bill of Materials) is a list of all open-source and third-party components used in a codebase, along with their licensing information, version numbers, and any known vulnerabilities.

    AlmaLinux Build System (opens new window) has implemented SBOM into its pipeline for security purposes, such as tracing the build process, ensuring that only trusted sources are used, and reducing the risk of data corruption.

    # About CAS

    The Codenotary Community Attestation Service (CAS) (opens new window) is integrated with AlmaLinux to provide a chain of trust and traceability. Each stage of the build process goes through authentication and notarization, and build artifacts are only stored if they pass authentication via CAS.

    A user can use CAS to authenticate a downloaded package or its cryptographic hash (SHA256 digest) to verify if it is notarized and trusted.

    # Working with SBOM

    To access the CAS information for AlmaLinux you need an internet connection as the CAS records are stored in the AlmaLinux git repository. You also need to install the CAS tool package.

    Finally, to be able to inspect a desired package for SBOM information, you need the package itself (.rpm binary). Alternatively, you can use the package build-id or rpm-package-hash found on the AlmaLinux build (opens new window) page.

    # Supported releases

    • AlmaLinux 8.7
    • AlmaLinux 9.1

    # Install guide

    # Software Prerequisites

    To just query the SBOM records (versus creating them) one needs only to install the above mentioned cas tool. The CAS organization provides it in form of source and binary package(s) via their github (opens new window) and official web service

    In the README.md (opens new window) you can find a cross-platform installation method, presented below.

    # Installation

    # Official CAS installation method (Linux®, macOS)

    bash <(curl https://getcas.codenotary.io -L)
    +

    For Windows check a dedicated section, below.

    # Example on macOS

    TIP

    The output as shown for macOS is identical on Linux. An alternative install method for Linux is described below.

    Warning: the directory you wish to install to needs to exist before running install command. This is relevant if you're not installing to a system directory like /usr/local/bin but to a custom path, like in the example.

    # Install:
    ➜  /tmp mkdir ./cas-test
    +➜  /tmp bash <(curl https://getcas.codenotary.io -L)
    +  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
    +                                 Dload  Upload   Total   Spent    Left  Speed
    +100  2449  100  2449    0     0  17566      0 --:--:-- --:--:-- --:--:-- 18838
    +Latest available release for cas is: v1.0.3
    +Downloading cas...
    +Install location [default: /usr/local/bin]: /tmp/cas-test
    +cas version v1.0.3 has been installed to:
    + • /tmp/cas-test/cas
    +
    +🎉Done 
    +
    +You can now use the community attestation service (https://cas.codenotary.com) by running: $ cas
    +
    +To get started set your API key you received by email and login: $ export CAS_API_KEY=<your API_KEY>; cas login
    +
    +You can find the online documentation here: https://github.com/codenotary/cas
    +
    +➜  /tmp
    +
    # Test run:
    ➜  /tmp ./cas-test/cas
    +Usage:
    +  cas [command]
    +
    +Available Commands:
    +  authenticate Authenticate assets against CAS
    +  bom          Collect BOM information
    +  completion   Generate the autocompletion script for the specified shell
    +  help         Help about any command
    +  inspect      Returns the asset history with low-level information
    +  list         Returns the history of operations made with API key
    +  login        Log in to Community Attestation Service
    +  logout       Logout the current user
    +  notarize     Notarize an asset onto Community Attestation Service
    +  unsupport    Unsupport an asset
    +  untrust      Untrust an asset
    +
    +Flags:
    +      --caspath string   config files (default is user home directory)
    +  -h, --help             help for cas
    +  -o, --output string    output format, one of: --output=json|--output=''
    +  -S, --silent           silent mode, don't show progress spinner, but it will still output the result
    +      --verbose          if true, print additional information
    +  -v, --version          version for cas
    +
    +Use "cas [command] --help" for more information about a command.
    +
    +

    # Example on Windows

    # Install:

    For Windows users, download your cas tool binary here (opens new window).

    # Test run:

    Run the .exe file from the command line:

    C:\Users\auser>cas-v1.0.3-windows-amd64.exe help
    +Usage:
    +  cas [command]
    +
    +Available Commands:
    +  authenticate Authenticate assets against CAS
    +  bom          Collect BOM information
    +  completion   Generate the autocompletion script for the specified shell
    +  help         Help about any command
    +  inspect      Returns the asset history with low-level information
    +  list         Returns the history of operations made with API key
    +  login        Log in to Community Attestation Service
    +  logout       Logout the current user
    +  notarize     Notarize an asset onto Community Attestation Service
    +  unsupport    Unsupport an asset
    +  untrust      Untrust an asset
    +
    +Flags:
    +      --caspath string   config files (default is user home directory)
    +  -h, --help             help for cas
    +  -o, --output string    output format, one of: --output=json|--output=''
    +  -S, --silent           silent mode, don't show progress spinner, but it will still output the result
    +      --verbose          if true, print additional information
    +  -v, --version          version for cas
    +
    +Use "cas [command] --help" for more information about a command.
    +

    # Alternative installation method for AlmaLinux systems

    An alternative to Official CAS installation method is to install the CAS tool package from the AlmaLinux repository. This will (obviously) work exclusively on the AlmaLinux system.

    TIP

    The CAS package is available in AlmaLinux Architect's COPR (Community Owned Package Repository). Here, we install it on system based on AlmaLinux 9.1 (opens new window) release.

    # 1. Enable the COPR repo for codenotary package
    $ sudo dnf copr --hub build.almalinux.org enable andrewlukoshko/codenotary
    +
    # Expected output:
    [almalinux_user@demohost ~]$ sudo dnf copr --hub build.almalinux.org enable andrewlukoshko/codenotary
    +Enabling a Copr repository. Please note that this repository is not part
    +of the main distribution, and quality may vary.
    +
    +The Fedora Project does not exercise any power over the contents of
    +this repository beyond the rules outlined in the Copr FAQ at
    +<https://docs.pagure.org/copr.copr/user_documentation.html#what-i-can-build-in-copr>,
    +and packages are not held to any quality or security level.
    +
    +Please do not file bug reports about these packages in Fedora
    +Bugzilla. In case of problems, contact the owner of this repository.
    +
    +Do you really want to enable build.almalinux.org/andrewlukoshko/codenotary? [y/N]: y
    +Repository successfully enabled.
    +[almalinux_user@demohost ~]$ 
    +
    # 2. Perform the actual installation step:
    $ sudo dnf install cas
    +
    # Expected output:
    [almalinux_user@demohost ~]$ sudo dnf install cas
    +Copr repo for codenotary x86_64 owned by andrewlukoshko                                       891  B/s | 1.2 kB     00:01    
    +
    +Dependencies resolved.
    +==============================================================================================================================
    + Package        Architecture      Version                 Repository                                                     Size
    +==============================================================================================================================
    +Installing:
    + cas            x86_64            1.0.3-1.el9             copr:build.almalinux.org:andrewlukoshko:codenotary            5.4 M
    +
    +Transaction Summary
    +==============================================================================================================================
    +Install  1 Package
    +
    +Total download size: 5.4 M
    +Installed size: 19 M
    +Is this ok [y/N]: y
    +Downloading Packages:
    +cas-1.0.3-1.el9.x86_64.rpm                                                                    493 kB/s | 5.4 MB     00:11    
    +------------------------------------------------------------------------------------------------------------------------------
    +Total                                                                                         493 kB/s | 5.4 MB     00:11     
    +Running transaction check
    +Transaction check succeeded.
    +Running transaction test
    +Transaction test succeeded.
    +Running transaction
    +  Preparing        :                                                                                                      1/1 
    +  Installing       : cas-1.0.3-1.el9.x86_64                                                                               1/1 
    +  Running scriptlet: cas-1.0.3-1.el9.x86_64                                                                               1/1 
    +  Verifying        : cas-1.0.3-1.el9.x86_64                                                                               1/1 
    +
    +Installed:
    +  cas-1.0.3-1.el9.x86_64                                                                                                      
    +
    +Complete!
    +[almalinux_user@demohost ~]$
    +

    PREP DONE: At this point your system is ready to work with AlmaLinux SBOM infrastructure!


    # Using Guide

    Authenticate SBOM on packages - definition:

    Authentication - matches the hash of a local asset to a hash on CAS. In case of AlmaLinux the local asset is an RPM binary package.

    There are a few ways to authenticate the package:

    • Authenticate by package binary file
    • Authenticate with manually calculated rpm-package-hash
    • Authenticate with rpm-package-hash from AlmaLinux Build System

    TIP

    Note: The cas program is a command line tool with a unified interface across all three platforms (Linux®, macOS, Windows); Therefore, the commands shown in the section below can be used on all supported platforms.

    # Authenticate by package binary file

    # Get the package

    To examine a package from the repo you should first get the URL.

    TIP

    The package we selected for this demo was: kernel-5.14.0-162.12.1.el9_1.x86_64.rpm

    URL:

    http://repo.almalinux.org/almalinux/9.1/BaseOS/x86_64/os/Packages/kernel-5.14.0-162.12.1.el9_1.x86_64.rpm
    +
    # Use curl to get the package:
    curl http://repo.almalinux.org/almalinux/9.1/BaseOS/x86_64/os/Packages/kernel-5.14.0-162.12.1.el9_1.x86_64.rpm -o kernel-5.14.0-162.12.1.el9_1.x86_64.rpm
    +

    # Authentication using the CAS tool

    Use the downloaded package file (path) as a parameter for the cas command:

    cas authenticate --signerID=cloud-infra@almalinux.org kernel-5.14.0-162.12.1.el9_1.x86_64.rpm
    +
    # Live example

    image

    CONGRATULATIONS! You have just authenticated a package with the cas CLI tool!

    # Authenticate with manually calculated rpm-package-hash

    You can also calculate package hash manually from CLI.

    Assuming here, you have the package already. If not please refer to "Get the package" above.

    To get the rpm-package-hash you just need to calculate sha256sum:

    PKG_FILE=kernel-5.14.0-162.12.1.el9_1.x86_64.rpm
    +SUM=$(sha256sum $PKG_FILE)
    +HASH=${SUM%%\ *rpm}
    +

    # Authentication using the CAS tool

    Use the calculated hash as value for parameter --hash in the cas tool invocation:

    cas authenticate --signerID=cloud-infra@almalinux.org --hash $HASH
    +
    # Live example

    The whole process as described above should look like:

    image

    CONGRATULATIONS! You have just authenticated a package with the cas CLI tool!

    # Get rpm-package-hash (or package) from AlmaLinux Build System

    Alternatively, you can get rpm-package-has (and package binary, of course) from the build site.

    # 1. Navigate your browser https://build.almalinux.org/

    # 2. Search for a desired package (build) by name, in the example we look for kernel:

    TIP

    To open the search tab click on the magnifying glass icon in the right top corner.

    TIP

    Naturally, you can narrow the search by supplying more parameters to the filter.

    image

    TIP

    More info about working with the build-system page: +AlmaLinux Build System User Guide | the build feedscreen (opens new window)

    # 3. Click the ⓘ Details on the selected entry (here: top one) you will get the build summary:

    image

    # 4. Select the architecture of the package build by clicking the corresponding tab

    # Here x86_64 was selected:

    image

    # 5. Hover your mouse over the blue key icon to reveal the rpm-package-hash:

    # Click to copy it to the clipboard:

    image

    TIP

    You can download the package binary by clicking on the link with its name.

    # Authentication using a hash obtained from Build Service

    TIP

    The command is the same as above, here just shows output in form of a static picture.

    Call the cas tool providing the copied rpm-package-hash as --hash parameter value:

    cas authenticate --signerID=cloud-infra@almalinux.org --hash ed061fab17b8f269d5fd421a14d0ec81ce5dc357a3ebffe33b5bd2a75e9dd704
    +
    # Example output:
    [almalinux_user@demohost ~]$ cas authenticate --signerID=cloud-infra@almalinux.org --hash ed061fab17b8f269d5fd421a14d0ec81ce5dc357a3ebffe33b5bd2a75e9dd704
    +CAS saved locally the trusted public key
    +CAS automatically trusted the signature found on current connection
    +UID:		1674560717775452939
    +Kind:		file
    +Name:		kernel-5.14.0-162.12.1.el9_1.src.rpm
    +Hash:		ed061fab17b8f269d5fd421a14d0ec81ce5dc357a3ebffe33b5bd2a75e9dd704
    +Size:		137 MB
    +Timestamp:	2023-01-24 11:45:17.775452939 +0000 UTC
    +ContentType:	application/x-rpm
    +Metadata:	build_arch="i686"
    +		epoch="None"
    +		release="162.12.1.el9_1"
    +		sourcerpm="None"
    +		arch="noarch"
    +		build_host="x64-builder02.almalinux.org"
    +		git_ref="changed/a9/kernel-5.14.0-162.12.1.el9_1.alma"
    +		alma_commit_sbom_hash="ef90a8252e33e09860be86482f5c8c9d932392e360a828ee8e0a58cdbc451804"
    +		git_url="https://git.almalinux.org/rpms/kernel.git"
    +		version="5.14.0"
    +		source_type="git"
    +		build_id="5657"
    +		built_by="eabdullin1 \u003c55892454+eabdullin1@users.noreply.github.com\u003e"
    +		git_commit="dec6aca7a2b4f5a5b59e6b10efde21e47fda9827"
    +		name="kernel"
    +		sbom_api="0.2"
    +SignerID:	Y2xvdWQtaW5mcmFAYWxtYWxpbnV4Lm9yZw==
    +Apikey revoked:	no
    +Status:		TRUSTED
    +

    # Trademark notices

    Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.

    macOS are trademarks of Apple Inc., registered in the U.S. and other countries.

    Windows is a registered trademark of Microsoft Corporation in the United States and other countries.

    + + + diff --git a/documentation/wsl.html b/documentation/wsl.html new file mode 100644 index 000000000..6d5a0ea2d --- /dev/null +++ b/documentation/wsl.html @@ -0,0 +1,63 @@ + + + + + + AlmaLinux WSL | AlmaLinux Wiki + + + + + + + + + +

    # Windows Subsystem for Linux

    # About WSL

    Windows Subsystem for Linux (WSL) is designed as integration between Windows and Linux. You can now run the AlmaLinux terminal environment on a Windows machine. It doesn't require a dual-boot or a VM.

    # Supported versions:

    You can get an image from the Microsoft Store:

    or using the direct links:

    AlmaLinux 8 Intel/AMD (x86_64) ARM64 (AArch64)
    AlmaLinux 9 Intel/AMD (x86_64) ARM64 (AArch64)

    # Installation steps

    Follow these steps to get AlmaLinux for WSL.

    • To start with, let's check what is the Windows build number. Press Win + R. Run winver command and press OK or Enter. You'll get About Windows information saying Microsoft Windows version. If OS Build is 19041 or higher, continue. If not, please, check popular issues section.

    • Find PowerShell in the Windows search bar. Choose Run as administrator option. +image

    • Run wsl --install command. This command will automatically install Virtual Machine Platform, Windows Subsystem for Linux and download WSL Kernel. It will also set your default WSL version to WSL2. +image

    • After WSL installations are completed, you need to reboot the system.

    • Now open Microsoft Store and search for AlmaLinux 8 WSL or AlmaLinux 9 app. Press Get. Installation of the app will begin. +image

    • When the installation is finished, you'll get a notification. You can launch AlmaLinux WSL app now.

    • A terminal will be opened with the AlmaLinux installation process. You'll need to create a username and password.

    TIP

    These username and password don't have to match with your Windows user credentials.

    • After installation is finished successfully, congratulations, you can now run AlmaLinux terminal on your Windows machine. +image
    • If your Windows build version is older than 19041, you'll have to perform a few manual steps to setup WSL. Check the Microsoft Guide (opens new window) for the details.

    • If you get an error during AlmaLinux WSL installation, please, check in the BIOS menu that the Virtualization option is enabled.

    + + + diff --git a/election2023.html b/election2023.html new file mode 100644 index 000000000..257132f8d --- /dev/null +++ b/election2023.html @@ -0,0 +1,59 @@ + + + + + + Election 2023 | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux Board of Directors Election 2023

    # 2023 - Election Results

    New Board Members:

    # Votes cast

    # Contributor and Mirror members, 200 voters out of 351 possible

    # Platinum members, 1 voter, out of 2 possible

    # Gold members, 2 voters out of 3 possible

    # Silver members, 7 voters out of 11 possible

    # Process

    The AlmaLinux OS Foundation is running an election to fill 3 vacant seats on the Board of Directors. The election will start on December 1st, 2023.

    At this stage we are looking for nominees for the Board of Director position. To be nominated you have to:

    • Be an AlmaLinux OS Foundation member for at least 3 months by Dec 1st, 2023
    • Be nominated by an AlmaLinux OS Foundation member in good standing

    To nominate someone email name & contact information of nominee to elections@almalinux.org

    Please, check FAQ section for more information.

    # Nominees

    • image Alejandro Iribarren (opens new window) - Alejandro has strong ties within the AlmaLinux community and can represent the scientific use-case of AlmaLinux, both internally at the CERN site as well as throughout our HEP (high energy physics) associates. nominated by Ben Morris
    • Image Jun Yoshida (opens new window) - Jun is an Executive Officer of CyberTrust Japan and a member of the AlmaLinux community. He has been a strong advocate for AlmaLinux in Japan. nominated by Koichiro Iwao

    Last updated Dec 1, 2023

    # Election Committee

    # FAQ

    • When does the election start?

      • The election starts on Dec 1st, 2023 and run until Dec 16th, 2023. If we don't reach quorum by Dec 16th, the election will stay open until quorum is reached.
      • To reach the quorum we need 50% of all Foundation members to vote.
    • Can I nominate myself?

      • No, you must be nominated by a supporting member in good standing.
    • Who can be nominated?

      • Any member in good standing, approved by the membership committee not less than 3 months before the election
      • Note: only members in good standing may nominate a potential board member, and each nominee must have a supporting member (you cannot nominate yourself).
    • How can I nominate someone?

      • E-Mail name & contact information of nominee to elections@almalinux.org
    • My company is a member sponsor, can it nominate any company employee?

      • Yes, sponsors can nominate any company employee, but if the employee is terminated, or company sponsorship laps, the person may be asked to step down from the role.
    • Who can vote?

      • Any Platinum, Gold, Silver, Contributor, User, Alumnus, or Mirror member in good standing, approved by the membership committee on or before November 29th.
    • How can I vote?

      • You will get a link to the voting page in your e-mail on the day voting starts.
    • How many votes does each member get?

      • Contributor, Alumnus, Mirror members: 1 vote each
      • Platinum sponsors: 50 votes each
      • Gold sponsors: 15 votes each
      • Silver sponsors: 5 votes each
    • What is the minimum number of votes you need to win?

      • At least 50% of our membership must vote in order for the election to be valid
      • Top 3 candidates with most votes will win
    • How many seats are on the board, and how many are vacant?

      • There are 9 seats on the board, 3 are vacant, the other 6 were elected last year and do not need to be re-elected at this time.
    • How long does a director serve?

      • A term on the board is 3 years, unless the director leaves for any reasons.
    • What platform will you use for the elections?

      • Helios.
    • How are vacancies handled in the event that a director leaves before the end of their term?

      • If a seat is vacated less than three months before a planned election, the board may fill the vacancy by a majority vote, or may choose to leave the seat vacant.
      • If a seat is vacated more than three months before a planned election, the board must trigger an election to fill the seat or appoint someone to fill the seat.
    • Are directors on the board compensated?

      • Board positions are not compensated positions
    • Is Director at the AlmaLinux OS Foundation a full-time position?

      • It is not a full-time position.
    • How is the Chair of the board of directors elected?

      • The chair is one of the officers elected by the at the first meeting of a new board of directors, or as needed.
    • Can two members of the board also work at the same company?

      • No.
    + + + diff --git a/elevate/Contribution-guide.html b/elevate/Contribution-guide.html new file mode 100644 index 000000000..bc6ac1ef5 --- /dev/null +++ b/elevate/Contribution-guide.html @@ -0,0 +1,267 @@ + + + + + + ELevate Contribution Guide | AlmaLinux Wiki + + + + + + + + + +
    # last updated: 2024-08-30

    # Contribute to the ELevate project

    We welcome contributors to the ELevate project. You can help with:

    # Third-party vendors support

    Currently, the ELevate project supports the following of 3rd party repositories:

    • EPEL support is currently available for upgrades to AlmaLinux OS only.
    • MariaDB - for all supported operating systems.
    • nginx - for all supported operating systems.
    • PostgreSQL - for all supported operating systems.
    • Imunify - for upgrades to EL8.
    • KernelCare - for upgrades to EL8.

    This guide provides steps to integrate 3rd party repository packages into the ELevate upgrade process.

    DANGER

    Note, that all your 3rd party packages must be signed.

    # Repository mapping file

    The mapping .json file provides information on mappings between source system repositories (repositories present on the system being upgraded) and target system repositories (package repositories to be used during the upgrade).

    In case the 3rd party repository is designed for 2 migration directions, you must prepare 2 mapping JSON files:

    • <vendor_name>_map.json.el8 - repository mapping file for upgrades to EL8.
    • <vendor_name>_map.json.el9 - repository mapping file for upgrades to EL9.

    The mapping JSON file structure includes:

    • datetime - a generated date-time stamp, for example: 202306191741Z.
    • version - version of the database, you can check the current version in the leapp-data repository (opens new window).
    • Two sections, described below: +
      • mapping
      • repositories

    WARNING

    The mapping file defines whether a vendor's packages will be included in the upgrade process. If at least one source repository listed in the file is present on the system, the vendor is considered active, and package repositories/PES events are enabled - otherwise, they will not affect the upgrade process.

    # Mapping section

    The mapping section establishes connections between repositories.

    This section defines a mapping between major system versions. It contains the following elements:

    • source_major_version - defines a major system version from which the system would be upgraded, 7 or8.
    • target_major_version - defines a major system version to which the system would be elevated, 8 or9.
    • entries - defines a list of repository mappings. +
      • source - defines a source repository that will be found on a pre-upgrade system.
      • target - defines a target upgrade repository (or a list of repositories) that will contain new versions of packages.
      • Each source repository can map to one or multiple target repositories.
      • source and target repositories must be listed and defined in the repository section and the .pes file, and their IDs must match.

    # Repositories section

    The repositories section provides both source and target repositories information.

    Each repository should contain its own unique information:

    • pesid - ID specific to mapping/PES files, if it doesn't match, the upgrade will fail with a corresponding error.
    • entires: +
      • major_version - defines a major system version.
      • repoid - defines a repository ID. It must match its ID from its .repo file, but it doesn't have to match its 'pesid`.
      • arch - defines the system architecture for which this repository is relevant.
      • channel - Red Hat specific argument, defines one of the following repository channels: +
        • ga - general availability (stable) repositories; the most used one.
        • beta - beta/testing repositories.
        • eus, e4s, aus, tus - stand for Extended Update Support, Update Services for SAP Solutions, Advanced Update Support, and Telco Extended Update Support respectively.
      • repo_type - defines one of the following repository types: +
        • rpm - for RPM packages.
        • srpm - for source packages.
        • debuginfo - for packages with debug information.

    # Package repository file

    The package repository.repo file defines the vendor's package repositories that will be used during the upgrade.

    In case the 3rd party repository is designed for 2 migration directories, you must prepare 2 repository files:

    • <vendor_name>.repo.el8 - repository information for upgrades to EL8.
    • <vendor_name>.repo.el9 - repository information for upgrades to EL9.

    The repository file has the same format that is typical for YUM/DNF package repository files:

    [repository ID]
    +name = repository name
    +baseurl = repository baseurl
    +gpgkey = GPG Key directory
    +gpgcheck = 1
    +enabled = 1
    +

    TIP

    You can also refer to MariDB examples: mariadb.repo.el8 (opens new window) and mariadb.repo.el9 (opens new window).

    NOTE: The repositories listed in this repo file are only used during the upgrade. Package repositories on the post-upgrade system should be provided through updated packages or custom repository deployment.

    # Package signatures list

    The package signature .sigs file should contain the list of public signature headers that the packages are signed with.

    You can find signature headers for your packages by running the following command:

    rpm -qip <PACKAGE_NAME> | grep Signature
    +
    # An example output:
    Signature   : DSA/SHA1, Mon Aug 23 08:17:13 2021, Key ID 8c55a6628608cb71
    +

    The Key ID value after - 8c55a6628608cb71 from the example - is the public signature header you must put into the signature file. +The file format is designed to have one signature per line.

    TIP

    You can also refer to MariDB examples: mariadb.sigs (opens new window).

    # Package migration event list

    The package migration event list is used for complex specific package actions that can not be handled by DNF.

    Typically this data can be found in the leapp-data/vendors.d/<vendor_name>_pes.json file in the GitHub repository (opens new window) and the /etc/leapp/files/vendors.d/<vendor_name>_pes.json file on a system that is being upgraded.

    WARNING

    Actions from PES JSON files will be in effect only for those packages that are signed and have their signatures in one of the active <vendor_name>.sigs files. Unsigned packages will be updated only if some signed package requires a new version, otherwise, they will be left as they are.

    # Creating a pes.json

    If your 3rd party packages don't require any additional actions, stick to the following format to create your pes.json file:

    {
    +    "legal_notice": "",
    +    "packageinfo": [],
    +    "provided_data_streams": [
    +        "2.0"
    +    ],
    +    "timestamp": "202408081321Z"
    +}
    +

    If the packages require additional action, fill in the file to add the information for the upgrade.

    • Add a new entry to the packageinfo array.

    • action - defines which of the following actions will be performed for your 3rd party vendor packages. Actions 1, 3, 4 and 5 are the most used ones.

      • 0 - present; +
        • keep the packages in in_packageset to ensure the repo they reside in on the target system gets enabled.
      • 1 - removed; +
        • remove all packages in in_packageset.
      • 2 - deprecated; +
        • keep the packages in in_packageset to ensure the repo they reside in on the target system gets enabled.
      • 3 - replaced; +
        • remove all packages in in_packageset.
        • install parts of the out_packageset that are not present on the system.
        • keep the packages from out_packageset that are already installed.
      • 4 - split +
        • install parts of the out_packageset that are not present on the system
        • keep the present out_packageset.
        • remove packages from in_packageset that are not present in out_packageset.
        • in case of package X being split into Y and Z, package X will be removed.
        • in case of package X being split into X and Y, package X will not be removed.
        # An example action structure:
        DETAILS
           {
        +    "action": 4,
        +    "architectures": [
        +        "aarch64",
        +        "ppc64le",
        +        "s390x",
        +        "x86_64"
        +    ],
        +    "id": 23,
        +    "in_packageset": {
        +        "package": [
        +            {
        +                "modulestreams": [
        +                    null
        +                ],
        +                "name": "ntp",
        +                "repository": "base"
        +            }
        +        ],
        +        "set_id": 29
        +    },
        +    "initial_release": {
        +        "major_version": 7,
        +        "minor_version": 7,
        +        "os_name": "CentOS"
        +    },
        +    "modulestream_maps": [
        +        {
        +            "in_modulestream": null,
        +            "out_modulestream": null
        +        }
        +    ],
        +    "out_packageset": {
        +        "package": [
        +            {
        +                "modulestreams": [
        +                    null
        +                ],
        +                "name": "chrony",
        +                "repository": "almalinux8-baseos"
        +            },
        +            {
        +                "modulestreams": [
        +                    null
        +                ],
        +                "name": "ntpstat",
        +                "repository": "almalinux8-appstream"
        +            }
        +        ],
        +        "set_id": 30
        +    },
        +    "release": {
        +        "major_version": 8,
        +        "minor_version": 0,
        +        "os_name": "AlmaLinux"
        +    }
        +},
        +
      • 5 - merged +
        • install packages from the out_packageset that are not present on the system.
        • remove packages from in_packageset that are not present in out_packageset.
        • in case of packages Y and Z being merged to X, packages Y and Z will be removed.
        • in case of packages Y and Z are not being merged to X, packages Y and Z will not be removed .
        # An example action structure:
        DETAILS
           {
        +    "action": 5,
        +    "architectures": [
        +        "aarch64",
        +        "ppc64le",
        +        "s390x",
        +        "x86_64"
        +    ],
        +    "id": 93,
        +    "in_packageset": {
        +        "package": [
        +            {
        +                "modulestreams": [
        +                    null
        +                ],
        +                "name": "infiniband-diags",
        +                "repository": "base"
        +            },
        +            {
        +                "modulestreams": [
        +                    null
        +                ],
        +                "name": "libibmad",
        +                "repository": "base"
        +            }
        +        ],
        +        "set_id": 118
        +    },
        +    "initial_release": {
        +        "major_version": 7,
        +        "minor_version": 7,
        +        "os_name": "CentOS"
        +    },
        +    "modulestream_maps": [
        +        {
        +            "in_modulestream": null,
        +            "out_modulestream": null
        +        }
        +    ],
        +    "out_packageset": {
        +        "package": [
        +            {
        +                "modulestreams": [
        +                    null
        +                ],
        +                "name": "infiniband-diags",
        +                "repository": "almalinux8-baseos"
        +            }
        +        ],
        +        "set_id": 9451
        +    },
        +    "release": {
        +        "major_version": 8,
        +        "minor_version": 0,
        +        "os_name": "AlmaLinux"
        +    }
        +},
        +
      • 6 - moved to new repository +
        • keep the package to make sure the repo it's in on the target system gets enabled.
        • nothing happens to in_packageset as it always contains one package - the same as the "out" package.
      • 7 - renamed +
        • remove the in_packageset and install the out_packageset if not installed.
        • if already installed, keep the out_packageset as-is.
      • 8 - reinstalled +
        • reinstall the in_packageset package during the upgrade transaction.
        • mostly useful for packages that have the same version string between major versions, and thus won't be upgraded automatically.

      WARNING

      Additional notes and exceptions:

      • any event except present is ignored if any of the packages in in_packageset are marked for removal.
      • any event except merged is ignored if any of the packages in in_packageset are neither installed nor marked for installation.
      • for merged events it is sufficient to have at least one package from in_packageset either installed or marked for installation.
    • architectures - defines what system architectures the listed actions are effective for. +*id - defines entry ID, must be unique; use the scripts below to check your ID.

    • in_packageset - defines a set of packages on the system to be upgraded.

      • The repository field defines the package repository the package was installed from on the source system.
    • out_packageset - defines a set of packages to switch to.

      • The repository field for packages should be the same as the "Target system repo name in PES" field in the associated vendor repository mapping file.
    • initial_release - defines a system that is to be upgraded, must include OS major and minor versions, and OS name.

    • release - defines target system, must include OS major and minor versions, and OS name.

    TIP

    The Leapp-tool doesn't force packages from out_packageset to be installed from the specific repository. Instead, it enables repo from out_packageset and then DNF installs the latest package version from all enabled repos.

    When creating in_packageset and out_packageset lists, please, stick to the following format:

          "in_packageset": {
    +        "package": [
    +          {
    +            "module_stream": null,
    +            "name": "PackageKit",
    +            "repository": "base"
    +          },
    +          {
    +            "module_stream": null,
    +            "name": "PackageKit-yum",
    +            "repository": "base"
    +          }
    +        ],
    +        "set_id": 1592
    +      },
    +

    # Validate pes.json and ID

    • You can run the following scripts that will validate your package migration events filepes.json and check ID for duplication:

      #!/bin/bash
      +
      +DISTRO=$1
      +PWD=$( pwd )
      +
      +if [ -z "$DISTRO" ]; then
      +    echo "$0 almalinux|centos|eurolinux|oraclelinux|rocky" 
      +    exit 1 
      +fi
      +
      +JSON_FILES=$(find ${PWD}/files/${DISTRO}/ -path "./tests" -prune -o -name "*pes*.json" -print0 | xargs -0 echo)
      +JSON_FILES="${JSON_FILES} $(find ${PWD}/vendors.d/ -path "./tests" -prune -o -name "*pes*.json*" -print0 | xargs -0 echo)"
      +
      +
      +echo "Validating ${JSON_FILES} for the ${DISTRO}"
      +echo
      +
      +echo "... run tests/validate_json.py"
      +python3 tests/validate_json.py tests/pes-events-schema.json $JSON_FILES ||   exit 1
      +echo
      +
      +echo "... run tests/validate_ids.py"
      +python3 tests/validate_ids.py $JSON_FILES || exit 1
      +echo
      +
      +echo "... run tests/check_debranding.py"
      +python3 tests/check_debranding.py ${PWD}/files/${DISTRO}/pes-events.json || exit 1
      +echo
      +
      +echo "$DISTRO - OK"
      +exit 0
      +
    • Check ID for duplication and fix it:

      #!/bin/bash
    +
    +  DISTRO=$1
    +  PWD=$( pwd )
    +
    +  if [ -z "$DISTRO" ]; then
    +      echo "$0 almalinux|centos|eurolinux|oraclelinux|rocky" 
    +      exit 1
    +  fi
    +
    +  JSON_FILES=$( find ${PWD}/vendors.d/ -path "./tests" -prune -o -name "*pes*.json*" -print0 | xargs -0 echo )
    +
    +  python3 tools/id_uniquifier.py ./files/${DISTRO}/pes-events.json $JSON_FILES || exit 1
    +
    +  echo "$DISTRO - OK"
    +

    # Creating a pull request

    Once you've prepared the vendor data for migration and tested the upgrade process, create a pull request to leapp-data repository (opens new window) to make it publicly available.

    WARNING

    If your v3rd party repository data is intended only for a specific OS and not all supported OSes, please put it in the files/<target_OS>/vendors.d/ direction.

    When testing on your system, put your vendor files to the /etc/leapp/files/vendors.d/ direction before starting the upgrade.

    Next, when the pull request is submitted, the AlmaLinux Team will review it.

    # Contribute to Testing

    We are also seeking contributors to test new ELevate features and upgrade directions.

    The current ELevate process is the following:

    image

    • ELevate NG is designed to collect community contributions such as new support, features and bugfixes, leapp-repository, and leapp-data new versions. We test these enhancements first and welcome the community to test them. If you are interested please refer to the ELevate NG Testing Guide (opens new window).
    • ELevate NG goes to the general testing. If you are interested please refer to the ELevate Testing Guide (opens new window). Meanwhile, ELevate NG gathers new data, features and improvements.
    • When the updated process is tested and approved, the Almainux Team releases it to ELevate Stable and publishes the announcement via AlmaLinux Blog (opens new window), Social Media and Mailing List (opens new window) which you can subscribe not the miss the news!

    # Get Help

    For more help and assistance reach out to us in the ~migration channel on the AlmaLinux Community Chat (opens new window).

    + + + diff --git a/elevate/ELevate-NG-testing-guide.html b/elevate/ELevate-NG-testing-guide.html new file mode 100644 index 000000000..c60b988d9 --- /dev/null +++ b/elevate/ELevate-NG-testing-guide.html @@ -0,0 +1,116 @@ + + + + + + ELevate NG Testing Guide | AlmaLinux Wiki + + + + + + + + + +
    # last updated: 2024-09-05

    # ELevate NG Testing Guide

    WARNING

    Before beginning, we HIGHLY recommend that you follow system administration best practices and make sure you have backups and/or snapshots of your system before you proceed. It is recommended to do a trial run in a sandbox to verify the upgrade worked as expected before you attempt to upgrade any production system. Please report any issues encountered to the AlmaLinux Bug Tracker (opens new window) and/or AlmaLinux Chat Migration Channel (opens new window)

    The ELevate NG supports a number of 3rd party repositories:

    • EPEL support is currently available for upgrades to AlmaLinux OS only.
    • Docker CE - for all supported operating systems.
    • MariaDB - for all supported operating systems.
    • Microsoft Linux Package Repositories - for all supported operating systems.
    • nginx - for all supported operating systems.
    • PostgreSQL - for all supported operating systems.
    • Imunify - for upgrades to EL 8.
    • KernelCare - for upgrades to EL 8.

    TIP

    You can add more 3rd party repositories support. See more on the Contribute page.

    Currently, the following upgrade paths are available:

    image

    * - upgrading from Scientific Linux 7 to AlmaLinux 8 requires a workaround. Please, see more in the known issues.
    +** - upgrading to Oracle Linux 9 is available with the Oracle Leapp utility (opens new window) and will not be supported by ELevate project.

    # Upgrade CentOS 7 to AlmaLinux 8

    • Update the system to get the latest updates and reboot your machine. +NOTE: Since the CentOS 7 repositories are now offline you will need to swap to the CentOS vault, or you can use our CentOS 7 mirror that we've setup for use with ELevate:

      sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://el7.repo.almalinux.org/centos/CentOS-Base.repo
      +sudo yum upgrade -y
      +sudo reboot
      +
    • Install ELevate NG version repo config for CentOS7, and import ELevate GPG key:

      sudo curl -o /etc/yum.repos.d/elevate-ng.repo https://repo.almalinux.org/elevate/testing/elevate-ng-el$(rpm -E %rhel).repo
      +sudo rpm --import https://repo.almalinux.org/elevate/RPM-GPG-KEY-ELevate
      +
    • Install leapp packages and upgrade data for AlmaLinux:

      sudo yum install -y leapp-upgrade leapp-data-almalinux
      +
    • Start a preupgrade check. In the meanwhile, the Leapp utility creates a special /var/log/leapp/leapp-report.txt file that contains possible problems and recommended solutions. No rpm packages will be installed at this phase.

      WARNING

      Preupgrade check will fail as the default install doesn't meet all requirements for the upgrade.

      sudo leapp preupgrade
      +

      This summary report will help you get a picture of whether it is possible to continue the upgrade.

      TIP

      In certain configurations, Leapp generates /var/log/leapp/answerfile with true/false questions. Leapp utility requires answers to all these questions in order to proceed with the upgrade.

    • The following fixes from the /var/log/leapp/leapp-report.txt file are the most popular for CentOS 7, but it's recommended to review the whole file.

      sudo rmmod pata_acpi
      +echo PermitRootLogin yes | sudo tee -a /etc/ssh/sshd_config
      +sudo leapp answer --section remove_pam_pkcs11_module_check.confirm=True
      +

      Check the ELevate Frequent Issues page for known and frequent issues and guidance steps to solve them.

    • Start an upgrade. You'll be offered to reboot the system after this process is completed.

      sudo leapp upgrade
      +sudo reboot
      +
    • A new entry in GRUB called ELevate-Upgrade-Initramfs will appear. The system will be automatically booted into it. +See how the upgrade process goes in the console.

    • After reboot, login to the system and check how the upgrade went. Verify that the current OS is the one you need. Check logs and packages left from previous OS version, consider removing them or upgrading them manually.

      cat /etc/redhat-release
      +cat /etc/os-release
      +rpm -qa | grep el7 
      +sudo cat /var/log/leapp/leapp-report.txt
      +sudo cat /var/log/leapp/leapp-upgrade.log
      +

    # Prepare the system for upgrade to AlmaLinux 9

    When successfully upgraded to AlmaLinux 8 OS, consider performing these steps to prepare your system for upgrading to AlmaLinux 9:

    • Navigate to the /etc/ directory and use an editor of your choice to edit the yum.conf file. You need to remove everything from the exclude line especially that refers to elevate or leapp.

      # An example of yum.conf file:
      [main]
      +gpgcheck=1
      +installonly_limit=3
      +clean_requirements_on_remove=True
      +best=True
      +skip_if_unavailable=False
      +exclude=python2-leapp,snactor,leapp-upgrade-el7toel8,leapp
      +
    • Then navigate to the /etc/dnf/ directory and use an editor of your choice to do the same in the dnf.conf file.

    • Now you can remove/manually upgrade packages left from CentOS 7 without any conflicts.

    • Check packages left from CentOS 7:

      rpm -qa | grep el7
      +

      An example output with a list of packages:

       python2-leapp-0.16.0-2.el7.noarch
      + kernel-3.10.0-1160.105.1.el7.x86_64
      + leapp-upgrade-el7toel8-0.19.0-5.el7.noarch
      + leapp-data-almalinux-0.2-6.el7.noarch
      + leapp-0.16.0-2.el7.noarch
      +

      As mentioned above, consider removing these packages or upgrading them manually to proceed with the upgrade to AlmaLinux 9.

      TIP

      If you face difficulties while removing the packages, the following command might help you:

      sudo rpm -e --nodeps <package_name>
      +
    • You can also check for the packages left from the upgrade process and remove them:

      rpm -qa | grep elevate
      +rpm -qa | grep leapp
      +
    • Check whether you have the /root/tmp_leapp_py3 directory created and if so delete it.

      sudo rm -fr /root/tmp_leapp_py3
      +
    • Clean up your machine.

      sudo dnf clean all
      +
    • You may also have to remove old RSA/SHA1 GPG keys. List the keys:

      rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n'
      +

      To remove them, use use the rpm -e command:

      sudo rpm -e [keyname]
      +

    After these preparations are completed, you can upgrade your AlmaLinux 8 machine to AlmaLinux 9.

    # Upgrading AlmaLinux 8 to AlmaLinux 9

    • Install ELevate NG version repo config for AlmaLinux8:

      sudo curl -o /etc/yum.repos.d/elevate-ng.repo https://repo.almalinux.org/elevate/testing/elevate-ng-el$(rpm -E %rhel).repo
      +
    • Install leapp packages and upgrade data for AlmaLinux:

      sudo yum install -y leapp-upgrade leapp-data-almalinux
      +
    • Start a preupgrade check. In the meanwhile, the Leapp utility creates a special /var/log/leapp/leapp-report.txt file that contains possible problems and recommended solutions. No rpm packages will be installed at this phase.

      WARNING

      Preupgrade check will fail as the default install doesn't meet all requirements for the upgrade.

      sudo leapp preupgrade
      +

      This summary report will help you get a picture of whether it is possible to continue the upgrade.

      TIP

      In certain configurations, Leapp generates /var/log/leapp/answerfile with true/false questions. Leapp utility requires answers to all these questions in order to proceed with the upgrade.

    • The following fixes from the /var/log/leapp/leapp-report.txt file are the most popular fixes for RHEL8-based operating systems:

      sudo sed -i "s/^AllowZoneDrifting=.*/AllowZoneDrifting=no/" /etc/firewalld/firewalld.conf
      +sudo leapp answer --section check_vdo.confirm=True
      +

      You might also find the following issue in the leapp-report file that can interfere with the upgrade. Consider removing the file:

       Network configuration for unsupported device types detected
      + Summary: RHEL 9 does not support the legacy network-scripts package that was deprecated in RHEL 8 in favor of NetworkManager. Files for device types that are not supported by NetworkManager are present in the system. Files with the problematic configuration:
      +   - /etc/sysconfig/network-scripts/ifcfg-eth0
      +

      Check the ELevate Frequent Issues page for known and frequent issues and guidance steps to solve them.

    • Start an upgrade. You'll be offered to reboot the system after this process is completed.

      sudo leapp upgrade
      +sudo reboot
      +

      TIP

      You might want to remove the make-devel package as it conflicts when running leapp upgrade and thus this step fails.

    • A new entry in GRUB called ELevate-Upgrade-Initramfs will appear. The system will be automatically booted into it. +See how the upgrade process goes in the console.

    • After reboot, login to the system and check how the upgrade went. Verify that the current OS is the one you need. Check logs and packages left from previous OS version, consider removing them or upgrade them manually.

      cat /etc/redhat-release
      +cat /etc/os-release
      +rpm -qa | grep el8
      +sudo cat /var/log/leapp/leapp-report.txt
      +sudo cat /var/log/leapp/leapp-upgrade.log
      +

    # Demo Video

    Here we have provided a demo of a CentOS 7.x to AlmaLinux 8.x upgrade using the AlmaLinux ELevate Project.

    # Known Issues

    # Upgrading from Scientific Linux 7

    Upgrading from Scientific Linux 7 to AlmaLinux 8 requires a workaround. You can apply it by running the following command before the preupgrade check:

    rm -rf /usr/share/redhat-release /usr/share/doc/redhat-release
    +

    # Get Help

    Report your feedback to AlmaLinux ~Migration Channel (opens new window). We're especially interested in packages left from previous OS versions. This information will allow us to improve ELevate's configuration files.

    + + + diff --git a/elevate/ELevate-frequent-issues.html b/elevate/ELevate-frequent-issues.html new file mode 100644 index 000000000..c95cdbd60 --- /dev/null +++ b/elevate/ELevate-frequent-issues.html @@ -0,0 +1,81 @@ + + + + + + ELevate Frequent Issues | AlmaLinux Wiki + + + + + + + + + +
    # last updated: 2024-07-08

    # ELevate Frequent Issues

    These are the ELevate project issues the AlmaLinux team and community are currently working on together. You can find here the most frequent problems and guidance steps on how to solve them.

    # Leapp upgrade error caused by important modules from kernel drivers

    Proceeding with the upgrade, you can get the "Detected loaded kernel drivers, which have been removed" error.

    The issue can be caused by the mentioned modules:

    • mptbase
    • mptscsih
    • mptspi

    Follow these steps to resolve the issue:

    • First, you need to backup initramfs. Initramfs boots any Linux OS and mounts the root filesystem. It contains kernel modules and initial scripts. Use root or sudo user credential to run this command:
    cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.backup
    +
    • Use the Initramfs infrastructure dracut to include all drivers to build a generic initramfs:
    dracut -N -f
    +
    • After the previous step is completed, run the shutdown command to stop the system.

    • Click Virtual Machines and choose the Edit Settings option and change SCSI Controller type to VMware Paravirtual. Save changes.

    • Now, you can boot your system and run one more dracut command to regenerate initramfs.

    dracut -f --regenerate-all
    +

    # Leapp upgrade error "More space needed on the / filesystem"

    If the leapp upgrade step fails with the "More space needed on the / filesystem" error, there could be two separate problems:

    1. Not enough free space on the /var partition. In that case, it is necessary to expand the /var partition: +
    2. For a partition that uses XFS, instruct leapp to use a bigger overlay file by setting the environment variable before running leapp command (default is 2048 MB) by setting the LEAPP_OVL_SIZE environment variable:
    export LEAPP_OVL_SIZE=4096
    +

    # sssd fails after upgrade

    After upgrading, there may be problems with sssd.

    Follow these steps to resolve the issue:

    • Delete all files in /var/lib/sssd/db/:
    rm -f /var/lib/sssd/db/
    +
    • Restart sssd service:
    systemctl restart sssd
    +

    # ELevate fails due to initramfs missing a module

    When upgrading a CentOS 7 machine to an EL8 derivative, after completing the leapp upgrade step the process can fail during reboot showing an initramfs error. This is possible due to the lack of support for certain drives in EL8 that were supported in EL7.

    WARNING

    These steps are helpful at upgrading to AlmaLinux OS version 8.8 or a lower version if necessary. Once the upgrade is complete, you can upgrade your AlmaLinux system to the latest version 8.10 by running the following command:"

    dnf update
    +

    To resolve this issue, please, follow the steps below:

    • Find out what module is missing.
    • Check if it's possible to use such a package from elrepo.org (opens new window). In order not to get any dependency errors, we recommend looking for a package for EL version 8.8.
    • For the same reason, we recommend upgrading your CentOS 7 machine to AlmaLinux OS version 8.8. To do so, you need to navigate to the /etc/leapp/files/ directory and edit the leapp_upgrade_repositories.repo to lower the AlmaLinux version in baseurl/mirror to 8.8.
    • If the package is present in ELRepo, modify the leapp code to add a needed driver to ELevate initramfs. +
      • Navigate to the /etc/leapp/files/ directory and add the ELRepo repository to the leapp_upgrade_repositories.repo file:
        [elrepo]
        +name=ELRepo.org Community Enterprise Linux Repository - el8
        +baseurl=http://elrepo.org/linux/elrepo/el8/$basearch/
        +        http://mirrors.coreix.net/elrepo/elrepo/el8/$basearch/
        +        http://mirror.rackspace.com/elrepo/elrepo/el8/$basearch/
        +        http://linux-mirrors.fnal.gov/linux/elrepo/elrepo/el8/$basearch/
        +mirrorlist=http://mirrors.elrepo.org/mirrors-elrepo.el8
        +enabled=1
        +countme=1
        +gpgcheck=1
        +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
        +
      • Navigate to the /usr/share/leapp-repository/repositories/system_upgrade/common/actors/targetuserspacecreator/libraries/ directory and modify the following line in the userspacegen.py file to contain kernel modules the needed driver:
        self.packages = {'dnf', 'dnf-command(config-manager)', 'kernel-modules', 'needed_driver_name_version'}
        +
        An example for kmod-3w-sas:
        self.packages = {'dnf', 'dnf-command(config-manager)', 'kernel-modules', 'kmod-3w-sas-3.26.02.000-10.el8_8.elrepo.x86_64'}
        +
      • Navigate to the /etc/leapp/transaction/ directory to add the needed driver by writing its name and version to the to_install text file, for example: kmod-3w-sas-3.26.02.000-10.el8_8.elrepo.x86_64

    # Known issues

    • For now, the ELevate project supports only CentOS repositories. It doesn't support other third-party (external) repositories.
    • Some CentOS 7 packages can remain after the upgrade.

    AlmaLinux Team is working hard to get a solution for these issues. Any contribution is valuable and helps us out. If you want to help and contribute, see how to contribute information.

    # Get Help

    For more help and assistance reach out to us on the AlmaLinux Community Chat (opens new window).

    + + + diff --git a/elevate/ELevate-offline-guide.html b/elevate/ELevate-offline-guide.html new file mode 100644 index 000000000..fc10d7960 --- /dev/null +++ b/elevate/ELevate-offline-guide.html @@ -0,0 +1,135 @@ + + + + + + ELevate Offline Guide | AlmaLinux Wiki + + + + + + + + + +
    # last updated: 2024-04-18

    # ELevate Offline Guide

    This guide describes steps to be performed to migrate an air-gapped machine that has no connection to the Internet but has network access to a private mirror. The process involves at least two hosts:

    • One with Internet access to be able to create local AlmaLinux and ELevate mirrors
    • Another machine with access to these private mirrors that will be migrated.

    TIP

    If there's neither access to a private mirror nor the Internet, you'll have to use a data storage device to get local AlmaLinux and ELevate mirrors.

    # Requirements

    To migrate an air-gapped machine, you have to create a local mirror to receive updates. For this purpose, the recommended storage space is at least 500GB per major version. As there are currently two supported major versions (8 and 9) the storage space should be 1TB.

    # Prerequisites

    Several steps must be accomplished before migrating the system.

    # Create a local AlmaLinux mirror

    These steps are to be performed on a host with Internet access.

    The rsync tool can be used to create a local mirror.

    • Synchronize with the official AlmaLinux mirror via rsync:

      /usr/bin/rsync -avSH --exclude='.~tmp~' --delete-delay --delay-updates rsync://rsync.repo.almalinux.org/almalinux/ /example-almalinux-mirror/
      +
    • If needed, create a cron task to sync your local mirror periodically (we recommend updating the mirror every 3 hours):

      0 */3 * * * sleep $(((RANDOM\%3500)+1)) && /usr/bin/flock -n /var/run/almalinux_rsync.lock -c "/usr/bin/rsync -avSH --exclude='.~tmp~' --delete-delay --delay-updates rsync://rsync.repo.almalinux.org/almalinux/ /example-almalinux-mirror/"
      +

      WARNING

      Don't forget to replace /example-almalinux-mirror/ directory with the directory you need.

    # Create a local ELevate mirror

    These steps are to be performed on a host with Internet access.

    • Synchronize with the official AlmaLinux ELevate mirror via rsync:

      /usr/bin/rsync -avSH --exclude='.~tmp~' --delete-delay --delay-updates  rsync://rsync.repo.almalinux.org/almalinux-elevate/ /example-elevate-mirror/
      +
    • If needed, create a cron task to sync your local mirror periodically (we recommend updating the mirror every 3 hours):

      0 */3 * * * sleep $(((RANDOM\%3500)+1)) && /usr/bin/flock -n /var/run/almalinux_rsync.lock -c "/usr/bin/rsync -avSH --exclude='.~tmp~' --delete-delay --delay-updates rsync://rsync.repo.almalinux.org/almalinux-elevate/ /example-elevate-mirror/"
      +

      WARNING

      Don't forget to replace /example-elevate-mirror/ directory with the directory you need.

    # Add access to the private ELevate mirror

    These steps are to be performed on a host with access to a private ELevate mirror that will be migrated.

    To be able to install ELevate packages you need to add the local ELevate mirror to your server.

    • Navigate to the /etc/yum.repos.d directory. Use an editor tool of choice, for example, vi or mcedit to create a repository elevate.repo file. It should contain data from your local ELevate repository. Enter the data to the file according to the example:
       [ELevate]
      + name=ELevate for EL$releasever
      + baseurl=http://mirror.example.com/elevate/el$releasever/$basearch/ 
      + enabled=1
      + gpgcheck=1
      + gpgkey=http://mirror.example.com/elevate/RPM-GPG-KEY-ELevate
      +

    # Migrate CentOS 7 to AlmaLinux 8

    These steps are to be performed on a host with access to private mirrors that will be migrated.

    # Install ELevate packages

    • Install leapp packages and migration data for the OS you want to upgrade from the private mirror:

      sudo yum install -y leapp-upgrade leapp-data-almalinux
      +
    • Navigate to the /etc/leapp/files/ directory to update the leapp configuration file.

    • Open the leapp_upgrade_repositories.repo file and use an editor tool of choice, for example vi or mcedit, to replace baseurl link for each repository with a local AlmaLinux mirror directory. Pay attention, that links should belong to a major version you want your system to migrate to.

      [almalinux8-baseos] 
      +name=AlmaLinux 8 - BaseOS
      +baseurl=http://mirror.example.com/almalinux/el$releasever/$basearch/ 
      +enabled=1
      +gpgcheck=1
      +gpgkey=http://mirror.example.com/almalinux/RPM-GPG-KEY-AlmaLinux
      +

    # Perform the migration

    Once you've edited the leapp_upgrade_repositories.repo file to match your local mirror, you can start the migration to AlmaLinux 8.

    • Start a preupgrade check. In the meanwhile, the Leapp utility creates a special /var/log/leapp/leapp-report.txt file that contains possible problems and recommended solutions. No rpm packages will be installed at this phase.

      WARNING

      Preupgrade check will fail as the default install doesn't meet all requirements for migration.

      sudo leapp preupgrade
      +

      This summary report will help you get a picture of whether it is possible to continue the upgrade.

      TIP

      In certain configurations, Leapp generates /var/log/leapp/answerfile with true/false questions. Leapp utility requires answers to all these questions in order to proceed with the upgrade.

    • The following fixes from the /var/log/leapp/leapp-report.txt file are the most popular for CentOS 7, but it's recommended to review the whole file.

      sudo rmmod pata_acpi
      +echo PermitRootLogin yes | sudo tee -a /etc/ssh/sshd_config
      +sudo leapp answer --section remove_pam_pkcs11_module_check.confirm=True
      +

      Check the ELevate Frequent Issues page for known and frequent issues and guidance steps to solve them.

    • Start an upgrade. You'll be offered to reboot the system after this process is completed.

      sudo leapp upgrade
      +sudo reboot
      +
    • A new entry in GRUB called ELevate-Upgrade-Initramfs will appear. The system will be automatically booted into it. +See how the update process goes in the console.

    • After reboot, login to the system and check how the migration went. Verify that the current OS is the one you need. Check logs and packages left from the previous OS version, consider removing or updating them manually.

      cat /etc/redhat-release
      +cat /etc/os-release
      +rpm -qa | grep el7 
      +cat /var/log/leapp/leapp-report.txt
      +cat /var/log/leapp/leapp-upgrade.log
      +
    • If your next stage is to migrate to AlmaLinux 9 proceed with the next steps to prepare your system.

    # Prepare the system for migration to AlmaLinux 9

    When successfully migrated to AlmaLinux 8 OS, consider performing these steps to prepare your system for migration to AlmaLinux 9:

    • Navigate to the /etc/ directory and use an editor of your choice to edit the yum.conf file. You need to remove everything from the exclude line especially that refers to elevate or leapp.

      # An example of yum.conf file:
      [main]
      +gpgcheck=1
      +installonly_limit=3
      +clean_requirements_on_remove=True
      +best=True
      +skip_if_unavailable=False
      +exclude=python2-leapp,snactor,leapp-upgrade-el7toel8,leapp
      +
    • Then navigate to the /etc/dnf/ directory and use an editor of your choice to do the same in the dnf.conf file.

    • Now you can remove/manually upgrade packages left from CentOS 7 without any conflicts.

    • Check packages left from CentOS 7:

      rpm -qa | grep el7
      +
      # An example output with a list of packages:
      leapp-upgrade-el7toel8-0.16.0-6.el7.elevate.17.noarch
      +yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch
      +python2-leapp-0.14.0-1.el7.noarch
      +leapp-data-almalinux-0.1-6.el7.noarch
      +kernel-3.10.0-1160.102.1.el7.x86_64
      +kernel-3.10.0-1160.el7.x86_64
      +java-1.7.0-openjdk-headless-1.7.0.261-2.6.22.2.el7_8.x86_64
      +btrfs-progs-4.9.1-1.el7.x86_64
      +elevate-release-1.0-2.el7.noarch
      +leapp-0.14.0-1.el7.noarch
      +

      As mentioned above, consider removing these packages or upgrading them manually to proceed with migration to AlmaLinux 9.

      TIP

      If you face difficulties while removing the packages, the following command might help you:

      rpm -e --nodeps <package_name>
      +
    • You can also check for the packages left from the migration process and remove them:

      rpm -qa | grep elevate
      +rpm -qa | grep leapp
      +
    • Check whether you have the /root/tmp_leapp_py3 directory created and if so delete it.

      sudo rm -fr /root/tmp_leapp_py3
      +
    • Clean up your machine.

      sudo dnf clean all
      +
    • You may also have to remove old RSA/SHA1 GPG keys. List the keys:

      rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n'
      +

      To remove them, use use the rpm -e command:

      rpm -e [keyname]
      +

    After these preparations are completed, you can migrate your AlmaLinux 8 machine to AlmaLinux 9.

    # Migrate AlmaLinux 8 to AlmaLinux 9

    These steps are to be performed on a host with access to private mirrors that will be migrated.

    If you previously migrated your airgapped system to AlmaLinux 8, your local repositories of AlmaLinux and ELevate should still be present. +If this migration is the first one, you have to create your local mirrors first to proceed with the migration.

    # Install ELevate packages

    • Install leapp packages and migration data for the OS you want to upgrade from the private mirror:

      sudo yum install -y leapp-upgrade leapp-data-almalinux
      +
    • Navigate to the /etc/leapp/files/ directory to update the leapp configuration file.

    • Open the leapp_upgrade_repositories.repo file and use an editor tool of choice, for example vi or mcedit, to replace baseurl link for each repository with a local AlmaLinux mirror directory. Pay attention, that links should belong to a major version you want your system to migrate to.

      [almalinux9-baseos] 
      +name=AlmaLinux 9 - BaseOS
      +baseurl=http://mirror.example.com/almalinux/el$releasever/$basearch/ 
      +enabled=1
      +gpgcheck=1
      +gpgkey=http://mirror.example.com/almalinux/RPM-GPG-KEY-AlmaLinux
      +

    # Perform the migration

    Once you've edited the leapp_upgrade_repositories.repo file to match your local mirror, you can start the migration to AlmaLinux 9.

    • Start a preupgrade check. In the meanwhile, the Leapp utility creates a special /var/log/leapp/leapp-report.txt file that contains possible problems and recommended solutions. No rpm packages will be installed at this phase.

      WARNING

      Preupgrade check will fail as the default install doesn't meet all requirements for migration.

      sudo leapp preupgrade
      +

      This summary report will help you get a picture of whether it is possible to continue the upgrade.

      TIP

      In certain configurations, Leapp generates /var/log/leapp/answerfile with true/false questions. Leapp utility requires answers to all these questions in order to proceed with the upgrade.

    • The following fixes from the /var/log/leapp/leapp-report.txt file are the most popular fixes for RHEL8-based operating systems:

      sudo sed -i "s/^AllowZoneDrifting=.*/AllowZoneDrifting=no/" /etc/firewalld/firewalld.conf
      +sudo leapp answer --section check_vdo.confirm=True
      +

      You might also find the following issue in the leapp-report file that can interfere with the migration. Consider removing the file:

       Network configuration for unsupported device types detected
      + Summary: RHEL 9 does not support the legacy network-scripts package that was deprecated in RHEL 8 in favor of NetworkManager. Files for device types that are not supported by NetworkManager are present in the system. Files with the problematic configuration:
      +   - /etc/sysconfig/network-scripts/ifcfg-eth0
      +

      Check the ELevate Frequent Issues page for known and frequent issues and guidance steps to solve them.

    • Start an upgrade. You'll be offered to reboot the system after this process is completed.

      sudo leapp upgrade
      +sudo reboot
      +

      TIP

      You might want to remove the make-devel package as it conflicts when running leapp upgrade and thus this step fails.

    • A new entry in GRUB called ELevate-Upgrade-Initramfs will appear. The system will be automatically booted into it. +See how the update process goes in the console.

    • After reboot, login to the system and check how the migration went. Verify that the current OS is the one you need. Check logs and packages left from the previous OS version, consider removing or updating them manually.

      cat /etc/redhat-release
      +cat /etc/os-release
      +rpm -qa | grep el8
      +cat /var/log/leapp/leapp-report.txt
      +cat /var/log/leapp/leapp-upgrade.log
      +

    # Get Help

    For more help and assistance reach out to us in the ~migration channel on the AlmaLinux Community Chat (opens new window).

    + + + diff --git a/elevate/ELevate-quickstart-guide.html b/elevate/ELevate-quickstart-guide.html new file mode 100644 index 000000000..d93986c7a --- /dev/null +++ b/elevate/ELevate-quickstart-guide.html @@ -0,0 +1,80 @@ + + + + + + ELevate Quickstart Guide | AlmaLinux Wiki + + + + + + + + + +
    # last updated: 2024-08-30

    # ELevate Quickstart Guide

    WARNING

    Before beginning, we HIGHLY recommend that you follow system administration best practices and make sure you have backups and/or snapshots of your system before you proceed. It is recommended to do a trial run in a sandbox to verify the upgrade worked as expected before you attempt to upgrade any production system. Please report any issues encountered to the AlmaLinux Bug Tracker (opens new window) and/or AlmaLinux Chat Migration Channel (opens new window)

    This guide contains steps on how to upgrade your RHEL-based operating system to the next major version.

    TIP

    Please note, the ELevate project is designed to perform one-step upgrades. If you wish to perform an upgrade from CentOS7, you need to split the process. Please check the ELevating CentOS7 to AlmaLinux 9 guide for more information.

    The ELevate project supports a number of 3rd party repositories:

    • EPEL support is currently available for upgrades to AlmaLinux OS only.
    • MariaDB - for all supported operating systems.
    • nginx - for all supported operating systems.
    • PostgreSQL - for all supported operating systems.
    • Imunify - for upgrades to EL 8.
    • KernelCare - for upgrades to EL 8.

    TIP

    You can contribute to the project and add more 3rd party repositories support. See more on the Contribute page.

    Currently, the following upgrade paths are available:

    image

    * - upgrading from Scientific Linux 7 to AlmaLinux 8 requires a workaround. Please, see more in the known issues.
    +** - upgrading to Oracle Linux 9 is available with the Oracle Leapp utility (opens new window) and will not be supported by ELevate project.

    # Requirements

    You need CentOS 7, Scientific Linux 7, AlmaLinux 8, CentOS Stream 8, EuroLinux 8 or Rocky Linux 8 system installed to use this guide. +NOTE: Since the CentOS 7 repositories are now offline you will need to swap to the CentOS vault, or you can use our CentOS 7 mirror that we've setup for use with ELevate:

    sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://el7.repo.almalinux.org/centos/CentOS-Base.repo
    +

    # Upgrade steps

    • A fully updated system is required to accomplish the upgrade. Install the latest updates and reboot your machine:

      sudo yum update -y
      +sudo reboot
      +
    • Install elevate-release package with the project repo and GPG key.

      sudo yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el$(rpm --eval %rhel).noarch.rpm
      +
    • Install leapp packages and upgrade data for the OS you want to upgrade. Possible options are:

      • leapp-data-almalinux
      • leapp-data-centos
      • leapp-data-eurolinux
      • leapp-data-oraclelinux
      • leapp-data-rocky
      sudo yum install -y leapp-upgrade leapp-data-almalinux
      +
    • Start a preupgrade check. In the meanwhile, the Leapp utility creates a special /var/log/leapp/leapp-report.txt file that contains possible problems and recommended solutions. No rpm packages will be installed at this phase.

      WARNING

      Preupgrade check will fail as the default install doesn't meet all requirements for upgrade.

      sudo leapp preupgrade
      +

      This summary report will help you get a picture of whether it is possible to continue the upgrade.

      TIP

      In certain configurations, Leapp generates /var/log/leapp/answerfile with true/false questions. Leapp utility requires answers to all these questions in order to proceed with the upgrade.

    • The following fixes from the /var/log/leapp/leapp-report.txt file are the most popular ones, but it's recommended to review the whole file.

      • For CentOS 7:
        sudo rmmod pata_acpi
        +echo PermitRootLogin yes | sudo tee -a /etc/ssh/sshd_config
        +sudo leapp answer --section remove_pam_pkcs11_module_check.confirm=True
        +
      • For RHEL8-based operating systems:
        sudo sed -i "s/^AllowZoneDrifting=.*/AllowZoneDrifting=no/" /etc/firewalld/firewalld.conf
        +sudo leapp answer --section check_vdo.confirm=True
        +

      Check the ELevate Frequent Issues page for known and frequent issues and guidance steps to solve them.

    • Start an upgrade. You'll be offered to reboot the system after this process is completed.

      sudo leapp upgrade
      +sudo reboot
      +
    • A new entry in GRUB called ELevate-Upgrade-Initramfs will appear. The system will be automatically booted into it. See how the update process goes in the console.

    • After reboot, login to the system and check how the upgrade went. Verify that the current OS is the one you need. Check logs and packages left from previous OS version, consider removing them or update manually.

      cat /etc/redhat-release
      +cat /etc/os-release
      +rpm -qa | grep el7 # for 7 to 8 upgrade
      +rpm -qa | grep el8 # for 8 to 9 upgrade
      +cat /var/log/leapp/leapp-report.txt
      +cat /var/log/leapp/leapp-upgrade.log
      +

    # Demo Video

    Here we have provided a demo of a CentOS 7.x to AlmaLinux 8.x upgrade using the AlmaLinux ELevate Project.

    # Get Help

    For more help and assistance reach out to us in the ~migration channel on the AlmaLinux Community Chat (opens new window).

    + + + diff --git a/elevate/ELevate-testing-guide.html b/elevate/ELevate-testing-guide.html new file mode 100644 index 000000000..b45e98a73 --- /dev/null +++ b/elevate/ELevate-testing-guide.html @@ -0,0 +1,116 @@ + + + + + + ELevate Testing Guide | AlmaLinux Wiki + + + + + + + + + +
    # last updated: 2024-09-05

    # ELevate Testing Guide

    WARNING

    Before beginning, we HIGHLY recommend that you follow system administration best practices and make sure you have backups and/or snapshots of your system before you proceed. It is recommended to do a trial run in a sandbox to verify the upgrade will work as expected before you attempt to upgrade any production system. Please report any issues encountered to the AlmaLinux Bug Tracker (opens new window) and/or AlmaLinux Chat Migration Channel (opens new window)

    The ELevate Project supports a number of 3rd party repositories:

    • EPEL support is currently available for upgrades to AlmaLinux OS only.
    • Docker CE - for all supported operating systems.
    • MariaDB - for all supported operating systems.
    • Microsoft Linux Package Repositories - for all supported operating systems.
    • nginx - for all supported operating systems.
    • PostgreSQL - for all supported operating systems.
    • Imunify - for upgrades to EL 8.
    • KernelCare - for upgrades to EL 8.

    TIP

    You can contribute to the project and add more 3rd party repositories support. See more on the Contribute page.

    Currently, the following upgrades are available:

    image

    * - upgrading from Scientific Linux 7 to AlmaLinux 8 requires a workaround. Please, see more in the known issues.
    +** - upgrading to Oracle Linux 9 is available with the Oracle Leapp utility (opens new window) and will not be supported by ELevate project.

    # Upgrade CentOS 7 to AlmaLinux 8

    • Update the system to get the latest updates and reboot your machine. +NOTE: Since the CentOS 7 repositories are now offline you will need to swap to the CentOS vault, or you can use our CentOS 7 mirror that we've setup for use with ELevate:

      sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://el7.repo.almalinux.org/centos/CentOS-Base.repo
      +sudo yum upgrade -y
      +sudo reboot
      +
    • Install ELevate testing repo config for CentOS7, and import ELevate GPG key:

      sudo curl https://repo.almalinux.org/elevate/testing/elevate-testing.repo -o /etc/yum.repos.d/elevate-testing.repo
      +sudo rpm --import https://repo.almalinux.org/elevate/RPM-GPG-KEY-ELevate
      +
    • Install leapp packages and upgrade data for AlmaLinux:

      sudo yum install -y leapp-upgrade leapp-data-almalinux
      +
    • Start a preupgrade check. In the meanwhile, the Leapp utility creates a special /var/log/leapp/leapp-report.txt file that contains possible problems and recommended solutions. No rpm packages will be installed at this phase.

      WARNING

      Preupgrade check will fail as the default install doesn't meet all requirements for upgrading.

      sudo leapp preupgrade
      +

      This summary report will help you get a picture of whether it is possible to continue the upgrade.

      TIP

      In certain configurations, Leapp generates /var/log/leapp/answerfile with true/false questions. Leapp utility requires answers to all these questions in order to proceed with the upgrade.

    • The following fixes from the /var/log/leapp/leapp-report.txt file are the most popular for CentOS 7, but it's recommended to review the whole file.

      sudo rmmod pata_acpi
      +echo PermitRootLogin yes | sudo tee -a /etc/ssh/sshd_config
      +sudo leapp answer --section remove_pam_pkcs11_module_check.confirm=True
      +

      Check the ELevate Frequent Issues page for known and frequent issues and guidance steps to solve them.

    • Start an upgrade. You'll be offered to reboot the system after this process is completed.

      sudo leapp upgrade
      +sudo reboot
      +
    • A new entry in GRUB called ELevate-Upgrade-Initramfs will appear. The system will be automatically booted into it. +See how the update process goes in the console.

    • After reboot, login to the system and check how the upgrade went. Verify that the current OS is the one you need. Check logs and packages left from previous OS version, consider removing them or update manually.

      cat /etc/redhat-release
      +cat /etc/os-release
      +rpm -qa | grep el7 
      +sudo cat /var/log/leapp/leapp-report.txt
      +sudo cat /var/log/leapp/leapp-upgrade.log
      +

    # Prepare the system for upgrading to AlmaLinux 9

    When successfully upgraded to AlmaLinux 8 OS, consider performing these steps to prepare your system for upgrading to AlmaLinux 9:

    • Navigate to the /etc/ directory and use an editor of your choice to edit the yum.conf file. You need to remove everything from the exclude line especially that refers to elevate or leapp.

      # An example of yum.conf file:
      [main]
      +gpgcheck=1
      +installonly_limit=3
      +clean_requirements_on_remove=True
      +best=True
      +skip_if_unavailable=False
      +exclude=python2-leapp,snactor,leapp-upgrade-el7toel8,leapp
      +
    • Then navigate to the /etc/dnf/ directory and use an editor of your choice to do the same in the dnf.conf file.

    • Now you can remove/manually upgrade packages left from CentOS 7 without any conflicts.

    • Check packages left from CentOS 7:

      rpm -qa | grep el7
      +

      An example output with a list of packages:

       python2-leapp-0.16.0-2.el7.noarch
      + kernel-3.10.0-1160.105.1.el7.x86_64
      + leapp-upgrade-el7toel8-0.19.0-5.el7.noarch
      + leapp-data-almalinux-0.2-6.el7.noarch
      + leapp-0.16.0-2.el7.noarch
      +

      As mentioned above, consider removing these packages or upgrading them manually to proceed with upgrade to AlmaLinux 9.

      TIP

      If you face difficulties while removing the packages, the following command might help you:

      sudo rpm -e --nodeps <package_name>
      +
    • You can also check for the packages left from the upgrade process and remove them:

      rpm -qa | grep elevate
      +rpm -qa | grep leapp
      +
    • Check whether you have the /root/tmp_leapp_py3 directory created and if so delete it.

      sudo rm -fr /root/tmp_leapp_py3
      +
    • Clean up your machine.

      sudo dnf clean all
      +
    • You may also have to remove old RSA/SHA1 GPG keys. List the keys:

      rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n'
      +

      To remove them, use use the rpm -e command:

      sudo rpm -e [keyname]
      +

    After these preparations are completed, you can upgrade your AlmaLinux 8 machine to AlmaLinux 9.

    # Upgrading AlmaLinux 8 to AlmaLinux 9

    • Install ELevate testing repo config for AlmaLinux 8:

      sudo curl https://repo.almalinux.org/elevate/testing/elevate-testing.repo -o /etc/yum.repos.d/elevate-testing.repo
      +
    • Install leapp packages and upgrade data for AlmaLinux:

      sudo yum install -y leapp-upgrade leapp-data-almalinux
      +
    • Start a preupgrade check. In the meanwhile, the Leapp utility creates a special /var/log/leapp/leapp-report.txt file that contains possible problems and recommended solutions. No rpm packages will be installed at this phase.

      WARNING

      Preupgrade check will fail as the default install doesn't meet all requirements for upgrading.

      sudo leapp preupgrade
      +

      This summary report will help you get a picture of whether it is possible to continue the upgrade.

      TIP

      In certain configurations, Leapp generates /var/log/leapp/answerfile with true/false questions. Leapp utility requires answers to all these questions in order to proceed with the upgrade.

    • The following fixes from the /var/log/leapp/leapp-report.txt file are the most popular fixes for RHEL8-based operating systems:

      sudo sed -i "s/^AllowZoneDrifting=.*/AllowZoneDrifting=no/" /etc/firewalld/firewalld.conf
      +sudo leapp answer --section check_vdo.confirm=True
      +

      You might also find the following issue in the leapp-report file that can interfere with the upgrade. Consider removing the file:

       Network configuration for unsupported device types detected
      + Summary: RHEL 9 does not support the legacy network-scripts package that was deprecated in RHEL 8 in favor of NetworkManager. Files for device types that are not supported by NetworkManager are present in the system. Files with the problematic configuration:
      +   - /etc/sysconfig/network-scripts/ifcfg-eth0
      +

      Check the ELevate Frequent Issues page for known and frequent issues and guidance steps to solve them.

    • Start an upgrade. You'll be offered to reboot the system after this process is completed.

      sudo leapp upgrade
      +sudo reboot
      +

      TIP

      You might want to remove the make-devel package as it conflicts when running leapp upgrade and thus this step fails.

    • A new entry in GRUB called ELevate-Upgrade-Initramfs will appear. The system will be automatically booted into it. +See how the update process goes in the console.

    • After reboot, login to the system and check how the upgrade went. Verify that the current OS is the one you need. Check logs and packages left from previous OS version, consider removing them or update manually.

      cat /etc/redhat-release
      +cat /etc/os-release
      +rpm -qa | grep el8
      +sudo cat /var/log/leapp/leapp-report.txt
      +sudo cat /var/log/leapp/leapp-upgrade.log
      +

    # Demo Video

    Here we have provided a demo of a CentOS 7.x to AlmaLinux 8.x upgrade using the AlmaLinux ELevate Project.

    # Known Issues

    # Upgrading from Scientific Linux 7

    Upgrading from Scientific Linux 7 to AlmaLinux 8 requires a workaround. You can apply it by running the following command before the preupgrade check:

    rm -rf /usr/share/redhat-release /usr/share/doc/redhat-release
    +

    # Get Help

    Report your feedback to AlmaLinux ~Migration Channel (opens new window). We're especially interested in packages left from previous OS versions. This information will allow us to improve ELevate's configuration files.

    + + + diff --git a/elevate/ELevating-CentOS6-to-CentOS7.html b/elevate/ELevating-CentOS6-to-CentOS7.html new file mode 100644 index 000000000..d5d788659 --- /dev/null +++ b/elevate/ELevating-CentOS6-to-CentOS7.html @@ -0,0 +1,84 @@ + + + + + + ELevating CentOS 6 to CentOS 7 | AlmaLinux Wiki + + + + + + + + + +
    Experience Level ⭐⭐☆☆☆ (Intermediate)
    Last modified date 2024-04-16

    # ELevating CentOS 6 to CentOS 7

    DANGER

    We HIGHLY recommend that you follow system administration best practices and make sure you have backups and/or snapshots of your system before you proceed. It is recommended to do a trial run in a sandbox to verify that migration worked as expected before you attempt to migrate any production system. Please report any issues encountered to the AlmaLinux Bug Tracker (opens new window) and/or AlmaLinux Chat Migration Channel (opens new window)

    This guide describes steps to be performed to migrate a CentOS 6 machine to CentOS 7 using the Red Hat Upgrade Tool (redhat-upgrade-tool).

    The process consists of two steps:

    1. Upgrading CentOS 6.10 to CentOS 7.2.1511 as this is the latest CentOS version that supports the Red Hat Upgrade Tool.
    2. Upgrading CentOS 7.2.1511 to CentOS 7.9.2009.

    # Requirements

    • This guide is suitable only for x86_64 architecture.
    • The most recent version of CentOS 6.10.
    • An enabled Vault repository

    Please, check the Details below for guidance on how to enable the CentOS Vault repositories.

    DETAILS

    To upgrade your CentOS 6 machine, you need working CentOS 6 repositories. Run the below command replace your CentOS-base repo file with a known-good CentOS 6.10 Vault repository configuration:

    curl https://repo.almalinux.org/elevate/el6/centos6-vault.repo -o /etc/yum.repos.d/CentOS-Base.repo
    +

    # Upgrade CentOS 6.10 to CentOS 7.2.1511

    # Prerequisites

    • As root access is required to use the following steps, make sure that you are logged in as the root user:

      whoami
      +
      # Expected output:
      root
      +
    • Update your CentOS 6 system to get the most recent updates and verify:

      yum update  
      +cat /etc/centos-release 
      +
      # Expected output:
      CentOS release 6.10 (Final)
      +
    • Install the elevate-release package that contains the configuration file with CentOS 6 upgrade repositories:

      yum install https://repo.almalinux.org/elevate/elevate-release-latest-el6.noarch.rpm
      +
    • Install the redhat-upgrade-tool and preupgrade-assistant-contents packages that are used to perform the migration:

      yum install redhat-upgrade-tool preupgrade-assistant-contents
      +

    # Migrate the system

    • Run the pre-upgrade assistant as a pre-ugrade check of the system. It will generate a report file with possible problems and risks for review. No changes will be made at this phase.

      preupg
      +
    • The generated result.html file is located in the /root/preupgrade/ directory. Inspect it carefully and consider running suitable commands and performing the recommended steps to resolve the reported issues. +You can check the risks from the results.html using the preupgr command:

      preupg --riskcheck --verbose
      +

      Or using, for example, lynx - a terminal-based web browser:

      lynx /root/preupgrade/result.html
      +
    • Import CentOS 7 GPG key:

      rpm --import https://vault.centos.org/7.2.1511/os/x86_64/RPM-GPG-KEY-CentOS-7  
      +
    • Start an upgrade:

       redhat-upgrade-tool --network=7 --cleanup-post --instrepo=http://vault.centos.org/7.2.1511/os/x86_64/
      +
      • The --cleanup-post option will remove the CentOS 6 packages remaining after the migration.
      • The --network option sets the system's release version to use online repositories.
      • You can add the --force option to force the migration despite the risks. +❗️ Consider this option carefully, and remember to have a system backup.
    • When the upgrade process is over, reboot the system.

      A new entry in GRUB called System Upgrade (redhat-upgrade-tool) will appear. The system will be automatically booted into it. You can monitor the remainder of the migration process in the console.

      TIP

      The system will reboot twice during the upgrade.

      After the second reboot completes and you are presented with the login screen, login to the system and verify that the current OS is now CentOS 7.

      cat /etc/centos-release
      +
      # Expected output:
      CentOS Linux release 7.2.1511 (Core) 
      +

    # Clean up

    • After the migration is complete, there may be leftover packages from the previous OS (even if you used the --cleanup-post option). Consider removing or updating them manually.
      rpm -qa | grep el6
      +
    • You should also check your current repo list, and disable any lingering CentOS 6 repositories.
      yum repolist --verbose
      +
    • Also consider removing the CentOS 6 upgrade repository package, as it is no longer needed and could cause problems in the next steps:
      yum remove elevate-release
      +
    • The CentOS-Base.repo file contains CentOS 6 Vault repositories. It wasn't updated during the upgrade process to CenOS 7.2.1511 contain CentOS 7 repositories. Instead, the new CentOS-Base.repo.rpmnew file was created which you need to remove:
      rm /etc/yum.repos.d/CentOS-Base.repo.rpmnew
      +

    # Upgrade CenOS 7.2.1511 to CentOS 7.9.2009

    • CentOS 7 reached its End-Of-Life meaning the repositories are now offline. To be able to update your CentOS 7.2.1511 machine to CentOS 7.9.2009 you need to update CentOS-Base.repo file with the CentOS 7 Vault or you can use our CentOS 7 mirror that we've setup for use with ELevate:

      curl http://el7.repo.almalinux.org/centos/CentOS-Base.repo -o /etc/yum.repos.d/CentOS-Base.repo
      +
    • Run the yum command to update your CentOS 7.2.1511 machine to the most recent version 7.9:

      yum update
      +
    • Reboot after the update completes and verify the system's version:

      cat /etc/centos-release
      +
      # Expected output:
      CentOS Linux release 7.9.2009 (Core) 
      +

    # Get Help and Contribute

    We welcome any feedback as it helps to improve the project.

    For any help and assistance, or if you want to share your thoughts or contribute to the ELevate project, reach out to us on the AlmaLinux Community Chat (opens new window).

    # Additional documentation

    Here's the list of additional documentation that you might find useful:

    # Trademarks

    Red Hat, Red Hat Enterprise Linux, and CentOS are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    + + + diff --git a/elevate/ELevating-CentOS7-to-AlmaLinux-9.html b/elevate/ELevating-CentOS7-to-AlmaLinux-9.html new file mode 100644 index 000000000..4f232e8a6 --- /dev/null +++ b/elevate/ELevating-CentOS7-to-AlmaLinux-9.html @@ -0,0 +1,120 @@ + + + + + + ELevating CentOS 7 to AlmaLinux 9 | AlmaLinux Wiki + + + + + + + + + +
    # last updated: 2024-08-30

    # ELevating CentOS 7 to AlmaLinux 9

    This guide contains steps on how to upgrade your CentOS 7 machine to AlmaLinux OS 9. +As the Leapp tool is designed to perform one-step upgrades, you need to split the upgrade process:

    • CentOS 7 to AlmaLinux 8
    • AlmaLinux 8 to AlmaLinux 9

    The ELevate project supports a number of 3rd party repositories:

    • EPEL support is currently available for upgrades to AlmaLinux OS only.
    • MariaDB - for all supported operating systems.
    • nginx - for all supported operating systems.
    • PostgreSQL - for all supported operating systems.
    • Imunify - for upgrades to EL 8.
    • KernelCare - for upgrades to EL 8.

    TIP

    You can contribute to the project and add more 3rd party repositories support. See more on the Contribute page.

    # Upgrade CentOS 7 to AlmaLinux 8

    • Update the system to get the latest updates and reboot your machine. +NOTE: Since the CentOS 7 repositories are now offline you will need to swap to the CentOS vault, or you can use our CentOS 7 mirror that we've setup for use with ELevate:

      sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://el7.repo.almalinux.org/centos/CentOS-Base.repo
      +sudo yum upgrade -y
      +sudo reboot
      +
    • Install elevate-release package with the project repo and GPG key.

      sudo yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el$(rpm --eval %rhel).noarch.rpm
      +
    • Install leapp packages and upgrade data for AlmaLinux:

      sudo yum install -y leapp-upgrade leapp-data-almalinux
      +
    • Start a preupgrade check. In the meanwhile, the Leapp utility creates a special /var/log/leapp/leapp-report.txt file that contains possible problems and recommended solutions. No rpm packages will be installed at this phase.

      WARNING

      Preupgrade check will fail as the default install doesn't meet all requirements for upgrade.

      sudo leapp preupgrade
      +

      This summary report will help you get a picture of whether it is possible to continue the upgrade.

      TIP

      In certain configurations, Leapp generates /var/log/leapp/answerfile with true/false questions. Leapp utility requires answers to all these questions in order to proceed with the upgrade.

    • The following fixes from the /var/log/leapp/leapp-report.txt file are the most popular for CentOS 7, but it's recommended to review the whole file.

      sudo rmmod pata_acpi
      +echo PermitRootLogin yes | sudo tee -a /etc/ssh/sshd_config
      +sudo leapp answer --section remove_pam_pkcs11_module_check.confirm=True
      +

      Check the ELevate Frequent Issues page for known and frequent issues and guidance steps to solve them.

    • Start an upgrade. You'll be offered to reboot the system after this process is completed.

      sudo leapp upgrade
      +sudo reboot
      +
    • A new entry in GRUB called ELevate-Upgrade-Initramfs will appear. The system will be automatically booted into it. +See how the update process goes in the console.

    • After reboot, login to the system and check how the upgrade went. Verify that the current OS is the one you need. Check logs and packages left from the previous OS version, consider removing or updating them manually.

      cat /etc/redhat-release
      +cat /etc/os-release
      +rpm -qa | grep el7 
      +cat /var/log/leapp/leapp-report.txt
      +cat /var/log/leapp/leapp-upgrade.log
      +

    # Prepare the system for upgrade to AlmaLinux 9

    When successfully upgraded to AlmaLinux 8 OS, consider performing these steps to prepare your system for upgrade to AlmaLinux 9:

    • Navigate to the /etc/ directory and use an editor of your choice to edit the yum.conf file. You need to remove everything from the exclude line especially that refers to elevate or leapp.

      # An example of yum.conf file:
      [main]
      +gpgcheck=1
      +installonly_limit=3
      +clean_requirements_on_remove=True
      +best=True
      +skip_if_unavailable=False
      +exclude=python2-leapp,snactor,leapp-upgrade-el7toel8,leapp
      +
    • Then navigate to the /etc/dnf/ directory and use an editor of your choice to do the same in the dnf.conf file.

    • Now you can remove/manually upgrade packages left from CentOS 7 without any conflicts.

    • Check packages left from CentOS 7:

      rpm -qa | grep el7
      +
      # An example output with a list of packages:
      leapp-upgrade-el7toel8-0.16.0-6.el7.elevate.17.noarch
      +yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch
      +python2-leapp-0.14.0-1.el7.noarch
      +leapp-data-almalinux-0.1-6.el7.noarch
      +kernel-3.10.0-1160.102.1.el7.x86_64
      +kernel-3.10.0-1160.el7.x86_64
      +java-1.7.0-openjdk-headless-1.7.0.261-2.6.22.2.el7_8.x86_64
      +btrfs-progs-4.9.1-1.el7.x86_64
      +elevate-release-1.0-2.el7.noarch
      +leapp-0.14.0-1.el7.noarch
      +

      As mentioned above, consider removing these packages or upgrading them manually to proceed with the upgrade to AlmaLinux 9.

      TIP

      If you face difficulties while removing the packages, the following command might help you:

      rpm -e --nodeps <package_name>
      +
    • You can also check for the packages left from the upgrade process and remove them:

      rpm -qa | grep elevate
      +rpm -qa | grep leapp
      +
    • Check whether you have the /root/tmp_leapp_py3 directory created and if so delete it.

      sudo rm -fr /root/tmp_leapp_py3
      +
    • Clean up your machine.

      sudo dnf clean all
      +
    • You may also have to remove old RSA/SHA1 GPG keys. List the keys:

      rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n'
      +

      To remove them, use use the rpm -e command:

      rpm -e [keyname]
      +

    After these preparations are completed, you can upgrade your AlmaLinux 8 machine to AlmaLinux 9.

    # Upgrading AlmaLinux 8 to AlmaLinux 9

    • Install elevate-release package with the project repo and GPG key.

      sudo yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el$(rpm --eval %rhel).noarch.rpm
      +
    • Install leapp packages and upgrade data for AlmaLinux:

      sudo yum install -y leapp-upgrade leapp-data-almalinux
      +
    • Start a preupgrade check. In the meanwhile, the Leapp utility creates a special /var/log/leapp/leapp-report.txt file that contains possible problems and recommended solutions. No rpm packages will be installed at this phase.

      WARNING

      Preupgrade check will fail as the default install doesn't meet all requirements for upgrading.

      sudo leapp preupgrade
      +

      This summary report will help you get a picture of whether it is possible to continue the upgrade.

      TIP

      In certain configurations, Leapp generates /var/log/leapp/answerfile with true/false questions. Leapp utility requires answers to all these questions in order to proceed with the upgrade.

    • The following fixes from the /var/log/leapp/leapp-report.txt file are the most popular fixes for RHEL8-based operating systems:

      sudo sed -i "s/^AllowZoneDrifting=.*/AllowZoneDrifting=no/" /etc/firewalld/firewalld.conf
      +sudo leapp answer --section check_vdo.confirm=True
      +

      You might also find the following issue in the leapp-report file that can interfere with the upgrade. Consider removing the file:

       Network configuration for unsupported device types detected
      + Summary: RHEL 9 does not support the legacy network-scripts package that was deprecated in RHEL 8 in favor of NetworkManager. Files for device types that are not supported by NetworkManager are present in the system. Files with the problematic configuration:
      +   - /etc/sysconfig/network-scripts/ifcfg-eth0
      +

      Check the ELevate Frequent Issues page for known and frequent issues and guidance steps to solve them.

    • Start an upgrade. You'll be offered to reboot the system after this process is completed.

      sudo leapp upgrade
      +sudo reboot
      +

      TIP

      You might want to remove the make-devel package as it conflicts when running leapp upgrade and thus this step fails.

    • A new entry in GRUB called ELevate-Upgrade-Initramfs will appear. The system will be automatically booted into it. +See how the update process goes in the console.

    • After reboot, login to the system and check how the upgrade went. Verify that the current OS is the one you need. Check logs and packages left from the previous OS version, consider removing or updating them manually.

      cat /etc/redhat-release
      +cat /etc/os-release
      +rpm -qa | grep el8
      +cat /var/log/leapp/leapp-report.txt
      +cat /var/log/leapp/leapp-upgrade.log
      +
    • There will be outstanding nss_db package which should be removed and the system should be updated:

      dnf update --allowerasing
      +

    # Get Help

    For more help and assistance reach out to us in the ~migration channel on the AlmaLinux Community Chat (opens new window).

    + + + diff --git a/elevate/index.html b/elevate/index.html new file mode 100644 index 000000000..d21c43749 --- /dev/null +++ b/elevate/index.html @@ -0,0 +1,52 @@ + + + + + + About ELevate project | AlmaLinux Wiki + + + + + + + + + +
    # last updated: 2024-08-30

    # About the project

    The ELevate project is an initiative to support upgrades between major versions of RHEL-derivatives.

    The Leapp utility (opens new window) and a few patches (opens new window) are used to perform in-place upgrades from CentOS 7 and Enterprise Linux (EL) 8, and between EL8 and EL9 systems.

    The Red Hat Upgrade Tool (opens new window) is used to perform in-place upgrades between CentOS 6 and CentOS 7.

    # Available migration paths

    TIP

    Please note, the ELevate project is designed to perform one-step upgrades. If you wish to perform an upgrade from CentOS7, you need to split the process. Please check the ELevating CentOS7 to AlmaLinux 9 guide for more information.

    The ELevate project supports a number of 3rd party repositories:

    • EPEL support is currently available for upgrades to AlmaLinux OS only.
    • MariaDB - for all supported operating systems.
    • nginx - for all supported operating systems.
    • PostgreSQL - for all supported operating systems.
    • Imunify - for upgrades to EL 8.
    • KernelCare - for upgrades to EL 8.

    TIP

    You can contribute to the project and add more 3rd party repositories support. See more on the Contribute page.

    Currently, the following upgrade paths are available:

    image

    * - upgrading from Scientific Linux 7 to AlmaLinux 8 requires a workaround. Please, see more in the known issues.
    +** - upgrading to Oracle Linux 9 is available with the Oracle Leapp utility (opens new window) and will not be supported by ELevate project.

    # How to upgrade

    Various guides cover the update steps depending on the upgrade type:

    # How to Contribute

    ELevate is developed and built as a tool for the whole ecosystem, not just AlmaLinux. ELevate supports upgrading to/from other distributions and is open for all to contribute to and enhance. You can find more information and FAQ on almalinux.org/elevate (opens new window) and Migration SIG.

    If are interested in contributing to the project, please check:

    You can get any help on AlmaLinux Chat on Mattermost (opens new window).

    + + + diff --git a/gsoc.html b/gsoc.html new file mode 100644 index 000000000..e5dccc8c6 --- /dev/null +++ b/gsoc.html @@ -0,0 +1,59 @@ + + + + + + Google Summer of Code | AlmaLinux Wiki + + + + + + + + + +

    # Google Summer of Code

    AlmaLinux is proud to participate in Google's Summer of Code. Please find some details below regarding submitting proposals.

    # Application Process

    1. Join our GSoC Chat Channel (opens new window).
    2. Introduce yourself and tell us a little bit of your background and interests.
    3. Let us know what languages, projects or frameworks you have experience or would like to work in.
    4. Have you ever contributed to Open Source before?
    5. What would you like to gain out of this experience?

    # Ideas

    1. Enhancements to the ELevate (opens new window) project. ELevate was introduced as a project to allow in place migrations between major versions of RHEL-derivative distribution. The project has proven wildly popular with thousands of migrations completed successfully. Currently the project support 7.x->8.x. As part of this project you would working under the mentorship of our ELevate team members and release engineering to include support for additional versions such as 8.x->9.x and potentially 6.x->7.x. Also, depending on progress, maybe supporting additional package repositories. Skill Level: Intermediate You should know or will learn RPM, dnf, yum, python, bash.

    2. Work on security update scripts. As part of this project you will work with our release engineering and security teams to help automate the processing of security update-related information, such as having processing scripts based on certain content or keywords (for example by CVE) and scripts to automatically post errata and updates to to mailing lists. Skill Level: Easy You should know or will learn RPM, dnf, yum, python, bash.

    3. Clean up of countme scripts and integrate with upstream. AlmaLinux introduced dnf countme in December of 2021. As part of this project you will work with our Infrastructure team to help clean up the data and work upstream with the Fedora Project (opens new window) to have our work integrated upstream. Skill Level: Easy You should know or will learn dnf, yum and python.

    4. Custom Distro Spin tool. We always get requests from users and vendors to include a custom package or some custom software within the distribution for their own use or release. As part of this project you will help create a tool which will allow AlmaLinux users to create a custom respins/isos/LiveCDs. Skill Level: Advanced-Intermediate You should know or will learn RPM, dnf, yum, python, bash.

    5. Propose your own project! We're open to ideas.

    # Application

    Once you've chosen an idea submit the application/proposal including all requirements at the Google Summer of Code Site.

    + + + diff --git a/images/9-0.png b/images/9-0.png new file mode 100644 index 000000000..a52c8c439 Binary files /dev/null and b/images/9-0.png differ diff --git a/images/Comparison-relationship_chart.png b/images/Comparison-relationship_chart.png new file mode 100644 index 000000000..cd0760ca1 Binary files /dev/null and b/images/Comparison-relationship_chart.png differ diff --git a/images/ELevate-scheme.svg b/images/ELevate-scheme.svg new file mode 100644 index 000000000..3671824bf --- /dev/null +++ b/images/ELevate-scheme.svg @@ -0,0 +1,4 @@ + + + +
    CentOS 7
    CentOS 7
    CentOS Stream 8
    CentOS Stream 8
    AlmaLinux 8
    AlmaLinux 8
    Rocky Linux 8
    Rocky Linux 8
    Oracle Linux 8
    Oracle Linux 8
    EuroLinux 8
    EuroLinux 8
    CentOS Stream 9 *
    CentOS Stream 9 *
    AlmaLinux 9
    AlmaLinux 9
    Oracle Linux 9 **
    Oracle Linux 9 **
    Rocky Linux 9
    Rocky Linux 9
    EuroLinux 9
    EuroLinux 9
    Text is not SVG - cannot display
    \ No newline at end of file diff --git a/images/ELevate.svg b/images/ELevate.svg new file mode 100644 index 000000000..662888833 --- /dev/null +++ b/images/ELevate.svg @@ -0,0 +1,4 @@ + + + +
    CentOS 7
    CentOS Stream 8
    AlmaLinux 8
    Rocky Linux 8
    Oracle Linux 8
    EuroLinux 8
    CentOS Stream 9 *
    AlmaLinux 9
    Oracle Linux 9 **
    Rocky Linux 9
    EuroLinux 9
    CentOS 6 
    \ No newline at end of file diff --git a/images/ELevateNG.svg b/images/ELevateNG.svg new file mode 100644 index 000000000..784f86766 --- /dev/null +++ b/images/ELevateNG.svg @@ -0,0 +1,4 @@ + + + +
    CentOS 7
    CentOS Stream 8
    AlmaLinux 8
    Rocky Linux 8
    Oracle Linux 8
    EuroLinux 8
    CentOS Stream 9
    AlmaLinux 9
    Oracle Linux 9 **
    Rocky Linux 9
    EuroLinux 9
    CentOS 6 
    Scientific Linux 7*
    \ No newline at end of file diff --git a/images/HowTo-LAMP-server-1.png b/images/HowTo-LAMP-server-1.png new file mode 100644 index 000000000..7f1e29ab9 Binary files /dev/null and b/images/HowTo-LAMP-server-1.png differ diff --git a/images/HowTo-LAMP-server-2.png b/images/HowTo-LAMP-server-2.png new file mode 100644 index 000000000..1f00a2dbe Binary files /dev/null and b/images/HowTo-LAMP-server-2.png differ diff --git a/images/after-install-nmtui.png b/images/after-install-nmtui.png new file mode 100644 index 000000000..f9df7fa56 Binary files /dev/null and b/images/after-install-nmtui.png differ diff --git a/images/after-install-settings-1.png b/images/after-install-settings-1.png new file mode 100644 index 000000000..230fd3462 Binary files /dev/null and b/images/after-install-settings-1.png differ diff --git a/images/after-install-settings-2.png b/images/after-install-settings-2.png new file mode 100644 index 000000000..efa324c87 Binary files /dev/null and b/images/after-install-settings-2.png differ diff --git a/images/almalinux-readme.png b/images/almalinux-readme.png new file mode 100644 index 000000000..770bfaa7f Binary files /dev/null and b/images/almalinux-readme.png differ diff --git a/images/building-packages-guide_etc-mock.png b/images/building-packages-guide_etc-mock.png new file mode 100644 index 000000000..2d8d02389 Binary files /dev/null and b/images/building-packages-guide_etc-mock.png differ diff --git a/images/building-packages-guide_results.png b/images/building-packages-guide_results.png new file mode 100644 index 000000000..61bf9b164 Binary files /dev/null and b/images/building-packages-guide_results.png differ diff --git a/images/building-packages-guide_rpmbuild.png b/images/building-packages-guide_rpmbuild.png new file mode 100644 index 000000000..d297e0d7c Binary files /dev/null and b/images/building-packages-guide_rpmbuild.png differ diff --git a/images/elections2023/Abdullah_As-Sadeed-small.png b/images/elections2023/Abdullah_As-Sadeed-small.png new file mode 100644 index 000000000..55afc5b0c Binary files /dev/null and b/images/elections2023/Abdullah_As-Sadeed-small.png differ diff --git a/images/elections2023/AlexIribarren-small.jpg b/images/elections2023/AlexIribarren-small.jpg new file mode 100644 index 000000000..4ed2dec32 Binary files /dev/null and b/images/elections2023/AlexIribarren-small.jpg differ diff --git a/images/elections2023/Benny-small.jpg b/images/elections2023/Benny-small.jpg new file mode 100644 index 000000000..006dcdba5 Binary files /dev/null and b/images/elections2023/Benny-small.jpg differ diff --git a/images/elections2023/JING_LUO.png b/images/elections2023/JING_LUO.png new file mode 100644 index 000000000..5455f4c22 Binary files /dev/null and b/images/elections2023/JING_LUO.png differ diff --git a/images/elections2023/JunYoshida-small.jpg b/images/elections2023/JunYoshida-small.jpg new file mode 100644 index 000000000..69873a4f6 Binary files /dev/null and b/images/elections2023/JunYoshida-small.jpg differ diff --git a/images/elections2023/igor-small.jpg b/images/elections2023/igor-small.jpg new file mode 100644 index 000000000..9ca1c13ea Binary files /dev/null and b/images/elections2023/igor-small.jpg differ diff --git a/images/elevate-testing-scheme.svg b/images/elevate-testing-scheme.svg new file mode 100644 index 000000000..14c74f6cc --- /dev/null +++ b/images/elevate-testing-scheme.svg @@ -0,0 +1,4 @@ + + + +
    ELevate NG
    ELevate NG
    ELevate Testing
    ELevate Testing
    ELevate Stable
    ELevate Stable
    \ No newline at end of file diff --git a/images/elevate_action-ID.png b/images/elevate_action-ID.png new file mode 100644 index 000000000..92d28ec1a Binary files /dev/null and b/images/elevate_action-ID.png differ diff --git a/images/elevate_action-type.png b/images/elevate_action-type.png new file mode 100644 index 000000000..dc4af4290 Binary files /dev/null and b/images/elevate_action-type.png differ diff --git a/images/elevate_actions-history.png b/images/elevate_actions-history.png new file mode 100644 index 000000000..7e2c93a13 Binary files /dev/null and b/images/elevate_actions-history.png differ diff --git a/images/elevate_add-action.png b/images/elevate_add-action.png new file mode 100644 index 000000000..f14f49b08 Binary files /dev/null and b/images/elevate_add-action.png differ diff --git a/images/elevate_bulk-result.png b/images/elevate_bulk-result.png new file mode 100644 index 000000000..62425f6cd Binary files /dev/null and b/images/elevate_bulk-result.png differ diff --git a/images/elevate_demo-video.png b/images/elevate_demo-video.png new file mode 100644 index 000000000..ede0816b2 Binary files /dev/null and b/images/elevate_demo-video.png differ diff --git a/images/elevate_dump-json.png b/images/elevate_dump-json.png new file mode 100644 index 000000000..cae704b9f Binary files /dev/null and b/images/elevate_dump-json.png differ diff --git a/images/elevate_dump-result.png b/images/elevate_dump-result.png new file mode 100644 index 000000000..bb4129ee1 Binary files /dev/null and b/images/elevate_dump-result.png differ diff --git a/images/elevate_edit-an-action.png b/images/elevate_edit-an-action.png new file mode 100644 index 000000000..b33fc9828 Binary files /dev/null and b/images/elevate_edit-an-action.png differ diff --git a/images/elevate_homebar.png b/images/elevate_homebar.png new file mode 100644 index 000000000..8052b28c1 Binary files /dev/null and b/images/elevate_homebar.png differ diff --git a/images/elevate_list-of-actions.png b/images/elevate_list-of-actions.png new file mode 100644 index 000000000..5783d4a0f Binary files /dev/null and b/images/elevate_list-of-actions.png differ diff --git a/images/elevate_list-of-users.png b/images/elevate_list-of-users.png new file mode 100644 index 000000000..f6939281e Binary files /dev/null and b/images/elevate_list-of-users.png differ diff --git a/images/elevate_search-an-action.png b/images/elevate_search-an-action.png new file mode 100644 index 000000000..d3a821cd9 Binary files /dev/null and b/images/elevate_search-an-action.png differ diff --git a/images/elevate_source.png b/images/elevate_source.png new file mode 100644 index 000000000..c2dddb0f4 Binary files /dev/null and b/images/elevate_source.png differ diff --git a/images/errata_example.png b/images/errata_example.png new file mode 100644 index 000000000..2e890a65d Binary files /dev/null and b/images/errata_example.png differ diff --git a/images/errata_feed.png b/images/errata_feed.png new file mode 100644 index 000000000..d71653c18 Binary files /dev/null and b/images/errata_feed.png differ diff --git a/images/help-and-support-chat-element-1.png b/images/help-and-support-chat-element-1.png new file mode 100644 index 000000000..29f341244 Binary files /dev/null and b/images/help-and-support-chat-element-1.png differ diff --git a/images/help-and-support-chat-element-2.png b/images/help-and-support-chat-element-2.png new file mode 100644 index 000000000..b6f8af631 Binary files /dev/null and b/images/help-and-support-chat-element-2.png differ diff --git a/images/help-and-support-chat-element-3.png b/images/help-and-support-chat-element-3.png new file mode 100644 index 000000000..046db8a80 Binary files /dev/null and b/images/help-and-support-chat-element-3.png differ diff --git a/images/help-and-support-paste-1.png b/images/help-and-support-paste-1.png new file mode 100644 index 000000000..cfdd74a68 Binary files /dev/null and b/images/help-and-support-paste-1.png differ diff --git a/images/help-and-support-paste-2.png b/images/help-and-support-paste-2.png new file mode 100644 index 000000000..72c11bce6 Binary files /dev/null and b/images/help-and-support-paste-2.png differ diff --git a/images/help-and-support-paste-3.png b/images/help-and-support-paste-3.png new file mode 100644 index 000000000..d594af60b Binary files /dev/null and b/images/help-and-support-paste-3.png differ diff --git a/images/help-and-support-paste-4.png b/images/help-and-support-paste-4.png new file mode 100644 index 000000000..e3e756259 Binary files /dev/null and b/images/help-and-support-paste-4.png differ diff --git a/images/hero.png b/images/hero.png new file mode 100644 index 000000000..c513975f5 Binary files /dev/null and b/images/hero.png differ diff --git a/images/installation-guide-begin-installation.gif b/images/installation-guide-begin-installation.gif new file mode 100644 index 000000000..1c9cf09da Binary files /dev/null and b/images/installation-guide-begin-installation.gif differ diff --git a/images/installation-guide-encryption.gif b/images/installation-guide-encryption.gif new file mode 100644 index 000000000..e93d3901c Binary files /dev/null and b/images/installation-guide-encryption.gif differ diff --git a/images/installation-guide-installation-destination.png b/images/installation-guide-installation-destination.png new file mode 100644 index 000000000..6cacad6ef Binary files /dev/null and b/images/installation-guide-installation-destination.png differ diff --git a/images/installation-guide-installation-language.png b/images/installation-guide-installation-language.png new file mode 100644 index 000000000..65dec5de1 Binary files /dev/null and b/images/installation-guide-installation-language.png differ diff --git a/images/installation-guide-installation-summary.png b/images/installation-guide-installation-summary.png new file mode 100644 index 000000000..49188cc68 Binary files /dev/null and b/images/installation-guide-installation-summary.png differ diff --git a/images/installation-guide-kdump.png b/images/installation-guide-kdump.png new file mode 100644 index 000000000..311059901 Binary files /dev/null and b/images/installation-guide-kdump.png differ diff --git a/images/installation-guide-keyboard.gif b/images/installation-guide-keyboard.gif new file mode 100644 index 000000000..ceaa13db5 Binary files /dev/null and b/images/installation-guide-keyboard.gif differ diff --git a/images/installation-guide-language-support.png b/images/installation-guide-language-support.png new file mode 100644 index 000000000..406cf26cf Binary files /dev/null and b/images/installation-guide-language-support.png differ diff --git a/images/installation-guide-macos-usb.png b/images/installation-guide-macos-usb.png new file mode 100644 index 000000000..3485d4611 Binary files /dev/null and b/images/installation-guide-macos-usb.png differ diff --git a/images/installation-guide-network.png b/images/installation-guide-network.png new file mode 100644 index 000000000..313064858 Binary files /dev/null and b/images/installation-guide-network.png differ diff --git a/images/installation-guide-reboot.png b/images/installation-guide-reboot.png new file mode 100644 index 000000000..cd1986565 Binary files /dev/null and b/images/installation-guide-reboot.png differ diff --git a/images/installation-guide-root.gif b/images/installation-guide-root.gif new file mode 100644 index 000000000..05e3dc172 Binary files /dev/null and b/images/installation-guide-root.gif differ diff --git a/images/installation-guide-security-profiles.gif b/images/installation-guide-security-profiles.gif new file mode 100644 index 000000000..82743462b Binary files /dev/null and b/images/installation-guide-security-profiles.gif differ diff --git a/images/installation-guide-software-selection.gif b/images/installation-guide-software-selection.gif new file mode 100644 index 000000000..0df21c623 Binary files /dev/null and b/images/installation-guide-software-selection.gif differ diff --git a/images/installation-guide-time-date.gif b/images/installation-guide-time-date.gif new file mode 100644 index 000000000..018770805 Binary files /dev/null and b/images/installation-guide-time-date.gif differ diff --git a/images/installation-guide-user.gif b/images/installation-guide-user.gif new file mode 100644 index 000000000..d042d344e Binary files /dev/null and b/images/installation-guide-user.gif differ diff --git a/images/installation-guide-welcome-menu.png b/images/installation-guide-welcome-menu.png new file mode 100644 index 000000000..1c9b98aef Binary files /dev/null and b/images/installation-guide-welcome-menu.png differ diff --git a/images/live-media-9-gnome.png b/images/live-media-9-gnome.png new file mode 100644 index 000000000..dd15fedbe Binary files /dev/null and b/images/live-media-9-gnome.png differ diff --git a/images/live-media-9-kde.png b/images/live-media-9-kde.png new file mode 100644 index 000000000..e4c59f6d6 Binary files /dev/null and b/images/live-media-9-kde.png differ diff --git a/images/live-media-9-mate.png b/images/live-media-9-mate.png new file mode 100644 index 000000000..6ab23c7d9 Binary files /dev/null and b/images/live-media-9-mate.png differ diff --git a/images/live-media-9-xfce.png b/images/live-media-9-xfce.png new file mode 100644 index 000000000..9d2c93238 Binary files /dev/null and b/images/live-media-9-xfce.png differ diff --git a/images/logo.png b/images/logo.png new file mode 100644 index 000000000..74553c9d7 Binary files /dev/null and b/images/logo.png differ diff --git a/images/migration.svg b/images/migration.svg new file mode 100644 index 000000000..2463ce179 --- /dev/null +++ b/images/migration.svg @@ -0,0 +1,4 @@ + + + +

    CentOS 8

    Rocky Linux 8
    Oracle Linux 8
    Virtuozzo Linux (VZLinux) 8
    RHEL 8
    CentOS Stream 8
    AlmaLinux 8
    Rocky Linux 9
    Oracle Linux 9
    Virtuozzo Linux (VZLinux) 9
    RHEL 9
    CentOS Stream 9
    AlmaLinux 9
    Miracle Linux 8
    Miracle Linux  9
    \ No newline at end of file diff --git a/images/openQA-All_Tests.png b/images/openQA-All_Tests.png new file mode 100644 index 000000000..9b7fcfc7f Binary files /dev/null and b/images/openQA-All_Tests.png differ diff --git a/images/openQA-Job_Groups.png b/images/openQA-Job_Groups.png new file mode 100644 index 000000000..448341c20 Binary files /dev/null and b/images/openQA-Job_Groups.png differ diff --git a/images/openQA-Live_View.png b/images/openQA-Live_View.png new file mode 100644 index 000000000..3feceb1a8 Binary files /dev/null and b/images/openQA-Live_View.png differ diff --git a/images/openQA-Search.png b/images/openQA-Search.png new file mode 100644 index 000000000..a82ad9a27 Binary files /dev/null and b/images/openQA-Search.png differ diff --git a/images/openQA-Test_Details.png b/images/openQA-Test_Details.png new file mode 100644 index 000000000..0d149ce95 Binary files /dev/null and b/images/openQA-Test_Details.png differ diff --git a/images/openQA-Test_Result_Overview.png b/images/openQA-Test_Result_Overview.png new file mode 100644 index 000000000..0f1cce70c Binary files /dev/null and b/images/openQA-Test_Result_Overview.png differ diff --git a/images/openQA-main_page.png b/images/openQA-main_page.png new file mode 100644 index 000000000..967861147 Binary files /dev/null and b/images/openQA-main_page.png differ diff --git a/images/openQA-needle.png b/images/openQA-needle.png new file mode 100644 index 000000000..b52f576c2 Binary files /dev/null and b/images/openQA-needle.png differ diff --git a/images/openQA-video_recording.png b/images/openQA-video_recording.png new file mode 100644 index 000000000..e5a20ec60 Binary files /dev/null and b/images/openQA-video_recording.png differ diff --git a/images/openscap-9_evaluation_report.png b/images/openscap-9_evaluation_report.png new file mode 100644 index 000000000..185eb95b5 Binary files /dev/null and b/images/openscap-9_evaluation_report.png differ diff --git a/images/openscap-9_full_security_guide.png b/images/openscap-9_full_security_guide.png new file mode 100644 index 000000000..a1a30dbb6 Binary files /dev/null and b/images/openscap-9_full_security_guide.png differ diff --git a/images/openscap-9_oval_scan.png b/images/openscap-9_oval_scan.png new file mode 100644 index 000000000..c12b404ef Binary files /dev/null and b/images/openscap-9_oval_scan.png differ diff --git a/images/openscap-9_workbench.png b/images/openscap-9_workbench.png new file mode 100644 index 000000000..55e8a4ab6 Binary files /dev/null and b/images/openscap-9_workbench.png differ diff --git a/images/openscap-9_workbench_profiles.png b/images/openscap-9_workbench_profiles.png new file mode 100644 index 000000000..9193d5e21 Binary files /dev/null and b/images/openscap-9_workbench_profiles.png differ diff --git a/images/openscap-9_workbench_report.png b/images/openscap-9_workbench_report.png new file mode 100644 index 000000000..7e10cde13 Binary files /dev/null and b/images/openscap-9_workbench_report.png differ diff --git a/images/openscap-9_workbench_scan.png b/images/openscap-9_workbench_scan.png new file mode 100644 index 000000000..a1c36f8b0 Binary files /dev/null and b/images/openscap-9_workbench_scan.png differ diff --git a/images/openscap-oval-report.png b/images/openscap-oval-report.png new file mode 100644 index 000000000..b65343836 Binary files /dev/null and b/images/openscap-oval-report.png differ diff --git a/images/openscap-workbench-message.png b/images/openscap-workbench-message.png new file mode 100644 index 000000000..60f58ccac Binary files /dev/null and b/images/openscap-workbench-message.png differ diff --git a/images/openscap-workbench-report.png b/images/openscap-workbench-report.png new file mode 100644 index 000000000..a4115b316 Binary files /dev/null and b/images/openscap-workbench-report.png differ diff --git a/images/openscap-workbench-scanning.png b/images/openscap-workbench-scanning.png new file mode 100644 index 000000000..a481cca99 Binary files /dev/null and b/images/openscap-workbench-scanning.png differ diff --git a/images/openscap_evaluation-report.png b/images/openscap_evaluation-report.png new file mode 100644 index 000000000..16307ffb6 Binary files /dev/null and b/images/openscap_evaluation-report.png differ diff --git a/images/openscap_security-guide-1.png b/images/openscap_security-guide-1.png new file mode 100644 index 000000000..44b8a52c2 Binary files /dev/null and b/images/openscap_security-guide-1.png differ diff --git a/images/openscap_security-guide-2.png b/images/openscap_security-guide-2.png new file mode 100644 index 000000000..e16d7719d Binary files /dev/null and b/images/openscap_security-guide-2.png differ diff --git a/images/openscap_security-policy.png b/images/openscap_security-policy.png new file mode 100644 index 000000000..de74a1d19 Binary files /dev/null and b/images/openscap_security-policy.png differ diff --git a/images/openscap_workbench-menu.png b/images/openscap_workbench-menu.png new file mode 100644 index 000000000..fb010e97b Binary files /dev/null and b/images/openscap_workbench-menu.png differ diff --git a/images/openscap_workbench.png b/images/openscap_workbench.png new file mode 100644 index 000000000..6cbd96234 Binary files /dev/null and b/images/openscap_workbench.png differ diff --git a/images/release-notes_almalinux-install-source.png b/images/release-notes_almalinux-install-source.png new file mode 100644 index 000000000..dc22517e7 Binary files /dev/null and b/images/release-notes_almalinux-install-source.png differ diff --git a/images/sbom-guide-bs-details.png b/images/sbom-guide-bs-details.png new file mode 100644 index 000000000..7e5faca8d Binary files /dev/null and b/images/sbom-guide-bs-details.png differ diff --git a/images/sbom-guide-bs-rpm-hash.png b/images/sbom-guide-bs-rpm-hash.png new file mode 100644 index 000000000..bec409ab3 Binary files /dev/null and b/images/sbom-guide-bs-rpm-hash.png differ diff --git a/images/sbom-guide-bs-search.png b/images/sbom-guide-bs-search.png new file mode 100644 index 000000000..22952663f Binary files /dev/null and b/images/sbom-guide-bs-search.png differ diff --git a/images/sbom-guide-bs-select-arch.png b/images/sbom-guide-bs-select-arch.png new file mode 100644 index 000000000..ed569bd4e Binary files /dev/null and b/images/sbom-guide-bs-select-arch.png differ diff --git a/images/sbom-guide-cas-example.png b/images/sbom-guide-cas-example.png new file mode 100644 index 000000000..f70849a76 Binary files /dev/null and b/images/sbom-guide-cas-example.png differ diff --git a/images/sbom-guide-live-example-auth-by-binary-file.gif b/images/sbom-guide-live-example-auth-by-binary-file.gif new file mode 100644 index 000000000..d641cc32b Binary files /dev/null and b/images/sbom-guide-live-example-auth-by-binary-file.gif differ diff --git a/images/sbom-guide-live-example-auth-rpm-hash.gif b/images/sbom-guide-live-example-auth-rpm-hash.gif new file mode 100644 index 000000000..393f091ec Binary files /dev/null and b/images/sbom-guide-live-example-auth-rpm-hash.gif differ diff --git a/images/weblate-almalinux-foundation.png b/images/weblate-almalinux-foundation.png new file mode 100644 index 000000000..1afb3f2a5 Binary files /dev/null and b/images/weblate-almalinux-foundation.png differ diff --git a/images/weblate-ask-new-lang.png b/images/weblate-ask-new-lang.png new file mode 100644 index 000000000..7b85076c3 Binary files /dev/null and b/images/weblate-ask-new-lang.png differ diff --git a/images/weblate-create-account.png b/images/weblate-create-account.png new file mode 100644 index 000000000..0e8ab09c7 Binary files /dev/null and b/images/weblate-create-account.png differ diff --git a/images/weblate-send-translations.png b/images/weblate-send-translations.png new file mode 100644 index 000000000..69c2941da Binary files /dev/null and b/images/weblate-send-translations.png differ diff --git a/images/weblate-translate-website.png b/images/weblate-translate-website.png new file mode 100644 index 000000000..08a6794de Binary files /dev/null and b/images/weblate-translate-website.png differ diff --git a/images/wsl-alma.png b/images/wsl-alma.png new file mode 100644 index 000000000..fe49368d2 Binary files /dev/null and b/images/wsl-alma.png differ diff --git a/images/wsl-install.png b/images/wsl-install.png new file mode 100644 index 000000000..49cc5aa4e Binary files /dev/null and b/images/wsl-install.png differ diff --git a/images/wsl-ms-store.png b/images/wsl-ms-store.png new file mode 100644 index 000000000..e05d07d15 Binary files /dev/null and b/images/wsl-ms-store.png differ diff --git a/images/wsl-powershell.png b/images/wsl-powershell.png new file mode 100644 index 000000000..08631107a Binary files /dev/null and b/images/wsl-powershell.png differ diff --git a/index.html b/index.html new file mode 100644 index 000000000..9e0d67b60 --- /dev/null +++ b/index.html @@ -0,0 +1,57 @@ + + + + + + About AlmaLinux Wiki | AlmaLinux Wiki + + + + + + + + + +

    # About AlmaLinux Wiki

    AlmaLinux (opens new window) is an Open Source and forever-free enterprise Linux distribution, governed and driven by the community, focused on long-term stability and a robust production grade platform. AlmaLinux OS is binary compatible with RHEL®. The AlmaLinux OS Foundation was established as a 501(c)(6) non-profit to steward ownership and governance of the project. The foundation includes over 400 individual members, over 100 Mirror sponsors, and over 25 Corporate sponsors.

    Quick Links & Resources

    # Contributions to the Wiki

    There are many ways to contribute to the wiki! To see how, check out the Contributing to Documentation (opens new window) guide. Before submitting pull requests, always make sure that your updates will build and display correctly, by testing in your local environment using yarn docs:dev.

    # Transparency Statement

    # License

    This Wiki content is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License (opens new window).

    + + + diff --git a/installation/vagrant-boxes.html b/installation/vagrant-boxes.html new file mode 100644 index 000000000..474174193 --- /dev/null +++ b/installation/vagrant-boxes.html @@ -0,0 +1,59 @@ + + + + + + Vagrant Boxes | AlmaLinux Wiki + + + + + + + + + +
    # last updated: 2024-07-04

    # Vagrant Boxes

    AlmaLinux offers official AlmaLinux OS images for Vagrant Boxes. Images are delivered by the AlmaLinux Cloud SIG (opens new window).

    The following AlmaLinux OS 9 (opens new window) and AlmaLinux OS 8 (opens new window) images are available on Vagrant Cloud:

    Vagrant Box AlmaLinux OS 9 AlmaLinux OS 8
    Libvirt Intel/AMD (x86_64) Intel/AMD (x86_64)
    Virtual Box Intel/AMD (x86_64) Intel/AMD (x86_64)
    Hyper-V Intel/AMD (x86_64) Intel/AMD (x86_64)
    VMWare Intel/AMD (x86_64)
    ARM64 (AArch64)
    Intel/AMD (x86_64)
    Parallels ARM64 (AArch64) -

    # Contribute and Get Help

    If you are interested in contributing or need any assistance, check the SIG/Cloud wiki page and join the ~SIG/Cloud chat channel in Mattermost (opens new window) chat channel on chat.almalinux.org (opens new window).

    + + + diff --git a/migration/index.html b/migration/index.html new file mode 100644 index 000000000..536d1c411 --- /dev/null +++ b/migration/index.html @@ -0,0 +1,53 @@ + + + + + + AlmaLinux Migration Projects | AlmaLinux Wiki + + + + + + + + + +
    # last updated: 2024-08-30

    # AlmaLinux Migration Projects

    AlmaLinux offers two projects for migrating your machine, each designed for specific migration paths.

    See the general overviews of options to select the tool/project that best fits your requirements.

    # AlmaLinux Migration Tool

    AlmaLinux Migration Tool (opens new window) can be used to convert your EL8 or EL9 machine to the corresponding version.

    The tool supports the following migration paths:

    image

    See the Migration Guide for the conversion steps.

    # AlmaLinux ELevate Project

    The ELevate project is an initiative to support migrations between major versions of RHEL-derivatives.

    The Leapp utility (opens new window) and a few patches (opens new window) are used to perform in-place migrations between CentOS 7 and Enterprise Linux (EL) 8, and between EL8 and EL9 systems.

    The Red Hat Upgrade Tool (opens new window) is used to perform in-place migration between CentOS 6 and CentOS 7.

    TIP

    Please note, the ELevate project is designed to perform one-step upgrades. If you wish to perform an upgrade from CentOS7, you need to split the process. Please check the ELevating CentOS7 to AlmaLinux 9 guide for more information.

    The ELevate project supports a number of 3rd party repositories:

    • EPEL support is currently available for upgrades to AlmaLinux OS only.
    • MariaDB - for all supported operating systems.
    • nginx - for all supported operating systems.
    • PostgreSQL - for all supported operating systems.
    • Imunify - for upgrades to EL 8.
    • KernelCare - for upgrades to EL 8.

    TIP

    You can contribute to the project and add more 3rd party repositories support. See more on the Contribute page.

    Currently, the following upgrade paths are available:

    image

    * - upgrading from Scientific Linux 7 to AlmaLinux 8 requires a workaround. Please, see more in the known issues.
    +** - upgrading to Oracle Linux 9 is available with the Oracle Leapp utility (opens new window) and will not be supported by ELevate project. +See the ELevate section for the update steps.

    + + + diff --git a/release-notes/8.10-beta.html b/release-notes/8.10-beta.html new file mode 100644 index 000000000..4cd39a708 --- /dev/null +++ b/release-notes/8.10-beta.html @@ -0,0 +1,83 @@ + + + + + + 8.10 Beta | AlmaLinux Wiki + + + + + + + + + +
    # last updated: 2024-04-17

    # AlmaLinux 8.10 Beta Release Notes

    These are the release notes for AlmaLinux OS 8.10 Beta for all supported architectures:

    • x86_64
    • aarch64
    • ppc64le
    • s390x

    Codename: Cerulean Leopard. +Distributed kernel version: 4.18.0-544.el8

    # Beta Release

    WARNING

    This is a BETA release and should not be used for production installations. The provided upgrade instructions should not be used on production machines unless you have backups and a recovery option. 😉

    # Providing Feedback and Getting Help

    Please report any issues you may encounter during tests on the AlmaLinux Bug Tracker (opens new window). Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out The AlmaLinux Community Chat (opens new window), The AlmaLinux Forums (opens new window) and The AlmaLinux Community on Reddit (opens new window).

    # Changelog

    • Updated module streams:

      • Python 3.12
      • Ruby 3.3
      • PHP 8.2
      • nginx 1.24
      • MariaDB 10.11
      • PostgreSQL 16
    • Updated components:

      • Git to version 2.43.0
      • Git LFS to version 3.4.1
    • Security

      • SCAP Security Guide 0.1.72 contains updated CIS profiles, a profile aligned with the PCI DSS policy version 4.0, and profiles for the latest DISA STIG policies.
      • The Linux kernel cryptographic API (libkcapi) 1.4.0 introduces new tools and options. Notably, with the new -T option, you can specify target file names in hash-sum calculations.
      • The stunnel TLS/SSL tunneling service 5.71 changes the behavior of OpenSSL 1.1 and later versions in FIPS mode. Besides this change, version 5.71 provides many new features such as support for modern PostgreSQL clients.
      • The OpenSSL TLS toolkit now contains API-level protections against Bleichenbacher-like attacks on the RSA PKCS #1 v1.5 decryption process.
    • The following device drivers were modified to re-add PCI IDs for hardware that was previously disabled in our upstream:

      • aacraid - Dell PERC2, 2/Si, 3/Si, 3/Di, Adaptec Advanced Raid Products, HP NetRAID-4M, IBM ServeRAID & ICP SCSI
      • be2iscsi - Emulex OneConnect Open-iSCSI for BladeEngine 2 and 3 adapters
      • hpsa - HP Smart Array Controller
      • lpfc - Emulex LightPulse Fibre Channel SCSI
      • megaraid_sas - Broadcom MegaRAID SAS
      • mlx4_core - Mellanox Gen2 and ConnectX-2 adapters
      • mpt3sas - LSI MPT Fusion SAS 3.0
      • mptsas - Fusion MPT SAS Host
      • qla2xxx - QLogic Fibre Channel HBA
      • qla4xxx - QLogic iSCSI HBA

    # Upgrade Instructions

    Please do not use these update instructions on production machines unless you don't mind if something breaks 😉

    Upgrade the almalinux-release package to the 8.10-0.0.el8 version from the beta repositories:

    $ dnf install -y https://repo.almalinux.org/vault/almalinux-release-latest-8-beta.x86_64.rpm
    +$ dnf clean all
    +

    the new package contains updated repository URLs so that you can just run:

    $ dnf upgrade -y
    +

    to update the rest of the packages.

    # Installation instructions

    There are three installation ISO images available:

    AlmaLinux-8.10-beta-1-x86_64-boot.iso - a single network installation CD image that downloads packages over the Internet.

    AlmaLinux-8.10-beta-1-x86_64-minimal.iso - a minimal self-containing DVD image that makes possible offline installation.

    AlmaLinux-8.10-beta-1-x86_64-dvd.iso - a full installation DVD image that contains mostly all AlmaLinux packages.

    Download a suitable ISO image from the 8.10-beta/isos/$arch/ directory, for example:

    $ wget https://repo.almalinux.org/almalinux/8.10-beta/isos/x86_64/AlmaLinux-8.10-beta-1-x86_64-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
    +$ gpg --import RPM-GPG-KEY-AlmaLinux
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/8.10-beta/isos/x86_64/CHECKSUM
    +
    +# we are looking for “Good signature”
    +$ gpg --verify CHECKSUM
    +gpg: Signature made Tue 16 Apr 2024 10:38:48 AM EDT
    +gpg:                using RSA key BC5EDDCADF502C077F1582882AE81E8ACED7258B
    +gpg: Good signature from "AlmaLinux OS 8 <packager@almalinux.org>" [unknown]
    +gpg: WARNING: This key is not certified with a trusted signature!
    +gpg:          There is no indication that the signature belongs to the owner.
    +Primary key fingerprint: BC5E DDCA DF50 2C07 7F15  8288 2AE8 1E8A CED7 258B
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-8.10-beta-1-x86_64-boot.iso
    +5a8ab1a680b7373993889e91e8402f28784e78087ef23f33cee282ab69a2fbf7  AlmaLinux-8.10-beta-1-x86_64-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-8.10-beta-1-x86_64-boot.iso'
    +SHA256 (AlmaLinux-8.10-beta-1-x86_64-boot.iso) = 5a8ab1a680b7373993889e91e8402f28784e78087ef23f33cee282ab69a2fbf7
    +

    If you decide to use the AlmaLinux-8.10-beta-1-x86_64-boot.iso image, you may need to provide the https://repo.almalinux.org/vault/8.10-beta/BaseOS/x86_64/kickstart/ URL repository as the Installation Source in the event that the installer is not able to find it automatically for some reason.

    There are no extra Installation Sources required if you decided to go with either the Minimal or DVD ISO images.

    # Additional packages

    Here is a list of packages that are AlmaLinux-specific, and will not be found in compatible versions of RHEL..

    Package Description
    almalinux-backgrounds AlmaLinux background images.
    Replaces redhat-backgrounds
    almalinux-indexhtml AlmaLinux default browser page
    Replaces redhat-indexhtml
    almalinux-logos AlmaLinux graphics for OS
    Replaces redhat-logos
    almalinux-logos-httpd AlmaLinux graphics for HTTPD server
    Replaces redhat-logos-httpd
    almalinux-logos-ipa AlmaLinux graphics for IPA server
    Replaces redhat-logos-ipa
    almalinux-release AlmaLinux release package, repos, and EULA
    Replaces redhat-release and redhat-release-eula

    # Removed packages

    Here is a list of packages you will not find in AlmaLinux when comparing with the compatible version of RHEL.

    AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join AlmaLinux Chat (opens new window) as well as filing a bug report at AlmaLinux Bug Tracker (opens new window) to discuss if you think any of the packages below should be included into the repos.

    Package Description
    insights-client RHEL specific package to connect to upstream vendor resources
    kmod-redhat-* RHEL specific modules from Driver Update Program
    kpatch* RHEL specific live patches for kernel
    redhat-backgrounds RHEL specific background images
    redhat-indexhtml RHEL specific default browser page
    redhat-logos RHEL specific graphics for OS
    redhat-logos-httpd RHEL specific graphics for HTTPD server
    redhat-logos-ipa RHEL specific graphics for IPA server
    redhat-release RHEL specific release package and repos
    redhat-release-eula RHEL specific EULA
    redhat-support-lib-python RHEL specific package to connect to upstream vendor resources
    redhat-support-tool RHEL specific package to connect to upstream vendor resources
    rhc RHEL specific package to connect to upstream vendor resources
    rhc-worker-playbook RHEL specific package to connect to upstream vendor resources
    rhsm-gtk RHEL specific GUI for Subscription Manager
    rhsm-icons RHEL specific GUI for Subscription Manager
    spice-client-win-x64 Contains binaries built by upstream vendor
    spice-client-win-x86 Contains binaries built by upstream vendor
    spice-qxl-wddm-dod Contains binaries built by upstream vendor
    spice-vdagent-win-x64 Contains binaries built by upstream vendor
    spice-vdagent-win-x86 Contains binaries built by upstream vendor
    subscription-manager-cockpit RHEL specific Cockpit module for Subscription Manager
    subscription-manager-initial-setup-addon RHEL specific initial setup addon for Subscription Manager
    subscription-manager-plugin-container RHEL specific Subscription Manager plugin for upstream vendor containers
    virt-who RHEL specific package to connect to upstream vendor resources
    virtio-win Contain binaries built by upstream vendor

    # Extended hardware support

    The following devices support is added in this release, when compared with the RHEL 8.10 Beta:

    Device PCI ID Device name Driver name
    0x0E11::: *:01:04 Compaq hpsa
    0x1000:0x0050 LSI SAS1064 mptsas
    0x1000:0x0054 LSI SAS1068 mptsas
    0x1000:0x0056 LSI SAS1064E mptsas
    0x1000:0x0058 LSI SAS1068E mptsas
    0x1000:0x0059 LSI SAS1068_820XELP mptsas
    0x1000:0x0060 LSI MegaRAID SAS1078R megaraid_sas
    0x1000:0x0062 LSI SAS1078 mptsas
    0x1000:0x0064 LSI SAS2116_1 mpt3sas
    0x1000:0x0065 LSI SAS2116_2 mpt3sas
    0x1000:0x0070 LSI SAS2004 mpt3sas
    0x1000:0x0072 LSI SAS2008 mpt3sas
    0x1000:0x0074 LSI SAS2108_1 mpt3sas
    0x1000:0x0076 LSI SAS2108_2 mpt3sas
    0x1000:0x0077 LSI SAS2108_3 mpt3sas
    0x1000:0x0078 LSI MegaRAID SAS1078 Gen2 megaraid_sas
    0x1000:0x007C LSI MegaRAID SAS1078DE megaraid_sas
    0x1000:0x007E LSI SSS6200 mpt3sas
    0x1000:0x0411 LSI MegaRAID SAS1064R megaraid_sas
    0x1000:0x0413 LSI MegaRAID SAS1068 Verde ZCR megaraid_sas
    0x1011:0x0046:0x103C:0x10C2 HP NetRAID-4M aacraid
    0x1011:0x0046:0x9005:0x0364 Adaptec 5400S (Mustang) aacraid
    0x1011:0x0046:0x9005:0x0365 Adaptec 5400S (Mustang) aacraid
    0x1011:0x0046:0x9005:0x1364 Dell PERC 2/QC aacraid
    0x1028:0x0001:0x1028:0x0001 DELL PERC 2/Si (Iguana) aacraid
    0x1028:0x0002:0x1028:0x0002 DELL PERC 3/Di (Opal) aacraid
    0x1028:0x0002:0x1028:0x00D1 DELL PERC 3/Di (Viper) aacraid
    0x1028:0x0002:0x1028:0x00D9 DELL PERC 3/Di (Lexus) aacraid
    0x1028:0x0003:0x1028:0x0003 DELL PERC 3/Si (SlimFast) aacraid
    0x1028:0x0004:0x1028:0x00D0 DELL PERC 3/Di (Iguana FlipChip) aacraid
    0x1028:0x000A:0x1028:0x0106 DELL PERC 3/Di (Jaguar) aacraid
    0x1028:0x000A:0x1028:0x011B DELL PERC 3/Di (Dagger) aacraid
    0x1028:0x000A:0x1028:0x0121 DELL PERC 3/Di (Boxster) aacraid
    0x1028:0x0015 Dell PERC5 megaraid_sas
    0x103C::: *:01:04 HP hpsa
    0x1077:0x2100 QLogic ISP2100 qla2xxx
    0x1077:0x2200 QLogic ISP2200 qla2xxx
    0x1077:0x2300 QLogic ISP2300 qla2xxx
    0x1077:0x2312 QLogic ISP2312 qla2xxx
    0x1077:0x2322 QLogic ISP2322 qla2xxx
    0x1077:0x2422 QLogic ISP2422 qla2xxx
    0x1077:0x2432 QLogic ISP2432 qla2xxx
    0x1077:0x5422 QLogic ISP5422 qla2xxx
    0x1077:0x5432 QLogic ISP5432 / QLE220 qla2xxx
    0x1077:0x6312 QLogic ISP6312 qla2xxx
    0x1077:0x6322 QLogic ISP6322 qla2xxx
    0x1077:0x8001 QLogic ISP8001 / QLE81xx qla2xxx
    0x1077:0x8021 QLogic ISP8021 / QLE82xx qla2xxx
    0x1077:0x8022 QLogic ISP8022 qla4xxx
    0x1077:0x8032 QLogic ISP8324 qla4xxx
    0x1077:0x8042 QLogic ISP8042 qla4xxx
    0x1077:0x8044 QLogic ISP8044 / QLE84xx qla2xxx
    0x1077:0x8432 QLogic ISP8432 / QLE8000 qla2xxx
    0x1077:0xF001 QLogic ISPF001 / QLE10000 qla2xxx
    0x10DF:0x1AE5 FIREFLY lpfc
    0x10DF:0xE100 PROTEUS VF lpfc
    0x10DF:0xE131 BALIUS lpfc
    0x10DF:0xE180 PROTEUS PF lpfc
    0x10DF:0xE208 LANCER_FC_VF lpfc
    0x10DF:0xE260 Emulex OneConnect OCe15102-FM/OCe15104-FM/OCm15108-F-P lpfc
    0x10DF:0xE268 LANCER_FCOE_VF lpfc
    0x10DF:0xF095 RFLY lpfc
    0x10DF:0xF098 PFLY lpfc
    0x10DF:0xF0A1 LP101 lpfc
    0x10DF:0xF0A5 TFLY lpfc
    0x10DF:0xF0D1 BSMB lpfc
    0x10DF:0xF0F5 NEPTUNE lpfc
    0x10DF:0xF0F6 NEPTUNE SCSP lpfc
    0x10DF:0xF0F7 NEPTUNE DCSP lpfc
    0x10DF:0xF700 SUPERFLY lpfc
    0x10DF:0xF800 DRAGONFLY lpfc
    0x10DF:0xF900 CENTAUR lpfc
    0x10DF:0xF980 PEGASUS lpfc
    0x10DF:0xFA00 THOR lpfc
    0x10DF:0xFB00 VIPER lpfc
    0x10DF:0xFC00 LP10000S lpfc
    0x10DF:0xFC10 LP11000S lpfc
    0x10DF:0xFC20 LPE11000S lpfc
    0x10DF:0xFC50 PROTEUS S lpfc
    0x10DF:0xFD00 HELIOS lpfc
    0x10DF:0xFD11 HELIOS SCSP lpfc
    0x10DF:0xFD12 HELIOS DCSP lpfc
    0x10DF:0xFE05 HORNET lpfc
    0x15B3:0x1002 Mellanox ConnectX-2 MT25400 mlx4_core
    0x15B3:0x6340 Mellanox Hermon SDR mlx4_core
    0x15B3:0x634A Mellanox Hermon DDR mlx4_core
    0x15B3:0x6354 Mellanox Hermon QDR mlx4_core
    0x15B3:0x6368 Mellanox Hermon EN 10GigE mlx4_core
    0x15B3:0x6372 Mellanox ConnectX EN 10GBASE-T mlx4_core
    0x15B3:0x6732 Mellanox Hermon DDR Gen2 mlx4_core
    0x15B3:0x673C Mellanox Hermon QDR Gen2 mlx4_core
    0x15B3:0x6746 Mellanox ConnectX EN 40GigE PCIe Gen2 5GT/s mlx4_core
    0x15B3:0x6750 Mellanox Hermon EN 10GigE Gen2 mlx4_core
    0x15B3:0x675A Mellanox ConnectX EN 10GBASE-T Gen2 mlx4_core
    0x15B3:0x6764 Mellanox ConnectX EN 10 GigE PCIe Gen2 mlx4_core
    0x15B3:0x676E Mellanox ConnectX-2 40GigE PCIe Gen2 mlx4_core
    0x19A2:0x0212 Emulex BladeEngine 2 10Gb iSCSI Initiator be2iscsi
    0x19A2:0x0222 Emulex BladeEngine 3 iSCSI be2iscsi
    0x19A2:0x0702 Emulex OneConnect OCe10101/OCm10101/OCe10102/OCm10102 be2iscsi
    0x19A2:0x0703 Emulex OneConnect OCe10100 be2iscsi
    0x19A2:0x0704 Emulex OneConnect Tigershark FCoE lpfc
    0x19A2:0x0712 Emulex OneConnect Tomcat iSCSI be2iscsi
    0x19A2:0x0714 Emulex OneConnect Tomcat FCoE lpfc
    0x9005:0x0200:0x9005:0x0200 Themisto Jupiter Platform aacraid
    0x9005:0x0283:0x9005:0x0283 Catapult aacraid
    0x9005:0x0284:0x9005:0x0284 Tomcat aacraid
    0x9005:0x0285 Adaptec Catch All aacraid
    0x9005:0x0285:0x1014:0x02F2 IBM 8i (AvonPark) aacraid
    0x9005:0x0285:0x1014:0x0312 IBM 8i (AvonPark Lite) aacraid
    0x9005:0x0285:0x1028 Dell Catchall aacraid
    0x9005:0x0285:0x1028:0x0287 Perc 320/DC aacraid
    0x9005:0x0285:0x1028:0x0291 CERC SATA RAID 2 PCI SATA 6ch (DellCorsair) aacraid
    0x9005:0x0285:0x103C:0x3227 AAR-2610SA PCI SATA 6ch aacraid
    0x9005:0x0285:0x17AA Legend Catchall aacraid
    0x9005:0x0285:0x17AA:0x0286 Legend S220 (Legend Crusader) aacraid
    0x9005:0x0285:0x17AA:0x0287 Legend S230 (Legend Vulcan) aacraid
    0x9005:0x0285:0x9005:0x0285 Adaptec 2200S (Vulcan) aacraid
    0x9005:0x0285:0x9005:0x0286 Adaptec 2120S (Crusader) aacraid
    0x9005:0x0285:0x9005:0x0287 Adaptec 2200S (Vulcan-2m) aacraid
    0x9005:0x0285:0x9005:0x0288 Adaptec 3230S (Harrier) aacraid
    0x9005:0x0285:0x9005:0x0289 Adaptec 3240S (Tornado) aacraid
    0x9005:0x0285:0x9005:0x028A ASR-2020ZCR SCSI PCI-X ZCR (Skyhawk) aacraid
    0x9005:0x0285:0x9005:0x028B ASR-2025ZCR SCSI SO-DIMM PCI-X ZCR (Terminator) aacraid
    0x9005:0x0285:0x9005:0x028E ASR-2020SA SATA PCI-X ZCR (Skyhawk) aacraid
    0x9005:0x0285:0x9005:0x028F ASR-2025SA SATA SO-DIMM PCI-X ZCR (Terminator) aacraid
    0x9005:0x0285:0x9005:0x0290 AAR-2410SA PCI SATA 4ch (Jaguar II) aacraid
    0x9005:0x0285:0x9005:0x0292 AAR-2810SA PCI SATA 8ch (Corsair-8) aacraid
    0x9005:0x0285:0x9005:0x0293 AAR-21610SA PCI SATA 16ch (Corsair-16) aacraid
    0x9005:0x0285:0x9005:0x0294 ESD SO-DIMM PCI-X SATA ZCR (Prowler) aacraid
    0x9005:0x0285:0x9005:0x0296 ASR-2240S (SabreExpress) aacraid
    0x9005:0x0285:0x9005:0x0297 ASR-4005 aacraid
    0x9005:0x0285:0x9005:0x0298 ASR-4000 (BlackBird) aacraid
    0x9005:0x0285:0x9005:0x0299 ASR-4800SAS (Marauder-X) aacraid
    0x9005:0x0285:0x9005:0x029A ASR-4805SAS (Marauder-E) aacraid
    0x9005:0x0285:0x9005:0x02A4 ICP9085LI (Marauder-X) aacraid
    0x9005:0x0285:0x9005:0x02A5 ICP5085BR (Marauder-E) aacraid
    0x9005:0x0286 Adaptec Rocket Catch All aacraid
    0x9005:0x0286:0x1014:0x9540 IBM 8k/8k-l4 (Aurora Lite) aacraid
    0x9005:0x0286:0x1014:0x9580 IBM 8k/8k-l8 (Aurora) aacraid
    0x9005:0x0286:0x9005:0x028C ASR-2230S/ASR-2230SLP PCI-X (Lancer) aacraid
    0x9005:0x0286:0x9005:0x028D ASR-2130S (Lancer) aacraid
    0x9005:0x0286:0x9005:0x029B AAR-2820SA (Intruder) aacraid
    0x9005:0x0286:0x9005:0x029C AAR-2620SA (Intruder) aacraid
    0x9005:0x0286:0x9005:0x029D AAR-2420SA (Intruder) aacraid
    0x9005:0x0286:0x9005:0x029E ICP9024RO (Lancer) aacraid
    0x9005:0x0286:0x9005:0x029F ICP9014RO (Lancer) aacraid
    0x9005:0x0286:0x9005:0x02A0 ICP9047MA (Lancer) aacraid
    0x9005:0x0286:0x9005:0x02A1 ICP9087MA (Lancer) aacraid
    0x9005:0x0286:0x9005:0x02A2 ASR-3800 (Hurricane44) aacraid
    0x9005:0x0286:0x9005:0x02A3 ICP5445AU (Hurricane44) aacraid
    0x9005:0x0286:0x9005:0x02A6 ICP9067MA (Intruder-6) aacraid
    0x9005:0x0286:0x9005:0x0800 Callisto Jupiter Platform aacraid
    0x9005:0x0287:0x9005:0x0800 Themisto Jupiter Platform aacraid
    0x9005:0x0288 Adaptec NEMER/ARK Catch All aacraid
    # Trademarks

    Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    + + + diff --git a/release-notes/8.10.html b/release-notes/8.10.html new file mode 100644 index 000000000..58909418e --- /dev/null +++ b/release-notes/8.10.html @@ -0,0 +1,82 @@ + + + + + + 8.10 | AlmaLinux Wiki + + + + + + + + + +
    # last updated: 2024-05-27

    # AlmaLinux 8.10 Release Notes

    These are the release notes for AlmaLinux OS 8.10 Stable for all supported architectures:

    • x86_64
    • aarch64
    • ppc64le
    • s390x

    Codename: Cerulean Leopard.

    Distributed kernel version: 4.18.0-553.el8_10

    # Providing Feedback and Getting Help

    Please report any issues you may encounter during tests on the AlmaLinux Bug Tracker (opens new window). Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out The AlmaLinux Community Chat (opens new window), The AlmaLinux Forums (opens new window) and The AlmaLinux Community on Reddit (opens new window).

    # Changelog

    • Updated module streams:

      • Python 3.12
      • Ruby 3.3
      • PHP 8.2
      • nginx 1.24
      • MariaDB 10.11
      • PostgreSQL 16
    • Updated components:

      • Git to version 2.43.0
      • Git LFS to version 3.4.1
    • Security

      • SCAP Security Guide 0.1.72 contains updated CIS profiles, a profile aligned with the PCI DSS policy version 4.0, and profiles for the latest DISA STIG policies.
      • The Linux kernel cryptographic API (libkcapi) 1.4.0 introduces new tools and options. Notably, with the new -T option, you can specify target file names in hash-sum calculations.
      • The stunnel TLS/SSL tunneling service 5.71 changes the behavior of OpenSSL 1.1 and later versions in FIPS mode. Besides this change, version 5.71 provides many new features such as support for modern PostgreSQL clients.
      • The OpenSSL TLS toolkit now contains API-level protections against Bleichenbacher-like attacks on the RSA PKCS #1 v1.5 decryption process.
    • The following device drivers were modified to re-add PCI IDs for hardware that was previously disabled in our upstream:

      • aacraid - Dell PERC2, 2/Si, 3/Si, 3/Di, Adaptec Advanced Raid Products, HP NetRAID-4M, IBM ServeRAID & ICP SCSI
      • be2iscsi - Emulex OneConnect Open-iSCSI for BladeEngine 2 and 3 adapters
      • be2net - Emulex BladeEngine 2 and 3 adapters
      • hpsa - HP Smart Array Controller
      • lpfc - Emulex LightPulse Fibre Channel SCSI
      • megaraid_sas - Broadcom MegaRAID SAS
      • mlx4_core - Mellanox Gen2 and ConnectX-2 adapters
      • mpt3sas - LSI MPT Fusion SAS 3.0
      • mptsas - Fusion MPT SAS Host
      • qla2xxx - QLogic Fibre Channel HBA
      • qla4xxx - QLogic iSCSI HBA

    As we aim to match release versions and cadences with Red Hat Enterprise Linux, you can reference the RHEL 8.10 release notes (opens new window) for a full list of changes in this release.

    # Installation instructions

    There are three installation ISO images available:

    AlmaLinux-8.10-x86_64-boot.iso - a single network installation CD image that downloads packages over the Internet.

    AlmaLinux-8.10-x86_64-minimal.iso - a minimal self-containing DVD image that makes possible offline installation.

    AlmaLinux-8.10-x86_64-dvd.iso - a full installation DVD image that contains mostly all AlmaLinux packages.

    You can select a mirror closest to your geographic area listed on the mirrors.almalinux.org (opens new window) website. A local mirror will be a lot quicker than using repo.almalinux.org directly. Then, download a suitable ISO image from the 8.10/isos/$arch/ directory of your source, for example:

    $ wget https://mirror.interserver.net/almalinux/8.10/isos/x86_64/AlmaLinux-8.10-x86_64-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
    +$ gpg --import RPM-GPG-KEY-AlmaLinux
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/8.10/isos/x86_64/CHECKSUM
    +
    +# we are looking for “Good signature”
    +$ gpg --verify CHECKSUM
    +gpg: Signature made Sat 25 May 2024 04:03:41 AM EDT
    +gpg:                using RSA key BC5EDDCADF502C077F1582882AE81E8ACED7258B
    +gpg: Good signature from "AlmaLinux OS 8 <packager@almalinux.org>" [unknown]
    +gpg: WARNING: This key is not certified with a trusted signature!
    +gpg:          There is no indication that the signature belongs to the owner.
    +Primary key fingerprint: BC5E DDCA DF50 2C07 7F15  8288 2AE8 1E8A CED7 258B
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-8.10-x86_64-boot.iso
    +cc3e61faf2dd6c9c80d3beeb47eaaba235ac13fe1b617209c3c1e546528ccb99  AlmaLinux-8.10-x86_64-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-8.10-x86_64-boot.iso'
    +SHA256 (AlmaLinux-8.10-x86_64-boot.iso) = cc3e61faf2dd6c9c80d3beeb47eaaba235ac13fe1b617209c3c1e546528ccb99
    +

    If you decide to use the AlmaLinux-8.10-x86_64-boot.iso image, you will need to provide the 8.10/BaseOS/x86_64/kickstart/ URL repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.

    There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.

    # Upgrade Instructions

    To update your AlmaLinux OS 8 to 8.10 run:

    $ dnf upgrade -y
    +

    # 8.10 Beta Testers

    To update your AlmaLinux 0S 8.10 beta to 8.10 run:

    $ rpm -i https://repo.almalinux.org/almalinux/8.10/BaseOS/x86_64/os/Packages/almalinux-repos-8.10-1.el8.x86_64.rpm --replacefiles
    +$ dnf upgrade -y
    +

    # Added packages

    Here is a list of added packages in comparison with upstream distribution.

    Package Description
    almalinux-backgrounds AlmaLinux background images.
    Replaces redhat-backgrounds
    almalinux-indexhtml AlmaLinux default browser page
    Replaces redhat-indexhtml
    almalinux-logos AlmaLinux graphics for OS
    Replaces redhat-logos
    almalinux-logos-httpd AlmaLinux graphics for HTTPD server
    Replaces redhat-logos-httpd
    almalinux-logos-ipa AlmaLinux graphics for IPA server
    Replaces redhat-logos-ipa
    almalinux-release AlmaLinux release package, repos, and EULA
    Replaces redhat-release and redhat-release-eula

    # Removed packages

    Here is a list of packages you will not find in AlmaLinux when comparing with the compatible version of RHEL.

    AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join AlmaLinux Chat (opens new window) as well as filing a bug report at AlmaLinux Bug Tracker (opens new window) to discuss if you think any of the packages below should be included into the repos.

    Package Description
    insights-client RHEL specific package to connect to upstream vendor resources
    kmod-redhat-* RHEL specific modules from Driver Update Program
    kpatch* RHEL specific live patches for kernel
    redhat-backgrounds RHEL specific background images
    redhat-indexhtml RHEL specific default browser page
    redhat-logos RHEL specific graphics for OS
    redhat-logos-httpd RHEL specific graphics for HTTPD server
    redhat-logos-ipa RHEL specific graphics for IPA server
    redhat-release RHEL specific release package and repos
    redhat-release-eula RHEL specific EULA
    redhat-support-lib-python RHEL specific package to connect to upstream vendor resources
    redhat-support-tool RHEL specific package to connect to upstream vendor resources
    rhc RHEL specific package to connect to upstream vendor resources
    rhc-worker-playbook RHEL specific package to connect to upstream vendor resources
    rhsm-gtk RHEL specific GUI for Subscription Manager
    rhsm-icons RHEL specific GUI for Subscription Manager
    spice-client-win-x64 Contains binaries built by upstream vendor
    spice-client-win-x86 Contains binaries built by upstream vendor
    spice-qxl-wddm-dod Contains binaries built by upstream vendor
    spice-vdagent-win-x64 Contains binaries built by upstream vendor
    spice-vdagent-win-x86 Contains binaries built by upstream vendor
    subscription-manager-cockpit RHEL specific Cockpit module for Subscription Manager
    subscription-manager-initial-setup-addon RHEL specific initial setup addon for Subscription Manager
    subscription-manager-plugin-container RHEL specific Subscription Manager plugin for upstream vendor containers
    virt-who RHEL specific package to connect to upstream vendor resources
    virtio-win Contain binaries built by upstream vendor

    # Extended hardware support

    The following devices support is added in this release, when compared with the RHEL 8.10:

    Device PCI ID Device name Driver name
    0x0E11::: *:01:04 Compaq hpsa
    0x1000:0x0050 LSI SAS1064 mptsas
    0x1000:0x0054 LSI SAS1068 mptsas
    0x1000:0x0056 LSI SAS1064E mptsas
    0x1000:0x0058 LSI SAS1068E mptsas
    0x1000:0x0059 LSI SAS1068_820XELP mptsas
    0x1000:0x0060 LSI MegaRAID SAS1078R megaraid_sas
    0x1000:0x0062 LSI SAS1078 mptsas
    0x1000:0x0064 LSI SAS2116_1 mpt3sas
    0x1000:0x0065 LSI SAS2116_2 mpt3sas
    0x1000:0x0070 LSI SAS2004 mpt3sas
    0x1000:0x0072 LSI SAS2008 mpt3sas
    0x1000:0x0074 LSI SAS2108_1 mpt3sas
    0x1000:0x0076 LSI SAS2108_2 mpt3sas
    0x1000:0x0077 LSI SAS2108_3 mpt3sas
    0x1000:0x0078 LSI MegaRAID SAS1078 Gen2 megaraid_sas
    0x1000:0x007C LSI MegaRAID SAS1078DE megaraid_sas
    0x1000:0x007E LSI SSS6200 mpt3sas
    0x1000:0x0411 LSI MegaRAID SAS1064R megaraid_sas
    0x1000:0x0413 LSI MegaRAID SAS1068 Verde ZCR megaraid_sas
    0x1011:0x0046:0x103C:0x10C2 HP NetRAID-4M aacraid
    0x1011:0x0046:0x9005:0x0364 Adaptec 5400S (Mustang) aacraid
    0x1011:0x0046:0x9005:0x0365 Adaptec 5400S (Mustang) aacraid
    0x1011:0x0046:0x9005:0x1364 Dell PERC 2/QC aacraid
    0x1028:0x0001:0x1028:0x0001 DELL PERC 2/Si (Iguana) aacraid
    0x1028:0x0002:0x1028:0x0002 DELL PERC 3/Di (Opal) aacraid
    0x1028:0x0002:0x1028:0x00D1 DELL PERC 3/Di (Viper) aacraid
    0x1028:0x0002:0x1028:0x00D9 DELL PERC 3/Di (Lexus) aacraid
    0x1028:0x0003:0x1028:0x0003 DELL PERC 3/Si (SlimFast) aacraid
    0x1028:0x0004:0x1028:0x00D0 DELL PERC 3/Di (Iguana FlipChip) aacraid
    0x1028:0x000A:0x1028:0x0106 DELL PERC 3/Di (Jaguar) aacraid
    0x1028:0x000A:0x1028:0x011B DELL PERC 3/Di (Dagger) aacraid
    0x1028:0x000A:0x1028:0x0121 DELL PERC 3/Di (Boxster) aacraid
    0x1028:0x0015 Dell PERC5 megaraid_sas
    0x103C::: *:01:04 HP hpsa
    0x1077:0x2100 QLogic ISP2100 qla2xxx
    0x1077:0x2200 QLogic ISP2200 qla2xxx
    0x1077:0x2300 QLogic ISP2300 qla2xxx
    0x1077:0x2312 QLogic ISP2312 qla2xxx
    0x1077:0x2322 QLogic ISP2322 qla2xxx
    0x1077:0x2422 QLogic ISP2422 qla2xxx
    0x1077:0x2432 QLogic ISP2432 qla2xxx
    0x1077:0x5422 QLogic ISP5422 qla2xxx
    0x1077:0x5432 QLogic ISP5432 / QLE220 qla2xxx
    0x1077:0x6312 QLogic ISP6312 qla2xxx
    0x1077:0x6322 QLogic ISP6322 qla2xxx
    0x1077:0x8001 QLogic ISP8001 / QLE81xx qla2xxx
    0x1077:0x8021 QLogic ISP8021 / QLE82xx qla2xxx
    0x1077:0x8022 QLogic ISP8022 qla4xxx
    0x1077:0x8032 QLogic ISP8324 qla4xxx
    0x1077:0x8042 QLogic ISP8042 qla4xxx
    0x1077:0x8044 QLogic ISP8044 / QLE84xx qla2xxx
    0x1077:0x8432 QLogic ISP8432 / QLE8000 qla2xxx
    0x1077:0xF001 QLogic ISPF001 / QLE10000 qla2xxx
    0x10DF:0x1AE5 FIREFLY lpfc
    0x10DF:0xE100 PROTEUS VF lpfc
    0x10DF:0xE131 BALIUS lpfc
    0x10DF:0xE180 PROTEUS PF lpfc
    0x10DF:0xE208 LANCER_FC_VF lpfc
    0x10DF:0xE260 Emulex OneConnect OCe15102-FM/OCe15104-FM/OCm15108-F-P lpfc
    0x10DF:0xE268 LANCER_FCOE_VF lpfc
    0x10DF:0xF095 RFLY lpfc
    0x10DF:0xF098 PFLY lpfc
    0x10DF:0xF0A1 LP101 lpfc
    0x10DF:0xF0A5 TFLY lpfc
    0x10DF:0xF0D1 BSMB lpfc
    0x10DF:0xF0F5 NEPTUNE lpfc
    0x10DF:0xF0F6 NEPTUNE SCSP lpfc
    0x10DF:0xF0F7 NEPTUNE DCSP lpfc
    0x10DF:0xF700 SUPERFLY lpfc
    0x10DF:0xF800 DRAGONFLY lpfc
    0x10DF:0xF900 CENTAUR lpfc
    0x10DF:0xF980 PEGASUS lpfc
    0x10DF:0xFA00 THOR lpfc
    0x10DF:0xFB00 VIPER lpfc
    0x10DF:0xFC00 LP10000S lpfc
    0x10DF:0xFC10 LP11000S lpfc
    0x10DF:0xFC20 LPE11000S lpfc
    0x10DF:0xFC50 PROTEUS S lpfc
    0x10DF:0xFD00 HELIOS lpfc
    0x10DF:0xFD11 HELIOS SCSP lpfc
    0x10DF:0xFD12 HELIOS DCSP lpfc
    0x10DF:0xFE05 HORNET lpfc
    0x15B3:0x1002 Mellanox ConnectX-2 MT25400 mlx4_core
    0x15B3:0x6340 Mellanox Hermon SDR mlx4_core
    0x15B3:0x634A Mellanox Hermon DDR mlx4_core
    0x15B3:0x6354 Mellanox Hermon QDR mlx4_core
    0x15B3:0x6368 Mellanox Hermon EN 10GigE mlx4_core
    0x15B3:0x6372 Mellanox ConnectX EN 10GBASE-T mlx4_core
    0x15B3:0x6732 Mellanox Hermon DDR Gen2 mlx4_core
    0x15B3:0x673C Mellanox Hermon QDR Gen2 mlx4_core
    0x15B3:0x6746 Mellanox ConnectX EN 40GigE PCIe Gen2 5GT/s mlx4_core
    0x15B3:0x6750 Mellanox Hermon EN 10GigE Gen2 mlx4_core
    0x15B3:0x675A Mellanox ConnectX EN 10GBASE-T Gen2 mlx4_core
    0x15B3:0x6764 Mellanox ConnectX EN 10 GigE PCIe Gen2 mlx4_core
    0x15B3:0x676E Mellanox ConnectX-2 40GigE PCIe Gen2 mlx4_core
    0x19A2:0x0211 Emulex BladeEngine 2 Network Adapter be2net
    0x19A2:0x0212 Emulex BladeEngine 2 10Gb iSCSI Initiator be2iscsi
    0x19A2:0x0221 Emulex BladeEngine3 Network Adapter be2net
    0x19A2:0x0222 Emulex BladeEngine 3 iSCSI be2iscsi
    0x19A2:0x0700 Emulex OneConnect Tigershark NIC be2net
    0x19A2:0x0702 Emulex OneConnect OCe10101/OCm10101/OCe10102/OCm10102 be2iscsi
    0x19A2:0x0703 Emulex OneConnect OCe10100 be2iscsi
    0x19A2:0x0704 Emulex OneConnect Tigershark FCoE lpfc
    0x19A2:0x0710 Emulex OneConnect Tomcat NIC be2net
    0x19A2:0x0712 Emulex OneConnect Tomcat iSCSI be2iscsi
    0x19A2:0x0714 Emulex OneConnect Tomcat FCoE lpfc
    0x9005:0x0200:0x9005:0x0200 Themisto Jupiter Platform aacraid
    0x9005:0x0283:0x9005:0x0283 Catapult aacraid
    0x9005:0x0284:0x9005:0x0284 Tomcat aacraid
    0x9005:0x0285 Adaptec Catch All aacraid
    0x9005:0x0285:0x1014:0x02F2 IBM 8i (AvonPark) aacraid
    0x9005:0x0285:0x1014:0x0312 IBM 8i (AvonPark Lite) aacraid
    0x9005:0x0285:0x1028 Dell Catchall aacraid
    0x9005:0x0285:0x1028:0x0287 Perc 320/DC aacraid
    0x9005:0x0285:0x1028:0x0291 CERC SATA RAID 2 PCI SATA 6ch (DellCorsair) aacraid
    0x9005:0x0285:0x103C:0x3227 AAR-2610SA PCI SATA 6ch aacraid
    0x9005:0x0285:0x17AA Legend Catchall aacraid
    0x9005:0x0285:0x17AA:0x0286 Legend S220 (Legend Crusader) aacraid
    0x9005:0x0285:0x17AA:0x0287 Legend S230 (Legend Vulcan) aacraid
    0x9005:0x0285:0x9005:0x0285 Adaptec 2200S (Vulcan) aacraid
    0x9005:0x0285:0x9005:0x0286 Adaptec 2120S (Crusader) aacraid
    0x9005:0x0285:0x9005:0x0287 Adaptec 2200S (Vulcan-2m) aacraid
    0x9005:0x0285:0x9005:0x0288 Adaptec 3230S (Harrier) aacraid
    0x9005:0x0285:0x9005:0x0289 Adaptec 3240S (Tornado) aacraid
    0x9005:0x0285:0x9005:0x028A ASR-2020ZCR SCSI PCI-X ZCR (Skyhawk) aacraid
    0x9005:0x0285:0x9005:0x028B ASR-2025ZCR SCSI SO-DIMM PCI-X ZCR (Terminator) aacraid
    0x9005:0x0285:0x9005:0x028E ASR-2020SA SATA PCI-X ZCR (Skyhawk) aacraid
    0x9005:0x0285:0x9005:0x028F ASR-2025SA SATA SO-DIMM PCI-X ZCR (Terminator) aacraid
    0x9005:0x0285:0x9005:0x0290 AAR-2410SA PCI SATA 4ch (Jaguar II) aacraid
    0x9005:0x0285:0x9005:0x0292 AAR-2810SA PCI SATA 8ch (Corsair-8) aacraid
    0x9005:0x0285:0x9005:0x0293 AAR-21610SA PCI SATA 16ch (Corsair-16) aacraid
    0x9005:0x0285:0x9005:0x0294 ESD SO-DIMM PCI-X SATA ZCR (Prowler) aacraid
    0x9005:0x0285:0x9005:0x0296 ASR-2240S (SabreExpress) aacraid
    0x9005:0x0285:0x9005:0x0297 ASR-4005 aacraid
    0x9005:0x0285:0x9005:0x0298 ASR-4000 (BlackBird) aacraid
    0x9005:0x0285:0x9005:0x0299 ASR-4800SAS (Marauder-X) aacraid
    0x9005:0x0285:0x9005:0x029A ASR-4805SAS (Marauder-E) aacraid
    0x9005:0x0285:0x9005:0x02A4 ICP9085LI (Marauder-X) aacraid
    0x9005:0x0285:0x9005:0x02A5 ICP5085BR (Marauder-E) aacraid
    0x9005:0x0286 Adaptec Rocket Catch All aacraid
    0x9005:0x0286:0x1014:0x9540 IBM 8k/8k-l4 (Aurora Lite) aacraid
    0x9005:0x0286:0x1014:0x9580 IBM 8k/8k-l8 (Aurora) aacraid
    0x9005:0x0286:0x9005:0x028C ASR-2230S/ASR-2230SLP PCI-X (Lancer) aacraid
    0x9005:0x0286:0x9005:0x028D ASR-2130S (Lancer) aacraid
    0x9005:0x0286:0x9005:0x029B AAR-2820SA (Intruder) aacraid
    0x9005:0x0286:0x9005:0x029C AAR-2620SA (Intruder) aacraid
    0x9005:0x0286:0x9005:0x029D AAR-2420SA (Intruder) aacraid
    0x9005:0x0286:0x9005:0x029E ICP9024RO (Lancer) aacraid
    0x9005:0x0286:0x9005:0x029F ICP9014RO (Lancer) aacraid
    0x9005:0x0286:0x9005:0x02A0 ICP9047MA (Lancer) aacraid
    0x9005:0x0286:0x9005:0x02A1 ICP9087MA (Lancer) aacraid
    0x9005:0x0286:0x9005:0x02A2 ASR-3800 (Hurricane44) aacraid
    0x9005:0x0286:0x9005:0x02A3 ICP5445AU (Hurricane44) aacraid
    0x9005:0x0286:0x9005:0x02A6 ICP9067MA (Intruder-6) aacraid
    0x9005:0x0286:0x9005:0x0800 Callisto Jupiter Platform aacraid
    0x9005:0x0287:0x9005:0x0800 Themisto Jupiter Platform aacraid
    0x9005:0x0288 Adaptec NEMER/ARK Catch All aacraid
    # Trademarks

    Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    + + + diff --git a/release-notes/8.3-beta.html b/release-notes/8.3-beta.html new file mode 100644 index 000000000..65b329e1c --- /dev/null +++ b/release-notes/8.3-beta.html @@ -0,0 +1,100 @@ + + + + + + 8.3 Beta | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux 8.3 Beta release notes

    The release code name: Purple Manul (opens new window).

    CloudLinux is proud to present the beta version of AlmaLinux. After roughly a month and a half from the announcement, here is a 1:1 RHEL binary compatible replacement for your RHEL-based systems.

    This is for the community and by the community, you're the soul of Linux. Thank you for your interest and suggestions so far, keep them coming.

    WARNING

    Use this version to thoroughly test your workloads and report any unintended features (ie, bugs) you may find, it will help make AlmaLinux better.

    # Installation instructions

    There are three installation ISO images available:

    AlmaLinux-8.3-beta-1-x86_64-boot.iso - a single network installation CD image that downloads packages over the Internet.

    AlmaLinux-8.3-beta-1-x86_64-minimal.iso - a minimal self-containing DVD image that makes possible offline installation.

    AlmaLinux-8.3-beta-1-x86_64-dvd1.iso - a full installation DVD image that contains mostly all AlmaLinux packages. We don't really recommend using it unless you need to set up and use AlmaLinux on a machine without internet access.

    Download a preferable ISO image and verify its checksum. Here is an example for GNU/Linux:

    # download and import the AlmaLinux public key
    +$ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
    +$ gpg --import RPM-GPG-KEY-AlmaLinux
    +
    +# download a checksums list
    +$ wget https://repo.almalinux.org/almalinux/8.3-beta/isos/x86_64/CHECKSUM
    +
    +# verify the checksums list, we are looking for “Good signature”
    +$ gpg --verify CHECKSUM 
    +gpg: Signature made Thu 28 Jan 2021 11:39:12 PM MSK
    +gpg:                using RSA key 51D6647EC21AD6EA
    +gpg: Good signature from "AlmaLinux <packager@almalinux.org>" [unknown]
    +gpg: WARNING: This key is not certified with a trusted signature!
    +gpg:          There is no indication that the signature belongs to the owner.
    +Primary key fingerprint: 5E9B 8F56 17B5 066C E920  57C3 488F CF7C 3ABB 34F8
    +    Subkey fingerprint: E53C F5EF 91CE B0AD 1812  ECB8 51D6 647E C21A D6EA
    +
    +# download the network install ISO
    +$ wget https://repo.almalinux.org/almalinux/8.3-beta/isos/x86_64/AlmaLinux-8.3-beta-1-x86_64-boot.iso
    +
    +# calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-8.3-beta-1-x86_64-boot.iso 
    +d15be406f417e81382b46a54d87dff01c8ca770c847c18703f19146587b61a1f  AlmaLinux-8.3-beta-1-x86_64-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-8.3-beta-1-x86_64-boot.iso'
    +SHA256 (AlmaLinux-8.3-beta-1-x86_64-boot.iso) = d15be406f417e81382b46a54d87dff01c8ca770c847c18703f19146587b61a1f
    +

    If you decided to use the AlmaLinux-8.3-beta-1-x86_64-boot.iso image, you +will need to provide this https://repo.almalinux.org/almalinux/8.3-beta/BaseOS/x86_64/kickstart/ +repository as the Installation Source:

    installation source

    If you are going to install a non-minimal environment, you will need to add +the AppStream repository to the additional repositories: +https://repo.almalinux.org/almalinux/8.3-beta/AppStream/x86_64/os/.

    There are no extra Installation Sources required if you decided to go with +AlmaLinux-8.3-beta-1-x86_64-minimal.iso or +AlmaLinux-8.3-beta-1-x86_64-dvd1.iso images.

    # How to set up a usb key to install AlmaLinux

    $ dd if=AlmaLinux-8.3-beta-1-x86_64-boot.iso of=/dev/sdX
    +

    Where sdX is your usb device.

    # Known issues

    • Our libreport/abrt packages aren’t integrated with the bugs.almalinux.org +bug-tracker yet, so a user will have to submit a crash report manually. +Issue: almbz#2 (opens new window).
    • The “perl:5.30” module support is incomplete in the beta release, it will +be finished in the stable.
    • We don’t have the latest “jmc” and “maven” module versions. They will be +updated later.
    • The “satellite-5-client” module is located in the BaseOS repository instead +of the AppStream. Issue: almbz#4 (opens new window).
    • There is no support for Secure Boot in the beta release. Issue: +almbz#3 (opens new window).
    • The debuginfo repositories are empty and will be populated in a couple of +days after the beta release.
    + + + diff --git a/release-notes/8.3-rc.html b/release-notes/8.3-rc.html new file mode 100644 index 000000000..4fd450e42 --- /dev/null +++ b/release-notes/8.3-rc.html @@ -0,0 +1,110 @@ + + + + + + 8.3 RC | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux 8.3 RC release notes

    Distributed kernel version: 4.18.0-240.

    # Installation instructions

    There are three installation ISO images available:

    AlmaLinux-8.3-rc-1-x86_64-boot.iso - a single network installation CD image +that downloads packages over the Internet.

    AlmaLinux-8.3-rc-1-x86_64-minimal.iso - a minimal self-containing DVD image +that makes possible offline installation.

    AlmaLinux-8.3-rc-1-x86_64-dvd1.iso - a full installation DVD image that +contains mostly all AlmaLinux packages.

    Select a mirror listed on the +mirrors.almalinux.org (opens new window) website (please, +don't use the repo.almalinux.org host directly) and download a suitable ISO +image from the 8.3-rc/isos/x86_64/ directory, for example:

    $ wget https://mirror.interserver.net/almalinux/8.3-rc/isos/x86_64/AlmaLinux-8.3-rc-1-x86_64-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
    +$ gpg --import RPM-GPG-KEY-AlmaLinux
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/8.3-rc/isos/x86_64/CHECKSUM
    +
    +# we are looking for “Good signature” 
    +$ gpg --verify CHECKSUM 
    +  gpg: Signature made Fri 19 Feb 2021 03:04:44 PM MSK
    +  gpg:                using RSA key 51D6647EC21AD6EA
    +  gpg: Good signature from "AlmaLinux <packager@almalinux.org>" [unknown]
    +  gpg: WARNING: This key is not certified with a trusted signature!
    +  gpg:          There is no indication that the signature belongs to the owner.
    +  Primary key fingerprint: 5E9B 8F56 17B5 066C E920  57C3 488F CF7C 3ABB 34F8
    +       Subkey fingerprint: E53C F5EF 91CE B0AD 1812  ECB8 51D6 647E C21A D6EA
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-8.3-rc-1-x86_64-boot.iso 
    +1bf9bff6af3413f8f273e54c11fb45f7da63afea670eafc50dde22c45582be7a  AlmaLinux-8.3-rc-1-x86_64-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-8.3-rc-1-x86_64-boot.iso'
    +SHA256 (AlmaLinux-8.3-rc-1-x86_64-boot.iso) = 1bf9bff6af3413f8f273e54c11fb45f7da63afea670eafc50dde22c45582be7a
    +

    If you decided to use the AlmaLinux-8.3-rc-1-x86_64-boot.iso image, you will +need to provide the 8.3-rc/BaseOS/x86_64/kickstart/ repository from the +selected mirror as the Installation Source.

    There are no extra Installation Sources required if you decided to go with +either minimal or dvd ISO images.

    # Upgrade instructions

    Upgrade the almalinux-release package to the 8.3-3.el8 version from the beta +repositories:

    $ dnf clean all && dnf upgrade -y almalinux-release
    +

    the new package contains updated repository URLs so that you can just run:

    $ dnf upgrade -y
    +

    to update the rest of the packages.

    # Changelog

    # Known issues

    • There is no SecureBoot support in this release +(almbz#3 (opens new window)). We are doing our +best to have it in a stable release.
    • The Minimal ISO proposes to install Server environment with GNOME but +actually can only install Minimal Install environment +(almbz#14 (opens new window)).
    • The mirrors support implemented with help of the DNF fastestmirror plugin +that is known to be a bit "quirky". We are going to switch to +geo-location-based mirror selection in the stable version.
    + + + diff --git a/release-notes/8.3.html b/release-notes/8.3.html new file mode 100644 index 000000000..ac92cde45 --- /dev/null +++ b/release-notes/8.3.html @@ -0,0 +1,97 @@ + + + + + + 8.3 | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux 8.3 release notes

    Distributed kernel version: 4.18.0-240.

    # Installation instructions

    There are three installation ISO images available:

    AlmaLinux-8.3-x86_64-boot.iso - a single network installation CD image +that downloads packages over the Internet.

    AlmaLinux-8.3-x86_64-minimal.iso - a minimal self-containing DVD image +that makes possible offline installation.

    AlmaLinux-8.3-x86_64-dvd1.iso - a full installation DVD image that +contains mostly all AlmaLinux packages.

    Select a mirror listed on the +mirrors.almalinux.org (opens new window) website (please, +don't use the repo.almalinux.org host directly) and download a suitable ISO +image from the 8.3/isos/x86_64/ directory, for example:

    $ wget https://mirror.interserver.net/almalinux/8.3/isos/x86_64/AlmaLinux-8.3-x86_64-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
    +$ gpg --import RPM-GPG-KEY-AlmaLinux
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/8.3/isos/x86_64/CHECKSUM
    +
    +# we are looking for “Good signature”
    +$ gpg --verify CHECKSUM
    +  gpg: Signature made Fri 19 Feb 2021 03:04:44 PM MSK
    +  gpg:                using RSA key 51D6647EC21AD6EA
    +  gpg: Good signature from "AlmaLinux <packager@almalinux.org>" [unknown]
    +  gpg: WARNING: This key is not certified with a trusted signature!
    +  gpg:          There is no indication that the signature belongs to the owner.
    +  Primary key fingerprint: 5E9B 8F56 17B5 066C E920  57C3 488F CF7C 3ABB 34F8
    +       Subkey fingerprint: E53C F5EF 91CE B0AD 1812  ECB8 51D6 647E C21A D6EA
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-8.3-x86_64-boot.iso
    +08fd99fab31277ea3710bfc1ccb8a7229522af5d3987d5b062739cb0dc3b5e3e  AlmaLinux-8.3-x86_64-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-8.3-x86_64-boot.iso'
    +SHA256 (AlmaLinux-8.3-x86_64-boot.iso) = 08fd99fab31277ea3710bfc1ccb8a7229522af5d3987d5b062739cb0dc3b5e3e
    +

    If you decided to use the AlmaLinux-8.3-x86_64-boot.iso image, you will +need to provide the 8.3/BaseOS/x86_64/kickstart/ repository from the +selected mirror as the Installation Source.

    There are no extra Installation Sources required if you decided to go with +either minimal or dvd ISO images.

    # Upgrade instructions

    Upgrade the almalinux-release package to the 8.3-3.el8 version from the beta +or rc repositories:

    $ dnf clean all && dnf upgrade -y almalinux-release
    +

    the new package contains updated repository URLs so that you can just run:

    $ dnf upgrade -y
    +

    to update the rest of the packages.

    # Changelog

    # Known issues

    • There is no SecureBoot support in this release +(almbz#3 (opens new window)). We are doing our +best to have it in a stable release.
    • The mirrors support implemented with help of the DNF fastestmirror plugin +that is known to be a bit "quirky". We are going to switch to +geo-location-based mirror selection in the stable version.
    + + + diff --git a/release-notes/8.4-arm.html b/release-notes/8.4-arm.html new file mode 100644 index 000000000..c2d5013f4 --- /dev/null +++ b/release-notes/8.4-arm.html @@ -0,0 +1,87 @@ + + + + + + 8.4 for ARM | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux 8.4 for ARM Release Notes

    Distributed kernel version: 4.18.0-305.

    # Providing Feedback and Getting Help

    Please report any issues you may encounter on the AlmaLinux Bug Tracker (opens new window). Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out AlmaLinux Chat (opens new window), The AlmaLinux Forums (opens new window) and The AlmaLinux Community on Reddit (opens new window).

    # Changelog

    • The Fastest Mirror will be selected automatically in network install mode

    • OpenSCAP security profiles are now ready for production

    • A devel repo is released as well with extra packages and build dependencies not included in the upstream distribution. This is for developers only and shouldn’t be enabled on production installations

    • The PowerTools repo is now disabled by default to match the upstream distribution behavior and is moved to separate file almalinux-powertools.repo (almbz#74 (opens new window))

    • Added new module streams:

      • Python 3.9
      • SWIG 4.0
      • Subversion 1.14
      • Redis 6
      • PostgreSQL 13
      • MariaDB 10.5
    • Compiler Updates:

      • GCC Toolset 10
      • LLVM Toolset 11.0.0
      • Rust Toolset 1.49.0
      • Go Toolset 1.15.7

    You can reference the upstream RHEL 8.4 release notes (opens new window) for a full list of changes in this release.

    # Installation instructions

    There are three installation ISO images available:

    AlmaLinux-8.4-aarch64-boot.iso - a single network installation CD image +that downloads packages over the Internet.

    AlmaLinux-8.4-aarch64-minimal.iso - a minimal self-containing DVD image +that makes possible offline installation.

    AlmaLinux-8.4-aarch64-dvd.iso - a full installation DVD image that +contains mostly all AlmaLinux packages.

    You should select a mirror closest to your geographic area listed on the mirrors.almalinux.org (opens new window) website (local mirrors will be a lot quicker than using repo.almalinux.org directly) and download a suitable ISO image from the 8.4/isos/aarch64/ directory, for example:

    $ wget http://almalinux-mirror.tpa.hivelocity.net/8.4/isos/aarch64/AlmaLinux-8.4-aarch64-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
    +$ gpg --import RPM-GPG-KEY-AlmaLinux
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/8.4/isos/aarch64/CHECKSUM
    +
    +# we are looking for “Good signature”
    +$ gpg --verify CHECKSUM
    +gpg: Signature made Fri 25 Jun 2021 09:01:15 AM UTC using RSA key ID C21AD6EA
    +gpg: Good signature from "AlmaLinux <packager@almalinux.org>"
    +gpg: WARNING: This key is not certified with a trusted signature!
    +gpg:          There is no indication that the signature belongs to the owner.
    +Primary key fingerprint: 5E9B 8F56 17B5 066C E920  57C3 488F CF7C 3ABB 34F8
    +     Subkey fingerprint: E53C F5EF 91CE B0AD 1812  ECB8 51D6 647E C21A D6EA
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-8.4-aarch64-boot.iso
    +80bf7881a4c9df4d2ec6a8167a848aaa48a589e642cda4e020231b8577813d0e  AlmaLinux-8.4-aarch64-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-8.4-aarch64-boot.iso'
    +SHA256 (AlmaLinux-8.4-aarch64-boot.iso) = 80bf7881a4c9df4d2ec6a8167a848aaa48a589e642cda4e020231b8577813d0e
    +

    If you decide to use the AlmaLinux-8.4-aarch64-boot.iso image, you may +need to provide the 8.4/BaseOS/aarch64/kickstart/ repository from the +selected mirror as the Installation Source if the installer will not be able +to find closest mirror for some reason.

    There are no extra Installation Sources required if you decided to go with +either the minimal or DVD ISO images.

    # Known issues

    • The mirrors support implemented with help of the DNF fastestmirror plugin is known to be a bit "quirky". We are going to switch to geolocation-based mirror selection soon.
    • We don’t provide OVAL definitions for AlmaLinux updates yet so the Ensure Software Patches Installed OpenSCAP check will be marked as notchecked. However, OpenSCAP is already configured for AlmaLinux OVAL sources so no configuration will be needed when definitions become available.

    # Added packages

    Here is a list of added packages in comparison with upstream distribution.

    Package Description
    almalinux-backgrounds AlmaLinux background images.
    Replaces redhat-backgrounds
    almalinux-indexhtml AlmaLinux default browser page
    Replaces redhat-indexhtml
    almalinux-logos AlmaLinux graphics for OS
    Replaces redhat-logos
    almalinux-logos-httpd AlmaLinux graphics for HTTPD server
    Replaces redhat-logos-httpd
    almalinux-logos-ipa AlmaLinux graphics for IPA server
    Replaces redhat-logos-ipa
    almalinux-release AlmaLinux release package, repos, and EULA
    Replaces redhat-release and redhat-release-eula

    # Removed packages

    Here is a list of removed packages in comparison with the upstream distribution.
    +AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join AlmaLinux Chat (opens new window) as well as filing a bug report at AlmaLinux Bug Tracker (opens new window) to discuss if you think any of the packages below should be included into the repos.

    Package Description
    insights-client RHEL specific package to connect to upstream vendor resources
    kmod-redhat-* RHEL specific modules from Driver Update Program
    kpatch* RHEL specific live patches for kernel
    redhat-backgrounds RHEL specific background images
    redhat-indexhtml RHEL specific default browser page
    redhat-logos RHEL specific graphics for OS
    redhat-logos-httpd RHEL specific graphics for HTTPD server
    redhat-logos-ipa RHEL specific graphics for IPA server
    redhat-release RHEL specific release package and repos
    redhat-release-eula RHEL specific EULA
    redhat-support-lib-python RHEL specific package to connect to upstream vendor resources
    redhat-support-tool RHEL specific package to connect to upstream vendor resources
    rhc RHEL specific package to connect to upstream vendor resources
    rhc-worker-playbook RHEL specific package to connect to upstream vendor resources
    rhsm-gtk RHEL specific GUI for Subscription Manager
    rhsm-icons RHEL specific GUI for Subscription Manager
    spice-qxl-wddm-dod Contains binaries built by upstream vendor
    subscription-manager-cockpit RHEL specific Cockpit module for Subscription Manager
    subscription-manager-initial-setup-addon RHEL specific initial setup addon for Subscription Manager
    subscription-manager-plugin-container RHEL specific Subscription Manager plugin for upstream vendor containers
    virt-who RHEL specific package to connect to upstream vendor resources
    virtio-win Contain binaries built by upstream vendor

    Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    + + + diff --git a/release-notes/8.4-beta-arm.html b/release-notes/8.4-beta-arm.html new file mode 100644 index 000000000..2758ca9b8 --- /dev/null +++ b/release-notes/8.4-beta-arm.html @@ -0,0 +1,86 @@ + + + + + + 8.4 Beta for ARM | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux 8.4 Beta for ARM Release Notes

    # Beta Release

    WARNING

    This is a BETA release and should not be used for production installations.

    # Providing Feedback and Getting Help

    Please report any issues you may encounter during tests on the AlmaLinux Bug Tracker (opens new window). Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out AlmaLinux Chat (opens new window), The AlmaLinux Forums (opens new window) and The AlmaLinux Community on Reddit (opens new window).

    # Changelog

    This is the first AlmaLinux release for ARM.

    # Installation instructions

    There are three installation ISO images available:

    AlmaLinux-8.4-beta-1-aarch64-boot.iso - a single network installation CD image +that downloads packages over the Internet.

    AlmaLinux-8.4-beta-1-aarch64-minimal.iso - a minimal self-containing DVD image +that makes possible offline installation.

    AlmaLinux-8.4-beta-1-aarch64-dvd.iso - a full installation DVD image that +contains mostly all AlmaLinux packages.

    You should select a mirror closest to your geographic area listed on the mirrors.almalinux.org (opens new window) website (local mirrors will be a lot quicker than using repo.almalinux.org directly) and download a suitable ISO image from the 8.4/isos/aarch64/ directory, for example:

    $ wget https://repo.almalinux.org/almalinux/8.4-beta/isos/aarch64/AlmaLinux-8.4-beta-1-aarch64-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
    +$ gpg --import RPM-GPG-KEY-AlmaLinux
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/8.4-beta/isos/aarch64/CHECKSUM
    +
    +# we are looking for “Good signature”
    +$ gpg --verify CHECKSUM
    +gpg: Signature made Fri 28 May 2021 06:05:33 PM UTC using RSA key ID C21AD6EA
    +gpg: Good signature from "AlmaLinux <packager@almalinux.org>"
    +gpg: WARNING: This key is not certified with a trusted signature!
    +gpg:          There is no indication that the signature belongs to the owner.
    +Primary key fingerprint: 5E9B 8F56 17B5 066C E920  57C3 488F CF7C 3ABB 34F8
    +     Subkey fingerprint: E53C F5EF 91CE B0AD 1812  ECB8 51D6 647E C21A D6EA
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-8.4-beta-1-aarch64-boot.iso
    +9a17e790991fc6df68b00312649d29e55caac89ce9bb30b4cfa67da3f773ca05  AlmaLinux-8.4-beta-1-aarch64-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-8.4-beta-1-aarch64-boot.iso'
    +SHA256 (AlmaLinux-8.4-beta-1-aarch64-boot.iso) = 9a17e790991fc6df68b00312649d29e55caac89ce9bb30b4cfa67da3f773ca05
    +

    If you decide to use the AlmaLinux-8.4-beta-1-aarch64-boot.iso image, you will +need to provide the 8.4-beta/BaseOS/aarch64/kickstart/ repository from the +selected mirror as the Installation Source.

    There are no extra Installation Sources required if you decided to go with +either the minimal or DVD ISO images.

    # Known issues

    • The mirrors support implemented with help of the DNF fastestmirror plugin is known to be a bit "quirky". We are going to switch to geolocation-based mirror selection soon.
    • The jmc:rhel8 module is not available in beta and will be added in stable.
    • We don’t provide OVAL definitions for AlmaLinux updates yet so the Ensure Software Patches Installed OpenSCAP check will be marked as notchecked. However, OpenSCAP is already configured for AlmaLinux OVAL sources so no configuration will be needed when definitions become available.

    # Added packages

    Here is a list of added packages in comparison with upstream distribution.

    Package Description
    almalinux-backgrounds AlmaLinux background images.
    Replaces redhat-backgrounds
    almalinux-indexhtml AlmaLinux default browser page
    Replaces redhat-indexhtml
    almalinux-logos AlmaLinux graphics for OS
    Replaces redhat-logos
    almalinux-logos-httpd AlmaLinux graphics for HTTPD server
    Replaces redhat-logos-httpd
    almalinux-logos-ipa AlmaLinux graphics for IPA server
    Replaces redhat-logos-ipa
    almalinux-release AlmaLinux release package, repos, and EULA
    Replaces redhat-release and redhat-release-eula

    # Removed packages

    Here is a list of removed packages in comparison with the upstream distribution.
    +AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join AlmaLinux Chat (opens new window) as well as filing a bug report at AlmaLinux Bug Tracker (opens new window) to discuss if you think any of the packages below should be included into the repos.

    Package Description
    insights-client RHEL specific package to connect to upstream vendor resources
    kmod-redhat-* RHEL specific modules from Driver Update Program
    kpatch* RHEL specific live patches for kernel
    redhat-backgrounds RHEL specific background images
    redhat-indexhtml RHEL specific default browser page
    redhat-logos RHEL specific graphics for OS
    redhat-logos-httpd RHEL specific graphics for HTTPD server
    redhat-logos-ipa RHEL specific graphics for IPA server
    redhat-release RHEL specific release package and repos
    redhat-release-eula RHEL specific EULA
    redhat-support-lib-python RHEL specific package to connect to upstream vendor resources
    redhat-support-tool RHEL specific package to connect to upstream vendor resources
    rhc RHEL specific package to connect to upstream vendor resources
    rhc-worker-playbook RHEL specific package to connect to upstream vendor resources
    rhsm-gtk RHEL specific GUI for Subscription Manager
    rhsm-icons RHEL specific GUI for Subscription Manager
    spice-client-win-x64 Contains binaries built by upstream vendor
    spice-client-win-x86 Contains binaries built by upstream vendor
    spice-qxl-wddm-dod Contains binaries built by upstream vendor
    spice-vdagent-win-x64 Contains binaries built by upstream vendor
    spice-vdagent-win-x86 Contains binaries built by upstream vendor
    subscription-manager-cockpit RHEL specific Cockpit module for Subscription Manager
    subscription-manager-initial-setup-addon RHEL specific initial setup addon for Subscription Manager
    subscription-manager-plugin-container RHEL specific Subscription Manager plugin for upstream vendor containers
    virt-who RHEL specific package to connect to upstream vendor resources
    virtio-win Contain binaries built by upstream vendor

    Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    + + + diff --git a/release-notes/8.4-beta.html b/release-notes/8.4-beta.html new file mode 100644 index 000000000..fb478e12d --- /dev/null +++ b/release-notes/8.4-beta.html @@ -0,0 +1,90 @@ + + + + + + 8.4 Beta | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux 8.4 Beta Release Notes

    # Beta Release

    WARNING

    This is a BETA release and should not be used for production installations. The provided upgrade instructions should not be used on production machines, unless you don't mind if something breaks. 😉

    # Providing Feedback and Getting Help

    Please report any issues you may encounter during tests on the AlmaLinux Bug Tracker (opens new window). Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out #AlmaLinux on FreeNode IRC (opens new window), The AlmaLinux Forums (opens new window) andThe AlmaLinux Community on Reddit (opens new window).

    # Changelog

    • Secure Boot is now fully supported (almbz#3 (opens new window))

    • Added new module streams:

      • Python 3.9
      • SWIG 4.0
      • Subversion 1.14
      • Redis 6
      • PostgreSQL 13
      • MariaDB 10.5
    • Compiler Updates:

      • GCC Toolset 10
      • LLVM Toolset 11.0.0
      • Rust Toolset 1.49.0
      • Go Toolset 1.15.7

    # Installation instructions

    There are three installation ISO images available:

    AlmaLinux-8.4-beta-1-x86_64-boot.iso - a single network installation CD image +that downloads packages over the Internet.

    AlmaLinux-8.4-beta-1-x86_64-minimal.iso - a minimal self-containing DVD image +that makes possible offline installation.

    AlmaLinux-8.4-beta-1-x86_64-dvd.iso - a full installation DVD image that +contains mostly all AlmaLinux packages.

    You can select a mirror closest to your geographic area listed on the mirrors.almalinux.org (opens new window) website. A local mirrors will be a lot quicker than using repo.almalinux.org directly. Then, download a suitable ISO image from the 8.4-beta/isos/x86_64/ directory of your source, for example:

    $ wget https://mirror.interserver.net/almalinux/8.4-beta/isos/x86_64/AlmaLinux-8.4-beta-1-x86_64-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
    +$ gpg --import RPM-GPG-KEY-AlmaLinux
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/8.4-beta/isos/x86_64/CHECKSUM
    +
    +# we are looking for “Good signature”
    +$ gpg --verify CHECKSUM
    +  gpg: Signature made Thu Apr 29 11:34:13 2021 UTC
    +  gpg:                using RSA key 51D6647EC21AD6EA
    +  gpg: Good signature from "AlmaLinux <packager@almalinux.org>" [unknown]
    +  gpg: WARNING: This key is not certified with a trusted signature!
    +  gpg:          There is no indication that the signature belongs to the owner.
    +  Primary key fingerprint: 5E9B 8F56 17B5 066C E920  57C3 488F CF7C 3ABB 34F8
    +       Subkey fingerprint: E53C F5EF 91CE B0AD 1812  ECB8 51D6 647E C21A D6EA
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-8.4-beta-1-x86_64-boot.iso
    +e0e50a5db9cccfa70eaba9b4465e3e727ebed689f1a30dbbd7fcfa6046f05890  AlmaLinux-8.4-beta-1-x86_64-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-8.4-beta-1-x86_64-boot.iso'
    +SHA256 (AlmaLinux-8.4-beta-1-x86_64-boot.iso) = e0e50a5db9cccfa70eaba9b4465e3e727ebed689f1a30dbbd7fcfa6046f05890
    +

    If you decide to use the AlmaLinux-8.4-beta-1-x86_64-boot.iso image, you will +need to provide the 8.4-beta/BaseOS/x86_64/kickstart/ repository from the +selected mirror as the Installation Source.

    There are no extra Installation Sources required if you decided to go with +either the minimal or DVD ISO images.

    # Upgrade Instructions

    Please do not use these update instructions on production machines, unless you don't mind if something breaks. 😉

    Upgrade the almalinux-release package to the 8.4-1.el8 version from the beta +repositories:

    $ dnf install -y https://repo.almalinux.org/almalinux/almalinux-release-latest-8-beta.x86_64.rpm
    +$ dnf clean all
    +

    the new package contains updated repository URLs so that you can just run:

    $ dnf upgrade -y
    +

    to update the rest of the packages.

    # Known issues

    • The mirrors support implemented with help of the DNF fastestmirror plugin is known to be a bit "quirky". We are going to switch to geolocation-based mirror selection in the 8.4 stable version.
    • The python39-devel:3.9 module is not available in beta and will be added in stable.
    + + + diff --git a/release-notes/8.4.html b/release-notes/8.4.html new file mode 100644 index 000000000..4b69ccbea --- /dev/null +++ b/release-notes/8.4.html @@ -0,0 +1,89 @@ + + + + + + 8.4 | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux 8.4 Release Notes

    Distributed kernel version: 4.18.0-305.

    # Providing Feedback and Getting Help

    Please report any issues you may encounter on the AlmaLinux Bug Tracker (opens new window). Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out AlmaLinux Chat (opens new window), The AlmaLinux Forums (opens new window) and The AlmaLinux Community on Reddit (opens new window).

    # Changelog

    • Secure Boot is now fully supported (almbz#3 (opens new window))

    • OpenSCAP security profiles are now ready for production

    • devel repo released with extra packages and build dependencies not included in upstream distribution. This is developers only and shouldn’t be enabled on production installations

    • PowerTools repo is now disabled by default to match upstream distribution and moved to separate file almalinux-powertools.repo (almbz#74 (opens new window))

    • Added new module streams:

      • Python 3.9
      • SWIG 4.0
      • Subversion 1.14
      • Redis 6
      • PostgreSQL 13
      • MariaDB 10.5
    • Compiler Updates:

      • GCC Toolset 10
      • LLVM Toolset 11.0.0
      • Rust Toolset 1.49.0
      • Go Toolset 1.15.7

    You can reference the upstream RHEL 8.4 release notes (opens new window) for a full list of changes in this release.

    # Installation instructions

    There are three installation ISO images available:

    AlmaLinux-8.4-x86_64-boot.iso - a single network installation CD image +that downloads packages over the Internet.

    AlmaLinux-8.4-x86_64-minimal.iso - a minimal self-containing DVD image +that makes possible offline installation.

    AlmaLinux-8.4-x86_64-dvd.iso - a full installation DVD image that +contains mostly all AlmaLinux packages.

    The recommended way to download ISO images is using the torrent (opens new window) links. Alternatively, you can select a mirror closest to your geographic area listed on the mirrors.almalinux.org (opens new window) website (local mirrors will be a lot quicker than using repo.almalinux.org directly) and download a suitable ISO image from the 8.4/isos/x86_64/ directory, for example:

    $ wget https://mirror.interserver.net/almalinux/8.4/isos/x86_64/AlmaLinux-8.4-x86_64-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
    +$ gpg --import RPM-GPG-KEY-AlmaLinux
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/8.4/isos/x86_64/CHECKSUM
    +
    +# we are looking for “Good signature”
    +$ gpg --verify CHECKSUM
    +gpg: Signature made Wed 26 May 2021 08:21:40 AM UTC using RSA key ID C21AD6EA
    +gpg: Good signature from "AlmaLinux <packager@almalinux.org>"
    +gpg: WARNING: This key is not certified with a trusted signature!
    +gpg:          There is no indication that the signature belongs to the owner.
    +Primary key fingerprint: 5E9B 8F56 17B5 066C E920  57C3 488F CF7C 3ABB 34F8
    +     Subkey fingerprint: E53C F5EF 91CE B0AD 1812  ECB8 51D6 647E C21A D6EA
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-8.4-x86_64-boot.iso
    +76e8f56892e6d90706b142868eec51b6b8c015ec3792f8d9e0730da93a2d1162  AlmaLinux-8.4-x86_64-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-8.4-x86_64-boot.iso'
    +SHA256 (AlmaLinux-8.4-x86_64-boot.iso) = 76e8f56892e6d90706b142868eec51b6b8c015ec3792f8d9e0730da93a2d1162
    +

    If you've decided to use the AlmaLinux-8.4-x86_64-boot.iso image, you will +need to provide the 8.4/BaseOS/x86_64/kickstart/ repository from the +selected mirror as the Installation Source.

    There are no extra Installation Sources required if you decided to go with +either the minimal or DVD ISO images.

    # Upgrade Instructions

    Just run:

    $ dnf upgrade -y
    +

    to update your AlmaLinux OS 8.3 stable to 8.4.
    +If you’re upgrading from 8.4 beta then you should run

    $ dnf upgrade -y
    +

    twice.

    # Known issues

    • The mirrors support implemented with help of the DNF fastestmirror plugin is known to be a bit "quirky". We are going to switch to geo-location-based mirror selection soon.
    • We don’t provide OVAL definitions for AlmaLinux updates yet so the Ensure Software Patches Installed OpenSCAP check will be marked as notchecked. However, OpenSCAP is already configured for AlmaLinux OVAL sources so no configuration will be needed when definitions become available.

    # Added packages

    Here is a list of added packages in comparison with upstream distribution.

    Package Description
    almalinux-backgrounds AlmaLinux background images.
    Replaces redhat-backgrounds
    almalinux-indexhtml AlmaLinux default browser page
    Replaces redhat-indexhtml
    almalinux-logos AlmaLinux graphics for OS
    Replaces redhat-logos
    almalinux-logos-httpd AlmaLinux graphics for HTTPD server
    Replaces redhat-logos-httpd
    almalinux-logos-ipa AlmaLinux graphics for IPA server
    Replaces redhat-logos-ipa
    almalinux-release AlmaLinux release package, repos, and EULA
    Replaces redhat-release and redhat-release-eula

    # Removed packages

    Here is a list of removed packages in comparison with the upstream distribution.
    +AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join AlmaLinux Chat (opens new window) as well as filing a bug report at AlmaLinux Bug Tracker (opens new window) to discuss if you think any of the packages below should be included into the repos.

    Package Description
    insights-client RHEL specific package to connect to upstream vendor resources
    kmod-redhat-* RHEL specific modules from Driver Update Program
    kpatch* RHEL specific live patches for kernel
    redhat-backgrounds RHEL specific background images
    redhat-indexhtml RHEL specific default browser page
    redhat-logos RHEL specific graphics for OS
    redhat-logos-httpd RHEL specific graphics for HTTPD server
    redhat-logos-ipa RHEL specific graphics for IPA server
    redhat-release RHEL specific release package and repos
    redhat-release-eula RHEL specific EULA
    redhat-support-lib-python RHEL specific package to connect to upstream vendor resources
    redhat-support-tool RHEL specific package to connect to upstream vendor resources
    rhc RHEL specific package to connect to upstream vendor resources
    rhc-worker-playbook RHEL specific package to connect to upstream vendor resources
    rhsm-gtk RHEL specific GUI for Subscription Manager
    rhsm-icons RHEL specific GUI for Subscription Manager
    spice-client-win-x64 Contains binaries built by upstream vendor
    spice-client-win-x86 Contains binaries built by upstream vendor
    spice-qxl-wddm-dod Contains binaries built by upstream vendor
    spice-vdagent-win-x64 Contains binaries built by upstream vendor
    spice-vdagent-win-x86 Contains binaries built by upstream vendor
    subscription-manager-cockpit RHEL specific Cockpit module for Subscription Manager
    subscription-manager-initial-setup-addon RHEL specific initial setup addon for Subscription Manager
    subscription-manager-plugin-container RHEL specific Subscription Manager plugin for upstream vendor containers
    virt-who RHEL specific package to connect to upstream vendor resources
    virtio-win Contain binaries built by upstream vendor

    Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    + + + diff --git a/release-notes/8.5-beta-ppc.html b/release-notes/8.5-beta-ppc.html new file mode 100644 index 000000000..34729ac1b --- /dev/null +++ b/release-notes/8.5-beta-ppc.html @@ -0,0 +1,83 @@ + + + + + + 8.5 Beta for PowerPC | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux 8.5 beta for PowerPC Release Notes

    # Beta Release

    WARNING

    This is a BETA release and should not be used for production installations.

    # Providing Feedback and Getting Help

    Please report any issues you may encounter during tests on the AlmaLinux Bug Tracker (opens new window). Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out AlmaLinux Chat (opens new window), The AlmaLinux Forums (opens new window) and The AlmaLinux Community on Reddit (opens new window).

    # Changelog

    This is the first AlmaLinux release for PowerPC.

    # Installation instructions

    There are three installation ISO images available:

    AlmaLinux-8.5-beta-1-ppc64le-boot.iso - a single network installation CD image that downloads packages over the Internet.

    AlmaLinux-8.5-beta-1-ppc64le-minimal.iso - a minimal self-containing DVD image that makes possible offline installation.

    AlmaLinux-8.5-beta-1-ppc64le-dvd.iso - a full installation DVD image that contains mostly all AlmaLinux packages.

    You should select a mirror closest to your geographic area listed on the mirrors.almalinux.org (opens new window) website (local mirrors will be a lot quicker than using repo.almalinux.org directly) and download a suitable ISO image from the 8.5-beta/isos/ppc64le/ directory, for example:

    $ wget https://repo.almalinux.org/almalinux/8.5-beta/isos/ppc64le/AlmaLinux-8.5-beta-1-ppc64le-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
    +$ gpg --import RPM-GPG-KEY-AlmaLinux
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/8.5-beta/isos/ppc64le/CHECKSUM
    +
    +# we are looking for “Good signature”
    +$ gpg --verify CHECKSUM
    +gpg: Signature made Thu 30 Dec 2021 11:05:32 AM UTC using RSA key ID C21AD6EA
    +gpg: Good signature from "AlmaLinux <packager@almalinux.org>"
    +gpg: WARNING: This key is not certified with a trusted signature!
    +gpg:          There is no indication that the signature belongs to the owner.
    +Primary key fingerprint: 5E9B 8F56 17B5 066C E920  57C3 488F CF7C 3ABB 34F8
    +     Subkey fingerprint: E53C F5EF 91CE B0AD 1812  ECB8 51D6 647E C21A D6EA
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-8.5-beta-1-ppc64le-boot.iso
    +7dc479f318845da73d226b28580c2c46beba0077f18312f54d18dcd2c2f8cb47  AlmaLinux-8.5-beta-1-ppc64le-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-8.5-beta-1-ppc64le-boot.iso'
    +SHA256 (AlmaLinux-8.5-beta-1-ppc64le-boot.iso) = 7dc479f318845da73d226b28580c2c46beba0077f18312f54d18dcd2c2f8cb47
    +

    If you decide to use the AlmaLinux-8.5-beta-1-ppc64le-boot.iso image, you will +need to provide the 8.5-beta/BaseOS/ppc64le/kickstart/ repository from the +selected mirror as the Installation Source.

    There are no extra Installation Sources required if you decided to go with +either the minimal or DVD ISO images.

    # Known issues

    • The maven:3.6 module is not available in beta.

    # Added packages

    Here is a list of added packages in comparison with the upstream distribution.

    Package Description
    almalinux-backgrounds AlmaLinux background images.
    Replaces redhat-backgrounds
    almalinux-indexhtml AlmaLinux default browser page
    Replaces redhat-indexhtml
    almalinux-logos AlmaLinux graphics for OS
    Replaces redhat-logos
    almalinux-logos-httpd AlmaLinux graphics for HTTPD server
    Replaces redhat-logos-httpd
    almalinux-logos-ipa AlmaLinux graphics for IPA server
    Replaces redhat-logos-ipa
    almalinux-release AlmaLinux release package, repos, and EULA
    Replaces redhat-release and redhat-release-eula

    # Removed packages

    Here is a list of removed packages in comparison with the upstream distribution.
    +AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join AlmaLinux Chat (opens new window) as well as file a bug report at AlmaLinux Bug Tracker (opens new window) to discuss if you think any of the packages below should be included into the repos.

    Package Description
    insights-client RHEL specific package to connect to upstream vendor resources
    kmod-redhat-* RHEL specific modules from Driver Update Program
    redhat-backgrounds RHEL specific background images
    redhat-indexhtml RHEL specific default browser page
    redhat-logos RHEL specific graphics for OS
    redhat-logos-httpd RHEL specific graphics for HTTPD server
    redhat-logos-ipa RHEL specific graphics for IPA server
    redhat-release RHEL specific release package and repos
    redhat-release-eula RHEL specific EULA
    redhat-support-lib-python RHEL specific package to connect to upstream vendor resources
    redhat-support-tool RHEL specific package to connect to upstream vendor resources
    rhc RHEL specific package to connect to upstream vendor resources
    rhc-worker-playbook RHEL specific package to connect to upstream vendor resources
    rhsm-gtk RHEL specific GUI for Subscription Manager
    rhsm-icons RHEL specific GUI for Subscription Manager
    spice-client-win-x64 Contains binaries built by upstream vendor
    spice-client-win-x86 Contains binaries built by upstream vendor
    spice-qxl-wddm-dod Contains binaries built by upstream vendor
    spice-vdagent-win-x64 Contains binaries built by upstream vendor
    spice-vdagent-win-x86 Contains binaries built by upstream vendor
    subscription-manager-cockpit RHEL specific Cockpit module for Subscription Manager
    subscription-manager-initial-setup-addon RHEL specific initial setup addon for Subscription Manager
    subscription-manager-plugin-container RHEL specific Subscription Manager plugin for upstream vendor containers
    virt-who RHEL specific package to connect to upstream vendor resources
    virtio-win Contain binaries built by upstream vendor

    Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    + + + diff --git a/release-notes/8.5-beta.html b/release-notes/8.5-beta.html new file mode 100644 index 000000000..9060ff713 --- /dev/null +++ b/release-notes/8.5-beta.html @@ -0,0 +1,83 @@ + + + + + + 8.5 Beta | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux 8.5 Beta Release Notes

    These are the release notes for AlmaLinux OS 8.5 Beta for both x86_64 and ARM architectures, codename Arctic Sphynx.

    # Beta Release

    WARNING

    This is a BETA release and should not be used for production installations. The provided upgrade instructions should not be used on production machines, unless you don't mind if something breaks. 😉

    # Providing Feedback and Getting Help

    Please report any issues you may encounter during tests on the AlmaLinux Bug Tracker (opens new window). Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out The AlmaLinux Community Chat (opens new window), The AlmaLinux Forums (opens new window) and The AlmaLinux Community on Reddit (opens new window).

    # Changelog

    • Added new module streams:

      • nginx 1.20
      • Node.js 16
      • Ruby 3.0
    • Updated components:

      • PHP 7.4.19
      • Squid 4.15
      • Mutt 2.0.7
    • Compiler Updates:

      • GCC Toolset 11
      • LLVM Toolset 12.0.1
      • Rust Toolset 1.54.0
      • Go Toolset 1.16.7
    • The closest mirror will be selected automatically in network install mode

    • SCAP Security Guide has new profiles and improvements for the existing profiles:

      • A new profile aligned with the Australian Cyber Security Centre Information Security Manual (ACSC ISM).
      • The Center for Internet Security (CIS) profile restructured into four different profiles (Workstation Level 1, Workstation Level 2, Server Level 1, Server Level 2).
      • The Security Technical Implementation Guide (STIG) security profile updated to version V1R3.
      • A new STIG profile compatible with Server with GUI installations.
      • A new French National Security Agency (ANSSI) High Level profile, which completes the availability of profiles for all ANSSI-BP-028 v1.2 hardening levels in the SCAP Security Guide.

    # Installation instructions

    There are three installation ISO images available:

    AlmaLinux-8.5-beta-1-x86_64-boot.iso - a single network installation CD image that downloads packages over the Internet.

    AlmaLinux-8.5-beta-1-x86_64-minimal.iso - a minimal self-containing DVD image that makes possible offline installation.

    AlmaLinux-8.5-beta-1-x86_64-dvd.iso - a full installation DVD image that contains mostly all AlmaLinux packages.

    You can select a mirror closest to your geographic area listed on the mirrors.almalinux.org (opens new window) website. A local mirror will be a lot quicker than using repo.almalinux.org directly. Then, download a suitable ISO image from the 8.5-beta/isos/$arch/ directory of your source, for example:

    $ wget https://mirror.interserver.net/almalinux/8.5-beta/isos/x86_64/AlmaLinux-8.5-beta-1-x86_64-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
    +$ gpg --import RPM-GPG-KEY-AlmaLinux
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/8.5-beta/isos/x86_64/CHECKSUM
    +
    +# we are looking for “Good signature”
    +$ gpg --verify CHECKSUM
    +gpg: Signature made Wed 13 Oct 2021 02:07:37 PM UTC using RSA key ID C21AD6EA
    +gpg: Good signature from "AlmaLinux <packager@almalinux.org>"
    +gpg: WARNING: This key is not certified with a trusted signature!
    +gpg:          There is no indication that the signature belongs to the owner.
    +Primary key fingerprint: 5E9B 8F56 17B5 066C E920  57C3 488F CF7C 3ABB 34F8
    +     Subkey fingerprint: E53C F5EF 91CE B0AD 1812  ECB8 51D6 647E C21A D6EA
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-8.5-beta-1-x86_64-boot.iso
    +0be5eb574b872737a930ae77d4163b89709cbd537be0f541dbfef046b1813feb  AlmaLinux-8.5-beta-1-x86_64-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-8.5-beta-1-x86_64-boot.iso'
    +SHA256 (AlmaLinux-8.5-beta-1-x86_64-boot.iso) = 0be5eb574b872737a930ae77d4163b89709cbd537be0f541dbfef046b1813feb
    +

    If you decide to use the AlmaLinux-8.5-beta-1-x86_64-boot.iso image, you will need to provide the 8.5-beta/BaseOS/x86_64/kickstart/ repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.

    There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.

    # Upgrade Instructions

    Please do not use these update instructions on production machines, unless you don't mind if something breaks. 😉

    Upgrade the almalinux-release package to the 8.5-1.el8 version from the beta repositories:

    $ dnf install -y https://repo.almalinux.org/almalinux/almalinux-release-latest-8-beta.x86_64.rpm
    +$ dnf clean all
    +

    the new package contains updated repository URLs so that you can just run:

    $ dnf upgrade -y
    +

    to update the rest of the packages.

    # Added packages

    Here is a list of added packages in comparison with upstream distribution.

    Package Description
    almalinux-backgrounds AlmaLinux background images.
    Replaces redhat-backgrounds
    almalinux-indexhtml AlmaLinux default browser page
    Replaces redhat-indexhtml
    almalinux-logos AlmaLinux graphics for OS
    Replaces redhat-logos
    almalinux-logos-httpd AlmaLinux graphics for HTTPD server
    Replaces redhat-logos-httpd
    almalinux-logos-ipa AlmaLinux graphics for IPA server
    Replaces redhat-logos-ipa
    almalinux-release AlmaLinux release package, repos, and EULA
    Replaces redhat-release and redhat-release-eula

    # Removed packages

    Here is a list of removed packages in comparison with the upstream distribution.
    +AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join AlmaLinux Chat (opens new window) as well as filing a bug report at AlmaLinux Bug Tracker (opens new window) to discuss if you think any of the packages below should be included into the repos.

    Package Description
    insights-client RHEL specific package to connect to upstream vendor resources
    kmod-redhat-* RHEL specific modules from Driver Update Program
    kpatch* RHEL specific live patches for kernel
    redhat-backgrounds RHEL specific background images
    redhat-indexhtml RHEL specific default browser page
    redhat-logos RHEL specific graphics for OS
    redhat-logos-httpd RHEL specific graphics for HTTPD server
    redhat-logos-ipa RHEL specific graphics for IPA server
    redhat-release RHEL specific release package and repos
    redhat-release-eula RHEL specific EULA
    redhat-support-lib-python RHEL specific package to connect to upstream vendor resources
    redhat-support-tool RHEL specific package to connect to upstream vendor resources
    rhc RHEL specific package to connect to upstream vendor resources
    rhc-worker-playbook RHEL specific package to connect to upstream vendor resources
    rhsm-gtk RHEL specific GUI for Subscription Manager
    rhsm-icons RHEL specific GUI for Subscription Manager
    spice-client-win-x64 Contains binaries built by upstream vendor
    spice-client-win-x86 Contains binaries built by upstream vendor
    spice-qxl-wddm-dod Contains binaries built by upstream vendor
    spice-vdagent-win-x64 Contains binaries built by upstream vendor
    spice-vdagent-win-x86 Contains binaries built by upstream vendor
    subscription-manager-cockpit RHEL specific Cockpit module for Subscription Manager
    subscription-manager-initial-setup-addon RHEL specific initial setup addon for Subscription Manager
    subscription-manager-plugin-container RHEL specific Subscription Manager plugin for upstream vendor containers
    virt-who RHEL specific package to connect to upstream vendor resources
    virtio-win Contain binaries built by upstream vendor

    Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    + + + diff --git a/release-notes/8.5-ppc.html b/release-notes/8.5-ppc.html new file mode 100644 index 000000000..58436bf4d --- /dev/null +++ b/release-notes/8.5-ppc.html @@ -0,0 +1,84 @@ + + + + + + 8.5 for PowerPC | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux 8.5 for PowerPC Release Notes

    These are the release notes for AlmaLinux OS 8.5 Stable for ppc64le. +Distributed kernel version: 4.18.0-348

    # Providing Feedback and Getting Help

    Please report any issues you may encounter on the AlmaLinux Bug Tracker (opens new window). Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out The AlmaLinux Community Chat (opens new window), The AlmaLinux Forums (opens new window) and The AlmaLinux Community on Reddit (opens new window).

    # Changelog

    This changelog contains updates that have been improved or added since PowerPC 8.5 Beta release. You can reference the upstream RHEL 8.5 release notes (opens new window) for a full list of changes in the 8.5 Stable release.

    • Added the maven:3.6 module.

    # Installation instructions

    There are three installation ISO images available:

    AlmaLinux-8.5-ppc64le-boot.iso - a single network installation CD image that downloads packages over the Internet.

    AlmaLinux-8.5-ppc64le-minimal.iso - a minimal self-containing DVD image that makes possible offline installation.

    AlmaLinux-8.5-ppc64le-dvd.iso - a full installation DVD image that contains mostly all AlmaLinux packages.

    You should select a mirror closest to your geographic area listed on the mirrors.almalinux.org (opens new window) website (local mirrors will be a lot quicker than using repo.almalinux.org directly) and download a suitable ISO image from the 8.5/isos/ppc64le/ directory, for example:

    $ wget https://repo.almalinux.org/almalinux/8.5/isos/ppc64le/AlmaLinux-8.5-ppc64le-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
    +$ gpg --import RPM-GPG-KEY-AlmaLinux
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/8.5/isos/ppc64le/CHECKSUM
    +
    +# we are looking for “Good signature”
    +$ gpg --verify CHECKSUM
    +gpg: Signature made Thu 24 Feb 2022 07:16:49 PM UTC using RSA key ID C21AD6EA
    +gpg: Good signature from "AlmaLinux <packager@almalinux.org>"
    +gpg: WARNING: This key is not certified with a trusted signature!
    +gpg:          There is no indication that the signature belongs to the owner.
    +Primary key fingerprint: 5E9B 8F56 17B5 066C E920  57C3 488F CF7C 3ABB 34F8
    +     Subkey fingerprint: E53C F5EF 91CE B0AD 1812  ECB8 51D6 647E C21A D6EA
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-8.5-ppc64le-boot.iso
    +edc1d2713f97db5104271de6a35d4e8f3cc0464ba0467ebc080ab7dd68f92de1  AlmaLinux-8.5-ppc64le-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-8.5-ppc64le-boot.iso'
    +SHA256 (AlmaLinux-8.5-ppc64le-boot.iso) = edc1d2713f97db5104271de6a35d4e8f3cc0464ba0467ebc080ab7dd68f92de1
    +

    If you decide to use the AlmaLinux-8.5-ppc64le-boot.iso image, you will +need to provide the 8.5/BaseOS/ppc64le/kickstart/ repository from the +selected mirror as the Installation Source.

    There are no extra Installation Sources required if you decided to go with +either the minimal or DVD ISO images.

    # Added packages

    Here is a list of added packages in comparison with the upstream distribution.

    Package Description
    almalinux-backgrounds AlmaLinux background images.
    Replaces redhat-backgrounds
    almalinux-indexhtml AlmaLinux default browser page
    Replaces redhat-indexhtml
    almalinux-logos AlmaLinux graphics for OS
    Replaces redhat-logos
    almalinux-logos-httpd AlmaLinux graphics for HTTPD server
    Replaces redhat-logos-httpd
    almalinux-logos-ipa AlmaLinux graphics for IPA server
    Replaces redhat-logos-ipa
    almalinux-release AlmaLinux release package, repos, and EULA
    Replaces redhat-release and redhat-release-eula

    # Removed packages

    Here is a list of removed packages in comparison with the upstream distribution.
    +AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join AlmaLinux Chat (opens new window) as well as file a bug report at AlmaLinux Bug Tracker (opens new window) to discuss if you think any of the packages below should be included into the repos.

    Package Description
    insights-client RHEL specific package to connect to upstream vendor resources
    kmod-redhat-* RHEL specific modules from Driver Update Program
    redhat-backgrounds RHEL specific background images
    redhat-indexhtml RHEL specific default browser page
    redhat-logos RHEL specific graphics for OS
    redhat-logos-httpd RHEL specific graphics for HTTPD server
    redhat-logos-ipa RHEL specific graphics for IPA server
    redhat-release RHEL specific release package and repos
    redhat-release-eula RHEL specific EULA
    redhat-support-lib-python RHEL specific package to connect to upstream vendor resources
    redhat-support-tool RHEL specific package to connect to upstream vendor resources
    rhc RHEL specific package to connect to upstream vendor resources
    rhc-worker-playbook RHEL specific package to connect to upstream vendor resources
    rhsm-gtk RHEL specific GUI for Subscription Manager
    rhsm-icons RHEL specific GUI for Subscription Manager
    spice-client-win-x64 Contains binaries built by upstream vendor
    spice-client-win-x86 Contains binaries built by upstream vendor
    spice-qxl-wddm-dod Contains binaries built by upstream vendor
    spice-vdagent-win-x64 Contains binaries built by upstream vendor
    spice-vdagent-win-x86 Contains binaries built by upstream vendor
    subscription-manager-cockpit RHEL specific Cockpit module for Subscription Manager
    subscription-manager-initial-setup-addon RHEL specific initial setup addon for Subscription Manager
    subscription-manager-plugin-container RHEL specific Subscription Manager plugin for upstream vendor containers
    virt-who RHEL specific package to connect to upstream vendor resources
    virtio-win Contain binaries built by upstream vendor

    Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    + + + diff --git a/release-notes/8.5.html b/release-notes/8.5.html new file mode 100644 index 000000000..16b3b5780 --- /dev/null +++ b/release-notes/8.5.html @@ -0,0 +1,81 @@ + + + + + + 8.5 | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux 8.5 Release Notes

    Thank you for downloading AlmaLinux OS. These are the release notes for AlmaLinux OS 8.5 Stable for both the x86_64 and ARM architectures, codename Arctic Sphynx. +Distributed kernel version: 4.18.0-348.

    # Providing Feedback and Getting Help

    Please report any issues you may encounter on the AlmaLinux Bug Tracker (opens new window). Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out The AlmaLinux Community Chat (opens new window), The AlmaLinux Forums (opens new window) and The AlmaLinux Community on Reddit (opens new window).

    # Changelog

    • Added new module streams:

      • nginx 1.20
      • Node.js 16
      • Ruby 3.0
    • Updated components:

      • PHP 7.4.19
      • Squid 4.15
      • Mutt 2.0.7
    • Compiler Updates:

      • GCC Toolset 11
      • LLVM Toolset 12.0.1
      • Rust Toolset 1.54.0
      • Go Toolset 1.16.7
    • The closest mirror will be selected automatically in network install mode.

    • Added new repositories:

      • ResilientStorage
      • Plus
    • SCAP Security Guide includes new profiles and improvements for the existing profiles:

      • A new profile aligned with the Australian Cyber Security Centre Information Security Manual (ACSC ISM).
      • The Center for Internet Security (CIS) AlmaLinux profile (opens new window) restructured into four different profiles (Workstation Level 1, Workstation Level 2, Server Level 1, Server Level 2).
      • The Security Technical Implementation Guide (STIG) security profile updated to version V1R3.
      • A new STIG profile compatible with Server with GUI installations.
      • A new French National Security Agency (ANSSI) High Level profile, which completes the availability of profiles for all ANSSI-BP-028 v1.2 hardening levels in the SCAP Security Guide.

    You can reference the upstream RHEL 8.5 release notes (opens new window) for a full list of changes in this release.

    # Installation Instructions

    There are three installation ISO images available:

    AlmaLinux-8.5-x86_64-boot.iso - a single network installation CD image that downloads packages over the Internet.

    AlmaLinux-8.5-x86_64-minimal.iso - a minimal self-containing DVD image that makes possible offline installation.

    AlmaLinux-8.5-x86_64-dvd.iso - a full installation DVD image that contains mostly all AlmaLinux packages.

    The recommended way to download ISO images is using the torrent (opens new window) links. Alternatively, you can select a mirror closest to your geographic area listed on the mirrors.almalinux.org (opens new window) website. A local mirror will be a lot quicker than using repo.almalinux.org directly. Then, download a suitable ISO image from the 8.5/isos/$arch/ directory of your source, for example:

    $ wget http://almalinux-mirror.dal1.hivelocity.net/almalinux/8.5/isos/x86_64/AlmaLinux-8.5-x86_64-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
    +$ gpg --import RPM-GPG-KEY-AlmaLinux
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/8.5/isos/x86_64/CHECKSUM
    +
    +# we are looking for “Good signature”
    +$ gpg --verify CHECKSUM
    +gpg: Signature made Thu 11 Nov 2021 05:28:05 PM UTC using RSA key ID C21AD6EA
    +gpg: Good signature from "AlmaLinux <packager@almalinux.org>"
    +gpg: WARNING: This key is not certified with a trusted signature!
    +gpg:          There is no indication that the signature belongs to the owner.
    +Primary key fingerprint: 5E9B 8F56 17B5 066C E920  57C3 488F CF7C 3ABB 34F8
    +     Subkey fingerprint: E53C F5EF 91CE B0AD 1812  ECB8 51D6 647E C21A D6EA
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-8.5-x86_64-boot.iso
    +65b3b4c17ce322081e2d743ee420b37b7213f4b14d2ec4f3c4f026d57aa148ec  AlmaLinux-8.5-x86_64-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-8.5-x86_64-boot.iso'
    +SHA256 (AlmaLinux-8.5-x86_64-boot.iso) = 65b3b4c17ce322081e2d743ee420b37b7213f4b14d2ec4f3c4f026d57aa148ec
    +

    If you decide to use the AlmaLinux-8.5-x86_64-boot.iso image, you will need to provide the 8.5/BaseOS/x86_64/kickstart/ repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.

    There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.

    # Upgrade Instructions from 8.4 to 8.5

    To update your AlmaLinux OS 8.4 Stable to 8.5:

    $ dnf upgrade -y

    To upgrade from the 8.5 Beta Release run the same command twice:

    $ dnf upgrade -y

    # Packages Added in this Release

    Here is a list of added packages in comparison with upstream distribution.

    Package Description
    almalinux-backgrounds AlmaLinux background images.
    Replaces redhat-backgrounds
    almalinux-indexhtml AlmaLinux default browser page
    Replaces redhat-indexhtml
    almalinux-logos AlmaLinux graphics for OS
    Replaces redhat-logos
    almalinux-logos-httpd AlmaLinux graphics for HTTPD server
    Replaces redhat-logos-httpd
    almalinux-logos-ipa AlmaLinux graphics for IPA server
    Replaces redhat-logos-ipa
    almalinux-release AlmaLinux release package, repos, and EULA
    Replaces redhat-release and redhat-release-eula

    # Packages Removed in this Release

    Here is a list of removed packages in comparison with the upstream distribution.
    +AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join AlmaLinux Chat (opens new window) as well as filing a bug report at AlmaLinux Bug Tracker (opens new window) to discuss if you think any of the packages below should be included into the repos.

    Package Description
    insights-client RHEL specific package to connect to upstream vendor resources
    kmod-redhat-* RHEL specific modules from Driver Update Program
    redhat-backgrounds RHEL specific background images
    redhat-indexhtml RHEL specific default browser page
    redhat-logos RHEL specific graphics for OS
    redhat-logos-httpd RHEL specific graphics for HTTPD server
    redhat-logos-ipa RHEL specific graphics for IPA server
    redhat-release RHEL specific release package and repos
    redhat-release-eula RHEL specific EULA
    redhat-support-lib-python RHEL specific package to connect to upstream vendor resources
    redhat-support-tool RHEL specific package to connect to upstream vendor resources
    rhc RHEL specific package to connect to upstream vendor resources
    rhc-worker-playbook RHEL specific package to connect to upstream vendor resources
    rhsm-gtk RHEL specific GUI for Subscription Manager
    rhsm-icons RHEL specific GUI for Subscription Manager
    spice-client-win-x64 Contains binaries built by upstream vendor
    spice-client-win-x86 Contains binaries built by upstream vendor
    spice-qxl-wddm-dod Contains binaries built by upstream vendor
    spice-vdagent-win-x64 Contains binaries built by upstream vendor
    spice-vdagent-win-x86 Contains binaries built by upstream vendor
    subscription-manager-cockpit RHEL specific Cockpit module for Subscription Manager
    subscription-manager-initial-setup-addon RHEL specific initial setup addon for Subscription Manager
    subscription-manager-plugin-container RHEL specific Subscription Manager plugin for upstream vendor containers
    virt-who RHEL specific package to connect to upstream vendor resources
    virtio-win Contain binaries built by upstream vendor

    Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    + + + diff --git a/release-notes/8.6-beta.html b/release-notes/8.6-beta.html new file mode 100644 index 000000000..ca831138b --- /dev/null +++ b/release-notes/8.6-beta.html @@ -0,0 +1,84 @@ + + + + + + 8.6 Beta | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux 8.6 Beta Release Notes

    These are the release notes for AlmaLinux OS 8.6 Beta for x86_64, aarch64 and ppc64le architectures, codename Sky Tiger.

    # Beta Release

    WARNING

    This is a BETA release and should not be used for production installations. The provided upgrade instructions should not be used on production machines, unless you don't mind if something breaks 😉

    # Providing Feedback and Getting Help

    Please report any issues you may encounter during tests on the AlmaLinux Bug Tracker (opens new window). Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out The AlmaLinux Community Chat (opens new window), The AlmaLinux Forums (opens new window) and The AlmaLinux Community on Reddit (opens new window).

    # Changelog

    • Added new module streams:

      • PHP 8.0
      • Perl 5.32
      • log4j 2
      • container-tools 4.0
    • Added new repositories:

      • Real Time (RT)
      • Real Time for NFV (NFV)
    • Added drop-in configuration files support to OpenSSH

    • Added --checksum option to the semodule command to verify the versions of installed SELinux policy modules

    # Installation instructions

    There are three installation ISO images available:

    AlmaLinux-8.6-beta-1-x86_64-boot.iso - a single network installation CD image that downloads packages over the Internet.

    AlmaLinux-8.6-beta-1-x86_64-minimal.iso - a minimal self-containing DVD image that makes possible offline installation.

    AlmaLinux-8.6-beta-1-x86_64-dvd.iso - a full installation DVD image that contains mostly all AlmaLinux packages.

    You can select a mirror closest to your geographic area listed on the mirrors.almalinux.org (opens new window) website. A local mirror will be a lot quicker than using repo.almalinux.org directly. Then, download a suitable ISO image from the 8.6-beta/isos/$arch/ directory of your source, for example:

    $ wget https://mirror.interserver.net/almalinux/8.6-beta/isos/x86_64/AlmaLinux-8.6-beta-1-x86_64-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
    +$ gpg --import RPM-GPG-KEY-AlmaLinux
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/8.6-beta/isos/x86_64/CHECKSUM
    +
    +# we are looking for “Good signature”
    +$ gpg --verify CHECKSUM
    +gpg: Signature made Fri 06 May 2022 01:28:48 AM UTC
    +gpg:                using RSA key 51D6647EC21AD6EA
    +gpg: Good signature from "AlmaLinux <packager@almalinux.org>" [unknown]
    +gpg: WARNING: This key is not certified with a trusted signature!
    +gpg:          There is no indication that the signature belongs to the owner.
    +Primary key fingerprint: 5E9B 8F56 17B5 066C E920  57C3 488F CF7C 3ABB 34F8
    +     Subkey fingerprint: E53C F5EF 91CE B0AD 1812  ECB8 51D6 647E C21A D6EA
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-8.6-beta-1-x86_64-boot.iso
    +7bbcd5ad3815ec75e5b0f8207adf4c4dbb97a6a56e2b048ee41bdb27921887a0  AlmaLinux-8.6-beta-1-x86_64-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-8.6-beta-1-x86_64-boot.iso'
    +SHA256 (AlmaLinux-8.6-beta-1-x86_64-boot.iso) = 7bbcd5ad3815ec75e5b0f8207adf4c4dbb97a6a56e2b048ee41bdb27921887a0
    +

    If you decide to use the AlmaLinux-8.6-beta-1-x86_64-boot.iso image, you will need to provide the 8.6-beta/BaseOS/x86_64/kickstart/ repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.

    There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.

    # Upgrade Instructions

    Please do not use these update instructions on production machines, unless you don't mind if something breaks 😉

    Upgrade the almalinux-release package to the 8.6-0.0.el8 version from the beta repositories:

    $ dnf install -y https://repo.almalinux.org/almalinux/almalinux-release-latest-8-beta.x86_64.rpm
    +$ dnf clean all
    +

    the new package contains updated repository URLs so that you can just run:

    $ dnf upgrade -y
    +

    to update the rest of the packages.

    # Added packages

    Here is a list of added packages in comparison with upstream distribution.

    Package Description
    almalinux-backgrounds AlmaLinux background images.
    Replaces redhat-backgrounds
    almalinux-indexhtml AlmaLinux default browser page
    Replaces redhat-indexhtml
    almalinux-logos AlmaLinux graphics for OS
    Replaces redhat-logos
    almalinux-logos-httpd AlmaLinux graphics for HTTPD server
    Replaces redhat-logos-httpd
    almalinux-logos-ipa AlmaLinux graphics for IPA server
    Replaces redhat-logos-ipa
    almalinux-release AlmaLinux release package, repos, and EULA
    Replaces redhat-release and redhat-release-eula

    # Removed packages

    Here is a list of removed packages in comparison with the upstream distribution.
    +AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join AlmaLinux Chat (opens new window) as well as filing a bug report at AlmaLinux Bug Tracker (opens new window) to discuss if you think any of the packages below should be included into the repos.

    Package Description
    insights-client RHEL specific package to connect to upstream vendor resources
    kmod-redhat-* RHEL specific modules from Driver Update Program
    kpatch* RHEL specific live patches for kernel
    redhat-backgrounds RHEL specific background images
    redhat-indexhtml RHEL specific default browser page
    redhat-logos RHEL specific graphics for OS
    redhat-logos-httpd RHEL specific graphics for HTTPD server
    redhat-logos-ipa RHEL specific graphics for IPA server
    redhat-release RHEL specific release package and repos
    redhat-release-eula RHEL specific EULA
    redhat-support-lib-python RHEL specific package to connect to upstream vendor resources
    redhat-support-tool RHEL specific package to connect to upstream vendor resources
    rhc RHEL specific package to connect to upstream vendor resources
    rhc-worker-playbook RHEL specific package to connect to upstream vendor resources
    rhsm-gtk RHEL specific GUI for Subscription Manager
    rhsm-icons RHEL specific GUI for Subscription Manager
    spice-client-win-x64 Contains binaries built by upstream vendor
    spice-client-win-x86 Contains binaries built by upstream vendor
    spice-qxl-wddm-dod Contains binaries built by upstream vendor
    spice-vdagent-win-x64 Contains binaries built by upstream vendor
    spice-vdagent-win-x86 Contains binaries built by upstream vendor
    subscription-manager-cockpit RHEL specific Cockpit module for Subscription Manager
    subscription-manager-initial-setup-addon RHEL specific initial setup addon for Subscription Manager
    subscription-manager-plugin-container RHEL specific Subscription Manager plugin for upstream vendor containers
    virt-who RHEL specific package to connect to upstream vendor resources
    virtio-win Contain binaries built by upstream vendor

    Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    + + + diff --git a/release-notes/8.6.html b/release-notes/8.6.html new file mode 100644 index 000000000..c8384bd7a --- /dev/null +++ b/release-notes/8.6.html @@ -0,0 +1,82 @@ + + + + + + 8.6 | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux 8.6 Release Notes

    These are the release notes for AlmaLinux OS 8.6 Stable for all supported architectures:

    • x86_64
    • aarch64
    • ppc64le
    • s390x

    Codename: Sky Tiger. +Distributed kernel version: 4.18.0-372.9.1.el8.

    # Providing Feedback and Getting Help

    Please report any issues you may encounter during tests on the AlmaLinux Bug Tracker (opens new window). Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out The AlmaLinux Community Chat (opens new window), The AlmaLinux Forums (opens new window) and The AlmaLinux Community on Reddit (opens new window).

    # Changelog

    • Added new module streams:

      • PHP 8.0
      • Perl 5.32
      • log4j 2
      • container-tools 4.0
    • Added new repositories:

      • Real Time (RT)
      • Real Time for NFV (NFV)
    • Compiler updates:

      • GCC Toolset 11
      • LLVM Toolset 13.0.1
      • Rust Toolset 1.58.1
      • Go Toolset 1.17.7
    • Added drop-in configuration files support to OpenSSH

    • Added --checksum option to the semodule command to verify the versions of installed SELinux policy modules

    You can reference the upstream RHEL 8.6 release notes (opens new window) for a full list of changes in this release.

    # Installation instructions

    There are three installation ISO images available:

    AlmaLinux-8.6-x86_64-boot.iso - a single network installation CD image that downloads packages over the Internet.

    AlmaLinux-8.6-x86_64-minimal.iso - a minimal self-containing DVD image that makes possible offline installation.

    AlmaLinux-8.6-x86_64-dvd.iso - a full installation DVD image that contains mostly all AlmaLinux packages.

    The recommended way to download ISO images is using the torrent (opens new window) links. Alternatively, you can select a mirror closest to your geographic area listed on the mirrors.almalinux.org (opens new window) website. A local mirror will be a lot quicker than using repo.almalinux.org directly. Then, download a suitable ISO image from the 8.6/isos/$arch/ directory of your source, for example:

    $ wget https://mirror.interserver.net/almalinux/8.6/isos/x86_64/AlmaLinux-8.6-x86_64-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
    +$ gpg --import RPM-GPG-KEY-AlmaLinux
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/8.6/isos/x86_64/CHECKSUM
    +
    +# we are looking for “Good signature”
    +$ gpg --verify CHECKSUM
    +gpg: Signature made Wed May 11 21:11:12 2022 UTC
    +gpg:                using RSA key 51D6647EC21AD6EA
    +gpg: Good signature from "AlmaLinux <packager@almalinux.org>" [unknown]
    +gpg: WARNING: This key is not certified with a trusted signature!
    +gpg:          There is no indication that the signature belongs to the owner.
    +Primary key fingerprint: 5E9B 8F56 17B5 066C E920  57C3 488F CF7C 3ABB 34F8
    +     Subkey fingerprint: E53C F5EF 91CE B0AD 1812  ECB8 51D6 647E C21A D6EA
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-8.6-x86_64-boot.iso
    +de92004fcc5bb5b9af586c9b5ab0e0c7c5a5eedce4d2be85156c5dd31a4fa81b  AlmaLinux-8.6-x86_64-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-8.6-x86_64-boot.iso'
    +SHA256 (AlmaLinux-8.6-x86_64-boot.iso) = de92004fcc5bb5b9af586c9b5ab0e0c7c5a5eedce4d2be85156c5dd31a4fa81b
    +

    If you decide to use the AlmaLinux-8.6-x86_64-boot.iso image, you will need to provide the 8.6/BaseOS/x86_64/kickstart/ repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.

    There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.

    Notice: the size of the ramdisk has increased. If you encounter remote "ks.cfg not found" this could be due memory limits in your template VM (4GB of RAM is known to work)

    # Upgrade Instructions from 8.5 to 8.6

    To update your AlmaLinux OS 8.5 Stable to 8.6:

    $ dnf upgrade -y

    To upgrade from the 8.6 Beta Release run the same command twice:

    $ dnf upgrade -y

    # Added packages

    Here is a list of added packages in comparison with upstream distribution.

    Package Description
    almalinux-backgrounds AlmaLinux background images.
    Replaces redhat-backgrounds
    almalinux-indexhtml AlmaLinux default browser page
    Replaces redhat-indexhtml
    almalinux-logos AlmaLinux graphics for OS
    Replaces redhat-logos
    almalinux-logos-httpd AlmaLinux graphics for HTTPD server
    Replaces redhat-logos-httpd
    almalinux-logos-ipa AlmaLinux graphics for IPA server
    Replaces redhat-logos-ipa
    almalinux-release AlmaLinux release package, repos, and EULA
    Replaces redhat-release and redhat-release-eula

    # Removed packages

    Here is a list of removed packages in comparison with the upstream distribution.
    +AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join AlmaLinux Chat (opens new window) as well as filing a bug report at AlmaLinux Bug Tracker (opens new window) to discuss if you think any of the packages below should be included into the repos.

    Package Description
    insights-client RHEL specific package to connect to upstream vendor resources
    kmod-redhat-* RHEL specific modules from Driver Update Program
    kpatch* RHEL specific live patches for kernel
    redhat-backgrounds RHEL specific background images
    redhat-indexhtml RHEL specific default browser page
    redhat-logos RHEL specific graphics for OS
    redhat-logos-httpd RHEL specific graphics for HTTPD server
    redhat-logos-ipa RHEL specific graphics for IPA server
    redhat-release RHEL specific release package and repos
    redhat-release-eula RHEL specific EULA
    redhat-support-lib-python RHEL specific package to connect to upstream vendor resources
    redhat-support-tool RHEL specific package to connect to upstream vendor resources
    rhc RHEL specific package to connect to upstream vendor resources
    rhc-worker-playbook RHEL specific package to connect to upstream vendor resources
    rhsm-gtk RHEL specific GUI for Subscription Manager
    rhsm-icons RHEL specific GUI for Subscription Manager
    spice-client-win-x64 Contains binaries built by upstream vendor
    spice-client-win-x86 Contains binaries built by upstream vendor
    spice-qxl-wddm-dod Contains binaries built by upstream vendor
    spice-vdagent-win-x64 Contains binaries built by upstream vendor
    spice-vdagent-win-x86 Contains binaries built by upstream vendor
    subscription-manager-cockpit RHEL specific Cockpit module for Subscription Manager
    subscription-manager-initial-setup-addon RHEL specific initial setup addon for Subscription Manager
    subscription-manager-plugin-container RHEL specific Subscription Manager plugin for upstream vendor containers
    virt-who RHEL specific package to connect to upstream vendor resources
    virtio-win Contain binaries built by upstream vendor

    Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    + + + diff --git a/release-notes/8.7-beta.html b/release-notes/8.7-beta.html new file mode 100644 index 000000000..4cc64ccf0 --- /dev/null +++ b/release-notes/8.7-beta.html @@ -0,0 +1,84 @@ + + + + + + 8.7 Beta | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux 8.7 Beta Release Notes

    These are the release notes for AlmaLinux OS 8.7 Beta for x86_64, aarch64, ppc64le and s390x architectures, codename Stone Smilodon.

    Distributed kernel version: 4.18.0-423.el8.

    # Beta Release

    WARNING

    This is a BETA release and should not be used for production installations. The provided upgrade instructions should not be used on production machines, unless you don't mind if something breaks 😉

    # Providing Feedback and Getting Help

    Please report any issues you may encounter during tests on the AlmaLinux Bug Tracker (opens new window). Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out The AlmaLinux Community Chat (opens new window), The AlmaLinux Forums (opens new window) and The AlmaLinux Community on Reddit (opens new window).

    # Changelog

    • Added a new package:

      • XMLStarlet
    • Added new module streams:

      • Ruby 3.1
      • Mercurial 6.2
      • Node.js 18
    • Updated module stream:

      • Redis 6 to version 6.2.7
    • Updated command-line tools:

      • opencryptoki 3.18.0
      • powerpc-utils 1.3.10
      • libva to 2.13.0
    • Updated infrastructure services tools:

      • chrony 4.2
      • unbound to version 1.16.2
    • Minimal ISO changes:

    • The system configuration and the clevis-luks-systemd subpackage changes enable the Clevis encryption client to unlock also LUKS-encrypted volumes that mount late in the boot process without using the systemctl enable clevis-luks-askpass.path command during the deployment process.

    # Installation instructions

    There are three installation ISO images available:

    AlmaLinux-8.7-beta-1-x86_64-boot.iso - a single network installation CD image that downloads packages over the Internet.

    AlmaLinux-8.7-beta-1-x86_64-minimal.iso - a minimal self-containing DVD image that makes possible offline installation.

    AlmaLinux-8.7-beta-1-x86_64-dvd.iso - a full installation DVD image that contains mostly all AlmaLinux packages.

    You can select a mirror closest to your geographic area listed on the mirrors.almalinux.org (opens new window) website. A local mirror will be a lot quicker than using repo.almalinux.org directly. Then, download a suitable ISO image from the 8.7-beta/isos/$arch/ directory of your source, for example:

    $ wget https://mirror.interserver.net/almalinux/8.7-beta/isos/x86_64/AlmaLinux-8.7-beta-1-x86_64-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
    +$ gpg --import RPM-GPG-KEY-AlmaLinux
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/8.7-beta/isos/x86_64/CHECKSUM
    +
    +# we are looking for “Good signature”
    +$ gpg --verify CHECKSUM
    +gpg: Signature made Mon 24 Oct 2022 04:26:50 PM EDT
    +gpg:                using RSA key 51D6647EC21AD6EA
    +gpg: Good signature from "AlmaLinux <packager@almalinux.org>" [unknown]
    +gpg: WARNING: This key is not certified with a trusted signature!
    +gpg:          There is no indication that the signature belongs to the owner.
    +Primary key fingerprint: 5E9B 8F56 17B5 066C E920  57C3 488F CF7C 3ABB 34F8
    +     Subkey fingerprint: E53C F5EF 91CE B0AD 1812  ECB8 51D6 647E C21A D6EA
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-8.7-beta-1-x86_64-boot.iso
    +fee4a528059c8de4bd07385284609e099db27f76b984939ffef178799cc86531  AlmaLinux-8.7-beta-1-x86_64-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-8.7-beta-1-x86_64-boot.iso'
    +SHA256 (AlmaLinux-8.7-beta-1-x86_64-boot.iso) = fee4a528059c8de4bd07385284609e099db27f76b984939ffef178799cc86531
    +

    If you decide to use the AlmaLinux-8.7-beta-1-x86_64-boot.iso image, you will need to provide the 8.7-beta/BaseOS/x86_64/kickstart/ repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.

    There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.

    # Upgrade Instructions

    Please do not use these update instructions on production machines, unless you don't mind if something breaks 😉

    Upgrade the almalinux-release package to the 8.7-0.2.el8 version from the beta repositories:

    $ dnf install -y https://repo.almalinux.org/almalinux/almalinux-release-latest-8-beta.x86_64.rpm
    +$ dnf clean all
    +

    the new package contains updated repository URLs so that you can just run:

    $ dnf upgrade -y
    +

    to update the rest of the packages.

    # Added packages

    Here is a list of added packages in comparison with upstream distribution.

    Package Description
    almalinux-backgrounds AlmaLinux background images.
    Replaces redhat-backgrounds
    almalinux-indexhtml AlmaLinux default browser page
    Replaces redhat-indexhtml
    almalinux-logos AlmaLinux graphics for OS
    Replaces redhat-logos
    almalinux-logos-httpd AlmaLinux graphics for HTTPD server
    Replaces redhat-logos-httpd
    almalinux-logos-ipa AlmaLinux graphics for IPA server
    Replaces redhat-logos-ipa
    almalinux-release AlmaLinux release package, repos, and EULA
    Replaces redhat-release and redhat-release-eula

    # Removed packages

    Here is a list of removed packages in comparison with the upstream distribution.
    +AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join AlmaLinux Chat (opens new window) as well as filing a bug report at AlmaLinux Bug Tracker (opens new window) to discuss if you think any of the packages below should be included into the repos.

    Package Description
    insights-client RHEL specific package to connect to upstream vendor resources
    kmod-redhat-* RHEL specific modules from Driver Update Program
    kpatch* RHEL specific live patches for kernel
    redhat-backgrounds RHEL specific background images
    redhat-indexhtml RHEL specific default browser page
    redhat-logos RHEL specific graphics for OS
    redhat-logos-httpd RHEL specific graphics for HTTPD server
    redhat-logos-ipa RHEL specific graphics for IPA server
    redhat-release RHEL specific release package and repos
    redhat-release-eula RHEL specific EULA
    redhat-support-lib-python RHEL specific package to connect to upstream vendor resources
    redhat-support-tool RHEL specific package to connect to upstream vendor resources
    rhc RHEL specific package to connect to upstream vendor resources
    rhc-worker-playbook RHEL specific package to connect to upstream vendor resources
    rhsm-gtk RHEL specific GUI for Subscription Manager
    rhsm-icons RHEL specific GUI for Subscription Manager
    spice-client-win-x64 Contains binaries built by upstream vendor
    spice-client-win-x86 Contains binaries built by upstream vendor
    spice-qxl-wddm-dod Contains binaries built by upstream vendor
    spice-vdagent-win-x64 Contains binaries built by upstream vendor
    spice-vdagent-win-x86 Contains binaries built by upstream vendor
    subscription-manager-cockpit RHEL specific Cockpit module for Subscription Manager
    subscription-manager-initial-setup-addon RHEL specific initial setup addon for Subscription Manager
    subscription-manager-plugin-container RHEL specific Subscription Manager plugin for upstream vendor containers
    virt-who RHEL specific package to connect to upstream vendor resources
    virtio-win Contain binaries built by upstream vendor

    Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    + + + diff --git a/release-notes/8.7.html b/release-notes/8.7.html new file mode 100644 index 000000000..c44f58ca1 --- /dev/null +++ b/release-notes/8.7.html @@ -0,0 +1,83 @@ + + + + + + 8.7 | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux 8.7 Release Notes

    These are the release notes for AlmaLinux OS 8.7 Stable for all supported architectures:

    • x86_64
    • aarch64
    • ppc64le
    • s390x

    Codename: Stone Smilodon. +Distributed kernel version: 4.18.0-425.3.1.el8.

    # Providing Feedback and Getting Help

    Please report any issues you may encounter during tests on the AlmaLinux Bug Tracker (opens new window). Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out The AlmaLinux Community Chat (opens new window), The AlmaLinux Forums (opens new window) and The AlmaLinux Community on Reddit (opens new window).

    # Changelog

    • Added a new package:

      • XMLStarlet
    • Added new module streams:

      • Ruby 3.1
      • Mercurial 6.2
      • Node.js 18
    • Updated module stream:

      • Redis 6 to version 6.2.7
    • Updated command-line tools:

      • opencryptoki 3.18.0
      • powerpc-utils 1.3.10
      • libva to 2.13.0
    • Updated infrastructure services tools:

      • chrony to version 4.2
      • unbound to version 1.16.2
    • Updated performance tools and debuggers:

      • Valgrind 3.19
      • SystemTap 4.7
      • Dyninst 12.1.0
      • elfutils 0.187
    • Updated performance monitoring tools

      • PCP 5.3.7
      • Grafana 7.5.13
    • Updated compiler toolsets

      • GCC Toolset 12
      • LLVM Toolset 14.0.6
      • Rust Toolset 1.62
      • Go Toolset 1.18
    • Java tools updates:

      • Added Maven 3.8 module stream
    • Minimal ISO changes:

    • New repositories:

      • SAP
      • SAPHANA
    • The system configuration and the clevis-luks-systemd subpackage changes enable the Clevis encryption client to unlock also LUKS-encrypted volumes that mount late in the boot process without using the systemctl enable clevis-luks-askpass.path command during the deployment process.

    • scap-security-guide package updates:

      • The DISA STIG for Red Hat Enterprise Linux 8 profile is now better aligned with DISA’s content
      • The Center for Internet Security (CIS) profiles are now aligned with CIS AlmaLinux 8 Benchmark version 2.0.0.

    You can reference the upstream RHEL 8.7 release notes (opens new window)for a full list of changes in this release.

    # Installation instructions

    There are three installation ISO images available:

    AlmaLinux-8.7-x86_64-boot.iso - a single network installation CD image that downloads packages over the Internet.

    AlmaLinux-8.7-x86_64-minimal.iso - a minimal self-containing DVD image that makes possible offline installation.

    AlmaLinux-8.7-x86_64-dvd.iso - a full installation DVD image that contains mostly all AlmaLinux packages.

    The recommended way to download ISO images is using the torrent (opens new window) links. Alternatively, you can select a mirror closest to your geographic area listed on the mirrors.almalinux.org (opens new window) website. A local mirror will be a lot quicker than using repo.almalinux.org directly. Then, download a suitable ISO image from the 8.6/isos/$arch/ directory of your source, for example:

    $ wget https://mirror.interserver.net/almalinux/8.7/isos/x86_64/AlmaLinux-8.7-x86_64-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
    +$ gpg --import RPM-GPG-KEY-AlmaLinux
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/8.7/isos/x86_64/CHECKSUM
    +
    +# we are looking for “Good signature”
    +$ gpg --verify CHECKSUM
    +gpg: Signature made Thu 10 Nov 2022 02:23:36 AM EST
    +gpg:                using RSA key E53CF5EF91CEB0AD1812ECB851D6647EC21AD6EA
    +gpg: Good signature from "AlmaLinux <packager@almalinux.org>" [unknown]
    +gpg: WARNING: This key is not certified with a trusted signature!
    +gpg:          There is no indication that the signature belongs to the owner.
    +Primary key fingerprint: 5E9B 8F56 17B5 066C E920  57C3 488F CF7C 3ABB 34F8
    +     Subkey fingerprint: E53C F5EF 91CE B0AD 1812  ECB8 51D6 647E C21A D6EA
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-8.7-x86_64-boot.iso
    +a4fc8c53878e09f63849f2357228db9e2b547beea6f2b47758da2995bd59356e  AlmaLinux-8.7-x86_64-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-8.7-x86_64-boot.iso'
    +SHA256 (AlmaLinux-8.7-x86_64-boot.iso) = a4fc8c53878e09f63849f2357228db9e2b547beea6f2b47758da2995bd59356e
    +

    If you decide to use the AlmaLinux-8.7-x86_64-boot.iso image, you will need to provide the 8.7/BaseOS/x86_64/kickstart/ repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.

    There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.

    # Upgrade Instructions

    To update your AlmaLinux OS 8 to 8.7 run:

    $ dnf upgrade -y
    +

    # Added packages

    Here is a list of added packages in comparison with upstream distribution.

    Package Description
    almalinux-backgrounds AlmaLinux background images.
    Replaces redhat-backgrounds
    almalinux-indexhtml AlmaLinux default browser page
    Replaces redhat-indexhtml
    almalinux-logos AlmaLinux graphics for OS
    Replaces redhat-logos
    almalinux-logos-httpd AlmaLinux graphics for HTTPD server
    Replaces redhat-logos-httpd
    almalinux-logos-ipa AlmaLinux graphics for IPA server
    Replaces redhat-logos-ipa
    almalinux-release AlmaLinux release package, repos, and EULA
    Replaces redhat-release and redhat-release-eula

    # Removed packages

    Here is a list of removed packages in comparison with the upstream distribution.
    +AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join AlmaLinux Chat (opens new window) as well as filing a bug report at AlmaLinux Bug Tracker (opens new window) to discuss if you think any of the packages below should be included into the repos.

    Package Description
    insights-client RHEL specific package to connect to upstream vendor resources
    kmod-redhat-* RHEL specific modules from Driver Update Program
    kpatch* RHEL specific live patches for kernel
    redhat-backgrounds RHEL specific background images
    redhat-indexhtml RHEL specific default browser page
    redhat-logos RHEL specific graphics for OS
    redhat-logos-httpd RHEL specific graphics for HTTPD server
    redhat-logos-ipa RHEL specific graphics for IPA server
    redhat-release RHEL specific release package and repos
    redhat-release-eula RHEL specific EULA
    redhat-support-lib-python RHEL specific package to connect to upstream vendor resources
    redhat-support-tool RHEL specific package to connect to upstream vendor resources
    rhc RHEL specific package to connect to upstream vendor resources
    rhc-worker-playbook RHEL specific package to connect to upstream vendor resources
    rhsm-gtk RHEL specific GUI for Subscription Manager
    rhsm-icons RHEL specific GUI for Subscription Manager
    spice-client-win-x64 Contains binaries built by upstream vendor
    spice-client-win-x86 Contains binaries built by upstream vendor
    spice-qxl-wddm-dod Contains binaries built by upstream vendor
    spice-vdagent-win-x64 Contains binaries built by upstream vendor
    spice-vdagent-win-x86 Contains binaries built by upstream vendor
    subscription-manager-cockpit RHEL specific Cockpit module for Subscription Manager
    subscription-manager-initial-setup-addon RHEL specific initial setup addon for Subscription Manager
    subscription-manager-plugin-container RHEL specific Subscription Manager plugin for upstream vendor containers
    virt-who RHEL specific package to connect to upstream vendor resources
    virtio-win Contain binaries built by upstream vendor

    Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    + + + diff --git a/release-notes/8.8-beta.html b/release-notes/8.8-beta.html new file mode 100644 index 000000000..1a4b7c806 --- /dev/null +++ b/release-notes/8.8-beta.html @@ -0,0 +1,85 @@ + + + + + + 8.8 Beta | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux 8.8 Beta Release Notes

    These are the release notes for AlmaLinux OS 8.8 Beta for all supported architectures:

    • x86_64
    • aarch64
    • ppc64le
    • s390x

    Codename: Sapphire Caracal. +Distributed kernel version: 4.18.0-477.el8

    # Beta Release

    WARNING

    This is a BETA release and should not be used for production installations. The provided upgrade instructions should not be used on production machines, unless you don't mind if something breaks 😉

    # Providing Feedback and Getting Help

    Please report any issues you may encounter during tests on the AlmaLinux Bug Tracker (opens new window). Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out The AlmaLinux Community Chat (opens new window), The AlmaLinux Forums (opens new window) and The AlmaLinux Community on Reddit (opens new window).

    # Changelog

    • Updated module streams:

      • Python 3.11
      • nginx 1.22
      • PostgreSQL 15
    • Updated components:

      • Git to version 2.39.1
      • Git LFS to version 3.2.0
    • Performance tools and debuggers updates:

      • Valgrind 3.19
      • SystemTap 4.8
      • Dyninst 12.1.0
      • elfutils 0.188
    • Updated performance monitoring tools:

      • PCP 5.3.7
      • Grafana 7.5.15
    • Compiler updates:

      • GCC Toolset 12
      • LLVM Toolset 15.0.7
      • Rust Toolset 1.66
      • Go Toolset 1.19.4
    • The Libreswan IPsec implementation was rebased to version 4.9.

    • The fapolicyd software framework allows filtering of the RPM database.

    • The latest version of the OpenSCAP security compliance utility is now available 1.3.7.

    • Rsyslog TLS-encrypted logging now supports multiple CA files.

    • Updated SELinux policy allows running the systemd-socket-proxyd in its own SELinux domain.

    • System now uses updated AlmaLinux EV Code Sign Secure Boot certificate

    • Beta repositories are now located in the vault (opens new window) repository to reduce storage usage on mirrors.

    You can reference the upstream RHEL 8.8 Beta release notes (opens new window) for a full list of changes in this release.

    # Installation instructions

    There are three installation ISO images available:

    AlmaLinux-8.8-beta-1-x86_64-boot.iso - a single network installation CD image that downloads packages over the Internet.

    AlmaLinux-8.8-beta-1-x86_64-minimal.iso - a minimal self-containing DVD image that makes possible offline installation.

    AlmaLinux-8.8-beta-1-x86_64-dvd.iso - a full installation DVD image that contains mostly all AlmaLinux packages.

    You can select a mirror closest to your geographic area listed on the mirrors.almalinux.org (opens new window) website. A local mirror will be a lot quicker than using repo.almalinux.org directly. Then, download a suitable ISO image from the 8.8-beta/isos/$arch/ directory of your source, for example:

    $ wget https://mirror.interserver.net/almalinux/8.8-beta/isos/x86_64/AlmaLinux-8.8-beta-1-x86_64-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
    +$ gpg --import RPM-GPG-KEY-AlmaLinux
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/8.8-beta/isos/x86_64/CHECKSUM
    +
    +# we are looking for “Good signature”
    +$ gpg --verify CHECKSUM
    +gpg: Signature made Thu 20 Apr 2023 12:04:10 PM EDT
    +gpg:                using RSA key 51D6647EC21AD6EA
    +gpg: Good signature from "AlmaLinux <packager@almalinux.org>" [unknown]
    +gpg: WARNING: This key is not certified with a trusted signature!
    +gpg:          There is no indication that the signature belongs to the owner.
    +Primary key fingerprint: 5E9B 8F56 17B5 066C E920  57C3 488F CF7C 3ABB 34F8
    +     Subkey fingerprint: E53C F5EF 91CE B0AD 1812  ECB8 51D6 647E C21A D6EA
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-8.8-beta-1-x86_64-boot.iso
    +ad9237ec5f21ff3d1c500674623bd86d7d196e06cef301943f574b92ef091b13  AlmaLinux-8.8-beta-1-x86_64-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-8.8-beta-1-x86_64-boot.iso'
    +SHA256 (AlmaLinux-8.8-beta-1-x86_64-boot.iso) = ad9237ec5f21ff3d1c500674623bd86d7d196e06cef301943f574b92ef091b13
    +

    If you decide to use the AlmaLinux-8.8-beta-1-x86_64-boot.iso image, you will need to provide the https://repo.almalinux.org/vault/8.8-beta/BaseOS/x86_64/kickstart/ URL as the Installation Source if the installer will not be able to find closest mirror for some reason.

    There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.

    # Upgrade Instructions

    Please do not use these update instructions on production machines, unless you don't mind if something breaks 😉

    Upgrade the almalinux-release package to the 8.8-0.5.el8 version from the beta repositories:

    $ dnf install -y https://repo.almalinux.org/vault/almalinux-release-latest-8-beta.x86_64.rpm
    +$ dnf clean all
    +

    the new package contains updated repository URLs so that you can just run:

    $ dnf upgrade -y
    +

    to update the rest of the packages.

    # Added packages

    Here is a list of added packages in comparison with upstream distribution.

    Package Description
    almalinux-backgrounds AlmaLinux background images.
    Replaces redhat-backgrounds
    almalinux-indexhtml AlmaLinux default browser page
    Replaces redhat-indexhtml
    almalinux-logos AlmaLinux graphics for OS
    Replaces redhat-logos
    almalinux-logos-httpd AlmaLinux graphics for HTTPD server
    Replaces redhat-logos-httpd
    almalinux-logos-ipa AlmaLinux graphics for IPA server
    Replaces redhat-logos-ipa
    almalinux-release AlmaLinux release package, repos, and EULA
    Replaces redhat-release and redhat-release-eula

    # Removed packages

    Here is a list of removed packages in comparison with the upstream distribution.
    +AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join AlmaLinux Chat (opens new window) as well as filing a bug report at AlmaLinux Bug Tracker (opens new window) to discuss if you think any of the packages below should be included into the repos.

    Package Description
    insights-client RHEL specific package to connect to upstream vendor resources
    kmod-redhat-* RHEL specific modules from Driver Update Program
    kpatch* RHEL specific live patches for kernel
    redhat-backgrounds RHEL specific background images
    redhat-indexhtml RHEL specific default browser page
    redhat-logos RHEL specific graphics for OS
    redhat-logos-httpd RHEL specific graphics for HTTPD server
    redhat-logos-ipa RHEL specific graphics for IPA server
    redhat-release RHEL specific release package and repos
    redhat-release-eula RHEL specific EULA
    redhat-support-lib-python RHEL specific package to connect to upstream vendor resources
    redhat-support-tool RHEL specific package to connect to upstream vendor resources
    rhc RHEL specific package to connect to upstream vendor resources
    rhc-worker-playbook RHEL specific package to connect to upstream vendor resources
    rhsm-gtk RHEL specific GUI for Subscription Manager
    rhsm-icons RHEL specific GUI for Subscription Manager
    spice-client-win-x64 Contains binaries built by upstream vendor
    spice-client-win-x86 Contains binaries built by upstream vendor
    spice-qxl-wddm-dod Contains binaries built by upstream vendor
    spice-vdagent-win-x64 Contains binaries built by upstream vendor
    spice-vdagent-win-x86 Contains binaries built by upstream vendor
    subscription-manager-cockpit RHEL specific Cockpit module for Subscription Manager
    subscription-manager-initial-setup-addon RHEL specific initial setup addon for Subscription Manager
    subscription-manager-plugin-container RHEL specific Subscription Manager plugin for upstream vendor containers
    virt-who RHEL specific package to connect to upstream vendor resources
    virtio-win Contain binaries built by upstream vendor

    Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    + + + diff --git a/release-notes/8.8.html b/release-notes/8.8.html new file mode 100644 index 000000000..96a89fc6a --- /dev/null +++ b/release-notes/8.8.html @@ -0,0 +1,82 @@ + + + + + + 8.8 | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux 8.8 Release Notes

    These are the release notes for AlmaLinux OS 8.8 Stable for all supported architectures:

    • x86_64
    • aarch64
    • ppc64le
    • s390x

    Codename: Sapphire Caracal.

    Distributed kernel version: 4.18.0-477.10.1.el8_8.

    # Providing Feedback and Getting Help

    Please report any issues you may encounter during tests on the AlmaLinux Bug Tracker (opens new window). Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out The AlmaLinux Community Chat (opens new window), The AlmaLinux Forums (opens new window) and The AlmaLinux Community on Reddit (opens new window).

    # Changelog

    • Updated module streams:

      • Python 3.11
      • nginx 1.22
      • PostgreSQL 15
    • Updated components:

      • Git to version 2.39.1
      • Git LFS to version 3.2.0
    • Performance tools and debuggers updates:

      • Valgrind 3.19
      • SystemTap 4.8
      • elfutils 0.188
    • Updated performance monitoring tools:

      • PCP 5.3.7
      • Grafana 7.5.15
    • Compiler updates:

      • GCC Toolset 12
      • LLVM Toolset 15.0.7
      • Rust Toolset 1.66
      • Go Toolset 1.19.4
    • Security updates:

      • The FIPS mode settings in the kernel have been adjusted to conform to the Federal Information Processing Standard (FIPS) 140-3.
      • The Libreswan IPsec implementation was rebased to version 4.9.
      • Еhe fapolicyd software framework allows filtering the RPM database.
      • The latest version of the OpenSCAP security compliance utility is now available 1.3.7.
      • Rsyslog TLS-encrypted logging now supports multiple CA files.
      • Updated SELinux policy allows running the systemd-socket-proxyd in its own SELinux domain.
      • System now uses updated AlmaLinux EV Code Sign Secure Boot certificate

    You can reference the upstream RHEL 8.8 release notes (opens new window) for a full list of changes in this release.

    # Installation instructions

    There are three installation ISO images available:

    AlmaLinux-8.8-x86_64-boot.iso - a single network installation CD image that downloads packages over the Internet.

    AlmaLinux-8.8-x86_64-minimal.iso - a minimal self-containing DVD image that makes possible offline installation.

    AlmaLinux-8.8-x86_64-dvd.iso - a full installation DVD image that contains mostly all AlmaLinux packages.

    You can select a mirror closest to your geographic area listed on the mirrors.almalinux.org (opens new window) website. A local mirror will be a lot quicker than using repo.almalinux.org directly. Then, download a suitable ISO image from the 8.8/isos/$arch/ directory of your source, for example:

    $ wget https://mirror.interserver.net/almalinux/8.8/isos/x86_64/AlmaLinux-8.8-x86_64-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
    +$ gpg --import RPM-GPG-KEY-AlmaLinux
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/8.8/isos/x86_64/CHECKSUM
    +
    +# we are looking for “Good signature”
    +$ gpg --verify CHECKSUM
    +gpg: Signature made Wed 17 May 2023 01:25:21 PM EDT
    +gpg:                using RSA key E53CF5EF91CEB0AD1812ECB851D6647EC21AD6EA
    +gpg: Good signature from "AlmaLinux <packager@almalinux.org>" [unknown]
    +gpg: WARNING: This key is not certified with a trusted signature!
    +gpg:          There is no indication that the signature belongs to the owner.
    +Primary key fingerprint: 5E9B 8F56 17B5 066C E920  57C3 488F CF7C 3ABB 34F8
    +     Subkey fingerprint: E53C F5EF 91CE B0AD 1812  ECB8 51D6 647E C21A D6EA
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-8.8-x86_64-boot.iso
    +0d28926ed9bff9f5848365dea04e747f86fb68c917087d0b4063387f656eeb52  AlmaLinux-8.8-x86_64-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-8.8-x86_64-boot.iso'
    +SHA256 (AlmaLinux-8.8-x86_64-boot.iso) = 0d28926ed9bff9f5848365dea04e747f86fb68c917087d0b4063387f656eeb52
    +

    If you decide to use the AlmaLinux-8.8-x86_64-boot.iso image, you will need to provide the 8.8/BaseOS/x86_64/kickstart/ URL repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.

    There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.

    # Upgrade Instructions

    To update your AlmaLinux OS 8 to 8.8 run:

    $ dnf upgrade -y
    +

    # Added packages

    Here is a list of added packages in comparison with upstream distribution.

    Package Description
    almalinux-backgrounds AlmaLinux background images.
    Replaces redhat-backgrounds
    almalinux-indexhtml AlmaLinux default browser page
    Replaces redhat-indexhtml
    almalinux-logos AlmaLinux graphics for OS
    Replaces redhat-logos
    almalinux-logos-httpd AlmaLinux graphics for HTTPD server
    Replaces redhat-logos-httpd
    almalinux-logos-ipa AlmaLinux graphics for IPA server
    Replaces redhat-logos-ipa
    almalinux-release AlmaLinux release package, repos, and EULA
    Replaces redhat-release and redhat-release-eula

    # Removed packages

    Here is a list of removed packages in comparison with the upstream distribution.
    +AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join AlmaLinux Chat (opens new window) as well as filing a bug report at AlmaLinux Bug Tracker (opens new window) to discuss if you think any of the packages below should be included into the repos.

    Package Description
    insights-client RHEL specific package to connect to upstream vendor resources
    kmod-redhat-* RHEL specific modules from Driver Update Program
    kpatch* RHEL specific live patches for kernel
    redhat-backgrounds RHEL specific background images
    redhat-indexhtml RHEL specific default browser page
    redhat-logos RHEL specific graphics for OS
    redhat-logos-httpd RHEL specific graphics for HTTPD server
    redhat-logos-ipa RHEL specific graphics for IPA server
    redhat-release RHEL specific release package and repos
    redhat-release-eula RHEL specific EULA
    redhat-support-lib-python RHEL specific package to connect to upstream vendor resources
    redhat-support-tool RHEL specific package to connect to upstream vendor resources
    rhc RHEL specific package to connect to upstream vendor resources
    rhc-worker-playbook RHEL specific package to connect to upstream vendor resources
    rhsm-gtk RHEL specific GUI for Subscription Manager
    rhsm-icons RHEL specific GUI for Subscription Manager
    spice-client-win-x64 Contains binaries built by upstream vendor
    spice-client-win-x86 Contains binaries built by upstream vendor
    spice-qxl-wddm-dod Contains binaries built by upstream vendor
    spice-vdagent-win-x64 Contains binaries built by upstream vendor
    spice-vdagent-win-x86 Contains binaries built by upstream vendor
    subscription-manager-cockpit RHEL specific Cockpit module for Subscription Manager
    subscription-manager-initial-setup-addon RHEL specific initial setup addon for Subscription Manager
    subscription-manager-plugin-container RHEL specific Subscription Manager plugin for upstream vendor containers
    virt-who RHEL specific package to connect to upstream vendor resources
    virtio-win Contain binaries built by upstream vendor

    Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    + + + diff --git a/release-notes/8.9-beta.html b/release-notes/8.9-beta.html new file mode 100644 index 000000000..1fc91fff6 --- /dev/null +++ b/release-notes/8.9-beta.html @@ -0,0 +1,83 @@ + + + + + + 8.9 Beta | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux 8.9 Beta Release Notes

    These are the release notes for AlmaLinux OS 8.9 Beta for all supported architectures:

    • x86_64
    • aarch64
    • ppc64le
    • s390x

    Codename: Midnight Oncilla.

    Distributed kernel version: 4.18.0-513.el8.

    # Beta Release

    WARNING

    This is a BETA release and should not be used for production installations. The provided upgrade instructions should not be used on production machines unless you don't mind if something breaks 😉

    # Providing Feedback and Getting Help

    Please report any issues you may encounter during tests on the AlmaLinux Bug Tracker (opens new window). Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out The AlmaLinux Community Chat (opens new window), The AlmaLinux Forums (opens new window) and The AlmaLinux Community on Reddit (opens new window).

    # Changelog

    • Added a new module streams:

      • Node.js 20
    • Updated components:

      • Git to version 2.39.1
      • Git LFS to version 3.2.0
    • Performance tools and debuggers updates:

      • Valgrind 3.21
      • SystemTap 4.9
      • elfutils 0.189
    • Updated performance monitoring tools:

      • Grafana 9.2.10
      • grafana-pcp 5.1.1
    • Compiler updates:

      • GCC Toolset 13
      • LLVM Toolset 16.0.6
      • Rust Toolset 1.71.1
      • Go Toolset 1.20.6
    • Security

      • OpenSCAP 1.3.8
      • ANSSI-BP-028 SCAP security profiles were updated to version 2.0
      • SCAP Security Guide now contains improved rules to provide more consistent interactive user configuration and the DISA STIG profile supports audit_rules_login_events_faillock.

    You can reference the RHEL 8.9 Beta release notes (opens new window) for a full list of changes in this release.

    # Installation instructions

    There are three installation ISO images available:

    AlmaLinux-8.9-beta-1-x86_64-boot.iso - a single network installation CD image that downloads packages over the Internet.

    AlmaLinux-8.9-beta-1-x86_64-minimal.iso - a minimal self-containing DVD image that makes possible offline installation.

    AlmaLinux-8.9-beta-1-x86_64-dvd.iso - a full installation DVD image that contains mostly all AlmaLinux packages.

    Download a suitable ISO image from the 8.9-beta/isos/$arch/ directory, for example:

    $ wget https://repo.almalinux.org/almalinux/8.9-beta/isos/x86_64/AlmaLinux-8.9-beta-1-x86_64-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
    +$ gpg --import RPM-GPG-KEY-AlmaLinux
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/8.9-beta/isos/x86_64/CHECKSUM
    +
    +# we are looking for “Good signature”
    +$ gpg --verify CHECKSUM
    +gpg: Signature made Thu 02 Nov 2023 04:46:13 AM EDT
    +gpg:                using RSA key E53CF5EF91CEB0AD1812ECB851D6647EC21AD6EA
    +gpg: Good signature from "AlmaLinux <packager@almalinux.org>" [unknown]
    +gpg: WARNING: This key is not certified with a trusted signature!
    +gpg:          There is no indication that the signature belongs to the owner.
    +Primary key fingerprint: 5E9B 8F56 17B5 066C E920  57C3 488F CF7C 3ABB 34F8
    +     Subkey fingerprint: E53C F5EF 91CE B0AD 1812  ECB8 51D6 647E C21A D6EA
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-8.9-beta-1-x86_64-boot.iso
    +fe73e692f0a970c2f65f5bec1b66b10aaa02a9978eb2c4d20c751a59fe284dcd  AlmaLinux-8.9-beta-1-x86_64-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-8.9-beta-1-x86_64-boot.iso'
    +SHA256 (AlmaLinux-8.9-beta-1-x86_64-boot.iso) = fe73e692f0a970c2f65f5bec1b66b10aaa02a9978eb2c4d20c751a59fe284dcd
    +

    If you decide to use the AlmaLinux-8.9-beta-1-x86_64-boot.iso image, you may need to provide the https://repo.almalinux.org/vault/8.9-beta/BaseOS/x86_64/kickstart/ URL repository as the Installation Source in the event that the installer is not able to find it automatically for some reason.

    There are no extra Installation Sources required if you decided to go with either the Minimal or DVD ISO images.

    # Upgrade Instructions

    Please do not use these update instructions on production machines unless you don't mind if something breaks 😉

    Upgrade the almalinux-release package to the 8.9-0.0.el8 version from the beta repositories:

    $ dnf install -y https://repo.almalinux.org/vault/almalinux-release-latest-8-beta.x86_64.rpm
    +$ dnf clean all
    +

    the new package contains updated repository URLs so that you can just run:

    $ dnf upgrade -y
    +

    to update the rest of the packages.

    # Additional packages

    Here is a list of packages that are AlmaLinux-specific, and will not be found in compatible versions of RHEL..

    Package Description
    almalinux-backgrounds AlmaLinux background images.
    Replaces redhat-backgrounds
    almalinux-indexhtml AlmaLinux default browser page
    Replaces redhat-indexhtml
    almalinux-logos AlmaLinux graphics for OS
    Replaces redhat-logos
    almalinux-logos-httpd AlmaLinux graphics for HTTPD server
    Replaces redhat-logos-httpd
    almalinux-logos-ipa AlmaLinux graphics for IPA server
    Replaces redhat-logos-ipa
    almalinux-release AlmaLinux release package, repos, and EULA
    Replaces redhat-release and redhat-release-eula

    # Removed packages

    Here is a list of packages you will not find in AlmaLinux when comparing with the compatible version of RHEL.

    AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join AlmaLinux Chat (opens new window) as well as filing a bug report at AlmaLinux Bug Tracker (opens new window) to discuss if you think any of the packages below should be included into the repos.

    Package Description
    insights-client RHEL specific package to connect to upstream vendor resources
    kmod-redhat-* RHEL specific modules from Driver Update Program
    kpatch* RHEL specific live patches for kernel
    redhat-backgrounds RHEL specific background images
    redhat-indexhtml RHEL specific default browser page
    redhat-logos RHEL specific graphics for OS
    redhat-logos-httpd RHEL specific graphics for HTTPD server
    redhat-logos-ipa RHEL specific graphics for IPA server
    redhat-release RHEL specific release package and repos
    redhat-release-eula RHEL specific EULA
    redhat-support-lib-python RHEL specific package to connect to upstream vendor resources
    redhat-support-tool RHEL specific package to connect to upstream vendor resources
    rhc RHEL specific package to connect to upstream vendor resources
    rhc-worker-playbook RHEL specific package to connect to upstream vendor resources
    rhsm-gtk RHEL specific GUI for Subscription Manager
    rhsm-icons RHEL specific GUI for Subscription Manager
    spice-client-win-x64 Contains binaries built by upstream vendor
    spice-client-win-x86 Contains binaries built by upstream vendor
    spice-qxl-wddm-dod Contains binaries built by upstream vendor
    spice-vdagent-win-x64 Contains binaries built by upstream vendor
    spice-vdagent-win-x86 Contains binaries built by upstream vendor
    subscription-manager-cockpit RHEL specific Cockpit module for Subscription Manager
    subscription-manager-initial-setup-addon RHEL specific initial setup addon for Subscription Manager
    subscription-manager-plugin-container RHEL specific Subscription Manager plugin for upstream vendor containers
    virt-who RHEL specific package to connect to upstream vendor resources
    virtio-win Contain binaries built by upstream vendor

    Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    + + + diff --git a/release-notes/8.9.html b/release-notes/8.9.html new file mode 100644 index 000000000..f5afbe500 --- /dev/null +++ b/release-notes/8.9.html @@ -0,0 +1,82 @@ + + + + + + 8.9 | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux 8.9 Release Notes

    These are the release notes for AlmaLinux OS 8.9 Stable for all supported architectures:

    • x86_64
    • aarch64
    • ppc64le
    • s390x

    Codename: Midnight Oncilla.

    Distributed kernel version: 4.18.0-513.5.1.el8

    # Providing Feedback and Getting Help

    Please report any issues you may encounter during tests on the AlmaLinux Bug Tracker (opens new window). Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out The AlmaLinux Community Chat (opens new window), The AlmaLinux Forums (opens new window) and The AlmaLinux Community on Reddit (opens new window).

    # Changelog

    • Added a new module streams:

      • Node.js 20
    • Updated components:

      • Git to version 2.39.1
      • Git LFS to version 3.2.0
    • Performance tools and debuggers updates:

      • Valgrind 3.21
      • SystemTap 4.9
      • elfutils 0.189
    • Updated performance monitoring tools:

      • Grafana 9.2.10
      • grafana-pcp 5.1.1
    • Compiler updates:

      • GCC Toolset 13
      • LLVM Toolset 16.0.6
      • Rust Toolset 1.71.1
      • Go Toolset 1.20.10
    • Security

      • OpenSCAP 1.3.8
      • ANSSI-BP-028 SCAP security profiles were updated to version 2.0
      • SCAP Security Guide now contains improved rules to provide more consistent interactive user configuration and the DISA STIG profile supports audit_rules_login_events_faillock.

    You can reference the upstream RHEL 8.9 release notes (opens new window) for a full list of changes in this release.

    # Installation instructions

    There are three installation ISO images available:

    AlmaLinux-8.9-x86_64-boot.iso - a single network installation CD image that downloads packages over the Internet.

    AlmaLinux-8.9-x86_64-minimal.iso - a minimal self-containing DVD image that makes possible offline installation.

    AlmaLinux-8.9-x86_64-dvd.iso - a full installation DVD image that contains mostly all AlmaLinux packages.

    You can select a mirror closest to your geographic area listed on the mirrors.almalinux.org (opens new window) website. A local mirror will be a lot quicker than using repo.almalinux.org directly. Then, download a suitable ISO image from the 8.9/isos/$arch/ directory of your source, for example:

    $ wget https://mirror.interserver.net/almalinux/8.9/isos/x86_64/AlmaLinux-8.9-x86_64-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
    +$ gpg --import RPM-GPG-KEY-AlmaLinux
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/8.9/isos/x86_64/CHECKSUM
    +
    +# we are looking for “Good signature”
    +$ gpg --verify CHECKSUM
    +gpg: Signature made Mon 20 Nov 2023 02:10:58 PM EST
    +gpg:                using RSA key E53CF5EF91CEB0AD1812ECB851D6647EC21AD6EA
    +gpg: Good signature from "AlmaLinux <packager@almalinux.org>" [unknown]
    +gpg: WARNING: This key is not certified with a trusted signature!
    +gpg:          There is no indication that the signature belongs to the owner.
    +Primary key fingerprint: 5E9B 8F56 17B5 066C E920  57C3 488F CF7C 3ABB 34F8
    +     Subkey fingerprint: E53C F5EF 91CE B0AD 1812  ECB8 51D6 647E C21A D6EA
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-8.9-x86_64-boot.iso
    +ab861d80c8b68634f3c16d414a4141759a082548ad7b251d8924675fa09decab  AlmaLinux-8.9-x86_64-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-8.9-x86_64-boot.iso'
    +SHA256 (AlmaLinux-8.9-x86_64-boot.iso) = ab861d80c8b68634f3c16d414a4141759a082548ad7b251d8924675fa09decab
    +

    If you decide to use the AlmaLinux-8.9-x86_64-boot.iso image, you will need to provide the 8.9/BaseOS/x86_64/kickstart/ URL repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.

    There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.

    # Upgrade Instructions

    To update your AlmaLinux OS 8 to 8.9 run:

    $ dnf upgrade -y
    +

    # Added packages

    Here is a list of added packages in comparison with upstream distribution.

    Package Description
    almalinux-backgrounds AlmaLinux background images.
    Replaces redhat-backgrounds
    almalinux-indexhtml AlmaLinux default browser page
    Replaces redhat-indexhtml
    almalinux-logos AlmaLinux graphics for OS
    Replaces redhat-logos
    almalinux-logos-httpd AlmaLinux graphics for HTTPD server
    Replaces redhat-logos-httpd
    almalinux-logos-ipa AlmaLinux graphics for IPA server
    Replaces redhat-logos-ipa
    almalinux-release AlmaLinux release package, repos, and EULA
    Replaces redhat-release and redhat-release-eula

    # Removed packages

    Here is a list of removed packages in comparison with the upstream distribution.
    +AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join AlmaLinux Chat (opens new window) as well as filing a bug report at AlmaLinux Bug Tracker (opens new window) to discuss if you think any of the packages below should be included into the repos.

    Package Description
    insights-client RHEL specific package to connect to upstream vendor resources
    kmod-redhat-*
    excluding kmod-redhat-oracleasm
    RHEL specific modules from Driver Update Program
    kpatch* RHEL specific live patches for kernel
    redhat-backgrounds RHEL specific background images
    redhat-indexhtml RHEL specific default browser page
    redhat-logos RHEL specific graphics for OS
    redhat-logos-httpd RHEL specific graphics for HTTPD server
    redhat-logos-ipa RHEL specific graphics for IPA server
    redhat-release RHEL specific release package and repos
    redhat-release-eula RHEL specific EULA
    redhat-support-lib-python RHEL specific package to connect to upstream vendor resources
    redhat-support-tool RHEL specific package to connect to upstream vendor resources
    rhc RHEL specific package to connect to upstream vendor resources
    rhc-worker-playbook RHEL specific package to connect to upstream vendor resources
    rhsm-gtk RHEL specific GUI for Subscription Manager
    rhsm-icons RHEL specific GUI for Subscription Manager
    spice-client-win-x64 Contains binaries built by upstream vendor
    spice-client-win-x86 Contains binaries built by upstream vendor
    spice-qxl-wddm-dod Contains binaries built by upstream vendor
    spice-vdagent-win-x64 Contains binaries built by upstream vendor
    spice-vdagent-win-x86 Contains binaries built by upstream vendor
    subscription-manager-cockpit RHEL specific Cockpit module for Subscription Manager
    subscription-manager-initial-setup-addon RHEL specific initial setup addon for Subscription Manager
    subscription-manager-plugin-container RHEL specific Subscription Manager plugin for upstream vendor containers
    virt-who RHEL specific package to connect to upstream vendor resources
    virtio-win Contain binaries built by upstream vendor

    Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    + + + diff --git a/release-notes/9.0-beta.html b/release-notes/9.0-beta.html new file mode 100644 index 000000000..67c0753d0 --- /dev/null +++ b/release-notes/9.0-beta.html @@ -0,0 +1,79 @@ + + + + + + 9.0 Beta | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux 9.0 Beta Release Notes

    These are the release notes for AlmaLinux OS 9.0 Beta for x86_64, aarch64, ppc64le and s390x architectures, codename Emerald Puma.

    Distributed kernel version: 5.14.0-70.5.1.el9_0.

    # Beta Release

    WARNING

    This is a BETA release and should not be used for production installations.

    # Providing Feedback and Getting Help

    Please report any issues you may encounter during tests on the AlmaLinux Bug Tracker (opens new window). Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out The AlmaLinux Community Chat (opens new window), The AlmaLinux Forums (opens new window) and The AlmaLinux Community on Reddit (opens new window).

    # Changelog

    • AlmaLinux 9 packages and repos are signed with the new RPM-GPG-KEY-AlmaLinux-9 (opens new window)

    • Updated dynamic programming languages, web and database servers:

      • Perl 5.32
      • PHP 8.0
      • Git 2.31
      • Apache HTTP Server 2.4
      • Varnish Cache 6.5
      • Squid 5.2
      • MySQL 8.0
      • Redis 6.2
    • Updated components:

      • GCC 11.2
      • glibc 2.34
      • binutils 2.35
    • Compiler updates:

      • Go Toolset 1.17.7
    • Performance tools and debuggers updates:

      • GDB 10.2
      • Valgrind 3.18.1
      • SystemTap 4.6
      • Dyninst 11.0.0
      • elfutils 0.186
    • Java tools updates:

      • Maven 3.6
      • Ant 1.10

    You can reference the upstream RHEL 9.0 beta release notes (opens new window) for a full list of changes in this release.

    # Installation instructions

    There are three installation ISO images available:

    AlmaLinux-9.0-beta-1-x86_64-boot.iso - a single network installation CD image that downloads packages over the Internet.

    AlmaLinux-9.0-beta-1-x86_64-minimal.iso - a minimal self-containing DVD image that makes possible offline installation.

    AlmaLinux-9.0-beta-1-x86_64-dvd.iso - a full installation DVD image that contains mostly all AlmaLinux packages.

    You can select a mirror closest to your geographic area listed on the mirrors.almalinux.org (opens new window) website. A local mirror will be a lot quicker than using repo.almalinux.org directly. Then, download a suitable ISO image from the 9-beta/isos/$arch/ directory of your source, for example:

    $ wget https://mirror.interserver.net/almalinux/9.0-beta/isos/x86_64/AlmaLinux-9.0-beta-1-x86_64-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9
    +$ gpg --import RPM-GPG-KEY-AlmaLinux-9
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/9.0-beta/isos/x86_64/CHECKSUM
    +
    +# we are looking for “Good signature”
    +$ gpg --verify CHECKSUM
    +gpg: Signature made Mon 18 Apr 2022 09:59:43 PM UTC using RSA key ID B86B3716
    +gpg: Good signature from "AlmaLinux OS 9 <packager@almalinux.org>"
    +gpg: WARNING: This key is not certified with a trusted signature!
    +gpg:          There is no indication that the signature belongs to the owner.
    +Primary key fingerprint: BF18 AC28 7617 8908 D6E7  1267 D36C B86C B86B 3716
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-9.0-beta-1-x86_64-boot.iso
    +62faf2d2f3449f247435cd91ec6155ed9d1c1f949f55c17b75827cb0f98adef2  AlmaLinux-9.0-beta-1-x86_64-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-9.0-beta-1-x86_64-boot.iso'
    +SHA256 (AlmaLinux-9.0-beta-1-x86_64-boot.iso) = 62faf2d2f3449f247435cd91ec6155ed9d1c1f949f55c17b75827cb0f98adef2
    +

    If you decide to use the AlmaLinux-9.0-beta-1-x86_64-boot.iso image, you will need to provide the 9.0-beta/BaseOS/x86_64/kickstart/ repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.

    There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.

    # Known issues

    • OpenSCAP AlmaLinux 9 profiles are not ready yet and will be released later

    # Added packages

    Here is a list of added packages in comparison with upstream distribution.

    Package Description
    almalinux-backgrounds AlmaLinux background images.
    Replaces redhat-backgrounds
    almalinux-indexhtml AlmaLinux default browser page
    Replaces redhat-indexhtml
    almalinux-logos AlmaLinux graphics for OS
    Replaces redhat-logos
    almalinux-logos-httpd AlmaLinux graphics for HTTPD server
    Replaces redhat-logos-httpd
    almalinux-logos-ipa AlmaLinux graphics for IPA server
    Replaces redhat-logos-ipa
    almalinux-release AlmaLinux release package, repos, and EULA
    Replaces redhat-release and redhat-release-eula

    # Removed packages

    Here is a list of removed packages in comparison with the upstream distribution.
    +AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join AlmaLinux Chat (opens new window) as well as filing a bug report at AlmaLinux Bug Tracker (opens new window) to discuss if you think any of the packages below should be included into the repos.

    Package Description
    insights-client RHEL specific package to connect to upstream vendor resources
    kmod-redhat-* RHEL specific modules from Driver Update Program
    kpatch* RHEL specific live patches for kernel
    redhat-backgrounds RHEL specific background images
    redhat-indexhtml RHEL specific default browser page
    redhat-logos RHEL specific graphics for OS
    redhat-logos-httpd RHEL specific graphics for HTTPD server
    redhat-logos-ipa RHEL specific graphics for IPA server
    redhat-release RHEL specific release package and repos
    redhat-release-eula RHEL specific EULA
    redhat-support-lib-python RHEL specific package to connect to upstream vendor resources
    redhat-support-tool RHEL specific package to connect to upstream vendor resources
    rhc RHEL specific package to connect to upstream vendor resources
    rhc-worker-playbook RHEL specific package to connect to upstream vendor resources
    rhsm-gtk RHEL specific GUI for Subscription Manager
    rhsm-icons RHEL specific GUI for Subscription Manager
    spice-client-win-x64 Contains binaries built by upstream vendor
    spice-client-win-x86 Contains binaries built by upstream vendor
    spice-qxl-wddm-dod Contains binaries built by upstream vendor
    spice-vdagent-win-x64 Contains binaries built by upstream vendor
    spice-vdagent-win-x86 Contains binaries built by upstream vendor
    subscription-manager-cockpit RHEL specific Cockpit module for Subscription Manager
    subscription-manager-initial-setup-addon RHEL specific initial setup addon for Subscription Manager
    subscription-manager-plugin-container RHEL specific Subscription Manager plugin for upstream vendor containers
    virt-who RHEL specific package to connect to upstream vendor resources
    virtio-win Contain binaries built by upstream vendor

    Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    + + + diff --git a/release-notes/9.0.html b/release-notes/9.0.html new file mode 100644 index 000000000..ed1cc884b --- /dev/null +++ b/release-notes/9.0.html @@ -0,0 +1,82 @@ + + + + + + 9.0 | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux 9.0 Release Notes

    These are the release notes for AlmaLinux OS 9.0 for x86_64, aarch64, ppc64le and s390x architectures, codename Emerald Puma.

    Distributed kernel version: 5.14.0-70.13.1.el9_0.

    # Providing Feedback and Getting Help

    The AlmaLinux Community maintains many avenues for helping, supporting and assisting you. If you find an issue, please report it on the AlmaLinux Bug Tracker (opens new window). Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out The AlmaLinux Community Chat (opens new window), The AlmaLinux Forums (opens new window) and The AlmaLinux Community on Reddit (opens new window).

    Please note our Community Chat is bridged to several services including IRC (opens new window), Matrix (opens new window) and Discord.

    # Upstream Release Notes

    The upstream Red Hat Enterprise Linux release notes can be accessed via the Red Hat Enterprise Linux 9 Release Notes (opens new window)

    # Changelog

    • AlmaLinux 9 packages and repositories are signed with the new RPM-GPG-KEY-AlmaLinux-9 (opens new window) GPG key

    • The use of SHA-1 for signatures is restricted in the default crypto policy. Please be aware that this may cause issues using SSH to access older systems, such as RHEL/CentOS 6. To allow SHA-1 you can run:

    update-crypto-policies --set DEFAULT:SHA1
    +

    Please see this Red Hat Knowledge Article (opens new window) (subscription required) for more information.

    • New repositories added:

      • SAP
      • SAPHANA
    • Updated dynamic programming languages, web and database servers:

      • Perl 5.32
      • PHP 8.0
      • Git 2.31
      • Apache HTTP Server 2.4.51
      • Varnish Cache 6.6
      • Squid 5.2
      • MySQL 8.0
      • Redis 6.2
    • Updated components:

      • GCC 11.2.1
      • glibc 2.34
      • binutils 2.35.2
    • Compiler updates:

      • Go Toolset 1.17.7
    • Performance tools and debuggers updates:

      • PCP 5.3.5
      • Grafana 7.5.11
      • GDB 10.2
      • Valgrind 3.18.1
      • SystemTap 4.6
      • Dyninst 11.0.0
      • elfutils 0.186
    • Java tools updates:

      • Maven 3.6
      • Ant 1.10

    # Installation Instructions

    There are three installation ISO images available:

    AlmaLinux-9.0-x86_64-boot.iso - a single network installation CD image that downloads packages over the Internet.

    AlmaLinux-9.0-x86_64-minimal.iso - a minimal self-containing DVD image for local/offline installation.

    AlmaLinux-9.0-x86_64-dvd.iso - a full installation DVD image that contains almost all AlmaLinux packages.

    The recommended way to download ISO images is using the torrent (opens new window) links. Alternatively, you can select a mirror closest to your geographic area listed on the mirrors.almalinux.org (opens new window) website. A local mirror will be a lot quicker than using repo.almalinux.org directly. Then, download a suitable ISO image from the 9/isos/$arch/ directory of your source, for example:

    $ wget https://mirror.interserver.net/almalinux/9.0/isos/x86_64/AlmaLinux-9.0-x86_64-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9
    +$ gpg --import RPM-GPG-KEY-AlmaLinux-9
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/9.0/isos/x86_64/CHECKSUM
    +
    +# we are looking for “Good signature”
    +$ gpg --verify CHECKSUM
    +gpg: Signature made Wed 25 May 2022 11:08:37 PM UTC
    +gpg:                using RSA key D36CB86CB86B3716
    +gpg: Good signature from "AlmaLinux OS 9 <packager@almalinux.org>" [unknown]
    +gpg: WARNING: This key is not certified with a trusted signature!
    +gpg:          There is no indication that the signature belongs to the owner.
    +Primary key fingerprint: BF18 AC28 7617 8908 D6E7  1267 D36C B86C B86B 3716
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-9.0-x86_64-boot.iso
    +c41ce7bc2f4ab27a3597b3e160fc8b01c56a6b58e1046a4a23b8518fb9e9a61f  AlmaLinux-9.0-x86_64-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-9.0-x86_64-boot.iso'
    +SHA256 (AlmaLinux-9.0-1-x86_64-boot.iso) = c41ce7bc2f4ab27a3597b3e160fc8b01c56a6b58e1046a4a23b8518fb9e9a61f
    +

    If you decide to use the AlmaLinux-9.0-x86_64-boot.iso image, you will need to provide the 9.0/BaseOS/x86_64/kickstart/ repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.

    There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.

    # Upgrade Instructions

    Run the following command twice to upgrade from 9.0 beta:

    $ dnf upgrade -y
    +

    # Added Packages

    Here is a list of added packages in comparison with upstream distribution.

    Package Description
    almalinux-backgrounds AlmaLinux background images.
    Replaces redhat-backgrounds
    almalinux-indexhtml AlmaLinux default browser page
    Replaces redhat-indexhtml
    almalinux-logos AlmaLinux graphics for OS
    Replaces redhat-logos
    almalinux-logos-httpd AlmaLinux graphics for HTTPD server
    Replaces redhat-logos-httpd
    almalinux-logos-ipa AlmaLinux graphics for IPA server
    Replaces redhat-logos-ipa
    almalinux-release AlmaLinux release package, repos, and EULA
    Replaces redhat-release and redhat-release-eula

    # Removed Packages

    Here is a list of removed packages in comparison with the upstream distribution.
    +AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join AlmaLinux Chat (opens new window) as well as filing a bug report at AlmaLinux Bug Tracker (opens new window) to discuss if you think any of the packages below should be included into the repos.

    Package Description
    insights-client RHEL specific package to connect to upstream vendor resources
    kmod-redhat-* RHEL specific modules from Driver Update Program
    kpatch* RHEL specific live patches for kernel
    redhat-backgrounds RHEL specific background images
    redhat-indexhtml RHEL specific default browser page
    redhat-logos RHEL specific graphics for OS
    redhat-logos-httpd RHEL specific graphics for HTTPD server
    redhat-logos-ipa RHEL specific graphics for IPA server
    redhat-release RHEL specific release package and repos
    redhat-release-eula RHEL specific EULA
    redhat-support-lib-python RHEL specific package to connect to upstream vendor resources
    redhat-support-tool RHEL specific package to connect to upstream vendor resources
    rhc RHEL specific package to connect to upstream vendor resources
    rhc-worker-playbook RHEL specific package to connect to upstream vendor resources
    rhsm-gtk RHEL specific GUI for Subscription Manager
    rhsm-icons RHEL specific GUI for Subscription Manager
    spice-client-win-x64 Contains binaries built by upstream vendor
    spice-client-win-x86 Contains binaries built by upstream vendor
    spice-qxl-wddm-dod Contains binaries built by upstream vendor
    spice-vdagent-win-x64 Contains binaries built by upstream vendor
    spice-vdagent-win-x86 Contains binaries built by upstream vendor
    subscription-manager-cockpit RHEL specific Cockpit module for Subscription Manager
    subscription-manager-initial-setup-addon RHEL specific initial setup addon for Subscription Manager
    subscription-manager-plugin-container RHEL specific Subscription Manager plugin for upstream vendor containers
    virt-who RHEL specific package to connect to upstream vendor resources
    virtio-win Contain binaries built by upstream vendor

    Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    + + + diff --git a/release-notes/9.1-beta.html b/release-notes/9.1-beta.html new file mode 100644 index 000000000..5f9aba38d --- /dev/null +++ b/release-notes/9.1-beta.html @@ -0,0 +1,83 @@ + + + + + + 9.1 Beta | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux 9.1 Beta Release Notes

    These are the release notes for AlmaLinux OS 9.1 Beta for x86_64, aarch64, ppc64le and s390x architectures, codename Lime Lynx.

    Distributed kernel version: 5.14.0-160.el9

    # Beta Release

    WARNING

    This is a BETA release and should not be used for production installations. The provided upgrade instructions should not be used on production machines, unless you don't mind if something breaks 😉

    # Providing Feedback and Getting Help

    Please report any issues you may encounter during tests on the AlmaLinux Bug Tracker (opens new window). Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out The AlmaLinux Community Chat (opens new window), The AlmaLinux Forums (opens new window) and The AlmaLinux Community on Reddit (opens new window).

    # Changelog

    • Added a new remote machine attestation tool:

      • Keylime
    • Updated packages:

      • SELinux user-space packages to version 3.4
    • Added SHA-256 support in the semodule tool

    • libsepol-utils package has new policy utilities

    • The system configuration and the clevis-luks-systemd subpackage changes enable the Clevis encryption client to unlock also LUKS-encrypted volumes that mount late in the boot process without using the systemctl enable clevis-luks-askpass.path command during the deployment process.

    • Added a new package:

      • XMLStarlet
    • Updated command-line tools:

      • opencryptoki to version 3.18.0
      • powerpc-utils to version 1.3.10
      • libvpd to version 2.2.9
      • lsvpd to version 1.7.14
      • ppc64-diag to version 2.7.8
    • Updated infrastructure services tools:

      • chrony to version 4.2
      • unbound to version 1.16.2
      • frr to version 8.2.2
    • Added new module streams:

      • PHP 8.1
      • Ruby 3.1
      • Node.js 18
    • Updated module stream:

      • Apache HTTP Server to version 2.4.53.
    • Performance tools and debuggers updates:

      • Valgrind 3.19
      • SystemTap 4.7
      • Dyninst 12.1.0
      • elfutils 0.187
    • Updated performance monitoring tools:

      • PCP 5.3.7
      • Grafana 7.5.13
    • Compiler updates:

      • GCC Toolset 12
      • LLVM Toolset 14.0.0
      • Rust Toolset 1.62
      • Go Toolset 1.18
    • Minimal ISO changes:

    # Installation instructions

    There are three installation ISO images available:

    AlmaLinux-9.1-beta-1-x86_64-boot.iso - a single network installation CD image that downloads packages over the Internet.

    AlmaLinux-9.1-beta-1-x86_64-minimal.iso - a minimal self-containing DVD image that makes possible offline installation.

    AlmaLinux-9.1-beta-1-x86_64-dvd.iso - a full installation DVD image that contains mostly all AlmaLinux packages.

    You can select a mirror closest to your geographic area listed on the mirrors.almalinux.org (opens new window) website. A local mirror will be a lot quicker than using repo.almalinux.org directly. Then, download a suitable ISO image from the 9.1-beta/isos/$arch/ directory of your source, for example:

    $ wget https://mirror.interserver.net/almalinux/9.1-beta/isos/x86_64/AlmaLinux-9.1-beta-1-x86_64-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9
    +$ gpg --import RPM-GPG-KEY-AlmaLinux
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/9.1-beta/isos/x86_64/CHECKSUM
    +
    +# we are looking for “Good signature”
    +$ gpg --verify CHECKSUM
    +gpg: Signature made Mon 31 Oct 2022 05:48:38 PM EDT
    +gpg:                using RSA key D36CB86CB86B3716
    +gpg: Good signature from "AlmaLinux OS 9 <packager@almalinux.org>" [unknown]
    +gpg: WARNING: This key is not certified with a trusted signature!
    +gpg:          There is no indication that the signature belongs to the owner.
    +Primary key fingerprint: BF18 AC28 7617 8908 D6E7  1267 D36C B86C B86B 3716
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-9.1-beta-1-x86_64-boot.iso
    +4bcdec0039c84d0e1ae86dc40029f897f2da398222f0643bf8b6b3e9870970c5  AlmaLinux-9.1-beta-1-x86_64-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-9.1-beta-1-x86_64-boot.iso'
    +SHA256 (AlmaLinux-9.1-beta-1-x86_64-boot.iso) = 4bcdec0039c84d0e1ae86dc40029f897f2da398222f0643bf8b6b3e9870970c5
    +

    If you decide to use the AlmaLinux-9.1-beta-1-x86_64-boot.iso image, you will need to provide the 9.1-beta/BaseOS/x86_64/kickstart/ repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.

    There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.

    # Upgrade Instructions

    Please do not use these update instructions on production machines, unless you don't mind if something breaks 😉

    Upgrade the almalinux-release package to the 9.1-1.8.el9 version from the beta repositories:

    $ dnf install -y https://repo.almalinux.org/almalinux/almalinux-release-latest-9-beta.x86_64.rpm
    +$ dnf clean all
    +

    the new package contains updated repository URLs so that you can just run:

    $ dnf upgrade -y
    +

    to update the rest of the packages.

    # Added packages

    Here is a list of added packages in comparison with upstream distribution.

    Package Description
    almalinux-backgrounds AlmaLinux background images.
    Replaces redhat-backgrounds
    almalinux-indexhtml AlmaLinux default browser page
    Replaces redhat-indexhtml
    almalinux-logos AlmaLinux graphics for OS
    Replaces redhat-logos
    almalinux-logos-httpd AlmaLinux graphics for HTTPD server
    Replaces redhat-logos-httpd
    almalinux-logos-ipa AlmaLinux graphics for IPA server
    Replaces redhat-logos-ipa
    almalinux-release AlmaLinux release package, repos, and EULA
    Replaces redhat-release and redhat-release-eula

    # Removed packages

    Here is a list of removed packages in comparison with the upstream distribution.
    +AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join AlmaLinux Chat (opens new window) as well as filing a bug report at AlmaLinux Bug Tracker (opens new window) to discuss if you think any of the packages below should be included into the repos.

    Package Description
    insights-client RHEL specific package to connect to upstream vendor resources
    kmod-redhat-* RHEL specific modules from Driver Update Program
    kpatch* RHEL specific live patches for kernel
    redhat-backgrounds RHEL specific background images
    redhat-indexhtml RHEL specific default browser page
    redhat-logos RHEL specific graphics for OS
    redhat-logos-httpd RHEL specific graphics for HTTPD server
    redhat-logos-ipa RHEL specific graphics for IPA server
    redhat-release RHEL specific release package and repos
    redhat-release-eula RHEL specific EULA
    redhat-support-lib-python RHEL specific package to connect to upstream vendor resources
    redhat-support-tool RHEL specific package to connect to upstream vendor resources
    rhc RHEL specific package to connect to upstream vendor resources
    rhc-worker-playbook RHEL specific package to connect to upstream vendor resources
    rhsm-gtk RHEL specific GUI for Subscription Manager
    rhsm-icons RHEL specific GUI for Subscription Manager
    spice-client-win-x64 Contains binaries built by upstream vendor
    spice-client-win-x86 Contains binaries built by upstream vendor
    spice-qxl-wddm-dod Contains binaries built by upstream vendor
    spice-vdagent-win-x64 Contains binaries built by upstream vendor
    spice-vdagent-win-x86 Contains binaries built by upstream vendor
    subscription-manager-cockpit RHEL specific Cockpit module for Subscription Manager
    subscription-manager-initial-setup-addon RHEL specific initial setup addon for Subscription Manager
    subscription-manager-plugin-container RHEL specific Subscription Manager plugin for upstream vendor containers
    virt-who RHEL specific package to connect to upstream vendor resources
    virtio-win Contain binaries built by upstream vendor

    Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    + + + diff --git a/release-notes/9.1.html b/release-notes/9.1.html new file mode 100644 index 000000000..be8678d1f --- /dev/null +++ b/release-notes/9.1.html @@ -0,0 +1,81 @@ + + + + + + 9.1 | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux 9.1 Release Notes

    These are the release notes for AlmaLinux OS 9.1 Stable for all supported architectures:

    • x86_64
    • aarch64
    • ppc64le
    • s390x

    Codename: Lime Lynx.

    Distributed kernel version: 5.14.0-162.6.1.el9_1.

    # Providing Feedback and Getting Help

    Please report any issues you may encounter during tests on the AlmaLinux Bug Tracker (opens new window). Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out The AlmaLinux Community Chat (opens new window), The AlmaLinux Forums (opens new window) and The AlmaLinux Community on Reddit (opens new window).

    # Changelog

    • Added a new remote machine attestation tool:

      • Keylime
    • Updated packages:

      • SELinux user-space packages to version 3.4
    • Added SHA-256 support in the semodule tool

    • libsepol-utils package has new policy utilities

    • The system configuration and the clevis-luks-systemd subpackage changes enable the Clevis encryption client to unlock also LUKS-encrypted volumes that mount late in the boot process without using the systemctl enable clevis-luks-askpass.path command during the deployment process.

    • Added NetworkManager support for migrating connection profiles from the deprecated ifcfg format to keyfile format.

    • NetworkManager indicates that WEP support is not available in AlmaLinux 9.

    • The MultiPath TCP (MPTCP) code in the kernel has been updated and upstream Linux 5.19.

    • Added a new package:

      • XMLStarlet
    • Updated command-line tools:

      • opencryptoki to version 3.18.0
      • powerpc-utils to version 1.3.10
      • libvpd to version 2.2.9
      • lsvpd to version 1.7.14
      • ppc64-diag to version 2.7.8
    • Updated infrastructure services tools:

      • chrony to version 4.2
      • unbound to version 1.16.2
      • frr to version 8.2.2
    • Added new module streams:

      • PHP 8.1
      • Ruby 3.1
      • Node.js 18
    • Updated module stream:

      • Apache HTTP Server to version 2.4.53.
    • Performance tools and debuggers updates:

      • Valgrind 3.19
      • SystemTap 4.7
      • Dyninst 12.1.0
      • elfutils 0.187
    • Updated performance monitoring tools:

      • PCP 5.3.7
      • Grafana 7.5.13
    • Compiler updates:

      • GCC Toolset 12
      • LLVM Toolset 14.0.6
      • Rust Toolset 1.62
      • Go Toolset 1.18
    • Minimal ISO changes:

    You can reference the upstream RHEL 9.1 release notes (opens new window) for a full list of changes in this release.

    # Installation instructions

    There are three installation ISO images available:

    AlmaLinux-9.1-x86_64-boot.iso - a single network installation CD image that downloads packages over the Internet.

    AlmaLinux-9.1-x86_64-minimal.iso - a minimal self-containing DVD image that makes possible offline installation.

    AlmaLinux-9.1-x86_64-dvd.iso - a full installation DVD image that contains mostly all AlmaLinux packages.

    You can select a mirror closest to your geographic area listed on the mirrors.almalinux.org (opens new window) website. A local mirror will be a lot quicker than using repo.almalinux.org directly. Then, download a suitable ISO image from the 9.1/isos/$arch/ directory of your source, for example:

    $ wget https://mirror.interserver.net/almalinux/9.1/isos/x86_64/AlmaLinux-9.1-x86_64-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9
    +$ gpg --import RPM-GPG-KEY-AlmaLinux
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/9.1/isos/x86_64/CHECKSUM
    +
    +# we are looking for “Good signature”
    +$ gpg --verify CHECKSUM
    +gpg: Signature made Wed 16 Nov 2022 09:41:17 AM EST
    +gpg:                using RSA key BF18AC2876178908D6E71267D36CB86CB86B3716
    +gpg: Good signature from "AlmaLinux OS 9 <packager@almalinux.org>" [unknown]
    +gpg: WARNING: This key is not certified with a trusted signature!
    +gpg:          There is no indication that the signature belongs to the owner.
    +Primary key fingerprint: BF18 AC28 7617 8908 D6E7  1267 D36C B86C B86B 3716
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-9.1-x86_64-boot.iso
    +56df83b8e13a83e2448aad29e14cce255491675a7d1e3f075ca3148c4e9c00f8  AlmaLinux-9.1-x86_64-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-9.1-x86_64-boot.iso'
    +SHA256 (AlmaLinux-9.1-x86_64-boot.iso) = 56df83b8e13a83e2448aad29e14cce255491675a7d1e3f075ca3148c4e9c00f8
    +

    If you decide to use the AlmaLinux-9.1-x86_64-boot.iso image, you will need to provide the 9.1/BaseOS/x86_64/kickstart/ repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.

    There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.

    # Upgrade Instructions

    To update your AlmaLinux OS 9 to 9.1 run:

    $ dnf upgrade -y
    +

    # Added packages

    Here is a list of added packages in comparison with upstream distribution.

    Package Description
    almalinux-backgrounds AlmaLinux background images.
    Replaces redhat-backgrounds
    almalinux-indexhtml AlmaLinux default browser page
    Replaces redhat-indexhtml
    almalinux-logos AlmaLinux graphics for OS
    Replaces redhat-logos
    almalinux-logos-httpd AlmaLinux graphics for HTTPD server
    Replaces redhat-logos-httpd
    almalinux-logos-ipa AlmaLinux graphics for IPA server
    Replaces redhat-logos-ipa
    almalinux-release AlmaLinux release package, repos, and EULA
    Replaces redhat-release and redhat-release-eula

    # Removed packages

    Here is a list of removed packages in comparison with the upstream distribution.
    +AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join AlmaLinux Chat (opens new window) as well as filing a bug report at AlmaLinux Bug Tracker (opens new window) to discuss if you think any of the packages below should be included into the repos.

    Package Description
    insights-client RHEL specific package to connect to upstream vendor resources
    kmod-redhat-* RHEL specific modules from Driver Update Program
    kpatch* RHEL specific live patches for kernel
    redhat-backgrounds RHEL specific background images
    redhat-indexhtml RHEL specific default browser page
    redhat-logos RHEL specific graphics for OS
    redhat-logos-httpd RHEL specific graphics for HTTPD server
    redhat-logos-ipa RHEL specific graphics for IPA server
    redhat-release RHEL specific release package and repos
    redhat-release-eula RHEL specific EULA
    redhat-support-lib-python RHEL specific package to connect to upstream vendor resources
    redhat-support-tool RHEL specific package to connect to upstream vendor resources
    rhc RHEL specific package to connect to upstream vendor resources
    rhc-worker-playbook RHEL specific package to connect to upstream vendor resources
    rhsm-gtk RHEL specific GUI for Subscription Manager
    rhsm-icons RHEL specific GUI for Subscription Manager
    spice-client-win-x64 Contains binaries built by upstream vendor
    spice-client-win-x86 Contains binaries built by upstream vendor
    spice-qxl-wddm-dod Contains binaries built by upstream vendor
    spice-vdagent-win-x64 Contains binaries built by upstream vendor
    spice-vdagent-win-x86 Contains binaries built by upstream vendor
    subscription-manager-cockpit RHEL specific Cockpit module for Subscription Manager
    subscription-manager-initial-setup-addon RHEL specific initial setup addon for Subscription Manager
    subscription-manager-plugin-container RHEL specific Subscription Manager plugin for upstream vendor containers
    virt-who RHEL specific package to connect to upstream vendor resources
    virtio-win Contain binaries built by upstream vendor

    Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    + + + diff --git a/release-notes/9.2-beta.html b/release-notes/9.2-beta.html new file mode 100644 index 000000000..aea4da560 --- /dev/null +++ b/release-notes/9.2-beta.html @@ -0,0 +1,83 @@ + + + + + + 9.2 Beta | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux 9.2 Beta Release Notes

    These are the release notes for AlmaLinux OS 9.2 Beta for all supported architectures:

    • x86_64
    • aarch64
    • ppc64le
    • s390x

    Codename: Turquoise Kodkod.

    Distributed kernel version: 5.14.0-283.el9

    # Beta Release

    WARNING

    This is a BETA release and should not be used for production installations. The provided upgrade instructions should not be used on production machines, unless you don't mind if something breaks 😉

    # Providing Feedback and Getting Help

    Please report any issues you may encounter during tests on the AlmaLinux Bug Tracker (opens new window). Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out The AlmaLinux Community Chat (opens new window), The AlmaLinux Forums (opens new window) and The AlmaLinux Community on Reddit (opens new window).

    # Changelog

    • Updated module streams:

      • Python 3.11
      • nginx 1.22
      • PostgreSQL 15
    • Updated components:

      • Git to version 2.39.1
      • Git LFS to version 3.2.0
    • Updated toolchain components:

      • GCC 11.3.1
      • glibc 2.34
      • binutils 2.35.2
    • Performance tools and debuggers updates:

      • GDB 10.2
      • Valgrind 3.19
      • SystemTap 4.8
      • Dyninst 12.1.0
      • elfutils 0.188
    • Updated performance monitoring tools:

      • PCP 6.0.1
      • Grafana 9.0.9
    • Compiler updates:

      • GCC Toolset 12
      • LLVM Toolset 15.0.7
      • Rust Toolset 1.66
      • Go Toolset 1.19.4
    • The OpenSSL secure communications library was updated to version 3.0.7.

    • SELinux user-space packages were updated to version 3.5.

    • OpenSCAP was rebased to version 1.3.7.

    • SCAP Security Guide was rebased to version 0.1.66.

    • A new rule for idle session termination was added to SCAP.

    • Clevis now accepts external tokens.

    • Rsyslog TLS-encrypted logging now supports multiple CA files.

    • Rsyslog privileges are limited to minimize security exposure.

    • System now uses updated AlmaLinux EV Code Sign Secure Boot certificate

    • Beta repositories are now located in the vault (opens new window) repository to reduce storage usage on mirrors.

    • Debuginfo repo ids renamed from *-debug to*-debuginfo to fix dnf debuginfo-install plugin

    # Installation instructions

    There are three installation ISO images available:

    AlmaLinux-9.2-beta-1-x86_64-boot.iso - a single network installation CD image that downloads packages over the Internet.

    AlmaLinux-9.2-beta-1-x86_64-minimal.iso - a minimal self-containing DVD image that makes possible offline installation.

    AlmaLinux-9.2-beta-1-x86_64-dvd.iso - a full installation DVD image that contains mostly all AlmaLinux packages.

    You can select a mirror closest to your geographic area listed on the mirrors.almalinux.org (opens new window) website. A local mirror will be a lot quicker than using repo.almalinux.org directly. Then, download a suitable ISO image from the 9.2-beta/isos/$arch/ directory of your source, for example:

    $ wget https://mirror.interserver.net/almalinux/9.2-beta/isos/x86_64/AlmaLinux-9.2-beta-1-x86_64-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9
    +$ gpg --import RPM-GPG-KEY-AlmaLinux
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/9.2-beta/isos/x86_64/CHECKSUM
    +
    +# we are looking for “Good signature”
    +$ gpg --verify CHECKSUM
    +gpg: Signature made Wed 26 Apr 2023 03:50:07 PM EDT
    +gpg:                using RSA key BF18AC2876178908D6E71267D36CB86CB86B3716
    +gpg: Good signature from "AlmaLinux OS 9 <packager@almalinux.org>" [unknown]
    +gpg: WARNING: This key is not certified with a trusted signature!
    +gpg:          There is no indication that the signature belongs to the owner.
    +Primary key fingerprint: BF18 AC28 7617 8908 D6E7  1267 D36C B86C B86B 3716
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-9.2-beta-1-x86_64-boot.iso
    +9c222f1de0d38132ab923f690b419278ff08e9b1f6743d650ba81a9b50d22f84  AlmaLinux-9.2-beta-1-x86_64-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-9.2-beta-1-x86_64-boot.iso'
    +SHA256 (AlmaLinux-9.2-beta-1-x86_64-boot.iso) = 9c222f1de0d38132ab923f690b419278ff08e9b1f6743d650ba81a9b50d22f84
    +

    If you decide to use the AlmaLinux-9.2-beta-1-x86_64-boot.iso image, you will need to provide the https://repo.almalinux.org/vault/9.2-beta/BaseOS/x86_64/kickstart/ URL repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.

    There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.

    # Upgrade Instructions

    Please do not use these update instructions on production machines, unless you don't mind if something breaks 😉

    Upgrade the almalinux-release packages to the 9.2-0.11.el9 version from the beta repositories:

    $ dnf install -y https://repo.almalinux.org/vault/almalinux-{release,repos,gpg-keys}-latest-9-beta.x86_64.rpm
    +$ dnf clean all
    +

    the new package contains updated repository URLs so that you can just run:

    $ dnf upgrade -y
    +

    to update the rest of the packages.

    # Added packages

    Here is a list of added packages in comparison with upstream distribution.

    Package Description
    almalinux-backgrounds AlmaLinux background images.
    Replaces redhat-backgrounds
    almalinux-indexhtml AlmaLinux default browser page
    Replaces redhat-indexhtml
    almalinux-logos AlmaLinux graphics for OS
    Replaces redhat-logos
    almalinux-logos-httpd AlmaLinux graphics for HTTPD server
    Replaces redhat-logos-httpd
    almalinux-logos-ipa AlmaLinux graphics for IPA server
    Replaces redhat-logos-ipa
    almalinux-release AlmaLinux release package, repos, and EULA
    Replaces redhat-release and redhat-release-eula

    # Removed packages

    Here is a list of removed packages in comparison with the upstream distribution.
    +AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join AlmaLinux Chat (opens new window) as well as filing a bug report at AlmaLinux Bug Tracker (opens new window) to discuss if you think any of the packages below should be included into the repos.

    Package Description
    insights-client RHEL specific package to connect to upstream vendor resources
    kmod-redhat-* RHEL specific modules from Driver Update Program
    kpatch* RHEL specific live patches for kernel
    redhat-backgrounds RHEL specific background images
    redhat-indexhtml RHEL specific default browser page
    redhat-logos RHEL specific graphics for OS
    redhat-logos-httpd RHEL specific graphics for HTTPD server
    redhat-logos-ipa RHEL specific graphics for IPA server
    redhat-release RHEL specific release package and repos
    redhat-release-eula RHEL specific EULA
    redhat-support-lib-python RHEL specific package to connect to upstream vendor resources
    redhat-support-tool RHEL specific package to connect to upstream vendor resources
    rhc RHEL specific package to connect to upstream vendor resources
    rhc-worker-playbook RHEL specific package to connect to upstream vendor resources
    rhsm-gtk RHEL specific GUI for Subscription Manager
    rhsm-icons RHEL specific GUI for Subscription Manager
    spice-client-win-x64 Contains binaries built by upstream vendor
    spice-client-win-x86 Contains binaries built by upstream vendor
    spice-qxl-wddm-dod Contains binaries built by upstream vendor
    spice-vdagent-win-x64 Contains binaries built by upstream vendor
    spice-vdagent-win-x86 Contains binaries built by upstream vendor
    subscription-manager-cockpit RHEL specific Cockpit module for Subscription Manager
    subscription-manager-initial-setup-addon RHEL specific initial setup addon for Subscription Manager
    subscription-manager-plugin-container RHEL specific Subscription Manager plugin for upstream vendor containers
    virt-who RHEL specific package to connect to upstream vendor resources
    virtio-win Contain binaries built by upstream vendor

    Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    + + + diff --git a/release-notes/9.2.html b/release-notes/9.2.html new file mode 100644 index 000000000..3f5164b16 --- /dev/null +++ b/release-notes/9.2.html @@ -0,0 +1,81 @@ + + + + + + 9.2 | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux 9.2 Release Notes

    These are the release notes for AlmaLinux OS 9.2 Stable for all supported architectures:

    • x86_64
    • aarch64
    • ppc64le
    • s390x

    Codename: Turquoise Kodkod.

    Distributed kernel version: 5.14.0-284.11.1.el9_2.

    # Providing Feedback and Getting Help

    Please report any issues you may encounter during tests on the AlmaLinux Bug Tracker (opens new window). Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out The AlmaLinux Community Chat (opens new window), The AlmaLinux Forums (opens new window) and The AlmaLinux Community on Reddit (opens new window).

    # Changelog

    • Updated module streams:

      • Python 3.11
      • nginx 1.22
      • PostgreSQL 15
    • Updated components:

      • Git to version 2.39.1
      • Git LFS to version 3.2.0
    • Updated toolchain components:

      • GCC 11.3.1
      • glibc 2.34
      • binutils 2.35.2
    • Performance tools and debuggers updates:

      • GDB 10.2
      • Valgrind 3.19
      • SystemTap 4.8
      • Dyninst 12.1.0
      • elfutils 0.188
    • Updated performance monitoring tools:

      • PCP 6.0.1
      • Grafana 9.0.9
    • Compiler updates:

      • GCC Toolset 12
      • LLVM Toolset 15.0.7
      • Rust Toolset 1.66
      • Go Toolset 1.19.6
    • Security updates:

      • The OpenSSL secure communications library was updated to version 3.0.7.
      • SELinux user-space packages were updated to version 3.5.
      • Keylime was updated to version 6.5.2
      • OpenSCAP was rebased to version 1.3.7.
      • SCAP Security Guide was rebased to version 0.1.66.
      • A new rule for idle session termination was added to SCAP.
      • Clevis now accepts external tokens.
      • Rsyslog TLS-encrypted logging now supports multiple CA files.
      • Rsyslog privileges are limited to minimize security exposure.
      • The fapolicyd framework now provides filtering of the RPM database.
      • System now uses updated AlmaLinux EV Code Sign Secure Boot certificate.
    • Debuginfo repo ids renamed from *-debug to*-debuginfo to fix dnf debuginfo-install plugin.

    You can reference the upstream RHEL 9.2 release notes (opens new window) for a full list of changes in this release.

    # Installation instructions

    There are three installation ISO images available:

    AlmaLinux-9.2-x86_64-boot.iso - a single network installation CD image that downloads packages over the Internet.

    AlmaLinux-9.2-x86_64-minimal.iso - a minimal self-containing DVD image that makes possible offline installation.

    AlmaLinux-9.2-x86_64-dvd.iso - a full installation DVD image that contains mostly all AlmaLinux packages.

    You can select a mirror closest to your geographic area listed on the mirrors.almalinux.org (opens new window) website. A local mirror will be a lot quicker than using repo.almalinux.org directly. Then, download a suitable ISO image from the 9.2/isos/$arch/ directory of your source, for example:

    $ wget https://mirror.interserver.net/almalinux/9.2/isos/x86_64/AlmaLinux-9.2-x86_64-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9
    +$ gpg --import RPM-GPG-KEY-AlmaLinux
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/9.2/isos/x86_64/CHECKSUM
    +
    +# we are looking for “Good signature”
    +$ gpg --verify CHECKSUM
    +gpg: Signature made Wed 10 May 2023 01:44:28 PM EDT
    +gpg:                using RSA key BF18AC2876178908D6E71267D36CB86CB86B3716
    +gpg: Good signature from "AlmaLinux OS 9 <packager@almalinux.org>" [unknown]
    +gpg: WARNING: This key is not certified with a trusted signature!
    +gpg:          There is no indication that the signature belongs to the owner.
    +Primary key fingerprint: BF18 AC28 7617 8908 D6E7  1267 D36C B86C B86B 3716
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-9.2-x86_64-boot.iso
    +f501de55f92e59a3fcf4ad252fdfc4e02ee2ad013d2e1ec818bb38052bcb3c32  AlmaLinux-9.2-x86_64-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-9.2-x86_64-boot.iso'
    +SHA256 (AlmaLinux-9.2-x86_64-boot.iso) = f501de55f92e59a3fcf4ad252fdfc4e02ee2ad013d2e1ec818bb38052bcb3c32
    +

    If you decide to use the AlmaLinux-9.2-x86_64-boot.iso image, you will need to provide the 9.2/BaseOS/x86_64/kickstart/ URL repository from the selected mirror as the Installation Source if the installer will not be able to find closest mirror for some reason.

    There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.

    # Upgrade Instructions

    To update your AlmaLinux OS 9 to 9.2 run:

    $ dnf upgrade -y
    +

    # Added packages

    Here is a list of added packages in comparison with upstream distribution.

    Package Description
    almalinux-backgrounds AlmaLinux background images.
    Replaces redhat-backgrounds
    almalinux-indexhtml AlmaLinux default browser page
    Replaces redhat-indexhtml
    almalinux-logos AlmaLinux graphics for OS
    Replaces redhat-logos
    almalinux-logos-httpd AlmaLinux graphics for HTTPD server
    Replaces redhat-logos-httpd
    almalinux-logos-ipa AlmaLinux graphics for IPA server
    Replaces redhat-logos-ipa
    almalinux-release AlmaLinux release package, repos, and EULA
    Replaces redhat-release and redhat-release-eula

    # Removed packages

    Here is a list of removed packages in comparison with the upstream distribution.
    +AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join AlmaLinux Chat (opens new window) as well as filing a bug report at AlmaLinux Bug Tracker (opens new window) to discuss if you think any of the packages below should be included into the repos.

    Package Description
    insights-client RHEL specific package to connect to upstream vendor resources
    kmod-redhat-* RHEL specific modules from Driver Update Program
    kpatch* RHEL specific live patches for kernel
    redhat-backgrounds RHEL specific background images
    redhat-indexhtml RHEL specific default browser page
    redhat-logos RHEL specific graphics for OS
    redhat-logos-httpd RHEL specific graphics for HTTPD server
    redhat-logos-ipa RHEL specific graphics for IPA server
    redhat-release RHEL specific release package and repos
    redhat-release-eula RHEL specific EULA
    redhat-support-lib-python RHEL specific package to connect to upstream vendor resources
    redhat-support-tool RHEL specific package to connect to upstream vendor resources
    rhc RHEL specific package to connect to upstream vendor resources
    rhc-worker-playbook RHEL specific package to connect to upstream vendor resources
    rhsm-gtk RHEL specific GUI for Subscription Manager
    rhsm-icons RHEL specific GUI for Subscription Manager
    spice-client-win-x64 Contains binaries built by upstream vendor
    spice-client-win-x86 Contains binaries built by upstream vendor
    spice-qxl-wddm-dod Contains binaries built by upstream vendor
    spice-vdagent-win-x64 Contains binaries built by upstream vendor
    spice-vdagent-win-x86 Contains binaries built by upstream vendor
    subscription-manager-cockpit RHEL specific Cockpit module for Subscription Manager
    subscription-manager-initial-setup-addon RHEL specific initial setup addon for Subscription Manager
    subscription-manager-plugin-container RHEL specific Subscription Manager plugin for upstream vendor containers
    virt-who RHEL specific package to connect to upstream vendor resources
    virtio-win Contain binaries built by upstream vendor

    Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    + + + diff --git a/release-notes/9.3-beta.html b/release-notes/9.3-beta.html new file mode 100644 index 000000000..a3a2e80e5 --- /dev/null +++ b/release-notes/9.3-beta.html @@ -0,0 +1,82 @@ + + + + + + 9.3 Beta | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux 9.3 Beta Release Notes

    These are the release notes for AlmaLinux OS 9.3 Beta for all supported architectures:

    • x86_64
    • aarch64
    • ppc64le
    • s390x

    Codename: Shamrock Pampas Cat.

    Distributed kernel version: 5.14.0-362.2.1.el9_3

    # Beta Release

    WARNING

    This is a BETA release and should not be used for production installations. The provided upgrade instructions should not be used on production machines unless you don't mind if something breaks 😉

    # Providing Feedback and Getting Help

    Please report any issues you may encounter during tests on the AlmaLinux Bug Tracker (opens new window). Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out The AlmaLinux Community Chat (opens new window), The AlmaLinux Forums (opens new window) and The AlmaLinux Community on Reddit (opens new window).

    # Changelog

    • Updated toolchain components:

      • GCC 11.4.1
    • Performance tools and debuggers updates:

      • Valgrind 3.21
      • SystemTap 4.9
      • elfutils 0.189
    • Updated performance monitoring tools:

      • PCP 6.0.5
      • Grafana 9.2.10
    • Compiler updates:

      • GCC Toolset 13
      • LLVM Toolset 16.0.6
      • Rust Toolset 1.71.1
      • Go Toolset 1.20.6
    • Updated dynamic programming languages, web and database servers:

      • Redis 7
      • Node.js 20
      • Apache HTTP Server 2.4.57
    • Security updates:

      • Keylime 7.3.0.
      • OpenSSH was further migrated from the less secure SHA-1 message digest.
      • The pcsc-lite-ccid USB Chip/Smart Card Interface Device(CCID) and Integrated Circuit Card Device (ICCD) driver was rebased to version 1.5.2.
      • AlmaLinux 9.3 introduces further improvements to support the Extended Master Secret (EMS) extension (RFC 7627) required by the FIPS-140-3 standard for all TLS 1.2 connections.
      • SEtools, the collection of graphical tools, command-line tools, and libraries for SELinux policy analysis, was rebased to version 4.4.2.
      • OpenSCAP was rebased to version 1.3.8.
      • SCAP Security Guide was rebased to version 0.1.69.

    # Installation instructions

    There are three installation ISO images available:

    AlmaLinux-9.3-beta-1-x86_64-boot.iso - a single network installation CD image that downloads packages over the Internet.

    AlmaLinux-9.3-beta-1-x86_64-minimal.iso - a minimal self-containing DVD image that makes possible offline installation.

    AlmaLinux-9.3-beta-1-x86_64-dvd.iso - a full installation DVD image that contains mostly all AlmaLinux packages.

    Download a suitable ISO image from the 9.3-beta/isos/$arch/ directory, for example:

    $ wget https://repo.almalinux.org/almalinux/9.3-beta/isos/x86_64/AlmaLinux-9.3-beta-1-x86_64-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9
    +$ gpg --import RPM-GPG-KEY-AlmaLinux
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/9.3-beta/isos/x86_64/CHECKSUM
    +
    +# we are looking for “Good signature”
    +$ gpg --verify CHECKSUM
    +gpg: Signature made Wed 25 Oct 2023 12:28:57 PM EDT
    +gpg:                using RSA key BF18AC2876178908D6E71267D36CB86CB86B3716
    +gpg: Good signature from "AlmaLinux OS 9 <packager@almalinux.org>" [unknown]
    +gpg: WARNING: This key is not certified with a trusted signature!
    +gpg:          There is no indication that the signature belongs to the owner.
    +Primary key fingerprint: BF18 AC28 7617 8908 D6E7  1267 D36C B86C B86B 3716
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-9.3-beta-1-x86_64-boot.iso
    +7bca61c7b67e27db9194ddacec3ad3983f25a781721a69bbf5586903d9075465  AlmaLinux-9.3-beta-1-x86_64-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-9.3-beta-1-x86_64-boot.iso'
    +SHA256 (AlmaLinux-9.3-beta-1-x86_64-boot.iso) = 7bca61c7b67e27db9194ddacec3ad3983f25a781721a69bbf5586903d9075465
    +

    If you decide to use the AlmaLinux-9.3-beta-1-x86_64-boot.iso image, you may need to provide the https://repo.almalinux.org/vault/9.3-beta/BaseOS/x86_64/kickstart/ URL repository as the Installation Source in the event that the installer is not able to find it automatically for some reason.

    There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.

    # Upgrade Instructions

    Please do not use these update instructions on production machines unless you don't mind if something breaks 😉

    Upgrade the almalinux-release packages to the 9.3-0.4.el9 version from the beta repositories:

    $ dnf install -y https://repo.almalinux.org/vault/almalinux-{release,repos,gpg-keys}-latest-9-beta.x86_64.rpm
    +$ dnf clean all
    +

    the new package contains updated repository URLs so that you can just run:

    $ dnf upgrade -y
    +

    to update the rest of the packages.

    # Known issues

    • OpenJDK 21 is not included in AlmaLinux 9.3 Beta release and will be available in AlmaLinux 9.3

    # Additional packages

    Here is a list of packages that are AlmaLinux-specific, and will not be found in compatible versions of RHEL.

    Package Description
    almalinux-backgrounds AlmaLinux background images.
    Replaces redhat-backgrounds
    almalinux-indexhtml AlmaLinux default browser page
    Replaces redhat-indexhtml
    almalinux-logos AlmaLinux graphics for OS
    Replaces redhat-logos
    almalinux-logos-httpd AlmaLinux graphics for HTTPD server
    Replaces redhat-logos-httpd
    almalinux-logos-ipa AlmaLinux graphics for IPA server
    Replaces redhat-logos-ipa
    almalinux-release AlmaLinux release package, repos, and EULA
    Replaces redhat-release and redhat-release-eula

    # Removed packages

    Here is a list of packages you will not find in AlmaLinux when comparing with the compatible version of RHEL.

    AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join AlmaLinux Chat (opens new window) as well as filing a bug report at AlmaLinux Bug Tracker (opens new window) to discuss if you think any of the packages below should be included into the repos.

    Package Description
    insights-client RHEL specific package to connect to upstream vendor resources
    kmod-redhat-* RHEL specific modules from Driver Update Program
    kpatch* RHEL specific live patches for kernel
    redhat-backgrounds RHEL specific background images
    redhat-indexhtml RHEL specific default browser page
    redhat-logos RHEL specific graphics for OS
    redhat-logos-httpd RHEL specific graphics for HTTPD server
    redhat-logos-ipa RHEL specific graphics for IPA server
    redhat-release RHEL specific release package and repos
    redhat-release-eula RHEL specific EULA
    redhat-support-lib-python RHEL specific package to connect to upstream vendor resources
    redhat-support-tool RHEL specific package to connect to upstream vendor resources
    rhc RHEL specific package to connect to upstream vendor resources
    rhc-worker-playbook RHEL specific package to connect to upstream vendor resources
    rhsm-gtk RHEL specific GUI for Subscription Manager
    rhsm-icons RHEL specific GUI for Subscription Manager
    spice-client-win-x64 Contains binaries built by upstream vendor
    spice-client-win-x86 Contains binaries built by upstream vendor
    spice-qxl-wddm-dod Contains binaries built by upstream vendor
    spice-vdagent-win-x64 Contains binaries built by upstream vendor
    spice-vdagent-win-x86 Contains binaries built by upstream vendor
    subscription-manager-cockpit RHEL specific Cockpit module for Subscription Manager
    subscription-manager-initial-setup-addon RHEL specific initial setup addon for Subscription Manager
    subscription-manager-plugin-container RHEL specific Subscription Manager plugin for upstream vendor containers
    virt-who RHEL specific package to connect to upstream vendor resources
    virtio-win Contain binaries built by upstream vendor

    Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    + + + diff --git a/release-notes/9.3.html b/release-notes/9.3.html new file mode 100644 index 000000000..2228177c2 --- /dev/null +++ b/release-notes/9.3.html @@ -0,0 +1,81 @@ + + + + + + 9.3 | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux 9.3 Release Notes

    These are the release notes for AlmaLinux OS 9.3 Stable for all supported architectures:

    • x86_64
    • aarch64
    • ppc64le
    • s390x

    Codename: Shamrock Pampas Cat

    Distributed kernel version: 5.14.0-362.8.1.el9_3

    # Providing Feedback and Getting Help

    Please report any issues you may encounter during tests on the AlmaLinux Bug Tracker (opens new window). Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out The AlmaLinux Community Chat (opens new window), The AlmaLinux Forums (opens new window) and The AlmaLinux Community on Reddit (opens new window).

    # Changelog

    • Updated toolchain components:

      • GCC 11.4.1
    • Performance tools and debuggers updates:

      • Valgrind 3.21
      • SystemTap 4.9
      • elfutils 0.189
    • Updated performance monitoring tools:

      • PCP 6.0.5
      • Grafana 9.2.10
    • Compiler updates:

      • GCC Toolset 13
      • LLVM Toolset 16.0.6
      • Rust Toolset 1.71.1
      • Go Toolset 1.20.10
    • Updated dynamic programming languages, web and database servers:

      • Redis 7
      • Node.js 20
      • Apache HTTP Server 2.4.57
    • Security updates:

      • Keylime 7.3.0.
      • OpenSSH was further migrated from the less secure SHA-1 message digest.
      • The pcsc-lite-ccid USB Chip/Smart Card Interface Device(CCID) and Integrated Circuit Card Device (ICCD) driver was rebased to version 1.5.2.
      • AlmaLinux 9.3 introduces further improvements to support the Extended Master Secret (EMS) extension (RFC 7627) required by the FIPS-140-3 standard for all TLS 1.2 connections.
      • SEtools, the collection of graphical tools, command-line tools, and libraries for SELinux policy analysis, was rebased to version 4.4.3.
      • OpenSCAP was rebased to version 1.3.8.
      • SCAP Security Guide was rebased to version 0.1.69 including updates: +
        • ANSSI profiles were updated to version 2.0.
        • Three new SCAP profiles were added for AlmaLinux 9 aligned with the CCN-STIC-610A22 Guide.

    You can reference the RHEL 9.3 release notes (opens new window) for a full list of changes in this release.

    # Installation instructions

    There are three installation ISO images available:

    AlmaLinux-9.3-x86_64-boot.iso - a single network installation CD image that downloads packages over the Internet.

    AlmaLinux-9.3-x86_64-minimal.iso - a minimal self-containing DVD image that makes possible offline installation.

    AlmaLinux-9.3-x86_64-dvd.iso - a full installation DVD image that contains mostly all AlmaLinux packages.

    You can select a mirror closest to your geographic area listed on the mirrors.almalinux.org (opens new window) website. A local mirror will be a lot quicker than using repo.almalinux.org directly. Then, download a suitable ISO image from the 9.3/isos/$arch/ directory of your source, for example:

    $ wget https://atl.mirrors.knownhost.com/almalinux/9.3/isos/x86_64/AlmaLinux-9.3-x86_64-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9
    +$ gpg --import RPM-GPG-KEY-AlmaLinux-9
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/9.3/isos/x86_64/CHECKSUM
    +
    +# we are looking for “Good signature”
    +$ gpg --verify CHECKSUM
    +gpg: Signature made Sun 12 Nov 2023 06:08:57 PM EST
    +gpg:                using RSA key D36CB86CB86B3716
    +gpg: Good signature from "AlmaLinux OS 9 <packager@almalinux.org>" [unknown]
    +gpg: WARNING: This key is not certified with a trusted signature!
    +gpg:          There is no indication that the signature belongs to the owner.
    +Primary key fingerprint: BF18 AC28 7617 8908 D6E7  1267 D36C B86C B86B 3716
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-9.3-x86_64-boot.iso
    +af5377a1d16bbe599ea91a8761ad645f2f54687075802bdc0c0703ee610182e9  AlmaLinux-9.3-x86_64-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-9.3-x86_64-boot.iso'
    +SHA256 (AlmaLinux-9.3-x86_64-boot.iso) = af5377a1d16bbe599ea91a8761ad645f2f54687075802bdc0c0703ee610182e9
    +

    If you decide to use the AlmaLinux-9.3-x86_64-boot.iso image, you may need to provide the 9.3/BaseOS/x86_64/kickstart/ URL repository from the selected mirror as the Installation Source in the event that the installer is not able to find the closest mirror for some reason.

    There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.

    # Upgrade Instructions

    To update your AlmaLinux OS 9 to 9.3 run:

    $ dnf upgrade -y
    +

    # Additional packages

    Here is a list of packages that are AlmaLinux-specific, and will not be found in compatible versions of RHEL.

    Package Description
    almalinux-backgrounds AlmaLinux background images.
    Replaces redhat-backgrounds
    almalinux-indexhtml AlmaLinux default browser page
    Replaces redhat-indexhtml
    almalinux-logos AlmaLinux graphics for OS
    Replaces redhat-logos
    almalinux-logos-httpd AlmaLinux graphics for HTTPD server
    Replaces redhat-logos-httpd
    almalinux-logos-ipa AlmaLinux graphics for IPA server
    Replaces redhat-logos-ipa
    almalinux-release AlmaLinux release package, repos, and EULA
    Replaces redhat-release and redhat-release-eula

    # Removed packages

    Here is a list of packages you will not find in AlmaLinux when comparing with the compatible version of RHEL.

    AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join AlmaLinux Chat (opens new window) as well as filing a bug report at AlmaLinux Bug Tracker (opens new window) to discuss if you think any of the packages below should be included into the repos.

    Package Description
    insights-client RHEL specific package to connect to upstream vendor resources
    kmod-redhat-* RHEL specific modules from Driver Update Program
    kpatch* RHEL specific live patches for kernel
    redhat-backgrounds RHEL specific background images
    redhat-indexhtml RHEL specific default browser page
    redhat-logos RHEL specific graphics for OS
    redhat-logos-httpd RHEL specific graphics for HTTPD server
    redhat-logos-ipa RHEL specific graphics for IPA server
    redhat-release RHEL specific release package and repos
    redhat-release-eula RHEL specific EULA
    redhat-support-lib-python RHEL specific package to connect to upstream vendor resources
    redhat-support-tool RHEL specific package to connect to upstream vendor resources
    rhc RHEL specific package to connect to upstream vendor resources
    rhc-worker-playbook RHEL specific package to connect to upstream vendor resources
    rhsm-gtk RHEL specific GUI for Subscription Manager
    rhsm-icons RHEL specific GUI for Subscription Manager
    spice-client-win-x64 Contains binaries built by upstream vendor
    spice-client-win-x86 Contains binaries built by upstream vendor
    spice-qxl-wddm-dod Contains binaries built by upstream vendor
    spice-vdagent-win-x64 Contains binaries built by upstream vendor
    spice-vdagent-win-x86 Contains binaries built by upstream vendor
    subscription-manager-cockpit RHEL specific Cockpit module for Subscription Manager
    subscription-manager-initial-setup-addon RHEL specific initial setup addon for Subscription Manager
    subscription-manager-plugin-container RHEL specific Subscription Manager plugin for upstream vendor containers
    virt-who RHEL specific package to connect to upstream vendor resources
    virtio-win Contain binaries built by upstream vendor

    Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    + + + diff --git a/release-notes/9.4-beta.html b/release-notes/9.4-beta.html new file mode 100644 index 000000000..ee84b879f --- /dev/null +++ b/release-notes/9.4-beta.html @@ -0,0 +1,82 @@ + + + + + + 9.4 Beta | AlmaLinux Wiki + + + + + + + + + +
    # last updated: 2024-04-15

    # AlmaLinux 9.4 Beta Release Notes

    These are the release notes for AlmaLinux OS 9.4 Beta for all supported architectures:

    • x86_64
    • aarch64
    • ppc64le
    • s390x

    Codename: Seafoam Ocelot.

    Distributed kernel version: 5.14.0-427.el9

    # Beta Release

    WARNING

    This is a BETA release and should not be used for production installations. The provided upgrade instructions should not be used on production machines unless you have backups and a recovery option. 😉

    # Providing Feedback and Getting Help

    Please report any issues you may encounter during tests on the AlmaLinux Bug Tracker (opens new window). Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out The AlmaLinux Community Chat (opens new window), The AlmaLinux Forums (opens new window) and The AlmaLinux Community on Reddit (opens new window).

    # Changelog

    • Updated module streams:

      • Python 3.12
      • Ruby 3.3
      • PHP 8.2
      • nginx 1.24
      • MariaDB 10.11
      • PostgreSQL 16
    • Updated components:

      • Git to version 2.43.0
      • Git LFS to version 3.4.1
    • Security updates:

      • The SELinux userspace release 3.6 introduces deny rules for further customizing SELinux policies.
      • The Keylime server components, the verifier and registrar, are available as containers.
      • The Rsyslog log processing system introduces customizable TLS/SSL encryption settings and additional options that relate to capability dropping.
      • The OpenSSL TLS toolkit adds a drop-in directory for provider-specific configuration files.
      • The Linux kernel cryptographic API (libkcapi) 1.4.0 introduces new tools and options. Notably, with the new -T option, you can specify target file names in hash-sum calculations.
      • The stunnel TLS/SSL tunneling service 5.71 changes the behavior of OpenSSL 1.1 and later versions in FIPS mode. Besides this change, version 5.71 provides many new features such as support for modern PostgreSQL clients.
    • The following device drivers were modified to re-add PCI IDs for hardware that was previously disabled in our upstream:

      • aacraid - Dell PERC2, 2/Si, 3/Si, 3/Di, Adaptec Advanced Raid Products, HP NetRAID-4M, IBM ServeRAID & ICP SCSI
      • be2iscsi - Emulex OneConnectOpen-iSCSI for BladeEngine 2 and 3 adapters
      • hpsa - HP Smart Array Controller
      • lpfc - Emulex LightPulse Fibre Channel SCSI
      • megaraid_sas - Broadcom MegaRAID SAS
      • mpt3sas - LSI MPT Fusion SAS 3.0
      • mptsas - Fusion MPT SAS Host
      • qla2xxx - QLogic Fibre Channel HBA
      • qla4xxx - QLogic iSCSI HBA

    For a complete list of hardware support for which was added in this release, see the Extended hardware support section.

    # Upgrade Instructions

    Please do not use these update instructions on production machines unless you don't mind if something breaks 😉

    Upgrade the almalinux-release packages to the 9.4-0.2.el9 version from the beta repositories:

    $ dnf install -y https://repo.almalinux.org/vault/almalinux-{release,repos,gpg-keys}-latest-9-beta.x86_64.rpm
    +$ dnf clean all
    +

    the new package contains updated repository URLs so that you can just run:

    $ dnf upgrade -y
    +

    to update the rest of the packages.

    # Installation instructions

    There are three installation ISO images available:

    AlmaLinux-9.4-beta-1-x86_64-boot.iso - a single network installation CD image that downloads packages over the Internet.

    AlmaLinux-9.4-beta-1-x86_64-minimal.iso - a minimal self-containing DVD image that makes possible offline installation.

    AlmaLinux-9.4-beta-1-x86_64-dvd.iso - a full installation DVD image that contains mostly all AlmaLinux packages.

    Download a suitable ISO image from the 9.4-beta/isos/$arch/ directory, for example:

    $ wget https://repo.almalinux.org/almalinux/9.4-beta/isos/x86_64/AlmaLinux-9.4-beta-1-x86_64-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9
    +$ gpg --import RPM-GPG-KEY-AlmaLinux
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/9.4-beta/isos/x86_64/CHECKSUM
    +
    +# we are looking for “Good signature”
    +$ gpg --verify CHECKSUM
    +gpg: Signature made Wed 10 Apr 2024 04:21:57 PM EDT
    +gpg:                using RSA key BF18AC2876178908D6E71267D36CB86CB86B3716
    +gpg: Good signature from "AlmaLinux OS 9 <packager@almalinux.org>" [unknown]
    +gpg: WARNING: This key is not certified with a trusted signature!
    +gpg:          There is no indication that the signature belongs to the owner.
    +Primary key fingerprint: BF18 AC28 7617 8908 D6E7  1267 D36C B86C B86B 3716
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-9.4-beta-1-x86_64-boot.iso
    +d8ae806840a615d6cd02d9f2bb4b838bb01fc1e444e9d8e73512c8b0c4dcef0e  AlmaLinux-9.4-beta-1-x86_64-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-9.4-beta-1-x86_64-boot.iso'
    +SHA256 (AlmaLinux-9.4-beta-1-x86_64-boot.iso) = d8ae806840a615d6cd02d9f2bb4b838bb01fc1e444e9d8e73512c8b0c4dcef0e
    +

    If you decide to use the AlmaLinux-9.4-beta-1-x86_64-boot.iso image, you may need to provide the https://repo.almalinux.org/vault/9.4-beta/BaseOS/x86_64/kickstart/ URL repository from the selected mirror as the Installation Source in the event that the installer is not able to find the closest mirror for some reason.

    There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.

    # Additional packages

    Here is a list of packages that are AlmaLinux-specific, and will not be found in compatible versions of RHEL.

    Package Description
    almalinux-backgrounds AlmaLinux background images.
    Replaces redhat-backgrounds
    almalinux-indexhtml AlmaLinux default browser page
    Replaces redhat-indexhtml
    almalinux-logos AlmaLinux graphics for OS
    Replaces redhat-logos
    almalinux-logos-httpd AlmaLinux graphics for HTTPD server
    Replaces redhat-logos-httpd
    almalinux-logos-ipa AlmaLinux graphics for IPA server
    Replaces redhat-logos-ipa
    almalinux-release AlmaLinux release package, repos, and EULA
    Replaces redhat-release and redhat-release-eula

    # Removed packages

    Here is a list of packages you will not find in AlmaLinux when comparing with the compatible version of RHEL.

    AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join AlmaLinux Chat (opens new window) as well as filing a bug report at AlmaLinux Bug Tracker (opens new window) to discuss if you think any of the packages below should be included into the repos.

    Package Description
    insights-client RHEL specific package to connect to upstream vendor resources
    kmod-redhat-* RHEL specific modules from Driver Update Program
    kpatch* RHEL specific live patches for kernel
    openssl-fips-provider RHEL specific package with FIPS certified openssl binaries
    redhat-backgrounds RHEL specific background images
    redhat-indexhtml RHEL specific default browser page
    redhat-logos RHEL specific graphics for OS
    redhat-logos-httpd RHEL specific graphics for HTTPD server
    redhat-logos-ipa RHEL specific graphics for IPA server
    redhat-release RHEL specific release package and repos
    redhat-release-eula RHEL specific EULA
    redhat-support-lib-python RHEL specific package to connect to upstream vendor resources
    redhat-support-tool RHEL specific package to connect to upstream vendor resources
    rhc RHEL specific package to connect to upstream vendor resources
    rhc-worker-playbook RHEL specific package to connect to upstream vendor resources
    rhsm-gtk RHEL specific GUI for Subscription Manager
    rhsm-icons RHEL specific GUI for Subscription Manager
    spice-client-win-x64 Contains binaries built by upstream vendor
    spice-client-win-x86 Contains binaries built by upstream vendor
    spice-qxl-wddm-dod Contains binaries built by upstream vendor
    spice-vdagent-win-x64 Contains binaries built by upstream vendor
    spice-vdagent-win-x86 Contains binaries built by upstream vendor
    subscription-manager-cockpit RHEL specific Cockpit module for Subscription Manager
    subscription-manager-initial-setup-addon RHEL specific initial setup addon for Subscription Manager
    subscription-manager-plugin-container RHEL specific Subscription Manager plugin for upstream vendor containers
    virt-who RHEL specific package to connect to upstream vendor resources
    virtio-win Contain binaries built by upstream vendor

    # Extended hardware support

    The following devices support is added in this release, when compared with the RHEL 9.4 Beta:

    Device PCI ID Device name Driver name
    0x0E11::: *:01:04 Compaq hpsa
    0x1000:0x0050 LSI SAS1064 mptsas
    0x1000:0x0054 LSI SAS1068 mptsas
    0x1000:0x0056 LSI SAS1064E mptsas
    0x1000:0x0058 LSI SAS1068E mptsas
    0x1000:0x0059 LSI SAS1068_820XELP mptsas
    0x1000:0x0060 LSI MegaRAID SAS1078R megaraid_sas
    0x1000:0x0062 LSI SAS1078 mptsas
    0x1000:0x0064 LSI SAS2116_1 mpt3sas
    0x1000:0x0065 LSI SAS2116_2 mpt3sas
    0x1000:0x0070 LSI SAS2004 mpt3sas
    0x1000:0x0072 LSI SAS2008 mpt3sas
    0x1000:0x0074 LSI SAS2108_1 mpt3sas
    0x1000:0x0076 LSI SAS2108_2 mpt3sas
    0x1000:0x0077 LSI SAS2108_3 mpt3sas
    0x1000:0x0078 LSI MegaRAID SAS1078 Gen2 megaraid_sas
    0x1000:0x007C LSI MegaRAID SAS1078DE megaraid_sas
    0x1000:0x007E LSI SSS6200 mpt3sas
    0x1000:0x0411 LSI MegaRAID SAS1064R megaraid_sas
    0x1000:0x0413 LSI MegaRAID SAS1068 Verde ZCR megaraid_sas
    0x1011:0x0046:0x103C:0x10C2 HP NetRAID-4M aacraid
    0x1011:0x0046:0x9005:0x0364 Adaptec 5400S (Mustang) aacraid
    0x1011:0x0046:0x9005:0x0365 Adaptec 5400S (Mustang) aacraid
    0x1011:0x0046:0x9005:0x1364 Dell PERC 2/QC aacraid
    0x1028:0x0001:0x1028:0x0001 DELL PERC 2/Si (Iguana) aacraid
    0x1028:0x0002:0x1028:0x0002 DELL PERC 3/Di (Opal) aacraid
    0x1028:0x0002:0x1028:0x00D1 DELL PERC 3/Di (Viper) aacraid
    0x1028:0x0002:0x1028:0x00D9 DELL PERC 3/Di (Lexus) aacraid
    0x1028:0x0003:0x1028:0x0003 DELL PERC 3/Si (SlimFast) aacraid
    0x1028:0x0004:0x1028:0x00D0 DELL PERC 3/Di (Iguana FlipChip) aacraid
    0x1028:0x000A:0x1028:0x0106 DELL PERC 3/Di (Jaguar) aacraid
    0x1028:0x000A:0x1028:0x011B DELL PERC 3/Di (Dagger) aacraid
    0x1028:0x000A:0x1028:0x0121 DELL PERC 3/Di (Boxster) aacraid
    0x1028:0x0015 Dell PERC5 megaraid_sas
    0x103C::: *:01:04 HP hpsa
    0x1077:0x2100 QLogic ISP2100 qla2xxx
    0x1077:0x2200 QLogic ISP2200 qla2xxx
    0x1077:0x2300 QLogic ISP2300 qla2xxx
    0x1077:0x2312 QLogic ISP2312 qla2xxx
    0x1077:0x2322 QLogic ISP2322 qla2xxx
    0x1077:0x2422 QLogic ISP2422 qla2xxx
    0x1077:0x2432 QLogic ISP2432 qla2xxx
    0x1077:0x5422 QLogic ISP5422 qla2xxx
    0x1077:0x5432 QLogic ISP5432 / QLE220 qla2xxx
    0x1077:0x6312 QLogic ISP6312 qla2xxx
    0x1077:0x6322 QLogic ISP6322 qla2xxx
    0x1077:0x8001 QLogic ISP8001 / QLE81xx qla2xxx
    0x1077:0x8021 QLogic ISP8021 / QLE82xx qla2xxx
    0x1077:0x8022 QLogic ISP8022 qla4xxx
    0x1077:0x8032 QLogic ISP8324 qla4xxx
    0x1077:0x8042 QLogic ISP8042 qla4xxx
    0x1077:0x8044 QLogic ISP8044 / QLE84xx qla2xxx
    0x1077:0x8432 QLogic ISP8432 / QLE8000 qla2xxx
    0x1077:0xF001 QLogic ISPF001 / QLE10000 qla2xxx
    0x10DF:0x1AE5 FIREFLY lpfc
    0x10DF:0xE100 PROTEUS VF lpfc
    0x10DF:0xE131 BALIUS lpfc
    0x10DF:0xE180 PROTEUS PF lpfc
    0x10DF:0xE208 LANCER_FC_VF lpfc
    0x10DF:0xE260 Emulex OneConnect OCe15102-FM/OCe15104-FM/OCm15108-F-P lpfc
    0x10DF:0xE268 LANCER_FCOE_VF lpfc
    0x10DF:0xF095 RFLY lpfc
    0x10DF:0xF098 PFLY lpfc
    0x10DF:0xF0A1 LP101 lpfc
    0x10DF:0xF0A5 TFLY lpfc
    0x10DF:0xF0D1 BSMB lpfc
    0x10DF:0xF0F5 NEPTUNE lpfc
    0x10DF:0xF0F6 NEPTUNE SCSP lpfc
    0x10DF:0xF0F7 NEPTUNE DCSP lpfc
    0x10DF:0xF700 SUPERFLY lpfc
    0x10DF:0xF800 DRAGONFLY lpfc
    0x10DF:0xF900 CENTAUR lpfc
    0x10DF:0xF980 PEGASUS lpfc
    0x10DF:0xFA00 THOR lpfc
    0x10DF:0xFB00 VIPER lpfc
    0x10DF:0xFC00 LP10000S lpfc
    0x10DF:0xFC10 LP11000S lpfc
    0x10DF:0xFC20 LPE11000S lpfc
    0x10DF:0xFC50 PROTEUS S lpfc
    0x10DF:0xFD00 HELIOS lpfc
    0x10DF:0xFD11 HELIOS SCSP lpfc
    0x10DF:0xFD12 HELIOS DCSP lpfc
    0x19A2:0x0212 Emulex BladeEngine 2 10Gb iSCSI Initiator be2iscsi
    0x19A2:0x0222 Emulex BladeEngine 3 iSCSI be2iscsi
    0x19A2:0x0702 Emulex OneConnect OCe10101/OCm10101/OCe10102/OCm10102 be2iscsi
    0x19A2:0x0703 Emulex OneConnect OCe10100 be2iscsi
    0x19A2:0x0704 Emulex OneConnect Tigershark FCoE lpfc
    0x19A2:0x0712 Emulex OneConnect Tomcat iSCSI be2iscsi
    0x19A2:0x0714 Emulex OneConnect Tomcat FCoE lpfc
    0x9005:0x0200:0x9005:0x0200 Themisto Jupiter Platform aacraid
    0x9005:0x0283:0x9005:0x0283 Catapult aacraid
    0x9005:0x0284:0x9005:0x0284 Tomcat aacraid
    0x9005:0x0285 Adaptec Catch All aacraid
    0x9005:0x0285:0x1014:0x02F2 IBM 8i (AvonPark) aacraid
    0x9005:0x0285:0x1014:0x0312 IBM 8i (AvonPark Lite) aacraid
    0x9005:0x0285:0x1028 Dell Catchall aacraid
    0x9005:0x0285:0x1028:0x0287 Perc 320/DC aacraid
    0x9005:0x0285:0x1028:0x0291 CERC SATA RAID 2 PCI SATA 6ch (DellCorsair) aacraid
    0x9005:0x0285:0x103C:0x3227 AAR-2610SA PCI SATA 6ch aacraid
    0x9005:0x0285:0x17AA Legend Catchall aacraid
    0x9005:0x0285:0x17AA:0x0286 Legend S220 (Legend Crusader) aacraid
    0x9005:0x0285:0x17AA:0x0287 Legend S230 (Legend Vulcan) aacraid
    0x9005:0x0285:0x9005:0x0285 Adaptec 2200S (Vulcan) aacraid
    0x9005:0x0285:0x9005:0x0286 Adaptec 2120S (Crusader) aacraid
    0x9005:0x0285:0x9005:0x0287 Adaptec 2200S (Vulcan-2m) aacraid
    0x9005:0x0285:0x9005:0x0288 Adaptec 3230S (Harrier) aacraid
    0x9005:0x0285:0x9005:0x0289 Adaptec 3240S (Tornado) aacraid
    0x9005:0x0285:0x9005:0x028A ASR-2020ZCR SCSI PCI-X ZCR (Skyhawk) aacraid
    0x9005:0x0285:0x9005:0x028B ASR-2025ZCR SCSI SO-DIMM PCI-X ZCR (Terminator) aacraid
    0x9005:0x0285:0x9005:0x028E ASR-2020SA SATA PCI-X ZCR (Skyhawk) aacraid
    0x9005:0x0285:0x9005:0x028F ASR-2025SA SATA SO-DIMM PCI-X ZCR (Terminator) aacraid
    0x9005:0x0285:0x9005:0x0290 AAR-2410SA PCI SATA 4ch (Jaguar II) aacraid
    0x9005:0x0285:0x9005:0x0292 AAR-2810SA PCI SATA 8ch (Corsair-8) aacraid
    0x9005:0x0285:0x9005:0x0293 AAR-21610SA PCI SATA 16ch (Corsair-16) aacraid
    0x9005:0x0285:0x9005:0x0294 ESD SO-DIMM PCI-X SATA ZCR (Prowler) aacraid
    0x9005:0x0285:0x9005:0x0296 ASR-2240S (SabreExpress) aacraid
    0x9005:0x0285:0x9005:0x0297 ASR-4005 aacraid
    0x9005:0x0285:0x9005:0x0298 ASR-4000 (BlackBird) aacraid
    0x9005:0x0285:0x9005:0x0299 ASR-4800SAS (Marauder-X) aacraid
    0x9005:0x0285:0x9005:0x029A ASR-4805SAS (Marauder-E) aacraid
    0x9005:0x0285:0x9005:0x02A4 ICP9085LI (Marauder-X) aacraid
    0x9005:0x0285:0x9005:0x02A5 ICP5085BR (Marauder-E) aacraid
    0x9005:0x0286 Adaptec Rocket Catch All aacraid
    0x9005:0x0286:0x1014:0x9540 IBM 8k/8k-l4 (Aurora Lite) aacraid
    0x9005:0x0286:0x1014:0x9580 IBM 8k/8k-l8 (Aurora) aacraid
    0x9005:0x0286:0x9005:0x028C ASR-2230S/ASR-2230SLP PCI-X (Lancer) aacraid
    0x9005:0x0286:0x9005:0x028D ASR-2130S (Lancer) aacraid
    0x9005:0x0286:0x9005:0x029B AAR-2820SA (Intruder) aacraid
    0x9005:0x0286:0x9005:0x029C AAR-2620SA (Intruder) aacraid
    0x9005:0x0286:0x9005:0x029D AAR-2420SA (Intruder) aacraid
    0x9005:0x0286:0x9005:0x029E ICP9024RO (Lancer) aacraid
    0x9005:0x0286:0x9005:0x029F ICP9014RO (Lancer) aacraid
    0x9005:0x0286:0x9005:0x02A0 ICP9047MA (Lancer) aacraid
    0x9005:0x0286:0x9005:0x02A1 ICP9087MA (Lancer) aacraid
    0x9005:0x0286:0x9005:0x02A2 ASR-3800 (Hurricane44) aacraid
    0x9005:0x0286:0x9005:0x02A3 ICP5445AU (Hurricane44) aacraid
    0x9005:0x0286:0x9005:0x02A6 ICP9067MA (Intruder-6) aacraid
    0x9005:0x0286:0x9005:0x0800 Callisto Jupiter Platform aacraid
    0x9005:0x0287:0x9005:0x0800 Themisto Jupiter Platform aacraid
    0x9005:0x0288 Adaptec NEMER/ARK Catch All aacraid
    # Trademarks

    Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    + + + diff --git a/release-notes/9.4.html b/release-notes/9.4.html new file mode 100644 index 000000000..a95a3f308 --- /dev/null +++ b/release-notes/9.4.html @@ -0,0 +1,82 @@ + + + + + + 9.4 | AlmaLinux Wiki + + + + + + + + + +
    # last updated: 2024-05-06

    # AlmaLinux 9.4 Release Notes

    These are the release notes for AlmaLinux OS 9.4 Stable for all supported architectures:

    • x86_64
    • aarch64
    • ppc64le
    • s390x

    Codename: Seafoam Ocelot.

    Distributed kernel version: 5.14.0-427.13.1.el9_4

    # Providing Feedback and Getting Help

    Please report any issues you may encounter during tests on the AlmaLinux Bug Tracker (opens new window). Additionally, if you feel like providing feedback, talking about anything or asking any questions you might want to check out The AlmaLinux Community Chat (opens new window), The AlmaLinux Forums (opens new window) and The AlmaLinux Community on Reddit (opens new window).

    # Changelog

    • Updated module streams:

      • Python 3.12
      • Ruby 3.3
      • PHP 8.2
      • nginx 1.24
      • MariaDB 10.11
      • PostgreSQL 16
    • Updated components:

      • Git to version 2.43.0
      • Git LFS to version 3.4.1
    • Performance tools and debuggers updates:

      • Valgrind 3.22
      • SystemTap 5.0
      • elfutils 0.190
    • Updated performance monitoring tools:

      • PCP 6.2.0
    • Compiler updates:

      • GCC Toolset 13
      • LLVM Toolset 17.0.6
      • Rust Toolset 1.75.1
      • Go Toolset 1.21.7
    • Security updates:

      • The SELinux userspace release 3.6 introduces deny rules for further customizing SELinux policies.
      • The Keylime server components, the verifier and registrar, are available as containers.
      • The Rsyslog log processing system introduces customizable TLS/SSL encryption settings and additional options that relate to capability dropping.
      • The OpenSSL TLS toolkit adds a drop-in directory for provider-specific configuration files.
      • The Linux kernel cryptographic API (libkcapi) 1.4.0 introduces new tools and options. Notably, with the new -T option, you can specify target file names in hash-sum calculations.
      • The stunnel TLS/SSL tunneling service 5.71 changes the behavior of OpenSSL 1.1 and later versions in FIPS mode. Besides this change, version 5.71 provides many new features such as support for modern PostgreSQL clients.
    • The following device drivers were modified to re-add PCI IDs for hardware that was previously disabled in our upstream:

      • aacraid - Dell PERC2, 2/Si, 3/Si, 3/Di, Adaptec Advanced Raid Products, HP NetRAID-4M, IBM ServeRAID & ICP SCSI
      • be2iscsi - Emulex OneConnectOpen-iSCSI for BladeEngine 2 and 3 adapters
      • be2net - Emulex BladeEngine 2 and 3 adapters *
      • hpsa - HP Smart Array Controller
      • lpfc - Emulex LightPulse Fibre Channel SCSI
      • megaraid_sas - Broadcom MegaRAID SAS
      • mlx4_core - Mellanox Gen2 and ConnectX-2 adapters
      • mpt3sas - LSI MPT Fusion SAS 3.0
      • mptsas - Fusion MPT SAS Host
      • qla2xxx - QLogic Fibre Channel HBA
      • qla4xxx - QLogic iSCSI HBA

    For a complete list of hardware support for which was added in this release, see the Extended hardware support section.

    As we aim to match release versions and cadences with Red Hat Enterprise Linux, you can reference the RHEL 9.4 release notes (opens new window) for a full list of changes in this release.

    # Installation instructions

    There are three installation ISO images available:

    AlmaLinux-9.4-x86_64-boot.iso - a single network installation CD image that downloads packages over the Internet.

    AlmaLinux-9.4-x86_64-minimal.iso - a minimal self-containing DVD image that makes possible offline installation.

    AlmaLinux-9.4-x86_64-dvd.iso - a full installation DVD image that contains mostly all AlmaLinux packages.

    You can select a mirror closest to your geographic area listed on the mirrors.almalinux.org (opens new window) website. A local mirror will be a lot quicker than using repo.almalinux.org directly. Then, download a suitable ISO image from the 9.4/isos/$arch/ directory of your source, for example:

    $ wget https://atl.mirrors.knownhost.com/almalinux/9.4/isos/x86_64/AlmaLinux-9.4-x86_64-boot.iso
    +

    Download and import the AlmaLinux public key:

    $ wget https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux-9
    +$ gpg --import RPM-GPG-KEY-AlmaLinux-9
    +

    Download and verify a checksums list:

    $ wget https://repo.almalinux.org/almalinux/9.4/isos/x86_64/CHECKSUM
    +
    +# we are looking for “Good signature”
    +$ gpg --verify CHECKSUM
    +gpg: Signature made Fri 03 May 2024 06:27:28 PM EDT
    +gpg:                using RSA key D36CB86CB86B3716
    +gpg: Good signature from "AlmaLinux OS 9 <packager@almalinux.org>" [unknown]
    +gpg: WARNING: This key is not certified with a trusted signature!
    +gpg:          There is no indication that the signature belongs to the owner.
    +Primary key fingerprint: BF18 AC28 7617 8908 D6E7  1267 D36C B86C B86B 3716
    +

    Verify the downloaded ISO image checksum:

    # calculate the downloaded ISO SHA256 checksum
    +$ sha256sum AlmaLinux-9.4-x86_64-boot.iso
    +1e5d7da3d84d5d9a5a1177858a5df21b868390bfccf7f0f419b1e59acc293160  AlmaLinux-9.4-x86_64-boot.iso
    +
    +# compare it with expected checksum, it should be the same
    +$ cat CHECKSUM | grep -E 'SHA256.*AlmaLinux-9.4-x86_64-boot.iso'
    +SHA256 (AlmaLinux-9.4-x86_64-boot.iso) = 1e5d7da3d84d5d9a5a1177858a5df21b868390bfccf7f0f419b1e59acc293160
    +

    If you decide to use the AlmaLinux-9.4-x86_64-boot.iso image, you may need to provide the 9.4/BaseOS/x86_64/kickstart/ URL repository from the selected mirror as the Installation Source in the event that the installer is not able to find the closest mirror for some reason.

    There are no extra Installation Sources required if you decided to go with either the minimal or DVD ISO images.

    # Upgrade Instructions

    To update your AlmaLinux OS 9 to 9.4 run:

    $ dnf upgrade -y
    +

    # 9.4 Beta Testers

    To update your AlmaLinux 0S 9.4 beta to 9.4 run:

    $ rpm -i https://repo.almalinux.org/almalinux/9.4/BaseOS/x86_64/os/Packages/almalinux-repos-9.4-1.el9.x86_64.rpm --replacefiles
    +$ dnf upgrade -y
    +

    # Additional packages

    Here is a list of packages that are AlmaLinux-specific, and will not be found in compatible versions of RHEL.

    Package Description
    almalinux-backgrounds AlmaLinux background images.
    Replaces redhat-backgrounds
    almalinux-indexhtml AlmaLinux default browser page
    Replaces redhat-indexhtml
    almalinux-logos AlmaLinux graphics for OS
    Replaces redhat-logos
    almalinux-logos-httpd AlmaLinux graphics for HTTPD server
    Replaces redhat-logos-httpd
    almalinux-logos-ipa AlmaLinux graphics for IPA server
    Replaces redhat-logos-ipa
    almalinux-release AlmaLinux release package, repos, and EULA
    Replaces redhat-release and redhat-release-eula

    # Removed packages

    Here is a list of packages you will not find in AlmaLinux when comparing with the compatible version of RHEL.

    AlmaLinux OS is a community distribution so all changes are subject to discussion. If you would like to do so, please join AlmaLinux Chat (opens new window) as well as filing a bug report at AlmaLinux Bug Tracker (opens new window) to discuss if you think any of the packages below should be included into the repos.

    Package Description
    insights-client RHEL specific package to connect to upstream vendor resources
    kmod-redhat-* RHEL specific modules from Driver Update Program
    kpatch* RHEL specific live patches for kernel
    openssl-fips-provider RHEL specific package with FIPS certified openssl binaries
    redhat-backgrounds RHEL specific background images
    redhat-indexhtml RHEL specific default browser page
    redhat-logos RHEL specific graphics for OS
    redhat-logos-httpd RHEL specific graphics for HTTPD server
    redhat-logos-ipa RHEL specific graphics for IPA server
    redhat-release RHEL specific release package and repos
    redhat-release-eula RHEL specific EULA
    redhat-support-lib-python RHEL specific package to connect to upstream vendor resources
    redhat-support-tool RHEL specific package to connect to upstream vendor resources
    rhc RHEL specific package to connect to upstream vendor resources
    rhc-worker-playbook RHEL specific package to connect to upstream vendor resources
    rhsm-gtk RHEL specific GUI for Subscription Manager
    rhsm-icons RHEL specific GUI for Subscription Manager
    spice-client-win-x64 Contains binaries built by upstream vendor
    spice-client-win-x86 Contains binaries built by upstream vendor
    spice-qxl-wddm-dod Contains binaries built by upstream vendor
    spice-vdagent-win-x64 Contains binaries built by upstream vendor
    spice-vdagent-win-x86 Contains binaries built by upstream vendor
    subscription-manager-cockpit RHEL specific Cockpit module for Subscription Manager
    subscription-manager-initial-setup-addon RHEL specific initial setup addon for Subscription Manager
    subscription-manager-plugin-container RHEL specific Subscription Manager plugin for upstream vendor containers
    virt-who RHEL specific package to connect to upstream vendor resources
    virtio-win Contain binaries built by upstream vendor

    # Extended hardware support

    The following devices support is added in this release, when compared with the RHEL 9.4:

    Device PCI ID Device name Driver name
    0x0E11::: *:01:04 Compaq hpsa
    0x1000:0x0050 LSI SAS1064 mptsas
    0x1000:0x0054 LSI SAS1068 mptsas
    0x1000:0x0056 LSI SAS1064E mptsas
    0x1000:0x0058 LSI SAS1068E mptsas
    0x1000:0x0059 LSI SAS1068_820XELP mptsas
    0x1000:0x0060 LSI MegaRAID SAS1078R megaraid_sas
    0x1000:0x0062 LSI SAS1078 mptsas
    0x1000:0x0064 LSI SAS2116_1 mpt3sas
    0x1000:0x0065 LSI SAS2116_2 mpt3sas
    0x1000:0x0070 LSI SAS2004 mpt3sas
    0x1000:0x0072 LSI SAS2008 mpt3sas
    0x1000:0x0074 LSI SAS2108_1 mpt3sas
    0x1000:0x0076 LSI SAS2108_2 mpt3sas
    0x1000:0x0077 LSI SAS2108_3 mpt3sas
    0x1000:0x0078 LSI MegaRAID SAS1078 Gen2 megaraid_sas
    0x1000:0x007C LSI MegaRAID SAS1078DE megaraid_sas
    0x1000:0x007E LSI SSS6200 mpt3sas
    0x1000:0x0411 LSI MegaRAID SAS1064R megaraid_sas
    0x1000:0x0413 LSI MegaRAID SAS1068 Verde ZCR megaraid_sas
    0x1011:0x0046:0x103C:0x10C2 HP NetRAID-4M aacraid
    0x1011:0x0046:0x9005:0x0364 Adaptec 5400S (Mustang) aacraid
    0x1011:0x0046:0x9005:0x0365 Adaptec 5400S (Mustang) aacraid
    0x1011:0x0046:0x9005:0x1364 Dell PERC 2/QC aacraid
    0x1028:0x0001:0x1028:0x0001 DELL PERC 2/Si (Iguana) aacraid
    0x1028:0x0002:0x1028:0x0002 DELL PERC 3/Di (Opal) aacraid
    0x1028:0x0002:0x1028:0x00D1 DELL PERC 3/Di (Viper) aacraid
    0x1028:0x0002:0x1028:0x00D9 DELL PERC 3/Di (Lexus) aacraid
    0x1028:0x0003:0x1028:0x0003 DELL PERC 3/Si (SlimFast) aacraid
    0x1028:0x0004:0x1028:0x00D0 DELL PERC 3/Di (Iguana FlipChip) aacraid
    0x1028:0x000A:0x1028:0x0106 DELL PERC 3/Di (Jaguar) aacraid
    0x1028:0x000A:0x1028:0x011B DELL PERC 3/Di (Dagger) aacraid
    0x1028:0x000A:0x1028:0x0121 DELL PERC 3/Di (Boxster) aacraid
    0x1028:0x0015 Dell PERC5 megaraid_sas
    0x103C::: *:01:04 HP hpsa
    0x1077:0x2100 QLogic ISP2100 qla2xxx
    0x1077:0x2200 QLogic ISP2200 qla2xxx
    0x1077:0x2300 QLogic ISP2300 qla2xxx
    0x1077:0x2312 QLogic ISP2312 qla2xxx
    0x1077:0x2322 QLogic ISP2322 qla2xxx
    0x1077:0x2422 QLogic ISP2422 qla2xxx
    0x1077:0x2432 QLogic ISP2432 qla2xxx
    0x1077:0x5422 QLogic ISP5422 qla2xxx
    0x1077:0x5432 QLogic ISP5432 / QLE220 qla2xxx
    0x1077:0x6312 QLogic ISP6312 qla2xxx
    0x1077:0x6322 QLogic ISP6322 qla2xxx
    0x1077:0x8001 QLogic ISP8001 / QLE81xx qla2xxx
    0x1077:0x8021 QLogic ISP8021 / QLE82xx qla2xxx
    0x1077:0x8022 QLogic ISP8022 qla4xxx
    0x1077:0x8032 QLogic ISP8324 qla4xxx
    0x1077:0x8042 QLogic ISP8042 qla4xxx
    0x1077:0x8044 QLogic ISP8044 / QLE84xx qla2xxx
    0x1077:0x8432 QLogic ISP8432 / QLE8000 qla2xxx
    0x1077:0xF001 QLogic ISPF001 / QLE10000 qla2xxx
    0x10DF:0x1AE5 FIREFLY lpfc
    0x10DF:0xE100 PROTEUS VF lpfc
    0x10DF:0xE131 BALIUS lpfc
    0x10DF:0xE180 PROTEUS PF lpfc
    0x10DF:0xE208 LANCER_FC_VF lpfc
    0x10DF:0xE260 Emulex OneConnect OCe15102-FM/OCe15104-FM/OCm15108-F-P lpfc
    0x10DF:0xE268 LANCER_FCOE_VF lpfc
    0x10DF:0xF095 RFLY lpfc
    0x10DF:0xF098 PFLY lpfc
    0x10DF:0xF0A1 LP101 lpfc
    0x10DF:0xF0A5 TFLY lpfc
    0x10DF:0xF0D1 BSMB lpfc
    0x10DF:0xF0F5 NEPTUNE lpfc
    0x10DF:0xF0F6 NEPTUNE SCSP lpfc
    0x10DF:0xF0F7 NEPTUNE DCSP lpfc
    0x10DF:0xF700 SUPERFLY lpfc
    0x10DF:0xF800 DRAGONFLY lpfc
    0x10DF:0xF900 CENTAUR lpfc
    0x10DF:0xF980 PEGASUS lpfc
    0x10DF:0xFA00 THOR lpfc
    0x10DF:0xFB00 VIPER lpfc
    0x10DF:0xFC00 LP10000S lpfc
    0x10DF:0xFC10 LP11000S lpfc
    0x10DF:0xFC20 LPE11000S lpfc
    0x10DF:0xFC50 PROTEUS S lpfc
    0x10DF:0xFD00 HELIOS lpfc
    0x10DF:0xFD11 HELIOS SCSP lpfc
    0x10DF:0xFD12 HELIOS DCSP lpfc
    0x19A2:0x0211 Emulex BladeEngine 2 Network Adapter be2net *
    0x19A2:0x0212 Emulex BladeEngine 2 10Gb iSCSI Initiator be2iscsi
    0x19A2:0x0221 Emulex BladeEngine 3 Network Adapter be2net *
    0x19A2:0x0222 Emulex BladeEngine 3 iSCSI be2iscsi
    0x19A2:0x0700 Emulex OneConnect Tigershark NIC be2net *
    0x19A2:0x0702 Emulex OneConnect OCe10101/OCm10101/OCe10102/OCm10102 be2iscsi
    0x19A2:0x0703 Emulex OneConnect OCe10100 be2iscsi
    0x19A2:0x0704 Emulex OneConnect Tigershark FCoE lpfc
    0x19A2:0x0710 Emulex OneConnect Tomcat NIC be2net *
    0x19A2:0x0712 Emulex OneConnect Tomcat iSCSI be2iscsi
    0x19A2:0x0714 Emulex OneConnect Tomcat FCoE lpfc
    0x9005:0x0200:0x9005:0x0200 Themisto Jupiter Platform aacraid
    0x9005:0x0283:0x9005:0x0283 Catapult aacraid
    0x9005:0x0284:0x9005:0x0284 Tomcat aacraid
    0x9005:0x0285 Adaptec Catch All aacraid
    0x9005:0x0285:0x1014:0x02F2 IBM 8i (AvonPark) aacraid
    0x9005:0x0285:0x1014:0x0312 IBM 8i (AvonPark Lite) aacraid
    0x9005:0x0285:0x1028 Dell Catchall aacraid
    0x9005:0x0285:0x1028:0x0287 Perc 320/DC aacraid
    0x9005:0x0285:0x1028:0x0291 CERC SATA RAID 2 PCI SATA 6ch (DellCorsair) aacraid
    0x9005:0x0285:0x103C:0x3227 AAR-2610SA PCI SATA 6ch aacraid
    0x9005:0x0285:0x17AA Legend Catchall aacraid
    0x9005:0x0285:0x17AA:0x0286 Legend S220 (Legend Crusader) aacraid
    0x9005:0x0285:0x17AA:0x0287 Legend S230 (Legend Vulcan) aacraid
    0x9005:0x0285:0x9005:0x0285 Adaptec 2200S (Vulcan) aacraid
    0x9005:0x0285:0x9005:0x0286 Adaptec 2120S (Crusader) aacraid
    0x9005:0x0285:0x9005:0x0287 Adaptec 2200S (Vulcan-2m) aacraid
    0x9005:0x0285:0x9005:0x0288 Adaptec 3230S (Harrier) aacraid
    0x9005:0x0285:0x9005:0x0289 Adaptec 3240S (Tornado) aacraid
    0x9005:0x0285:0x9005:0x028A ASR-2020ZCR SCSI PCI-X ZCR (Skyhawk) aacraid
    0x9005:0x0285:0x9005:0x028B ASR-2025ZCR SCSI SO-DIMM PCI-X ZCR (Terminator) aacraid
    0x9005:0x0285:0x9005:0x028E ASR-2020SA SATA PCI-X ZCR (Skyhawk) aacraid
    0x9005:0x0285:0x9005:0x028F ASR-2025SA SATA SO-DIMM PCI-X ZCR (Terminator) aacraid
    0x9005:0x0285:0x9005:0x0290 AAR-2410SA PCI SATA 4ch (Jaguar II) aacraid
    0x9005:0x0285:0x9005:0x0292 AAR-2810SA PCI SATA 8ch (Corsair-8) aacraid
    0x9005:0x0285:0x9005:0x0293 AAR-21610SA PCI SATA 16ch (Corsair-16) aacraid
    0x9005:0x0285:0x9005:0x0294 ESD SO-DIMM PCI-X SATA ZCR (Prowler) aacraid
    0x9005:0x0285:0x9005:0x0296 ASR-2240S (SabreExpress) aacraid
    0x9005:0x0285:0x9005:0x0297 ASR-4005 aacraid
    0x9005:0x0285:0x9005:0x0298 ASR-4000 (BlackBird) aacraid
    0x9005:0x0285:0x9005:0x0299 ASR-4800SAS (Marauder-X) aacraid
    0x9005:0x0285:0x9005:0x029A ASR-4805SAS (Marauder-E) aacraid
    0x9005:0x0285:0x9005:0x02A4 ICP9085LI (Marauder-X) aacraid
    0x9005:0x0285:0x9005:0x02A5 ICP5085BR (Marauder-E) aacraid
    0x9005:0x0286 Adaptec Rocket Catch All aacraid
    0x9005:0x0286:0x1014:0x9540 IBM 8k/8k-l4 (Aurora Lite) aacraid
    0x9005:0x0286:0x1014:0x9580 IBM 8k/8k-l8 (Aurora) aacraid
    0x9005:0x0286:0x9005:0x028C ASR-2230S/ASR-2230SLP PCI-X (Lancer) aacraid
    0x9005:0x0286:0x9005:0x028D ASR-2130S (Lancer) aacraid
    0x9005:0x0286:0x9005:0x029B AAR-2820SA (Intruder) aacraid
    0x9005:0x0286:0x9005:0x029C AAR-2620SA (Intruder) aacraid
    0x9005:0x0286:0x9005:0x029D AAR-2420SA (Intruder) aacraid
    0x9005:0x0286:0x9005:0x029E ICP9024RO (Lancer) aacraid
    0x9005:0x0286:0x9005:0x029F ICP9014RO (Lancer) aacraid
    0x9005:0x0286:0x9005:0x02A0 ICP9047MA (Lancer) aacraid
    0x9005:0x0286:0x9005:0x02A1 ICP9087MA (Lancer) aacraid
    0x9005:0x0286:0x9005:0x02A2 ASR-3800 (Hurricane44) aacraid
    0x9005:0x0286:0x9005:0x02A3 ICP5445AU (Hurricane44) aacraid
    0x9005:0x0286:0x9005:0x02A6 ICP9067MA (Intruder-6) aacraid
    0x9005:0x0286:0x9005:0x0800 Callisto Jupiter Platform aacraid
    0x9005:0x0287:0x9005:0x0800 Themisto Jupiter Platform aacraid
    0x9005:0x0288 Adaptec NEMER/ARK Catch All aacraid

    * Since kernel version 5.14.0-427.18.1.el9_4

    # Trademarks

    Red Hat and RHEL are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    + + + diff --git a/release-notes/index.html b/release-notes/index.html new file mode 100644 index 000000000..1a56b126b --- /dev/null +++ b/release-notes/index.html @@ -0,0 +1,53 @@ + + + + + + Release Notes | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux Release Notes

    These are AlmaLinux Release Notes listed with Release Version, General Availability Date, Codename, Kernel Version.

    # AlmaLinux 9

    Version 9 will have active support until 31 May 2027, and security support until 31 May 2032. Release of new 9.x version ends support for the previous version.

    Release Codename
    Why cats?
    Beta Date Release Date Kernel Supported Architectures
    9.4 Seafoam Ocelot 15 Apr 2024 06 May 2024 5.14.0-427.13.1 x86_64, aarch64, ppc64le, s390x
    9.3 Shamrock Pampas Cat 26 Oct 2023 13 Nov 2023 5.14.0-362.8.1 x86_64, aarch64, ppc64le, s390x
    9.2 Turquoise Kodkod 27 Apr 2023 10 May 2023 5.14.0-284.11.1 x86_64, aarch64, ppc64le, s390x
    9.1 Lime Lynx 02 Nov 2022 16 Nov 2022 5.14.0-162.6.1 x86_64, aarch64, ppc64le, s390x
    9.0 Emerald Puma 19 Apr 2022 26 May 2022 5.14.0-70.13.1 x86_64, aarch64, ppc64le, s390x

    # AlmaLinux 8

    Version 8 will have active support until 31 May 2024, and security support until 31 May 2029. Release of new 8.x version ends support for the previous version.

    Release Codename
    Why cats?
    Beta Date Release Date Kernel Supported Architectures
    8.10 Cerulean Leopard 17 Apr 2024 28 May 2024 4.18.0-553 x86_64, aarch64, ppc64le, s390x
    8.9 Midnight Oncilla 2 Nov 2023 21 Nov 2023 4.18.0-513.5.1 x86_64, aarch64, ppc64le, s390x
    8.8 Sapphire Caracal 21 Apr 2023 18 May 2023 4.18.0-477.10.1 x86_64, aarch64, ppc64le, s390x
    8.7 Stone Smilodon 25 Oct 2022 10 Nov 2022 4.18.0-425.3.1 x86_64, aarch64, ppc64le, s390x
    8.6 Sky Tiger 06 May 2022 12 May 2022 4.18.0-372.9.1 x86_64, aarch64, ppc64le, s390x
    8.5 Arctic Sphynx 13 Oct 2021 12 Nov 2021 4.18.0-348 x86_64, aarch64, ppc64le
    8.4 Electric Cheetah 20 Apr 2021 26 May 2021 4.18.0-305 x86_64, aarch64
    8.3 Purple Manul 1 Feb 2021 30 Mar 2021 4.18.0-240 x86_64

    Run the following commands to find:

    • your AlmaLinux release
    cat /etc/almalinux-release
    +
    • your kernel version
    uname -a
    +
    + + + diff --git a/repos/AlmaLinux.html b/repos/AlmaLinux.html new file mode 100644 index 000000000..3be1c2733 --- /dev/null +++ b/repos/AlmaLinux.html @@ -0,0 +1,59 @@ + + + + + + AlmaLinux Repositories | AlmaLinux Wiki + + + + + + + + + +

    # AlmaLinux Repositories

    Information about the main AlmaLinux repositories and how to install them can be found on this page.

    Repository Description How to Enable on AlmaLinux 8 How to Enable on AlmaLinux 9
    BaseOS Content in the BaseOS repository is intended to provide a core set of the underlying OS functionality that provides the foundation for all installations. Enabled by default Enabled by default
    AppStream Content in the AppStream repository includes additional user space applications, runtime languages, and databases in support of the varied workloads and use cases. Enabled by default Enabled by default
    Extras Content in the extras repository includes packages that are not available in RHEL. They are mostly release packages for additional repos like EPEL, ELRepo or the various CentOS SIGs. Enabled by default Enabled by default
    High Availability The High Availability add-on provides on-demand failover services between nodes within a cluster # dnf config-manager --set-enabled ha # dnf config-manager --set-enabled highavailability
    Plus This repository contains packages that replace a core component via patched functionality. Packages have a .plus added to their version tag. These are not tested nor available in the upstream product. # dnf config-manager --set-enabled plus # dnf config-manager --set-enabled plus
    PowerTools/CRB The PowerTools repository contains additional packages for use by developers. This repository is also known as the "CodeReady Builder" repository used on RHEL. # dnf config-manager --set-enabled powertools # dnf config-manager --set-enabled crb
    Real Time (RT) The Real Time repository is designed to be used on well-tuned systems for applications with extremely high determinism requirements. Kernel system tuning offers the vast majority of the improvement in determinism. # dnf config-manager --set-enabled rt # dnf config-manager --set-enabled rt
    Real Time for NFV (NFV) The Real Time for NFV repository can be used to virtualize network services, such as routers, firewalls, and load balancers, that have traditionally been run on proprietary hardware. # dnf config-manager --set-enabled nfv # dnf config-manager --set-enabled nfv
    ResilientStorage The Resilient Storage add-on enables a shared storage or clustered file system to access the same storage device over a network through a pool of data that is available to each server in the group. # dnf config-manager --set-enabled resilientstorage # dnf config-manager --set-enabled resilientstorage
    SAP The SAP repository provides additional software components necessary to run SAP NetWeaveror SAP Kernel on AlmaLinux # dnf config-manager --set-enabled sap # dnf config-manager --set-enabled sap
    SAPHANA The SAPHANA repository is tailored to the needs of SAP workloads such as S/4HANA and SAP HANA platform. # dnf config-manager --set-enabled saphana # dnf config-manager --set-enabled saphana
    Testing Content in the Testing repository includes updates that require additional testing before they are released to stable repositories. Please, note, that it's NOT recommended to install packages from the Testing repo on production machines. # dnf install almalinux-release-testing # dnf install almalinux-release-testing
    Devel Content in the Devel repo includes packages that are not normally provided in the base nor extra repositories, but needed for build-time dependencies of other packages. Devel is NOT meant to satisfy runtime dependencies or for long term use on general purpose machines. # dnf install almalinux-release-devel # dnf install almalinux-release-devel

    AlmaLinux has a Vault (opens new window) repository that provides packages and isos for previous AlmaLinux OS versions. Also, the Vault repository contains 32-bit packages for the latest stable version to build. Vault and other AlmaLinux repositories are available on repo.almalinux.org (opens new window).

    + + + diff --git a/repos/CentOS.html b/repos/CentOS.html new file mode 100644 index 000000000..117c7b785 --- /dev/null +++ b/repos/CentOS.html @@ -0,0 +1,60 @@ + + + + + + CentOS SIGs Repositories | AlmaLinux Wiki + + + + + + + + + +
    # last modified: 2024-06-12

    # CentOS SIGs Repositories

    CentOS Special Interest Groups (SIGs) are smaller groups within the CentOS community that focus on a small set of issues, in order to either create awareness or to focus on development along a specific topic. SIGs are often very popular and used quite frequently by the community. AlmaLinux has decided to make upstream CentOS SIGs usable from within AlmaLinux for the community's benefit. We encourage contributors interested in SIG development to work upstream and submit contributions there.

    WARNING

    Since CentOS 8 Stream has reached its End-Of-Life, corresponding CentOS SIGs packages for AlmaLinux OS 8 are no longer valid and have been removed from the list.

    # Cloud SIG

    The Cloud SIG (opens new window) focuses on issues around running Cloud Infrastructure / Hypervisor +for on-premise clouds as well as supports other SIGs and projects looking to consume some of the shared resources around on-premise cloud infra.

    Package How to Enable on AlmaLinux 9
    OpenStack Antelope # dnf install centos-release-openstack-antelope
    OpenStack Bobcat # dnf install centos-release-openstack-bobcat
    OpenStack Caracal # dnf install centos-release-openstack-caracal
    OpenStack Client Xena # dnf install centos-release-openstackclient-xena
    OpenStack Yoga # dnf install centos-release-openstack-yoga
    Openstack Zed # dnf install centos-release-openstack-zed
    okd-4.13 # dnf install centos-release-okd-4.13
    okd-4.14 # dnf install centos-release-okd-4.14
    okd-4.15 # dnf install centos-release-okd-4.15
    okd-4.16 # dnf install centos-release-okd-4.16

    # Messaging SIG

    The Messaging SIG (opens new window) provides a unique source for messaging-related packages.

    Package How to Enable on AlmaLinux 9
    Rabbit 3.8 # dnf install centos-release-rabbitmq-38

    # Network Functions Virtualization SIG

    The Network Functions Virtualization SIG (opens new window) provides a stack that will serve as a platform for the deployment and testing of virtual network functions.

    Package How to Enable on AlmaLinux 9
    Openvswitch 2.x
    OVN 20.12.x
    # dnf install centos-release-nfv-openvswitch

    # Operational Tooling SIG

    The Ops Tools SIG (opens new window) provides logging, monitoring and other operational tools for operators, system administrators, devops and developers doing infrastructure engineering on content based on CentOS Linux and related distributions.

    Package How to Enable on AlmaLinux 9
    collectd 5.x # dnf install centos-release-opstools

    # Storage SIG

    The Storage SIG (opens new window) focuses on deploying CentOS/AlmaLinux as a storage node.

    Package How to Enable on AlmaLinux 9
    Ceph 16 Pacific # dnf install centos-release-ceph-pacific
    Ceph 17 Quincy # dnf install centos-release-ceph-quincy
    Ceph 18 Reef # dnf install centos-release-ceph-reef
    GlusterFS 9 # dnf install centos-release-gluster9
    GlusterFS 10 # dnf install centos-release-gluster10
    GlusterFS 11 # dnf install centos-release-gluster11
    NFS Ganesha 4 # dnf install centos-release-nfs-ganesha4
    NFS Ganesha 5 # dnf install centos-release-nfs-ganesha5
    Samba 4.14 # dnf install centos-release-samba414
    Samba 4.15 # dnf install centos-release-samba415
    Samba 4.16 # dnf install centos-release-samba416
    Samba 4.17 # dnf install centos-release-samba417
    Samba 4.18 # dnf install centos-release-samba418
    Samba 4.19 # dnf install centos-release-samba419
    Samba 4.20 # dnf install centos-release-samba420

    # Virtualization SIG

    The Virtualization SIG (opens new window) aims to deliver a user consumable full stack for virtualization technologies. This includes delivery, deployment, management, update and patch application (for full lifecycle management) of the baseline platform when deployed in sync with a technology curated by the Virt-SIG.

    Package How to Enable on AlmaLinux 9
    oVirt 4.5 # dnf install centos-release-ovirt45
    + + + diff --git a/repos/Extras.html b/repos/Extras.html new file mode 100644 index 000000000..a5b82ba57 --- /dev/null +++ b/repos/Extras.html @@ -0,0 +1,62 @@ + + + + + + Extra Repositories | AlmaLinux Wiki + + + + + + + + + +

    # Extra Repositories

    # EPEL

    Extra Packages for Enterprise Linux or EPEL (opens new window) is a Fedora Special Interest Group that creates, maintains, and manages a high quality set of additional packages for Enterprise Linux. +EPEL packages are usually based on their Fedora counterparts and will never conflict with or replace packages in the base Enterprise Linux distributions. EPEL uses much of the same infrastructure as Fedora, including buildsystem, bugzilla instance, updates manager, mirror manager and more.

    Repository How to Enable
    EPEL and CRB # dnf install epel-release

    For more detailed information see the EPEL Quickstart Guide (opens new window).

    TIP

    During the installation process, you might get a prompt to install a GPG key. Compare the key to the "Primary key fingerprint" (see "Verify the downloaded ISO image checksum:") and if the fingerprints match, type "y" to continue.

    TIP

    Most EPEL packages require packages from PowerTools/CRB repository as dependencies. Run the suitable command to enable the PowerTools/CRB repository:

    AlmaLinux OS 8

    dnf config-manager --set-enabled powertools
    +

    AlmaLinux OS 9

    dnf config-manager --set-enabled crb
    +

    # The ELRepo Project

    The ELRepo Project (opens new window) focuses on hardware related packages to enhance your experience with Enterprise Linux. This includes filesystem drivers, graphics drivers, network drivers, sound drivers, webcam and video drivers. Newer kernels, kernel-ml and kernel-lt, are also available.

    Repository How to Enable
    ELRepo # dnf install elrepo-release

    # RPM Fusion

    RPM Fusion (opens new window) provides software that RHEL and other Enterprise Linux distributions do not ship (like software codecs).

    Repository How to Enable
    ELRepo See Installing EPEL and RPM Fusion
    + + + diff --git a/repos/Synergy.html b/repos/Synergy.html new file mode 100644 index 000000000..2b041b45c --- /dev/null +++ b/repos/Synergy.html @@ -0,0 +1,68 @@ + + + + + + Synergy Repository | AlmaLinux Wiki + + + + + + + + + +

    # Synergy Repository

    # About

    Synergy repository contains packages that are not present in RHEL or EPEL yet but were requested by the Community for the Community. +This repository can be considered a pre-EPEL repo, since the AlmaLinux OS Foundation, as a member of the EL community, will make every effort to get packages into EPEL so that they become widely available on all RHEL-compatible distributions. +The release package of the Synergy repository also allows you to use it not only with AlmaLinux, but with any RHEL-compatible distribution, see the instructions below.

    Package removal policy

    Please, note, that as soon as a package is in EPEL or RHEL, it will be removed from the Synergy repository.

    # Enabling the repository

    Synergy repository can be enabled for AlmaLinux OS and for other distros in EL-ecosystem like RHEL, CentOS, Rocky Linux, etc.

    To enable the Synergy repository on AlmaLinux machines run the following command:

    dnf install -y almalinux-release-synergy
    +

    To enable the Synergy repository on any RHEL-compatible distribution run the following command:

    dnf install -y https://repo.almalinux.org/almalinux/almalinux-release-synergy-latest-$(rpm -E %rhel).noarch.rpm
    +

    Enabling PowerTools/CRB repository

    Please, note, that enabling the Synergy repository will also automatically enable EPEL and PowerTools/CRB repositories if epel-release provided by your distribution is recent enough. If you still don't have PowerTools/CRB enabled you should run the following:

    dnf update -y epel-release
    +crb enable
    +

    Distributions without epel-release package

    If your distribution doesn't provide epel-release package you'll get a dependency error during almalinux-release-synergy package install. In this case use the following command to enable the Synergy repository:

    dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm -E %rhel).noarch.rpm \
    +               https://repo.almalinux.org/almalinux/almalinux-release-synergy-latest-$(rpm -E %rhel).noarch.rpm
    +

    Available packages can also be found on repo.almalinux.org (opens new window):

    You can use the closest mirror (opens new window) for faster access.

    # Request a package

    A package can be requested via Packaging chat channel (opens new window) in Mattermost. +To be included in the Synergy repository, a package must meet the following criteria:

    • The package must not be in the RHEL repositories (including additional repositories like RT, NFV, SAP, etc.)
    • The package must not be in the EPEL repository
    • The package must not update, replace, or conflict with packages from RHEL and EPEL
    • The package developer does not maintain a YUM/DNF repository for RHEL-compatible distributions
    + + + diff --git a/repos/index.html b/repos/index.html new file mode 100644 index 000000000..10cd0220b --- /dev/null +++ b/repos/index.html @@ -0,0 +1,52 @@ + + + + + + Repositories | AlmaLinux Wiki + + + + + + + + + +

    # Repositories

    A repository stores software packages on a remote server that are used for installing and updating on Linux systems.

    Any repository that is intended for RHEL or CentOS can be used in AlmaLinux. As a part of the project, besides AlmaLinux repositories, you may also use CentOS SIGs, EPEL, the ELRepo Project and Synergy repositories +with the following instructions:

    • AlmaLinux - AlmaLinux repositories.
    • CentOS SIG - CentOS SIG's repositories.
    • Extras - Extra repositories such as EPEL and the ELRepo Project.
    • Synergy - Repository for any RHEL-compatible distribution with packages that are not present in RHEL or EPEL yet but were requested by the Community.
    + + + diff --git a/robots.txt b/robots.txt new file mode 100644 index 000000000..41ec41b78 --- /dev/null +++ b/robots.txt @@ -0,0 +1,3 @@ +User-agent: * +Disallow: /cgi-bin/ +Sitemap: https://wiki.almalinux.org/sitemap.xml \ No newline at end of file diff --git a/series/LAMP-server.html b/series/LAMP-server.html new file mode 100644 index 000000000..b2e6c1581 --- /dev/null +++ b/series/LAMP-server.html @@ -0,0 +1,128 @@ + + + + + + Deploy a LAMP server | AlmaLinux Wiki + + + + + + + + + +

    # Deploy a LAMP server

    Experience Level ⭑⭑
    Last modified date 2024-05-18

    The LAMP stack, comprising Linux, Apache, MySQL, and PHP owes much of its popularity and versatility to its open-source nature.

    • Linux, the operating system at its core, embodies collaborative development, providing a stable foundation for web servers.

    • Apache, the iconic web server software, benefits from a community-driven approach, ensuring flexibility and reliability.

    • MySQL, the relational database management system, democratizes access to robust database technology, thanks to its open-source ethos.

    • PHP, thrives on community contributions, facilitating dynamic and interactive web experiences.

    Together, the LAMP stack exemplifies the power of open-source collaboration, empowering developers worldwide to create scalable, cost-effective web applications that drive the modern internet.

    # Introduction

    For the sake of this guide we'll focus on a LAMP server that is composed of these four components:

    Name Description
    (L) AlmaLinux The operating system, in this case AlmaLinux 8
    Apache 2 A trusted open-source web server software known for its reliability and scalability.
    MariaDB A popular open-source database system for managing structured data efficiently.
    PHP, php-fpm A widely-used web scripting language known for its simplicity, flexibility, and strong community.

    # Requirements

    • A privileged user (sudoer) or access to the root user.
    • RHEL based OS, AlmaLinux 8 or 9.

    # First step - install Apache 2

    Apache is a project designed to develop and maintain an open source HTTP server for modern operating systems along with high security with efficient resource consumption and meeting HTTP standards. +It first appeared in 1995 and since 1996 the most popular web server in the world.

    • Install Apache 2:

      sudo dnf install -y httpd
      +
    • Allow traffic on port 80:

      sudo firewall-cmd --add-port=80/tcp --permanent
      +sudo firewall-cmd --reload
      +
    • Enable and start apache 2:

      sudo systemctl enable httpd
      +sudo systemctl start httpd
      +

    You can test that Apache runs properly by accessing http://YOUR-IP (YOUR-IP being your ip address), you should get the following page:

    AlmaLinux-Apache-Default-page

    # Second step - install MariaDB

    MariaDB is one of the major relational databases in the market, built by the developers of MySQL, ensuring to remain open-source, with a large part of the cloud utilizing it for data management purposes.

    • To use a newer repo of MariaDB (To install a newer version) run the following in your cmd:

      cat <<EOF>/etc/yum.repos.d/MariaDB.repo
      +[mariadb]
      +name = MariaDB
      +baseurl = https://rpm.mariadb.org/11.3/rhel/8/x86_64/
      +module_hotfixes = 1
      +gpgkey = https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
      +gpgcheck = 1
      +EOF
      +
    • Then install, enable and start MariaDB:

      sudo dnf install -y MariaDB-server
      +sudo systemctl enable mariadb
      +sudo systemctl start mariadb
      +
    • Next, run the mariadb-secure-installation:

      mariadb-secure-installation
      +

      Enter the following input:

      Step Input
      Enter current password for root (enter for none) Press enter
      Switch to unix_socket authentication [Y/n] Y
      Change the root password? [Y/n] Y
      Remove anonymous users? [Y/n] Y
      Disallow root login remotely? [Y/n] Y
      Remove test database and access to it? [Y/n] Y
      Reload privilege tables now? [Y/n] Y

    # Third step - install php-fpm

    PHP-FPM, or PHP FastCGI Process Manager, is a versatile and efficient PHP processor that separates PHP processes from the web server, enabling better resource management and scalability. +It's widely favored by developers for its flexibility and performance, seamlessly integrating with popular web servers like Nginx and Apache (Like in here) to optimize PHP execution across different deployment environments.

    • Enable remi repos:

      sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
      +
    • Enable php 8.3:

      sudo dnf module enable php:remi-8.3 -y
      +
    • Install, enable and start php-fpm:

      sudo dnf install php-fpm
      +sudo systemctl enable php-fpm
      +sudo systemctl start php-fpm
      +

    # Optional step - adding a website

    • Make a user in which the site would belong to and add the needed directories:

      useradd almasite
      +cd /home/almasite/
      +mkdir logs public_html
      +
    • Fix the privileges:

      chown almasite:almasite logs public_html
      +
    • Create a configuration file in /etc/httpd/conf.d/ named almasite.conf:

      <VirtualHost *:80>
      +    # The domain
      +    ServerName almasite.com
      +    # The domains alias
      +    ServerAlias www.almasite.com
      +    # Full path to the website files
      +    DocumentRoot /home/almasite/public_html
      +    # Full path to the error log file
      +    ErrorLog /home/almasite/logs/error.log
      +    # A custom log to record requests to the website
      +    CustomLog /home/almasite/logs/access.log combined
      +    # Apply directives only on a given directory
      +    <Directory /home/almasite/public_html>
      +        # Enables the server to follow symbolic links within directories
      +        Options Indexes FollowSymLinks
      +        # Permits the use of .htaccess files to override server configuration settings
      +        AllowOverride All
      +        # Allow access to the specified directory and its contents to all users
      +        Require all granted
      +        # Specifies default file for directory access
      +        DirectoryIndex index.php
      +    </Directory>
      +    # Route requests based on patterns
      +    ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/home/almasite/public_html/
      +</VirtualHost>
      +

      Notice the comments explaining each directive.

    • Add a php-fpm pool

      cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/almasite.conf
      +

      Open the newly created file with your preferred text editor and change the following:

      • [www] - with the pools name (.e.g almasite)
      • user = apache - your user (.i.e almasite)
      • group = apache - your group (.i.e almasite)
      • listen = /run/php-fpm/www.soc - your listening method, in this case we use port 9000 (listen = 9000)
    • Add the websites files: (or file in this case 😉)

      touch /home/almasite/public_html/index.php
      +

      Open your preferred text editor and add the following:

      <!DOCTYPE html>
      +<html>
      +    <head>
      +        <title>Hello world!</title>
      +    </head>
      +    <body>
      +        <?php $now = date("H:i:s", time()); echo "<h1>Hello world!<br>This message is sent from PHP, the time now is $now</h1>" ?>
      +    </body>
      +</html>
      +
    • Manipulate your hosts file to view your newly created website:

      TIP

      While I cant tell you your IP address, I can tell you that the domain is almasite.com and the alias is www.almasite.com. (That is if you followed my guide exactly)

      YOUR-IP-ADDRESS www.almasite.com almasite.com
      +

      Linux:

      Edit your hosts file using vim:

      sudo vim /etc/hosts
      +

      Then press i to enter insert mode and add the following line end of the file:

      [IP ADDRESS] [DOMAIN]
      +

      Windows:

      Open Notepad as administrator and open the hosts file:

      path: c:\Windows\System32\Drivers\etc\hosts

      Add the following line at the end of the file:

      [IP ADDRESS] [DOMAIN]
      +

      And save.

    • Results:

      You should get a similar result: +LAMP-server-results

    + + + diff --git a/series/index.html b/series/index.html new file mode 100644 index 000000000..77bee084d --- /dev/null +++ b/series/index.html @@ -0,0 +1,51 @@ + + + + + + Howto Series: AlmaLinux Tutorials 🚀 | AlmaLinux Wiki + + + + + + + + + +

    # Howto Series: AlmaLinux Tutorials 🚀

    Welcome to our Howto series on AlmaLinux! In this series, we provide comprehensive guides and tutorials to help you learn and master various aspects of AlmaLinux. Whether you are interested in Nginx or system-related topics, we've got you covered.

    # Nginx Series

    The Nginx series focuses on all things related to Nginx web server. From installation to configuration, security, and optimization, you will find step-by-step guides to help you deploy and manage a powerful web server on AlmaLinux.

    Browse the articles in the Nginx series:

    • A01 ❯ Beginner's Guide
    • A02 R8 ❯ AlmaLinux 8.x Installation Examples
    • A02 R9.1 ❯ AlmaLinux 9.1 Installation Examples
    • A02 R9.2 ❯ AlmaLinux 9.2 Installation Examples
    • A03 ❯ Default Configuration Guide
    • A04 ❯ Secure Nginx Deployment

    # System Series

    The vision: (In near future) The System series covers a wide range of system-related topics on AlmaLinux. This guides will help you enhance your system administration skills and ensure the stability and security of your AlmaLinux environment.

    Explore the articles in the System series:

    • A01 ❯ Application Streams
    • A02 ❯ Firewalld: A Beginner's Guide
    • A03 ❯ NVIDIA Driver Installation Guide
    • A03 R8 ❯ NVIDIA Driver: Installation on 8.x
    • A03 R9 ❯ NVIDIA Driver: Installation on 9.x
    • A04 ❯ Snapd Installation Guide
    • A05 ❯ Multimedia Codecs Installation Guide

    Dive into our Howto series and unlock the full potential of AlmaLinux. Happy hacking! 🐧💻🚀


    # Trademark Notices

    WARNING

    AlmaLinux is a registered trademark of AlmaLinux OS Foundation.

    Linux® is a registered trademark of Linus Torvalds in the U.S. and other countries.

    macOS are trademarks of Apple Inc., registered in the U.S. and other countries.

    NVIDIA is a registered trademark of NVIDIA Corporation in the U.S. and other countries.

    Red Hat is a registered trademark of Red Hat, Inc. or its subsidiaries in the United States and other countries.

    Windows is a registered trademark of Microsoft Corporation in the United States and other countries.

    All other trademarks are the property of their respective owners.

    + + + diff --git a/series/nginx/NginxSeriesA01.html b/series/nginx/NginxSeriesA01.html new file mode 100644 index 000000000..f5372c904 --- /dev/null +++ b/series/nginx/NginxSeriesA01.html @@ -0,0 +1,79 @@ + + + + + + A01 ❯ A Beginner's Guide | AlmaLinux Wiki + + + + + + + + + +

    # A01 ❯ A Beginner's Guide

    ℹ️ This article is part of AlmaLinux Nginx Series.


    💡 Experience Level ⭐☆☆☆☆
    📆 Last modified 2023-05-10
    🔧 Tested by
    ↳ version | platform | date
    Pawel Suchanecki
    ↳ 9.1 | x86_64 | 2023-04-21

    # 🌟 Introduction

    In this guide, we offer a detailed walk-through of Nginx installation, exploring three potential installation methods with examples for AlmaLinux OS 8.x and 9.x. You'll gain insights into essential Nginx interactions, and we'll present a tailored-learning path crafted to assist you in mastering Nginx and achieving proficiency in its utilization.

    # About Nginx

    Nginx is a popular open-source, powerful web server and reverse proxy that is known for its high performance and stability. It can be used to serve static and dynamic content, load balance traffic, and optimize performance and scalability.

    # Architecture

    Nginx is based on an event-driven architecture, which differs from traditional thread-based web servers by handling multiple connections simultaneously without creating a separate thread for each one. This approach enables Nginx to efficiently manage a large number of connections with minimal overhead, resulting in improved performance, especially under high load conditions.

    # Primary components

    The primary components of Nginx include the master process, worker processes, and configuration files. The master process is responsible for reading and validating the configuration file, managing worker processes, and handling signals. Worker processes handle incoming client requests, process them, and send responses back to the clients. Configuration files define the behavior of Nginx, specifying how it should handle different types of requests, route traffic, and manage other settings.

    # Best practices

    In this series, we will delve into best practices and uncover new aspects of Nginx to accelerate your learning and develop practical skills. Here is a basic set of best practices:

    • Strengthen Server Security: Adopt security best practices, including firewalls, intrusion detection systems, and regular software updates, to safeguard your server from potential attacks.
    • Implement HTTPS: Ensure SSL/TLS certificates are in place to encrypt traffic between your server and users.
    • Enhance Performance: Employ caching and load balancing techniques to optimize your server's performance and scalability.

    # 🧠 Fundamental Concepts

    # Nginx Installation Variants

    There are three ways of installing Nginx on AlmaLinux 8.x and 9.x:

    • AppStream non-module +-- Installs the default, non-module version from the AppStream repository
    • AppStream module +-- Installs the module version from the AppStream repository +-- Allows installation of a specific version for compatibility reasons
    • F5 Networks repository +-- Involves defining a new repository data for your system +-- Installs the latest RPM package from external main-line repository +-- Allows always running the latest version of Nginx

    # 📝 Key Takeaways

    # ➡️ Installing

    • Update System Packages: Ensure your system packages are up-to-date before installing Nginx by running:
    sudo dnf update
    +
    • Configure Firewall: Allow incoming traffic on TCP ports for HTTP & HTTPS services (80 & 443, respectively):

    WARNING

    On AlmaLinux OS, the Firewalld packet filtering service is enabled by default

    sudo firewall-cmd --permanent --add-service={http,https} 
    +sudo firewall-cmd --reload
    +
    • Install Nginx: Install Nginx using one of the three variants: default package repository, Appstream module, or Nginx repository.

      Compatibility Matrix

      Install Variant 8.7 9.1 9.2
      I. AppStream non-module ❗¹ ❗²
      II. AppStream module
      III. Mainline repo

      ¹ On 8.7, this will actually install the AppStream module. +
      +² Default version is outdated; AppStream module is recommended.

    # ➡️ Testing

    • Start Nginx Service: After installation, start the Nginx service with:
    sudo systemctl start nginx
    +
    • Check Nginx Status: Verify if Nginx is running properly by running:
    sudo systemctl status nginx
    +
    • Check Firewall Status: make sure http & https services are enabled (open ports):
    sudo firewall-cmd --list-services 
    +
    • Test Nginx Installation: Navigate a web browser of your choice to your server's hostname or IP address to check for the default page.

    Example: we use lynx to be able to perform the check from command-line-interface:

    lynx http://localhost/ 
    +
    DETAILS

    lynx is a text-based web browser for use on cursor-addressable character (cell) terminals.

    Install it with dnf install lynx.

    TIP

    To exit lynx press q and then y to confirm.

    # ➡️ Configuring

    • Configure Nginx: To serve your own content, edit the Nginx configuration file at:

      /etc/nginx/nginx.conf
      +
    • Test Nginx Configuration: Before reloading Nginx, test the configuration file for syntax errors using:

      sudo nginx -t
      +

    # ➡️ Management

    • Reload Nginx: Reload Nginx to apply configuration changes with:

      sudo systemctl reload nginx
      +
    • Stop Nginx Service: To stop the Nginx service, execute the command:

    sudo systemctl stop nginx
    +
    • Enable Nginx at Boot: To start Nginx automatically at system boot, run:
    sudo systemctl enable nginx 
    +

    # 📖 Release-Specific Installation

    AlmaLinux version-specific examples:

    # 📚 Further reading and Next Steps

    In-depth Resources:

    Related Resources:

    + + + diff --git a/series/nginx/NginxSeriesA02R8.html b/series/nginx/NginxSeriesA02R8.html new file mode 100644 index 000000000..3d8c7ead1 --- /dev/null +++ b/series/nginx/NginxSeriesA02R8.html @@ -0,0 +1,480 @@ + + + + + + A02 R8 ❯ AlmaLinux 8.x Installation | AlmaLinux Wiki + + + + + + + + + +

    # A02 R8 ❯ AlmaLinux 8.x Installation

    ℹ️ This article is part of AlmaLinux Nginx Series.


    💡 Experience Level ⭐☆☆☆☆
    📆 Last modified 2023-05-16
    🔧 Tested by
    ↳ version | platform | date
    Pawel Suchanecki
    ↳ 9.1 | x86_64 | 2023-04-21

    # 🌟 Introduction

    This is a dedicated example for the AlmaLinux 8.x series, demonstrating how to install Nginx using one of the three variants:

    • Variant I: AppStream non-module
    • Variant II: AppStream module
    • Variant III: Nginx mainline repository

    # 📝 Installation instructions

    # System Updates First!

    WARNING

    Please make sure to run sudo dnf update before proceeding with any other installation or configuration steps to ensure that your system is up-to-date and any known security vulnerabilities or bugs are patched.

    # 📖 Available Nginx Versions (AlmaLinux OS 8.7)

    Different Nginx server versions are available to install depending on the installation variant.

    Installation Variant Nginx Versions available Notes
    🟥 AppStream non-module 1.14 Default version is outdated and does not get updates! Inadvisable.
    🟩 AppStream module 1.14 -- 1.20 Module version are getting the security updates. The recommended method.
    🟨 Nginx mainline repo 1.15.2 -- 1.23.3¹ You always get latest version of Nginx avaiable. Second good (small chance of incompatibilty).

    ¹ current version at the time of testing (1.23.4 already available at Nginx.org)

    Architecture Compatibility

    Architecture Supported
    Aarch64
    PowerPC
    S390X
    X86_64

    # 🔖 Variant I - AppStream Non-module Install

    There is no Nginx AppStream non-module package on AlmaLinux 8.x series, but there is an Appstream module one. For that reason, dnf will offer you to install Nginx as module (version 1:1.14) and accompanying elements of its Application Stream, by default.

    # ➡️ Install

    sudo dnf install nginx
    +

    Example output:

    Last metadata expiration check: 8:40:11 ago on Thu 13 Apr 2023 09:34:17 PM EDT.
    +Dependencies resolved.
    +================================================================================================================================
    + Package                            Architecture  Version                                                Repository        Size
    +================================================================================================================================
    +Installing:
    + nginx                              x86_64        1:1.14.1-9.module_el8.3.0+2165+af250afe.alma           appstream        568 k
    +Installing dependencies:
    + gd                                 x86_64        2.2.5-7.el8                                            appstream        143 k
    + jbigkit-libs                       x86_64        2.1-14.el8                                             appstream         54 k
    + libXpm                             x86_64        3.5.12-9.el8_7                                         appstream         57 k
    + libjpeg-turbo                      x86_64        1.5.3-12.el8                                           appstream        156 k
    + libtiff                            x86_64        4.0.9-26.el8_7                                         appstream        188 k
    + libwebp                            x86_64        1.0.0-5.el8                                            appstream        271 k
    + nginx-all-modules                  noarch        1:1.14.1-9.module_el8.3.0+2165+af250afe.alma           appstream         23 k
    + nginx-filesystem                   noarch        1:1.14.1-9.module_el8.3.0+2165+af250afe.alma           appstream         23 k
    + nginx-mod-http-image-filter        x86_64        1:1.14.1-9.module_el8.3.0+2165+af250afe.alma           appstream         34 k
    + nginx-mod-http-perl                x86_64        1:1.14.1-9.module_el8.3.0+2165+af250afe.alma           appstream         44 k
    + nginx-mod-http-xslt-filter         x86_64        1:1.14.1-9.module_el8.3.0+2165+af250afe.alma           appstream         32 k
    + nginx-mod-mail                     x86_64        1:1.14.1-9.module_el8.3.0+2165+af250afe.alma           appstream         63 k
    + nginx-mod-stream                   x86_64        1:1.14.1-9.module_el8.3.0+2165+af250afe.alma           appstream         84 k
    + perl-Carp                          noarch        1.42-396.el8                                           baseos            30 k
    + perl-Data-Dumper                   x86_64        2.167-399.el8                                          baseos            58 k
    + perl-Digest                        noarch        1.17-395.el8                                           appstream         27 k
    + perl-Digest-MD5                    x86_64        2.55-396.el8                                           appstream         37 k
    + perl-Encode                        x86_64        4:2.97-3.el8                                           baseos           1.5 M
    + perl-Errno                         x86_64        1.28-421.el8                                           baseos            75 k
    + perl-Exporter                      noarch        5.72-396.el8                                           baseos            34 k
    + perl-File-Path                     noarch        2.15-2.el8                                             baseos            38 k
    + perl-File-Temp                     noarch        0.230.600-1.el8                                        baseos            62 k
    + perl-Getopt-Long                   noarch        1:2.50-4.el8                                           baseos            63 k
    + perl-HTTP-Tiny                     noarch        0.074-1.el8                                            baseos            58 k
    + perl-IO                            x86_64        1.38-421.el8                                           baseos           141 k
    + perl-MIME-Base64                   x86_64        3.15-396.el8                                           baseos            30 k
    + perl-Net-SSLeay                    x86_64        1.88-2.module_el8.6.0+2811+fe6c84b0                    appstream        378 k
    + perl-PathTools                     x86_64        3.74-1.el8                                             baseos            90 k
    + perl-Pod-Escapes                   noarch        1:1.07-395.el8                                         baseos            20 k
    + perl-Pod-Perldoc                   noarch        3.28-396.el8                                           baseos            86 k
    + perl-Pod-Simple                    noarch        1:3.35-395.el8                                         baseos           213 k
    + perl-Pod-Usage                     noarch        4:1.69-395.el8                                         baseos            34 k
    + perl-Scalar-List-Utils             x86_64        3:1.49-2.el8                                           baseos            68 k
    + perl-Socket                        x86_64        4:2.027-3.el8                                          baseos            59 k
    + perl-Storable                      x86_64        1:3.11-3.el8                                           baseos            98 k
    + perl-Term-ANSIColor                noarch        4.06-396.el8                                           baseos            46 k
    + perl-Term-Cap                      noarch        1.17-395.el8                                           baseos            23 k
    + perl-Text-ParseWords               noarch        3.30-395.el8                                           baseos            18 k
    + perl-Text-Tabs+Wrap                noarch        2013.0523-395.el8                                      baseos            24 k
    + perl-Time-Local                    noarch        1:1.280-1.el8                                          baseos            33 k
    + perl-URI                           noarch        1.73-3.el8                                             appstream        116 k
    + perl-Unicode-Normalize             x86_64        1.25-396.el8                                           baseos            82 k
    + perl-constant                      noarch        1.33-396.el8                                           baseos            25 k
    + perl-interpreter                   x86_64        4:5.26.3-421.el8                                       baseos           6.3 M
    + perl-libnet                        noarch        3.11-3.el8                                             appstream        121 k
    + perl-libs                          x86_64        4:5.26.3-421.el8                                       baseos           1.6 M
    + perl-macros                        x86_64        4:5.26.3-421.el8                                       baseos            71 k
    + perl-parent                        noarch        1:0.237-1.el8                                          baseos            20 k
    + perl-podlators                     noarch        4.11-1.el8                                             baseos           118 k
    + perl-threads                       x86_64        1:2.21-2.el8                                           baseos            61 k
    + perl-threads-shared                x86_64        1.58-2.el8                                             baseos            47 k
    +Installing weak dependencies:
    + perl-IO-Socket-IP                  noarch        0.39-5.el8                                             appstream         47 k
    + perl-IO-Socket-SSL                 noarch        2.066-4.module_el8.6.0+2811+fe6c84b0                   appstream        297 k
    + perl-Mozilla-CA                    noarch        20160104-7.module_el8.5.0+2812+ed912d05                appstream         14 k
    +Enabling module streams:
    + nginx                                            1.14                                                                         
    + perl                                             5.26                                                                         
    + perl-IO-Socket-SSL                               2.066                                                                        
    + perl-libwww-perl                                 6.34                                                                         
    +
    +Transaction Summary
    +================================================================================================================================
    +Install  55 Packages
    +
    +Total download size: 14 M
    +Installed size: 40 M
    +Is this ok [y/N]: y
    +Downloading Packages:
    +(1/55): perl-Carp-1.42-396.el8.noarch.rpm                                                       304 kB/s |  30 kB     00:00    
    +(2/55): perl-Data-Dumper-2.167-399.el8.x86_64.rpm                                               489 kB/s |  58 kB     00:00    
    +(3/55): perl-Exporter-5.72-396.el8.noarch.rpm                                                   992 kB/s |  34 kB     00:00    
    +(4/55): perl-Errno-1.28-421.el8.x86_64.rpm                                                      1.1 MB/s |  75 kB     00:00    
    +(5/55): perl-File-Path-2.15-2.el8.noarch.rpm                                                    1.2 MB/s |  38 kB     00:00    
    +(6/55): perl-File-Temp-0.230.600-1.el8.noarch.rpm                                               1.2 MB/s |  62 kB     00:00    
    +(7/55): perl-Getopt-Long-2.50-4.el8.noarch.rpm                                                  1.5 MB/s |  63 kB     00:00    
    +(8/55): perl-HTTP-Tiny-0.074-1.el8.noarch.rpm                                                   1.5 MB/s |  58 kB     00:00    
    +(9/55): perl-IO-1.38-421.el8.x86_64.rpm                                                         3.0 MB/s | 141 kB     00:00    
    +(10/55): perl-Encode-2.97-3.el8.x86_64.rpm                                                      5.0 MB/s | 1.5 MB     00:00    
    +(11/55): perl-MIME-Base64-3.15-396.el8.x86_64.rpm                                               714 kB/s |  30 kB     00:00    
    +(12/55): perl-PathTools-3.74-1.el8.x86_64.rpm                                                   2.1 MB/s |  90 kB     00:00    
    +(13/55): perl-Pod-Escapes-1.07-395.el8.noarch.rpm                                               791 kB/s |  20 kB     00:00    
    +(14/55): perl-Pod-Perldoc-3.28-396.el8.noarch.rpm                                               2.3 MB/s |  86 kB     00:00    
    +(15/55): perl-Pod-Simple-3.35-395.el8.noarch.rpm                                                5.8 MB/s | 213 kB     00:00    
    +(16/55): perl-Pod-Usage-1.69-395.el8.noarch.rpm                                                 935 kB/s |  34 kB     00:00    
    +(17/55): perl-Scalar-List-Utils-1.49-2.el8.x86_64.rpm                                           2.2 MB/s |  68 kB     00:00    
    +(18/55): perl-Socket-2.027-3.el8.x86_64.rpm                                                     1.9 MB/s |  59 kB     00:00    
    +(19/55): perl-Storable-3.11-3.el8.x86_64.rpm                                                    2.8 MB/s |  98 kB     00:00    
    +(20/55): perl-Term-ANSIColor-4.06-396.el8.noarch.rpm                                            1.5 MB/s |  46 kB     00:00    
    +(21/55): perl-Term-Cap-1.17-395.el8.noarch.rpm                                                  740 kB/s |  23 kB     00:00    
    +(22/55): perl-Text-ParseWords-3.30-395.el8.noarch.rpm                                           665 kB/s |  18 kB     00:00    
    +(23/55): perl-Text-Tabs+Wrap-2013.0523-395.el8.noarch.rpm                                       882 kB/s |  24 kB     00:00    
    +(24/55): perl-Time-Local-1.280-1.el8.noarch.rpm                                                 907 kB/s |  33 kB     00:00    
    +(25/55): perl-Unicode-Normalize-1.25-396.el8.x86_64.rpm                                         2.0 MB/s |  82 kB     00:00    
    +(26/55): perl-constant-1.33-396.el8.noarch.rpm                                                  642 kB/s |  25 kB     00:00    
    +(27/55): perl-macros-5.26.3-421.el8.x86_64.rpm                                                  1.2 MB/s |  71 kB     00:00    
    +(28/55): perl-parent-0.237-1.el8.noarch.rpm                                                     389 kB/s |  20 kB     00:00    
    +(29/55): perl-podlators-4.11-1.el8.noarch.rpm                                                   2.3 MB/s | 118 kB     00:00    
    +(30/55): perl-threads-2.21-2.el8.x86_64.rpm                                                     1.5 MB/s |  61 kB     00:00    
    +(31/55): perl-threads-shared-1.58-2.el8.x86_64.rpm                                              956 kB/s |  47 kB     00:00    
    +(32/55): perl-libs-5.26.3-421.el8.x86_64.rpm                                                    5.4 MB/s | 1.6 MB     00:00    
    +(33/55): gd-2.2.5-7.el8.x86_64.rpm                                                              2.3 MB/s | 143 kB     00:00    
    +(34/55): jbigkit-libs-2.1-14.el8.x86_64.rpm                                                     1.1 MB/s |  54 kB     00:00    
    +(35/55): libXpm-3.5.12-9.el8_7.x86_64.rpm                                                       1.8 MB/s |  57 kB     00:00    
    +(36/55): libjpeg-turbo-1.5.3-12.el8.x86_64.rpm                                                  2.1 MB/s | 156 kB     00:00    
    +(37/55): libtiff-4.0.9-26.el8_7.x86_64.rpm                                                      2.4 MB/s | 188 kB     00:00    
    +(38/55): libwebp-1.0.0-5.el8.x86_64.rpm                                                         2.4 MB/s | 271 kB     00:00    
    +(39/55): nginx-1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64.rpm                            3.9 MB/s | 568 kB     00:00    
    +(40/55): nginx-all-modules-1.14.1-9.module_el8.3.0+2165+af250afe.alma.noarch.rpm                371 kB/s |  23 kB     00:00    
    +(41/55): nginx-filesystem-1.14.1-9.module_el8.3.0+2165+af250afe.alma.noarch.rpm                 456 kB/s |  23 kB     00:00    
    +(42/55): nginx-mod-http-image-filter-1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64.rpm      605 kB/s |  34 kB     00:00    
    +(43/55): nginx-mod-http-perl-1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64.rpm              766 kB/s |  44 kB     00:00    
    +(44/55): nginx-mod-http-xslt-filter-1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64.rpm       616 kB/s |  32 kB     00:00    
    +(45/55): nginx-mod-mail-1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64.rpm                   1.1 MB/s |  63 kB     00:00    
    +(46/55): nginx-mod-stream-1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64.rpm                 1.4 MB/s |  84 kB     00:00    
    +(47/55): perl-interpreter-5.26.3-421.el8.x86_64.rpm                                             7.8 MB/s | 6.3 MB     00:00    
    +(48/55): perl-Digest-1.17-395.el8.noarch.rpm                                                    375 kB/s |  27 kB     00:00    
    +(49/55): perl-Digest-MD5-2.55-396.el8.x86_64.rpm                                                599 kB/s |  37 kB     00:00    
    +(50/55): perl-IO-Socket-IP-0.39-5.el8.noarch.rpm                                                1.7 MB/s |  47 kB     00:00    
    +(51/55): perl-Mozilla-CA-20160104-7.module_el8.5.0+2812+ed912d05.noarch.rpm                     399 kB/s |  14 kB     00:00    
    +(52/55): perl-IO-Socket-SSL-2.066-4.module_el8.6.0+2811+fe6c84b0.noarch.rpm                     5.8 MB/s | 297 kB     00:00    
    +(53/55): perl-URI-1.73-3.el8.noarch.rpm                                                         2.8 MB/s | 116 kB     00:00    
    +(54/55): perl-Net-SSLeay-1.88-2.module_el8.6.0+2811+fe6c84b0.x86_64.rpm                         5.2 MB/s | 378 kB     00:00    
    +(55/55): perl-libnet-3.11-3.el8.noarch.rpm                                                      2.5 MB/s | 121 kB     00:00    
    +--------------------------------------------------------------------------------------------------------------------------------
    +Total                                                                                           4.5 MB/s |  14 MB     00:03     
    +Running transaction check
    +Transaction check succeeded.
    +Running transaction test
    +Transaction test succeeded.
    +Running transaction
    +  Preparing        :                                                                                                        1/1 
    +  Installing       : perl-Digest-1.17-395.el8.noarch                                                                       1/55 
    +  Installing       : perl-Digest-MD5-2.55-396.el8.x86_64                                                                   2/55 
    +  Installing       : perl-Data-Dumper-2.167-399.el8.x86_64                                                                 3/55 
    +  Installing       : perl-libnet-3.11-3.el8.noarch                                                                         4/55 
    +  Installing       : perl-Net-SSLeay-1.88-2.module_el8.6.0+2811+fe6c84b0.x86_64                                            5/55 
    +  Installing       : perl-URI-1.73-3.el8.noarch                                                                            6/55 
    +  Installing       : perl-Pod-Escapes-1:1.07-395.el8.noarch                                                                7/55 
    +  Installing       : perl-Time-Local-1:1.280-1.el8.noarch                                                                  8/55 
    +  Installing       : perl-IO-Socket-IP-0.39-5.el8.noarch                                                                   9/55 
    +  Installing       : perl-Mozilla-CA-20160104-7.module_el8.5.0+2812+ed912d05.noarch                                       10/55 
    +  Installing       : perl-IO-Socket-SSL-2.066-4.module_el8.6.0+2811+fe6c84b0.noarch                                       11/55 
    +  Installing       : perl-Term-ANSIColor-4.06-396.el8.noarch                                                              12/55 
    +  Installing       : perl-Term-Cap-1.17-395.el8.noarch                                                                    13/55 
    +  Installing       : perl-File-Temp-0.230.600-1.el8.noarch                                                                14/55 
    +  Installing       : perl-Pod-Simple-1:3.35-395.el8.noarch                                                                15/55 
    +  Installing       : perl-HTTP-Tiny-0.074-1.el8.noarch                                                                    16/55 
    +  Installing       : perl-podlators-4.11-1.el8.noarch                                                                     17/55 
    +  Installing       : perl-Pod-Perldoc-3.28-396.el8.noarch                                                                 18/55 
    +  Installing       : perl-Text-ParseWords-3.30-395.el8.noarch                                                             19/55 
    +  Installing       : perl-Pod-Usage-4:1.69-395.el8.noarch                                                                 20/55 
    +  Installing       : perl-MIME-Base64-3.15-396.el8.x86_64                                                                 21/55 
    +  Installing       : perl-Storable-1:3.11-3.el8.x86_64                                                                    22/55 
    +  Installing       : perl-Getopt-Long-1:2.50-4.el8.noarch                                                                 23/55 
    +  Installing       : perl-Errno-1.28-421.el8.x86_64                                                                       24/55 
    +  Installing       : perl-Socket-4:2.027-3.el8.x86_64                                                                     25/55 
    +  Installing       : perl-Encode-4:2.97-3.el8.x86_64                                                                      26/55 
    +  Installing       : perl-Exporter-5.72-396.el8.noarch                                                                    27/55 
    +  Installing       : perl-Scalar-List-Utils-3:1.49-2.el8.x86_64                                                           28/55 
    +  Installing       : perl-macros-4:5.26.3-421.el8.x86_64                                                                  29/55 
    +  Installing       : perl-parent-1:0.237-1.el8.noarch                                                                     30/55 
    +  Installing       : perl-Text-Tabs+Wrap-2013.0523-395.el8.noarch                                                         31/55 
    +  Installing       : perl-Unicode-Normalize-1.25-396.el8.x86_64                                                           32/55 
    +  Installing       : perl-File-Path-2.15-2.el8.noarch                                                                     33/55 
    +  Installing       : perl-IO-1.38-421.el8.x86_64                                                                          34/55 
    +  Installing       : perl-PathTools-3.74-1.el8.x86_64                                                                     35/55 
    +  Installing       : perl-constant-1.33-396.el8.noarch                                                                    36/55 
    +  Installing       : perl-threads-1:2.21-2.el8.x86_64                                                                     37/55 
    +  Installing       : perl-threads-shared-1.58-2.el8.x86_64                                                                38/55 
    +  Installing       : perl-libs-4:5.26.3-421.el8.x86_64                                                                    39/55 
    +  Installing       : perl-Carp-1.42-396.el8.noarch                                                                        40/55 
    +  Installing       : perl-interpreter-4:5.26.3-421.el8.x86_64                                                             41/55 
    +  Installing       : libjpeg-turbo-1.5.3-12.el8.x86_64                                                                    42/55 
    +  Running scriptlet: nginx-filesystem-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.noarch                                 43/55 
    +  Installing       : nginx-filesystem-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.noarch                                 43/55 
    +  Installing       : libwebp-1.0.0-5.el8.x86_64                                                                           44/55 
    +  Installing       : libXpm-3.5.12-9.el8_7.x86_64                                                                         45/55 
    +  Installing       : jbigkit-libs-2.1-14.el8.x86_64                                                                       46/55 
    +  Running scriptlet: jbigkit-libs-2.1-14.el8.x86_64                                                                       46/55 
    +  Installing       : libtiff-4.0.9-26.el8_7.x86_64                                                                        47/55 
    +  Installing       : gd-2.2.5-7.el8.x86_64                                                                                48/55 
    +  Running scriptlet: gd-2.2.5-7.el8.x86_64                                                                                48/55 
    +  Installing       : nginx-mod-http-image-filter-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64                      49/55 
    +  Running scriptlet: nginx-mod-http-image-filter-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64                      49/55 
    +  Installing       : nginx-mod-http-xslt-filter-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64                       50/55 
    +  Running scriptlet: nginx-mod-http-xslt-filter-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64                       50/55 
    +  Installing       : nginx-mod-mail-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64                                   51/55 
    +  Running scriptlet: nginx-mod-mail-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64                                   51/55 
    +  Installing       : nginx-mod-stream-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64                                 52/55 
    +  Running scriptlet: nginx-mod-stream-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64                                 52/55 
    +  Installing       : nginx-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64                                            53/55 
    +  Running scriptlet: nginx-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64                                            53/55 
    +  Installing       : nginx-mod-http-perl-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64                              54/55 
    +  Running scriptlet: nginx-mod-http-perl-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64                              54/55 
    +  Installing       : nginx-all-modules-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.noarch                                55/55 
    +  Running scriptlet: nginx-all-modules-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.noarch                                55/55 
    +  Verifying        : perl-Carp-1.42-396.el8.noarch                                                                         1/55 
    +  Verifying        : perl-Data-Dumper-2.167-399.el8.x86_64                                                                 2/55 
    +  Verifying        : perl-Encode-4:2.97-3.el8.x86_64                                                                       3/55 
    +  Verifying        : perl-Errno-1.28-421.el8.x86_64                                                                        4/55 
    +  Verifying        : perl-Exporter-5.72-396.el8.noarch                                                                     5/55 
    +  Verifying        : perl-File-Path-2.15-2.el8.noarch                                                                      6/55 
    +  Verifying        : perl-File-Temp-0.230.600-1.el8.noarch                                                                 7/55 
    +  Verifying        : perl-Getopt-Long-1:2.50-4.el8.noarch                                                                  8/55 
    +  Verifying        : perl-HTTP-Tiny-0.074-1.el8.noarch                                                                     9/55 
    +  Verifying        : perl-IO-1.38-421.el8.x86_64                                                                          10/55 
    +  Verifying        : perl-MIME-Base64-3.15-396.el8.x86_64                                                                 11/55 
    +  Verifying        : perl-PathTools-3.74-1.el8.x86_64                                                                     12/55 
    +  Verifying        : perl-Pod-Escapes-1:1.07-395.el8.noarch                                                               13/55 
    +  Verifying        : perl-Pod-Perldoc-3.28-396.el8.noarch                                                                 14/55 
    +  Verifying        : perl-Pod-Simple-1:3.35-395.el8.noarch                                                                15/55 
    +  Verifying        : perl-Pod-Usage-4:1.69-395.el8.noarch                                                                 16/55 
    +  Verifying        : perl-Scalar-List-Utils-3:1.49-2.el8.x86_64                                                           17/55 
    +  Verifying        : perl-Socket-4:2.027-3.el8.x86_64                                                                     18/55 
    +  Verifying        : perl-Storable-1:3.11-3.el8.x86_64                                                                    19/55 
    +  Verifying        : perl-Term-ANSIColor-4.06-396.el8.noarch                                                              20/55 
    +  Verifying        : perl-Term-Cap-1.17-395.el8.noarch                                                                    21/55 
    +  Verifying        : perl-Text-ParseWords-3.30-395.el8.noarch                                                             22/55 
    +  Verifying        : perl-Text-Tabs+Wrap-2013.0523-395.el8.noarch                                                         23/55 
    +  Verifying        : perl-Time-Local-1:1.280-1.el8.noarch                                                                 24/55 
    +  Verifying        : perl-Unicode-Normalize-1.25-396.el8.x86_64                                                           25/55 
    +  Verifying        : perl-constant-1.33-396.el8.noarch                                                                    26/55 
    +  Verifying        : perl-interpreter-4:5.26.3-421.el8.x86_64                                                             27/55 
    +  Verifying        : perl-libs-4:5.26.3-421.el8.x86_64                                                                    28/55 
    +  Verifying        : perl-macros-4:5.26.3-421.el8.x86_64                                                                  29/55 
    +  Verifying        : perl-parent-1:0.237-1.el8.noarch                                                                     30/55 
    +  Verifying        : perl-podlators-4.11-1.el8.noarch                                                                     31/55 
    +  Verifying        : perl-threads-1:2.21-2.el8.x86_64                                                                     32/55 
    +  Verifying        : perl-threads-shared-1.58-2.el8.x86_64                                                                33/55 
    +  Verifying        : gd-2.2.5-7.el8.x86_64                                                                                34/55 
    +  Verifying        : jbigkit-libs-2.1-14.el8.x86_64                                                                       35/55 
    +  Verifying        : libXpm-3.5.12-9.el8_7.x86_64                                                                         36/55 
    +  Verifying        : libjpeg-turbo-1.5.3-12.el8.x86_64                                                                    37/55 
    +  Verifying        : libtiff-4.0.9-26.el8_7.x86_64                                                                        38/55 
    +  Verifying        : libwebp-1.0.0-5.el8.x86_64                                                                           39/55 
    +  Verifying        : nginx-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64                                            40/55 
    +  Verifying        : nginx-all-modules-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.noarch                                41/55 
    +  Verifying        : nginx-filesystem-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.noarch                                 42/55 
    +  Verifying        : nginx-mod-http-image-filter-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64                      43/55 
    +  Verifying        : nginx-mod-http-perl-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64                              44/55 
    +  Verifying        : nginx-mod-http-xslt-filter-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64                       45/55 
    +  Verifying        : nginx-mod-mail-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64                                   46/55 
    +  Verifying        : nginx-mod-stream-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64                                 47/55 
    +  Verifying        : perl-Digest-1.17-395.el8.noarch                                                                      48/55 
    +  Verifying        : perl-Digest-MD5-2.55-396.el8.x86_64                                                                  49/55 
    +  Verifying        : perl-IO-Socket-IP-0.39-5.el8.noarch                                                                  50/55 
    +  Verifying        : perl-IO-Socket-SSL-2.066-4.module_el8.6.0+2811+fe6c84b0.noarch                                       51/55 
    +  Verifying        : perl-Mozilla-CA-20160104-7.module_el8.5.0+2812+ed912d05.noarch                                       52/55 
    +  Verifying        : perl-Net-SSLeay-1.88-2.module_el8.6.0+2811+fe6c84b0.x86_64                                           53/55 
    +  Verifying        : perl-URI-1.73-3.el8.noarch                                                                           54/55 
    +  Verifying        : perl-libnet-3.11-3.el8.noarch                                                                        55/55 
    +
    +Installed:
    +  gd-2.2.5-7.el8.x86_64                                                                                                         
    +  jbigkit-libs-2.1-14.el8.x86_64                                                                                                
    +  libXpm-3.5.12-9.el8_7.x86_64                                                                                                  
    +  libjpeg-turbo-1.5.3-12.el8.x86_64                                                                                             
    +  libtiff-4.0.9-26.el8_7.x86_64                                                                                                 
    +  libwebp-1.0.0-5.el8.x86_64                                                                                                    
    +  nginx-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64                                                                     
    +  nginx-all-modules-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.noarch                                                         
    +  nginx-filesystem-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.noarch                                                          
    +  nginx-mod-http-image-filter-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64                                               
    +  nginx-mod-http-perl-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64                                                       
    +  nginx-mod-http-xslt-filter-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64                                                
    +  nginx-mod-mail-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64                                                            
    +  nginx-mod-stream-1:1.14.1-9.module_el8.3.0+2165+af250afe.alma.x86_64                                                          
    +  perl-Carp-1.42-396.el8.noarch                                                                                                 
    +  perl-Data-Dumper-2.167-399.el8.x86_64                                                                                         
    +  perl-Digest-1.17-395.el8.noarch                                                                                               
    +  perl-Digest-MD5-2.55-396.el8.x86_64                                                                                           
    +  perl-Encode-4:2.97-3.el8.x86_64                                                                                               
    +  perl-Errno-1.28-421.el8.x86_64                                                                                                
    +  perl-Exporter-5.72-396.el8.noarch                                                                                             
    +  perl-File-Path-2.15-2.el8.noarch                                                                                              
    +  perl-File-Temp-0.230.600-1.el8.noarch                                                                                         
    +  perl-Getopt-Long-1:2.50-4.el8.noarch                                                                                          
    +  perl-HTTP-Tiny-0.074-1.el8.noarch                                                                                             
    +  perl-IO-1.38-421.el8.x86_64                                                                                                   
    +  perl-IO-Socket-IP-0.39-5.el8.noarch                                                                                           
    +  perl-IO-Socket-SSL-2.066-4.module_el8.6.0+2811+fe6c84b0.noarch                                                                
    +  perl-MIME-Base64-3.15-396.el8.x86_64                                                                                          
    +  perl-Mozilla-CA-20160104-7.module_el8.5.0+2812+ed912d05.noarch                                                                
    +  perl-Net-SSLeay-1.88-2.module_el8.6.0+2811+fe6c84b0.x86_64                                                                    
    +  perl-PathTools-3.74-1.el8.x86_64                                                                                              
    +  perl-Pod-Escapes-1:1.07-395.el8.noarch                                                                                        
    +  perl-Pod-Perldoc-3.28-396.el8.noarch                                                                                          
    +  perl-Pod-Simple-1:3.35-395.el8.noarch                                                                                         
    +  perl-Pod-Usage-4:1.69-395.el8.noarch                                                                                          
    +  perl-Scalar-List-Utils-3:1.49-2.el8.x86_64                                                                                    
    +  perl-Socket-4:2.027-3.el8.x86_64                                                                                              
    +  perl-Storable-1:3.11-3.el8.x86_64                                                                                             
    +  perl-Term-ANSIColor-4.06-396.el8.noarch                                                                                       
    +  perl-Term-Cap-1.17-395.el8.noarch                                                                                             
    +  perl-Text-ParseWords-3.30-395.el8.noarch                                                                                      
    +  perl-Text-Tabs+Wrap-2013.0523-395.el8.noarch                                                                                  
    +  perl-Time-Local-1:1.280-1.el8.noarch                                                                                          
    +  perl-URI-1.73-3.el8.noarch                                                                                                    
    +  perl-Unicode-Normalize-1.25-396.el8.x86_64                                                                                    
    +  perl-constant-1.33-396.el8.noarch                                                                                             
    +  perl-interpreter-4:5.26.3-421.el8.x86_64                                                                                      
    +  perl-libnet-3.11-3.el8.noarch                                                                                                 
    +  perl-libs-4:5.26.3-421.el8.x86_64                                                                                             
    +  perl-macros-4:5.26.3-421.el8.x86_64                                                                                           
    +  perl-parent-1:0.237-1.el8.noarch                                                                                              
    +  perl-podlators-4.11-1.el8.noarch                                                                                              
    +  perl-threads-1:2.21-2.el8.x86_64                                                                                              
    +  perl-threads-shared-1.58-2.el8.x86_64                                                                                         
    +
    +Complete!
    +

    # ➡️ Test installation

    nginx -v
    +

    Expected output:

    nginx version: nginx/1.14.1
    +

    # 🔖 Variant II: AppStream Module Install

    To install the latest module version of Nginx on AlmaLinux (8.7 in the example below) you can list available module versions (streams) and then install ("enable" for modules) selected version.

    # ➡️ Pre-Install: list versions

    sudo dnf module list nginx
    +

    Example output (pre-install):

    AlmaLinux 8 - AppStream                                                                         5.0 kB/s | 4.1 kB     00:00    
    +AlmaLinux 8 - AppStream                                                                         6.3 MB/s |  12 MB     00:01    
    +AlmaLinux 8 - Extras                                                                            4.2 kB/s | 3.8 kB     00:00    
    +AlmaLinux 8 - Extras                                                                             21 kB/s |  19 kB     00:00    
    +Extra Packages for Enterprise Linux 8 - x86_64                                                   11 kB/s |  28 kB     00:02    
    +Extra Packages for Enterprise Linux 8 - x86_64                                                  6.5 MB/s |  14 MB     00:02    
    +Symas OpenLDAP for Linux RPM repository                                                         4.2 kB/s | 2.9 kB     00:00    
    +AlmaLinux 8 - AppStream
    +Name                       Stream                           Profiles                        Summary                             
    +nginx                      1.14 [d][x]                      common [d]                      nginx webserver                     
    +nginx                      1.16 [x]                         common [d]                      nginx webserver                     
    +nginx                      1.18 [x]                         common [d]                      nginx webserver                     
    +nginx                      1.20 [x]                         common [d]                      nginx webserver                     
    +
    +Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
    +

    # ➡️ Install: enable the selected module version

    sudo dnf module enable nginx:1.20
    +

    Example output (module enable)):

    Last metadata expiration check: 0:00:44 ago on Thu 13 Apr 2023 09:06:58 PM EDT.
    +Dependencies resolved.
    +================================================================================================================================
    + Package                       Architecture                 Version                         Repository                     Size
    +================================================================================================================================
    +Enabling module streams:
    + nginx                                                      1.20                                                               
    +
    +Transaction Summary
    +================================================================================================================================
    +
    +Is this ok [y/N]: y
    +Complete!
    +

    # ➡️ Install: actual package installation

    sudo dnf install nginx
    +

    Expected output (install):

    WARNING

    TODO: EXAMPLE IS MISSING! +::😒

    # ➡️ Test installation

    nginx -v
    +

    Expected output (test)

    nginx version: nginx/1.20.1  
    +

    WARNING

    Note: If you switch between different versions of a module, you may need to reset its state using the command dnf module reset <module-name> to enable installing another version.

    In Nginx case <module-name> is nginx.

    # 🔖 Variant III: Main-line Repository Install

    To install the latest RPM package of Nginx on AlmaLinux (8.7 in example below) from the official Nginx repository (https://nginx.org), you can follow these steps:

    # ➡️ Add the repository

    Import the Nginx signing key

    sudo rpm --import https://nginx.org/keys/nginx_signing.key
    +

    Create a new Nginx repository file in the /etc/yum.repos.d/ directory with editor of choice

    sudo tee /etc/yum.repos.d/nginx.repo
    +

    ** Populate the new repo file with below text (copy-paste & press Ctrl+D)**

    [nginx-mainline]
    +name=nginx mainline repo
    +baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
    +gpgcheck=1
    +enabled=0
    +gpgkey=https://nginx.org/keys/nginx_signing.key
    +module_hotfixes=true
    +

    TIP

    When editing the file, you can change enabled=0 setting it to 1. With that change you can skip next two steps (installing dnf-utils and running dnf config-manager).

    # ➡️ Install dnf-uils

    sudo dnf install dnf-utils
    +

    Enable the newly add external repo from nginx.org:

    sudo dnf config-manager --enable nginx-mainline
    +

    Finally, install Nginx:

    sudo dnf install nginx
    +

    Example output:

    With the official Nginx mainline repo enabled dnf allows to install the latest available: 1.23.3.

    nginx stable repo                                                                                24 kB/s | 2.9 kB     00:00    
    +nginx mainline repo                                                                              39 kB/s | 2.9 kB     00:00    
    +Dependencies resolved.
    +================================================================================================================================
    + Package                 Architecture             Version                                Repository                        Size
    +================================================================================================================================
    +Installing:
    + nginx                   x86_64                   1:1.23.3-1.el8.ngx                     nginx-mainline                   834 k
    +
    +Transaction Summary
    +================================================================================================================================
    +Install  1 Package
    +
    +Total download size: 834 k
    +Installed size: 2.8 M
    +Is this ok [y/N]: y
    +Downloading Packages:
    +nginx-1.23.3-1.el8.ngx.x86_64.rpm                                                               2.9 MB/s | 834 kB     00:00    
    +--------------------------------------------------------------------------------------------------------------------------------
    +Total                                                                                           2.9 MB/s | 834 kB     00:00     
    +Running transaction check
    +Transaction check succeeded.
    +Running transaction test
    +Transaction test succeeded.
    +Running transaction
    +  Preparing        :                                                                                                        1/1 
    +  Running scriptlet: nginx-1:1.23.3-1.el8.ngx.x86_64                                                                        1/1 
    +  Installing       : nginx-1:1.23.3-1.el8.ngx.x86_64                                                                        1/1 
    +  Running scriptlet: nginx-1:1.23.3-1.el8.ngx.x86_64                                                                        1/1 
    +----------------------------------------------------------------------
    +
    +Thanks for using nginx!
    +
    +Please find the official documentation for nginx here:
    +* https://nginx.org/en/docs/
    +
    +Please subscribe to nginx-announce mailing list to get
    +the most important news about nginx:
    +* https://nginx.org/en/support.html
    +
    +Commercial subscriptions for nginx are available on:
    +* https://nginx.com/products/
    +
    +----------------------------------------------------------------------
    +
    +  Verifying        : nginx-1:1.23.3-1.el8.ngx.x86_64                                                                        1/1 
    +
    +Installed:
    +  nginx-1:1.23.3-1.el8.ngx.x86_64                                                                                               
    +
    +Complete!
    +

    # ➡️ Test

    nginx -v
    +

    Expected output (test):

    nginx version: nginx/1.23.3
    +

    # 📚 Further reading and Next Steps

    Get Back:

    In-depth Resources:

    Related Resources:

    + + + diff --git a/series/nginx/NginxSeriesA02R91.html b/series/nginx/NginxSeriesA02R91.html new file mode 100644 index 000000000..d5b948fa3 --- /dev/null +++ b/series/nginx/NginxSeriesA02R91.html @@ -0,0 +1,179 @@ + + + + + + A02 R91 ❯ AlmaLinux 9.1 Installation | AlmaLinux Wiki + + + + + + + + + +

    # A02 R91 ❯ AlmaLinux 9.1 Installation

    ℹ️ This article is part of AlmaLinux Nginx Series.


    💡 Experience Level ⭐☆☆☆☆
    📆 Last modified 2023-05-15
    🔧 Tested by
    ↳ version | platform | date
    Pawel Suchanecki
    ↳ 9.1 | x86_64 | 2023-04-21

    # 🌟 Introduction

    This is a dedicated example for the AlmaLinux 9.x series, demonstrating how to install Nginx using one of the two variants:

    • Variant I: AppStream non-module
    • Variant III¹: Nginx mainline repository

    ¹ - Variant II omitted by purpose.

    # 📝 Installation instructions

    # System Updates First!

    WARNING

    Please make sure to run sudo dnf update before proceeding with any other installation or configuration steps to ensure that your system is up-to-date and any known security vulnerabilities or bugs are patched.

    # 📖 Available Nginx Versions (AlmaLinux OS 9.1)

    Different Nginx server versions are available to install depending on the installation variant.

    Installation Variant Nginx Versions available Notes
    🟩 AppStream non-module 1.20.1 Default version is good bu
    AppStream module Not Available AppStream module method is not available on 9.1.
    🟨 Nginx mainline repo 1.21.6 -- 1.23.4¹ You always get latest version of Nginx avaiable. Second good (small chance of incompatibilty).

    ¹ current version at the time of testing.

    Architecture Compatibility

    Architecture Supported
    Aarch64
    PowerPC
    S390X
    X86_64

    # 🔖 Variant I: AppStream Non-module Install

    # Example

    # ➡️ Install

    sudo dnf install nginx
    +

    ➡️ Example output

    Last metadata expiration check: 0:01:47 ago on Fri 14 Apr 2023 02:57:10 AM CEST.
    +Dependencies resolved.
    +================================================================================================================
    + Package                          Architecture      Version                          Repository            Size
    +================================================================================================================
    +Installing:
    + nginx                            x86_64            1:1.20.1-13.el9.alma             appstream             38 k
    +Installing dependencies:
    + almalinux-logos-httpd            noarch            90.5.1-1.1.el9                   appstream             18 k
    + nginx-core                       x86_64            1:1.20.1-13.el9.alma             appstream            567 k
    + nginx-filesystem                 noarch            1:1.20.1-13.el9.alma             appstream             11 k
    +
    +Transaction Summary
    +================================================================================================================
    +Install  4 Packages
    +
    +Total download size: 634 k
    +Installed size: 1.8 M
    +Is this ok [y/N]: y
    +Downloading Packages:
    +(1/4): almalinux-logos-httpd-90.5.1-1.1.el9.noarch.rpm                          9.9 kB/s |  18 kB     00:01    
    +(2/4): nginx-1.20.1-13.el9.alma.x86_64.rpm                                       21 kB/s |  38 kB     00:01    
    +(3/4): nginx-filesystem-1.20.1-13.el9.alma.noarch.rpm                           243 kB/s |  11 kB     00:00    
    +(4/4): nginx-core-1.20.1-13.el9.alma.x86_64.rpm                                 294 kB/s | 567 kB     00:01    
    +----------------------------------------------------------------------------------------------------------------
    +Total                                                                           216 kB/s | 634 kB     00:02     
    +Running transaction check
    +Transaction check succeeded.
    +Running transaction test
    +Transaction test succeeded.
    +Running transaction
    +  Preparing        :                                                                                        1/1 
    +  Running scriptlet: nginx-filesystem-1:1.20.1-13.el9.alma.noarch                                           1/4 
    +  Installing       : nginx-filesystem-1:1.20.1-13.el9.alma.noarch                                           1/4 
    +  Installing       : nginx-core-1:1.20.1-13.el9.alma.x86_64                                                 2/4 
    +  Installing       : almalinux-logos-httpd-90.5.1-1.1.el9.noarch                                            3/4 
    +  Installing       : nginx-1:1.20.1-13.el9.alma.x86_64                                                      4/4 
    +  Running scriptlet: nginx-1:1.20.1-13.el9.alma.x86_64                                                      4/4 
    +  Verifying        : almalinux-logos-httpd-90.5.1-1.1.el9.noarch                                            1/4 
    +  Verifying        : nginx-1:1.20.1-13.el9.alma.x86_64                                                      2/4 
    +  Verifying        : nginx-core-1:1.20.1-13.el9.alma.x86_64                                                 3/4 
    +  Verifying        : nginx-filesystem-1:1.20.1-13.el9.alma.noarch                                           4/4 
    +
    +Installed:
    +  almalinux-logos-httpd-90.5.1-1.1.el9.noarch            nginx-1:1.20.1-13.el9.alma.x86_64                      
    +  nginx-core-1:1.20.1-13.el9.alma.x86_64                 nginx-filesystem-1:1.20.1-13.el9.alma.noarch           
    +
    +Complete!
    +

    # 🔖 Variant II: AppStream Module Install

    This method is not available on AlmaLinux 9.1 (Lime Lynx) -- there is no AppStream module version of Nginx in RHEL repos.

    # 🔖 Variant III: Main-line Repository Install

    # Example

    # ➡️ Import the Nginx signing key

    sudo rpm --import https://nginx.org/keys/nginx_signing.key
    +

    # ➡️ Create a repo definition file for Nginx

    sudo tee /etc/yum.repos.d/nginx.repo
    +

    # ➡️ Populate the new repo file with below text (copy-paste & Ctrl+D)

    [nginx-mainline]
    +name=nginx mainline repo
    +baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
    +gpgcheck=1
    +enabled=0
    +gpgkey=https://nginx.org/keys/nginx_signing.key
    +module_hotfixes=true
    +

    # ➡️ Install dnf-uils

    WARNING

    ℹ️ dnf-utils are repo managment tools (classic YUM utilities implemented as CLI shims on top of DNF)

    sudo dnf install dnf-utils
    +

    # ➡️ Enable the repository

    dnf config-manager --enable nginx-mainline
    +

    # ➡️ Enable/install the module

    sudo dnf install nginx
    +

    ➡️ Example output (install)

    nginx mainline repo                                                                                                                                      30 kB/s |  22 kB     00:00    
    +Dependencies resolved.
    +========================================================================================================================================================================================
    + Package                               Architecture                           Version                                              Repository                                      Size
    +========================================================================================================================================================================================
    +Installing:
    + nginx                                 x86_64                                 1:1.23.4-1.el9.ngx                                   nginx-mainline                                 868 k
    +
    +Transaction Summary
    +========================================================================================================================================================================================
    +Install  1 Package
    +
    +Total download size: 868 k
    +Installed size: 3.0 M
    +Is this ok [y/N]: y
    +Downloading Packages:
    +nginx-1.23.4-1.el9.ngx.x86_64.rpm                                                                                                                        67 kB/s | 868 kB     00:12    
    +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    +Total                                                                                                                                                    67 kB/s | 868 kB     00:12     
    +nginx mainline repo                                                                                                                                     5.9 kB/s | 1.5 kB     00:00    
    +Importing GPG key 0x7BD9BF62:
    + Userid     : "nginx signing key <signing-key@nginx.com>"
    + Fingerprint: 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
    + From       : https://nginx.org/keys/nginx_signing.key
    +Is this ok [y/N]: y
    +Key imported successfully
    +Running transaction check
    +Transaction check succeeded.
    +Running transaction test
    +Transaction test succeeded.
    +Running transaction
    +  Preparing        :                                                                                                                                                                1/1 
    +  Running scriptlet: nginx-1:1.23.4-1.el9.ngx.x86_64                                                                                                                                1/1 
    +  Installing       : nginx-1:1.23.4-1.el9.ngx.x86_64                                                                                                                                1/1 
    +  Running scriptlet: nginx-1:1.23.4-1.el9.ngx.x86_64                                                                                                                                1/1 
    +----------------------------------------------------------------------
    +
    +Thanks for using nginx!
    +
    +Please find the official documentation for nginx here:
    +* https://nginx.org/en/docs/
    +
    +Please subscribe to nginx-announce mailing list to get
    +the most important news about nginx:
    +* https://nginx.org/en/support.html
    +
    +Commercial subscriptions for nginx are available on:
    +* https://nginx.com/products/
    +
    +----------------------------------------------------------------------
    +
    +  Verifying        : nginx-1:1.23.4-1.el9.ngx.x86_64                                                                                                                                1/1 
    +
    +Installed:
    +  nginx-1:1.23.4-1.el9.ngx.x86_64                                                                                                                                                       
    +
    +Complete!
    +

    # ➡️ Test

    nginx -v
    +

    Expected output (test):

    nginx version: nginx/1.23.4
    +

    # 📚 Further reading and Next Steps

    Get Back:

    In-depth Resources:

    Related Resources:

    + + + diff --git a/series/nginx/NginxSeriesA02R92.html b/series/nginx/NginxSeriesA02R92.html new file mode 100644 index 000000000..ede3f1180 --- /dev/null +++ b/series/nginx/NginxSeriesA02R92.html @@ -0,0 +1,618 @@ + + + + + + A02 R92 ❯ AlmaLinux 9.2 Installation | AlmaLinux Wiki + + + + + + + + + +

    # A02 R92 ❯ AlmaLinux 9.2 Installation

    ℹ️ This article is part of AlmaLinux Nginx Series.


    💡 Experience Level ⭐☆☆☆☆
    📆 Last modified 2023-06-03
    🔧 Tested by
    ↳ version | platform | date
    Pawel Suchanecki
    ↳ 9.2 | x86_64 | 2023-06-03

    # 🌟 Introduction

    This is a dedicated example for the AlmaLinux 9.x series, demonstrating how to install Nginx using one of the two variants:

    • Variant I: AppStream non-module
    • Variant II: AppStream module
    • Variant III: Nginx mainline repository

    # 📝 Installation instructions

    # System Updates First!

    WARNING

    Please make sure to run sudo dnf update before proceeding with any other installation or configuration steps to ensure that your system is up-to-date and any known security vulnerabilities or bugs are patched.

    # 📖 Available Nginx Versions (AlmaLinux OS 9.2)

    Different Nginx server versions are available to install depending on the installation variant.

    Installation Variant Nginx Versions available Notes
    🟨 AppStream non-module 1.20.1 Default version is outdated and does not get updates! Inadvisable.
    🟩 AppStream module 1.22 Module version are getting the security updates. The recommended method.
    🟩 Nginx mainline repo 1.22.2 -- 1.25.0¹ You always get latest version of Nginx avaiable. Second good (small chance of incompatibilty).

    ¹ current version at the time of testing.

    Architecture Compatibility

    Architecture Supported
    Aarch64
    PowerPC
    S390X
    X86_64

    # 🔖 Variant I: AppStream Non-module Install

    # Example

    # ➡️ Install

    sudo dnf install nginx
    +

    Expected output (install):

    Last metadata expiration check: 0:26:09 ago on Fri Jun  2 20:17:44 2023.
    +Dependencies resolved.
    +==================================================================================================================================================================
    + Package                                      Architecture                  Version                                        Repository                        Size
    +==================================================================================================================================================================
    +Installing:
    + nginx                                        x86_64                        1:1.20.1-14.el9.alma                           appstream                         38 k
    +Installing dependencies:
    + almalinux-logos-httpd                        noarch                        90.5.1-1.1.el9                                 appstream                         18 k
    + nginx-core                                   x86_64                        1:1.20.1-14.el9.alma                           appstream                        567 k
    + nginx-filesystem                             noarch                        1:1.20.1-14.el9.alma                           appstream                         11 k
    +
    +Transaction Summary
    +==================================================================================================================================================================
    +Install  4 Packages
    +
    +Total download size: 634 k
    +Installed size: 1.8 M
    +Is this ok [y/N]: y
    +Downloading Packages:
    +(1/4): almalinux-logos-httpd-90.5.1-1.1.el9.noarch.rpm                                                                             85 kB/s |  18 kB     00:00    
    +(2/4): nginx-1.20.1-14.el9.alma.x86_64.rpm                                                                                        169 kB/s |  38 kB     00:00    
    +(3/4): nginx-filesystem-1.20.1-14.el9.alma.noarch.rpm                                                                             396 kB/s |  11 kB     00:00    
    +(4/4): nginx-core-1.20.1-14.el9.alma.x86_64.rpm                                                                                   2.0 MB/s | 567 kB     00:00    
    +------------------------------------------------------------------------------------------------------------------------------------------------------------------
    +Total                                                                                                                             738 kB/s | 634 kB     00:00     
    +Running transaction check
    +Transaction check succeeded.
    +Running transaction test
    +Transaction test succeeded.
    +Running transaction
    +  Preparing        :                                                                                                                                          1/1 
    +  Running scriptlet: nginx-filesystem-1:1.20.1-14.el9.alma.noarch                                                                                             1/4 
    +  Installing       : nginx-filesystem-1:1.20.1-14.el9.alma.noarch                                                                                             1/4 
    +  Installing       : nginx-core-1:1.20.1-14.el9.alma.x86_64                                                                                                   2/4 
    +  Installing       : almalinux-logos-httpd-90.5.1-1.1.el9.noarch                                                                                              3/4 
    +  Installing       : nginx-1:1.20.1-14.el9.alma.x86_64                                                                                                        4/4 
    +  Running scriptlet: nginx-1:1.20.1-14.el9.alma.x86_64                                                                                                        4/4 
    +  Verifying        : almalinux-logos-httpd-90.5.1-1.1.el9.noarch                                                                                              1/4 
    +  Verifying        : nginx-1:1.20.1-14.el9.alma.x86_64                                                                                                        2/4 
    +  Verifying        : nginx-core-1:1.20.1-14.el9.alma.x86_64                                                                                                   3/4 
    +  Verifying        : nginx-filesystem-1:1.20.1-14.el9.alma.noarch                                                                                             4/4 
    +
    +Installed:
    +  almalinux-logos-httpd-90.5.1-1.1.el9.noarch                nginx-1:1.20.1-14.el9.alma.x86_64               nginx-core-1:1.20.1-14.el9.alma.x86_64              
    +  nginx-filesystem-1:1.20.1-14.el9.alma.noarch              
    +
    +Complete!
    +

    # ➡️ Test installation

    nginx -v
    +

    Expected output (test):

    nginx version: nginx/1.20.1
    +

    # 🔖Variant II: AppStream Module Install

    sudo dnf module list nginx
    +

    Expected output (module list):

    Last metadata expiration check: 0:30:09 ago on Fri Jun  2 20:17:44 2023.
    +AlmaLinux 9 - AppStream
    +Name                                 Stream                                 Profiles                                 Summary                                      
    +nginx                                1.22 [x]                               common [d]                               nginx webserver                              
    +
    +Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
    +

    # ➡️ Install: enable the selected module version

    sudo dnf module enable nginx:1.22
    +

    Example output (module enable):

    Last metadata expiration check: 0:33:47 ago on Fri Jun  2 20:17:44 2023.
    +Dependencies resolved.
    +==================================================================================================================================================================
    + Package                                Architecture                          Version                                Repository                              Size
    +==================================================================================================================================================================
    +Enabling module streams:
    + nginx                                                                        1.22                                                                               
    +
    +Transaction Summary
    +==================================================================================================================================================================
    +
    +Is this ok [y/N]: y
    +Complete!
    +

    # ➡️ Install: actual package installation

    sudo dnf install nginx
    +

    Example output (install):

    Last metadata expiration check: 0:34:39 ago on Fri Jun  2 20:17:44 2023.
    +Dependencies resolved.
    +==================================================================================================================================================================
    + Package                                     Architecture           Version                                                       Repository                 Size
    +==================================================================================================================================================================
    +Installing group/module packages:
    + nginx                                       x86_64                 1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma                    appstream                  39 k
    + nginx-all-modules                           noarch                 1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma                    appstream                  10 k
    + nginx-filesystem                            noarch                 1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma                    appstream                  11 k
    + nginx-mod-http-image-filter                 x86_64                 1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma                    appstream                  22 k
    + nginx-mod-http-perl                         x86_64                 1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma                    appstream                  33 k
    + nginx-mod-http-xslt-filter                  x86_64                 1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma                    appstream                  20 k
    + nginx-mod-mail                              x86_64                 1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma                    appstream                  55 k
    + nginx-mod-stream                            x86_64                 1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma                    appstream                  81 k
    +Installing dependencies:
    + almalinux-logos-httpd                       noarch                 90.5.1-1.1.el9                                                appstream                  18 k
    + dejavu-sans-fonts                           noarch                 2.37-18.el9                                                   baseos                    1.3 M
    + fontconfig                                  x86_64                 2.14.0-2.el9_1                                                appstream                 274 k
    + gd                                          x86_64                 2.3.2-3.el9                                                   appstream                 131 k
    + jbigkit-libs                                x86_64                 2.1-23.el9                                                    appstream                  52 k
    + langpacks-core-font-en                      noarch                 3.0-16.el9                                                    appstream                 9.4 k
    + libX11                                      x86_64                 1.7.0-7.el9                                                   appstream                 646 k
    + libX11-common                               noarch                 1.7.0-7.el9                                                   appstream                 152 k
    + libXau                                      x86_64                 1.0.9-8.el9                                                   appstream                  30 k
    + libXpm                                      x86_64                 3.5.13-8.el9_1                                                appstream                  57 k
    + libtiff                                     x86_64                 4.4.0-7.el9                                                   appstream                 195 k
    + libwebp                                     x86_64                 1.2.0-6.el9_1                                                 appstream                 275 k
    + libxcb                                      x86_64                 1.13.1-9.el9                                                  appstream                 225 k
    + libxslt                                     x86_64                 1.1.34-9.el9                                                  appstream                 240 k
    + nginx-core                                  x86_64                 1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma                    appstream                 573 k
    + perl-AutoLoader                             noarch                 5.74-480.el9                                                  appstream                  21 k
    + perl-B                                      x86_64                 1.80-480.el9                                                  appstream                 179 k
    + perl-Carp                                   noarch                 1.50-460.el9                                                  appstream                  29 k
    + perl-Class-Struct                           noarch                 0.66-480.el9                                                  appstream                  22 k
    + perl-Data-Dumper                            x86_64                 2.174-462.el9                                                 appstream                  55 k
    + perl-Digest                                 noarch                 1.19-4.el9                                                    appstream                  25 k
    + perl-Digest-MD5                             x86_64                 2.58-4.el9                                                    appstream                  36 k
    + perl-Encode                                 x86_64                 4:3.08-462.el9                                                appstream                 1.7 M
    + perl-Errno                                  x86_64                 1.30-480.el9                                                  appstream                  15 k
    + perl-Exporter                               noarch                 5.74-461.el9                                                  appstream                  31 k
    + perl-Fcntl                                  x86_64                 1.13-480.el9                                                  appstream                  20 k
    + perl-File-Basename                          noarch                 2.85-480.el9                                                  appstream                  17 k
    + perl-File-Path                              noarch                 2.18-4.el9                                                    appstream                  35 k
    + perl-File-Temp                              noarch                 1:0.231.100-4.el9                                             appstream                  59 k
    + perl-File-stat                              noarch                 1.09-480.el9                                                  appstream                  17 k
    + perl-FileHandle                             noarch                 2.03-480.el9                                                  appstream                  16 k
    + perl-Getopt-Long                            noarch                 1:2.52-4.el9                                                  appstream                  59 k
    + perl-Getopt-Std                             noarch                 1.12-480.el9                                                  appstream                  16 k
    + perl-HTTP-Tiny                              noarch                 0.076-460.el9                                                 appstream                  54 k
    + perl-IO                                     x86_64                 1.43-480.el9                                                  appstream                  86 k
    + perl-IO-Socket-IP                           noarch                 0.41-5.el9                                                    appstream                  42 k
    + perl-IPC-Open3                              noarch                 1.21-480.el9                                                  appstream                  23 k
    + perl-MIME-Base64                            x86_64                 3.16-4.el9                                                    appstream                  30 k
    + perl-Net-SSLeay                             x86_64                 1.92-2.el9                                                    appstream                 364 k
    + perl-POSIX                                  x86_64                 1.94-480.el9                                                  appstream                  96 k
    + perl-PathTools                              x86_64                 3.78-461.el9                                                  appstream                  85 k
    + perl-Pod-Escapes                            noarch                 1:1.07-460.el9                                                appstream                  20 k
    + perl-Pod-Perldoc                            noarch                 3.28.01-461.el9                                               appstream                  83 k
    + perl-Pod-Simple                             noarch                 1:3.42-4.el9                                                  appstream                 215 k
    + perl-Pod-Usage                              noarch                 4:2.01-4.el9                                                  appstream                  40 k
    + perl-Scalar-List-Utils                      x86_64                 4:1.56-461.el9                                                appstream                  71 k
    + perl-SelectSaver                            noarch                 1.02-480.el9                                                  appstream                  12 k
    + perl-Socket                                 x86_64                 4:2.031-4.el9                                                 appstream                  54 k
    + perl-Storable                               x86_64                 1:3.21-460.el9                                                appstream                  95 k
    + perl-Symbol                                 noarch                 1.08-480.el9                                                  appstream                  14 k
    + perl-Term-ANSIColor                         noarch                 5.01-461.el9                                                  appstream                  48 k
    + perl-Term-Cap                               noarch                 1.17-460.el9                                                  appstream                  22 k
    + perl-Text-ParseWords                        noarch                 3.30-460.el9                                                  appstream                  16 k
    + perl-Text-Tabs+Wrap                         noarch                 2013.0523-460.el9                                             appstream                  22 k
    + perl-Time-Local                             noarch                 2:1.300-7.el9                                                 appstream                  33 k
    + perl-URI                                    noarch                 5.09-3.el9                                                    appstream                 108 k
    + perl-base                                   noarch                 2.27-480.el9                                                  appstream                  16 k
    + perl-constant                               noarch                 1.33-461.el9                                                  appstream                  23 k
    + perl-if                                     noarch                 0.60.800-480.el9                                              appstream                  14 k
    + perl-interpreter                            x86_64                 4:5.32.1-480.el9                                              appstream                  71 k
    + perl-libnet                                 noarch                 3.13-4.el9                                                    appstream                 125 k
    + perl-libs                                   x86_64                 4:5.32.1-480.el9                                              appstream                 2.0 M
    + perl-mro                                    x86_64                 1.23-480.el9                                                  appstream                  28 k
    + perl-overload                               noarch                 1.31-480.el9                                                  appstream                  46 k
    + perl-overloading                            noarch                 0.02-480.el9                                                  appstream                  13 k
    + perl-parent                                 noarch                 1:0.238-460.el9                                               appstream                  14 k
    + perl-podlators                              noarch                 1:4.14-460.el9                                                appstream                 111 k
    + perl-subs                                   noarch                 1.03-480.el9                                                  appstream                  12 k
    + perl-vars                                   noarch                 1.05-480.el9                                                  appstream                  13 k
    + xml-common                                  noarch                 0.6.3-58.el9                                                  appstream                  31 k
    +Installing weak dependencies:
    + perl-IO-Socket-SSL                          noarch                 2.073-1.el9                                                   appstream                 216 k
    + perl-Mozilla-CA                             noarch                 20200520-6.el9                                                appstream                  12 k
    + perl-NDBM_File                              x86_64                 1.15-480.el9                                                  appstream                  22 k
    +Installing module profiles:
    + nginx/common                                                                                                                                                    
    +
    +Transaction Summary
    +==================================================================================================================================================================
    +Install  81 Packages
    +
    +Total download size: 11 M
    +Installed size: 40 M
    +Is this ok [y/N]: y
    +Downloading Packages:
    +(1/81): almalinux-logos-httpd-90.5.1-1.1.el9.noarch.rpm                                                                            91 kB/s |  18 kB     00:00    
    +(2/81): jbigkit-libs-2.1-23.el9.x86_64.rpm                                                                                        759 kB/s |  52 kB     00:00    
    +(3/81): fontconfig-2.14.0-2.el9_1.x86_64.rpm                                                                                      1.0 MB/s | 274 kB     00:00    
    +(4/81): gd-2.3.2-3.el9.x86_64.rpm                                                                                                 482 kB/s | 131 kB     00:00    
    +(5/81): langpacks-core-font-en-3.0-16.el9.noarch.rpm                                                                              114 kB/s | 9.4 kB     00:00    
    +(6/81): libX11-1.7.0-7.el9.x86_64.rpm                                                                                             4.5 MB/s | 646 kB     00:00    
    +(7/81): libX11-common-1.7.0-7.el9.noarch.rpm                                                                                      1.0 MB/s | 152 kB     00:00    
    +(8/81): libXau-1.0.9-8.el9.x86_64.rpm                                                                                             455 kB/s |  30 kB     00:00    
    +(9/81): libXpm-3.5.13-8.el9_1.x86_64.rpm                                                                                          2.0 MB/s |  57 kB     00:00    
    +(10/81): libtiff-4.4.0-7.el9.x86_64.rpm                                                                                           3.3 MB/s | 195 kB     00:00    
    +(11/81): libwebp-1.2.0-6.el9_1.x86_64.rpm                                                                                         3.3 MB/s | 275 kB     00:00    
    +(12/81): libxcb-1.13.1-9.el9.x86_64.rpm                                                                                           2.7 MB/s | 225 kB     00:00    
    +(13/81): libxslt-1.1.34-9.el9.x86_64.rpm                                                                                          3.6 MB/s | 240 kB     00:00    
    +(14/81): nginx-1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64.rpm                                                                794 kB/s |  39 kB     00:00    
    +(15/81): nginx-all-modules-1.22.1-3.module_el9.2.0+20+2a475c1b.alma.noarch.rpm                                                    315 kB/s |  10 kB     00:00    
    +(16/81): nginx-core-1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64.rpm                                                           8.0 MB/s | 573 kB     00:00    
    +(17/81): nginx-filesystem-1.22.1-3.module_el9.2.0+20+2a475c1b.alma.noarch.rpm                                                     163 kB/s |  11 kB     00:00    
    +(18/81): nginx-mod-http-image-filter-1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64.rpm                                          365 kB/s |  22 kB     00:00    
    +(19/81): nginx-mod-http-perl-1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64.rpm                                                  1.4 MB/s |  33 kB     00:00    
    +(20/81): nginx-mod-http-xslt-filter-1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64.rpm                                           896 kB/s |  20 kB     00:00    
    +(21/81): nginx-mod-mail-1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64.rpm                                                       2.0 MB/s |  55 kB     00:00    
    +(22/81): nginx-mod-stream-1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64.rpm                                                     2.4 MB/s |  81 kB     00:00    
    +(23/81): perl-AutoLoader-5.74-480.el9.noarch.rpm                                                                                  651 kB/s |  21 kB     00:00    
    +(24/81): perl-B-1.80-480.el9.x86_64.rpm                                                                                           3.8 MB/s | 179 kB     00:00    
    +(25/81): perl-Carp-1.50-460.el9.noarch.rpm                                                                                        1.4 MB/s |  29 kB     00:00    
    +(26/81): perl-Class-Struct-0.66-480.el9.noarch.rpm                                                                                760 kB/s |  22 kB     00:00    
    +(27/81): perl-Data-Dumper-2.174-462.el9.x86_64.rpm                                                                                1.4 MB/s |  55 kB     00:00    
    +(28/81): perl-Digest-1.19-4.el9.noarch.rpm                                                                                        621 kB/s |  25 kB     00:00    
    +(29/81): perl-Digest-MD5-2.58-4.el9.x86_64.rpm                                                                                    1.0 MB/s |  36 kB     00:00    
    +(30/81): perl-Errno-1.30-480.el9.x86_64.rpm                                                                                       103 kB/s |  15 kB     00:00    
    +(31/81): perl-Exporter-5.74-461.el9.noarch.rpm                                                                                    209 kB/s |  31 kB     00:00    
    +(32/81): perl-Fcntl-1.13-480.el9.x86_64.rpm                                                                                       245 kB/s |  20 kB     00:00    
    +(33/81): perl-File-Basename-2.85-480.el9.noarch.rpm                                                                               200 kB/s |  17 kB     00:00    
    +(34/81): perl-Encode-3.08-462.el9.x86_64.rpm                                                                                      6.6 MB/s | 1.7 MB     00:00    
    +(35/81): perl-File-Path-2.18-4.el9.noarch.rpm                                                                                     1.1 MB/s |  35 kB     00:00    
    +(36/81): perl-File-Temp-0.231.100-4.el9.noarch.rpm                                                                                1.8 MB/s |  59 kB     00:00    
    +(37/81): perl-File-stat-1.09-480.el9.noarch.rpm                                                                                   750 kB/s |  17 kB     00:00    
    +(38/81): perl-FileHandle-2.03-480.el9.noarch.rpm                                                                                  700 kB/s |  16 kB     00:00    
    +(39/81): perl-Getopt-Long-2.52-4.el9.noarch.rpm                                                                                   2.8 MB/s |  59 kB     00:00    
    +(40/81): perl-Getopt-Std-1.12-480.el9.noarch.rpm                                                                                  770 kB/s |  16 kB     00:00    
    +(41/81): perl-HTTP-Tiny-0.076-460.el9.noarch.rpm                                                                                  2.3 MB/s |  54 kB     00:00    
    +(42/81): perl-IO-1.43-480.el9.x86_64.rpm                                                                                          1.6 MB/s |  86 kB     00:00    
    +(43/81): perl-IO-Socket-IP-0.41-5.el9.noarch.rpm                                                                                  749 kB/s |  42 kB     00:00    
    +(44/81): perl-IO-Socket-SSL-2.073-1.el9.noarch.rpm                                                                                2.5 MB/s | 216 kB     00:00    
    +(45/81): perl-IPC-Open3-1.21-480.el9.noarch.rpm                                                                                   471 kB/s |  23 kB     00:00    
    +(46/81): perl-MIME-Base64-3.16-4.el9.x86_64.rpm                                                                                   675 kB/s |  30 kB     00:00    
    +(47/81): perl-Mozilla-CA-20200520-6.el9.noarch.rpm                                                                                591 kB/s |  12 kB     00:00    
    +(48/81): perl-NDBM_File-1.15-480.el9.x86_64.rpm                                                                                   938 kB/s |  22 kB     00:00    
    +(49/81): perl-Net-SSLeay-1.92-2.el9.x86_64.rpm                                                                                    6.6 MB/s | 364 kB     00:00    
    +(50/81): perl-POSIX-1.94-480.el9.x86_64.rpm                                                                                       2.2 MB/s |  96 kB     00:00    
    +(51/81): perl-PathTools-3.78-461.el9.x86_64.rpm                                                                                   1.8 MB/s |  85 kB     00:00    
    +(52/81): perl-Pod-Escapes-1.07-460.el9.noarch.rpm                                                                                 976 kB/s |  20 kB     00:00    
    +(53/81): perl-Pod-Perldoc-3.28.01-461.el9.noarch.rpm                                                                              3.5 MB/s |  83 kB     00:00    
    +(54/81): perl-Pod-Simple-3.42-4.el9.noarch.rpm                                                                                    4.3 MB/s | 215 kB     00:00    
    +(55/81): perl-Pod-Usage-2.01-4.el9.noarch.rpm                                                                                     876 kB/s |  40 kB     00:00    
    +(56/81): perl-Scalar-List-Utils-1.56-461.el9.x86_64.rpm                                                                           1.7 MB/s |  71 kB     00:00    
    +(57/81): perl-SelectSaver-1.02-480.el9.noarch.rpm                                                                                 501 kB/s |  12 kB     00:00    
    +(58/81): perl-Socket-2.031-4.el9.x86_64.rpm                                                                                       2.0 MB/s |  54 kB     00:00    
    +(59/81): perl-Storable-3.21-460.el9.x86_64.rpm                                                                                    3.1 MB/s |  95 kB     00:00    
    +(60/81): perl-Symbol-1.08-480.el9.noarch.rpm                                                                                      621 kB/s |  14 kB     00:00    
    +(61/81): perl-Term-ANSIColor-5.01-461.el9.noarch.rpm                                                                              2.0 MB/s |  48 kB     00:00    
    +(62/81): perl-Term-Cap-1.17-460.el9.noarch.rpm                                                                                    1.0 MB/s |  22 kB     00:00    
    +(63/81): perl-Text-ParseWords-3.30-460.el9.noarch.rpm                                                                             683 kB/s |  16 kB     00:00    
    +(64/81): perl-Text-Tabs+Wrap-2013.0523-460.el9.noarch.rpm                                                                         1.0 MB/s |  22 kB     00:00    
    +(65/81): perl-Time-Local-1.300-7.el9.noarch.rpm                                                                                   1.4 MB/s |  33 kB     00:00    
    +(66/81): perl-URI-5.09-3.el9.noarch.rpm                                                                                           3.5 MB/s | 108 kB     00:00    
    +(67/81): perl-base-2.27-480.el9.noarch.rpm                                                                                        513 kB/s |  16 kB     00:00    
    +(68/81): perl-constant-1.33-461.el9.noarch.rpm                                                                                    928 kB/s |  23 kB     00:00    
    +(69/81): perl-if-0.60.800-480.el9.noarch.rpm                                                                                      689 kB/s |  14 kB     00:00    
    +(70/81): perl-interpreter-5.32.1-480.el9.x86_64.rpm                                                                               3.1 MB/s |  71 kB     00:00    
    +(71/81): perl-libnet-3.13-4.el9.noarch.rpm                                                                                        3.8 MB/s | 125 kB     00:00    
    +(72/81): perl-mro-1.23-480.el9.x86_64.rpm                                                                                         311 kB/s |  28 kB     00:00    
    +(73/81): perl-overload-1.31-480.el9.noarch.rpm                                                                                    547 kB/s |  46 kB     00:00    
    +(74/81): perl-overloading-0.02-480.el9.noarch.rpm                                                                                 161 kB/s |  13 kB     00:00    
    +(75/81): perl-parent-0.238-460.el9.noarch.rpm                                                                                     176 kB/s |  14 kB     00:00    
    +(76/81): perl-libs-5.32.1-480.el9.x86_64.rpm                                                                                      9.5 MB/s | 2.0 MB     00:00    
    +(77/81): perl-podlators-4.14-460.el9.noarch.rpm                                                                                   2.8 MB/s | 111 kB     00:00    
    +(78/81): perl-subs-1.03-480.el9.noarch.rpm                                                                                        249 kB/s |  12 kB     00:00    
    +(79/81): perl-vars-1.05-480.el9.noarch.rpm                                                                                        253 kB/s |  13 kB     00:00    
    +(80/81): xml-common-0.6.3-58.el9.noarch.rpm                                                                                       510 kB/s |  31 kB     00:00    
    +(81/81): dejavu-sans-fonts-2.37-18.el9.noarch.rpm                                                                                 7.6 MB/s | 1.3 MB     00:00    
    +------------------------------------------------------------------------------------------------------------------------------------------------------------------
    +Total                                                                                                                             4.0 MB/s |  11 MB     00:02     
    +Running transaction check
    +Transaction check succeeded.
    +Running transaction test
    +Transaction test succeeded.
    +Running transaction
    +  Preparing        :                                                                                                                                          1/1 
    +  Installing       : dejavu-sans-fonts-2.37-18.el9.noarch                                                                                                    1/81 
    +  Running scriptlet: nginx-filesystem-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.noarch                                                                      2/81 
    +  Installing       : nginx-filesystem-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.noarch                                                                      2/81 
    +  Installing       : libwebp-1.2.0-6.el9_1.x86_64                                                                                                            3/81 
    +  Installing       : nginx-core-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64                                                                            4/81 
    +  Installing       : langpacks-core-font-en-3.0-16.el9.noarch                                                                                                5/81 
    +  Installing       : perl-Digest-1.19-4.el9.noarch                                                                                                           6/81 
    +  Installing       : perl-Digest-MD5-2.58-4.el9.x86_64                                                                                                       7/81 
    +  Installing       : perl-B-1.80-480.el9.x86_64                                                                                                              8/81 
    +  Installing       : perl-FileHandle-2.03-480.el9.noarch                                                                                                     9/81 
    +  Installing       : perl-Data-Dumper-2.174-462.el9.x86_64                                                                                                  10/81 
    +  Installing       : perl-libnet-3.13-4.el9.noarch                                                                                                          11/81 
    +  Installing       : perl-AutoLoader-5.74-480.el9.noarch                                                                                                    12/81 
    +  Installing       : perl-base-2.27-480.el9.noarch                                                                                                          13/81 
    +  Installing       : perl-URI-5.09-3.el9.noarch                                                                                                             14/81 
    +  Installing       : perl-Net-SSLeay-1.92-2.el9.x86_64                                                                                                      15/81 
    +  Installing       : perl-Mozilla-CA-20200520-6.el9.noarch                                                                                                  16/81 
    +  Installing       : perl-if-0.60.800-480.el9.noarch                                                                                                        17/81 
    +  Installing       : perl-IO-Socket-IP-0.41-5.el9.noarch                                                                                                    18/81 
    +  Installing       : perl-Time-Local-2:1.300-7.el9.noarch                                                                                                   19/81 
    +  Installing       : perl-File-Path-2.18-4.el9.noarch                                                                                                       20/81 
    +  Installing       : perl-Pod-Escapes-1:1.07-460.el9.noarch                                                                                                 21/81 
    +  Installing       : perl-Text-Tabs+Wrap-2013.0523-460.el9.noarch                                                                                           22/81 
    +  Installing       : perl-IO-Socket-SSL-2.073-1.el9.noarch                                                                                                  23/81 
    +  Installing       : perl-Class-Struct-0.66-480.el9.noarch                                                                                                  24/81 
    +  Installing       : perl-POSIX-1.94-480.el9.x86_64                                                                                                         25/81 
    +  Installing       : perl-Term-ANSIColor-5.01-461.el9.noarch                                                                                                26/81 
    +  Installing       : perl-IPC-Open3-1.21-480.el9.noarch                                                                                                     27/81 
    +  Installing       : perl-subs-1.03-480.el9.noarch                                                                                                          28/81 
    +  Installing       : perl-File-Temp-1:0.231.100-4.el9.noarch                                                                                                29/81 
    +  Installing       : perl-Term-Cap-1.17-460.el9.noarch                                                                                                      30/81 
    +  Installing       : perl-Pod-Simple-1:3.42-4.el9.noarch                                                                                                    31/81 
    +  Installing       : perl-HTTP-Tiny-0.076-460.el9.noarch                                                                                                    32/81 
    +  Installing       : perl-Socket-4:2.031-4.el9.x86_64                                                                                                       33/81 
    +  Installing       : perl-SelectSaver-1.02-480.el9.noarch                                                                                                   34/81 
    +  Installing       : perl-Symbol-1.08-480.el9.noarch                                                                                                        35/81 
    +  Installing       : perl-File-stat-1.09-480.el9.noarch                                                                                                     36/81 
    +  Installing       : perl-podlators-1:4.14-460.el9.noarch                                                                                                   37/81 
    +  Installing       : perl-Pod-Perldoc-3.28.01-461.el9.noarch                                                                                                38/81 
    +  Installing       : perl-Fcntl-1.13-480.el9.x86_64                                                                                                         39/81 
    +  Installing       : perl-Text-ParseWords-3.30-460.el9.noarch                                                                                               40/81 
    +  Installing       : perl-mro-1.23-480.el9.x86_64                                                                                                           41/81 
    +  Installing       : perl-IO-1.43-480.el9.x86_64                                                                                                            42/81 
    +  Installing       : perl-overloading-0.02-480.el9.noarch                                                                                                   43/81 
    +  Installing       : perl-Pod-Usage-4:2.01-4.el9.noarch                                                                                                     44/81 
    +  Installing       : perl-Errno-1.30-480.el9.x86_64                                                                                                         45/81 
    +  Installing       : perl-File-Basename-2.85-480.el9.noarch                                                                                                 46/81 
    +  Installing       : perl-Getopt-Std-1.12-480.el9.noarch                                                                                                    47/81 
    +  Installing       : perl-MIME-Base64-3.16-4.el9.x86_64                                                                                                     48/81 
    +  Installing       : perl-Scalar-List-Utils-4:1.56-461.el9.x86_64                                                                                           49/81 
    +  Installing       : perl-constant-1.33-461.el9.noarch                                                                                                      50/81 
    +  Installing       : perl-Storable-1:3.21-460.el9.x86_64                                                                                                    51/81 
    +  Installing       : perl-overload-1.31-480.el9.noarch                                                                                                      52/81 
    +  Installing       : perl-parent-1:0.238-460.el9.noarch                                                                                                     53/81 
    +  Installing       : perl-vars-1.05-480.el9.noarch                                                                                                          54/81 
    +  Installing       : perl-Getopt-Long-1:2.52-4.el9.noarch                                                                                                   55/81 
    +  Installing       : perl-Carp-1.50-460.el9.noarch                                                                                                          56/81 
    +  Installing       : perl-Exporter-5.74-461.el9.noarch                                                                                                      57/81 
    +  Installing       : perl-NDBM_File-1.15-480.el9.x86_64                                                                                                     58/81 
    +  Installing       : perl-PathTools-3.78-461.el9.x86_64                                                                                                     59/81 
    +  Installing       : perl-Encode-4:3.08-462.el9.x86_64                                                                                                      60/81 
    +  Installing       : perl-libs-4:5.32.1-480.el9.x86_64                                                                                                      61/81 
    +  Installing       : perl-interpreter-4:5.32.1-480.el9.x86_64                                                                                               62/81 
    +  Running scriptlet: xml-common-0.6.3-58.el9.noarch                                                                                                         63/81 
    +  Installing       : xml-common-0.6.3-58.el9.noarch                                                                                                         63/81 
    +  Installing       : fontconfig-2.14.0-2.el9_1.x86_64                                                                                                       64/81 
    +  Running scriptlet: fontconfig-2.14.0-2.el9_1.x86_64                                                                                                       64/81 
    +  Installing       : libxslt-1.1.34-9.el9.x86_64                                                                                                            65/81 
    +  Installing       : libXau-1.0.9-8.el9.x86_64                                                                                                              66/81 
    +  Installing       : libxcb-1.13.1-9.el9.x86_64                                                                                                             67/81 
    +  Installing       : libX11-common-1.7.0-7.el9.noarch                                                                                                       68/81 
    +  Installing       : libX11-1.7.0-7.el9.x86_64                                                                                                              69/81 
    +  Installing       : libXpm-3.5.13-8.el9_1.x86_64                                                                                                           70/81 
    +  Installing       : jbigkit-libs-2.1-23.el9.x86_64                                                                                                         71/81 
    +  Installing       : libtiff-4.4.0-7.el9.x86_64                                                                                                             72/81 
    +  Installing       : gd-2.3.2-3.el9.x86_64                                                                                                                  73/81 
    +  Installing       : almalinux-logos-httpd-90.5.1-1.1.el9.noarch                                                                                            74/81 
    +  Installing       : nginx-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64                                                                                75/81 
    +  Running scriptlet: nginx-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64                                                                                75/81 
    +  Installing       : nginx-mod-http-image-filter-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64                                                          76/81 
    +  Running scriptlet: nginx-mod-http-image-filter-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64                                                          76/81 
    +  Installing       : nginx-mod-http-perl-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64                                                                  77/81 
    +  Running scriptlet: nginx-mod-http-perl-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64                                                                  77/81 
    +  Installing       : nginx-mod-http-xslt-filter-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64                                                           78/81 
    +  Running scriptlet: nginx-mod-http-xslt-filter-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64                                                           78/81 
    +  Installing       : nginx-mod-mail-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64                                                                       79/81 
    +  Running scriptlet: nginx-mod-mail-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64                                                                       79/81 
    +  Installing       : nginx-mod-stream-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64                                                                     80/81 
    +  Running scriptlet: nginx-mod-stream-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64                                                                     80/81 
    +  Installing       : nginx-all-modules-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.noarch                                                                    81/81 
    +  Running scriptlet: fontconfig-2.14.0-2.el9_1.x86_64                                                                                                       81/81 
    +  Running scriptlet: nginx-all-modules-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.noarch                                                                    81/81 
    +  Verifying        : almalinux-logos-httpd-90.5.1-1.1.el9.noarch                                                                                             1/81 
    +  Verifying        : fontconfig-2.14.0-2.el9_1.x86_64                                                                                                        2/81 
    +  Verifying        : gd-2.3.2-3.el9.x86_64                                                                                                                   3/81 
    +  Verifying        : jbigkit-libs-2.1-23.el9.x86_64                                                                                                          4/81 
    +  Verifying        : langpacks-core-font-en-3.0-16.el9.noarch                                                                                                5/81 
    +  Verifying        : libX11-1.7.0-7.el9.x86_64                                                                                                               6/81 
    +  Verifying        : libX11-common-1.7.0-7.el9.noarch                                                                                                        7/81 
    +  Verifying        : libXau-1.0.9-8.el9.x86_64                                                                                                               8/81 
    +  Verifying        : libXpm-3.5.13-8.el9_1.x86_64                                                                                                            9/81 
    +  Verifying        : libtiff-4.4.0-7.el9.x86_64                                                                                                             10/81 
    +  Verifying        : libwebp-1.2.0-6.el9_1.x86_64                                                                                                           11/81 
    +  Verifying        : libxcb-1.13.1-9.el9.x86_64                                                                                                             12/81 
    +  Verifying        : libxslt-1.1.34-9.el9.x86_64                                                                                                            13/81 
    +  Verifying        : nginx-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64                                                                                14/81 
    +  Verifying        : nginx-all-modules-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.noarch                                                                    15/81 
    +  Verifying        : nginx-core-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64                                                                           16/81 
    +  Verifying        : nginx-filesystem-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.noarch                                                                     17/81 
    +  Verifying        : nginx-mod-http-image-filter-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64                                                          18/81 
    +  Verifying        : nginx-mod-http-perl-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64                                                                  19/81 
    +  Verifying        : nginx-mod-http-xslt-filter-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64                                                           20/81 
    +  Verifying        : nginx-mod-mail-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64                                                                       21/81 
    +  Verifying        : nginx-mod-stream-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64                                                                     22/81 
    +  Verifying        : perl-AutoLoader-5.74-480.el9.noarch                                                                                                    23/81 
    +  Verifying        : perl-B-1.80-480.el9.x86_64                                                                                                             24/81 
    +  Verifying        : perl-Carp-1.50-460.el9.noarch                                                                                                          25/81 
    +  Verifying        : perl-Class-Struct-0.66-480.el9.noarch                                                                                                  26/81 
    +  Verifying        : perl-Data-Dumper-2.174-462.el9.x86_64                                                                                                  27/81 
    +  Verifying        : perl-Digest-1.19-4.el9.noarch                                                                                                          28/81 
    +  Verifying        : perl-Digest-MD5-2.58-4.el9.x86_64                                                                                                      29/81 
    +  Verifying        : perl-Encode-4:3.08-462.el9.x86_64                                                                                                      30/81 
    +  Verifying        : perl-Errno-1.30-480.el9.x86_64                                                                                                         31/81 
    +  Verifying        : perl-Exporter-5.74-461.el9.noarch                                                                                                      32/81 
    +  Verifying        : perl-Fcntl-1.13-480.el9.x86_64                                                                                                         33/81 
    +  Verifying        : perl-File-Basename-2.85-480.el9.noarch                                                                                                 34/81 
    +  Verifying        : perl-File-Path-2.18-4.el9.noarch                                                                                                       35/81 
    +  Verifying        : perl-File-Temp-1:0.231.100-4.el9.noarch                                                                                                36/81 
    +  Verifying        : perl-File-stat-1.09-480.el9.noarch                                                                                                     37/81 
    +  Verifying        : perl-FileHandle-2.03-480.el9.noarch                                                                                                    38/81 
    +  Verifying        : perl-Getopt-Long-1:2.52-4.el9.noarch                                                                                                   39/81 
    +  Verifying        : perl-Getopt-Std-1.12-480.el9.noarch                                                                                                    40/81 
    +  Verifying        : perl-HTTP-Tiny-0.076-460.el9.noarch                                                                                                    41/81 
    +  Verifying        : perl-IO-1.43-480.el9.x86_64                                                                                                            42/81 
    +  Verifying        : perl-IO-Socket-IP-0.41-5.el9.noarch                                                                                                    43/81 
    +  Verifying        : perl-IO-Socket-SSL-2.073-1.el9.noarch                                                                                                  44/81 
    +  Verifying        : perl-IPC-Open3-1.21-480.el9.noarch                                                                                                     45/81 
    +  Verifying        : perl-MIME-Base64-3.16-4.el9.x86_64                                                                                                     46/81 
    +  Verifying        : perl-Mozilla-CA-20200520-6.el9.noarch                                                                                                  47/81 
    +  Verifying        : perl-NDBM_File-1.15-480.el9.x86_64                                                                                                     48/81 
    +  Verifying        : perl-Net-SSLeay-1.92-2.el9.x86_64                                                                                                      49/81 
    +  Verifying        : perl-POSIX-1.94-480.el9.x86_64                                                                                                         50/81 
    +  Verifying        : perl-PathTools-3.78-461.el9.x86_64                                                                                                     51/81 
    +  Verifying        : perl-Pod-Escapes-1:1.07-460.el9.noarch                                                                                                 52/81 
    +  Verifying        : perl-Pod-Perldoc-3.28.01-461.el9.noarch                                                                                                53/81 
    +  Verifying        : perl-Pod-Simple-1:3.42-4.el9.noarch                                                                                                    54/81 
    +  Verifying        : perl-Pod-Usage-4:2.01-4.el9.noarch                                                                                                     55/81 
    +  Verifying        : perl-Scalar-List-Utils-4:1.56-461.el9.x86_64                                                                                           56/81 
    +  Verifying        : perl-SelectSaver-1.02-480.el9.noarch                                                                                                   57/81 
    +  Verifying        : perl-Socket-4:2.031-4.el9.x86_64                                                                                                       58/81 
    +  Verifying        : perl-Storable-1:3.21-460.el9.x86_64                                                                                                    59/81 
    +  Verifying        : perl-Symbol-1.08-480.el9.noarch                                                                                                        60/81 
    +  Verifying        : perl-Term-ANSIColor-5.01-461.el9.noarch                                                                                                61/81 
    +  Verifying        : perl-Term-Cap-1.17-460.el9.noarch                                                                                                      62/81 
    +  Verifying        : perl-Text-ParseWords-3.30-460.el9.noarch                                                                                               63/81 
    +  Verifying        : perl-Text-Tabs+Wrap-2013.0523-460.el9.noarch                                                                                           64/81 
    +  Verifying        : perl-Time-Local-2:1.300-7.el9.noarch                                                                                                   65/81 
    +  Verifying        : perl-URI-5.09-3.el9.noarch                                                                                                             66/81 
    +  Verifying        : perl-base-2.27-480.el9.noarch                                                                                                          67/81 
    +  Verifying        : perl-constant-1.33-461.el9.noarch                                                                                                      68/81 
    +  Verifying        : perl-if-0.60.800-480.el9.noarch                                                                                                        69/81 
    +  Verifying        : perl-interpreter-4:5.32.1-480.el9.x86_64                                                                                               70/81 
    +  Verifying        : perl-libnet-3.13-4.el9.noarch                                                                                                          71/81 
    +  Verifying        : perl-libs-4:5.32.1-480.el9.x86_64                                                                                                      72/81 
    +  Verifying        : perl-mro-1.23-480.el9.x86_64                                                                                                           73/81 
    +  Verifying        : perl-overload-1.31-480.el9.noarch                                                                                                      74/81 
    +  Verifying        : perl-overloading-0.02-480.el9.noarch                                                                                                   75/81 
    +  Verifying        : perl-parent-1:0.238-460.el9.noarch                                                                                                     76/81 
    +  Verifying        : perl-podlators-1:4.14-460.el9.noarch                                                                                                   77/81 
    +  Verifying        : perl-subs-1.03-480.el9.noarch                                                                                                          78/81 
    +  Verifying        : perl-vars-1.05-480.el9.noarch                                                                                                          79/81 
    +  Verifying        : xml-common-0.6.3-58.el9.noarch                                                                                                         80/81 
    +  Verifying        : dejavu-sans-fonts-2.37-18.el9.noarch                                                                                                   81/81 
    +
    +Installed:
    +  almalinux-logos-httpd-90.5.1-1.1.el9.noarch                                         dejavu-sans-fonts-2.37-18.el9.noarch                                       
    +  fontconfig-2.14.0-2.el9_1.x86_64                                                    gd-2.3.2-3.el9.x86_64                                                      
    +  jbigkit-libs-2.1-23.el9.x86_64                                                      langpacks-core-font-en-3.0-16.el9.noarch                                   
    +  libX11-1.7.0-7.el9.x86_64                                                           libX11-common-1.7.0-7.el9.noarch                                           
    +  libXau-1.0.9-8.el9.x86_64                                                           libXpm-3.5.13-8.el9_1.x86_64                                               
    +  libtiff-4.4.0-7.el9.x86_64                                                          libwebp-1.2.0-6.el9_1.x86_64                                               
    +  libxcb-1.13.1-9.el9.x86_64                                                          libxslt-1.1.34-9.el9.x86_64                                                
    +  nginx-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64                             nginx-all-modules-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.noarch        
    +  nginx-core-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64                        nginx-filesystem-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.noarch         
    +  nginx-mod-http-image-filter-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64       nginx-mod-http-perl-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64      
    +  nginx-mod-http-xslt-filter-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64        nginx-mod-mail-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64           
    +  nginx-mod-stream-1:1.22.1-3.module_el9.2.0+20+2a475c1b.alma.x86_64                  perl-AutoLoader-5.74-480.el9.noarch                                        
    +  perl-B-1.80-480.el9.x86_64                                                          perl-Carp-1.50-460.el9.noarch                                              
    +  perl-Class-Struct-0.66-480.el9.noarch                                               perl-Data-Dumper-2.174-462.el9.x86_64                                      
    +  perl-Digest-1.19-4.el9.noarch                                                       perl-Digest-MD5-2.58-4.el9.x86_64                                          
    +  perl-Encode-4:3.08-462.el9.x86_64                                                   perl-Errno-1.30-480.el9.x86_64                                             
    +  perl-Exporter-5.74-461.el9.noarch                                                   perl-Fcntl-1.13-480.el9.x86_64                                             
    +  perl-File-Basename-2.85-480.el9.noarch                                              perl-File-Path-2.18-4.el9.noarch                                           
    +  perl-File-Temp-1:0.231.100-4.el9.noarch                                             perl-File-stat-1.09-480.el9.noarch                                         
    +  perl-FileHandle-2.03-480.el9.noarch                                                 perl-Getopt-Long-1:2.52-4.el9.noarch                                       
    +  perl-Getopt-Std-1.12-480.el9.noarch                                                 perl-HTTP-Tiny-0.076-460.el9.noarch                                        
    +  perl-IO-1.43-480.el9.x86_64                                                         perl-IO-Socket-IP-0.41-5.el9.noarch                                        
    +  perl-IO-Socket-SSL-2.073-1.el9.noarch                                               perl-IPC-Open3-1.21-480.el9.noarch                                         
    +  perl-MIME-Base64-3.16-4.el9.x86_64                                                  perl-Mozilla-CA-20200520-6.el9.noarch                                      
    +  perl-NDBM_File-1.15-480.el9.x86_64                                                  perl-Net-SSLeay-1.92-2.el9.x86_64                                          
    +  perl-POSIX-1.94-480.el9.x86_64                                                      perl-PathTools-3.78-461.el9.x86_64                                         
    +  perl-Pod-Escapes-1:1.07-460.el9.noarch                                              perl-Pod-Perldoc-3.28.01-461.el9.noarch                                    
    +  perl-Pod-Simple-1:3.42-4.el9.noarch                                                 perl-Pod-Usage-4:2.01-4.el9.noarch                                         
    +  perl-Scalar-List-Utils-4:1.56-461.el9.x86_64                                        perl-SelectSaver-1.02-480.el9.noarch                                       
    +  perl-Socket-4:2.031-4.el9.x86_64                                                    perl-Storable-1:3.21-460.el9.x86_64                                        
    +  perl-Symbol-1.08-480.el9.noarch                                                     perl-Term-ANSIColor-5.01-461.el9.noarch                                    
    +  perl-Term-Cap-1.17-460.el9.noarch                                                   perl-Text-ParseWords-3.30-460.el9.noarch                                   
    +  perl-Text-Tabs+Wrap-2013.0523-460.el9.noarch                                        perl-Time-Local-2:1.300-7.el9.noarch                                       
    +  perl-URI-5.09-3.el9.noarch                                                          perl-base-2.27-480.el9.noarch                                              
    +  perl-constant-1.33-461.el9.noarch                                                   perl-if-0.60.800-480.el9.noarch                                            
    +  perl-interpreter-4:5.32.1-480.el9.x86_64                                            perl-libnet-3.13-4.el9.noarch                                              
    +  perl-libs-4:5.32.1-480.el9.x86_64                                                   perl-mro-1.23-480.el9.x86_64                                               
    +  perl-overload-1.31-480.el9.noarch                                                   perl-overloading-0.02-480.el9.noarch                                       
    +  perl-parent-1:0.238-460.el9.noarch                                                  perl-podlators-1:4.14-460.el9.noarch                                       
    +  perl-subs-1.03-480.el9.noarch                                                       perl-vars-1.05-480.el9.noarch                                              
    +  xml-common-0.6.3-58.el9.noarch                                                     
    +
    +Complete!
    +

    # ➡️ Test installation

    nginx -v
    +

    Expected output (test):

    nginx version: nginx/1.22.1
    +

    # 🔖 Variant III: Main-line Repository Install

    # Example

    # ➡️ Import the Nginx signing key

    sudo rpm --import https://nginx.org/keys/nginx_signing.key
    +

    # ➡️ Create a repo definition file for Nginx

    sudo tee /etc/yum.repos.d/nginx.repo
    +

    # ➡️ Populate the new repo file with below text (copy-paste & Ctrl+D)

    [nginx-mainline]
    +name=nginx mainline repo
    +baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
    +gpgcheck=1
    +enabled=0
    +gpgkey=https://nginx.org/keys/nginx_signing.key
    +module_hotfixes=true
    +

    # ➡️ Install dnf-uils

    TIP

    In AlmaLinux 9.2 dnf-utils can installed by default (depending on install type).

    WARNING

    dnf-utils are repo managment tools (classic YUM utilities implemented as CLI shims on top of DNF)

    sudo dnf install dnf-utils
    +

    Expected output (install):

    Last metadata expiration check: 0:46:06 ago on Fri Jun  2 20:17:44 2023.
    +Package yum-utils-4.3.0-5.el9_2.noarch is already installed.
    +Dependencies resolved.
    +Nothing to do.
    +Complete!
    +

    # ➡️ Enable the repository

    dnf config-manager --enable nginx-mainline
    +

    # ➡️ Install the package

    sudo dnf install nginx
    +

    Example output (install):

     sudo dnf install nginx
    +Last metadata expiration check: 0:00:10 ago on Fri Jun  2 21:06:02 2023.
    +Dependencies resolved.
    +==================================================================================================================================================================
    + Package                          Architecture                      Version                                       Repository                                 Size
    +==================================================================================================================================================================
    +Installing:
    + nginx                            x86_64                            1:1.25.0-1.el9.ngx                            nginx-mainline                            992 k
    +
    +Transaction Summary
    +==================================================================================================================================================================
    +Install  1 Package
    +
    +Total download size: 992 k
    +Installed size: 3.3 M
    +Is this ok [y/N]: y
    +Downloading Packages:
    +nginx-1.25.0-1.el9.ngx.x86_64.rpm                                                                                                  11 MB/s | 992 kB     00:00    
    +------------------------------------------------------------------------------------------------------------------------------------------------------------------
    +Total                                                                                                                              11 MB/s | 992 kB     00:00     
    +nginx mainline repo                                                                                                                21 kB/s | 1.5 kB     00:00    
    +Importing GPG key 0x7BD9BF62:
    + Userid     : "nginx signing key <signing-key@nginx.com>"
    + Fingerprint: 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
    + From       : https://nginx.org/keys/nginx_signing.key
    +Is this ok [y/N]: y
    +Key imported successfully
    +Running transaction check
    +Transaction check succeeded.
    +Running transaction test
    +Transaction test succeeded.
    +Running transaction
    +  Preparing        :                                                                                                                                          1/1 
    +  Running scriptlet: nginx-1:1.25.0-1.el9.ngx.x86_64                                                                                                          1/1 
    +  Installing       : nginx-1:1.25.0-1.el9.ngx.x86_64                                                                                                          1/1 
    +  Running scriptlet: nginx-1:1.25.0-1.el9.ngx.x86_64                                                                                                          1/1 
    +----------------------------------------------------------------------
    +
    +Thanks for using nginx!
    +
    +Please find the official documentation for nginx here:
    +* https://nginx.org/en/docs/
    +
    +Please subscribe to nginx-announce mailing list to get
    +the most important news about nginx:
    +* https://nginx.org/en/support.html
    +
    +Commercial subscriptions for nginx are available on:
    +* https://nginx.com/products/
    +
    +----------------------------------------------------------------------
    +
    +  Verifying        : nginx-1:1.25.0-1.el9.ngx.x86_64                                                                                                          1/1 
    +
    +Installed:
    +  nginx-1:1.25.0-1.el9.ngx.x86_64                                                                                                                                 
    +
    +Complete!
    +

    # ➡️ Test

    nginx -v
    +

    Expected output (test):

    nginx version: nginx/1.25.0
    +

    # 📚 Further reading and Next Steps

    Get Back:

    In-depth Resources:

    Related Resources:

    + + + diff --git a/series/nginx/NginxSeriesA03.html b/series/nginx/NginxSeriesA03.html new file mode 100644 index 000000000..befdb3800 --- /dev/null +++ b/series/nginx/NginxSeriesA03.html @@ -0,0 +1,104 @@ + + + + + + A03 ❯ Default Configuration Guide | AlmaLinux Wiki + + + + + + + + + +

    # A03 ❯ Default Configuration Guide

    ℹ️ This article is part of AlmaLinux Nginx Series.


    💡 Experience Level ⭐⭐☆☆☆
    📆 Last modified 2023-05-15
    🔧 Tested by
    ↳ version | platform | date
    Pawel Suchanecki
    ↳ 9.1 | x86_64 | 2023-04-21

    # 🌟 Intoduction

    By understanding each line in the default configuration, you can modify the settings to better suit your needs. Be sure to carefully review any changes you make to the configuration and test them before deploying in a production environment. This will help ensure that your Nginx server on AlmaLinux is properly configured and running optimally.

    # 🧠 Fundamental Concepts

    # Nginx Configuration File Structure

    The main Nginx configuration file, typically named nginx.conf, is organized into a hierarchy of configuration blocks. The top-level block is the main block, which can contain http, events, and stream blocks. The http block can contain one or more server blocks, which in turn can contain multiple location, if, and other directive blocks.

    # Directives

    Directives are the building blocks of the Nginx configuration file. They define the behavior of the web server and can be set at various levels within the configuration hierarchy. Directives have a name and one or more parameters, and they end with a semicolon.

    # Contexts

    Contexts are configuration blocks that group directives based on their functionality. Common contexts include http, server, location, and events. Directives can only be used within the appropriate context, and some directives can be used in multiple contexts.

    # Inheritance and Directive Precedence

    Directives set in a parent context are inherited by child contexts unless overridden by a more specific directive within the child context. When multiple directives with the same name are defined, the one in the most specific context takes precedence.

    # Variables

    Nginx provides a variety of built-in variables that can be used within the configuration file to store and reference values. These variables can be used to customize logging, rewrite URLs, or manipulate request and response headers.

    # Rewrite and Redirect Rules

    Nginx provides directives for creating rewrite and redirect rules, such as rewrite, return, and error_page. These rules can be used to manipulate incoming URLs and redirect clients to different resources based on specific conditions.

    # 📝 Key take aways

    # ➡️ Basic Configuration

    • System user account Nginx runs as:
    user nginx;
    +
    • Number of worker processes for handling requests (auto-detects CPU cores):
    worker_processes auto;
    +
    • Error log file path:
    error_log /var/log/nginx/error.log;
    +
    • Process ID (PID) file path:
    pid /run/nginx.pid;
    +
    • Included dynamically loaded modules:
    include /usr/share/nginx/modules/*.conf;
    +

    # ➡️ Performance and Connection Settings

    • Maximum connections per worker process:
    worker_connections 1024;
    +
    • Enables efficient file sending to clients:
    sendfile on;
    +
    • Improves performance by sending small data packets without delay¹:
    tcp_nopush on;
    +
    • Improves performance by sending larger data packets without delay²:
    tcp_nodelay on;
    +
    • Time before an idle connection is closed:
    keepalive_timeout 65;
    +

    ¹ Details of tcp_nopush option (nginx.org) (opens new window)
    Details of tcp_nodelay option (nginx.org) (opens new window)
    About Neagle's algorithm (wikipedia.org) (opens new window)

    # 📖 Deep dive on worker_connections

    worker_connections directive is used to set the maximum number of simultaneous connections that a single worker process can handle. A worker process is a separate operating system process that handles the processing of client requests. The worker_connections directive is set within the events block of the Nginx configuration file.

    Each connection requires a file descriptor, and the operating system has a limit on the number of file descriptors that can be opened simultaneously. The worker_connections value should be set according to the available system resources, the expected number of concurrent connections, and the system’s file descriptor limit.

    Keep in mind that the total number of connections the server can handle is determined by the number of worker processes (worker_processes directive) multiplied by the number of worker_connections. For example, if you have 4 worker processes and 1024 worker connections, your server can handle up to 4096 simultaneous connections.

    It’s important to find the right balance between the number of worker processes and worker connections to optimize the performance of your Nginx server based on your specific use case and hardware resources.

    # ➡️ MIME Types and Logging

    • Maximum size of the MIME types hash table:
    types_hash_max_size 4096; 
    +

    TIP

    The hash table allows for faster lookups of MIME types when processing requests for different files. A larger types_hash_max_size value will increase memory consumption but can improve performance for lookups in cases where there are a large number of MIME type.

    • Included MIME types file:
    include /etc/nginx/mime.types;
    +
    • Default MIME type when undetermined.
    default_type application/octet-stream;
    +
    • Access log file path and format.
    access_log /var/log/nginx/access.log main;
    +
    • Log format used by Nginx
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    +                  '$status $body_bytes_sent "$http_referer" '
    +                  '"$http_user_agent" "$http_x_forwarded_for"';
    +

    # 📖 Break down the the default log_format

    • The IP address of the client making the request:
    $remote_addr
    +
    • The authenticated user (if any) making the request. This value will be available only if authentication is enabled:
    $remote_user
    +
    • The local time when the request was received, enclosed in square brackets. The format is typically "day/month/year:hour:minute:second timezone":
    [$time_local]
    +
    • The full HTTP request line, enclosed in double quotes. It includes the HTTP method, the requested URI, and the HTTP version used by the client (e.g., "GET /index.html HTTP/1.1"):
    "$request"
    +
    • The HTTP status code returned by the server for the request:
    $status
    +
    • The number of bytes sent in the response body (excluding headers) to the client:
    $body_bytes_sent
    +
    • The HTTP referer header, enclosed in double quotes. This is the URL of the page that linked to the requested resource (if available):
    "$http_referer"
    +
    • The HTTP user agent header, enclosed in double quotes. This contains information about the client's browser and operating system:
    "$http_user_agent"
    +
    • The HTTP X-Forwarded-For header, enclosed in double quotes. This header is used to identify the originating IP address of a client when the request is made through a proxy or load balancer:
    "$http_x_forwarded_for"
    +

    # ➡️ HTTP Server Block

    • Included configuration files for additional server blocks:
    include /etc/nginx/conf.d/*.conf;
    +
    • HTTP requests listened on port 80:
    listen 80;
    +
    • IPv6 requests listened on port 80:
    listen [::]:80;
    +
    • Default server name when unspecified:
    server_name _;
    +
    • Server's file root directory:
    root /usr/share/nginx/html;
    +
    • Included default server block configuration files:
    include /etc/nginx/default.d/*.conf;
    +
    • URL redirect for 404 errors:
    error_page 404 /404.html;
    +
    • Empty location block for 404 error page:
    location = /40x.html { }
    +
    • URL redirect for 500, 502, 503, or 504 errors:
    error_page 500 502 503 504 /50x.html;
    +
    • Empty location block for 500 error page:
    location = /50x.html { }
    +

    # ➡️ HTTPS Server Block Specific

    • HTTPS requests listened on port 443 (SSL and HTTP/2 protocols):
    listen 443 ssl http2;
    +
    • IPv6 HTTPS requests listened on port 443 (SSL and HTTP/2 protocols):
    listen [::]:443 ssl http2;
    +
    • SSL certificate file path:
    ssl_certificate "/etc/pki/nginx/server.crt";
    +
    • SSL certificate key file path:
    ssl_certificate_key "/etc/pki/nginx/private/server.key";
    +
    • Shared SSL session cache:
    ssl_session_cache shared:SSL:1m;
    +
    • SSL session timeout value:
    ssl_session_timeout 10m;
    +
    • Prefers server's cipher suite over client's.
    ssl_prefer_server_ciphers on;
    +
    • Cipher suites for SSL connections.
    ssl_ciphers PROFILE=SYSTEM;
    +

    # 📖 More about ssl_ciphers setting

    The ssl_ciphers directive in Nginx is used to specify the list of available ciphers that can be used for SSL/TLS connections. The order of ciphers in the list affects their priority during the SSL/TLS handshake between the server and the client.

    ssl_ciphers PROFILE=SYSTEM; tells Nginx to use the system's default cipher list for SSL/TLS connections. The system default cipher list is determined by the OpenSSL library installed on your system.

    Using PROFILE=SYSTEM can be useful when you want to rely on the system-wide cipher configuration rather than specifying a custom list of ciphers in your Nginx configuration. This approach can simplify your Nginx configuration and ensure that your server uses the recommended ciphers for your system.

    # 📚 Further reading and Next Steps

    Get Back:

    In-depth Resources:

    Related Resources:

    + + + diff --git a/series/nginx/NginxSeriesA04P1.html b/series/nginx/NginxSeriesA04P1.html new file mode 100644 index 000000000..abd833a78 --- /dev/null +++ b/series/nginx/NginxSeriesA04P1.html @@ -0,0 +1,145 @@ + + + + + + A04 ❯ Secure Nginx Deployment | AlmaLinux Wiki + + + + + + + + + +

    # A04 ❯ Secure Nginx Deployment

    ℹ️ This article is part of AlmaLinux Nginx Series.


    💡 Experience Level ⭐☆☆☆☆
    📆 Last modified 2023-05-16
    🔧 Tested by
    ↳ version | platform | date
    Pawel Suchanecki
    ↳ 9.1 | x86_64 | 2023-04-21

    # 🌟 Introduction

    As Nginx is a high-performance web server commonly used in public environments it makes it a prime target for malicious attacks. To enhance the security of your Nginx server and protect your web content, it's important to secure your system. This guide presents a few simple steps you can take to secure your Nginx server and help prevent unauthorized access.

    # 🧠 Fundamental Concepts

    # General Protection

    # Regular Updates and Patches

    Keeping your Nginx installation up-to-date is essential in ensuring that it is secure. Regularly check for software updates and patches from the official repository to stay informed of any vulnerabilities or bugs that could affect your Nginx server.

    # File and Directory Permissions

    Make sure that the file and directory permissions are set appropriately for your Nginx server. Only allow users with the appropriate permissions to access the files and directories.

    # Use a Dedicated User Account

    Running Nginx as a dedicated user account can help limit the damage caused by an attacker if your server is compromised. This is because a dedicated user account only has access to the files and directories required to run Nginx, reducing the potential damage an attacker can cause if they gain access to your server.

    # Restrict Access to Sensitive Information

    To reduce the risk of exposing sensitive information, limit access to sensitive information on your server. You can do this by ensuring that only authorized users have access to sensitive files and directories.

    # Monitor Logs

    Monitoring your Nginx server logs can help you detect and respond to security incidents quickly. Regularly reviewing your logs can help you identify any suspicious activity or unauthorized access attempts. You can also set up alerts or notifications to receive notifications when specific events occur, such as failed login attempts.

    # Security must-haves

    ⚠️ Implement a firewall to block all incoming traffic (default on AlmaLinux) except for the ports you want to allow. For a web server like Nginx, you typically want to allow ports for HTTP and HTTPS services.

    ⚠️ Use secure protocols for accessing your server, such as SSH, and disable password-based authentication in favor of public-key authentication.

    ⚠️ Use secure coding practices when developing your web application or service, such as input validation and sanitization, to prevent common web vulnerabilities like SQL injection and cross-site scripting (XSS).

    # Configuration Specific Practices

    ➡️ Enable SSL/TLS encryption to encrypt your web traffic, preventing attackers from intercepting sensitive information. Obtaining an SSL certificate from a trusted certificate authority like Let's Encrypt is recommended.

    ➡️ Implement user authentication using the htpasswd tool to restrict access to your Nginx server and control access to specific areas of your site.

    ➡️ Implement rate limiting to limit the number of requests from a particular IP address over a given period, preventing denial-of-service (DoS) attacks and other malicious traffic.

    ➡️ Disable server tokens in Nginx to prevent revealing information about the software and version being used, making it harder for attackers to find potential vulnerabilities in your server.

    # 📝 Key Takeaways

    # Step 1: Check The Firewalld Configuration

    WARNING

    On AlmaLinux OS, the Firewalld packet filtering service is enabled by default.

    To allow incoming traffic on ports 80 (HTTP) and 443 (HTTPS), run:

    sudo firewall-cmd --permanent --zone=public --add-service={http,https}
    +

    Then just reload the rules:

    sudo firewall-cmd --reload
    +

    # Step 2: Enable SSL/TLS Encryption

    Encrypting your web traffic using SSL/TLS is an essential step in securing your Nginx installation. To enable SSL/TLS encryption, you will need to obtain an SSL certificate and configure Nginx to use it. +One way to obtain an SSL certificate is to use Let's Encrypt, a free, automated, and open certificate authority.

    To install Let's Encrypt on AlmaLinux 9.x, run the following command:

    sudo dnf install certbot python3-certbot-nginx
    +

    TIP

    The python3-certbot-nginx package is from EPEL repository, so if you get error to the above, just do:

    dnf install epel-release
    +

    Then, obtain an SSL certificate for your domain by running the following command:

    sudo certbot --nginx -d almalinux.example.com
    +

    Replace example.com with your domain name.

    # Example on success:

    ...
    +Deploying certificate
    +Successfully deployed certificate for almalinux.example.com to /etc/nginx/nginx.conf
    +Congratulations! You have successfully enabled HTTPS on https://almalinux.example.com
    +

    TIP

    After successful configuration, '/etc/nginx/nginx.conf' will contain these new lines:

    DETAILS
        listen [::]:443 ssl ipv6only=on; # managed by Certbot
    +    listen 443 ssl; # managed by Certbot
    +    ssl_certificate /etc/letsencrypt/live/almalinux.example.com/fullchain.pem; # managed by Certbot
    +    ssl_certificate_key /etc/letsencrypt/live/almalinux.example.com/privkey.pem; # managed by Certbot
    +    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    +    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
    +    
    +    
    +     server {
    +        if ($host = almalinux.example.com) {
    +            return 301 https://$host$request_uri;
    +        } # managed by Certbot
    +        listen       80;
    +        listen       [::]:80;
    +        server_name  almalinux.example.com;
    +        return 404; # managed by Certbot
    +    }
    +

    WARNING

    If you get this weird error:

    ...
    +Deploying certificate
    +Could not install certificate
    +An unexpected error occurred:
    +OpenSSL.crypto.Error: [('Provider routines', '', 'invalid key length')]
    +Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.
    +

    Please check if you have FIPS mode enabled which prevents 'unauthorized' uses of OpenSSL framework (instruction in Details).

    DETAILS
    fips-mode-setup --check
    +

    Should tell you: +FIPS mode is disabled.

    If does not you need to disable the FIPS for the time of generation:

    • Disable it:
    fips-mode-setup --disable
    +
    • Reboot the system! + 
    • Regenerate the certificate (or just reinstall - certbot will offer that option when runs again) with the command that previously failed (above).
    • Renable FIPS:
    fips-mode-setup --enable
    +
    • Reboot the system!

    # Check if that works!

    Navigate your browser to your site with https protocol prefix. +(Like: https://almalinux.example.com). Now the connection is encrypted(🔒).

    # Step 3: Implement User Authentication

    If you want to restrict access to your Nginx server, you can implement user authentication using the htpasswd tool.

    TIP

    htpasswd manages user accounts and passwords for accessing restricted areas of your website, helping to add basic authentication to your Nginx server and control access to specific areas of your site.

    To do this, run the following command to install httpd-tools package:

    sudo dnf install httpd-tools
    +

    Then, create a password file for your user by running the following command:

    sudo htpasswd -c /etc/nginx/.htpasswd myuser
    +

    Replace myuser with your desired username.

    Finally, add the following configuration to your Nginx server block to require authentication for all requests (lines starting with auth_basic):

    server {
    +    listen 80;
    +    server_name example.com;
    +    root /var/www/example.com;
    +    index index.html;
    +
    +    auth_basic "Restricted Access";
    +    auth_basic_user_file /etc/nginx/.htpasswd;
    +
    +    location / {
    +        try_files $uri $uri/ =404;
    +    }
    +}
    +

    Accessing the site will prompt user for username and password now.

    # Step 4: Implement Rate Limiting

    Rate limiting is a technique used to limit the number of requests from a particular IP address over a given period. This can help prevent denial-of-service (DoS) attacks and other malicious traffic.

    To implement rate limiting in Nginx, add the following configuration to your server block (lines starting with limit_req*)

    server {
    +    listen 80;
    +    server_name example.com;
    +    root /var/www/example.com;
    +    index index.html;
    +
    +    limit_req zone=one burst=5 nodelay;
    +    limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
    +
    +    location / {
    +        try_files $uri $uri/ =404;
    +    }
    +}
    +

    This configuration will limit requests to one request per second per IP address, with a burst of 5 requests allowed before blocking further requests. The nodelay parameter ensures that requests exceeding the limit are blocked immediately.

    Note: both can be added to http block.

    DETAILS

    For more info on rate limitting please read a dedicated blog post Nginx.org (opens new window)

    # Step 5: Disable Server Tokens

    By default, Nginx includes server tokens in its response headers, which can reveal information about the software and version being used. This can be useful for attackers to find potential vulnerabilities in your server.

    To disable server tokens in Nginx, add the following configuration to your nginx.conf file:

    server_tokens off;
    +

    As with all the changes to the configuration file you need to reload the server for this to be effective:

    systemctl reload nginx
    +

    # 📖 FAQ

    # Q: How to fix Nginx: stat() failed (13: Permission denied) with SELinux enabled?

    Context: Nginx server is running under the user "nginx" and has access to to the files. But when I am attempting to list the contents of the /usr/share/nginx/srv/downloads/ directory on my server using a web browser. I have installed the Nginx server and set up configuration files, but when I try to access the directory, not all content is listed, and I receive a "Permission denied" error. The error message is as follows:

    2023/04/27 17:08:54 [crit] 12839#0: *1 stat() "/usr/share/nginx/srv/downloads/file.txt" failed (13: Permission denied), client: 192.168.0.26, server: localhost, request: "GET /downloads/ HTTP/1.1", host: "localhost"
    +

    The Nginx server is running under the user "nginx," which is part of the "devs" group. I have verified that the user has access to the files by running the following command:

    su -l nginx -s /bin/stat /usr/share/nginx/srv/downloads/file.txt
    +

    The output indicates that the user has the necessary permissions:

    Last login: Thu Apr 28 09:30:19 CEST 2023 on pts/0
    +  File: '/usr/share/nginx/srv/downloads/file.txt'
    +  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
    +Device: fd00h/64768d    Inode: 85524762    Links: 1
    +Access: (0644/-rw-r--r--)  Uid: ( 1000/    is)   Gid: ( 1000/    devs)
    +Context: system_u:object_r:httpd_sys_content_t:s0
    +Access: 2023-04-28 09:45:48.393259661 +0200
    +Modify: 2023-04-28 09:45:48.393259661 +0200
    +Change: 2023-04-28 09:45:48.393259661 +0200
    + Birth: - 
    +

    I also tried with the user www-data, but the issue persists.

    A:

    1. Reproduce the problem +This issue is likely related to SELinux blocking access to the directory. To confirm if it's an SELinux issue, temporarily disable SELinux by running
    sudo setenforce 0
    +

    then try loading the directory again.

    1. Generate SELinux policy

    If this resolves the issue, you will need to adjust the context of the directory to allow Nginx access or use audit2allow to identify a SELinux boolean that can be changed.

    TIP

    audit2allow - generate SELinux policy allow/dontaudit rules from logs of denied operations

    1. Fix the SELinux issue
    sudo semanage fcontext -a -t httpd_sys_content_t "/usr/share/nginx/srv(/.*)?"
    +
    sudo restorecon -R -v /usr/share/nginx/srv
    +

    The first command tells SELinux that the /usr/share/nginx/srv directory contains read-only content for an HTTP server. The second command relabels all the files in the /usr/share/nginx/srv directory with the correct context.

    1. Re-enable SELinux
    sudo setenforce 1
    +

    # 📚 Further reading and Next Steps

    Get Back:

    In-depth Resources:

    Related Resources:

    + + + diff --git a/series/nginx/index.html b/series/nginx/index.html new file mode 100644 index 000000000..cbee07690 --- /dev/null +++ b/series/nginx/index.html @@ -0,0 +1,51 @@ + + + + + + AlmaLinux Nginx Series | AlmaLinux Wiki + + + + + + + + + + + + + diff --git a/series/system/SystemSeriesA01.html b/series/system/SystemSeriesA01.html new file mode 100644 index 000000000..2d1c24820 --- /dev/null +++ b/series/system/SystemSeriesA01.html @@ -0,0 +1,164 @@ + + + + + + A01 ❯ Application Streams | AlmaLinux Wiki + + + + + + + + + +

    # A01 ❯ Application Streams

    ℹ️ This article is part of AlmaLinux System Series.


    💡 Experience Level ⭐☆☆☆☆
    📆 Last modified 2023-05-16
    🔧 Tested by
    ↳ version | platform | date
    Pawel Suchanecki
    ↳ 9.1 | x86_64 | 2023-04-21

    # 🌟 Introduction

    This guide will introduce the fundamental concepts of AppStream modules and demonstrate their usage in an AlmaLinux environment. With the introduction of Application Streams in Red Hat® Enterprise Linux 8, user-space components can be delivered and updated more frequently than the core operating system packages. This feature enables greater customization of your AlmaLinux installation without compromising the platform's underlying stability or specific deployments.

    # 🧠 Fundamental Concepts

    # AppStream

    The AppStream repository contains both modular and non-modular packages. Non-modular packages, which serve as general-purpose utilities, libraries, or dependencies, are not tied to any specific module. They can be installed and updated independently, offering users more flexibility and control over their software stack.

    # AppStream Modularity

    AppStream's modular design ensures the delivery of software packages as independent modules, each with its own release schedule and lifecycle. This approach facilitates the provision of new features and updates for applications without necessitating a complete operating system upgrade. By incorporating both modular and non-modular packages, AppStream provides users with a wide variety of software options while maintaining system stability, compatibility, and security. +AppStream modules provide a cohesive and tested set of packages that work together and ensure that all necessary packages are installed and configured correctly.

    # 📝 Key Takeaways

    To use AppStream modules in your AlmaLinux environment, you need to understand the following fundamental concepts:

    • Modules: A module is a set of RPM packages that represent a component and are usually installed together. A typical module includes packages with the application, application-specific dependency libraries, documentation, and helper utilities.
    • Streams: A stream is a version of a module. A module can have multiple streams that represent different versions of the same component.
    • Profiles: A profile is a set of streams for a module. Each profile represents a specific use case or workload.

    # 📖 Version Specific Examples

    # ➡️ Version independent calling (here installing) syntax is:

    sudo dnf module install nginx:<stream>/<profile>

    TIP

    There is a substantially greater number of AppStream modules available for the AlmaLinux 8.x series compared to the 9.x series.

    WARNING

    Below we show list of modules available for each (major) AlmaLinux release.

    # 🔖 AlmaLinux 8.7

    # ➡️ List modules

    dnf module list
    +

    Expected output:

    Last metadata expiration check: 0:08:54 ago on Sun 16 Apr 2023 07:42:28 AM EDT.
    +AlmaLinux 8 - AppStream
    +Name                 Stream          Profiles                                 Summary                                                                                                                                                                                                                                   
    +389-ds               1.4                                                      389 Directory Server (base)                                                                                                                                                                                                               
    +ant                  1.10 [d]        common [d]                               Java build tool                                                                                                                                                                                                                           
    +container-tools      rhel8 [d][e]    common [d]                               Most recent (rolling) versions of podman, buildah, skopeo, runc, conmon, runc, conmon, CRIU, Udica, etc as well as dependencies such as container-selinux built and tested together, and updated as frequently as every 12 weeks.         
    +container-tools      1.0             common [d]                               Stable versions of podman 1.0, buildah 1.5, skopeo 0.1, runc, conmon, CRIU, Udica, etc as well as dependencies such as container-selinux built and tested together, and supported for 24 months.                                          
    +container-tools      2.0             common [d]                               Stable versions of podman 1.6, buildah 1.11, skopeo 0.1, runc, conmon, etc as well as dependencies such as container-selinux built and tested together, and supported as documented on the Application Stream lifecycle page.             
    +container-tools      3.0             common [d]                               Stable versions of podman 3.0, buildah 1.19, skopeo 1.2, runc, conmon, CRIU, Udica, etc as well as dependencies such as container-selinux built and tested together, and supported as documented on the Application Stream lifecycle page.
    +container-tools      4.0             common [d]                               Stable versions of podman 4.0, buildah 1.24, skopeo 1.6, runc, conmon, CRIU, Udica, etc as well as dependencies such as container-selinux built and tested together, and supported as documented on the Application Stream lifecycle page.
    +eclipse              rhel8           java [d]                                 An open, extensible IDE and application platform                                                                                                                                                                                          
    +freeradius           3.0 [d]         server [d]                               High-performance and highly configurable free RADIUS server                                                                                                                                                                               
    +gimp                 2.8 [d]         common [d], devel                        gimp module                                                                                                                                                                                                                               
    +go-toolset           rhel8 [d]       common [d]                               Go                                                                                                                                                                                                                                        
    +httpd                2.4 [d]         common [d], devel, minimal               Apache HTTP Server                                                                                                                                                                                                                        
    +idm                  DL1             adtrust, client, common [d], dns, server The Red Hat Enterprise Linux Identity Management system module                                                                                                                                                                            
    +idm                  client [d]      common [d]                               RHEL IdM long term support client module                                                                                                                                                                                                  
    +inkscape             0.92.3 [d]      common [d]                               Vector-based drawing program using SVG                                                                                                                                                                                                    
    +javapackages-runtime 201801 [d]      common [d]                               Basic runtime utilities to support Java applications                                                                                                                                                                                      
    +jmc                  rhel8 [d]       common [d], core                         Java Mission Control is a profiling and diagnostics tool for the Hotspot JVM                                                                                                                                                              
    +libselinux-python    2.8             common                                   Python 2 bindings for libselinux                                                                                                                                                                                                          
    +llvm-toolset         rhel8 [d]       common [d]                               LLVM                                                                                                                                                                                                                                      
    +log4j                2 [d]           common [d]                               Java logging library                                                                                                                                                                                                                      
    +mailman              2.1 [d]         common [d]                               Electronic mail discussion and e-newsletter lists managing software                                                                                                                                                                       
    +mariadb              10.3 [d]        client, galera, server [d]               MariaDB Module                                                                                                                                                                                                                            
    +mariadb              10.5            client, galera, server [d]               MariaDB Module                                                                                                                                                                                                                            
    +maven                3.5 [d]         common [d]                               Java project management and project comprehension tool                                                                                                                                                                                    
    +maven                3.6             common [d]                               Java project management and project comprehension tool                                                                                                                                                                                    
    +maven                3.8             common [d]                               Java project management and project comprehension tool                                                                                                                                                                                    
    +mercurial            4.8 [d]         common [d]                               Mercurial -- a distributed SCM                                                                                                                                                                                                            
    +mercurial            6.2             common [d]                               Mercurial -- a distributed SCM                                                                                                                                                                                                            
    +mod_auth_openidc     2.3 [d]         default [d]                              Apache module suporting OpenID Connect authentication                                                                                                                                                                                     
    +mysql                8.0 [d]         client, server [d]                       MySQL Module                                                                                                                                                                                                                              
    +nginx                1.14 [d]        common [d]                               nginx webserver                                                                                                                                                                                                                           
    +nginx                1.16            common [d]                               nginx webserver                                                                                                                                                                                                                           
    +nginx                1.18            common [d]                               nginx webserver                                                                                                                                                                                                                           
    +nginx                1.20 [e]        common [d] [i]                           nginx webserver                                                                                                                                                                                                                           
    +nodejs               10 [d]          common [d], development, minimal, s2i    Javascript runtime                                                                                                                                                                                                                        
    +nodejs               12              common [d], development, minimal, s2i    Javascript runtime                                                                                                                                                                                                                        
    +nodejs               14              common [d], development, minimal, s2i    Javascript runtime                                                                                                                                                                                                                        
    +nodejs               16              common [d], development, minimal, s2i    Javascript runtime                                                                                                                                                                                                                        
    +nodejs               18              common [d], development, minimal, s2i    Javascript runtime                                                                                                                                                                                                                        
    +parfait              0.5             common                                   Parfait Module                                                                                                                                                                                                                            
    +perl                 5.24            common [d], minimal                      Practical Extraction and Report Language                                                                                                                                                                                                  
    +perl                 5.26 [d][e]     common [d], minimal                      Practical Extraction and Report Language                                                                                                                                                                                                  
    +perl                 5.30            common [d], minimal                      Practical Extraction and Report Language                                                                                                                                                                                                  
    +perl                 5.32            common [d], minimal                      Practical Extraction and Report Language                                                                                                                                                                                                  
    +perl-App-cpanminus   1.7044 [d]      common [d]                               Get, unpack, build and install CPAN modules                                                                                                                                                                                               
    +perl-DBD-MySQL       4.046 [d]       common [d]                               A MySQL interface for Perl                                                                                                                                                                                                                
    +perl-DBD-Pg          3.7 [d]         common [d]                               A PostgreSQL interface for Perl                                                                                                                                                                                                           
    +perl-DBD-SQLite      1.58 [d]        common [d]                               SQLite DBI driver                                                                                                                                                                                                                         
    +perl-DBI             1.641 [d]       common [d]                               A database access API for Perl                                                                                                                                                                                                            
    +perl-FCGI            0.78 [d]        common [d]                               FastCGI Perl bindings                                                                                                                                                                                                                     
    +perl-IO-Socket-SSL   2.066 [d][e]    common [d]                               Perl library for transparent TLS                                                                                                                                                                                                          
    +perl-YAML            1.24 [d]        common [d]                               Perl parser for YAML                                                                                                                                                                                                                      
    +perl-libwww-perl     6.34 [d][e]     common [d]                               A Perl interface to the World-Wide Web                                                                                                                                                                                                    
    +php                  7.2 [d]         common [d], devel, minimal               PHP scripting language                                                                                                                                                                                                                    
    +php                  7.3             common [d], devel, minimal               PHP scripting language                                                                                                                                                                                                                    
    +php                  7.4             common [d], devel, minimal               PHP scripting language                                                                                                                                                                                                                    
    +php                  8.0             common [d], devel, minimal               PHP scripting language                                                                                                                                                                                                                    
    +pki-core             10.6                                                     PKI Core module for PKI 10.6 or later                                                                                                                                                                                                     
    +pki-deps             10.6                                                     PKI Dependencies module for PKI 10.6 or later                                                                                                                                                                                             
    +pmdk                 1_fileformat_v6                                          Persistent Memory Development Kit (former NVML)                                                                                                                                                                                           
    +postgresql           9.6             client, server [d]                       PostgreSQL server and client module                                                                                                                                                                                                       
    +postgresql           10 [d]          client, server [d]                       PostgreSQL server and client module                                                                                                                                                                                                       
    +postgresql           12              client, server [d]                       PostgreSQL server and client module                                                                                                                                                                                                       
    +postgresql           13              client, server [d]                       PostgreSQL server and client module                                                                                                                                                                                                       
    +python27             2.7 [d]         common [d]                               Python programming language, version 2.7                                                                                                                                                                                                  
    +python36             3.6 [d]         build, common [d]                        Python programming language, version 3.6                                                                                                                                                                                                  
    +python38             3.8 [d]         build, common [d]                        Python programming language, version 3.8                                                                                                                                                                                                  
    +python39             3.9 [d]         build, common [d]                        Python programming language, version 3.9                                                                                                                                                                                                  
    +redis                5 [d]           common [d]                               Redis persistent key-value database                                                                                                                                                                                                       
    +redis                6               common [d]                               Redis persistent key-value database                                                                                                                                                                                                       
    +rhn-tools            1.0 [d]         common [d]                               Red Hat Satellite 5 tools for RHEL                                                                                                                                                                                                        
    +ruby                 2.5 [d]         common [d]                               An interpreter of object-oriented scripting language                                                                                                                                                                                      
    +ruby                 2.6             common [d]                               An interpreter of object-oriented scripting language                                                                                                                                                                                      
    +ruby                 2.7             common [d]                               An interpreter of object-oriented scripting language                                                                                                                                                                                      
    +ruby                 3.0             common [d]                               An interpreter of object-oriented scripting language                                                                                                                                                                                      
    +ruby                 3.1             common [d]                               An interpreter of object-oriented scripting language                                                                                                                                                                                      
    +rust-toolset         rhel8 [d]       common [d]                               Rust                                                                                                                                                                                                                                      
    +satellite-5-client   1.0 [d]         common [d], gui                          Red Hat Satellite 5 client packages                                                                                                                                                                                                       
    +scala                2.10 [d]        common [d]                               A hybrid functional/object-oriented language for the JVM                                                                                                                                                                                  
    +squid                4 [d]           common [d]                               Squid - Optimising Web Delivery                                                                                                                                                                                                           
    +subversion           1.10 [d]        common [d], server                       Apache Subversion                                                                                                                                                                                                                         
    +subversion           1.14            common [d], server                       Apache Subversion                                                                                                                                                                                                                         
    +swig                 3.0 [d]         common [d], complete                     Connects C/C++/Objective C to some high-level programming languages                                                                                                                                                                       
    +swig                 4.0             common [d], complete                     Connects C/C++/Objective C to some high-level programming languages                                                                                                                                                                       
    +varnish              6 [d]           common [d]                               Varnish HTTP cache                                                                                                                                                                                                                        
    +virt                 rhel [d][e]     common [d]                               Virtualization module                                                                                                                                                                                                                     
    +
    +Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
    +
    +
    +

    # 🔖 AlmaLinux 9.1

    # ➡️ List modules

    dnf module list
    +

    Expected output:

    Last metadata expiration check: 13:03:40 ago on Sun 16 Apr 2023 12:31:58 AM CEST.
    +AlmaLinux 9 - AppStream
    +Name                          Stream                          Profiles                                              Summary                                                              
    +maven                         3.8                             common [d]                                            Java project management and project comprehension tool               
    +nodejs                        18                              common [d], development, minimal, s2i                 Javascript runtime                                                   
    +php                           8.1                             common [d], devel, minimal                            PHP scripting language                                               
    +ruby                          3.1                             common [d]                                            An interpreter of object-oriented scripting language                 
    +
    +Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
    +

    # 📚 Further Reading and Next Steps

    In-depth Resources:

    Related Resources:

    + + + diff --git a/series/system/SystemSeriesA02.html b/series/system/SystemSeriesA02.html new file mode 100644 index 000000000..97b1ff4db --- /dev/null +++ b/series/system/SystemSeriesA02.html @@ -0,0 +1,107 @@ + + + + + + A02 ❯ Firewalld: A Beginner's Guide | AlmaLinux Wiki + + + + + + + + + +

    # A02 ❯ Firewalld: A Beginner's Guide

    ℹ️ This article is part of AlmaLinux System Series.


    💡 Experience Level ⭐☆☆☆☆
    📆 Last modified 2023-05-10
    🔧 Tested by
    ↳ version | platform | date
    Pawel Suchanecki
    ↳ 9.1 | x86_64 | 2023-04-21

    # 🌟 Introduction

    Firewalld is a dynamic firewall management tool that is enabled by default in AlmaLinux. It provides a flexible and powerful interface for configuring network traffic filtering rules and allows system administrators to easily manage firewall settings without needing to know the specifics of iptables or nftables. Firewalld uses zones, services, ports, source and destination, and masquerading/NAT to define firewall rules and secure network traffic. With firewalld, system administrators can create custom firewall configurations, add or remove services and ports, and manage network zones to secure their systems against unauthorized access and potential security threats.

    TIP

    On AlmaLinux OS, the Firewalld packet filtering service is enabled by default.

    DETAILS

    You can verify with later described command:

    sudo firewall-cmd --state
    +

    Example:

    running
    +

    # 🧠 Fundamental Concepts

    Firewalld implements a number of fundamental concepts to provide flexible and powerful network traffic filtering. These concepts include:

    Zones: Firewalld uses zones to define different levels of trust for network connections. Zones are predefined or custom-defined sets of rules that specify what traffic is allowed and what is not allowed. By default, Firewalld comes with three zones: public, internal, and trusted. Each zone is associated with a set of firewall rules that determine how incoming and outgoing traffic is handled.

    Services: Firewalld uses services to group ports and protocols that are used by applications. A service is defined by a set of rules that determine what ports and protocols are associated with the service. By default, Firewalld comes with a number of predefined services, such as ssh, http, https, smtp, and dns.

    Policies: Firewalld allows the definition of policies to control how traffic is forwarded between zones. Policies are defined rules that determine how traffic is handled when it is forwarded between different zones. Policies can be used to allow or deny traffic between zones or to modify the source or destination of traffic.

    Ports: Firewalld uses ports to allow or deny traffic to specific ports. A port is a communication endpoint that is identified by a number. Ports are typically associated with specific protocols, such as TCP or UDP.

    Source and Destination: Firewalld allows rules to be defined based on the source or destination of network traffic. Rules can be defined based on IP addresses, subnets, interfaces, and MAC addresses.

    Masquerading and NAT: Firewalld provides support for Network Address Translation (NAT) and masquerading. NAT is used to map private IP addresses to public IP addresses, while masquerading is used to hide the source IP address of outgoing traffic.

    # 📝 Key Takeaways

    # Predefined zones

    List of the predefined zones along with their respective trust levels and descriptions:

    • 🟥 drop - Blocks all incoming connections, allows only outgoing connections.
    • 🟥 block - Similar to drop, but rejects incoming requests.
    • 🟥 public - Allows selective incoming connections on a case-by-case basis.
    • 🟥 external - Enables NAT masquerading for private network accessibility.
    • 🟨 internal - Fairly trustworthy computers, additional services may be available.
    • 🟨 dmz - Permits specific incoming connections.
    • 🟩 work - Trusts most computers in the network, allows more services.
    • 🟩 home - Trusts most other computers, allows additional services.
    • 🟩 trusted - Trusts all machines in the network, use sparingly.
    DETAILS

    List all defined zones:

    sudo firewall-cmd --get-zones
    +

    # Default config

    By default, most of incoming traffic is denied, and only outgoing traffic is allowed in all three zones. You can add or remove services and ports from each zone as needed to configure the firewall rules for your system. By default you will have cockpit, dhcpv6-client and ssh enabled on default AlmaLinux installation.

    By default, firewalld on AlmaLinux uses the public zone as the default zone for all network interfaces that are not explicitly assigned to another zone. This means that any incoming traffic that is not explicitly allowed or denied in another zone will be subject to the rules defined in the public zone.

    # firewall-cmd

    firewall-cmd is a command-line tool used to configure and manage firewalld, providing an easy way to configure firewall rules and zones, enable and disable services, and manage network traffic. With firewall-cmd, users can add, remove, and modify firewall rules in real-time, as well as make changes that persist across reboots and firewall restarts. It is recommended to use firewall-cmd for managing the firewall configuration, as it simplifies the process and ensures that changes are made correctly.

    # The --permanent flag

    The changes by firewall-cmd when adding or removing rules are temporary are only effective for the current runtime of the firewall. If the firewall service is restarted, those changes will be lost.

    Using the --permanent option makes the changes permanent, meaning they will be saved to the firewall configuration files on disk. These configuration files are read and applied by the firewall service when it starts up, so the changes will persist across reboots and firewall restarts.

    # 📖 Interacting with Firewalld

    TIP

    Keep in mind that sudo privileges are required for firewall modification commands.

    # ➡️ Adding / removing temporary rules

    Here are some basic patterns for adding and removing rules temporarily or permanently:

    • To add a service to the default zone temporarily, use the command:
    sudo firewall-cmd --add-service=<service-name>
    +
    • To remove a service from the default zone temporarily, use the command:
    sudo firewall-cmd --remove-service=<service-name>
    +

    # ➡️ Adding / removing permanent rules

    • To add a service to the default zone permanently, use the command:
    sudo firewall-cmd --permanent --add-service=<service-name>
    +
    • To remove a service from the default zone permanently, use the command:
    sudo firewall-cmd --permanent --remove-service=<service-name>
    +

    # 🔖 Probing settings

    # ➡️ Configuration

    List the current active zone (by default it is public zone), along with any configured rules and services for that zone:

    sudo firewall-cmd --list-all
    +
    DETAILS

    Example:

    public (active)
    +  target: default
    +  icmp-block-inversion: no
    +  interfaces: eth0
    +  sources: 
    +  services: cockpit dhcpv6-client ssh
    +  ports: 
    +  protocols: 
    +  forward: yes
    +  masquerade: no
    +  forward-ports: 
    +  source-ports: 
    +  icmp-blocks: 
    +  rich rules: 
    +

    # ➡️ Zones

    Current configuration of the firewall zones:

    sudo firewall-cmd --get-default-zone
    +

    List all available zones with:

    sudo firewall-cmd --get-zones
    +

    Get detailed information about a specific zone:

    sudo firewall-cmd --info-zone=<zone> command
    +

    # ➡️ Services: list active services

    List of services that are currently allowed in the public zone.

    TIP

    If no services are allowed in the zone, the output will be empty. In example we have output for default AlmaLinux settings.

    sudo firewall-cmd --zone=public --list-services
    +
    DETAILS

    Example:

    cockpit dhcpv6-client ssh
    +

    TIP

    Replace public with the name of any other zone that you want to check.

    # 🔖 Configuring

    WARNING

    If on remote connection (ssh) +Do not to block all incoming traffic, it will cut you out from the remote system.

    DANGEROUS firewall-cmd --set-default-zone=drop  <--- dissallows ssh!
    +
    DETAILS

    Your access is allowed in the zone public:

    sudo firewall-cmd --zone=public --list-services
    +

    # Example output:

    cockpit dhcpv6-client ssh
    +

    # ➡️ Selecting Zones for Interfaces

    By default, each network interface is assigned to the default zone when the firewall is booted. +To change the zone of an interface during a session using the --zone= parameter with the --change-interface= parameter.

    For example, to transition the eth0 interface to the work zone, use the following command:

    sudo firewall-cmd --zone=work--change-interface=eth0
    +

    # ➡️ Changing the Default Zone

    If you want to handle all your interfaces with a single zone, it's recommended to select the appropriate default zone for your configuration. +To change the default zone, use the --set-default-zone= parameter followed by the desired zone name. +This command will immediately update any interface using the default zone.

    For example, to set the default zone to "home", use the following command:

    sudo firewall-cmd --set-default-zone=home
    +
    DETAILS

    Example:

    success
    +

    By adjusting the default zone, you can simplify and customize your firewall configuration.

    # 📋 Table of Services

    Table below lists common services and ports that can be used with the firewall-cmd command to add or remove them from the default zone (or other zones when using --zone).

    Group name Description Service Name Protocol Port
    Databases
    MongoDB MongoDB database mongodb TCP 27017
    MySQL MySQL database mysql TCP/UDP 3306
    PostgreSQL PostgreSQL database postgresql TCP 5432
    Redis Redis database redis TCP 6379
    Web Services
    FTP FTP service ftp TCP 21
    HTTP HTTP service http TCP 80
    HTTPS HTTPS service https TCP 443
    IMAP IMAP service imap TCP 143
    POP3 POP3 service pop3 TCP 110
    SMTP SMTP service smtp TCP 25
    Security Services
    Firewall Firewall Management firewall TCP/UDP 9090
    IPsec NAT-T IPsec NAT Traversal ipsec-nat-t UDP 4500
    ISAKMP/IKE ISAKMP/IKE isakmp UDP 500
    LDAPS Secure LDAP ldaps TCP 636
    RADIUS accounting RADIUS Accounting radacct UDP 1813, 1814
    RADIUS authentication RADIUS Authentication radius UDP 1812
    SNMP Simple Network Management snmp UDP 161
    SNMP trap SNMP Trap snmptrap UDP 162
    SSH Secure Shell ssh TCP 22
    System Services
    DHCP Dynamic Host Configuration Protocol dhcp UDP 67, 68
    DHCPv6 client DHCPv6 Client dhcpv6-client UDP 546, 547
    DHCPv6 server DHCPv6 Server dhcpv6-server UDP 547
    DNS Domain Name System dns TCP/UDP 53
    LDAP Lightweight Directory Access Protocol ldap TCP 389
    NFS Network File System nfs TCP/UDP 2049
    NTP Network Time Protocol ntp UDP 123
    RDP Remote Desktop Protocol rdp TCP 3389
    SMB Server Message Block smb TCP 445
    VNC server Virtual Network Computing Server vnc-server TCP 5900
    Other Services
    IMAPS Secure IMAP imaps TCP 993
    HTTPS Alternate HTTPS Alternate https-alt TCP 8443
    LPD Line Printer Daemon lpd TCP 515
    L2TP VPN L2TP VPN l2tp UDP 1701
    POP3S Secure POP3 pop3s TCP 995
    POP3 POP3 service pop3 TCP 110
    PPTP VPN PPTP VPN pptp TCP/UDP 1723
    RIP Routing Information Protocol rip UDP 520
    SIP Session Initiation Protocol sip TCP/UDP 5060
    SIPs Secure SIP sips TCP/UDP 5061
    Telnet Telnet Protocol telnet TCP 23
    TFTP Trivial File Transfer Protocol tftp UDP 69

    This is not an exhaustive list, and the service names, protocols, and ports may vary depending on your specific system configuration.

    TIP

    In GNU/Linux systems the /etc/services file contains the list of TCP & UDP network services. grep it to find interesting data.

    grep mysql /etc/services
    +
    DETAILS
    mysql           3306/tcp                        # MySQL
    +mysql           3306/udp                        # MySQL
    +mysql-cluster   1186/tcp                # MySQL Cluster Manager
    +mysql-cluster   1186/udp                # MySQL Cluster Manager
    +mysql-cm-agent  1862/tcp                # MySQL Cluster Manager Agent
    +mysql-cm-agent  1862/udp                # MySQL Cluster Manager Agent
    +mysql-im        2273/tcp                # MySQL Instance Manager
    +mysql-im        2273/udp                # MySQL Instance Manager
    +mysql-proxy     6446/tcp                # MySQL Proxy
    +mysql-proxy     6446/udp                # MySQL Proxy
    +

    # 📚 Further Reading and Next Steps

    In-depth Resources:

    Related Resources:

    + + + diff --git a/series/system/SystemSeriesA03.html b/series/system/SystemSeriesA03.html new file mode 100644 index 000000000..be7d82b79 --- /dev/null +++ b/series/system/SystemSeriesA03.html @@ -0,0 +1,68 @@ + + + + + + A03 ❯ NVIDIA Driver Installation Guide | AlmaLinux Wiki + + + + + + + + + +

    # A03 ❯ NVIDIA Driver Installation Guide

    ℹ️ This article is part of AlmaLinux System Series.


    💡 Experience Level ⭐☆☆☆☆
    📆 Last modified 2024-02-02
    🔧 Tested by
    ↳ version | platform | date
    none
    ↳ 9.x | x86_64 | 2023-05-xx

    # 🌟 Introduction

    This guide provides instructions on how to install NVIDIA's graphics driver for AlmaLinux in two variants:

    • Binary Driver 8.x | 9.x 👈 USING PRECOMPILED DRIVERS IS RECOMMENDED
    • Compiling From Source 8.x | 9.x ⚠️ REQURIES SWITCHING TO ELRepo KERNEL
    • .run Driver REQURIES manual installation of dependencies and downloading the driver manually from Nvidia website

    # 🧠 Fundamental Concepts

    # Dynamic Kernel Module Support (DKMS)

    DKMS is a system utility that allows you to automatically build kernel modules.

    # ELRepo Kernel

    ELRepo is a community repository for Enterprise Linux distributions (e.g., RHEL, CentOS, AlmaLinux). It focuses on hardware-related packages to enhance your Linux experience. This repo provides a kernel (packages) which tracks mainline kernel very closely. In result, this kernel is updated frequently and sometimes it leads to temporary incompatiblity with NVIDIA driver sources.

    # NVIDIA Drivers Source

    Install the NVIDIA graphics driver using the DKMS (Dynamic Kernel Module Support). Needs switching the kernel to ELRepo kernel version.

    # NVIDIA Precompiled/Binary Drivers

    NVIDIA compiles and tests this driver for each precise kernel version. Installing it locks your kernel upgrade (with driver). It is the recommended way according to NVIDIA.

    # Understanding NVIDIA .run Driver Installation

    The NVIDIA .run Driver Installation Guide offers an alternative approach to installing the graphics driver on AlmaLinux. Unlike the recommended precompiled drivers, this method allows users to manually handle the installation process. It involves downloading the driver directly from the Nvidia website, making it a more flexible but intricate process.

    # Key Points

    • Manual Dependency Installation: Users are required to install dependencies manually, ensuring compatibility with the system.
    • Direct Download from Nvidia: The graphics driver needs to be downloaded manually from the Nvidia website, allowing users to choose specific versions compatible with their GPUs.
    • Flexibility and Control: This method provides users with greater control over the installation process, enabling customization based on specific needs.

    # Considerations

    • Advanced Users: The .run Driver Installation Guide is suitable for advanced users who are comfortable handling manual installations and configurations.
    • Compatibility Verification: Users must verify the compatibility of the downloaded driver version with their GPU before proceeding with the installation.

    # 📖 Release-Specific Installation

    # FAQ

    # Q: Installed the module but getting Black Screen after reboot?

    # If you are able to change GRUB kernel boot parameters, do:

    module_blacklist=nvidia,nvidia_drm,nvida_modeset
    +

    # If you are getting Black Screen right after boot (no GRUB visible), do:

    WIP

    # If the Desktop Icon for NVIDIA-Settings is not showing, do :

    sudo echo "[Desktop Entry]" | sudo tee /usr/share/applications/nvidia-settings.desktop
    +sudo echo "Type=Application" | sudo tee -a /usr/share/applications/nvidia-settings.desktop
    +sudo echo "Name=NVIDIA Settings" | sudo tee -a /usr/share/applications/nvidia-settings.desktopsudo
    +sudo echo "Comment=Configure NVIDIA Settings" | sudo tee -a /usr/share/applications/nv```idia-settings.desktop
    +sudo echo "Exec=nvidia-settings" | sudo tee -a /usr/share/applications/nvidia-settings.desktop
    +sudo echo "Icon=nvidia-settings" | sudo tee -a /usr/share/applications/nvidia-settings.desktop
    +sudo echo "Terminal=false" | sudo tee -a /usr/share/applications/nvidia-settings.desktop
    +sudo echo "Categories=System;Settings;X-Red-Hat-Base-Utilities;" | sudo tee -a /usr/share/applications/nvidia-settings.desktop
    +

    # 📚 Further Reading and Next Steps

    In-depth Resources:

    Related Resources:

    + + + diff --git a/series/system/SystemSeriesA03R8.html b/series/system/SystemSeriesA03R8.html new file mode 100644 index 000000000..abcb7ab57 --- /dev/null +++ b/series/system/SystemSeriesA03R8.html @@ -0,0 +1,124 @@ + + + + + + A03 R8 ❯ NVIDIA: Installation on 8.x | AlmaLinux Wiki + + + + + + + + + +

    # A03 R8 ❯ NVIDIA: Installation on 8.x

    ℹ️ This article is part of AlmaLinux System Series.


    💡 Experience Level ⭐☆☆☆☆
    📆 Last modified 2024-02-02
    🔧 Tested by
    ↳ version | platform | date
    none
    ↳ 9.x | x86_64 | 2023-05-xx

    # 🌟 Introduction

    This is a dedicated example for the AlmaLinux 8.x series, demonstrating how to install NVIDIA graphics driver using one of three variants:

    • Variant I: Precompiled/Binary Driver
    • Variant II: Compile Driver Source
    • Variant III : NVIDIA .run Driver Installation Guide

    # 🔖 Variant I: Install Binary Driver

    ➡️ Enable PowerTools:

    sudo dnf config-manager --set-enabled powertools
    +sudo dnf makecache
    +

    ➡️ Add EPEL8:

    sudo dnf -y install epel-release
    +sudo dnf upgrade
    +

    ➡️ Add NVIDIA Repository:

    sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo
    +sudo dnf makecache
    +

    ➡️ Install the latest NVIDIA driver:

    sudo dnf module install nvidia-driver:latest
    +

    ➡️ Install third-party libraries for CUDA:

    sudo dnf install freeglut-devel libX11-devel libXi-devel libXmu-devel make mesa-libGLU-devel freeimage-devel libglfw3-devel
    +

    # 🔖 Variant II: Compile Driver Source

    TIP

    Installing NVIDIA drivers on AlmaLinux 8 requires using ELRepo Mainline kernel.

    ➡️ Enable PowerTools & add EPEL8:

    sudo dnf config-manager --set-enabled powertools
    +sudo dnf makecache && sudo dnf -y install epel-release
    +sudo dnf makecache
    +

    ➡️ Add ELRepo:

    rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
    +sudo dnf -y install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
    +sudo dnf makecache
    +

    ➡️ Enable ELRepo Mainline Kernel Repo:

    sudo dnf config-manager --set-enabled elrepo-kernel
    +sudo dnf makecache
    +

    ➡️ Install ELrepo Mainline kernel:

    sudo dnf -y install kernel-ml kernel-ml-modules kernel-ml-modules-extra kernel-ml-devel kernel-headers
    +

    ➡️ Add NVIDIA repository:

    sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo
    +sudo dnf makecache
    +

    ➡️ Install NVIDIA DKMS Drivers:

    sudo dnf module install nvidia-driver:latest-dkms
    +

    ➡️ Disable Nouveau:

    printf 'blacklist nouveau\n' | sudo tee /etc/modprobe.d/nouveau-blacklist.conf
    +sudo dracut -f --regenerate-all
    +lsmod | grep -Ei '(nouv|nvidia)'
    +

    ➡️ Reboot to runlevel 3:

    sudo systemctl set-default multi-user.target
    +sudo reboot
    +sudo systemctl set-default graphical.target
    +sudo reboot
    +

    # 🔖 Variant III: NVIDIA .run Driver Installation Guide

    ➡️ Enable needed repository:

    sudo dnf install epel-release
    +sudo dnf config-manager --set-enabled powertools
    +sudo dnf config-manager --set-enabled extras
    +

    ➡️ Install needed packages:

    sudo dnf install kernel-devel
    +sudo dnf install kernel-headers
    +sudo dnf install dkms
    +sudo dnf install redhat-lsb-core
    +sudo dnf install vulkan
    +sudo dnf install vulkan-tools
    +sudo dnf install vulkan-headers
    +sudo dnf install vulkan-loader-devel
    +

    ➡️ Disable Nouveau:

    sudo touch /etc/modprobe.d/nouveau-blacklist.conf
    +echo "blacklist nouveau" | sudo tee /etc/modprobe.d/nouveau-blacklist.conf
    +echo "options nouveau modeset=0" | sudo tee -a /etc/modprobe.d/nouveau-blacklist.conf
    +
    sudo dracut --force
    +
    sudo grub2-mkconfig -o /boot/grub2/grub.cfg
    +sudo grub2-mkconfig -o /boot/efi/EFI/almalinux/grub.cfg
    +
    sudo reboot
    +

    ➡️ Install the .run driver : +Download the latest driver (Verify compatibility with your GPU):

    https://www.nvidia.com/en-us/drivers/unix/linux-amd64-display-archive/

    ➡️ Go into the downloaded driver directory (Replace /path/to/driver with the actual path):

    cd /path/to/driver
    +

    ➡️ Make executable (XXX.XXX.XX Is the driver version):

    sudo chmod +x NVIDIA-LINUX-x86_64-XXX.XXX.XX.run
    +

    ➡️ Switch to Run Level 3 :

    sudo init 3
    +

    ➡️ .run Driver installation options :

    Choose either Option 1 or Option 2 based on your preference.

    Option 1 :

    Install via the Console Text UI by following the prompt: +Replace XXX.XXX.XX with the actual driver version.

    sudo ./NVIDIA-LINUX-x86_64-XXX.XXX.XX.run

    Option 2 :

    Install silently via console : +Replace XXX.XXX.XX with the actual driver version.

    sudo ./NVIDIA-Linux-x86_64-XXX.XXX.XX.run --accept-license --silent --run-nvidia-xconfig --dkms

    ➡️ Update the initramfs (This is needed as of 535.XXX.XX drivers) :

    Update the initramfs to ensure the changes made by the NVIDIA driver installation are reflected.

    sudo dracut -f
    +
    sudo grub2-mkconfig -o /boot/grub2/grub.cfg
    +sudo grub2-mkconfig -o /boot/efi/EFI/almalinux/grub.cfg
    +

    ➡️ Set the default target to graphical for a desktop environment & Set the default target back to multi-user for a server or command-line environment.

    sudo systemctl set-default graphical.target
    +sudo systemctl set-default multi-user.target
    +
    sudo reboot
    +

    # Known issue with NVIDIA-Settings Desktop Icon:

    # Create NVIDIA Settings desktop icon :

    sudo echo "[Desktop Entry]" | sudo tee /usr/share/applications/nvidia-settings.desktop
    +sudo echo "Type=Application" | sudo tee -a /usr/share/applications/nvidia-settings.desktop
    +sudo echo "Name=NVIDIA Settings" | sudo tee -a /usr/share/applications/nvidia-settings.desktopsudo
    +sudo echo "Comment=Configure NVIDIA Settings" | sudo tee -a /usr/share/applications/nv```idia-settings.desktop
    +sudo echo "Exec=nvidia-settings" | sudo tee -a /usr/share/applications/nvidia-settings.desktop
    +sudo echo "Icon=nvidia-settings" | sudo tee -a /usr/share/applications/nvidia-settings.desktop
    +sudo echo "Terminal=false" | sudo tee -a /usr/share/applications/nvidia-settings.desktop
    +sudo echo "Categories=System;Settings;X-Red-Hat-Base-Utilities;" | sudo tee -a /usr/share/applications/nvidia-settings.desktop
    +

    # 📚 Further Reading and Next Steps

    Get Back:

    In-depth Resources:

    Related Resources:

    + + + diff --git a/series/system/SystemSeriesA03R9.html b/series/system/SystemSeriesA03R9.html new file mode 100644 index 000000000..f4bbef87c --- /dev/null +++ b/series/system/SystemSeriesA03R9.html @@ -0,0 +1,124 @@ + + + + + + A03 R9 ❯ NVIDIA: Installation on 9.x | AlmaLinux Wiki + + + + + + + + + +

    # A03 R9 ❯ NVIDIA: Installation on 9.x

    ℹ️ This article is part of AlmaLinux System Series.


    💡 Experience Level ⭐☆☆☆☆
    📆 Last modified 2024-02-02
    🔧 Tested by
    ↳ version | platform | date
    none
    ↳ 9.x | x86_64 | 2023-05-xx

    # 🌟 Introduction

    This is a dedicated example for the AlmaLinux 9.x series, demonstrating how to install NVIDIA graphics driver using one of three variants:

    • Variant I: Precompiled/Binary Driver
    • Variant II: Compile Driver Source
    • Variant III: NVIDIA .run Driver Installation Guide

    # 🔖 Variant I: Install Binary Driver

    ➡️ Enable PowerTools:

    sudo dnf config-manager --set-enabled powertools
    +sudo dnf makecache
    +

    ➡️ Add EPEL9

    sudo dnf -y install epel-release
    +sudo dnf upgrade
    +

    ➡️ Add NVIDIA Repository:

    sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/cuda-rhel9.repo
    +sudo dnf makecache
    +

    ➡️ Install the latest NVIDIA driver:

    sudo dnf module install nvidia-driver:latest
    +

    ➡️ Install third-party libraries for CUDA:

    sudo dnf install freeglut-devel libX11-devel libXi-devel libXmu-devel make mesa-libGLU-devel freeimage-devel libglfw3-devel
    +

    # 🔖 Variant II: Compile Driver Source

    TIP

    Installing NVIDIA drivers on AlmaLinux 9 requires using ELRepo Mainline kernel.

    # ELRepo releated steps

    ➡️ Enable CodeReady Builder & add EPEL9:

    sudo dnf config-manager --set-enabled crb
    +sudo dnf makecache && sudo dnf -y install epel-release
    +sudo dnf makecache
    +

    ➡️ Add ELRepo:

    rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
    +sudo dnf -y install https://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm
    +sudo dnf makecache
    +

    ➡️ Enable ELRepo Mainline Kernel Repo:

    sudo dnf config-manager --set-enabled elrepo-kernel
    +sudo dnf makecache
    +

    ➡️ Install ELrepo Mainline kernel:

    sudo dnf -y install kernel-ml kernel-ml-modules kernel-ml-modules-extra kernel-ml-devel kernel-headers
    +

    ➡️ Add NVIDIA repository:

    sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/cuda-rhel9.repo
    +sudo dnf makecache
    +

    ➡️ Install NVIDIA DKMS Drivers:

    sudo dnf module install nvidia-driver:latest-dkms
    +

    ➡️ Disable Nouveau:

    printf 'blacklist nouveau\n' | sudo tee /etc/modprobe.d/nouveau-blacklist.conf
    +sudo dracut -f --regenerate-all
    +lsmod | grep -Ei '(nouv|nvidia)'
    +

    ➡️ Reboot to runlevel 3:

    sudo systemctl set-default multi-user.target
    +sudo reboot
    +sudo systemctl set-default graphical.target
    +sudo reboot
    +

    # 🔖 Variant III: NVIDIA .run Driver Installation Guide

    ➡️ Enable needed repository :

    sudo dnf install epel-release
    +sudo dnf config-manager --enable crb
    +sudo dnf dnf config-manager --set-enabled extras
    +

    ➡️ Install needed packages :

    sudo dnf install kernel-devel
    +sudo dnf install kernel-headers
    +sudo dnf install dkms
    +sudo dnf install redhat-lsb-core
    +sudo dnf install vulkan
    +sudo dnf install vulkan-tools
    +sudo dnf install vulkan-headers
    +sudo dnf install vulkan-loader-devel
    +

    ➡️ Disable Nouveau :

    sudo touch /etc/modprobe.d/nouveau-blacklist.conf
    +echo "blacklist nouveau" | sudo tee /etc/modprobe.d/nouveau-blacklist.conf
    +echo "options nouveau modeset=0" | sudo tee -a /etc/modprobe.d/nouveau-blacklist.conf
    +
    sudo dracut --force
    +
    sudo grub2-mkconfig -o /boot/grub2/grub.cfg
    +sudo grub2-mkconfig -o /boot/efi/EFI/almalinux/grub.cfg
    +
    sudo reboot
    +

    ➡️ Install the .run driver :

    Download the latest driver (Verify compatibility with your GPU):

    https://www.nvidia.com/en-us/drivers/unix/linux-amd64-display-archive/

    ➡️ Go into the downloaded driver directory (Replace /path/to/driver with the actual path):

    cd /path/to/driver
    +

    ➡️ Make the driver executable (XXX.XXX.XX Is the driver version):

    sudo chmod +x NVIDIA-LINUX-x86_64-XXX.XXX.XX.run
    +

    ➡️ Switch to Run Level 3 :

    sudo init 3
    +

    ➡️ .run Driver installation options :

    Choose either Option 1 or Option 2 based on your preference.

    Option 1 :

    Install via the Console Text UI by following the prompt: +Replace XXX.XXX.XX with the actual driver version.

    sudo ./NVIDIA-LINUX-x86_64-XXX.XXX.XX.run

    Option 2 :

    Install silently via console : +Replace XXX.XXX.XX with the actual driver version.

    sudo ./NVIDIA-Linux-x86_64-XXX.XXX.XX.run --accept-license --silent --run-nvidia-xconfig --dkms

    ➡️ Update the initramfs (This is needed as of 535.XXX.XX drivers) : +Update the initramfs to ensure the changes made by the NVIDIA driver installation are reflected.

    sudo dracut -f
    +
    sudo grub2-mkconfig -o /boot/grub2/grub.cfg
    +sudo grub2-mkconfig -o /boot/efi/EFI/almalinux/grub.cfg
    +

    ➡️ Set the default target to graphical for a desktop environment & Set the default target back to multi-user for a server or command-line environment.

    sudo systemctl set-default graphical.target
    +sudo systemctl set-default multi-user.target
    +
    sudo reboot
    +

    # Known issue with NVIDIA-Settings Desktop Icon** :

    # Create NVIDIA Settings desktop icon :

    sudo echo "[Desktop Entry]" | sudo tee /usr/share/applications/nvidia-settings.desktop
    +sudo echo "Type=Application" | sudo tee -a /usr/share/applications/nvidia-settings.desktop
    +sudo echo "Name=NVIDIA Settings" | sudo tee -a /usr/share/applications/nvidia-settings.desktop
    +sudo echo "Comment=Configure NVIDIA Settings" | sudo tee -a /usr/share/applications/nv```idia-settings.desktop
    +sudo echo "Exec=nvidia-settings" | sudo tee -a /usr/share/applications/nvidia-settings.desktop
    +sudo echo "Icon=nvidia-settings" | sudo tee -a /usr/share/applications/nvidia-settings.desktop
    +sudo echo "Terminal=false" | sudo tee -a /usr/share/applications/nvidia-settings.desktop
    +sudo echo "Categories=System;Settings;X-Red-Hat-Base-Utilities;" | sudo tee -a /usr/share/applications/nvidia-settings.desktop
    +

    # 📚 Further Reading and Next Steps

    Get Back:

    In-depth Resources:

    Related Resources:

    + + + diff --git a/series/system/SystemSeriesA04.html b/series/system/SystemSeriesA04.html new file mode 100644 index 000000000..acc1e6893 --- /dev/null +++ b/series/system/SystemSeriesA04.html @@ -0,0 +1,66 @@ + + + + + + A04 ❯ Snapd Installation Guide | AlmaLinux Wiki + + + + + + + + + +

    # A04 ❯ Snapd Installation Guide

    ℹ️ This article is part of AlmaLinux System Series.


    💡 Experience Level ⭐☆☆☆☆
    📆 Last modified 2023-06-07
    🔧 Tested by
    ↳ version | platform | date
    NOT TESTED YET

    # 🌟 Introduction

    The snap packages for AlmaLinux can be found in the Extra Packages for Enterprise Linux (EPEL) repository. 📦

    # Enable EPEL repo 💽

    If you haven’t done it yet, enable the EPEL repository for your AlmaLinux system:

    sudo dnf install epel-release
    +sudo dnf upgrade
    +

    # Install 🛠

    TIP

    ℹ️ +Important for cloud images users!

    Before proceeding with the installation of snapd, it’s important to install the kernel-modules package as these type of images come with limited number of modules. This package includes SquashFS, a compressed read-only file system for Linux, which is necessary for the snapd functionality.

    TIP

    Install the kernel-modules, using the following command:

    sudo dnf install kernel-modules
    +

    With the EPEL repository and kernel-modules added to your AlmaLinux installation, you can now install the snapd package: 📥

    sudo dnf install snapd
    +

    # Set up ⚙️

    Next, instruct systemd to enable the unit providing the snapd communication socket:

    sudo systemctl enable --now snapd.socket
    +

    Then, enable classic snap support, create a symbolic link it requires:

    sudo ln -s /var/lib/snapd/snap /snap
    +

    # Last installation step 🏁

    To make sure the paths for snapd are updated correctly, you just need to re-login. Reboot will work too. 🔄

    Congratulations, snapd is now installed and fully operational! 🎉

    # Optional: for Desktop Users 🖥

    If you’re using a desktop environment, consider installing the Snap Store app (https://forum.snapcraft.io/t/installing-the-snap-store-app/10077) 🛍️

    + + + diff --git a/series/system/SystemSeriesA05.html b/series/system/SystemSeriesA05.html new file mode 100644 index 000000000..2c2626f92 --- /dev/null +++ b/series/system/SystemSeriesA05.html @@ -0,0 +1,69 @@ + + + + + + A05 ❯ Multimedia Codecs Installation Guide | AlmaLinux Wiki + + + + + + + + + +

    # A05 ❯ Multimedia Codecs Installation Guide

    ℹ️ This article is part of AlmaLinux System Series.


    💡 Experience Level ⭐☆☆☆☆
    📆 Last modified 2024-06-11
    🔧 Tested by
    ↳ version | platform | date
    NOT TESTED YET

    # Add EPEL:

    sudo dnf -y install epel-release
    +sudo dnf makecache
    +

    # Enable CRB:

    sudo dnf config-manager --set-enabled crb
    +

    # Add RPMFusion:

    Starting from step 2, follow Installing EPEL and RPM Fusion.

    # Install multimedia codecs:

    sudo dnf -y group install multimedia
    +sudo dnf -y install ffmpeg ffmpeg-libs ffmpeg-devel mpv
    +

    # Extra Audio packages

    sudo dnf -y group install sound-and-video
    +

    # Play a DVD

    sudo dnf -y install libdvdcss
    +

    # Install mediaplayers like VLC, MPV or Celluloid from RPMFusion

    sudo dnf install vlc
    +sudo dnf install mpv
    +sudo dnf install celluloid # Simple GTK+ frontend for mpv
    +
    + + + diff --git a/series/system/SystemSeriesA06.html b/series/system/SystemSeriesA06.html new file mode 100644 index 000000000..9b9387aa5 --- /dev/null +++ b/series/system/SystemSeriesA06.html @@ -0,0 +1,83 @@ + + + + + + A06 ❯ Multimedia Codecs & Libraries for VFX Workstation Installation Guide | AlmaLinux Wiki + + + + + + + + + +

    # A06 ❯ Multimedia Codecs & Libraries for VFX Workstation Installation Guide

    ℹ️ This article is part of AlmaLinux System Series.


    💡 Experience Level ⭐⭐☆☆☆
    📆 Last modified 2024-02-02
    🔧 Tested by
    ↳ version | platform | date
    NOT TESTED YET

    These packages have been needed for multiple software, such has "Thinkbox Deadline" and were either backported, requested, or discovered as alternatives for AlmaLinux 9 for users migrating from enterprise Linux 8.

    # Enable CRB:

    sudo dnf config-manager --set-enabled crb
    +

    # Add EPEL9:

    sudo dnf -y install epel-release
    +

    # Add RPMFusion:

    sudo dnf install -y --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm
    +

    # Add almalinux-release-devel:

    sudo dnf almalinux-release-devel
    +

    # Add almalinux Extras:

    sudo dnf config-manager --set-enabled extras
    +

    # Update System Packages :

    sudo dnf update -y
    +

    # Reboot to apply updates :

    sudo reboot
    +

    # Network Share essentials :

    sudo dnf install samba -y
    +sudo dnf insall cifs-utils -y
    +sudo dnf install nfs-utils -y
    +

    # Packages groups essentials :

    sudo dnf groupinstall Workstation -y
    +sudo dnf groupinstall "Development Tools" -y
    +sudo dnf groupinstall "RPM Development Tools" -y
    +sudo dnf groupinstall "System Tools" -y
    +

    # Install multimedia codecs:

    sudo dnf -y groupinstall multimedia --with-optional
    +sudo dnf -y install ffmpeg
    +sudo dnf -y install x264
    +sudo dnf -y install x264-devel
    +sudo dnf -y install SDL2
    +sudo dnf -y install ffmpeg-devel
    +

    # Install multimedia codecs (Required if using Thinkbox Deadline):

    sudo dnf -y install libcrypto.so.1.1
    +

    # Libraries and codec needed for VFX software :

    sudo dnf -y install ncurses-compat-libs
    +sudo dnf -y install gstreamer1-libav
    +sudo dnf -y install libnsl
    +sudo dnf -y install vulkan
    +sudo dnf -y install libglvnd-devel
    +sudo dnf -y install mesa-libGL
    +sudo dnf -y install mesa-libGLU
    +sudo dnf -y install gstreamer1-libav
    +sudo dnf -y install libnsl
    +sudo dnf -y install xmessage
    +

    # Fix for locale language not being applied with GDM :

    sudo localectl set-locale LANG=en_US.UTF-8
    +
    + + + diff --git a/series/system/SystemSeriesA07.html b/series/system/SystemSeriesA07.html new file mode 100644 index 000000000..9cadd9e43 --- /dev/null +++ b/series/system/SystemSeriesA07.html @@ -0,0 +1,57 @@ + + + + + + A07 ❯ Change from Wayland to Xorg Installation Guide | AlmaLinux Wiki + + + + + + + + + +

    # A07 ❯ Change from Wayland to Xorg Installation Guide

    ℹ️ This article is part of AlmaLinux System Series.


    💡 Experience Level ⭐☆☆☆☆
    📆 Last modified 2024-02-02
    🔧 Tested by
    ↳ version | platform | date
    NOT TESTED YET

    In some case Wayland may interfere with software installed and require Xorg instead. This is the way to rollback to Xorg.

    # Open the terminal on the host machine.

    # Gain administrative privileges by using the sudo command:

    sudo su
    +

    # Navigate to the /etc/gdm/ directory:

    cd /etc/gdm/
    +

    # Open the custom.conf file in a text editor of your choice. For example, you can use the nano editor:

    Ensure that these lines are within the block that starts with # {mark} ANSIBLE MANAGED BLOCK.
    +sudo nano custom.conf
    +

    # Find or add the following lines to the file:

    WaylandEnable=false
    +DefaultSession=gnome-xorg.desktop
    +

    # Save the changes and exit the text editor. If you are using nano, you can press Ctrl + X, then press Y to confirm changes, and finally press Enter to exit.

    # Restart the system or the display manager for the changes to take effect.

    + + + diff --git a/series/system/SystemSeriesA08.html b/series/system/SystemSeriesA08.html new file mode 100644 index 000000000..efecae9de --- /dev/null +++ b/series/system/SystemSeriesA08.html @@ -0,0 +1,71 @@ + + + + + + A08 ❯ Earlyoom (Out of Memory) Installation Guide | AlmaLinux Wiki + + + + + + + + + +

    # A08 ❯ Earlyoom (Out of Memory) Installation Guide

    ℹ️ This article is part of AlmaLinux System Series.


    💡 Experience Level ⭐☆☆☆☆
    📆 Last modified 2024-02-02
    🔧 Tested by
    ↳ version | platform | date
    NOT TESTED YET

    EarlyOOM project can be found here: https://github.com/rfjakob/earlyoom (opens new window)

    # Install EarlyOOM:

    sudo dnf install earlyoom -y
    +

    # Configure EarlyOOM to start at boot:

    sudo systemctl enable earlyoom
    +

    # Configure Earlyoom Parameters:

    Open the terminal on the host machine.

    # Gain administrative privileges by using the sudo command:

    sudo su
    +

    # Open the /etc/default/earlyoom file in a text editor of your choice. For example, you can use the nano editor:

    sudo nano /etc/default/earlyoom
    +

    # Find or add the following lines to the file:

    EARLYOOM_ARGS="-m 10 -s 75 -r 3600 --avoid '(^|/)(init|Xorg|ssh|gnome)$'"
    +

    Save the changes and exit the text editor. If you are using nano, you can press Ctrl + X, then press Y to confirm changes, and finally press Enter to exit.

    Please note that these are the options that worked in my case and may not work for all specific cases. Please refer to the command options for EarlyOOM:

    User
    +Command line options
    +earlyoom v1.6.2-34-g75a8852-dirty
    +Usage: ./earlyoom [OPTION]...
    +
    +  -m PERCENT[,KILL_PERCENT] set available memory minimum to PERCENT of total
    +                            (default 10 %).
    +                            earlyoom sends SIGTERM once below PERCENT, then
    +                            SIGKILL once below KILL_PERCENT (default PERCENT/2).
    +  -s PERCENT[,KILL_PERCENT] set free swap minimum to PERCENT of total (default
    +                            10 %).
    +                            Note: both memory and swap must be below minimum for
    +

    Reference: https://github.com/rfjakob/earlyoom (opens new window)

    # Set the owner and group of the file to root:

    chown root:root /etc/default/earlyoom
    +

    # Set the file permissions to 0644:

    chmod 0644 /etc/default/earlyoom
    +

    # Notify the system about the changes made by restarting the earlyoom service:

    systemctl restart earlyoom
    +
    + + + diff --git a/series/system/SystemSeriesA09.html b/series/system/SystemSeriesA09.html new file mode 100644 index 000000000..3f69171a6 --- /dev/null +++ b/series/system/SystemSeriesA09.html @@ -0,0 +1,97 @@ + + + + + + A09 ❯ Journalctl Persistent Installation Guide | AlmaLinux Wiki + + + + + + + + + +

    # A09 ❯ Journalctl Persistent Installation Guide

    ℹ️ This article is part of AlmaLinux System Series.


    💡 Experience Level ⭐☆☆☆☆
    📆 Last modified 2024-02-02
    🔧 Tested by
    ↳ version | platform | date
    NOT TESTED YET

    Jounalctl Man page: https://man7.org/linux/man-pages/man1/journalctl.1.html

    # Check if the journal directory exists:

    stat /var/log/journal
    +

    # Create the journal directory if it doesn't exist:

    mkdir -p /var/log/journal
    +

    # Configure systemd journal settings:

    Edit the /etc/systemd/journald.conf file using a text editor like nano or vi. Ensure the following content is set:

    # This file is part of systemd.
    +#
    +# systemd is free software; you can redistribute it and/or modify it
    +# under the terms of the GNU Lesser General Public License as published by
    +# the Free Software Foundation; either version 2.1 of the License, or
    +# (at your option) any later version.
    +#
    +# Entries in this file show the compile time defaults.
    +# You can change settings by editing this file.
    +# Defaults can be restored by simply deleting this file.
    +#
    +# See journald.conf(5) for details.
    +
    +[Journal]
    +#Storage=auto
    +#Compress=yes
    +#Seal=yes
    +#SplitMode=uid
    +#SyncIntervalSec=5m
    +#RateLimitIntervalSec=30s
    +#RateLimitBurst=10000
    +SystemMaxUse=200M
    +SystemKeepFree=100M
    +SystemMaxFileSize=20M
    +SystemMaxFiles=10
    +#RuntimeMaxUse=
    +#RuntimeKeepFree=
    +#RuntimeMaxFileSize=
    +#RuntimeMaxFiles=100
    +#MaxRetentionSec=
    +#MaxFileSec=1month
    +#ForwardToSyslog=no
    +#ForwardToKMsg=no
    +#ForwardToConsole=no
    +#ForwardToWall=yes
    +#TTYPath=/dev/console
    +#MaxLevelStore=debug
    +#MaxLevelSyslog=debug
    +#MaxLevelKMsg=notice
    +#MaxLevelConsole=info
    +#MaxLevelWall=emerg
    +#LineMax=48K
    +

    **This file can be modified to your preference, please see the Man page for all possible options: https://man7.org/linux/man-pages/man1/journalctl.1.html

    # Ensure the systemd-journald service is running:

    systemctl start systemd-journald
    +

    # Restart systemd-journald:

    systemctl restart systemd-journald
    +

    After enabling persistent Journalctl, the files will be in a rolling state up to the maximum size specfied and in the location specified

    + + + diff --git a/series/system/SystemSeriesA10.html b/series/system/SystemSeriesA10.html new file mode 100644 index 000000000..d3603d42a --- /dev/null +++ b/series/system/SystemSeriesA10.html @@ -0,0 +1,81 @@ + + + + + + A10 ❯ Chrony Installation Guide | AlmaLinux Wiki + + + + + + + + + +

    # A10 ❯ Chrony Installation Guide

    ℹ️ This article is part of AlmaLinux System Series.


    💡 Experience Level ⭐☆☆☆☆
    📆 Last modified 2024-02-02
    🔧 Tested by
    ↳ version | platform | date
    NOT TESTED YET

    Chrony Man page: https://chrony-project.org/

    # Install Chrony:

    dnf install chrony -y
    +

    # Configure Chrony conf file:

    # Edit the /etc/chrony.conf file using a text editor like nano or vi.

    Ensure the following content is set:

    # chrony.conf
    +# Use Google's NTP server
    +server time.google.com iburst
    +
    +# Local clock as a fallback source
    +server 127.127.1.0 iburst
    +
    +# Set the time zone
    +rtcsync
    +
    +maxdistance 16.0
    +
    +# Driftfile
    +driftfile /var/lib/chrony/drift
    +
    +# Allow larger adjustments to the system clock
    +makestep 1.0 3
    +
    +# Leap seconds configuration
    +leapsec tz right/UTC
    +
    +# Adjust the following line to allow systems in the XXX.XXX.XXX.XXX/XX subnet to access this client.
    +# Ensure to modify the XXX.XXX.XXX.XXX/XX part based on your network configuration.
    +allow XXX.XXX.XXX.XXX/XX
    +
    +# Logging
    +log tracking measurements statistics
    +logdir /var/log/chrony
    +

    For more details on configuring Chrony, you can refer to the Configuration Reference for the version of Chrony Documentation (opens new window) that matches the version you have installed.

    # Restart Chrony service:

    systemctl restart chronyd
    +
    + + + diff --git a/series/system/index.html b/series/system/index.html new file mode 100644 index 000000000..134825cc1 --- /dev/null +++ b/series/system/index.html @@ -0,0 +1,51 @@ + + + + + + AlmaLinux System Series | AlmaLinux Wiki + + + + + + + + + + + + + diff --git a/sigs/Build-System.html b/sigs/Build-System.html new file mode 100644 index 000000000..e4bda7bd7 --- /dev/null +++ b/sigs/Build-System.html @@ -0,0 +1,65 @@ + + + + + + Build System SIG | AlmaLinux Wiki + + + + + + + + + +

    # Build System SIG

    The Build System Team is responsible for automating processes of building distribution and packages, testing packages, signing packages, and releasing them to public repositories.

    # How to Join

    Joining is easy! You can show up to a meeting, pick up an issue from the list by assigning it to yourself, or ask questions in chat! Not every contributor wants to be a part of the SIG, but if you do, joining is simple.

    Where we chat

    The Build System SIG uses the SIG/Build System (opens new window) chat channel for communication.

    Where and when we meet

    Meetings are held regularly, including a daily standup. If you would like to join these meetings, join the channel and ask for an invite!

    # Activities, projects, and deliverables

    # Help wanted:

    • Add OpenStack backend driver support.
    • Improve OpenNebula backend driver support.
    • Add Azure backend driver support.
    • Improve ability to delete a build.
    • Add support for external test projects.

    # SIG Members:

    + + + diff --git a/sigs/Certification.html b/sigs/Certification.html new file mode 100644 index 000000000..67efcf35d --- /dev/null +++ b/sigs/Certification.html @@ -0,0 +1,59 @@ + + + + + + Certification SIG | AlmaLinux Wiki + + + + + + + + + +

    # Certification SIG

    Create and maintain standards and procedures related to hardware and software certification for AlmaLinux.

    # How to Join

    Email a SIG member or show up on the chat. Occasionally there are non-disclosure agreements with hardware vendors, so some chats/meeting might be private, but SIG members will do their best to welcome everyone as fully as possible.

    Where we chat

    We use mattermost SIG/Certification (opens new window) channel for communication and all are welcome there.

    Where and when we meet

    Meetings are approximately every fortnight. If there's nothing confidential in the next meeting agenda a SIG member will happily welcome you along and provide time and meeting URL information.

    # Activities, projects, and deliverables

    Current deliverables are:

    Once active, the SIG will be taking test results and issuing certifications.

    # Help wanted

    • Review of the AlmaLinux OS Foundation Hardware Certification Program document to ensure its clear and concise.
    • Contributions towards expanding the AlmaLinux Hardware Certification Suite to represent a meaningful range of hardware and Linux hardware driver tests that an end user would expect a certification to cover.
    • There is work in progress happening where an Independent Software Vendor can maintain a set of tests for their software with obligations as an addition part of this suite. Once this is defined more, vendor participation will be encouraged. Let us know if this is you so you can be advised when we are ready.
    • Eventually users will be welcome to run the AlmaLinux Hardware Certification Suite on the hardware they have access to and submit these results.

    # SIG members

    On Leave:

    # Additional information for SIG application approval

    • The AlmaLinux OS Foundation Hardware Certification Program is in its final stages of review and expects to be operational in 2024-07-01
    • The AlmaLinux Hardware Certification Suite is functional, though could do with more GPU tests.
    + + + diff --git a/sigs/Cloud.html b/sigs/Cloud.html new file mode 100644 index 000000000..0813577c5 --- /dev/null +++ b/sigs/Cloud.html @@ -0,0 +1,69 @@ + + + + + + Cloud SIG | AlmaLinux Wiki + + + + + + + + + +

    # Cloud SIG

    The Cloud team is responsible for AlmaLinux OS container and cloud images.

    # How to Join

    Joining is easy! You can show up to a meeting, pick up an issue from the list by assigning it to yourself, or ask questions in chat! Not every contributor wants to be a part of the SIG, but if you do, joining is simple.

    Where we chat

    The Cloud SIG uses the SIG/Cloud (opens new window) chat channel on chat.almalinux.org (opens new window) for communication.

    Where and when we meet

    We do not currently hold regular meetings, but work asynchronously in mattermost to accomplish our goals.

    # Activities, projects, and deliverables

    The pre-built AlmaLinux OS images are listed below:

    Name Download URL
    AWS Marketplace AMI aws.amazon.com/marketplace/pp/B094C8ZZ8J (opens new window)
    AWS community AMIs wiki.almalinux.org/cloud/AWS.html (opens new window)
    Azure images wiki.almalinux.org/cloud/Azure.html (opens new window)
    Docker Hub hub.docker.com/_/almalinux (opens new window)
    Generic Cloud (cloud-init) wiki.almalinux.org/cloud/Generic-cloud.html (opens new window)
    OpenNebula wiki.almalinux.org/cloud/OpenNebula.html (opens new window)
    Google Cloud cloud.google.com/compute/docs/images#almalinux (opens new window)
    LXC/LXD images.linuxcontainers.org (opens new window)
    Quay quay.io/almalinuxorg (opens new window)
    GitHub Packages github.com/orgs/AlmaLinux/packages (opens new window)
    Vagrant boxes app.vagrantup.com/almalinux (opens new window)

    # Help wanted

    • Vagrant + Parallels Desktop box maintainer.
    • Optimized images for Digital Ocean and other cloud providers.
    • Design and implement an images CI/CD pipeline. Automatically check images +for security vulnerabilities.
    • Design and automate test scenarios.
    • Technical writers for working on documentation.
    • DevOps engineers for setting up and maintaining the related infrastructure.

    If you can help, please join us at SIG/Cloud on Mattermost (opens new window)

    # SIG members

    + + + diff --git a/sigs/Core.html b/sigs/Core.html new file mode 100644 index 000000000..60fc1d722 --- /dev/null +++ b/sigs/Core.html @@ -0,0 +1,70 @@ + + + + + + Core SIG | AlmaLinux Wiki + + + + + + + + + +

    ######last updated: 2024-04-22

    # Core SIG

    The Core team is responsible for the AlmaLinux OS distribution itself. This includes, but is not limited to building new distribution versions, delivering updates, core tooling development, and maintenance.

    # How to Join

    Joining is easy! You can show up to a meeting, pick up an issue from the list by assigning it to yourself, or ask questions in chat! Not every contributor wants to be a part of the SIG, but if you do, joining is simple.

    Where we chat

    The Core SIG uses the SIG/Core (opens new window) chat channel for communication.

    Where and when we meet

    We meet on Google Meet every other Tuesday at 16:00 UTC. If you would like to join, join the chat and ask for an invite!

    # Activities, projects, and deliverables

    # Help wanted

    • Technical writers for working on announcements, security bulletins, wiki +articles and so on.
    • RPM packagers/maintainers.
    • Bug reports processing: collecting information, reproducing, escalating to +developers, communicating upstream, etc.
    • Design and automate test scenarios: Ansible, Bats (opens new window), +Bash, CI/CD, Testinfra (opens new window), +Packer (opens new window), Python, AWS, Azure, etc.
    • Bash and Python developers for working on distribution tooling.
    • Python, PostgreSQL developers for working on our monitoring/build systems +and other projects.

    If you can help, please join us at Core SIG on Mattermost (opens new window)

    # SIG members

    + + + diff --git a/sigs/HPCandAI.html b/sigs/HPCandAI.html new file mode 100644 index 000000000..e7d23d178 --- /dev/null +++ b/sigs/HPCandAI.html @@ -0,0 +1,60 @@ + + + + + + HPC and AI SIG | AlmaLinux Wiki + + + + + + + + + +

    # HPC and AI SIG

    AlmaLinux is the ideal Linux choice for HPC and AI applications, and the HPC and AI SIG is here to help you make the most of it. We are a group of HPC and AI experts who use AlmaLinux to power our projects and share our knowledge with the AlmaLinux community. We promote the benefits of AlmaLinux for HPC and AI, provide guidance and support for AlmaLinux users in HPC and AI, and represent the interests and needs of the HPC and AI community within AlmaLinux. Join us today and discover how AlmaLinux can boost your HPC and AI performance and productivity.

    # How to Join

    Joining is easy! You can show up to a meeting, pick up an issue from the list by assigning it to yourself, or ask questions in chat! Not every contributor wants to be a part of the SIG, but if you do, joining is simple.

    Where we chat

    Where and when we meet

    The HPC and AI SIG gathers quarterly as a group for open discussion. The HPC and AI SIG also occasionally presents on HPC and AI-related topics and hosts community gatherings at HPC and AI-related events. Quarterly meetings and other events are announced via the HPC and AI Mailing List (opens new window).

    # Activities, projects, and deliverables

    • AlmaLinux System Series guidance on deploying AlmaLinux in HPC and AI environments.
    • Example configuration files for deploying Slurm and other HPC software on AlmaLinux: AlmaLinux/sig-hpcai (opens new window).

    # Help wanted

    Contributions take all kinds of shapes and sizes, and we welcome everyone! If you have expertise or time and would like to help us out, we welcome contributions to our activities, projects, and deliverables above. We also welcome community members to present on topics related to their use of AlmaLinux for HPC or AI.

    # SIG members

    # Additional information for SIG application approval

    • We would like to hold our first quarterly meeting in April 2024.
    • We will require the creation of: +
      • An HPC and AI SIG channel on chat.almalinux.org
      • An HPC and AI SIG mailing list
      • An HPC and AI SIG repo on GitHub
    • We do not anticipate any infrastructure or financial resources.
    + + + diff --git a/sigs/Infrastructure.html b/sigs/Infrastructure.html new file mode 100644 index 000000000..c2ac8aad8 --- /dev/null +++ b/sigs/Infrastructure.html @@ -0,0 +1,70 @@ + + + + + + Infrastructure SIG | AlmaLinux Wiki + + + + + + + + + +

    # Infrastructure SIG

    The infrastructure team is responsible for maintaining the servers and services that keep AlmaLinux online and accessible to end users.

    # How to Join

    Joining is easy! You can show up to a meeting, pick up an issue from the list by assigning it to yourself, or ask questions in chat! Not every contributor wants to be a part of the SIG, but if you do, joining is simple.

    Where we chat

    The Infrastructure SIG uses the Infrastructure (opens new window) chat channel and the Infrastructure mailing list (opens new window) for communication.

    Where and when we meet

    We don't currently hold regular meetings, but work asynchronously in mattermost to accomplish our goals.

    # Activities, projects, and deliverables

    # Help wanted

    • Building Ansible playbooks for maintaining internal infrastructure: https://github.com/almalinux/infra-ansible
    • much, much more.

    If you would like to help, please join us at Infrastructure channel (opens new window)

    # SIG members

    + + + diff --git a/sigs/LiveMedia.html b/sigs/LiveMedia.html new file mode 100644 index 000000000..94fbb7eda --- /dev/null +++ b/sigs/LiveMedia.html @@ -0,0 +1,63 @@ + + + + + + Live Media SIG | AlmaLinux Wiki + + + + + + + + + +

    # Live Media SIG

    The Live Media Team is responsible for AlmaLinux OS Live Media.

    # How to Join

    Joining is easy! You can show up to a meeting, pick up an issue from the list by assigning it to yourself, or ask questions in chat! Not every contributor wants to be a part of the SIG, but if you do, joining is simple.

    Where we chat

    The Live Media SIG uses the SIG/LiveMedia (opens new window) chat channel for communication.

    Where and when we meet

    We do not currently hold regular meetings, but work asynchronously in mattermost to accomplish our goals.

    # Activities, projects, and deliverables

    # Help wanted

    • Technical writers for working on documentation.
    • Design and automate test scenarios.

    If you can help, please join us at Live Media SIG on Mattermost (opens new window)

    # SIG members

    + + + diff --git a/sigs/Marketing.html b/sigs/Marketing.html new file mode 100644 index 000000000..2b389b1ae --- /dev/null +++ b/sigs/Marketing.html @@ -0,0 +1,51 @@ + + + + + + Marketing SIG | AlmaLinux Wiki + + + + + + + + + +

    # Marketing SIG

    The Marketing team is responsible for AlmaLinux marketing and outreach efforts. Marketing is often an overlooked or eschewed term in open source, but without marketing efforts it's a whole lot harder for your audience to find you. We try to make it easy for the users who need a free enterprise linux distribution to find us.

    # How to Join

    Joining is easy! You can show up to a meeting, pick up an issue from the list by assigning it to yourself, or ask questions in chat! Not every contributor wants to be a part of the SIG, but if you do, joining is simple.

    Where we chat

    We use the ~Marketing (opens new window) channel for communication on the AlmaLinux mattermost server.

    Where/how we meet

    Meetings are every other Thursday on Google Meet at 9pm UTC. Join the Marketing channel on chat.almalinux.org (opens new window) and ask benny for the meeting invite! Our meeting notes are kept in Google drive (opens new window).

    # Activities, projects, and deliverables

    Properties that we are responsible for:

    We also provide content for other properties as needed by other SIGs.

    Other efforts that we manage:

    • Event plans
    • Outreach efforts
    • Social media management
    • Press efforts

    # Help wanted

    Contributions take all kinds of shapes and sizes, and we welcome everyone! If you have expertise or time and would like to help us out, here are a few things that need help soon, and a place where you can find more information.

    • Mastodon automation - we use Sprout Social for scheduling ahead of time right now, but it doesn't work with mastodon!
    • Event management and staffing -- help us expand the number of events we can join by helping us staff events local to you!
    • Content writers -- especially for the blog and social media
    • Website maintainers -- our Hugo migration is complete, but we need to clean it up
    • Graphic designers -- we have sticker ideas, but they aren't nearly as pretty as they could be!
    • Website translations -- accepted through Weblate (opens new window), automatically sent to the website repo for merging in. To contribute, take a look at the "Help translating site" guide.

    We have tons of ideas and bugs on the website repo (opens new window) and on GitHub Projects (opens new window).

    # SIG members

    These members share responsibilities between and among each other.

    We also have a variety of folks who help us with PR, social media, and website maintenance through submissions to chat or just PRs to the website repo (opens new window).

    # Marketing accounts

    Here is where we track the different accounts that marketing uses, and who has admin rights for them.

    # Various marketing-adjacent accounts

    # Social Media Accounts

    We currently have a number of social media accounts that are managed by the SIG members.

    # Active accounts

    These accounts are actively monitored, updated, and managed by the SIG on a regular basis.

    # Inactive (placeholder) accounts

    These accounts are only in place to keep the name owned by us, and to point folks to our active accounts.

    + + + diff --git a/sigs/Migration.html b/sigs/Migration.html new file mode 100644 index 000000000..2592e800b --- /dev/null +++ b/sigs/Migration.html @@ -0,0 +1,64 @@ + + + + + + Migration SIG | AlmaLinux Wiki + + + + + + + + + +
    # last updated: 2024-04-22

    # Migration SIG

    The Migration team is responsible for two migration projects - the migration tool and the ELevate project, including documentation and upgrades. See the Migration section for more details.

    # AlmaLinux Migration Tool

    The migration tool is used to convert an EL8 or EL9 machine.

    The tool supports the following migration paths:

    image

    # AlmaLinux ELevate project.

    The ELevate project is an initiative to support migrations between major versions of RHEL-derivatives. See the ELevate section for more details and the update steps.

    The project supports the following migration paths:

    image

    * - migration to CentOS Stream 9 is currently in process and will be available later.
    +** - migration to Oracle Linux 9 is available with the Oracle Leapp utility (opens new window) and will not be supported by ELevate project.

    # How to Join

    Joining is easy! You can show up to a meeting, pick up an issue from the list by assigning it to yourself, or ask questions in chat! Not every contributor wants to be a part of the SIG, but if you do, joining is simple.

    Where we chat

    The Migration SIG uses the SIG/Migration (opens new window) chat channel for communication.

    Where and when we meet

    We do not currently hold regular meetings, but work asynchronously in mattermost to accomplish our goals.

    # Activities, projects, and deliverables

    # Help wanted

    • Adding more 3rd party repositories support
    • Testing various configurations
    • Developing scripts for populating unsupported kernel modules and pci ids lists
    • Feedback and bug reports

    If you can help, please join us at Migration SIG on Mattermost (opens new window).

    # SIG members

    + + + diff --git a/sigs/ProcessForCreatingNewSIG.html b/sigs/ProcessForCreatingNewSIG.html new file mode 100644 index 000000000..22faa2f59 --- /dev/null +++ b/sigs/ProcessForCreatingNewSIG.html @@ -0,0 +1,60 @@ + + + + + + The Process for Creating a New SIG* in the AlmaLinux Community | AlmaLinux Wiki + + + + + + + + + +

    # The Process for Creating a New SIG* in the AlmaLinux Community

    *Special Interest Group

    SIGs are the lifeblood for a healthy open source community, especially around an operating system. Joining a SIG is the first step that many newcomers to a community take, and standardizing the process around creating a SIG is important because it ensures that newcomers are met with similar information no matter which group they chose to start with.

    This document outlines the process and additional considerations for creating a new Special Interest Group (SIG) within the AlmaLinux OS community, fostering collaboration, innovation, and growth. This process aims to facilitate successful SIG creation and integration within the AlmaLinux ecosystem. SIGs are essential for bringing together individuals and organizations with common interests to work on specific projects, develop new features, or address particular issues within the AlmaLinux project. Incorporating insights from Fedora and CentOS, such as mentorship and collaboration with existing SIGs, periodic evaluation for continuous improvement, and guidelines for SIG decommissioning, this process is designed to help individuals and organizations contribute effectively to the continued success of the AlmaLinux project and shape its future.

    # 0. Gauge interest

    If you have an idea and want to see if there is interest in that idea, the first step is to gather a group of folks together that might want to work on that thing. You can do that by asking in the chat (opens new window), sending an email to the users mailing list (opens new window), and posting on the forums (opens new window).

    Once you have gathered a group (we recommend no fewer than 3, but that isn't true for every effort), it's time to start getting things lined up!

    # 1. Write a proposal for the board

    To create a new SIG, a proposal must be submitted to and approved by the AlmaLinux OS Foundation Board. To create the proposal, clone this repo, make a copy of the template (opens new window) file, title it for your SIG, and start filling things in! Once you are satisfied with the content of your proposal, submit a pull request to the wiki, and tag @bennyvasquez. She'll take a look and let you know if there are any concerns.

    If none, she'll let you know the date of the board meeting at which your SIG proposal will be discussed! Members of the board or the community might comment and ask questions or provide feedback on your pull request ahead of the board meeting, so make sure to answer those questions as well as you can. At a minimum, your proposal should include:

    1. A clear and concise name for the SIG.
    2. An overview of the SIG's objectives and goals.
    3. A list of initial members, including at least one SIG leader.
    4. A description of the SIG's intended activities and projects.
    5. A proposed timeline for achieving the SIG's initial objectives.
    6. Any known required resources, such as infrastructure or funding.

    template (opens new window)

    # 2. Proposal Review

    The job of the AlmaLinux OS Foundation Board in this process is to review the submission to ensure it aligns with the project's goals and values. The review process includes:

    1. Assessing the proposal's relevance to the AlmaLinux ecosystem.
    2. Evaluating the clarity and feasibility of the SIG's objectives and activities.
    3. Provide any insight or guidance that might be beneficial for the SIG.

    # 3. Feedback and Revision

    Though we hope to have provided all of the feedback ahead of time, if the board has additional thoughts about the proposal and requires modifications or additional information at the scheduled board meeting, the feedback will be provided to the proposers. The group of proposers will then have the opportunity to revise and resubmit the proposal, addressing the feedback provided.

    # 4. Approval and Announcement

    Once the proposal has been reviewed and deemed acceptable, the board will formally approve the creation of the new SIG, and the pull request will be merged into the wiki. The approval will be announced by the marketing SIG through appropriate communication channels, such as mailing lists, forums, and social media. The announcement will include:

    1. The title and objectives of the new SIG.
    2. A link to the SIG's wiki page.
    3. An invitation for interested community members to join the SIG.

    # 5. Reporting and Accountability

    To maintain transparency and ensure progress towards the SIG's objectives, the SIG Chair will be responsible for:

    1. Providing regular status updates to the AlmaLinux OS Foundation Board.
    2. Ensuring that SIG activities adhere to the AlmaLinux project's guidelines and policies.
    3. Coordinating the SIG's communication and collaboration with other SIGs and the broader AlmaLinux community

    # Additional Considerations

    # A.1. Mentorship and Collaboration with Existing SIGs

    To improve the integration of new SIGs within the AlmaLinux community, consider establishing a mentorship program where existing SIGs can offer guidance and assistance to newly-formed SIGs. This collaboration may include: +

    1. Sharing best practices and lessons learned from previous projects and initiatives.
    2. Providing technical or organizational support in areas where the new SIG may lack expertise.
    3. Facilitating joint projects or activities that can benefit both SIGs and foster collaboration within the community.

    # A.2. SIG Decommissioning

    In the event a SIG becomes inactive, no longer serves its intended purpose, or does not align with the community's objectives, the SIG may mark itself (or be marked) as inactive, or may be decommissioned. This may include:

    1. Notifying the board and the community of the intention to decommission the SIG.
    2. Ensuring that all relevant documentation, resources, and knowledge are preserved and transferred to appropriate parties within the community.
    3. Formally announcing the decommissioning of the SIG, updating the wiki page to reflect the decision and ideally providing a rationale for the decision.
    + + + diff --git a/sigs/index.html b/sigs/index.html new file mode 100644 index 000000000..405cbddd6 --- /dev/null +++ b/sigs/index.html @@ -0,0 +1,52 @@ + + + + + + Special interest groups | AlmaLinux Wiki + + + + + + + + + +

    # Special interest groups

    Special interest groups (SIGs) are teams within the AlmaLinux OS community that are focused on specific topics. Each SIG has its own channel on our Mattermost (opens new window) chat server chat.almalinux.org (opens new window), but may communicate and work in different ways. Each SIG's details are found in the pages below.

    The following SIGs are already established:

    • Build System - The AlmaLinux OS build system developers and maintainers.
    • Certification - The AlmaLinux Certification SIG.
    • Core - The AlmaLinux OS distribution developers and maintainers.
    • Cloud - The AlmaLinux OS cloud and container images maintainers.
    • HPC and AI - The AlmaLinux High performance computing and AI SIG.
    • Infrastructure - The AlmaLinux OS infrastructure team.
    • Live Media - The AlmaLinux OS Live Media maintainers.
    • Migration - The AlmaLinux OS Migration maintainers.
    • Marketing - The AlmaLinux OS Marketing SIG.

    # Additional Resources

    + + + diff --git a/sigs/marketing/indico.html b/sigs/marketing/indico.html new file mode 100644 index 000000000..5b3ba50af --- /dev/null +++ b/sigs/marketing/indico.html @@ -0,0 +1,61 @@ + + + + + + Managing events.almalinux.org | AlmaLinux Wiki + + + + + + + + + +

    # Managing events.almalinux.org

    # last updated: May 8, 2024

    Our events are managed using Indico (opens new window), the open source software created and developed at CERN. Our install, at events.almalinux.org (opens new window) (documentation at learn.getindico.io (opens new window)), is kept up to date by the AlmaLinux Infra SIG, but events on it are managed by the marketing SIG. This document helps us consistently create new events to the community.

    # Creating different events

    When creating different types of events, it's important that you follow the directions below so that our community can count on events being presented in a consistent way.

    All events should start as unlisted events to be published after they're reviewed by the marketing SIG chair.

    # Webinars

    1. Navigate to the Webinars event group.
    2. Create a 'Lecture' type event from the top of the page.
    3. Enter the title of the webinar, ensure the time and date are correct, and click 'Advanced' to add a description. +
      1. If you need to edit the event after it's created, you can.
    4. Add speakers - you will have to manually enter anyone who is not already registered in Indico. (note for benny: if they register later, what happens?)

    After it's created, there are some more adjustments to make:

    1. under Protection, enable public registration and click Save
    2. under Organisation - > Participants set the visibility to the default of "Show only consenting participants" and click save, so that the registration form will be displayed.
    3. If you're opening registration immediately, make sure you click Start now to open registrations.
    4. Edit the form as needed by clicking Configure next to 'Registration Form'
    5. under Organisation - > Reminders add a reminder relative to the event start time at 1 hour offset from the event, sent to all participants and all speakers, sent from 'noreply@almalinux.org', including the event description and a link to where the webinar will be hosted.

    # SIG meetings

    1. Navigate to to the SIGs category (opens new window), and choose the appropriate category there for the specific SIG.
    2. Create a meeting event, naming it appropriately for the SIG using [$freqency - $signame meeting] as the pattern (for example, Bi-weekly Marketing SIG meeting).
    3. Once created, on the default settings page update the Contact title and Email to match the SIG in question's contact details.
    4. Under *Timetable click Add new and Contribution
    5. use the same title as for the full event, in the description add details about the event (general agenda, where they meet, and where to get the meeting link at least).
    6. Put in the time of the meeting.
    7. No speakers should be set for these meetings.

    Leave the rest of it blank.

    If a schedule is set for meetings already, clone the meeting you just created to make more of them. If not, you can clone older events to set up new meetings as we move forward.

    # SIG Categories

    1. Navigate in the admin interface to the SIG category (opens new window)
    2. Ensure the name of the category includes the name of the SIG and the word SIG
    3. Use this template as the description:

    These meetings are held every week via $platform. If you'd like the meeting link, join the $channelname channel on chat.almalinux.org. +For more information on this SIG, see the details on the AlmaLinux Wiki: $wikipage

    1. Set the "Theme for Lectures" to lectures, and the "Theme for Meetings" to Indico style.
    2. Add an icon and SIG logo created using the Canva template (opens new window).
    + + + diff --git a/sigs/sigproposaltemplate.html b/sigs/sigproposaltemplate.html new file mode 100644 index 000000000..49afe3f30 --- /dev/null +++ b/sigs/sigproposaltemplate.html @@ -0,0 +1,51 @@ + + + + + + name of SIG | AlmaLinux Wiki + + + + + + + + + +

    # name of SIG

    [insert the SIG's purpose here]

    # How to Join

    Joining is easy! You can show up to a meeting, pick up an issue from the list by assigning it to yourself, or ask questions in chat! Not every contributor wants to be a part of the SIG, but if you do, joining is simple.

    Where we chat

    We use $platform for communication. [ this should either be a link to the SIG chat room on mattermost, or the mailing list on lists.almalinux.org ]

    Where and when we meet

    Meetings are... [ this should be a general day/time/cadence, and indicate how one might join this meeting if they'd like, or use "We do not currently hold regular meetings, but work asynchronously in mattermost to accomplish our goals." ]

    # Activities, projects, and deliverables

    [ this should be the thing or list of things you expect to be responsible for ]

    # Help wanted

    Contributions take all kinds of shapes and sizes, and we welcome everyone! If you have expertise or time and would like to help us out, here are a few things that need help soon, and a place where you can find more information.

    [ either a list of things or a link to a project/task tracker should go here ]

    # SIG members

    • [name](either email address or mattermost chat link) - Committee lead
    • [name](either email address or mattermost chat link) - member

    (you can also include additional information about other folks that help your SIG or are involved in some way here)

    # Additional information for SIG application approval

    • Timeline for when you would like to get things rolling for this group, and how quickly you expect to see motion on your Activities, projects, and deliverables.
    • Any known resources (monetary or infrastructure) that you anticipate needing, and how they will be used.

    [ You can add anything additional you feel is important here as well ]

    + + + diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 000000000..052d6874b --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,288 @@ + + + + https://wiki.almalinux.org/ + 2022-07-01T14:31:30+01:00 + 1.0 + + + https://wiki.almalinux.org/LiveMedia + 2022-07-01T14:31:30+01:00 + 1.0 + + + https://wiki.almalinux.org/sigs/ + 2022-07-01T14:31:30+01:00 + 0.8 + + + https://wiki.almalinux.org/repos/ + 2022-07-01T14:31:30+01:00 + 0.8 + + + https://wiki.almalinux.org/Mirrors + 2022-07-01T14:31:30+01:00 + 1.0 + + + https://wiki.almalinux.org/elevate/ + 2022-07-01T14:31:30+01:00 + 0.8 + + + https://wiki.almalinux.org/FAQ + 2022-07-01T14:31:30+01:00 + 1.0 + + + https://wiki.almalinux.org/Comparison + 2022-07-01T14:31:30+01:00 + 1.0 + + + https://wiki.almalinux.org/Howto + 2022-07-01T14:31:30+01:00 + 1.0 + + + https://wiki.almalinux.org/Contribute + 2022-07-01T14:31:30+01:00 + 1.0 + + + https://wiki.almalinux.org/gsoc + 2022-07-01T14:31:30+01:00 + 1.0 + + + https://wiki.almalinux.org/Transparency + 2022-07-01T14:31:30+01:00 + 1.0 + + + https://wiki.almalinux.org/cloud/Generic-cloud + 2022-07-01T14:31:30+01:00 + 0.8 + + + https://wiki.almalinux.org/release-notes/9.0 + 2022-07-01T14:31:30+01:00 + 0.8 + + + https://wiki.almalinux.org/sigs/LiveMedia + 2022-07-01T14:31:30+01:00 + 0.8 + + + https://wiki.almalinux.org/containers/docker-images + 2022-07-01T14:31:30+01:00 + 0.8 + + + https://wiki.almalinux.org/sigs/Core + 2022-07-01T14:31:30+01:00 + 0.8 + + + https://wiki.almalinux.org/sigs/Infrastructure + 2022-07-01T14:31:32+01:00 + 0.8 + + + https://wiki.almalinux.org/sigs/Cloud + 2022-07-01T14:31:32+01:00 + 0.8 + + + https://wiki.almalinux.org/sigs/Build-System + 2022-07-01T14:31:32+01:00 + 0.8 + + + https://wiki.almalinux.org/sigs/Migration + 2022-07-01T14:31:32+01:00 + 0.8 + + + https://wiki.almalinux.org/sigs/Core + 2022-07-01T14:31:32+01:00 + 0.8 + + + https://wiki.almalinux.org/sigs/Infrastructure + 2022-07-01T14:31:32+01:00 + 0.8 + + + https://wiki.almalinux.org/sigs/Cloud + 2022-07-01T14:31:32+01:00 + 0.8 + + + https://wiki.almalinux.org/sigs/Build-System + 2022-07-01T14:31:32+01:00 + 0.8 + + + https://wiki.almalinux.org/repos/AlmaLinux + 2022-07-01T14:31:32+01:00 + 0.8 + + + https://wiki.almalinux.org/repos/CentOS + 2022-07-01T14:31:32+01:00 + 0.8 + + + https://wiki.almalinux.org/repos/Extras + 2022-07-01T14:31:32+01:00 + 0.8 + + + https://wiki.almalinux.org/development/Packaging + 2022-07-01T14:31:33+01:00 + 0.8 + + + https://wiki.almalinux.org/elevate/ELevate-quickstart-guide + 2022-07-01T14:31:33+01:00 + 0.8 + + + https://wiki.almalinux.org/elevate/Contribution-guide + 2022-07-01T14:31:33+01:00 + 0.8 + + + https://wiki.almalinux.org/elevate/ELevate-frequent-issues + 2022-07-01T14:31:33+01:00 + 0.8 + + + https://wiki.almalinux.org/cloud/Azure + 2022-07-01T14:31:35+01:00 + 0.8 + + + https://wiki.almalinux.org/cloud/AWS + 2022-07-01T14:31:36+01:00 + 0.8 + + + https://wiki.almalinux.org/cloud/Google + 2022-07-01T14:31:36+01:00 + 0.8 + + + https://wiki.almalinux.org/cloud/Generic-cloud-on-local + 2022-07-01T14:31:36+01:00 + 0.8 + + + https://wiki.almalinux.org/cloud/OpenNebula + 2022-07-01T14:31:36+01:00 + 0.8 + + + https://wiki.almalinux.org/cloud/OCI + 2022-07-01T14:31:36+01:00 + 0.8 + + + https://wiki.almalinux.org/documentation/wsl + 2022-07-01T14:31:36+01:00 + 0.8 + + + https://wiki.almalinux.org/release-notes/8.6 + 2022-07-01T14:31:36+01:00 + 0.8 + + + https://wiki.almalinux.org/release-notes/9.0-beta + 2022-07-01T14:31:36+01:00 + 0.8 + + + https://wiki.almalinux.org/release-notes/8.6-beta + 2022-07-01T14:31:36+01:00 + 0.8 + + + https://wiki.almalinux.org/release-notes/8.5-ppc + 2022-07-01T14:31:36+01:00 + 0.8 + + + https://wiki.almalinux.org/release-notes/8.5 + 2022-07-01T14:31:36+01:00 + 0.8 + + + https://wiki.almalinux.org/release-notes/8.5-beta-ppc + 2022-07-01T14:31:36+01:00 + 0.8 + + + https://wiki.almalinux.org/release-notes/8.5-beta + 2022-07-01T14:31:36+01:00 + 0.8 + + + https://wiki.almalinux.org/release-notes/8.4-arm + 2022-07-01T14:31:36+01:00 + 0.8 + + + https://wiki.almalinux.org/release-notes/8.4 + 2022-07-01T14:31:36+01:00 + 0.8 + + + https://wiki.almalinux.org/release-notes/8.4-beta-arm + 2022-07-01T14:31:36+01:00 + 0.8 + + + https://wiki.almalinux.org/release-notes/8.4-beta + 2022-07-01T14:31:36+01:00 + 0.8 + + + https://wiki.almalinux.org/release-notes/8.3 + 2022-07-01T14:31:36+01:00 + 0.8 + + + https://wiki.almalinux.org/release-notes/8.3-rc + 2022-07-01T14:31:36+01:00 + 0.8 + + + https://wiki.almalinux.org/release-notes/8.3-beta + 2022-07-01T14:31:36+01:00 + 0.8 + + + https://wiki.almalinux.org/documentation/openscap-guide + 2022-07-01T14:31:43+01:00 + 0.8 + + + https://wiki.almalinux.org/documentation/oval-streams + 2022-07-01T14:31:43+01:00 + 0.8 + + + https://wiki.almalinux.org/documentation/building-packages-guide + 2022-07-01T14:31:43+01:00 + 0.8 + + + https://wiki.almalinux.org/documentation/raspberry-pi + 2022-07-01T14:31:43+01:00 + 0.8 + + \ No newline at end of file