مكتب ترجمة في إربد نقل أرشيفه، تسعة آلاف ملف ممسوح ضوئيا بأسماء عربية، من جهاز ويندوز قديم إلى خادم لينكس صغير. الملفات كلها وصلت، وكلها تفتح، وأسماؤها صارت ÊÞÑíÑ.
لم يفسد شيء. اسم الملف بايتات، والبايتات وصلت كما هي، وما تغير هو القاعدة التي تقرأ بها. الجهاز القديم كان يقرأها بترميز ويندوز العربي، والخادم يقرأها بترميز UTF-8، فخرج من البايتات نفسها كلام آخر.
وهذا أول لقاء أغلب القراء بنظام التشغيل بوصفه نظام تشغيل لا سطح مكتب. النظام يتخذ قرارات لا يعلن عنها، وتبقى غير مرئية حتى يتعثر واحد منها، ثم تظهر متنكرة في هيئة برنامج معطوب.
أربع وظائف لا يذكرها النظام
ما يسميه المرء باسم نظامه هو الواجهة، وهي الجزء الأقل أثرا في كل ما يلي. تحتها أربعة قرارات تجري آلاف المرات في الثانية: من يعمل الآن، ومن يفتح ماذا، وأين يوضع الملف وبأي اسم يقرأ، ومن يأخذ الجهاز حين يطلبه اثنان.
وترتيب هذه الأربعة ليس ترتيب تعلم، لأن العطل في أي واحدة منها يصل مرتديا ثياب أخرى. جهاز بطيء وهو لا يفعل شيئا ظاهرا مسألة جدولة أو ذاكرة، لا مسألة معالج. وبرنامج يقول إنه لا يستطيع حفظ الملف مسألة صلاحية في تسع مرات من عشر، والعاشرة قرص ممتلئ.
الاسم بايتات، والقاعدة التي تقرأه ليست فيه
ترميز ويندوز العربي القديم يعطي كل حرف عربي بايتا واحدا، وUTF-8 يعطيه بايتين. فحين ينقل أرشيف قديم إلى نظام حديث تصل البايتات القديمة ويقرؤها النظام الجديد بقاعدته هو. النتيجة أسماء لا يجدها بحث ولا يفتحها اختصار محفوظ، ومحتوى الملفات سليم تماما.
والعلاج أمر واحد يعيد ترجمة الأسماء لا المحتوى: convmv -f cp1256 -t utf8 -r --notest . يمشي على المجلد كله ويحول أسماء الملفات من الترميز القديم إلى الجديد. وبدون --notest يطبع ما كان سيفعله ولا يفعله، وهذه هي الطريقة التي يجرب بها على نسخة أولا. وإن كان الأرشيف يصل في ملف مضغوط، فالخيار -O cp1256 مع أمر unzip على دبيان وأوبنتو يقرأ الأسماء صحيحة لحظة الاستخراج، فلا تحتاج إلى إصلاح بعده.
ويقرأ اتجاه العطب من شكل الاسم نفسه قبل تشغيل أي أمر. أسماء تخرج حروفا لاتينية مائلة ومرقومة تعني بايتات عربية قديمة قرئت بقاعدة حديثة، وهي حالة أرشيف إربد. أما أسماء تخرج حروفا عربية سليمة الشكل لا تركب كلمة فتعني العكس: بايتات UTF-8 قرئت بالقاعدة القديمة، وهو ما يحدث حين يفتح ملف مضغوط صنع على ماك في ويندوز. والاتجاهان يعالجان بالأمر نفسه وبترميزين متبادلين، فتحديد الاتجاه قبل التشغيل يوفر تشغيله مرتين.
ثلاثة أرقام تقرر من يفتح ماذا
بعد الأسماء جاءت الصلاحيات. الأرشيف نقل بحساب المدير فصار كل ملف مملوكا له، ولم يعد أحد في المكتب يستطيع الكتابة. والصلاحية ثلاثة أرقام: chmod 644 يعني أن المالك يكتب والجميع يقرأ، وهي الحال الصحيحة لملف ممسوح لا يعدل.
وهنا الخطأ الذي يكلف ساعة في كل مرة: بت التنفيذ على مجلد يعني الدخول لا التشغيل. مجلد أعطي 644 يظهر في القائمة ولا يفتح، ورسالة الخطأ تقول «صلاحية مرفوضة» بينما الصلاحيات تبدو صحيحة للعين. المجلدات تأخذ chmod 755 والملفات تأخذ 644، والقاعدة نفسها هي التي تفسر لماذا يعمل مجلد المشاركة ولا يعمل الذي تحته.
ما يعمل، وما يفترض أن يعمل
ثم انقطعت الكهرباء ليلا وعاد الخادم في الصباح بلا مشاركة ملفات. المشاركة كانت تعمل شهرا كاملا قبل ذلك، ولم يتغير فيها حرف.
الأمر ps يقول ما يعمل، وsystemctl يقول ما يفترض أن يعمل. الخدمة كانت قد شغلت باليد يوم الإعداد ولم تسجل للإقلاع، فبقيت تعمل ما دام الخادم لم يطفأ. والأمر systemctl enable --now smbd يفعل الاثنين معا: يشغلها الآن ويسجلها لكل إقلاع قادم. وهذا الفرق هو الفرق بين خادم يعمل وخادم يمكن الاعتماد عليه، ولا تظهره أي أداة تسأل عما يجري في هذه اللحظة.
ثلاثة أنظمة، سؤالان
ما ينتقل بينها، وما يتعلم مرتين
أهو من عائلة يونكس، وهل يدار جهازا جهازا أم بالمئة. السؤالان معا يقرران كم من عمل ينتقل إلى النظام التالي.
يدار جهازا جهازا
يدار مركزيا
لا يقول أيها أفضل، والخانة التي يعمل فيها المرء يختارها صاحب العمل أكثر مما يختارها هو. وهو مرسوم لقارئ يلقى لينكس أول مرة على خادم مستأجر لا على حاسوبه، وذلك يقلب ترتيب التعلم المعتاد.
ثلاثة أنظمة، وسؤالان يقرران ما ينتقل
السؤالان هما: أهو من عائلة يونكس، وهل يدار جهازا جهازا أم بالمئة. وجوابهما يقرر كم من مهارة تنتقل إلى النظام التالي. ماك يونكس تحت سطح مكتب، فما يتعلمه المرء في الطرفية ينتقل إلى لينكس كما هو. وويندوز عائلة قائمة بذاتها بأدواتها وصدفتها، وهو صاحب أكبر نصيب من عمل الدعم في المكاتب العربية.
والطريق إلى لينكس هنا يختلف عن طريق القارئ الإنجليزي اختلافا يستحق التسمية: أغلب من يتعلمه في هذه السوق يلقاه أول مرة على خادم افتراضي مستأجر، لا على حاسوبه. يفتح لوحة المزود فيجد سطر أوامر بلا سطح مكتب، ويتعلم النظام وهو تحت ضغط موقع يجب أن يعمل. ولهذا يستحق الأجهزة الافتراضية نصف يوم قبل ذلك: نظام كامل داخل نافذة على الجهاز الذي بين يديك، يخرب ويعاد إلى لقطة سابقة، ولا يكلف الخطأ فيه شيئا.
ويبقى ويندوز في نطاق مؤسسي مهنة أخرى غير إدارة جهاز واحد: سياسة ودليل وصور نسخ، تدار بالمئة لا بالواحد. أما ماك فيقرأ من هذه الصفحة نصفها الأول كاملا، لأن الطرفية فيه هي الطرفية نفسها.
ما تفتحه في 2026
systemd ومعه journalctl هو ما يدير الخدمات ويحفظ سجلها على كل لينكس صنع في العقد الأخير، وهو مجاني وموجود أصلا. وقد حل محل نصوص init والسجلات النصية المتفرقة، وهي التي ما زالت تظهر في كل شرح عربي أقدم من 2015 تقريبا، وهذا سبب وجيه لقراءة تاريخ الشرح قبل قراءته.
winget هو مدير الحزم الذي يأتي مع ويندوز، ويشغل winget install من سطر أوامر واحد. وقد حل محل البحث عن اسم البرنامج ثم تنزيله من موقع تجميع، وهي العادة التي تحمل نصف ما يصيب أجهزة المكاتب هنا. وهو مجاني ولا يحتاج حسابا، وقيمته الحقيقية أنه يعطي مصدرا واحدا معروفا بدل عشرين موقعا.
VirtualBox على ويندوز ولينكس وUTM على ماك مجانيان، وقد حلا محل إبقاء جهاز ثان تحت الطاولة للتجريب. وهما الطريق الوحيد الذي يتيح تخريب نظام كامل قبل الظهر وإعادته قبل العصر.
أين يقف الناس
موضع التوقف هنا أن القارئ يعرف سطح مكتبه معرفة جيدة ولا يعرف منه شيئا. يعرف أين زر الطابعة ولا يعرف أن الطابعة طابور، ولا أن الطابور خدمة، ولا أن الخدمة يمكن سؤالها. وما دام كل جواب يأتي من قائمة إعدادات، تبقى الأعطال التي لا تمر بقائمة إعدادات خارج المتناول تماما.
والمخرج من ذلك واحد ومعروف: سطر الأوامر، وهو الموضع الذي تصير فيه الوظائف الأربع قابلة للسؤال بدل أن تكون قابلة للنقر. ومن أراد الأربع مشروحة على حدة قبل أي أداة، فذلك موضع وظيفة نظام التشغيل.
ومن خارج هذا الموضوع، الفحص كله يفترض أن العتاد سليم، وهو افتراض يفحص في الكمبيوتر لا هنا. والخدمة التي شغلت الآن ستحتاج من يبقيها تعمل ويقرأ سجلها كل يوم، وذلك عمل إدارة الخوادم.
ويبقى سؤال لم يطرحه أحد في إربد بعد: الخادم يعمل، والمشاركة تعمل، فمن يستطيع الوصول إليها من خارج المكتب. الصلاحية على الملف لا تجيب عن ذلك، لأن السؤال لم يعد سؤال ملف بل سؤال طريق، وهو موضع الشبكات.