Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° Fedora Linux Π²ΡΠ·Π½Π°ΠΌΠ΅ΡΡΠ²Π°Ρ Π΄Π° ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° Π½Π° Π½ΠΎΠ² ΠΏΠ°ΠΊΠ΅ΡΠ΅Π½ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Microdnf Π²ΠΌΠ΅ΡΡΠΎ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡ DNF. ΠΡΡΠ²Π°ΡΠ° ΡΡΡΠΏΠΊΠ° Π² ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½ΠΎΡΠΎ Π² ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ Fedora Linux 38 Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° Microdnf, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½ ΠΏΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π΄ΠΎ DNF ΠΈ Π² Π½ΡΠΊΠΎΠΈ Π°ΡΠΏΠ΅ΠΊΡΠΈ Π΄ΠΎΡΠΈ ΡΠ΅ Π³ΠΎ Π½Π°Π΄ΠΌΠΈΠ½Π΅. ΠΡΠ±Π΅Π»ΡΠ·Π²Π° ΡΠ΅, ΡΠ΅ Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Microdnf ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π²ΡΠΈΡΠΊΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π° DNF, Π½ΠΎ ΡΠ΅ Π·Π°ΠΏΠ°Π·ΠΈ Π²ΠΈΡΠΎΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΈ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎΡΡ.
ΠΠ»ΡΡΠΎΠ²Π°ΡΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ Microdnf ΠΈ DNF Π΅, ΡΠ΅ Microdnf Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ Π½Π° Π΅Π·ΠΈΠΊΠ° C, Π²ΠΌΠ΅ΡΡΠΎ Python, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅Π³Π½Π΅ Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Microdnf Π΅ Π±ΠΈΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½ ΠΊΠ°ΡΠΎ ΠΎΠ»Π΅ΠΊΠΎΡΠ΅Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° DNF Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Docker, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° Python. Π‘Π΅Π³Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° Fedora ΠΏΠ»Π°Π½ΠΈΡΠ°Ρ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π°Ρ Microdnf Π΄ΠΎ Π½ΠΈΠ²ΠΎΡΠΎ Π½Π° DNF ΠΈ Ρ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π°ΠΏΡΠ»Π½ΠΎ Π΄Π° Π·Π°ΠΌΠ΅Π½ΡΡ DNF Ρ Microdnf.
ΠΡΠ½ΠΎΠ²Π°ΡΠ° Π½Π° Microdnf Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° libdnf5, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π° Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° DNF 5. ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΈΠ΄Π΅Ρ Π½Π° DNF 5 Π΅ ΠΏΡΠ΅Π½Π°ΠΏΠΈΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π½Π° Π΅Π·ΠΈΠΊΠ° C++ ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½Π΅ΡΠΎ ΠΈΠΌ Π² ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Ρ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° ΠΎΠΊΠΎΠ»ΠΎ ΡΠ°Π·ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, Π·Π° Π΄Π° ΡΠ΅ Π·Π°ΠΏΠ°Π·ΠΈ Python API.
ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Microdnf ΡΡΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠΎΠ½ΠΎΠ²ΠΈΡ ΠΏΡΠΎΡΠ΅Ρ DNF Daemon, ΠΊΠΎΠΉΡΠΎ Π·Π°ΠΌΠ΅ΡΡΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° PackageKit ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π² Π³ΡΠ°ΡΠΈΡΠ½ΠΈ ΡΡΠ΅Π΄ΠΈ. ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ PackageKit, DNF Daemon ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° ΡΠ°ΠΌΠΎ Π·Π° ΡΠΎΡΠΌΠ°ΡΠ° RPM.
Microdnf, libdnf5 ΠΈ DNF Daemon Π² ΠΏΡΡΠ²Π°ΡΠ° ΡΠ°Π·Π° Π½Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡΠ°Ρ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ Ρ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌ DNF. Π‘Π»Π΅Π΄ Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½ΠΎΠ²Π°ΡΠ° ΡΠ²ΡΡΠ·Π°Π½Π° Π²Π΅ΡΡΠΈΡ ΡΠ΅ Π·Π°ΠΌΠ΅ΡΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΊΠ°ΡΠΎ dnf, python3-dnf, python3-hawkey, libdnf, dnfdragora ΠΈ python3-dnfdaemon.
Π‘ΡΠ΅Π΄ ΠΎΠ±Π»Π°ΡΡΠΈΡΠ΅, Π² ΠΊΠΎΠΈΡΠΎ Microdnf ΠΏΡΠ΅Π²ΡΠ·Ρ ΠΎΠΆΠ΄Π° DNF, ΡΠ°: ΠΏΠΎ-ΡΡΠ½Π° ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΡ Π·Π° Π½Π°ΠΏΡΠ΅Π΄ΡΠΊΠ° ΠΏΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ; ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ; Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π² ΠΎΡΡΠ΅ΡΠΈΡΠ΅ Π·Π° ΠΈΠ·Π²ΡΡΡΠ΅Π½ΠΈΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π° ΠΎΡ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈΡΠ΅ Π² ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ (scriplets); ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π»ΠΎΠΊΠ°Π»Π½ΠΈ RPM ΠΏΠ°ΠΊΠ΅ΡΠΈ Π·Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ; ΠΏΠΎ-Π½Π°ΠΏΡΠ΅Π΄Π½Π°Π»Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π΄ΠΎΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° Π²Ρ ΠΎΠ΄Π° Π·Π° bash; ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° builddep Π±Π΅Π· ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° Python Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°.
Π‘ΡΠ΅Π΄ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠΈΡΠ΅ Π½Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΡΠ° ΠΊΡΠΌ Microdnf ΡΠ΅ ΠΎΡΠ±Π΅Π»ΡΠ·Π²Π° ΠΏΡΠΎΠΌΡΠ½Π°ΡΠ° Π² ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° Π²ΡΡΡΠ΅ΡΠ½ΠΈΡΠ΅ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ ΠΎΡΠ΄Π΅Π»Π½Π°ΡΠ° ΠΎΡ DNF ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠ΅ΡΠΎ Π½ΡΠΌΠ° Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° ΡΠ΅ Π²ΠΈΠΆΠ΄Π°Ρ Π² Microdnf ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Ρ ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅, ΠΈΠ·Π²ΡΡΡΠ΅Π½ΠΈ Π² DNF ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, Π² Microdnf Π½Π΅ ΡΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠ° Π΄Π° ΡΠ΅ Π·Π°ΠΏΠ°Π·ΠΈ 100% ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ DNF Π½Π° Π½ΠΈΠ²ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΈ ΠΎΠΏΡΠΈΠΈ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄. Π©Π΅ Π±ΡΠ΄Π°Ρ Π½Π°Π±Π»ΡΠ΄Π°Π²Π°Π½ΠΈ ΠΈ Π½ΡΠΊΠΎΠΈ ΡΠ°Π·Π»ΠΈΠΊΠΈ Π² ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅ΠΌΠ°Ρ
Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ Π½ΡΠΌΠ° Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΠ²ΡΡΠ·Π°Π½ΠΈΡΠ΅ Ρ Π½Π΅Π³ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π² Π΄ΡΡΠ³ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
