Koti→Yazılım & İşletim Sistemleri
Yazılım & İşletim Sistemleri

Tek bir YAML dosyasından Windows PC’mi yeniden kurdum ve artık kurulum sihirbazlarına tıklamaya devam etmeyeceğim.

Yeni bir Windows PC edinmek veya temiz bir Windows kurulumu yapmak için en kötü kısım ne biliyor musunuz? İlk açılışı yaptığınızda, PC tamamen boştur ve...

User Avatar
Ahmet AvcıEditör
5 min lukuaika
🌐
Alkuperäinen kieli näytetään

Tätä artikkelia ei ole vielä käännetty suomeksi. Katsot alkuperäistä versiota.

Yeni bir Windows PC edinmek veya temiz bir Windows kurulumu yapmak için en kötü kısım ne biliyor musunuz? İlk açılışı yaptığınızda, PC tamamen boştur ve onu kendi bilgisayarınız haline getirmek birçok saat sürer. Tüketici teknoloji gazeteciliğine ilgi duyan ve sürekli yeni donanımı test eden biri olarak, bu durumla defalarca karşılaştım.

Her Windows yeniden kurulumundan sonra aynı tarayıcıları, yardımcı programları, başlatıcıları ve geliştirici araçlarını kurmam gerekiyor. Bunlar yıllar önce verdiğim kararlardır ve her seferinde sadece tekrarlıyorum. Bu yüzden daha kolay bir yol bulmaya karar verdim ve tüm kurulumumu tarif edebilecek bir winget yapılandırma dosyası oluşturdum.

SayarBilgi sitesini Google’da tercih edilen kaynak olarak seç

Dışa aktarım işin sadece yarısıydı

Dışa aktarım 150 uygulama buldu ve tarayıcım onlardan biri değildi

winget export finishing with a long list of packages not available from any source

winget’i yıllardır kullanıyorum. Tanımıyorsanız, winget Microsoft‘un resmi komut satırı paket yöneticisi. Linux’taki apt veya apt-get’e benzer. winget komutlarıyla uygulama paketlerini arayabilir, kurabilir, kaldırabilir ve güncelleyebilirsiniz.

Sayıca çok yerleşik komut ve seçenek var ama bu deney için en çok işime yarayanı export (dışa aktarım) komutuydu. Tüm yüklü paketlerin listesini dışa aktarmama olanak tanıyor. Bu yüzden önce export komutunu çalıştırıp sürümleriyle birlikte paketleri bir JSON dosyasına aktardım.

re>winget export -o apps.json --include-versions

Dışa aktarım, winget kaynağından 150’den fazla paketi ve Microsoft Store’un birkaçını yakaladı. Ama bunlar sahip olduğum tüm uygulamalar değildi; ya bu iki kaynaktan biri aracılığıyla mevcut olmayan—örneğin manuel olarak kurduğum yazılımları (Brave, Discord, Postman ve Android Studio vb.)—dışa aktaramazdı.

Dışa aktarım, PC’mi yeniden kuran nihali dosya değildi. Dışa aktarım JSON biçimindeyken, configure (yapılandırma) komutu bir YAML dosyası gerektiriyor, bu yüzden önce dönüştürülmesi gerekiyordu. Eksik paketleri eklemek ve hem sistem hem de kullanıcı kurulumum olduğu için çift kez dışa aktarılan paketleri kaldırmak için dosyayı manuel olarak düzenlemem gerekti.

winget’te dikkat çeken bir komut daha var: configure (yapılandırma) komutu. Bir YAML dosyasını okur ve tümünü tek seferde uygular; uygulamalar ve Windows ayarları dahil. Windows ayarlarını da içe aktarabilir ama export komutu bu ayarları yakalamaz. Bu yüzden üçünü kendim ekledim — Geliştirici Modu, dosya uzantıları ve gizli dosyalar ve koyu mod. VS Code eklentilerimi de dışa aktarabilirdim ama son zamanlar VS Code’dan çok daha sık Antigravye’ye geçiyorum, bu yüzden onu atladım.

Sonunda, 100’den fazla uygulama ve ayar içeren o tek dosyayı ikiye böldüm. İlk dosya temel uygulamaları—geliştirici araçları, günlük yazılımlar ve homelab erişim araçları—kapsarken, ikinci dosya donanım/vendor (satıcı) araçlarını, oyun başatıcılarını ve uçuş simülasyonu araçlarını içeriyordu.

Sıradaki adım, bunun tamamıyla kuramsal olup olmadığını yoksa gerçekten PC’mi yeniden kurabilecek mi olduğunu test etmekti.

Temiz bir Windows kurulumunda Enter’a bastım

Bir adımın ardından her uygulama kendiliğinden kuruldu—ama bu adımdan beklemiyordum

Yapılandırmanın etkin olmadığı bildirilen winget, sonra açık hale getirildikten sonra sorunsuz bir şekilde doğrulandı
Yapılandırmanın etkin olmadığı bildirilen winget, sonra açık hale getirildikten sonra sorunsuz bir şekilde doğrulandı

Dosyayı dışa aktarmak ve onu düzenlemek nihai adım değildi. Dosyayı gerçekten saklayıp ona güvenebilmem için kendim test etmek zorundaydım. Ne yazık ki yedek bir Windows dizüstü bilgisayarı yoktu, bu yüzden dosyayı sınırlı sayıda paketle test etmek için bir VM kullandım.

Son Windows 11 26H2 ISO dosyasını indirdim, VMware’i ayağa kaldırdım ve birkaç dakika içinde temiz bir Windows kurulumuna önyükleme yaptım. Bir şey yapmadan önce bekleyen tüm güncellemeleri temizledim ve tamamladıktan sonra winget’in kurulu olup olmadığını kontrol ettim. Taze makine winget v1.11.510 ile hazırdı.

YAML dosyasını VM’e taşıdım ve winget configure validate kullanarak bir doğrulama denemesi yapmaya çalıştım. Ama ilk seferinde winget configur manuel olarak etkinleştirmem gerektiği için başarısız oldu. Onu winget configure --enable kullanarak etkitledikten sonra ve doğrulamayı tekrar çalıştırdıktan sonra hiçbir sorun döndürmedi. Yani, işe hazır olduğumu gösterdi.

VM deneme dosyasının üç Windows ayarı ve 150’den fazla uygulamanın yerine yalnızca 14 uygulama içerdiğini unutmayın. winget configure komutunu çalıştırdım ve süreyi ölçtüm. Uygulamaları başarıyla kurdu ama dahil ettiğim üç Windows ayarından yalnızca ikisini uyguladı. PowerShell yönetici olarak çalışmadığı için ve Measure-Command bu hatayı ilk seferinde gizlediği için.

re>Measure-Command { winget configure -f workstation-vm-test.dsc.yaml --accept-configuration-agreements }

Bu ayarlar ve 14 uygulama için deneme 14 min lukuaika26,8 saniye sürdü ama daha az olabilirdi; çünkü birkaç UAC istemini kaçırdım ve beklemeye bıraktım. Bu yüzden denemeyi yeni bir VM’de tekrar çalıştırdım; 12 min lukuaikadan kısa sürede tamamladı. Bu, yapılandırma dosyasının o 14 uygulama için çalıştığının ve ileride kullanılabileceğinin kanıtıydı. Ama geri getiremediği birkaç şey vardı.

Dosyanın asla vaat etmediği her şey

Uulamalar geri geldi ama hiçbirisi beni hatırlamadı

Kurlu olmak ile yapılandırılmış arasında bir fark var. winget yapılandırma dosyası uygulamaları başarıyla kurabildi ama ben uygulamaları açtığımda hepsi tamamen yendiydi. Tarayıcılar profiller, geçmiş ve şifreler olmadan; yardımcı program uygulamarı çıkış yapmış olarak. VS Code’un hiçbir eklentisi yoktu; aslında bu benim hatamdı. Onları dışa aktarıma dahil etmedim.

Tespit ettiğim başka bir şey de vardı. Dosya her uygulama için sürümler içeriyordu ama bunlar sabitlenmemişti; makine PC’mden daha yeni sürümler aldı. Örneğin, Node 22.23.2’ye karşı 22.14, Python 3.13.15’e karşı 3.13.3 ve Git 2.55.0’a karşı 2.53.0. Bununla ilgili herhangi bir sorunum yoktu ama ama uygulamanın belirli bir sürümünde kalmayı düşünüyorsanız bunu kendiniz halletmeniz gerekir.

MS Office ve Adobe Suite gibi lisanslı uygulamalar omuzlarımdaki başka bir sorumluluktu. Her biri ayrı kimlik doğrulaması gerektirdiği için bunlar benim üzerimde kaldı. Ve açık nedenlerle SSH anahtarları ve git kimlik bilgileri gibi hassas birkaç şeyi özellikle hariç tuttum. Ayrıca görev çubuğu ve Başlat düzenini, varsayılan uygulamaları ve ekran ölçeklendirmesini test etmedim, bu yüzden onun hakkında bir yorum yapamam.

Ama benim için bu fedakarlıklarla yaşayabilirim. Eğer dosyayı çalıştırmadan önce winget yapılandırmasının etkinleştirilmesini göz ardı edersem, tüm uygulamaları kurup Windows ayarlarını uygulamama yardımcı olan yalnızca bir komut oluyor.

Bir temel, yedek değil

Bu küçük deney bana tek bir winget yapılandırma dosyasının eski uygulamaların çoğunun kurulması gibi tekrarlanabilir ve sıkıcı görevi azaltabileceğini gösterdi. Dosya bana PC’min tam bir kopyası değil, bir başlangıç noktası verdi. Ama zaten tam kopayı istemiyordum; çünkü giriş bilgileri ve lisansları bir YAML dosyasında saklamak güvenli değil ve sürücüler aygıta özgüdür, bu yüzden onların da taşınması hiçbir fayda sağlamaz. Son olarak, belgelenmiş ve tekrarlanabilir bir temel, sıfırdan başlamak ve anınıza güvenmekten çok daha iyidir.

İlginizi Çekebilir: Eski bilgisayarıma neredeyse veda edecektim; işte bu 5 hafif Docker konteyneri ona yeniden hayat verdi →
Lähde: XDA Developers ↗
💬 SayarBilgi Topluluğu

Keskustele tästä yhteisössä

Haber hakkındaki düşüncelerinizi, donanım deneyimlerinizi ve teknik sorularınızı topluluk üyeleriyle anlık olarak tartışın.

Yhteisön live-syöte →
Kysy / keskustele foorumilla
YHTEISÖN ÄÄNI

Sinun vuorosi.

1 kommentti

Jaa kokemuksesi, kysymyksesi ja näkemyksesi. Sähköpostiosoitettasi ei julkaista.

Liity keskusteluun

Sähköposti adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Kommenttisi saattaa vaatia hyväksynnän ennen julkaisua.

SEURAAVA LUKU

Merak etmeye devam

Katso kaikki ↗

Mistä olet utelias?

Type at least 3 characters.

Explore

🌍 VALITSE KIELI 25 Kieltä
🔍