Kā atspējot/bloķēt vai melnā saraksta pakotņu atjauninājumus, izmantojot Apt rīku


APT nozīmē Advanced Packaging Tool ir vēl viens pakotņu pārvaldnieks, kas atrodams uz Linux balstītās sistēmās. Sākotnēji projektēts kā priekšpuse dpkg darbam ar .deb pakotnēm, apt ir izdevies parādīt savu redzamību Mac OS, Open Solaris utt.

Vēlaties uzzināt un apgūt APT un DPKG komandas, lai pārvaldītu Debian pakotņu pārvaldību, pēc tam izmantojiet mūsu padziļinātos rakstus, kas aptvers vairāk nekā 30 un vairāk par abiem rīkiem.

Šajā rakstā mēs redzēsim dažādas metodes, kā atspējot/bloķēt pakotnes instalēšanu, jaunināšanu un noņemšanu Debian Linux un tā atvasinājumos, piemēram, Ubuntu un Linux Mint.

1. Atspējot/bloķēt paketi, izmantojot opciju “apt-mark” ar opciju hold/unhold

Komanda apt-mark atzīmēs vai noņems atzīmi programmatūras pakotnei kā automātiski instalētai, un tā tiek izmantota ar opciju aizturēšana vai aizturēšana.

  1. turēt - šī opcija tiek izmantota, lai paketi atzīmētu kā aizturētu, kas bloķēs pakotnes instalēšanu, jaunināšanu vai noņemšanu.
  2. atcelt - šo opciju izmanto, lai noņemtu iepriekš iestatīto paketes aizturēšanu un ļautu instalēt, jaunināt un noņemt pakotni.

Piemēram, lai pakete teiktu, ka apache2 nav pieejams instalēšanai, pakāpeniskai atjaunošanai vai atinstalēšanai, varat izmantot šādu komandu terminālā ar root tiesībām:

# apt-mark hold apache2

Lai padarītu šo pakotni pieejamu atjaunināšanai, vienkārši aizstājiet vārdu “hold” ar “unhold”.

# apt-mark unhold apache2

Pakotņu atjauninājumu bloķēšana, izmantojot APT preferenču failu

Vēl viens veids, kā bloķēt konkrētas pakotnes atjauninājumus, ir pievienot tās ierakstu mapē /etc/apt/preferences vai /etc/apt/preferences.d/official-package-repositories.pref fails. Šis fails ir atbildīgs par noteiktu pakotņu atjauninājumu atjaunināšanu vai bloķēšanu atbilstoši lietotāja norādītajai prioritātei.

Lai bloķētu pakotni, jums vienkārši jāievada tās nosaukums, papildu funkcija un prioritāte, kurai vēlaties to piešķirt. Šeit prioritāte <1 bloķētu pakotni.

Lai bloķētu jebkuru pakotni, vienkārši ievadiet tā informāciju failā /etc/apt/preferences šādi:

Package: <package-name> (Here, '*' means all packages)
Pin: release *
Pin-Priority: <less than 0>

Piemēram, lai bloķētu pakotnes apache2 atjauninājumus, pievienojiet ierakstu, kā parādīts:

Package: apache2
Pin: release o=Ubuntu
Pin-Priority: 1

Mēs varam izmantot citas opcijas ar izlaišanas atslēgvārdu, lai vēl vairāk identificētu paketi, kurai mēs izmantojam piespraudes prioritāti. Šie atslēgvārdi ir:

  1. a -> arhīvs
  2. c -> sastāvdaļa
  3. o -> izcelsme
  4. l -> etiķete
  5. n -> Arhitektūra

piemēram:

Pin: release o=Debian,a=Experimental

Tas nozīmētu izvilkt norādīto pakotni no Debian pakotnes eksperimentālā arhīva.

Melnajā sarakstā iekļauj pakešu atjauninājumu, izmantojot APT automātiskās noņemšanas failu

Vēl viens veids, kā pakotni no instalācijas iekļaut melnajā sarakstā, ir atjaunināt tās ierakstu vienā no failiem, kas atrodas direktorijā /etc/apt/apt.conf.d/ , kas ir 01autoremove.

Faila paraugs ir parādīts zemāk:

APT
{
  NeverAutoRemove
  {
        "^firmware-linux.*";
        "^linux-firmware$";
  };

  VersionedKernelPackages
  {
        # linux kernels
        "linux-image";
        "linux-headers";
        "linux-image-extra";
        "linux-signed-image";
        # kfreebsd kernels
        "kfreebsd-image";
        "kfreebsd-headers";
        # hurd kernels
        "gnumach-image";
        # (out-of-tree) modules
        ".*-modules";
        ".*-kernel";
        "linux-backports-modules-.*";
        # tools
        "linux-tools";
  };

  Never-MarkAuto-Sections
  {
        "metapackages";
        "restricted/metapackages";
        "universe/metapackages";
        "multiverse/metapackages";
        "oldlibs";
        "restricted/oldlibs";
        "universe/oldlibs";
        "multiverse/oldlibs";
  };
};

Lai jebkuru paketi iekļautu melnajā sarakstā, vienkārši jāievada tās nosaukums Never-MarkAuto-Sections . Vienkārši ievadiet paketes nosaukumu Never-MarkAuto-Section beigās un Saglabāt un aizvērt failu. Tas bloķētu apt, lai meklētu citus šīs pakotnes atjauninājumus.

Piemēram, lai atjauninātu paketi melnajā sarakstā, pievienojiet ierakstu, kā parādīts:

Never-MarkAuto-Sections
  {
        "metapackages";
        "restricted/metapackages";
        "universe/metapackages";
        "multiverse/metapackages";
        "oldlibs";
        "restricted/oldlibs";
        "universe/oldlibs";
        "multiverse/oldlibs";
        "apache2*";
  };
};

Pielāgotas pakotnes izvēle atjaunināšanai

Vēl viena alternatīva tam ir izvēlēties atjaunināmo. Rīks apt ļauj jums izvēlēties, ko vēlaties atjaunināt, taču šim nolūkam jums vajadzētu būt zināšanām par visām paketēm, kas ir pieejamas pakāpeniskai atjaunināšanai.

Šādai lietai var noderēt šādas komandu kopas:

a. Lai uzskaitītu, kuras paketes gaida atjauninājumus.

# apt-get -u -V upgrade

b. Lai instalētu tikai selektīvās paketes.

# apt-get --only-upgrade install <package-name>

Secinājums

Šajā rakstā mēs esam izskaidrojuši dažus veidus, kā atspējot/bloķēt vai melnajā sarakstā iekļautos pakotņu atjauninājumus, izmantojot APT veidu. Ja zināt kādu citu vēlamo veidu, dariet mums to zināmu, izmantojot komentārus vai ja meklējāt komandu yum, lai atspējotu/bloķētu pakotnes atjaunināšanu, tad izlasiet šo rakstu