Istilah "hulu" dan "hiliran" boleh dikatakan agak abstrak, dan orang biasa mungkin jarang menggunakannya. Jika anda hanya pengguna biasa yang menggunakan Linux dan tidak terlibat dalam menulis dan menyelenggara perisian, maka istilah ini mungkin tidak mempunyai makna praktikal kepada anda. Walau bagaimanapun, istilah ini sangat berguna apabila berkomunikasi antara pelbagai komuniti di dunia Linux.
Istilah "hulu" dan "hiliran" digunakan secara meluas dalam bidang bukan komputer seperti rangkaian, pengaturcaraan, kernel dan juga rantaian bekalan. Apabila membincangkan hulu dan hilir, maklumat latar belakang adalah penting.
Ringkasnya, hulu dan hilir menerangkan arah aliran maklumat.
Memandangkan kita semua membaca ini semasa disambungkan ke internet, mari lihat contoh huluan/hiliran yang digunakan untuk Penyedia Perkhidmatan Internet (ISP). Di sini, ISP memberi tumpuan kepada trafik. Trafik huluan merujuk kepada data yang datang daripada pengguna pada ISP yang berbeza. Contohnya, jika anda mempunyai tapak web yang menawarkan surat berita langganan, maklumat langganan yang saya hantar ialah data huluan.
Trafik hiliran merujuk kepada data yang dihantar daripada seorang pengguna kepada pengguna lain di ISP yang berbeza, ia dianggap trafik hiliran. Menggunakan contoh langganan yang sama, katakan permintaan langganan saya diluluskan dan saya menerima nota "selamat datang" dalam satu e-mel dan surat berita terkini dalam e-mel yang lain. Dalam kes ini, data mengalir ke hiliran kerana ia dihantar oleh anda (baik, mungkin sebagai perisian automatik yang bertindak bagi pihak anda) kepada saya, pengguna daripada ISP yang berbeza.
Ringkasan: Apa yang saya perlukan atau inginkan (surat berita anda) adalah di hulu. Apa yang anda berikan kepada saya (mesej alu-aluan dan komunikasi sebenar) adalah hiliran.
Sama ada data adalah huluan atau hiliran mungkin tidak penting bagi kami pengguna, tetapi ia penting bagi pentadbir pelayan yang memantau penggunaan lebar jalur, serta pengedar (pengeluar pengedaran) dan pengaturcara .
Dalam dunia Linux, terdapat dua konteks utama, huluan dan hiliran. Satu mengenai kernel dan satu lagi mengenai aplikasi. Ada yang lain, tetapi saya harap saya dapat meluahkan fikiran saya melalui dua ini.
Linux ialah kernel. Pengedaran Linux bermula dengan kod sumber kernel yang tidak diubah suai semasa membuat pengedaran. Kemudian tambah patch yang diperlukan dan konfigurasikan kernel. Konfigurasi kernel adalah berdasarkan ciri dan pilihan yang ingin diberikan oleh pengedaran. Setelah diputuskan, teras telah dibuat dengan sewajarnya.
Inti asal datang dari hulu pengedaran. Apabila pengedaran mendapat kod sumber, ia mengalir ke hilir. Sebaik sahaja pengedaran mendapat kod kernel, ia kekal dengan penerbit semasa ia diubah suai. Ia kekal huluan kepada pengguna kami sehingga ia sedia untuk dikeluarkan.
Versi kernel yang dibuat oleh distro akan menambah patch dan mendayakan ciri dan pilihan tertentu. Konfigurasi ini ditentukan oleh penerbit. Itulah sebabnya terdapat beberapa perisa Linux, contohnya, Debian' www.debian.org vs. Red Hat' www.redhat.com. Penerbit memutuskan pilihan yang disediakan untuk pangkalan pengguna mereka dan menyusun kernel sewajarnya.
Setelah kerja ini siap, ia diletakkan dalam repositori sedia untuk dikeluarkan dan kami boleh mendapatkan salinannya. Salinan ini mengalir ke hilir ke arah kami.
Begitu juga, jika penerbit menjumpai pepijat dalam kernel, membetulkannya, dan kemudian menghantar patch kepada pembangun kernel supaya mereka boleh menampal kernel untuk semua orang di hiliran. Ini dipanggil sumbangan ke hulu kerana trafik di sini mengalir ke atas ke arah sumber asal.
Sekali lagi, secara teknikalnya, Linux ialah kernel dan yang lain adalah perisian tambahan. Penerbit juga menyertakan perisian tambahan dalam projek mereka. Dalam kes ini, terdapat beberapa hulu. Pengedaran boleh mengandungi sebarang bilangan aplikasi seperti X, KDE, Gnome, dsb.
Mari bayangkan anda menggunakan editor nano www.nano-editor.org dan mendapati ia tidak berfungsi dengan betul, jadi anda menyerahkan laporan pepijat kepada distro. Pengaturcara penerbit akan melihatnya dan jika mereka mendapati bahawa mereka telah memasukkan pepijat dalam nano, mereka akan membetulkannya dan mengeluarkan versi baharu dalam repositori mereka. Jika mereka mendapati bahawa mereka tidak bertanggungjawab terhadap pepijat itu, penerbit akan menyerahkan laporan pepijat kepada pengaturcara nano huluan.
Mengenai perkara seperti laporan pepijat, permintaan ciri, dsb., adalah lebih baik untuk menghantarnya ke huluan kepada penerbit, kerana ia mengekalkan kernel dan aplikasi tambahan untuk pengedaran yang anda gunakan. Sebagai contoh, saya menggunakan pengedaran yang dipanggil Q4OS - q4os.org pada beberapa mesin. Jika saya menemui pepijat dalam program, saya akan melaporkannya kepada orang di Q4OS. Jika anda menggunakan linuxmint.com Mint, anda akan melaporkannya kepada projek Mint.
Sebagai contoh, jika anda menyiarkan soalan pada forum Linux biasa dan anda menyebut bahawa anda menggunakan Mint, anda pasti akan mendapat balasan ini. "Isu ini paling baik dikendalikan di forum Mint". Menggunakan contoh pepijat nano sebelumnya, ada kemungkinan pengaturcara Mint mengubah suai nano untuk menjadikannya berjalan lebih baik dalam pengedaran mereka. Jika mereka melakukan kesilapan, mereka akan mahu tahu tentangnya dan, selepas melakukannya, merekalah yang akan memperbaikinya.
Setelah diperbaiki, program yang dikemas kini akan dimasukkan ke dalam repositori yang boleh anda gunakan. Apabila anda dikemas kini, ia akan mengalir kepada anda, seperti ini:
◈ Jika penerbit membuat pembetulan, versi baharu akan tersedia dalam repositori keluaran.
◈ Jika pengaturcara apl membuat pembetulan, ia akan dihantar kepada penerbit yang menguji kod baharu. Setelah didapati berfungsi dengan baik, ia diletakkan di dalam gudang dan dialirkan ke hilir.
Ada masanya pengguna terpaksa mendapatkan kemas kini sendiri. Pengguna mendapat kod sumber yang dikemas kini dan menyusun fail boleh laku baharu. Dari masa ke masa, program seperti apt
这样的工具被创造出来,允许用户从软件库中提取更新的二进制文件(可执行文件)。apt
adalah milik Debian, tetapi pengedaran lain mempunyai program serupa mereka sendiri untuk tujuan ini.
Suka apt
这样的程序负责处理上游/下游的工作。如果你用升级选项运行 apt
, seperti ini:
sudo apt upgrade
Ia akan melihat repositori keluaran (huluan), mencari sebarang pakej kemas kini yang diperlukan, dan menariknya ke mesin anda (hiliran) dan memasangnya.
Sesetengah pengedaran pergi lebih jauh. Pengaturcara dan penyelenggara distro sentiasa menyemak produk mereka. Banyak kali, pengaturcara aplikasi membuat penambahbaikan pada program mereka. Pustaka sistem akan dikemas kini dengan kerap, lubang keselamatan akan dipalamkan, dan sebagainya. Kemas kini ini diberikan kepada penerbit, yang kemudiannya menjadikan versi baharu tersedia dalam repositori keluaran.
Daripada membiarkan anda menjalankannya setiap hari apt
, sesetengah pengedaran akan mengingatkan anda bahawa kemas kini tersedia dan bertanya kepada anda jika anda mahukannya. Jika anda mahukannya, terima sahaja dan kemas kini akan dihantar ke mesin anda dan dipasang.
Upstream dan downstream sebenarnya hanyalah arah aliran data. Cara data ini mengalir ke hulu atau hilir bergantung pada siapa yang akhirnya perlu memprosesnya. Pada asasnya, pengaturcara adalah hulu dan pengguna adalah hiliran.
Sekali lagi, sebagai pengguna, kami tidak perlu mengambil berat tentang istilah ini, tetapi konsep ini membantu dalam pembangunan dan penyelenggaraan perisian. Pertindihan usaha dielakkan dengan mengarahkan kerja kepada kumpulan yang sesuai. Ini juga memastikan penyelenggaraan standard. Sebagai contoh, Chrome mungkin perlu membuat beberapa perubahan kecil untuk dijalankan pada distro tertentu, tetapi pada terasnya ia adalah Chrome dan tidak akan ada sebarang perubahan besar pada rupa atau gelagatnya.
Jika anda menemui pepijat dalam mana-mana program dalam pengedaran anda, laporkan sahaja kepada penyelenggara pengedaran, biasanya melalui laman web mereka. Anda akan menghantarnya ke hulu, tetapi tidak kira sama ada anda ingat bahawa anda menghantar laporan ke hulu.
Atas ialah kandungan terperinci Slang Linux menjelaskan: Apakah hulu dan hilir?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!