Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano typowe zadania zarządzania pakietami w systemie Azure Linux, w tym:
- Gdzie jest przechowywana konfiguracja repozytorium.
- Jak starsze polecenia menedżera pakietów odpowiadają poleceniom w DNF5.
- Sposób buforowania metadanych systemu plików DNF i rozpoznawania pakietów.
- Sposób obsługi jąder i innych pakietów przeznaczonych wyłącznie do instalacji.
- Jak włączyć nienadzorowane aktualizacje.
- Najczęściej używane polecenia DNF.
Note
Azure Linux 4.0 jest teraz w wersji zapoznawczej i służy wyłącznie do celów oceny i testowania. Nie nadaje się do użytku produkcyjnego.
Konfiguracja repozytorium
DNF5 odczytuje definicje repozytorium z ./etc/yum.repos.d/ Nazwa katalogu została zachowana z systemu YUM dla zachowania zgodności; DNF5 odczytuje dane z tego katalogu.
Każdy plik .repo w tym katalogu jest zwykłym tekstowym plikiem konfiguracyjnym, który informuje DNF, gdzie znaleźć pakiety, czy należy je weryfikować za pomocą GPG oraz czy repozytorium jest domyślnie włączone. Głównym plikiem konfiguracji systemu plików DNF jest /etc/dnf/dnf.conf, który kontroluje globalne zachowanie, takie jak ustawienia pamięci podręcznej, limit instalacji i konfiguracja serwera proxy.
Symlinki zgodności dla starszych poleceń
Azure Linux dostarcza dowiązania symboliczne zapewniające zgodność, dzięki czemu starsze polecenia (yum, dnf (DNF4), microdnf, tdnf) są wszystkie kierowane do DNF5:
lrwxrwxrwx. 1 root root 4 yum -> dnf5
lrwxrwxrwx. 1 root root 4 microdnf -> dnf5
-rwxr-xr-x. 1 root root 1614408 dnf5
lrwxrwxrwx. 1 root root 4 dnf -> dnf5
lrwxrwxrwx. 1 root root 4 tdnf -> dnf5
Typowe podpolecenia działają za pośrednictwem symlinków. Przypadki brzegowe, które zależały od wewnętrznych mechanizmów DNF4 lub zachowania specyficznego dla microdnf, mogą już nie działać. Aby uzyskać szczegółowe informacje na temat zmian, zobacz następujące zasoby:
- Zmiany między DNF a DNF5
- Migracja do DNF5
- Zmiany w interfejsie wiersza poleceń DNF w porównaniu z YUM
Jak DNF5 rozwiązuje problemy z pakietami
Po uruchomieniu polecenia systemu plików DNF5 program DNF5 wykonuje następujące kroki, aby określić pakiety do zainstalowania, uaktualnienia lub usunięcia:
- Ładuje każdy plik
.repow/etc/yum.repos.d/i wybiera repozytoria oznaczone jako włączone. - Odświeża metadane repozytorium, buforując je lokalnie w obszarze
/var/cache/libdnf5. Buforowane metadane obejmują listę pakietów, informacje o wersji i zależnościach, sumy kontrolne i podpisy. - Rozwiązuje żądanie instalacji, usunięcia lub aktualizacji na podstawie włączonych repozytoriów, wybiera wersje pakietów oraz weryfikuje integralność i podpisy przed wykonaniem transakcji.
Wyłączone repozytoria są ignorowane, chyba że jawnie włączysz je za pomocą --enablerepo=<repo-id> dla pojedynczego polecenia.
Pamięć podręczna /var/cache/libdnf5 istnieje po to, aby DNF nie musiał ponownie pobierać metadanych przy każdym uruchomieniu. Uruchom polecenie dnf clean all , aby go opróżnić (zobacz Często używane polecenia systemu plików DNF).
Pakiety tylko do instalacji i wiele zainstalowanych wersji
Niektóre pakiety, zwłaszcza jądro, są instalowane obok siebie, a nie uaktualniane. System DNF5 steruje tym za pomocą dwóch ustawień w systemie /etc/dnf/dnf.conf:
-
installonlypkgs: Lista nazw pakietów, które nigdy nie są uaktualniane na miejscu. Pakiety jądra są wpisem kanonicznym. -
installonly_limit: Maksymalna liczba wersji pakietu tylko do instalacji, które mogą współistnieć w systemie. Wartość domyślna to3.
Po zainstalowaniu nowej wersji i przekroczeniu limitu system plików DNF automatycznie usuwa najstarszą wersję.
W przypadku jądra zapewnia to następujące elementy:
- Powrót: jeśli nie można uruchomić nowego jądra, program GRUB nadal może uruchomić poprzednie, znane jądro.
- Walidacja: możesz zainstalować i przetestować nowe jądro bez usuwania uruchomionego jądra.
- Współistnienie wariantu: w tym samym czasie można zainstalować różne kompilacje jądra (na przykład z różnymi zestawami funkcji).
Każda wersja jądra jest osobnym pakietem RPM, więc DNF śledzi ją i usuwa jak każdy inny pakiet.
Nienadzorowane aktualizacje przy użyciu dnf-automatic
dnf-automatic to usługa, która okresowo sprawdza, pobiera i opcjonalnie stosuje aktualizacje pakietów. Jest napędzany przez systemd timer, a nie działa jako długowieczne demona.
Zainstaluj produkt dnf-automatic
Zainstaluj dnf-automatic przy użyciu następującego polecenia:
sudo dnf install -y dnf-automatic
Włączanie czasomierza dnf-automatic
dnf-automatic Włącz czasomierz natychmiast i po ponownym uruchomieniu, używając następującego polecenia:
sudo systemctl enable --now dnf-automatic.timer
-
enableKonfiguruje czasomierz do uruchomienia podczas rozruchu. -
--nowuruchamia czasomierz w bieżącej sesji.
Sprawdzanie stanu czasomierza dnf-automatic
Sprawdź, czy czasomierz jest aktywny i sprawdź, kiedy był ostatnio uruchomiony, używając następującego polecenia:
systemctl status dnf-automatic.timer
Typowe dane wyjściowe wyglądają jak w poniższym przykładzie:
● dnf5-automatic.timer - dnf-automatic timer
Loaded: loaded (/usr/lib/systemd/system/dnf5-automatic.timer; enabled; preset: disabled)
Active: active (waiting) since Thu 2026-03-26 14:36:54 UTC; 13min ago
Invocation: f6984eeceb7c40df99bca243f3da728c
Trigger: Fri 2026-03-27 06:34:18 UTC; 15h left
Triggers: ● dnf5-automatic.service
Active: active (waiting) jest spodziewane: usługa bazowa jest uruchamiana jednorazowo tylko wtedy, gdy zadziała timer, po czym kończy działanie. Wiersz Trigger: pokazuje następny zaplanowany przebieg.
Wyświetl następne zaplanowane uruchomienie timera dnf-automatic
Wyświetl następne uruchomienie wraz z innymi timerami, używając następującego polecenia:
systemctl list-timers dnf-automatic.timer
Przykładowy wynik:
NEXT LEFT LAST PASSED UNIT ACTIVATES
Fri 2026-03-27 06:34:18 UTC 15h - - dnf5-automatic.timer dnf5-automatic.service
1 timers listed.
Pass --all to see loaded but inactive timers, too.
Opcjonalna konfiguracja dnf-automatic
Zachowanie automatycznej aktualizacji można skonfigurować, dodając /etc/dnf/automatic.conf plik. Ten plik określa, czy aktualizacje są pobierane, automatycznie stosowane lub ograniczone do aktualizacji tylko zabezpieczeń. Aby uzyskać szczegółowe informacje o konfiguracji, zobacz dokumentację narzędzia dnf5-automatic
Note
Aktualizacje automatyczne są instalowane za pomocą systemu dnf-automatic, ale system nie jest automatycznie ponownie uruchamiany. Jeśli zostanie zaktualizowane jądro (lub inny pakiet wymagający ponownego uruchomienia), nowa wersja zacznie działać dopiero po następnym ponownym uruchomieniu. Po aktualizacji sprawdź, czy jest wymagany ponowny rozruch, i zaplanuj je odpowiednio.
Często używane polecenia systemu plików DNF
Poniższe polecenia obejmują większość codziennego zarządzania pakietami w systemie Azure Linux.
dnf clean all
dnf clean all Usuwa wszystkie pliki DNF buforowane w obszarze /var/cache/libdnf5. Używaj go do:
- Odzyskaj sprawność po uszkodzonych lub nieaktualnych metadanych, które powodują błędy transakcji.
- Zmniejsz obrazy kontenerów, usuwając pamięć podręczną pakietów po instalacji w tej samej warstwie
RUN. - Odzyskiwanie miejsca na dysku.
Przykład kontenera:
RUN dnf install -y package1 package2 \
&& dnf clean all
dnf search
dnf search dopasowyuje słowa kluczowe względem nazw pakietów i podsumowań. Przykład:
dnf search lsof
Przykładowy wynik:
Updating and loading repositories:
Azure Linux 4.0 - x86_64 - Microsoft 100% | 7.6 KiB/s | 4.8 KiB | 00m01s
Repositories loaded.
Matched fields: name (exact)
lsof.x86_64 A utility which lists open files on a Linux/UNIX system
dnf provides
dnf provides znajduje pakiet, który jest właścicielem danego pliku, polecenia lub możliwości. Przykład:
dnf provides lsof
Przykładowy wynik:
Updating and loading repositories:
Repositories loaded.
lsof-4.98.0-8.azl4.20260303.x86_64 : A utility which lists open files on a Linux/UNIX system
Repo : @System
Matched From :
Provide : lsof = 4.98.0-8.azl4.20260303
dnf install
dnf install instaluje co najmniej jeden pakiet wraz z ich zależnościami środowiska uruchomieniowego:
sudo dnf install lsof
Przykładowy wynik:
Updating and loading repositories:
Repositories loaded.
Package Arch Version Repository Size
Installing:
lsof x86_64 4.98.0-8.azl4.20260303 azurelinux 578.5 KiB
Transaction Summary:
Installing: 1 package
Total size of inbound packages is 226 KiB. Need to download 226 KiB.
After this operation, 579 KiB extra will be used (install 579 KiB, remove 0 B).
Is this ok [y/N]: y
[1/1] lsof-0:4.98.0-8.azl4.20260303.x86_64 100% | 641.9 KiB/s | 226.0 KiB | 00m00s
[1/1] Total 100% | 640.1 KiB/s | 226.0 KiB | 00m00s
Running transaction
[1/3] Verify package files 100% | 500.0 B/s | 1.0 B | 00m00s
[2/3] Prepare transaction 100% | 23.0 B/s | 1.0 B | 00m00s
[3/3] Installing lsof-0:4.98.0-8.azl4.20260303.x86_64 100% | 3.0 MiB/s | 580.2 KiB | 00m00s
Complete!
dnf remove
dnf remove odinstalowuje pakiet wraz z wszelkimi zależnościami, które zostały pobrane wyłącznie dla niego:
sudo dnf remove -y lsof
Przykładowy wynik:
Package Arch Version Repository Size
Removing:
lsof x86_64 4.98.0-8.azl4.20260303 azurelinux 578.5 KiB
Transaction Summary:
Removing: 1 package
After this operation, 579 KiB will be freed (install 0 B, remove 579 KiB).
Is this ok [y/N]: y
Running transaction
[1/2] Prepare transaction 100% | 27.0 B/s | 1.0 B | 00m00s
[2/2] Removing lsof-0:4.98.0-8.azl4.20260303.x86_64 100% | 72.0 B/s | 11.0 B | 00m00s
Complete!
dnf upgrade
dnf upgrade aktualizuje zainstalowane pakiety do ich najnowszych dostępnych wersji.
sudo dnf upgrade
Gdy wszystko jest aktualne, dane wyjściowe są krótkie. Przykład:
Updating and loading repositories:
Repositories loaded.
Nothing to do.
Wskazówka
Przekaż -y do install, remove lub upgrade w nieinteraktywnych kontekstach, takich jak skrypty, potoki CI i budowanie kontenerów. Każda operacja DNF, która modyfikuje system, wymaga uprawnień roota, więc uruchom ją za pomocą sudo lub jako root.
Treści powiązane
-
Narzędzie do zarządzania pakietami DNF5: Pełny opis wiersza poleceń dla programu
dnf5. - Zmiany między DNF a DNF5: co zmieniło się względem DNF4, w tym usunięte polecenia i różnice w zachowaniu.
- Migrowanie do systemu DNF5: wskazówki dotyczące przenoszenia skryptów i automatyzacji z systemu plików DNF4 do systemu plików DNF5.