Homebrew 6.0 Baru Saja Mengubah Cara Mac Anda Menginstal Perangkat Lunak
BBetter Stack
Computing/SoftwareInternet Technology
Transcript
00:00:00Beberapa bulan lalu di kanal ini, kami membuat video yang pada dasarnya menyebut Homebrew
00:00:05sebagai perkakas Zaman Batu yang kita gunakan hanya karena Nix jauh lebih unggul darinya. Jadi adil saja jika saya
00:00:12kembali ke sini untuk memberi tahu Anda hal ini. Perkakas Zaman Batu yang kita gunakan itu baru saja merilis versi mayor pertamanya
00:00:17setelah bertahun-tahun, yaitu Homebrew 6.0. Dan inilah kabar besarnya. Sorotan utamanya bukanlah tumpukan fitur baru,
00:00:23melainkan perombakan keamanan secara menyeluruh. Homebrew kini telah berbenah dan dewasa.
00:00:30Sekarang, izinkan saya menjelaskan apa yang sebenarnya berubah, karena ini jauh lebih menarik daripada sekadar kenaikan nomor
00:00:38versi. Hampir di sepanjang keberadaan Homebrew, saat Anda menambahkan tap pihak ketiga—yaitu repositori paket milik orang lain—
00:00:45Homebrew akan langsung menjalankan kode Ruby mereka begitu saja. Langsung mengeksekusi kode tersebut. Tap mana pun,
00:00:51kode sembarang apa pun, tanpa dipertanyakan sama sekali. Coba renungkan dunia tempat kita berada saat ini.
00:00:56Manajer paket adalah target utama serangan rantai pasokan (supply chain) saat ini. NPM, dan semuanya
00:01:01diserang secara terus-menerus. Sekadar menjalankan kode apa pun yang diberikan repositori adalah setelan bawaan yang buruk. Dan fitur baru
00:01:08Homebrew 6.0 hadir untuk menghentikan itu. Fitur ini disebut Tap Trust. Jika Anda menyukai kiat dan trik pemrograman seperti ini,
00:01:15pastikan untuk berlangganan. Kami selalu merilis video setiap saat. Namun, mari kita mulai dari bagian yang benar-benar
00:01:19akan Anda rasakan setiap hari. Perintah “brew version”. Nah, itu dia, 6.0. Sekarang, perhatikan apa yang terjadi saat saya menginstal
00:01:25sesuatu yang menarik beberapa dependensi. Alih-alih berjalan secara diam-diam, Brew kini memaparkan
00:01:31ringkasan dari semua hal yang akan diinstalnya dan menunggu saya memberikan konfirmasi “ya”. Itulah mode Ask baru,
00:01:38dan mode ini aktif secara bawaan untuk pengembang sekarang. Perubahan kecil, tetapi ini berarti Anda selalu melihat rencananya sebelum Brew
00:01:44melakukan apa pun pada sistem kita. Sekarang masuk ke perubahan besar: Tap Trust. Perhatikan saat saya menambahkan tap pihak ketiga.
00:01:50Homebrew langsung menghentikan saya. Homebrew memberi tahu bahwa tap ini belum dipercayai, dan tidak akan menjalankan sebaris kode pun
00:01:56sampai saya secara eksplisit menyetujuinya. Saya harus mempercayainya secara sengaja dengan perintah “brew trust”, dan barulah setelah itu kodenya
00:02:03dieksekusi. Tap resmi Homebrew sudah dipercayai secara langsung sejak awal. Jadi alur penggunaan Brew harian Anda
00:02:09tetap sama persis. Namun, tap meragukan dari orang tak dikenal di GitHub yang Anda temukan di file readme,
00:02:16sekarang seperti pintu yang terkunci. Anda harus menyetujuinya secara manual. Dan sejujurnya,
00:02:20itu adalah keputusan yang sangat bagus untuk kondisi saat ini. Dan ini bukanlah satu-satunya peningkatan utama di sini.
00:02:25Sistem metadata internal kini menjadi standar bawaan, yang berarti semua informasi paket Anda diunduh dalam satu
00:02:30proses unduhan yang bersih, bukan melalui puluhan permintaan jaringan kecil. Jadi perintah “brew update” kini jauh lebih cepat. Ada juga
00:02:37perintah yang benar-benar baru, yaitu “brew execute”, yang pada dasarnya beroperasi seperti npx untuk Homebrew. Menjalankan suatu perkakas sekali tanpa
00:02:45perlu menginstalnya secara permanen di sistem Anda. Ada juga “brew vulns”, yang memindai paket-paket yang sudah terinstal
00:02:51terhadap masalah keamanan dan peringatan risiko yang diketahui. Dan versi 6.0 ini diam-diam menambal tiga celah keamanan, termasuk celah yang dapat menjalankan
00:02:58kode sebagai root melalui paket penginstal Mac. Ini adalah rilis dengan pendirian yang kuat. Baiklah. Sekarang inilah
00:03:04kendala dari semua ini. Dan bagi sebagian dari Anda, ini bisa menjadi masalah besar. Jadi saya akan langsung menyampaikannya kepada Anda.
00:03:09Tap Trust adalah perubahan yang memicu kompatibilitas (breaking change). Jika Anda memiliki alur kerja CI yang mengandalkan tap pihak ketiga,
00:03:14perintah “brew doctor” sekarang akan menampilkan galat begitu mendeteksi tap yang belum dipercayai. Dan ada begitu banyak GitHub
00:03:20Actions standar yang menjalankan “brew doctor” sebagai langkah paling awal mereka. Akibatnya, saat orang melakukan pembaruan, proses build mereka langsung gagal.
00:03:28Solusinya adalah menandai tap tersebut sebagai terpercaya di konfigurasi Anda, tetapi Anda harus melakukannya sendiri secara manual.
00:03:35Tidak akan ada yang melakukannya untuk Anda. Begitu pula dengan mode Ask. Jika Anda memiliki skrip yang berasumsi
00:03:41Brew akan menginstal tanpa meminta konfirmasi, permintaan baru tersebut dapat membuat skrip Anda menggantung selamanya. Mengenai gambaran keseluruhannya,
00:03:46jika Anda hanya pengguna biasa yang menginstal aplikasi sehari-hari, perubahan ini hampir tidak terlihat bedanya.
00:03:51Ini adalah rilis keamanan dan arsitektur, bukan sekadar pembaruan tampilan luar. Satu mitos cepat di sini juga.
00:03:58Banyak hal yang sedang ditulis ulang dalam Rust. Tidak, Homebrew tidak ditulis ulang dalam Rust,
00:04:04setidaknya tidak untuk saat ini. Itu hanyalah sebuah eksperimen. Fokusnya kini kembali sepenuhnya pada basis kode Ruby seperti
00:04:10sebelumnya. Jadi, apakah Anda harus memperbarui ke Homebrew 6.0? Bagi hampir semua orang, jawabannya adalah ya.
00:04:16Anda mendapatkan tiga perbaikan keamanan dan sejujurnya, perintah “brew update” akan mengalihkan Anda ke versi 6.0,
00:04:22baik Anda merencanakannya ataupun tidak. Pengguna yang mungkin perlu sedikit menahan diri di sini adalah
00:04:27siapa saja yang menjalankan alur kerja CI yang terhubung ke tap pihak ketiga atau otomatisasi yang mengharapkan instalasi tanpa konfirmasi. Tangani hal itu
00:04:33terlebih dahulu, dan Anda akan aman. Dan jika Anda masih menggunakan Mac berprosesor Intel, perhatikan hal ini. Versi 6.0 menjelaskan linimasa untuk
00:04:40menghentikan dukungan Intel dalam beberapa tahun ke depan. Untuk pengguna Apple Silicon, yaitu komputer-komputer baru,
00:04:46kita sepenuhnya aman. Versi ini bahkan menambahkan dukungan untuk chip M5 baru. Kesimpulan yang ingin saya sampaikan adalah seperti ini.
00:04:53Selama bertahun-tahun, Homebrew adalah sebuah kemudahan, sekadar cara tercepat untuk memasang perangkat lunak ke dalam
00:04:59Mac. Dengan versi 6.0, perkakas ini tampaknya telah berubah menjadi sebuah titik pemeriksaan (checkpoint), tempat di mana kode
00:05:05yang masuk ke perangkat akhirnya harus membuktikan bahwa kodenya terpercaya. Ini adalah langkah besar. Manajer paket ini
00:05:10telah mengejar model ancaman yang telah kita hadapi bersama selama bertahun-tahun. Itulah poin utamanya
00:05:15di sini. Bukan angka di dalam kotak versinya, 6.0 atau 6.1, melainkan apa yang dibawanya. Jika Anda menyukai kiat dan trik pemrograman
00:05:21seperti ini, pastikan untuk berlangganan kanal BetterStack. Sampai jumpa di video lainnya.