Bagaimana OS Linux bisa "berdasarkan" OS Linux lain?

38

Saya telah melihat melalui beberapa distro Linux baru-baru ini untuk mendapatkan gambaran tentang apa yang ada di sekitar, dan satu frase yang terus muncul adalah bahwa "[OS ini] didasarkan pada [OS lain]". Sebagai contoh:

  • Fedora didasarkan pada Red Hat
  • Ubuntu didasarkan pada Debian
  • Linux Mint didasarkan pada Ubuntu

Untuk seseorang yang berasal dari lingkungan Mac saya mengerti bagaimana "OS X didasarkan pada Darwin", namun ketika saya melihat Linux Distro, saya mendapati diri saya bertanya, "Apakah mereka semua berbasis Linux?"

Dalam konteks ini, apa sebenarnya arti dari satu OS Linux didasarkan pada OS Linux lain?

Sesuatu yg tdk kekal
sumber
17
dan Darwin didasarkan pada BSD. Anda bisa melempar OS NeXT inbetwixt keduanya ...: D
Keltari
12
"Red Hat didasarkan pada Fedora", yang itu cukup tidak akurat. Lebih mirip Fedora adalah uji beta untuk elemen yang nantinya digunakan di RedHat.
vartec
Pada dasarnya Anda mengambil komponen inti distribusi, mengubah apa yang Anda inginkan, (perangkat lunak, logo, nama, apa pun ...) dan sekarang Anda memiliki "rasa", atau distribusi berdasarkan "distro" lain
TheXed
2
Cara paling sederhana adalah Anda mengambil distribusi Linux yang Anda suka, dan mengubah satu baris, di suatu tempat, mungkin hanya /etc/motd, dan voila, Anda memiliki Distribusi Linux baru Anda sendiri. Bagaimana OS Linux TIDAK didasarkan pada yang sudah ada. Itu pertanyaan yang lebih sulit.
Warren P
4
Saya pikir jawaban Anda sudah dijawab. Namun, di sini adalah representasi grafis yang bagus dari sejarah semua distro Linux yang ada di sekitar: upload.wikimedia.org/wikipedia/commons/1/1b/...
Dohn Joe

Jawaban:

59

Linux adalah sebuah kernel , Debian adalah distribusi dari kernel itu dan sekelompok perangkat lunak untuk benar-benar berinteraksi dengan sistem.

Saya sekarang dapat mengambil Debian dan mengubah logo di layar boot ke logo saya sendiri dan kemudian distribusi saya didasarkan pada Debian (dengan cara yang sangat primitif). Biasanya, penyesuaian yang dibuat dalam distribusi turunan lebih besar.

Intinya adalah, jika Anda ingin mengubah sesuatu tentang distribusi, maka Anda dapat mengambil yang itu, memodifikasinya sesuai keinginan Anda dan kemudian menerbitkan distribusi Anda sendiri, berdasarkan yang ada (selama semua lisensi dihormati).

Der Hochstapler
sumber
10
Akurat, tapi mungkin terlalu sederhana?
Austin T French
... tentu saja dalam praktiknya distribusi yang diturunkan membuat beberapa perubahan penting yang terlihat oleh pengguna, biasanya di area tertentu. Misalnya Ubuntu berfokus pada pemolesan lingkungan desktop. Tetapi sebagian besar paket di Ubuntu hanya disalin dari Debian.
Jan Hudec
2
@AthomSfere: Maaf, saya ada di ponsel saya ketika saya menulis posting. Saya akan memperbaikinya sekarang, tetapi sepertinya jawaban yang lain mendapatkan semua rinciannya.
Der Hochstapler
8
@ OliverSalzburg Anda sedang menelepon? Anda sangat kecanduan :-D
Luc M
9
@AthomSfere KISS juga dapat diterapkan untuk jawaban!
jsedano
32

Linux adalah kernel - perangkat lunak (kompleks) yang bekerja dengan perangkat keras dan mengekspor Antarmuka Pemrograman Aplikasi (API) tertentu, dan konvensi biner tentang cara menggunakannya secara tepat (Application Binary Interface, ABI) yang tersedia untuk "pengguna- ruang "aplikasi.

Debian , RedHat, dan lainnya adalah sistem operasi - lingkungan perangkat lunak lengkap yang terdiri dari kernel dan serangkaian program ruang pengguna yang menjadikan komputer bermanfaat saat mereka melakukan tugas yang masuk akal (mengirim / menerima surat, memungkinkan Anda menjelajah Internet, mengendarai sebuah robot dll).

Sekarang masing-masing OS tersebut, sementara sebagian besar menyediakan perangkat lunak yang sama (tidak ada begitu banyak program server mail gratis atau browser Internet atau lingkungan desktop, misalnya) berbeda dalam pendekatan untuk melakukan ini dan juga dalam tujuan dan siklus rilis yang dinyatakan.

Biasanya OS ini disebut "distribusi". Ini adalah, IMO, istilah yang agak salah yang berasal dari fakta bahwa Anda secara teknis dapat membangun semua perangkat lunak yang diperlukan dengan tangan dan menginstalnya pada mesin target, sehingga OS ini mendistribusikan perangkat lunak yang dikemas sehingga Anda juga tidak perlu membangun itu (Debian, RedHat) atau mereka memfasilitasi bangunan seperti itu (Gentoo). Mereka juga biasanya menyediakan installer yang membantu untuk menginstal OS ke mesin target.

Membuat dan mendukung OS adalah tugas yang sangat rumit yang membutuhkan infrastruktur yang rumit dan rumit (mengunggah antrian, membangun server, melacak bug, dan mengarsipkan server, perangkat lunak milis, dll. Dll) dan staf. Ini jelas memunculkan penghalang tinggi untuk membuat OS baru dari awal. Misalnya, Debian menyediakan ca. Paket 37k untuk sekitar lima arsitektur perangkat keras - lihat berapa banyak pekerjaan yang dilakukan untuk mendukung hal ini.

Namun, jika seseorang berpikir mereka perlu membuat OS baru untuk alasan apa pun, mungkin ide yang baik untuk menggunakan fondasi yang ada untuk membangun. Dan di sinilah OS berbasis pada OS lain muncul. Sebagai contoh, Ubuntu dibangun berdasarkan Debian dengan hanya mengimpor sebagian besar paket dari itu dan mengemas ulang hanya sebagian kecil dari mereka, ditambah mengemas sendiri, menyediakan karya seni mereka sendiri, pengaturan default, dokumentasi dll.

Perhatikan bahwa ada variasi untuk hal "berdasarkan" ini. Sebagai contoh, Debian memupuk penciptaan "campuran murni" itu sendiri: distribusi yang menggunakan Debian secara langsung, dan hanya menambahkan banyak paket dan hal-hal lain yang hanya berguna untuk kelompok pengguna yang agak kecil seperti mereka yang bekerja dalam pendidikan atau kedokteran atau musik industri dll

Twist lain adalah bahwa tidak semua OS ini didasarkan pada Linux. Sebagai contoh, Debian juga menyediakan kernel FreeBSD dan Hurd. Mereka memiliki grup pengguna yang sangat kecil tapi tetap saja.

Kostix
sumber
8

Red Hat, Debian, dll. Adalah semua distribusi ("distro") Linux.

Ingatlah bahwa Linux secara teknis hanya kernel, yang merupakan bagian tunggal dari sistem yang berfungsi dan bermanfaat.

Anda akan memerlukan utilitas dasar, keputusan mengenai di mana benda-benda hidup dalam sistem, mekanisme untuk menginstal dan memperbarui perangkat lunak, dan konvensi / standar (seperti direktori tempat program berjalan) untuk mengikat ini bersama.

Sebagian besar versi GNU dari utilitas klasik sering dianggap dasar oleh banyak distro dan karenanya mengapa Debian, misalnya, menyebutnya GNU / Linux. Dengan hampir semua hal lain, ada banyak pilihan. Dan karena Linux, utilitas GNU, dan banyak hal yang berjalan di Linux adalah perangkat lunak bebas, siapa pun dapat membuat distribusi baru kapan saja mereka mau. Termasuk berasal dari distro yang ada jika distro itu belum memasukkan sesuatu yang memiliki hak cipta atau hak milik.

Gambar dan logo sering kali adalah sesuatu yang bermerek dagang / hak cipta dan biasanya tidak dapat langsung digunakan di distro turunan kecuali Anda mematuhi syarat dan ketentuan siapa pun yang memiliki itu. Perangkat lunak yang sama biasanya bisa jika GPL atau berlisensi seperti GPL.

Satu hal utama yang biasanya khusus untuk distro adalah manajer paket atau metode di mana perangkat lunak dipelihara, diuji, dan didistribusikan. Distribusi yang diturunkan biasanya kompatibel dengan manajer paket "upstream" mereka. Tidak ada yang menghentikan Anda dari instalasi program manual pada distro Linux apa pun.

Biasanya ini berarti bahwa Anda akan menginstal perangkat lunak dengan cara yang sama menggunakan manajer paket yang sama, dan lokasi file executable dan konfigurasi akan berada di tempat yang sama.

LawrenceC
sumber
7

Dengan Linux ada distro atau distro. Ratusan dari mereka.

Linux adalah Open source, sehingga siapa pun (atau grup atau perusahaan mana pun) dapat memodifikasi bagian apa pun dari OS yang mereka inginkan. Inilah sebabnya mengapa beberapa versi memiliki penginstal yang berbeda ( .debvs. RPM atau hanya tar) dan perintah yang berbeda ( apt-getvs. yum).

Sebagian besar distro memilih target penggunaan atau penggunaan spesifik dan semacam berkembang di sekitar itu.

Misalnya Redhat dan kerabatnya berorientasi server. Sebagian besar OS dirancang agar stabil atau cepat.

Debian dimaksudkan untuk lebih mudah digunakan, sehingga mendukung .debfile yang merupakan paket installer yang mudah.

Ubuntu mengambil basis Debian dan menambahkan kode dan paket untuk membuatnya menjadi distro Linux pertama yang bagus.

Mint kemudian pergi dan menanggalkan beberapa kode Ubuntu untuk membuat OS lebih cepat yang mirip dengan Ubuntu tetapi lebih juga lebih dari desktop tradisional ketika Ubuntu mengubah manajer desktop ke Unity.

Berikut adalah pohon keluarga GNU / Linux yang terperinci: http://upload.wikimedia.org/wikipedia/commons/9/9a/Gldt1009.svg

Austin T French
sumber
1
AFAIK, sudodigunakan di mana-mana. yumSetara dengan ini apt-getatauaptitude
Izkata
1
@Izkata Ya, maaf. Sudah lama dan kopinya lemah pagi ini;)
Austin T French
1
Anda membingungkan kernel (Linux) dengan sisa perangkat lunak yang dikumpulkan dalam distribusi.
Matteo Italia
2

Memperluas jawaban di atas. Linux hanyalah kernel, sebagian besar perintah tingkat sistem (gcc, grep, bison) pada awalnya ditulis oleh proyek GNU, sebagian besar aplikasi tingkat pengguna (XFCE, Apache, XMMS) ditulis oleh pihak ketiga.

Ketika suatu distribusi biasanya dibuat pada hari-hari awal, kernel dibundel dengan perintah-perintah tingkat sistem dan subset dari aplikasi pengguna dan komponen server. Ini masih benar hari ini, tetapi banyak dari distribusi baru tidak ingin mengulangi upaya membuat semuanya bermain bagus bersama sehingga mereka mengambil distribusi basis seperti Debian, CentOS, Slackware dan menambah atau mengurangi aplikasi pengguna seperti GNOME, KDE , LXDE, dll. Mereka juga dapat menulis menu kustom dan menyuntikkan logo dan latar belakang mereka sendiri ke dalam distribusi (SUSE, PCLinux, dll.). Mereka dapat melangkah lebih jauh dan membuat aplikasi khusus distribusi seperti manajer paket atau front-end kustom.

Jadi ketika Anda mengatakan misalnya Ubuntu didasarkan pada Debian Anda secara teknis benar tetapi hari ini akan lebih baik untuk mengatakan, terutama dalam kasus Ubuntu, bahwa itu berasal dari Debian karena perubahan ke Debian mungkin atau mungkin tidak menemukan jalan mereka ke Ubuntu.

Ini seharusnya membantu memvisualisasikan apa yang saya bicarakan sedikit, ini menunjukkan bagaimana beberapa distribusi yang mapan telah dipalsukan ke yang lain. Meskipun tidak 100% akurat itu memberikan ide.

http://photos1.blogger.com/blogger/3370/2500/1600/GNULinuxupdatedw4.0.jpg

Gambar ini 100% akurat untuk pengetahuan saya dan merupakan garis waktu dari semua distribusi linux dan menunjukkan dari mana mereka berasal. Saat ini hanya ada segelintir kecil, kurang dari enam, distribusi yang dapat melacak akarnya kembali ke awal. Menurut peta ini hanya ada 2, Redhat dan Debian, bahkan Slackware kesayanganku pun tidak asli.

http://www.techjini.com/blog/wp-content/uploads/2011/10/linuxdistrotimeline-7.2.png

Matty
sumber
1

Mac OS X didasarkan pada Darwin dalam arti bahwa ia berjalan di atas Darwin. Ini memiliki ketergantungan run-time pada Darwin, sehingga untuk berbicara.

Ubuntu didasarkan pada Debian dalam arti bahwa itu adalah karya turunan.

Jika Anda mengambil paket Debian dan membangun sistem, paket dan skrip Debian dan yang lainnya, dan membuat distribusi Anda sendiri yang mirip dengan Debian, maka Anda memiliki sesuatu berdasarkan Debian.

Pengguna sistem Anda akan menemukan banyak kesamaan dengan Debian (misalnya, bagaimana sistem menginstal, bagaimana paket diperbarui, atau bagaimana konfigurasi sistem dibentuk di bawah /etc).

Debian juga didasarkan pada Debian: rilis terbaru Debian didasarkan pada rilis Debian sebelumnya.

Kaz
sumber
0

Linux hanyalah bagian inti yang memberi Anda akses ke perangkat keras komputer. Layered atasnya yang biasanya GNU C Library, yang melapisi semua perintah dan perangkat lunak yang Anda gunakan (termasuk antarmuka pengguna grafis apa pun).

Apa yang terjadi di dunia di mana perangkat lunak tidak dikunci oleh beberapa perusahaan, kelompok yang berbeda mengumpulkan set perangkat lunak yang berbeda semua berdasarkan pada dua komponen utama: kernel Linux dan GNU C Library. Keduanya cukup banyak ditemukan di setiap sistem.

Bahasa sehari-hari, kami menyebut semua sistem operasi ini "Linux" atau "Linux-based" dan semuanya sangat mirip karena kesepakatan atas berbagai standar.

Sebagai tambahan, kernel Darwin OS X sebenarnya dikembangkan dari BSD (lebih tua dari Linux).

Angelo
sumber