Saya menemukan halaman wiki ini: Prosedur Mengatasi Masalah Package Manager .
Di dalamnya, ada perintah seperti:
LANG=C;sudo apt-get clean
LANG=C;sudo apt-get autoclean
LANG=C;sudo apt-get -f install
LANG=C;sudo apt-get --fix-missing install
LANG=C;sudo apt-get --purge autoremove
LANG=C;sudo apt-get --fix-missing update -o APT::Cache-Limit=100000000
LANG=C;sudo apt-get update -o APT::Cache-Limit=100000000 && sudo apt-get dist-upgrade
Jadi apa tujuannya LANG=C;
?
package-management
locale
DK Bose
sumber
sumber
LANG=C command
dan tidakLANG=C;command
. Bentuk pertama memaksa nilaiLANG
variabel lingkungan selama durasicommand
sedangkan bentuk kedua sebenarnya dua perintah di mana bagian pertama hanya menetapkan variabel lokal (tidak diekspor) dan bagian kedua menjalankan perintah tanpa menetapkan variabel lingkungan yang diperlukan.LANG
ada di lingkungan, jadi mungkin berfungsi dengan titik koma berlebihan; tetapi (1) berlebihan karena tidak ada yang akan berubahLANG
antara perintah. Juga mengisyaratkan seseorang untuk menjalankan perintah dengan cara seperti itu adalah (2) salah karena perubahan lingkungan yang tidak perlu dan tidak diundang, dan (3) ini memberikan pola yang salah untuk setiap pengguna yang tidak informasi yang kemudian menerapkan kembali penggunaan - mungkin dengan variabel shell yang tidak ada dalam lingkungan dan dengan demikian bahkan tidak memiliki efek pada menjalankan perintah yang memerlukannya untuk fungsi yang benar, mungkin aman.Jawaban:
Jika Anda memecahkan masalah, kemungkinan Anda akan memposting hasil Anda di beberapa forum, atau di sini, cepat atau lambat.
Ketika itu terjadi, akan jauh lebih mudah bagi pengguna lain untuk memahami log dan output Anda, jika mereka tidak diinternasionalisasi.
Artinya, jika Anda menggunakan bahasa Prancis atau Cina atau Hindi atau apa pun sebagai bahasa sistem Anda, hasilnya cenderung menggunakan istilah dalam bahasa itu, dan itu membuat semakin sulit untuk memahami apa yang terjadi.
Lokal C memaksa output default (yang biasanya hanya ASCII bahasa Inggris).
Yang terbaik untuk memulai sesi pemecahan masalah dengan:
Alih-alih mengatur variabel lokal tertentu, atau mengaturnya hanya untuk perintah tertentu.
sumber
LANG=C
akan membuat output terminal Anda kembali ke lokasi default. Karena panduan ini menyarankan Anda mengirimkan output Anda ke Launchpad untuk mendapatkan dukungan, mereka meminta Anda melakukan ini sehingga, ketika Anda menempelkannya, orang lain akan dapat membacanya tidak peduli bahasa apa yang biasanya Anda gunakan.sumber
Tambahan kecil meskipun mungkin tidak berlaku dalam kasus apt karena saya menganggapnya sebagai perangkat lunak yang cukup stabil:
Beberapa program memiliki perilaku buruk ketika menggunakan pengaturan yang berbeda untuk LANG (atau setidaknya berbeda dari C atau en_US).
Unity memiliki (masih memiliki?) Masalah ini (dan game berbasis Unity), Unreal Engine juga memiliki beberapa masalah. Juga beberapa skrip build untuk Android hanya berjalan dengan LANG = C dengan benar atau dikompilasi hanya dengan variabel lingkungan ini dengan cara ini.
Jadi ini juga bisa membantu pemecahan masalah karena bug bahkan mungkin tidak terjadi dengan pengaturan ini.
sumber