Windows Server 2012-এ WinSXS ফোল্ডার নিরাপদে পরিষ্কার করার কথা বলার আগে, আমরা বুঝতে চাই WinSXS ফোল্ডার আসলে কী, এতে কী সংরক্ষিত থাকে, এবং কেন এর আকার সময়ের সাথে সাথে বেড়ে যায়।
[accordion]
[tab title="এই আর্টিকেলের বিষয়বস্তু"]
[/tab]
[/accordion]
Windows Server 2003-এ অতিরিক্ত ফিচার ইনস্টল করার সময় ইনস্টলেশন উইজার্ড CD-ROM বা ইনস্টলেশন প্যাকেজের পাথ চাইত। Microsoft Windows Server 2008-এ এই নীতিটি পরিবর্তন করে। এখন যেকোনো রোল রোল-আউট করার জন্য প্রয়োজনীয় সব বাইনারি ফাইল %windir%\WinSxS (WinSxS – Windows Side By Side) ফোল্ডারে সংরক্ষিত থাকে। এর মানে কোনো অতিরিক্ত রোল ইনস্টল করার সময় ইনস্টলেশন প্যাকেজের ডিস্ক খুঁজে বের করার বা সংযুক্ত করার প্রয়োজন নেই। অবশ্যই এই আর্কিটেকচারের জন্য OS-র জন্য বেশি ডিস্ক স্পেস দরকার। বুঝতে হবে যে সিস্টেমের মূল কম্পোনেন্টগুলো WinSXS ক্যাটালগে থাকে এবং সেখান থেকে ম্যানুয়ালি কিছুও ডিলিট করা যাবে না। কেন এর আকার বেড়ে যায়? উত্তর সহজ — আপডেটের কারণে। বিভিন্ন ফিচারের আপডেট ইনস্টল করার সময় WinSXS-এ পুরনো এবং নতুন ভার্শন দুটোই সংরক্ষিত থাকে। এই আর্কিটেকচারের কারণে আমরা যেকোনো ইনস্টল করা আপডেট সফলভাবে ডিলিট করে পুরনো ভার্শনে ফিরে যেতে পারি।
টিপ। Windows 7 SP 1-এ অনব্যবহৃত আপডেট ডিলিট করে WinSxS ফোল্ডারের আকার কমানো যায়।
যদি সিস্টেম চলে এবং ভালো কাজ করে, অতিরিক্ত রোল রোল-আউট করার প্রয়োজন নেই, কিন্তু ডিস্কে স্পেস কম পড়ে — তবে কী করব? বেশ অযৌক্তিক যে সিস্টেম ডিস্কে பல গিগাবাইট ইনস্টলেশন প্যাকেজের জন্য احتل করা থাকে যেটি কখনো লাগবে না! দুর্ভাগ্যক্রমে, Windows Server 2008-এ সিস্টেম ক্ষতিগ্রস্ত না করে এই ফাইলগুলো ডিলিট করা খুব কঠিন। তবে Microsoft নতুন সার্ভার OS (Windows Server 2012-এ) এই সমস্যা সমাধান করার জন্য Features on Demand নামে একটি নতুন ফিচার বাস্তবায়ন করেছে।
Windows Server 2012-এ Features on Demand
Features on Demand ফাংশন অনুপ্রयुक्त রোলের বাইনারি ফাইল WinSxS ফোল্ডার থেকে ডিলিট করার সুযোগ দিয়ে ডিস্ক স্পেস কমাতে সাহায্য করে। পরে যদি ডিলিট করা রোলটি আবার দরকার পড়ে, তবে Windows Server 2012 ইনস্টলেশন প্যাকেজ ইমেজ, Windows Update সার্ভিস, বা অরিজিনাল কন্টেন্ট থাকা নেটওয়ার্ক রিসোর্স থেকে সব ফাইল ফিরে পাওয়া যায়।
নিচের PowerShell কমান্ড দিয়ে সকল সিস্টেম রোল ও ফিচারের তথ্য পাওয়া যায়:
1 | Get-WindowsFeature |

দেখুন Install State কলামে প্রতিটি রোলের স্টেট দেখাচ্ছে। সম্ভাব্য স্টেটগুলো:
- Installed: রোল বা ফিচার ইনস্টল করা আছে এবং সিস্টেম দ্বারা ব্যবহৃত হচ্ছে
- Available: রোল সার্ভারে ইনস্টল নয়, কিন্তু ইনস্টলেশন/এক্টিভেশনের জন্য প্রয়োজনীয় সব ফাইল ডিস্কে উপলব্ধ
- Removed: রোল বা ফিচার ইনস্টল নয়, এবং এর ইনস্টলেশনের জন্য প্রয়োজনীয় ফাইলগুলো ডিস্ক থেকে সরানো হয়েছে
অনুযায়ী, GUI বা PowerShell (Install-WindowsFeature কমান্ড) দিয়ে রোল ইনস্টল করলে এর স্টেট Available থেকে Installed হবে, আর ডিলিট করলে (Uninstall-WindowsFeature) বিপরীত হবে।
Windows Server 2012-এ অনব্যবহৃত রোল ডিলিট করা
ডিস্ক থেকে (WinSxS ফোল্ডার থেকে) রোল ডিলিট করা শুধু PowerShell-এ সম্ভব। এর জন্য Uninstall-WindowsFeature কমান্ডের সাথে –Remove আর্গুমেন্ট ব্যবহার করতে হয়।
উদাহরণস্বরূপ, DHCP সার্ভার রোলের বাইনারি ফাইল ডিলিট করতে:
1 | Uninstall-WindowsFeature –Name DHCP –Remove |
Active Directory Domain Services ক্যাটালগ সার্ভিসের ফাইল ডিলিট করতে:
1 | Uninstall-WindowsFeature AD-Domain-Services -Remove |

PowerShell দিয়ে আরও জটিল কমান্ড লিখে Windows Server-এ অনব্যবহৃত সকল রোল ও ফিচারের ইনস্টলেশন ফাইল ডিলিট করা যায়:
1 | Get-WindowsFeature | Where-Object {$_.InstallState -Eq “Available”} | Uninstall-WindowsFeature -Remove |

আমাদের উদাহরণে, শুধু একটি ফাইল-সার্ভার রোল ইনস্টল করা থাকলে, WinSxS ফোল্ডারের আকার ৮ GB থেকে ৫ GB-এ নেমে আসবে। খারাপ ফলাফল নয়, একটা কমান্ড দিয়ে WinSxS পরিষ্কার করা গেলো।

Windows Server 2012-এ ডিলিট করা রোল ও ফিচার রি-ইনস্টল করা
একটা উদাহরণ: ধরে নিন আপনাকে Windows Server 2012-এর কোনো রোল ইনস্টল করতে হবে, কিন্তু এর ইনস্টলেশন প্যাকেজ WinSxS থেকে ডিলিট করা আছে। এই রোলটি কিছু طریقেই রিকভার করা যায়: GUI Server Manager বা PowerShell দিয়ে।
রোল ফাইল রিকভারি শুরু করার আগে Windows Server 2012 ইনস্টল করা এডিশনের ইনডেক্স জানতে হবে। Windows Server 2012 ইনস্টলেশন প্যাকেজের ডিস্ক থাকতে হবে (সঠিক বলতে sources ফোল্ডারে থাকা install.wim ইমেজ ফাইল)। নিচের PowerShell কমান্ড চালান:
1 | Get-windowsimage –imagepath <path_to_wim_file>\sources\install.wim |

আপনার PC-তে ইনস্টল করা Windows Server-এর ভার্শন খুঁজে বের করুন এবং এর Index মনে রাখুন (Index লাইনের মান)। আমাদের উদাহরণে এটি Windows Server 2012 Datacenter, ইনডেক্স ৪।
এই কাজটি Dism ইউটিলিটিও দিয়ে করা যায়:
1 | dism.exe /get-imageinfo /imagefile:d:\sources\install.wim |
Server Manager দিয়ে ডিলিট করা রোল ইনস্টল করা
Server Manager কনসোল খুলুন এবং Add Roles and Features উইজার্ড চালু করুন। যে রোল বা ফিচারটি ইনস্টল করতে চান সেটি সিলেক্ট করুন। উইজার্ড সতর্ক করবে যে এই রোল ইনস্টল করার জন্য প্রয়োজনীয় কিছু ফাইল অনুপস্থিত, তাই আপনাকে ইনস্টলেশন প্যাকেজের লোকেশন নির্দিষ্ট করতে হবে। Specify an alternate source path বাটনে ক্লিক করুন।

Path ফিল্ডে install.wim ফাইলের পূর্ণ পাথ এবং ইনস্টল করা OS এডিশনের ইনডেক্স নিচের ফরম্যাটে দিন:
1 | WIM:D:\Sources\Install.wim:4 |

OK ক্লিক করলে ইনস্টলেবল রোলের জন্য প্রয়োজনীয় সব ফাইল WinSxS ক্যাটালগে কপি হয়ে যাবে।
যদি দরকার হয়, এই লাইনে WIM ফাইলের ফোল্ডার পাথ বা WinSxS ক্যাটালগের নেটওয়ার্ক পাথও দেওয়া যায়। বড় পরিমাণে সার্ভার ইনস্টলেশনের ক্ষেত্রে গ্রুপ পলিসি (Computer Configuration / Administrative Templates / System / Specify settings for optional component installation and component repair) দিয়ে এই পাথ সেট করা খুব সুবিধাজনক, কারণ এর মোট ফলাফল হাজার গিগাবাইটে হতে পারে।

PowerShell দিয়ে Windows Server 2012-এ ডিলিট করা রোল রিকভারি
এই কাজটিও শুধু একটি PowerShell কমান্ড দিয়ে করা যায়। ধরে নিন ADDS রোলের রিমোট ফাইলগুলো রিকভার করতে হবে। নিচের কমান্ড চালান:
1 | Install-WindowsFeature AD-Domain-Services -Source WIM:WIM:D:\Sources\Install.wim:4 |

এই আর্টিকেলে আমরা Windows Server 2012-এর নতুন ফিচার Features on Demand সম্পর্কে জানলাম, যা WinSxS ক্যাটালগ থেকে সার্ভার রোলের ইনস্টলেশন প্যাকেজের বাইনারি ফাইল ডিলিট করার অনুমতি দেয়। ডিলিট করা রোলটি আবার রিকভার করা যায় — শুধু Windows Server 2012 ইনস্টলেশন প্যাকেজ থাকলেই হবে।
Windows 8-এ Feature on Demand কিছুটা ভিন্নভাবে কাজ করে, কারণ পূর্বের কেসগুলোতে যেটি PowerShell কমান্ড ব্যবহার করা হয়েছিল, সেটি এখানে নেই। এর аналগ হল DISM কমান্ড /Disable-Feature প্যারামিটারসহ (তত সুবিধাজনক নয়)। WinSxS ডিরেক্টরির কন্টেন্ট আরও কমপ্রেস করা যায়, বিস্তারিত জানতে পড়ুন: How to Clean Up and Compress WinSxS Folder।
টিপ। Windows 8.1-এ WinSxS ফোল্ডারের আকার কমাতে বিস্তারিত এখানে।