Merhaba sevgili yazılımperver dostlarım, yeni bir C++ yazısı ile sizlerle buluşmadan önce, bir eğitim sırasında gördüğüm bir aracı sizler ile paylaşacağım. Aracın adı “Chocolatey”, öncelikle ismi çok güzel, onu söylemem lazım 😁 Peki, ne işe yarar bu çikulatalı araç?
Çok kısa bir ifade ile, Windows işletim sistemi için yazılım/paket kurulum ve yönetim otomasyonu sağlayan bir araç olduğunu söyleyebiliriz. Aslında, kendilerinin de ifade ettiği gibi, Linux işletim sistemlerinde kullanılan, RPM paket yöneticisinin windows için olanı olarak nitelendirebiliriz.
Aslına bakarsanız, komut satırı ya da shell üzerinden linux için yazılım indirmek, güncellemeleri takip etmek kurmak, Ubuntu’da apt gibi komutlar ile oldukça kolay, elbette grafiksel kullanıcı arayüzüne sahip uygulamalar da mevcut. Fakat, genelde komut satırı uygulamaları tercih edilmekteki, ne yalan söyleyeyim ben de ondan hoşlanıyorum.
Windows için ise uzun yıllardır, .exe ya da .msi uzantılı kurulum dosyaları kullanılmakta (kütüphane vs için vcpkg var ama onun kapsamı bu yazılımdan farklı). Gerçi son zamanlarda artık Microsoft Store kullanılmaya başlansa da, benim gibi çoğu insan oradansa google’a sarılabiliyor. Bu arada, bu aracı araştırırken, microsoft’un da benzeri bir araç sunduğunu gördüm ki adı Windows Package Manager (ismi çok da orjinal değil zannımca). İşin aslı onu hiç kullanmadım ama ona da bakmakta fayda var. Kendisi de, komut satırı üzerinden uygulamaları kurmanıza yardımcı oluyormuş. Merak edenler için, kaynaklar kısmına bağlantı bırakıyorum.
Neyse, yazımızın aktörüne dönsek iyi olacak.
Çikulatalı yazılımımız, açık kaynaklı ya da bedava/deneme sürümlü (“freeware”, “shareware”) yazılımları bünyesinde barındırmakta (ben en azından intelliJ, virtualbox, jdk’yı bunun aracılığı ile kurdum).
Peki çükulata yemeye nasıl başlayacağız sevgili yazılımperver dediğinizi duyar gibi oluyorum. Şöyle efendim:
- Öncelikle PowerShell’i admin olarak açıyoruz (ben Windows Terminal üzerinden kullanmayı tercih ediyorum, orada ayarlar kısmında her açışta powershell’i admin hakları ile açmanıza olanak sağlayacak bir ayar mevcut:
Get-ExecutionPolicy
komutunu çağırıyoruz ve burada “Restricted” yazmadığını doğruluyoruz, “Unrestricted” yazıyor ise ala!- Eğer yazmıyor ise
Set-ExecutionPolicy AllSigned
ya daSet-ExecutionPolicy Bypass -Scope Process
komutlarından birini yazabilirsiniz
- Eğer yazmıyor ise
- Son olarak kurulum için aşağıdaki komutu yazıp kurulumun tamamlanmasını bekliyoruz:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
- Kontrol için
choco -?
komutunu çağırabilirsiniz,
Bundan sonra örneğin uygulama çikulatada var mı yok mu kontrol etmek için (örneğin vscode):
- “choco search vscode” yazabilirsiniz
burada bu isimle ilgili uygulama ve bütün paketleri görüp bunlardan biri seçip kurabilirsiniz.
Bu pakete ilişkin daha detaylı bilgi almak için ise “choco info vscode” yazabilirsiniz.
Kurulum için ise:
- “choco install vscode” yazabilirsiniz. Sonrasında aşağıdaki gibi çıktılar sizi karşılayacak, gelen soruya “y” diyerek kuruluma devam edebilir ya da direk “-y” ya da “–yes” ekleyerek kurulumu direk başlatabilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
choco install vscode Chocolatey v1.1.0 Installing the following packages: vscode By installing, you accept licenses for the packages. Progress: Downloading vscode.install 1.68.1... 100% Progress: Downloading DotNet4.5.2 4.5.2.20140902... 100% Progress: Downloading vscode 1.68.1... 100% DotNet4.5.2 v4.5.2.20140902 [Approved] dotnet4.5.2 package files install completed. Performing other installation steps. The package DotNet4.5.2 wants to run 'ChocolateyInstall.ps1'. Note: If you don't run this script, the installation will fail. Note: To confirm automatically next time, use '-y' or consider: choco feature enable -n allowGlobalConfirmation Do you want to run the script?([Y]es/[A]ll - yes to all/[N]o/[P]rint): |
Ayrıca, https://community.chocolatey.org/packages sayfasından da uygulamalara bakabilirsiniz. Bu sayfada kurulum için gerekli komutlar da sizlere sunulmakta.
Birden fazla uygulamayı aynı anda kurabilirsiniz, tek yapmanız gereken “choco install …“, install sonrasına bunları sıralamak (tabi burada -y argümanını da ekleyerek, entera her uygulama için basmaktan kurtulabilirsiniz).
Kurulan uygulamları kaldırmak için “choco uninstall uygulamaIsmi” yazabilirsiniz.
Bilgi aldık, kurduk, kaldırdık, peki güncellemek için ne yapmalıyız? Tek bir uygulama için “choco upgrade vscode” yazabilir ya da “choco upgrade all” diyerek choco tarafından kurulan bütün uygulamaların güncel sürümleri var mı ve var ise kurulmalarını tetikletebilirsiniz. Örneğin benim için aşağıdaki gibi bir çıktı üretti:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
choco upgrade all Chocolatey v1.1.0 Upgrading the following packages: all By upgrading, you accept licenses for the packages. You have awscli v2.7.8 installed. Version 2.7.9 is available based on your source(s). Progress: Downloading awscli 2.7.9... 100% awscli v2.7.9 [Approved] awscli package files upgrade completed. Performing other installation steps. The package awscli wants to run 'chocolateyinstall.ps1'. Note: If you don't run this script, the installation will fail. Note: To confirm automatically next time, use '-y' or consider: choco feature enable -n allowGlobalConfirmation Do you want to run the script?([Y]es/[A]ll - yes to all/[N]o/[P]rint): y Downloading awscli 64 bit from 'https://awscli.amazonaws.com/AWSCLIV2-2.7.9.msi' Progress: 100% - Completed download of C:\Users\yazilimperver\AppData\Local\Temp\chocolatey\awscli\2.7.9\AWSCLIV2-2.7.9.msi (29.25 MB). Download of AWSCLIV2-2.7.9.msi (29.25 MB) completed. Hashes match. Installing awscli... awscli has been installed. awscli may be able to be automatically uninstalled. The upgrade of awscli was successful. Software installed as 'MSI', install location is likely default. chocolatey v1.1.0 is the latest version available based on your source(s). chocolatey-compatibility.extension v1.0.0 is the latest version available based on your source(s). chocolatey-core.extension v1.4.0 is the latest version available based on your source(s). DotNet4.5.2 v4.5.2.20140902 is the latest version available based on your source(s). intellijidea-community v2022.1.2 is the latest version available based on your source(s). jdk8 v8.0.211 is the latest version available based on your source(s). maven v3.8.6 is the latest version available based on your source(s). vagrant v2.2.19 is the latest version available based on your source(s). vscode v1.68.1 is the latest version available based on your source(s). vscode.install v1.68.1 is the latest version available based on your source(s). |
Sonuç olarak chocalety bize ne sağlıyor?
- Windows işletim sisteminde komut satırından, uygulamaları kurmanızı, güncellemenizi ve kaldırmanıza olanak sağlıyor,
- Tek bir komutla birden fazla yazılımı kurup, kaldırabiliyorsunuz,
- Kaynağın güvenli mi değil mi kontrollerinden bir nebze sizi kurtarıyor,
- Yazılım güncelleme için farklı yaklaşımlardan sizi kurtarıp, tek bir komut ile güncellemenize olanak sağlıyor der ve bir sonraki yazıma kadar sizlere bol kodlu ve eğlenceli günler dilerim 🙋♂️