Nama distro, glibc atau pengkompil: apa yang disemak oleh pemasang
Pemasang yang menolak terbitan turunan anda mungkin membaca nama distro, versi masa jalan atau pengkompil. Hanya satu daripadanya menentukan sama ada binari boleh berjalan.
Pemasang mencetak “unsupported distribution”, anda mengedit satu rentetan, dan ia berterusan sehingga gagal satu minit kemudian dengan ralat pemuat. Urutan itulah gejala yang wajar dikenali: kegagalan pertama ialah semakan pengenalan, dan yang kedua ialah sempadan keserasian. Kedua-duanya masalah berbeza yang kebetulan muncul dalam terminal yang sama. Mengedit semakan hanya boleh memindahkan anda daripada yang pertama ke yang kedua.
Gejalanya: pemasang berhenti pada terbitan turunan anda
Skrip yang membaca nama pengedaran dan enggan meneruskan memberitahu anda penulisnya tidak menguji terbitan turunan anda. Itu kenyataan sokongan, bukan fakta teknikal, dan selalunya salah dalam erti kata pakej itu akan berjalan dengan baik.
Masalah bermula apabila jalan pintas menjadi pelan. Menukar fail identiti membuatkan semakan lulus, dan pakej kemudian dimuatkan, atau gagal dimuatkan, terhadap masa jalan yang benar-benar dipasang. Jika ia gagal di situ, tiada lagi pengeditan identiti akan membantu.
Jadi langkah yang berguna ialah mengetahui soalan mana yang pemasang tanyakan, dan kemudian mengetahui sama ada jawapannya penting. Itu dua siasatan berasingan dan hanya yang kedua meramalkan sama ada pakej akan berfungsi.
Tiga versi yang orang panggil versi sistem
Keluaran pengedaran menamakan persekitaran yang dibungkus. Versi pustaka C menamakan pelaksanaan masa jalan dan keluarannya. Versi pengkompil menamakan rantaian alat. Dalam perbualan orang memanggil ketiga-tiganya “versi sistem”, dan dalam pemasang ia tidak boleh ditukar ganti.
cat /etc/os-release ldd --version | head -1 gcc --version | head -1 uname -m
Aplikasi yang telah dibina terlebih dahulu menjangka masa jalan yang ada semasa ia dipautkan. Menukar pengkompil pada hos tidak memautkannya semula, dan rantaian alat yang lebih baharu tidak mengubah apa-apa pada simbol pemuat yang diminta oleh binari. Seni bina penting semula secara berasingan, kerana pakej 32-bit pada sistem 64-bit gagal atas sebab yang tiada rentetan versi dapat menjelaskan.
Simpan keempat-empat output bersama laporan. Mengumpulnya mengambil masa sepuluh saat dan ia menjawab kebanyakan soalan yang penyelenggara akan tanyakan melalui e-mel.
Baca ralat, bukan semakan
Ralat pelancaran pertama ialah buktinya. Mesej tentang objek dikongsi yang hilang, atau tentang versi simbol yang pemuat tidak dapat memenuhi, ialah masalah kebergantungan masa jalan. Mesej yang mengulang nama pengedaran ialah semakan pengenalan sekali lagi, di tempat lain.
dokumentasi pemaut dinamik menerangkan cara carian pustaka berfungsi dan di mana pemuat mencari. Menukar label pengedaran tidak menambah direktori pada laluan carian itu, sebab itulah kegagalan kedua kelihatan tidak berkaitan dengan yang pertama.
Jangan gunakan ldd pada fail boleh laku yang dimuat turun sebagai langkah pertama biasa. Manualnya sendiri memberi amaran bahawa ia mungkin menjalankan program dalam keadaan tertentu, dan menjalankan pemasang yang tidak dipercayai ialah tepat kes yang dimaksudkan amaran itu.
Mengapa mengedit rentetan tidak membantu
Memalsukan identiti sistem pengendalian mengubah cara setiap program pada mesin melihat dirinya. Pengurus pakej, alat sokongan dan aplikasi lain membaca fail yang sama, dan nilai yang memuaskan satu pemasang boleh mengelirukan sesuatu yang lain berbulan-bulan kemudian.
Menggantikan pustaka hos dengan fail daripada pengedaran lain lebih teruk. Ia boleh merosakkan perisian yang tidak berkaitan, tidak kelihatan kepada pengurus pakej, dan memerlukan pelan penyelenggaraan yang tiada siapa menulis. Perubahan itu tidak wajar hanya kerana satu pemasang yang ketat.
Jika semakan itu benar-benar kecacatan pengenalan, penyelenggara boleh mengesahkannya dan menerangkan pembetulan yang disokong. Jika ia bukan kecacatan, laluan yang disokong ialah binaan untuk platform anda, dan jawapan itu tidak berubah kerana rentetan itu diedit.
Tulis laporan yang boleh ditindaklanjuti oleh penyelenggara
Catat pengedaran dan keluaran, seni bina, keluaran VPN, syarat tepat yang ditolak, dan ralat masa jalan pertama jika anda sampai ke situ. Catat sama ada anda mengubah apa-apa, kerana laporan daripada sistem yang diubah ialah laporan yang berbeza.
Biarkan pemasang asal tidak berubah dan terangkan semakan itu daripada memintasnya. Perbezaan itulah yang membolehkan penyelenggara memisahkan peraturan pengenalan yang terlalu sempit daripada sempadan keserasian binari yang sebenar, dan kedua-duanya pepijat yang sangat berbeza dengan pembetulan yang sangat berbeza.
Jika jawapannya bahawa platform anda tidak disokong, itu hasil yang boleh digunakan. Ia memberitahu anda untuk mencari binaan yang disokong daripada menghabiskan satu lagi petang pada fail identiti yang tidak pernah menjadi masalah.