πŸ’Ύ Archived View for tilde.team β€Ί ~rami β€Ί silverblue.gmi captured on 2024-08-18 at 17:35:23. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-12-28)

-=-=-=-=-=-=-

~Rami β‚ͺ MANUALS

Χ¨ΧžΧ™

SUBJECT: Fedora Silverblue (Immutable OS): rpm-ostree, sandboxes, portals, containers, flatpaks

AUTHOR: Rami Rosenfeld

DATE: 03/03/23; upd. 29/04/2023

TIME: 21.00

LANG: ru, en

LICENSE: GNU FDL 1.3

TAGS: gnu, gnome, software, opensource, linux, system, man, manual, bash, privacy, security, rhel, centos, mate, xfce, lxde, spin, de, systemd, systemctl, selinux, firewalld, dnf, rpm, ostree, flatpak, siverblue

Fedora Silverblue (Immutable OS): rpm-ostree, sandboxes, portals, containers, flatpaks - Π‘Π°Π·ΠΎΠ²ΠΎΠ΅ руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

INTRO

ΠŸΡ€ΠΈΠ·Π½Π°ΡŽΡΡŒ, Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ любил ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ старался всячСски ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ ΠΈΡ… примСнСния; Π² частности, стрСмился ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΈΡ… ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ сразу послС инсталляции ОБ. И Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сСйчас, Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π½ΡŒΠΊΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΠ² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, сообразил - насколько я Π±Ρ‹Π» Π΄Π°Π»Π΅ΠΊ ΠΎΡ‚ истины.

Как Π·Π½Π°ΡŽΡ‚ ΠΌΠΎΠΈ постоянныС Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ, Π»ΡŽΠ±ΡƒΡŽ ОБ ΠΈ любоС ПО я Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния обСспСчСния бСзопасности, приватности ΠΈ дальнСйшСго ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΈΡ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π²ΡˆΠΈΡΡŒ с Π½ΠΎΠ²Ρ‹ΠΌΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Red Hat (ΠΈ Ρ‚ΡƒΡ‚ ΠΆΠ΅ составив ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ я ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽ сСгодня), ваш ΠΏΠΎΠΊΠΎΡ€Π½Ρ‹ΠΉ слуга ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ проникся :) ΠΈΡ… Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ идСями.

Как ΠΈ всСгда, моя основная Π·Π°Π΄Π°Ρ‡Π° Π½Π° сСгодня - ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒ с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ управлСния, поэтому я Π½Π΅ Π±ΡƒΠ΄Ρƒ Ρ€Π°ΡΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ всС прСимущСства этого Π²ΠΈΠ΄Π° immutable ОБ - для этого Π²ΠΊΡ€Π°Ρ‚Ρ†Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Ρ€Π°Π·Π΄Π΅Π» "ΠšΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡ" (см. Π½ΠΈΠΆΠ΅), побуТдая вас Π² случаС нСобходимости ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ... ΠšΠΎΡΠ½ΡƒΡΡŒ лишь ΠΎΠ΄Π½ΠΎΠ³ΠΎ распространСнного заблуТдСния, Π±ΡƒΠ΄Ρ‚ΠΎ Flatpak Π² совокупности с OSTree - это "Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ Windows-way"... ΠžΡ‚Π½ΡŽΠ΄ΡŒ! Если Π²Ρ‹ ΠΏΡ€ΠΈΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ Ρ…Π°ΠΎΡ‚ΠΈΡ‡Π½ΠΎ распаковываСтся ΠΈΠ· .exe Ρ„Π°ΠΉΠ»Π° Π΅Π³ΠΎ содСрТимоС, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² ΠΊΠ°ΠΊΠΈΠ΅ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Π΅ мСста ΠΎΠ½ΠΎ распрСдСляСтся (Π² противовСс этому - см. схСму Π½ΠΈΠΆΠ΅), Ρ‚ΠΎ ΡΠΎΠ³Π»Π°ΡΠΈΡ‚Π΅ΡΡŒ со мною, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½ΠΎΠ΅ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ присущС, скорСС, ΠΌΠ°Π»ΠΎΠ»Π΅Ρ‚Π½Π΅ΠΌΡƒ "экспСрту с ΠΎΠΏΠ΅Π½Π½Π΅Ρ‚Π°", Π½Π΅ΠΆΠ΅Π»ΠΈ взрослому Π·Π΄Ρ€Π°Π²ΠΎΠΌΡƒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Π² Windows ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ Π½Π΅ ΠΈΠ΄Π΅Ρ‚ Ρ€Π΅Ρ‡ΡŒ ΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ (Ρ‚.Π΅. ΠΎ максимальном ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠΈ ΠΏΡ€Π°Π², Π΄Π΅Π»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ/ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ ΠΈ свСдСнии ΠΊ Π½ΡƒΠ»ΡŽ ΠΈΡ… Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Π² Π±Π°Π·ΠΎΠ²ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ОБ)... Π½Ρƒ Π° ΡƒΠΆ Ссли ΠΌΡ‹ Π·Π°Π²Π΅Π΄Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€ ΠΎ "бСзопасности" Π² этой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС - Ρ‚ΠΎΠ³Π΄Π° Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΌΠΎΠΉ Π΄Π°Π²Π½ΠΈΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» "Π§Ρ‚ΠΎ Π½Π΅ Ρ‚Π°ΠΊ с Windows?"… or Windows: What’s wrong? (см. Ρ€Π°Π·Π΄Π΅Π» Essays)...

Π’ΠΈΠ½ΠΎΠ²Π°Ρ‚, я отвлСкся! Π˜Ρ‚Π°ΠΊ, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ Π³Π»Π°Π²Π½ΠΎΠΌΡƒ.

NOTE

Π‘Π₯Π•ΠœΠ: Fedora Silverblue - Π£Ρ€ΠΎΠ²Π½ΠΈ, слои ΠΈ связи Π² ОБ

ВСматичСскиС ссылки

Download a Silverblue Image

Fedora Silverblue User Guide

Flatpak’s documentation

Flathub: Quick Setup

Flathub: Apps for Linux

OSTree Overview

ΠšΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡ Fedora Silverblue

1. Базовая Ρ‡Π°ΡΡ‚ΡŒ ОБ являСтся ΠΠ•Π˜Π—ΠœΠ•ΠΠ―Π•ΠœΠžΠ™. Она задСйствуСтся Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ "Π’ΠžΠ›Π¬ΠšΠž Π”Π›Π― Π§Π’Π•ΠΠ˜Π―".

2. ΠŸΡ€ΠΈ Π°ΠΏΠ³Ρ€Π΅ΠΉΠ΄Π΅ ОБ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· (Ρ‚.Π΅. Π½ΠΈΠΆΠ½ΠΈΠΉ слой) ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎ обновляСтся (см. Π½ΠΈΠΆΠ΅ "rpm-ostree"). ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: На самом Π΄Π΅Π»Π΅, Π΄Π°Π½Π½ΠΎΠ΅ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π΅ совсСм ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ; Π½ΠΎ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ этот вопрос рассматриваСтся Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

3. Основной (ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹ΠΉ!) способ установки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π² ОБ осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ flatpak-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² - самодостаточных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π΅ вносящих измСнСния Π² Π±Π°Π·ΠΎΠ²ΡƒΡŽ систСму.

4. Flatpak-ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π² "пСсочницах" с максимально ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΏΡ€Π°Π²Π°ΠΌΠΈ доступа (см. Π½ΠΈΠΆΠ΅ "sandboxes").

5. ΠŸΡ€Π°Π²Π° доступа ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ функциям ОБ Π΄Π΅Π»Π΅Π³ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ "ΠΏΠΎΡ€Ρ‚Π°Π»ΠΎΠ²" (см. Π½ΠΈΠΆΠ΅ "portals").

6. БущСствуСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ установки ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… rpm-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ. Для этого ΠΏΠΎΠ²Π΅Ρ€Ρ… нСизмСняСмой систСмы создаСтся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ "слой", Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΈ происходят всС дальнСйшиС измСнСния (см. Π½ΠΈΠΆΠ΅ "package layering"). Π‘Π°ΠΌΠ° ОБ остаСтся Π² нСприкосновСнности; Π΅Ρ‰Π΅ Ρ‚ΠΎΡ‡Π½Π΅Π΅ - пСрСсоздаСтся Ρ‚.Π½. "ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π·".

7. Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ПО ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Toolbox ΠΈ Modularity (см. Π½ΠΈΠΆΠ΅), Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ОБ.

ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Ρ‹Π΅ способы инсталляции ПО (ΠΏΠΎ нисходящСй)

1) flatpak-ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ - ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Π½Π΅ вносящий измСнСния Π² Π±Π°Π·ΠΎΠ²ΡƒΡŽ ОБ, Π½Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‰ΠΈΠΉ Π½ΠΎΠ²Ρ‹ΠΉ "слой" ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΉ пСрСсборки ΠΏΡ€ΠΈ обновлСниях;

2) toolbox - Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ со стандартными ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ dnf ΠΈ rpm-ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ. Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! Toolbox НЕ являСтся "истинным" ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠΌ!

3) rpm-ostree - Π½Π΅ ΡΡ‚ΠΎΠ»ΡŒ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»Π΅Π½, Ρ‚.ΠΊ. ΠΏΠ»ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ сущности: Ρ‚.Π½. Π½ΠΎΠ²Ρ‹ΠΉ "слой" для исполнСния установлСнного ПО.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ см.:

Basic concepts

ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² для установки ОБ

Π’ Fedora Silverblue Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ΠΎ автоматичСскиС Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ². Как ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² руководствС, Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ Π½Π΅ ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΡΡ‚Π°Π½Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ОБ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Ρ‹ с Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ - с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ нюансов, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ сказано Π½ΠΈΠΆΠ΅.

Π ΡƒΡ‡Π½ΠΎΠ΅ Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ BTRFS, XFS, Π° Ρ‚Π°ΠΊΠΆΠ΅ LVM ΠΈΠ»ΠΈ Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ Π½Π° физичСскиС Ρ€Π°Π·Π΄Π΅Π»Ρ‹ (Π½Ρƒ ΠΈ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, ΠΈΡ… ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅).

Π’ систСмС прСдусмотрСны Π’ΠžΠ›Π¬ΠšΠž ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ (ΠΈ ΠΈΡ… ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ). Π­Ρ‚ΠΎ ТСсткая структура, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ:

/boot

/

/var

ΠŸΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ /var:

/var/home (symlink с /home на /var/home)

/var/log

/var/containers

Π’Π°ΠΆΠ½ΠΎ: стандартный инсталлятор Anaconda Π½Π΅ Π·Π½Π°Π΅Ρ‚ ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ограничСниях, ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒ Π² любой ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠΉ схСмС, Π½ΠΎ это ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ нСработоспособности ОБ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ручная Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² сводится ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ объСмов ΠΈ Π€Π‘ /boot, /, /swap ΠΈ /var/, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡ… ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡŽ (Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ /boot).

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: О нСнуТности - ΠΈ ΠΎΠ± этом ΡΠΎΠΎΠ±Ρ‰Π°ΡŽΡ‚ сами Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ! - Ρ€Π°Π·Π΄Π΅Π»Π° /swap Π² Π½ΠΎΠ²Ρ‹Ρ… вСрсиях Fedora я ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ писал Ρ€Π°Π½Π΅Π΅ (см. Ρ€Π°Π·Π΄Π΅Π» Manuals); ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ ΠΆΠ΅ нСобходимости Π΅Π³ΠΎ создания Π² Fedora Silverblue Π½Π΅ ΠΌΠΎΠ³Ρƒ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ° Π½Π΅ нашСл ΠΎΠ± этом Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠΉ Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ руководствС.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ см.:

Manual Partitioning

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы

Π’Π°ΠΆΠ½ΠΎ: Fedora Silverblue являСтся Ρ‚.Π½. "immutable ОБ". Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ /, /usr (ΠΈ ΠΈΡ… ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ "Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния".

/var являСтся ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠΉ для хранСния измСняСмых Π΄Π°Π½Π½Ρ‹Ρ… (Ρ‚.Π΅. runtime, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… настроСк, Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Ρ‚.ΠΏ.). Π’ ОБ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ симлинки, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π΅ΠΆΠ½ΡŽΡŽ "Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΡƒΡŽ" структуру ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ²:

/home β†’ /var/home

/opt β†’ /var/opt

/srv β†’ /var/srv

/root β†’ /var/roothome

/usr/local β†’ /var/usrlocal

/mnt→ /var/mnt

/tmp β†’ /sysroot/tmp

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ всС домашниС ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π² /var/home.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ рСпозитория Flathub

Π’ Fedora Silverblue это осущСствляСтся двумя способами: посрСдством графичСского интСрфСйса Π¦Π΅Π½Ρ‚Ρ€Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΈΠ· консоли:

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ flatpak-ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ доступны нСпосрСдствСнно ΠΈΠ· рСпозитория Fedora.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ см.:

Flathub: Quick Setup

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ обновлСния Π±Π°Π·ΠΎΠ²ΠΎΠΉ ОБ

ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ - использованиС графичСского интСрфСйса Π¦Π΅Π½Ρ‚Ρ€Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ: ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠ²Ρ‹Ρ…. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ этого способа обновлСния - автоматичСская Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² (это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π² настройках).

Для примСнСния Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ слСдуСт ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ОБ. Π’ случаС возникновСния ошибок ΠΏΡ€ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ "rollback", Ρ‚.Π΅. "ΠΎΡ‚ΠΊΠ°Ρ‚" ОБ Π΄ΠΎ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ состояния.

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ОБ ΠΈΠ· консоли осущСствляСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ:

rpm-ostree upgrade --check

rpm-ostree uprgade --preview

rpm-ostree upgrade --reboot

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ПослС окончания ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ систСма Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π°.

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ - "Ρ€Π΅Π»ΠΈΠ· Π½Π° Ρ€Π΅Π»ΠΈΠ·" (rebase)

Π’Π°ΠΆΠ½ΠΎ! "ΠŸΡ€ΠΎΠΏΡƒΡΠΊ" Ρ€Π΅Π»ΠΈΠ·ΠΎΠ² Π½Π΅ тСстировался Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΈ ΠΊΡ€Π°ΠΉΠ½Π΅ НЕ рСкомСндуСтся! Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, обновляйтС ОБ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с 37-ΠΉ - Π½Π° 38-ю.

ΠŸΠžΠ”Π“ΠžΠ’ΠžΠ’Π˜Π’Π•Π›Π¬ΠΠΠ― Π‘Π’ΠΠ”Π˜Π―:

1) ОбновлСниС ОБ ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΅Π΅ послС примСнСния ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ:

rpm-ostree upgrade --reboot

2) Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ "Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹Ρ…" ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΡ€ΠΈ Π°ΠΏΠ³Ρ€Π΅ΠΉΠ΄Π΅ ОБ с Ρ€Π΅Π»ΠΈΠ·Π° Π½Π° Ρ€Π΅Π»ΠΈΠ·

ostree admin pin 0

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π­Ρ‚ΠΎ дСйствиС сохранит ("Π·Π°ΠΊΡ€Π΅ΠΏΠΈΡ‚") Ρ€Π°Π½Π΅Π΅ установлСнныС прилоТСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π½ΠΎ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹.

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π½Π΅Π΅ "Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½Π½ΠΎΠ³ΠΎ слоя" осущСствляСтся ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

ostree admin pin --unpin 2

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: "2" - Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π² статусС rpm-ostree (см. ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½ΠΈΠΆΠ΅)

3) ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° исполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ pin

rpm-ostree status

4) RPM Fusion Layer

Если Π² ОБ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ слой, связанный с ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ, установлСнными ΠΈΠ· Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² RPM Fusion, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π”Πž(!) исполнСния ΠΎΠ±Ρ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ обновлСния "rpm-ostree rebase ...":

rpm-ostree update --uninstall rpmfusion-free-release --uninstall rpmfusion-nonfree-release --install rpmfusion-free-release --install rpmfusion-nonfree-release

Π”Π•Π™Π‘Π’Π’Π˜Π― ПО ΠΠŸΠ“Π Π•Π™Π”Π£:

1) ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° наличия Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π΅Π»ΠΈΠ·Π° ОБ

ostree remote refs fedora | grep silverblue

2) АпгрСйд Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с 37 Π½Π° 38)

rpm-ostree rebase fedora:fedora/38/x86_64/silverblue

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠŸΡ€ΠΎΡ†Π΅ΡΡ Π°ΠΏΠ³Ρ€Π΅ΠΉΠ΄Π° ОБ схоТ с Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ - Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹, установлСны, послС Ρ‡Π΅Π³ΠΎ потрСбуСтся Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°.

1) Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ (ΠΎΡ‚ΠΊΠ°Ρ‚) ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ ОБ послС исполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ "rpm-ostree rebase". Π—Π΄Π΅ΡΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°:

- Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ - достаточно Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π² Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½ΠΎΠΌ мСню (grub menu) ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ОБ.

- ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½Ρ‹ΠΉ - Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

rpm-ostree rollback --reboot

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ПослС окончания ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ систСма Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π‘ΡƒΠ΄ΡŒΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹! ПослС выполнСния ΠΎΡ‚ΠΊΠ°Ρ‚Π° ОБ, систСма окаТСтся Π² ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ состоянии, ΠΈ Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ вновь ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π΅ Π΄ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ вСрсии. Π’ΠΏΠΎΠ»Π½Π΅ СстСствСнно, Ρ‡Ρ‚ΠΎ это дСйствиС ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ rollback.

2) ΠœΠ΅ΡΡ‚ΠΎΠ½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° rpm-ostreed.conf:

/etc/rpm-ostreed.conf

3) ΠžΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Π°ΠΏΠ³Ρ€Π΅ΠΉΠ΄ послСднСго Ρ€Π΅Π»ΠΈΠ·Π° ОБ Π΄ΠΎ rawhide-вСрсии (Π½Π΅ рСкомСндуСтся):

rpm-ostree rebase fedora:fedora/rawhide/x86_64/system

ВнутрСнняя структура ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Flatpak

Для обСспСчСния работоспособности ΠΈ нСзависимости/пСрСносимости ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² послСдниС Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Ρ‚.Π½. runtimes, встраиваСмыС Π² ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Flatpak Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Flatpak-ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π½Π΅ зависят ΠΎΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ вСрсии ОБ ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ. Π’ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ врСмя, Ρ‚.Π΅. ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ ΠΈ нСзависимо, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ установлСны Ρ€Π°Π·Π½Ρ‹Π΅ вСрсии ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ runtime ΠΈΠ»ΠΈ прилоТСния.

ΠšΡ€ΠΎΠΌΠ΅ runtimes, сущСствуСт Ρ‚Π°ΠΊΠΆΠ΅ понятиС "встроСнныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ". К Π½ΠΈΠΌ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ:

- Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π½Π΅ входящиС Π² runtime;

- Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, схоТиС с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Π² runtime, Π½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠ΅ΡΡ вСрсиями;

- Π²ΠΈΠ΄ΠΎΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ (patched) Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

Sandboxes / "ΠŸΠ΅ΡΠΎΡ‡Π½ΠΈΡ†Π°"

Π’ цСлях бСзопасности Flatpak ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ "пСсочницы" (Sandboxes), ΠΈΠ·ΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ прилоТСния Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ ΠΎΡ‚ ОБ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ПО. "ΠŸΠ΅ΡΠΎΡ‡Π½ΠΈΡ†Π°" ΠΈΠΌΠ΅Π΅Ρ‚ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для запуска Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ прилоТСния; послСднСС ΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ доступ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ содСрТимому своСй "пСсочницы". Доступ ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ Ρ„Π°ΠΉΠ»Π°ΠΌ, сСти, сокСтам, bus-подсистСмам, дСвайсам ΠΈ Ρ‚.ΠΏ. ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π΅Π½/Π·Π°Π΄Π°Π½ особо. Доступ ΠΊ ΠΈΠ½Ρ‹ΠΌ процСссам Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½. По нСобходимости, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ содСрТимоС "пСсочницы" ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ экспортировано Π² хост-ΠΌΠ°ΡˆΠΈΠ½Ρƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ .desktop-Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΈΠΊΠΎΠ½ΠΊΠΈ.

Sandboxes - ваТнСйшая Ρ‡Π°ΡΡ‚ΡŒ обСспСчСния бСзопасности ОБ ΠΈ ПО, поэтому, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ, я ΠΏΡ€ΠΎΡ†ΠΈΡ‚ΠΈΡ€ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ руководства администратора Π±Π΅Π· ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π°: "...applications that are run with Flatpak have extremely limited access to the host environment. This includes:

- No access to any host files except the runtime, the app, ~/.var/app/$FLATPAK_ID, and $XDG_RUNTIME_DIR/app/$FLATPAK_ID. Only the latter two being writable.

- No access to the network.

- No access to any device nodes (apart from /dev/null, etc).

- No access to processes outside the sandbox.

- Limited syscalls. For instance, apps can’t use nonstandard network socket types or ptrace other processes.

- Limited access to the session D-Bus instance - an app can only own its own name on the bus.

- No access to host services like X11, system D-Bus, or PulseAudio."

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ см.:

Sandbox Permissions

Flatseal: Graphical utility to review and modify permissions

Portals / "ΠŸΠΎΡ€Ρ‚Π°Π»Ρ‹"

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, задСйствуСтся ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Ρ‚.Π½. "ΠΏΠΎΡ€Ρ‚Π°Π»ΠΎΠ²", ΠΊΠΎΠ³Π΄Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с хост-систСмой, Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ сСрвисами Π±Π΅Π· измСнСния Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ "пСсочницы", Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Π²Ρ‹Π±ΠΎΡ€ Ρ„Π°ΠΉΠ»ΠΎΠ² для открытия, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ, сохранСния ΠΈ Ρ‚.Π΄. Π¦ΠΈΡ‚ΠΈΡ€ΡƒΡŽ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это ΠΎΡ‡Π΅Π½ΡŒ ваТная информация, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ взаимодСйствия с ОБ:

"They are a framework for providing access to resources outside of the sandbox, including:

- Opening files with a native file chooser dialog.

- Opening URIs.

- Printing.

- Showing notifications.

- Taking screenshots.

- Inhibiting the user session from ending, suspending, idling or getting switched away.

- Getting network status information.

In many cases, portals use a system component to implicitly ask the user for permission before granting access to a particular resource. For example, in the case of opening a file, the user’s selection of a file using the file chooser dialog is interpreted as implicitly granting the application access to whatever file is chosen.

The following permissions provide access to basic resources that applications commonly require, and can therefore be freely used:

--share=network - access the network;

--socket=x11 - show windows using X11;

--socket=fallback-x11 - show windows using X11, if Wayland is not available, overrides x11 socket permission. Note that you must still use --socket=wayland for wayland permission;

--share=ipc - share IPC namespace with the host (necessary for X11);

--socket=wayland - show windows with Wayland;

--device=dri - OpenGL rendering;

--socket=pulseaudio - play sound with PulseAudio.

Access to the entire bus with --socket=system-bus or --socket=session-bus should be avoided, unless the application is a development tool.

Applications are automatically granted access to their own namespace. Ownership beyond this is typically unnecessary, although there are a small number of exceptions, such as using MPRIS to provide media controls.

Talk permissions can be freely used, although it is recommended to use the minimum required.

It is common for applications to require access to different parts of the host filesystem, and Flatpak provides a flexible set of options for this. Some examples include:

--filesystem=host - access normal files on the host, not including host os or system internals described below;

--filesystem=home - access the user’s home directory;

--filesystem=/path/path - access specific paths;

--filesystem=xdg-download - access a specific XDG folder.

As a general rule, Filesystem access should be limited as much as possible. This includes:

- Using portals as an alternative to blanket filesystem access, wherever possible.

- Using read-only access wherever possible, using the :ro option.

- If some home directory access is absolutely required, using XDG directory access only.

- The full list of available filesystem options can be found in the Sandbox Permissions Reference.

The --persist=path option can be used to map paths from the user’s home directory into the sandbox filesystem. This makes it possible to avoid configuring access to the entire home directory, and can be useful for applications that hardcode file paths in ~/.

If an application uses $TMPDIR to contain lock files you may want to add a wrapper script that sets it to $XDG_RUNTIME_DIR/app/$FLATPAK_ID.

Retaining and sharing configuration with non-Flatpak installations is to be avoided.

As mentioned above the host option does not actually provide complete access to the host filesystem. The main rules are:

These directories are blacklisted: /lib, /lib32, /lib64, /bin, /sbin, /usr, /boot, /root, /tmp, /etc, /app, /run, /proc, /sys, /dev, /var

Exceptions from the blacklist: /run/media

These directories are mounted under /var/run/host: /etc, /usr

The reason many of the directories are blacklisted is because they already exist in the sandbox such as /usr or are not usable in the sandbox.

The home permission also has exceptions as it does not grant access to the subdirectories for other applications in ~/.var/app/.

While not ideal, --device=all can be used to access devices like controllers or webcams.

As of xdg-desktop-portal 1.1.0 and glib 2.60.5 (in the runtime) you do not need direct DConf access in most cases.

As of now this glib version is included in org.freedesktop.Platform//19.08 and org.gnome.Platform//3.34 and newer.

If an application existed prior to these runtimes you can tell Flatpak (>= 1.3.4) to migrate the DConf settings on the host into the sandbox by adding --metadata=X-DConf=migrate-path=/org/example/foo/ to finish-args. The path must be similar to your app-id or it will not be allowed (case is ignored and _ and - are treated equal).

If you are targeting older runtimes or require direct DConf access for other reasons you can use these permissions:

--filesystem=xdg-run/dconf

--filesystem=~/.config/dconf:ro

--talk-name=ca.desrt.dconf

--env=DCONF_USER_CONFIG_DIR=.config/dconf

With those permissions glib will continue using dconf directly.

As of gvfs 1.48, the gvfs daemons and applications use an on-disk socket to communicate, rather than an abstract socket so that the gvfs infrastructure still works when network support is disabled in the application’s sandbox.

A number of different options need to be passed depending on the application’s use of gvfs.

--talk-name=org.gtk.vfs.* is necessary to talk to the gvfs daemons over D-Bus and list mounts using the GIO APIs.

--filesystem=xdg-run/gvfsd is necessary to use the GIO APIs to list and access non-native files using the GIO APIs, using URLs rather than FUSE paths.

--filesystem=xdg-run/gvfs is necessary to give access to the FUSE mounts non-GIO and legacy applications can use. This is what will make native files appear under /run/user/`id -u`/gvfs/.

--talk-name=org.gtk.vfs.*

--filesystem=xdg-run/gvfsd

--filesystem=xdg-run/gvfs

No application should be using --talk-name=org.gtk.vfs in its manifest, as there are no D-Bus services named org.gtk.vfs.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ см.:

Portals

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ

Flatpak-прилоТСния ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽΡ‚ΡΡ ΠΈ хранятся Π² рСпозиториях, схоТими ΠΏΠΎ структурС с Git. Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Flatpak ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Ρ‚Π°ΠΊ ΠΈ нСсколько; ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ свою Π²Π΅Ρ€ΡΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ upgrade/downgrade. К любой ОБ с установлСнным Flatpak ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ количСство Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² с возмоТностями поиска ΠΈ прСдоставлСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° (ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с Git) Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ "Ρ€Π°Π·Π½ΠΈΡ†Π°" ΠΌΠ΅ΠΆΠ΄Ρƒ вСрсиями, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ процСсс обновлСния ΠΊΡ€Π°ΠΉΠ½Π΅ эффСктивным ΠΈ схоТим с ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ delta-RPM Π² "стандартном" дистрибутивС Fedora.

И прилоТСния, ΠΈ runtimes, ΠΈ ΠΈΡ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² ОБ ΠΊΠ°ΠΊ для всСй систСмы Π² Ρ†Π΅Π»ΠΎΠΌ, Ρ‚Π°ΠΊ ΠΈ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ПослСднСС ΡƒΠ΄ΠΎΠ±Π½ΠΎ для тСстирования ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ system-wide ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ. Если ΠΆΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ использована опция "--user", Ρ‚ΠΎ установлСнныС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ нСдоступны Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ. ПослСднСС ΠΌΠΎΠΆΠ΅Ρ‚ Π΅Ρ‰Π΅ большС ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ бСзопасности ОБ ΠΈ ПО.

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

ΠŸΡ€ΠΈ создании ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Flatpak ΠΌΠ°Ρ€ΠΊΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΅Π³ΠΎ runtime-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ ("Identifiers"), состоящим ΠΈΠ· Ρ‚Ρ€Π΅Ρ… частСй. Π’ Ρ†Π΅Π»ΠΎΠΌ, ΠΎΠ½ΠΈ выглядят ΠΊΠ°ΠΊ "com.company.App" (схоТая систСма примСняСтся Π² Android). Π‘ΠΎΠ»Π΅Π΅ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ дСлятся Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ части: "name/architecture/branch", Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: "com.company.App/i386/stable".

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Flatpak

ΠšΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π»Π΅Π³ΠΊΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ графичСского интСрфСйса, Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ: "Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ - ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с описаниСм ΠΈ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π°ΠΌΠΈ - ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ Π›ΠšΠœ" (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊ Π² распространСнных сСйчас "ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ"). НиТС приводятся ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ управлСния.

flatpak --help

flatpak remotes

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° сообщит Ρ‚Π°ΠΊΠΆΠ΅, установлСны Π»ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для всСй систСмы ΠΈΠ»ΠΈ для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

1) Fedora Flatpaks:

flatpak remote-add --if-not-exists fedora oci+https://registry.fedoraproject.org

2) Flathub:

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

3) Flabhub Beta:

flatpak remote-add --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС, "flathub", "fedora" ΠΈ "flathub-beta" Π±ΡƒΠ΄ΡƒΡ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π².

flatpak remote-delete flathub

flatpak search gimp

flatpak install flathub org.gimp.GIMP

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС, flathub - локальноС имя ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория, Π° org.gimp.GIMP - имя ΠΏΠ°ΠΊΠ΅Ρ‚Π°.

Начиная с вСрсии Flatpak 1.2, ΠΊΠΎΠΌΠ°Π½Π΄Π° установки ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

flatpak install gimp

.flatpakref содСрТит Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ описания/спСцификации устанавливаСмых ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ) ΠΈ ΠΊΠ»ΡŽΡ‡ GPG. По сути, Π΅Π³ΠΎ использованиС - ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΏΡƒΡ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½-установки прилоТСния.

flatpak install https://flathub.org/repo/appstream/org.gimp.GIMP.flatpakref

или (локально)

flatpak install org.site.APP_NAME.flatpakref

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Как понял Π»ΠΈΡ‡Π½ΠΎ я (Π½ΠΎ Π½Π΅ тСстировал Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅!), ΠΎΡ„Π»Π°ΠΉΠ½-"ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ" этих Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ установки ОБ, ΠΈΠ±ΠΎ ΠΈΡ… список Ρ€Π°Π²Π½ΠΎΠ·Π½Π°Ρ‡Π΅Π½ стандартной ΠΊΠΎΠΌΠ°Π½Π΄Π΅ "dnf install pkg_1 pkg_2 pkg_3". Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ список (с пСрСчислСниСм Π² ΠΎΠ΄Π½Ρƒ строку), исполнитС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

flatpak list --app --columns=application | xargs echo -n > installed_flatpaks.txt

[Flatpak Ref]

Name=org.site.APP_NAME

Branch=stable

Title=org.site.APP_NAME from flathub

Url=https://dl.flathub.org/repo/

RuntimeRepo=https://dl.flathub.org/repo/flathub.flatpakrepo

IsRuntime=false

GPGKey=mQINBFl (...)

flatpak run org.gimp.GIMP

flatpak update

flatpak list

flatpak list --app

flatpak info org.gimp.GIMP

flatpak uninstall org.gimp.GIMP

flatpak uninstall --unused

flatpak repair

flatpak permission-reset org.gimp.GIMP

flatpak history

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ см.:

Using Flatpak

Flatpak Command Reference

АдминистрированиС rpm-ostree ОБ (Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ информация)

Π’.Π½. "Package layering" (ΠΌΠΎΠΆΠ½ΠΎ пСрСвСсти ΠΊΠ°ΠΊ "слой ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²) ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½Π½ΡƒΡŽ immutable Fedora Silverblue. По сути, это Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° ОБ, Π·Π° счСт ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π² Π½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΊΠ°ΠΊ sway, libvirt, fish ΠΈ Ρ‚.ΠΏ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ (Π½ΠΎ Π½Π΅ всС) RPM-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ΡΡ ΠΊ установкС нСпосрСдствСнно ΠΈΠ· рСпозитория Fedora.

По сути, "package layering" создаСт Π½ΠΎΠ²Ρ‹ΠΉ "базис для развСртывания", Ρ‚.Π΅. "Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ слой" для устанавливаСмого ПО ΠΈΠ»ΠΈ, ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² руководствС: "bootable filesystem root" (хотя послСднСС Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ сказываСтся Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… настройках root). Π­Ρ‚ΠΎΡ‚ способ сохраняСт возмоТности ΠΎΡ‚ΠΊΠ°Ρ‚Π° ОБ ("rollback"), Π½ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ОБ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π° послС установки ΠΈΠ»ΠΈ обновлСния ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°. ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎ, для ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ³ΠΎ (Ρ‚.Π΅. Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ) получСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

rpm-ostree install --apply-live <pkg>

Package layering ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΠΌΠ°Π»ΠΎΠ³ΠΎ количСства ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ flatpak-Ρ„Π°ΠΉΠ»ΠΎΠ² Π² рСпозиториях; ΠΎΠ½ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

rpm-ostree status

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Бписок ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ ΠΈΡ… Π² порядкС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΌ Π² bootloader'e

- ΠŸΠ΅Ρ€Π²Π°Ρ позиция Π² спискС - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

- Π—Π½Π°Ρ‡ΠΎΠΊ "●" - ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ.

1) RPMFusion (free/nonfree)

rpm-ostree install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm

rpm-ostree install https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

2) Copr

ostree remote add <name-of-repo> <repository-url>

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠŸΡ€ΠΎΡ†Π΅ΡΡ добавлСния сторонних Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² схоТ с Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ Π² Fedora, Ρ€Π°Π·Π²Π΅ Ρ‡Ρ‚ΠΎ RPM-ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ установлСны Π½Π΅ нСпосрСдствСнно Π² ОБ, Π° Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ "слой".

rpm-ostree upgrade

ΠΈΠ»ΠΈ

rpm-ostree upgrade --reboot

Команда ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ ΠΎΡ„Π»Π°ΠΉΠ½-ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅, создаст Π½ΠΎΠ²Ρ‹ΠΉ deployment (Ρ‚.Π΅. root filesystem) ΠΈ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ Π΅Π³ΠΎ Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½Ρ‹ΠΌ для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. ОбновлСниС "заканчиваСтся" Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ„ΠΈΠ½ΠΈΡˆΠ° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ° ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ систСмы (Ρ‚.Π΅. исполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ shutdown).

rpm-ostree rollback

ΠΈΠ»ΠΈ

rpm-ostree rollback --reboot

ΠΈΠ»ΠΈ

rpm-ostree rollback fedora/35/x86_64/system

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ: настройки "ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ" ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°ΡŽΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎ, rpm-ostree upgrade ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π΄Π²Π° ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… состояния (это ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ с сохранСниСм Π΄Π²ΡƒΡ… ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ядСр ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ систСмы Π² "ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ" дистрибутивС ОБ).

rpm-ostree deploy <version>

Команда Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π½Π° сСрвСрС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ вСрсии ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Π½Π΅Ρ‚ Π΅Π΅. Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ торопится ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ, Ρ‚.Π΅. внСсти Π² постоянныС, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ измСнСния, Π½Π΅ протСстировав ΠΈΡ….

rpm-ostree install <package name>

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ зависимости, Π° Π·Π°Ρ‚Π΅ΠΌ пСрСнастроит Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±Ρ€Π°Π· ОБ. БистСма rpm-ostree ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ стандартныС ΠΈΠΌΠ΅Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² для Fedora, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹ срСдствами DNF, ΠΎΠ΄Π½Π°ΠΊΠΎ слСдуСт ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ эта опСрация нСдоступна нСпосрСдствСнно Π½Π° хостС Fedora Silverblue, Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠ° Π² Ρ‚.Π½. "toolbox" (Π΅Π³ΠΎ описаниС см. Π½ΠΈΠΆΠ΅). ΠŸΡ€ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΌ способС установки ΠΏΠ°ΠΊΠ΅Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒΡΡ автоматичСски - Π²ΠΎ врСмя обновлСния ОБ (ΠΈ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π΅Π³ΠΎ Π½ΠΎΠ²Ρ‹Ρ… вСрсий).

rpm-ostree uninstall <pkg>

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, каТдая опСрация rpm-ostree происходит "ΠΎΡ„Π»Π°ΠΉΠ½" ΠΈ Π½Π΅ вносит Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠΉ ОБ. ВсС измСнСния Π±ΡƒΠ΄ΡƒΡ‚ внСсСны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅. Π­Ρ‚ΠΎ состояниС ΠΏΠ°ΠΊΠ΅Ρ‚Π° называСтся "pending deployment".

rpm-ostree uninstall --all

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π­Ρ‚ΠΎ дСйствиС Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ Π½Π΅ Π·Π°Ρ‚Ρ€ΠΎΠ½Π΅Ρ‚ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ слой ОБ

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для тСстирования Π½ΠΎΠ²Ρ‹Ρ… вСрсий kernel, podman ΠΈ Ρ‚.ΠΏ. ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ Π·Π°ΠΌΠ΅Π½Ρƒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

rpm-ostree override replace <path to package>

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ вмСсто ΠΏΡƒΡ‚ΠΈ ΠΊ физичСскому ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ссылки Π½Π° koji ΠΈΠ»ΠΈ bodhi, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

rpm-ostree override replace https://kojipkgs.fedoraproject.org//packages/podman/3.1.2/1.fc34/x86_64/podman-3.1.2-1.fc34.x86_64.rpm https://kojipkgs.fedoraproject.org//packages/podman/3.1.2/1.fc34/x86_64/podman-plugins-3.1.2-1.fc34.x86_64.rpm

rpm-ostree override remove <pkg>

ВмСсто "override replace" ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ "override remove" - это "скроСт" прСдустановлСнный ΠΏΠ°ΠΊΠ΅Ρ‚. ΠŸΡ€ΠΈ этом ΠΎΠ½ останСтся ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° "Π½ΠΈΠΆΠ½Π΅ΠΌ Π±Π°Π·ΠΎΠ²ΠΎΠΌ слоС" ОБ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ использован ΠΏΡ€ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ОБ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, послС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ OSTree ΠΏΠΎ адрСсу: /ostree/repo, Π½ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄ΠΈΠΌ.

Π’Π°ΠΆΠ½ΠΎ: "override replace" ΠΈ "override remove" Π² Ρ†Π΅Π»ΠΎΠΌ НЕ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ rpm-ostree.

rpm-ostree override reset <pkg>

rpm-ostree reload

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ см.:

rpm-ostree Administrator Handbook

Π”ΠžΠŸΠžΠ›ΠΠ˜Π’Π•Π›Π¬ΠΠž

Fedora Modularity ΠΈ Toolbox вряд Π»ΠΈ пригодятся Π² ΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅. Однако ΠΏΡ€ΠΈΠ²ΠΎΠΆΡƒ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠ΅ анонсы этих Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ для всСх ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΡ…ΡΡ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ спСцифичныС (Π½Π° самом Π΄Π΅Π»Π΅ - вСсьма ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Π΅!) ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ управлСния.

Π’Π°ΠΆΠ½ΠΎ! Π‘ΡƒΠ΄ΡŒΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹: Toolbox НЕ являСтся истинным ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠΌ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния бСзопасности.

Toolbox

ΠšΡ€Π°Ρ‚ΠΊΠ°Ρ справка ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ

toolbox create --distro

toolbox create --release

toolbox create --image [image_name]

toolbox enter --distro

toolbox enter --release

toolbox enter --distro --release

toolbox list

toolbox list --containers

toolbox list --images

toolbox rm <container name>

toolbox rm --force <active container name>

toolbox rm --all

toolbox rmi <image name>

toolbox rmi --force <active image name>

toolbox rmi --all

toolbox --help

dnf search <pkg>

dnf install <pkg>

dnf remove <pkg>

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π›ΡŽΠ±Ρ‹Π΅ дСйствия Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° toolbox производятся стандартными срСдствами, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹ΠΌΠΈ для "ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ" Fedora GNU/Linux. Π’ частности, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ "dnf update", Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ содСрТимоС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» DNF /etc/dnf/dnf.conf - Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ с ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠΉ систСмой.

ОписаниС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²

Toolbox makes it easy to use a containerized environment for everyday software development and debugging. On immutable operating systems, likeΒ Fedora Silverblue, it provides a familiar package-based environment in which tools and libraries can be installed and used. However, toolbox can also be used on package-based systems. Using Toolbox for running your workflows in a containerized manner brings you several advantages:

- It keeps the host OS clean and stable, and helps to avoid the clutter that can happen after installing lots of development tools and packages.

- You get access to different versions of supported distributions independent of the version you are running.

- Containers are a good way to isolate and organise the dependencies needed for different projects.

- Containers are a safe space to experiment: if things go wrong, it’s easy to throw a toolbox away and start again.

However, it is very important to note that toolbox containers are still integrated with your host system, so you should not attempt to do things or run software you otherwise wouldn’t on your host system. Toolbox containers are not completely isolated environments like virtual machines.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ см.:

Toolbox

Modularity

ОписаниС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²

Any RPM repository can be converted into a modular RPM repository with the inclusion of modular metadata and corresponding binary RPMs. Modularity can expand a RPM repository with following features:

- Module streams add additional packages with the same name, but built from different sources and with different build configurations.

- Module streams can have different life cycles. For example a package in a distribution can have a different life cycle than the life cycle of the distribution.

- Module streams can have different installation profiles of its components i. e. you can define one or several module stream profiles which will contain groups of RPMs which should be installed together.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ см.:

Modularity

ΠžΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ дСйствия

rpm-ostree install akmod-nvidia xorg-x11-drv-nvidia

rpm-ostree install akmod-nvidia xorg-x11-drv-nvidia-cuda

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π”ΠΎΠ±Π°Π²ΠΈΠ» Π΄Π²Π΅ послСдниС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° всякий случай - Π° Π²Π΄Ρ€ΡƒΠ³ придСтся ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с ΠΊΠ°Ρ€Ρ‚Π°ΠΌΠΈ ΠΎΡ‚ Nvidia!

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ см.:

Silverblue Postinstall Upgrade

β‚ͺ Back to home β‚ͺ

πŸ„― Rami Rosenfeld, 2023. GNU FDL 1.3.