Lompat ke konten
dokumentasi.id
Commit a70b2bb
v1
Star924

Kamu membaca versi lama. Halaman ini hanya bisa dibaca.

5

Instalasi di Linux dan macOS

Di Linux dan macOS, pemasangan dijalankan dari Terminal. Ada dua jalur: memasang CLI bebasid ke /usr/local/bin/bebasid, atau langsung menimpa /etc/hosts dengan berkas hosts dari repository. README memakai wget untuk Linux dan curl untuk macOS, keduanya mengambil berkas yang sama dari direktori releases/. README.md:115-129 README.md:137-152

Dua jalur pemasangan

LangkahLinuxmacOS
Unduh CLIsudo wget https://raw.githubusercontent.com/bebasid/bebasid/master/releases/bebasid.sh -O /usr/local/bin/bebasidsudo curl https://raw.githubusercontent.com/bebasid/bebasid/master/releases/bebasid.sh -o /usr/local/bin/bebasid
Beri izin eksekusisudo chmod +x /usr/local/bin/bebasidsudo chmod +x /usr/local/bin/bebasid
Lihat bantuanbebasid --helpbebasid --help
Hanya hostssudo wget https://raw.githubusercontent.com/bebasid/bebasid/master/releases/hosts -O /etc/hostssudo curl https://raw.githubusercontent.com/bebasid/bebasid/master/releases/hosts -o /etc/hosts

Perbedaan keduanya hanya pada utilitas unduh dan huruf opsi: wget memakai -O huruf besar, curl memakai -o huruf kecil. README.md:115-129 README.md:137-152

dev/readme/USAGE.md menuliskan urutan yang sama dalam tiga langkah berkomentar: # Install:, # Kemudian berikan perizinan ke folder bash:, dan # Bantuan:. Bagian Linux memakai wget, bagian BSD / macOS memakai curl, dan masing-masing menyertakan alternatif "jika hanya ingin memasang file hosts". dev/readme/USAGE.md:53-71 dev/readme/USAGE.md:73-91

⚠️ Jalur "Hanya hosts" menimpa /etc/hosts apa adanya. Cadangan /etc/hosts.bak-bebasid hanya dibuat oleh bebasid hosts install, jadi penimpaan manual tidak menyisakan berkas yang bisa dipulihkan lewat bebasid hosts remove. releases/bebasid.sh:273-316

Penanda hosts terpasang

pasang_hosts_bebasid tidak membaca isi /etc/hosts. Fungsi itu hanya memeriksa [ -e /etc/hosts.bak-bebasid ]. Bila berkas itu ada, script mencetak "Komputer ini telah terpasang BEBASID, silahkan uninstall BEBASID terlebih dahulu" lalu exit 1. releases/bebasid.sh:273-316

stateDiagram-v2
    [*] --> BelumTerpasang
    BelumTerpasang --> Terpasang: "hosts install"
    Terpasang --> Terpasang: "hosts update"
    Terpasang --> BelumTerpasang: "hosts remove"
    Terpasang --> DitolakInstall: "hosts install ulang"
    BelumTerpasang --> DitolakUpdate: "hosts update"
    BelumTerpasang --> TanpaBackup: "hosts remove"
    TanpaBackup --> [*]: "kembalikan_hosts"
    DitolakInstall --> [*]: "exit 1"
    DitolakUpdate --> [*]: "errorin"
    style Terpasang fill:#2d7d46,color:#fff
    style BelumTerpasang fill:#336791,color:#fff
    style TanpaBackup fill:#f59e0b,color:#000
    style DitolakInstall fill:#dc2626,color:#fff
    style DitolakUpdate fill:#dc2626,color:#fff
%% fig: Transisi kondisi hosts di Linux dan macOS
%% desc: Penanda terpasang adalah keberadaan /etc/hosts.bak-bebasid, sehingga install, update, dan remove bercabang mengikuti ada atau tidaknya cadangan itu.
Fig. 1: Transisi kondisi hosts di Linux dan macOSPenanda terpasang adalah keberadaan /etc/hosts.bak-bebasid, sehingga install, update, dan remove bercabang mengikuti ada atau tidaknya cadangan itu.

Percabangan yang sama dipakai dua subperintah lain. perbarui_hosts_bebasid menghapus /etc/hosts lalu memanggil ambil_hosts_bebasid bila cadangan ada, dan memanggil errorin "hosts bebasid belum terpasang, silakan pasang hosts bebasid terlebih dahulu" bila tidak. releases/bebasid.sh:317-329

hapus_hosts_bebasid menghapus /etc/hosts dan /etc/hosts-own, memulihkan cadangan dengan sudo mv /etc/hosts.bak-bebasid /etc/hosts, lalu menjalankan memulai_ulang_network. releases/bebasid.sh:331-353

Bila cadangan tidak ada, fungsi itu meminta konfirmasi "Apakah anda yakin ingin menggunakan konfigurasi hosts bawaan Linux? (Y/N)" lalu memanggil kembalikan_hosts. releases/bebasid.sh:331-353 releases/bebasid.sh:603-617

⚠️ kembalikan_hosts menulis templat khas Linux, termasuk 127.0.1.1 $(hostname) dan ::1 ip6-localhost ip6-loopback, lalu mencetak "Berhasil memasang hosts bawaan Linux" — juga saat dijalankan di macOS. releases/bebasid.sh:603-617

Perpindahan berkas saat hosts dipasang

pasang_hosts_bebasid memindahkan hosts asli dengan sudo mv /etc/hosts /etc/hosts.bak-bebasid, menyalin isinya ke /etc/hosts-own di bawah penanda # Konfigurasi Asli dan # Konfigurasi Tambahan Pribadi, lalu memanggil ambil_hosts_bebasid. releases/bebasid.sh:273-316

ambil_hosts_bebasid menetapkan dir=/etc/hosts lalu mengunduh releases/hosts ke sana. Bila unduhan berhasil, isi /etc/hosts-own ditempel dengan cat /etc/hosts-own >> /etc/hosts dan memulai_ulang_network dijalankan. Bila gagal, cadangan dikembalikan dengan sudo mv /etc/hosts.bak-bebasid /etc/hosts. releases/bebasid.sh:253-272

graph LR
  asli["/etc/hosts asli"] -->|"sudo mv"| bak["/etc/hosts.bak-bebasid"]
  bak -->|"cat"| own["/etc/hosts-own"]
  unduh["releases/hosts"] -->|"curl_wget"| baru["/etc/hosts BebasID"]
  own -->|"cat >>"| baru
  baru -->|"memulai_ulang_network"| net["Network Manager / mDNSResponder"]
  style asli fill:#336791,color:#fff
  style bak fill:#336791,color:#fff
  style own fill:#8b5cf6,color:#fff
  style baru fill:#8b5cf6,color:#fff
  style unduh fill:#f59e0b,color:#000
  style net fill:#2d7d46,color:#fff
%% fig: Perpindahan berkas saat hosts dipasang
%% desc: Hosts asli menjadi cadangan, isinya disalin ke /etc/hosts-own, lalu hosts unduhan ditambahi isi hosts-own sebelum network dimulai ulang.
Fig. 2: Perpindahan berkas saat hosts dipasangHosts asli menjadi cadangan, isinya disalin ke /etc/hosts-own, lalu hosts unduhan ditambahi isi hosts-own sebelum network dimulai ulang.
PathDitulis olehIsi
/usr/local/bin/bebasidperintah pasang di READMEscript CLI bebasid.sh
/etc/hosts.bak-bebasidpasang_hosts_bebasidhosts asli sebelum ditimpa, sekaligus penanda terpasang
/etc/hosts-ownpasang_hosts_bebasid, lalu localhost_hostshosts asli plus bagian # Konfigurasi Tambahan Pribadi
/etc/hostsambil_hosts_bebasidhosts BebasID ditambah salinan /etc/hosts-own

README.md:115-129 releases/bebasid.sh:273-316 releases/bebasid.sh:253-272 releases/bebasid.sh:700-718

Deteksi platform dan restart network

memulai_ulang_network memakai getUname=$(uname -s) dan bercabang pada pola Linux* dan Darwin*. Di Linux, fungsi itu menebak distribusi dari berkas penanda, lalu menjalankan perintah restart yang sesuai. releases/bebasid.sh:165-214

DeteksiBerkas penandaPerintah restart
debian/etc/debian_version, lalu source /etc/os-releasesudo /etc/init.d/network-manager restart
ubuntu$ID dari /etc/os-releasesudo service network-manager restart
centos/etc/centos-releasesudo systemctl restart NetworkManager.service
fedora/etc/fedora-releasesudo systemctl restart NetworkManager.service
rockylinux/etc/rockylinux-releasesudo systemctl restart NetworkManager.service
arch/etc/arch-releasesudo systemctl restart NetworkManager.service
Darwin*hasil uname -ssudo killall -HUP mDNSResponder

releases/bebasid.sh:165-214

Bila tidak ada berkas penanda yang dikenali, fungsi mencetak "Tidak dapat memulai ulang Network Manager" dan menyarankan restart manual. releases/bebasid.sh:165-214

Fungsi about mendaftar platform yang diuji: Debian, Ubuntu, Linux Mint, CentOS, Fedora, Arch Linux, Manjaro, dan MacOS Catalina. releases/bebasid.sh:60-69

Prasyarat

curl_wget memilih curl bila tersedia, lalu wget; bila keduanya tidak ada, script berhenti dengan "Harap install cURL atau wget". releases/bebasid.sh:131-140

Sebelum memasang hosts, cek_koneksi_dengan_internet melakukan ping -c 1 8.8.8.8; bila gagal, script berhenti dengan "Silahkan cek koneksi komputer dengan internet terlebih dahulu". releases/bebasid.sh:151-164

Menambahkan entri localhost

dev/scripts/localhost.sh menawarkan empat pilihan: 1) MacOS localhost, 2) Linux localhost, 3) Android localhost, dan 4) Keluar. Script mencari baris yang memuat OPTIONAL] di /etc/hosts, mengambil nomor barisnya, lalu menyisipkan blok baru dengan sudo sed -i "${linenumber}a\...". Aturan macOS menyisipkan 127.0.0.1 localhost, 255.255.255.255 broadcasthost, ::1 localhost, dan fe80::1%lo0 localhost; aturan Linux menyisipkan 127.0.0.1 localhost $HOSTNAME beserta baris IPv6. dev/scripts/localhost.sh:5-22

⚠️ linenumber berasal dari grep -n "OPTIONAL]" /etc/hosts. Kalau penanda itu tidak ada di hosts BebasID yang sedang terpasang, variabelnya kosong dan sed dijalankan tanpa nomor baris. dev/scripts/localhost.sh:5-22

Untuk CLI, bebasid localhost [website] [ip] menambah entri ke /etc/hosts dan /etc/hosts-own, serta menyalinnya ke /etc/hosts.bak-bebasid supaya entri bertahan setelah bebasid hosts remove. releases/bebasid.sh:700-718

Setelah pemasangan

Subperintah hosts, app, tunnel, block, unblock, dan localhost diurai oleh blok case $1 in di akhir script. Nama yang tidak dikenal dijawab "Perintah tidak dikenali, ketik bebasid --help untuk bantuan". releases/bebasid.sh:976-990

Rincian tiap perintah ada di Referensi Perintah CLI bebasid. Mekanisme hosts sendiri dibahas di Cara Kerja Hosts File. Untuk Windows lihat Instalasi di Windows, dan untuk perangkat Android lihat Instalasi di Android dan Modul Magisk.