ฉันสร้างการติดตั้ง Windows ของฉันใหม่โดยใช้ Winget และ dotfiles และรู้สึกเหมือนกับ Linux (ในทางที่ดี)

/th/images/windows-11-laptops-winget.jpg

การทำให้ระบบของคุณพังไม่ได้หมายความว่าจะต้องเสียเวลาในช่วงบ่ายในการติดตั้งแอปพลิเคชั่นใหม่และคืนค่าการตั้งค่าของคุณกลับเป็นตามที่คุณต้องการ ผู้ใช้ Linux รู้เรื่องนี้อยู่แล้ว และได้ดำเนินการตามกระบวนการทางวิทยาศาสตร์มาหลายปีแล้ว พวกเขาเรียกใช้สคริปต์ Bash ดื่มกาแฟ และกลับมาที่การติดตั้งใหม่ที่พร้อมใช้งาน

สูตรพิเศษที่เปิดใช้งานการตั้งค่าหลังการติดตั้งอย่างรวดเร็วบน Linux คือตัวจัดการแพ็คเกจและ dotfiles Windows ได้เลือกส่วนผสมที่จำเป็นอย่างเงียบๆ ในช่วงไม่กี่ปีที่ผ่านมา ซึ่งช่วยให้ผู้ใช้สามารถสคริปต์การปรับแต่งทั้งหมดที่พวกเขาต้องการในการติดตั้งใหม่

ฉันเขียนสคริปต์ที่ใช้ Winget เพื่อติดตั้งซอฟต์แวร์ส่วนใหญ่ที่ฉันใช้บนพีซีของฉัน และดึงไฟล์การกำหนดค่าออกจาก Git repo ส่วนตัวของฉัน ด้วยการกดแป้นพิมพ์เพียงไม่กี่ครั้ง Windows ที่ติดตั้งใหม่จึงมีเครื่องมือและการตั้งค่าทั้งหมดที่ฉันต้องการ เพื่อเป็นโบนัสเพิ่มเติม ฉันไม่ต้องใช้สมองในการพยายามจำโปรแกรมที่ฉันมีหรือการตั้งค่าทั้งหมดที่ฉันปรับแต่ง เนื่องจากข้อมูลทั้งหมดนั้นอยู่ใน repo ของฉัน

/th/images/windows-11-laptop-winget.jpg

ที่เกี่ยวข้อง

หยุดดาวน์โหลดซอฟต์แวร์จากเว็บไซต์: Windows มีตัวจัดการแพ็คเกจในตัว

ทำให้สิ่งต่าง ๆ ง่ายขึ้นสำหรับตัวคุณเอง

ให้ Winget จัดการติดตั้งแพ็คเกจ

มีความสามารถมากกว่าที่คุณคิด

ฉันกลัวในขั้นตอนเริ่มต้นของการตั้งค่าสคริปต์ของฉัน เพราะฉันคิดว่าฉันจะต้องสร้างรายการของทุกโปรแกรมที่ฉันต้องการให้ Winget ติดตั้งด้วยตนเอง แต่แล้วฉันก็ได้เรียนรู้เกี่ยวกับตัวเลือกการส่งออก คุณสามารถเปิด PowerShell และใช้คำสั่ง Winget ต่อไปนี้ในการติดตั้ง Windows ปัจจุบันของคุณเพื่อรับรายการทุกแอปพลิเคชันในระบบของคุณ:


winget export -o packages.json

หากคุณมีแอปของบุคคลที่สามจำนวนมาก บางสิ่งอาจพลาดไป (แอปที่ไม่ได้อยู่ในแค็ตตาล็อกของ Winget) ในระบบของฉัน ซอฟต์แวร์จดจำซอฟต์แวร์ส่วนใหญ่ที่ฉันติดตั้งได้ และจะช่วยฉันจากการดาวน์โหลดซอฟต์แวร์เหล่านั้นจากเว็บและคลิกผ่านข้อความแจ้งการติดตั้งตลอดทั้งวัน

หากต้องการติดตั้งโปรแกรมทั้งหมดที่อยู่ในไฟล์ JSON ที่คุณส่งออก ให้รันคำสั่ง Winget นี้ในการติดตั้งใหม่:


winget import -i packages.json --accept-package-agreements --accept-source-agreements

ตัวเลือกพิเศษที่ส่วนท้ายของคำสั่งจะข้ามข้อความแจ้งที่ปกติปรากฏขึ้นระหว่างการติดตั้ง หน้าต่าง UAC จะมีน้อยที่สุด ดังนั้น Winget จึงสามารถจัดการทุกอย่างได้ด้วยตัวเองเป็นส่วนใหญ่ การดาวน์โหลดและติดตั้งซอฟต์แวร์ที่มีรายการยาวยังคงต้องใช้เวลาพอสมควร แต่คุณสามารถดำเนินการอย่างอื่นได้ในขณะที่คุณรอ

แค็ตตาล็อกของ Winget มีขนาดใหญ่ขึ้นจนน่านับถือ แต่ก็ยังไม่กว้างเท่ากับ AUR หากมีสิ่งที่คุณใช้ซึ่งขาดหายไปจากพื้นที่เก็บข้อมูลอย่างเป็นทางการ คุณจะต้องหันไปใช้การติดตั้งด้วยตนเองหรือเจาะลึกลงไปอีกเล็กน้อยเกี่ยวกับสคริปต์และทำให้การดาวน์โหลดอัตโนมัติด้วยคำสั่ง Invoke-WebRequest

ใช้การตั้งค่าของคุณอีกครั้งด้วย dotfiles

สิ่งเหล่านี้สามารถบันทึกไว้ใน repo Git ของคุณ

/th/images/installing-dotfile-from-github-repository.jpg

Dotfiles เป็นไฟล์กำหนดค่าที่มีการตั้งค่าสำหรับแอปพลิเคชันต่างๆ บน Linux สิ่งเหล่านี้มักพบในโฮมไดเร็กตอรี่และมีไฟล์ต่างๆ เช่น.bashrc, .gitconfig เป็นต้น แอพ Windows บางตัวเท่านั้นที่ใช้ dotfiles ในการจัดเก็บการตั้งค่า บางครั้งมันถูกจัดเก็บไว้ในรีจิสทรีหรือที่อื่น ๆ แต่มีเครื่องมือหลายอย่างเกิดขึ้นตามระเบียบ Unix ในการจัดเก็บการตั้งค่าเป็นไฟล์กำหนดค่าข้อความธรรมดา

หลังจากติดตั้งซอฟต์แวร์ของคุณด้วย Winget แล้ว คุณสามารถกู้คืน dotfiles ได้จาก repo Git ส่วนตัว อย่างน้อยนั่นเป็นวิธีที่ฉันทำ หากคุณต้องการเพียงแค่สำรองข้อมูล dotfiles ของคุณไว้ในแฟลชไดรฟ์ มันก็ใช้ได้เช่นกัน Windows’dotfiles ไม่ได้อยู่ในตำแหน่งเดียวกัน แต่นี่คือบทสรุปโดยย่อของไฟล์ที่พบบ่อยที่สุดบางส่วนที่คุณอาจต้องการติดตาม:

  • โปรไฟล์ PowerShell — %USERPROFILE%\Documents\PowerShell\Microsoft.PowerShell\_profile.ps1
  • การกำหนดค่า Git — %USERPROFILE%\.gitconfig
  • การกำหนดค่า Git ทั่วโลก — %USERPROFILE%\.gitignore\_global
  • การกำหนดค่า SSH — %USERPROFILE%\.ssh\*
  • การตั้งค่ารหัส VS — %APPDATA%\Code\User\settings.json
  • การเชื่อมโยงคีย์ VS Code — %APPDATA%\Code\User\keybindings.json
  • การกำหนดค่า WSL — %USERPROFILE%\.wslconfig

คุณสามารถมองหาการตั้งค่าอื่นๆ ได้เช่นกัน เป้าหมายของฉันคือการรวมไฟล์การตั้งค่าทั้งหมดของฉันไว้ในที่เดียวซึ่งฉันสามารถส่งไฟล์เหล่านี้ไปยัง repo Git ของฉันได้ จากนั้น ฉันสร้างลิงก์สัญลักษณ์ไปยังไฟล์ในตำแหน่งที่ไฟล์เหล่านั้นอยู่ตามปกติ ตัวอย่างเช่น บรรทัดสคริปต์เหล่านี้สร้างลิงก์สัญลักษณ์ไปยังโปรไฟล์ PowerShell ของฉัน (ทำงานใน PowerShell ในฐานะผู้ดูแลระบบหลังจากกู้คืน dotfiles ของคุณจาก Git repo หรือการสำรองข้อมูล):


# Define where the dotfiles are stored$dotfiles = "$HOME\dotfiles"# Make a symbolic link to my PowerShell profileNew-Item -ItemType SymbolicLink -Path $PROFILE -Target "$dotfiles\profile.ps1" -Force

เขียนสคริปต์บูตสแตรปสำหรับการติดตั้ง Windows ของคุณ

สคริปต์เชื่อมโยงทุกอย่างเข้าด้วยกันอย่างไร

/th/images/windows-11-pc-running-dietpi-script-powershell.jpg

หลังจากติดตั้ง Windows แล้ว คุณสามารถเปิด PowerShell และเรียกใช้คำสั่งนำเข้า Winget ที่แสดงก่อนหน้านี้เพื่อติดตั้งแอปทั้งหมดของคุณ (รวมถึง Git) จากนั้น โคลน repo dotfiles ของคุณ และเรียกใช้สคริปต์ที่คุณกำหนดเองเพื่อใส่ลิงก์สัญลักษณ์ทั้งหมดให้เข้าที่ หลังจากนั้น การกำหนดค่าของคุณก็พร้อมใช้งาน และคุณก็พร้อมที่จะใช้งานแล้ว

สมัครรับจดหมายข่าวเพื่อรับเคล็ดลับการตั้งค่าอัตโนมัติที่ดียิ่งขึ้น

เข้าร่วมจดหมายข่าวเพื่อเข้าถึงคำแนะนำระบบอัตโนมัติที่ใช้งานได้จริง สคริปต์ที่ใช้ซ้ำได้ และเวิร์กโฟลว์การกำหนดค่า การสมัครใช้งานจะให้ความคุ้มครองแบบลงมือปฏิบัติจริงเกี่ยวกับการตั้งค่าอัตโนมัติ ดอทไฟล์ และเทคนิคการเขียนสคริปต์ที่คุณสามารถปรับให้เข้ากับระบบของคุณเองได้

รับการอัปเดต

การสมัครแสดงว่าคุณตกลงที่จะรับจดหมายข่าวและอีเมลทางการตลาด และยอมรับข้อกำหนดการใช้งานและนโยบายความเป็นส่วนตัวของเรา คุณสามารถยกเลิกการสมัครได้ตลอดเวลา

ข้อดีของแนวทางนี้คือสคริปต์ไม่จำเป็นต้องเปลี่ยนแปลง เมื่อคุณเขียนมันแล้ว ให้โยนมันลงใน repo ด้วย dotfiles ของคุณ และดึงมันลงพร้อมกับสิ่งอื่นๆ ในการติดตั้งใหม่ คุณยังสามารถใส่ไฟล์ packages.json ของ Winget ไว้ที่นั่นได้หากคุณต้องการเก็บทุกอย่างไว้ในที่เดียว

ทำสิ่งต่าง ๆ ด้วยวิธี Linux… บน Windows

แนวทางนี้ให้ความรู้สึกคล้ายกับ Linux มาก แต่ Windows ยังไม่ทั่วถึง Dotfiles กระจายอยู่ทั่ว (และบางส่วนไม่มีอยู่จริง) และ Winget ไม่มีทุกแอปที่ฉันใช้ แต่วิธีนี้ค่อนข้างใกล้เคียงและช่วยฉันประหยัดเวลาได้มาก มันเป็นโซลูชั่นที่หรูหรากว่าการติดตั้งแอปด้วยตนเองอย่างแน่นอน และพยายามสร้างการตั้งค่าทั้งหมดของฉันใหม่จากหน่วยความจำอย่างสิ้นหวัง

*️⃣ ลิงค์ที่มา:

ใช้ Winget เพื่อติดตั้งซอฟต์แวร์ส่วนใหญ่ หยุดดาวน์โหลดซอฟต์แวร์จากเว็บไซต์: Windows มีตัวจัดการแพ็คเกจในตัว ทุกโปรแกรมที่ฉันต้องการให้ Winget ติดตั้ง Dotfiles เป็นไฟล์กำหนดค่า เรียกใช้สคริปต์ที่คุณกำหนดเอง , , , , ข้อกำหนดการใช้งาน , นโยบายความเป็นส่วนตัว ,