GNU/Linux >> Belajar Linux >  >> Linux

Cara menonaktifkan PERINGATAN:apt tidak memiliki antarmuka CLI yang stabil...

Solusi 1:

Pertama, pertimbangkan arti peringatan yang ingin Anda sembunyikan. Secara teori, apt dapat berubah besok untuk memanggil mereka "distribusi" daripada "paket" (karena "belum memiliki antarmuka CLI yang stabil") dan ini akan benar-benar merusak pipa Anda. Perubahan yang lebih mungkin terjadi adalah perubahan yang menggunakan kata "paket" di banyak tempat, yang menyebabkan pipeline Anda menampilkan informasi asing, bukan hanya jumlah paket yang Anda cari.

Tapi Anda mungkin tidak terlalu khawatir tentang itu, dan, secara realistis, tidak ada alasan mengapa Anda harus begitu. Antarmukanya telah stabil selama bertahun-tahun dan mungkin tidak akan berubah dalam waktu dekat. Jadi, bagaimana cara menghilangkan peringatan itu?

Di dunia *nix, output ke baris perintah umumnya terdiri dari dua rasa, stdout (output standar) dan stderr (kesalahan standar). Program berperilaku baik mengirimkan keluaran normalnya ke stdout dan peringatan atau pesan kesalahan apa pun ke stderr. Jadi, jika Anda ingin kesalahan/peringatan hilang, Anda biasanya dapat melakukannya dengan membuang semua pesan di stderr menggunakan redirection keluaran 2>/dev/null . (Dalam bahasa Inggris, itu adalah "redirect (> ) saluran keluaran kedua (2 , yaitu stderr) ke /dev/null (yang hanya membuang semua yang dikirim ke sana)".

Maka, jawabannya adalah:

$ sudo apt update 2>/dev/null | grep packages | cut -d '.' -f 1
4 packages can be upgraded

Catatan tambahan:Dalam pertanyaan, perintah Anda ditampilkan sebagai # sudo apt... . # shell prompt menyiratkan bahwa Anda mungkin masuk sebagai root saat menggunakan perintah itu. Jika Anda sudah melakukan root, Anda tidak perlu menggunakan sudo .

Lebih lanjut tentang peringatan yang ingin Anda abaikan (dari man apt ):

SCRIPT USAGE
       The apt(8) commandline is designed as a end-user tool and it may change
       the output between versions. While it tries to not break backward
       compatibility there is no guarantee for it either. All features of
       apt(8) are available in apt-cache(8) and apt-get(8) via APT options.
       Please prefer using these commands in your scripts.

Solusi 2:

Anda dapat menggunakan alternatif dengan perintah berikut

sudo apt-get -s upgrade | grep -P "\d\K upgraded"

Outputnya harus seperti ini

6 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

-s berarti simulasi, pengintaian, atau uji coba

dari apt-get halaman manual

       -s, --simulate, --just-print, --dry-run, --recon, --no-act
           No action; perform a simulation of events that would occur based on
           the current system state but do not actually change the system.
           Locking will be disabled (Debug::NoLocking) so the system state
           could change while apt-get is running. Simulations can also be
           executed by non-root users which might not have read access to all
           apt configuration distorting the simulation. A notice expressing
           this warning is also shown by default for non-root users
           (APT::Get::Show-User-Simulation-Note). Configuration Item:
           APT::Get::Simulate.

Jawaban ini terinspirasi oleh blog ini


Linux
  1. Bagaimana Cara Membuat `date` Menghasilkan Waktu Dari Zona Waktu yang Berbeda?

  2. Bagaimana Suatu Program Memutuskan Apakah Memiliki Output Berwarna atau Tidak?

  3. Bagaimana Cara Grep Garis Yang Tidak Dimulai Dengan "#" Atau ";"?

  1. “ekor -f | Iconv -fsjis” Tidak Mengeluarkan Apa Pun?

  2. Linux – Ldd Tidak Menemukan Path, Bagaimana Cara Menambahkannya?

  3. Bagaimana cara menonaktifkan ipv6 pada antarmuka tertentu di linux?

  1. Bagaimana Cara Gzip Hanya Jika Thesqldump Tidak Error?

  2. di konsol linux, cara TIDAK membungkus keluaran

  3. Bagaimana cara kerja antarmuka loopback