Windows PowerShell

Berita baik!

Windows 10 akan memiliki package manager (akhirnya!) bernama “OneGet” (open source). OneGet ini nantinya sepaket dengan Windows PowerShell (via MSDN Blogs):

OneGet is a unified interface to package management systems and aims to make Software Discovery, Installation and Inventory (SDII) work via a common set of cmdlets (and eventually a set of APIs). Regardless of the installation technology underneath, users can use these common cmdlets to install/uninstall packages, add/remove/query package repositories, and query a system for the software installed.

Package manager? OneGet?

Sederhananya, package manager itu memungkinkan kita untuk menginstall software, dan mengelola software. Lalu, Anda mungkin bilang “Kan bisa dengan klik Next, Next, Next, Finish seperti biasanya?”. Benar, tapi fungsi OneGet/PowerShell bukan untuk menggantikan kebiasaan ini. OneGet sebenarnya ditujukan untuk pengguna lanjutan, seperti administrator atau developer untuk memudahkan atau mempersingkat proses instalasi atau update software. Artinya, administrator dapat menulis sebuah script yang memanggil package manager pada waktu tertentu untuk menginstall sebuah atau beberapa software sekaligus, mengupdate beberapa software yang butuh diupdate, dan seterusnya.

Kalau Anda bukan admin/developer, atau bahkan tidak pernah sama sekali menggunakan PowerShell di Windows, jangan khawatir, OneGet ini bukan untuk Anda dan tidak akan merusak siklus install Anda (Next, Next, Finish).

Lebih lanjut, salah satu fitur utama dari sebuah package manager adalah kemampuannya untuk menangani dependency/dependensi. Dependensi dalam istilah komputer adalah software/package yang bergantung pada software/package lain. Artinya, kalau Anda mencoba untuk menginstall aplikasi Matlab, misalnya, dan gagal karena Matlab tersebut butuh Java, maka Anda perlu mencari Java terlebih dahulu, mendownloadnya, kemudian menginstallnya, dan melanjutkan kembali proses menginstall Matlab yang tertunda. Java di sini disebut sebagai dependensi dari Matlab.

Dengan menggunakan package manager, Anda bisa menyederhanakan proses yang panjang ini. Sebuah package manager bisa melacak dependensi dari software/package. Sehingga ketika Anda menginstall sebuah software melalui package manager, software yang menjadi dependensi akan terinstall untuk Anda secara otomatis. Dan tidak sampai di situ, package manager bisa mengupdate software/pakckage atau beberapa software/package yang sudah terinstall ini secara otomatis, tidak perlu lagi menjalankan updater untuk tiap-tiap software.

Bagi yang sudah pernah menggunakan distro Linux sebelumnya, pasti sudah tahu apa itu package manager karena rata-rata setiap distro punya package manager tersendiri.

Dan seperti yang bisa Anda lihat pada gambar di atas, OneGet ini memang mengingatkan dengan GNU/Linux. Yeah.. Linux-style.

Kecuali… OneGet tidaklah benar-benar “Linux-style”. Benar, OneGet punya fitur install/hapus aplikasi dan repositori software, tapi OneGet belum bisa membersihkan 100% semua file-file yang terinstall ketika proses uninstall dijalankan. OneGet belum bisa menangani dependensi dengan sempurna. Tapi sebenarnya di Windows kita jarang menemukan masalah dependency-hell seperti di GNU/Linux karena program-program Windows biasanya sudah memaketkan package/library yang menjadi dependensinya di direktori lokal (kecuali pada beberapa kasus, di mana program tersebut membutuhkan .NET framework)

Jadi…

Package manager? Yes,
“Linux-style”? Nope.

Tapi, kita belum tahu bagaimana nasib OneGet ini ke depannya. Bisa jadi OneGet akan selengkap dan se-powerful package manager yang kita gunakan setiap hari di Linux. Semuanya tergantung Microsoft.

Sumber dan gambar:
[How-to Geek]