wydanie narzędzia do zarządzania pakietami (Advanced Package Tool), rozwijany przez projekt Debian. Oprócz Debiana i jego pochodnych, APT jest również stosowany w niektórych dystrybucjach opartych na menedżerze pakietów rpm, takich jak PCLinuxOS i ALT Linux. Nowa wersja zawiera zmiany, które zostały wprowadzone w trakcie rozwoju eksperymentalnej wersji 1.9.x. Nowe wydanie wkrótce będzie w gałęzi Debian Unstable i w bazie pakietów (w Ubuntu 19.10 używano eksperymentalnej wersji 1.9).
Z można wymienić:
- W poleceniach przyjmujących nazwy pakietów pojawiło się wsparcie . Składnia szablonów w dużej mierze powtarza styl szablonów aptitude. Wsparcie dla masek i wyrażeń regularnych w argumentach polecenia apt zostało zakończone, zamiast nich należy teraz używać szablonów. Na przykład, aby wyświetlić listę wszystkich ręcznie zainstalowanych pakietów z sekcje zawierającymi słowa libs, perl i python:
apt list ‘~i !~M (~slibs|~sperl|~spython)’
- Dodano polecenia „apt satisfy” i „apt-get satisfy”, które umożliwiają zainstalowanie pakietów wymaganych do spełnienia zależności określonych w ciągu przekazanym jako argument. Można wymieniać kilka ciągów i podawać sekcje „Conflicts:” w celu wykluczenia zależności. Na przykład:
apt-get satisfy „foo” „Conflicts: bar” „baz (>> 1.0) | bar (= 2.0), moo”
- Dodana możliwość przypinania pakietów z kodem źródłowym poprzez dodanie prefiksu „src:” przed nazwą pakietu (, umożliwia dodawanie pakietów z innych gałęzi bez aktualizacji całego systemu, na przykład zainstalować pakiety ze stabilnej wersji z testing lub unstable). Aby przypiąć wszystkie binarne pakiety zbudowane z pakietu źródłowego apt 2.0.0, można podać:
Package: src:apt
Pin: version 2.0.0
Pin-Priority: 990 - W poleceniach apt wprowadzono czekanie na zwolnienie blokady dpkg. Domyślnie przy uruchomieniu z konsoli czekanie nie jest ograniczone czasowo, natomiast w innych przypadkach limit wynosi 120 sekund.
- Jeśli apt nie może ustanowić blokady, teraz błąd jest wyświetlany z pokazaniem nazwy i pid procesu, który blokuje plik lock.
- Dodano polecenia merge-translations i bump-abi.
- Do kryptograficznego haszowania wykorzystano implementacje MD5, SHA1 i SHA2 z biblioteki libgcrypt.
- Wzmocniono równoległość uruchamiania przetwarzania i rozpakowywania podczas wykonywania polecenia update.
- Wymienione w pliku auth.conf konta są teraz przekazywane tylko przy połączeniach HTTPS, aby uniknąć wycieku w przypadku przechwycenia połączenia HTTP.
- Wymaganie dotyczące wersji standardu C++ zostało podniesione do C++14.
- W apt-helper dodano wsparcie dla określenia wielu skrótów dla jednego pliku.
- Połączono bibliotekę libapt-inst z libapt-pkg.
- Zmodernizowano format pamięci podręcznej, który teraz pozwala na dodawanie nowych wpisów bez naruszania ABI. Wskaźniki w pamięci podręcznej są teraz typowane statycznie i nie mogą być porównywane z liczbami całkowitymi (z wyjątkiem 0 przez nullptr).
- Przeprowadzono oczyszczenie z przestarzałych flag i połączono różne prototypy funkcji. Usunięto własne implementacje algorytmów CRC16, MD5, SHA1 i SHA2.
Źródło: opennet.ru
