هل من الممكن استخدام Linux Desktop في بنية Windows الأساسية؟

تحية للجميع! أثار حبري أسئلة متكررة حول كيفية إعداد توزيع Linux للإدخال في Active Directory ، وكذلك للتكامل مع بعض خوادم Windows الأخرى. في الوقت نفسه ، لم تتم كتابة أي مقالة حتى الآن حول ما إذا كان الأمر يستحق القيام بذلك على الإطلاق ، وما إذا كانت النتيجة النهائية تستحق الوقت والجهد المبذول.

لماذا نشأ هذا السؤال؟ طُلب مني تكوين Linux للرجال الذين سئموا من التحديثات والشراهة لنظام Windows 10 (المليء بشكل خاص بسياسات GPO). بالإضافة إلى ذلك ، فإن إحدى مزايا لينوكس (وحتى خصومها المتحمسين يتعرفون عليها) هي انفتاحها مجانًا. هذه أيضا حجة مهمة.

مستخدم عادي في شركة عادية ، يستخدم الكمبيوتر Word و Excel ، وهو متصفح ، بالإضافة إلى أنه في حالات نادرة ، يعمل مع بعض التطبيقات البعيدة ، على سبيل المثال ، عبر RDP. يمكن لمستخدم غير عادي ، مثل مبرمج كامل ، دون صعوبات كبيرة أن يطلب من المسؤولين العثور على IDE المطلوب ، Jenkins ، git ، وماذا يحتاج المبرمجون أيضًا هناك؟ رسل ، نقص في لينكس في المقال التالي يشكو ، لينكس في كل وفرة ممكنة. Skype ، Viber ، ICQ ، حتى العميل المحظور في الاتحاد الروسي ، والمتوفر بشكل كامل على المواقع الرسمية ، مدعوم تمامًا ومتطابق تمامًا في واجهة المستخدم مع العملاء المصممين لنظام التشغيل Windows.

لذا ، يمكنك النظر في متطلبات المستخدمين للنظام ، ومقارنتها بقدرات Linux وتعتقد أن المزايا القوية ، وكذلك المدخرات مرئية بوضوح. لماذا إذن هناك اعتراضات على فكرة جميلة مثل نقل مستخدم من Windows إلى Linux؟ مجرد عادات سيئة ؟

أنا لست مستخدمًا رائعًا لأنظمة التشغيل المفتوحة على الإطلاق ، لكنني أرغب في مشاركة بعض الخبرات العملية التي حصلت عليها (عند نقل المستخدمين من Windows إلى Linux).

آمل مخلصا أن المستخدمين ذوي الخبرة هبرة ندى يد ذلك أخبرني أين يمكن تحسين أفعالي ، وأين ربما أعادها مرة أخرى.

بعد كل شيء ، قد لا أرى أي مآزق معروفة للرفاق الأكبر سنًا والأكثر خبرة ، سأكون ممتنًا بصدق إذا أشار المستخدم العادي إلى هذه المشاكل بالنسبة لي. آمل بصدق أن تكون المعلومات التي قدمتها قابلة للنسخ.

تحضير مستودع محلي


Linux (على الأقل Ubuntu) ، مثل Windows ، يدعم التثبيت الكامل للشبكة / محليًا. سيكون من الممكن حذف هذه الخطوة ، نظرًا لأن لينكس مثبت أيضًا بشكل مثالي من الإنترنت. ولكن نظرًا لأن تثبيت النظام ، غالبًا ما تتكرر المهمة ، سنحاول أتمتة ذلك ، ولتجنب المشاكل غير الضرورية في مستودع خارجي لا نتحكم فيه ، سنقوم بإعداد جهاز افتراضي مع مستودع محلي حيث ملفات التثبيت للنظام ، ملف الإجابات ، (وفي الوقت نفسه ، جميع البرامج التي نحتاجها ، بالإضافة إلى التحديثات المستقبلية).

تشغل ملفات التثبيت وجميع البرامج الإضافية ، لإصدار LTS من Ubuntu 20.04 Focal Fossa ، حوالي 80 جيجابايت.

كنظام تشغيل لجهاز افتراضي - استخدمت Ubuntu Server 20.04هذا إصدار مستقر سيتم دعمه بالكامل حتى عام 2025.

بعد اكتمال التثبيت ، قم بتعيين اسم سهل الاستخدام لجهاز الكمبيوتر الخاص بنا

sudo nano /etc/hostname  
#      ,
#   

قم بتثبيت الحزمة لاستنساخ المستودعات

sudo apt install apt-mirror 

sudo nano /etc/apt/mirror.list 
#   

/etc/apt/mirror.list


############# config ##################
set base_path    /repo  
set mirror_path  $base_path/mirror
set skel_path    $base_path/skel
set var_path     $base_path/var
set cleanscript $var_path/clean.sh
set postmirror_script $var_path/postmirror.sh
set run_postmirror 0
set limit_rate 2000000
set nthreads   20
set _tilde 0
############# end config ##############
#------------------------------------------------------------------------------#
#                            OFFICIAL UBUNTU REPOS                               #
#------------------------------------------------------------------------------#
###### Ubuntu Main Repos
# 18.04 mirroring
deb http://archive.ubuntu.com/ubuntu focal main main/debian-installer restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu focal-updates main main/debian-installer restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu focal-proposed main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu focal-backports main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu focal-security main main/debian-installer restricted universe multiverse

clean http://archive.ubuntu.com/ubuntu

#------------------------------------------------------------------------------#
#                           UNOFFICIAL UBUNTU REPOS                            #
#------------------------------------------------------------------------------#
###### 3rd Party Binary Repos
deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main

أريد أن أشير إلى أنه في هذا التكوين تظهر القدرة على التحكم في عدد التدفقات وسرعة تنزيل الملفات عند استنساخ مستودع ، وكذلك القدرة على استنساخ مستودعات خارجية لا تنتمي إلى Canonical. على سبيل المثال ، Google Chrome.

من الجدير بالذكر أنه بالإضافة إلى التهيئة ، من الضروري تسجيل فرع المثبت الرئيسي / دبيان ، على الرغم من كونه فرعًا من الفرع الرئيسي. لم يكن واضحًا بالنسبة لي ، لم أجده مكتوبًا في البداية ، وفي البداية لم أستطع فهم ما هو الأمر.

sudo apt-mirror 
#   (,   >= 80 Gb) 

تحتاج إلى تشغيل الأمر sudo apt-mirror ، على سبيل المثال ، أسبوعيًا ، لتحديث مستودعنا - "الخادم" لتحديث أجهزة الكمبيوتر العميلة.

مثال على إعداد التحديث التلقائي لمستودع بسجل من سجلات التحديث

sudo nano /etc/crontab
30 02     * * 0   admin      /usr/bin/apt-mirror > /path/to/your.log
#   02:30
#        #https://crontab.guru/examples.html

تثبيت خادم الويب (لتوزيع الملفات لعملائنا في المستقبل)


sudo apt install apache2  
ln –s /repo/mirror/archive.ubuntu.com/ /var/www/html/ubuntu 
#(       )
sudo systemctl restart apache2 
# ( -).

للتحقق من أن كل شيء تم على النحو المخطط له ، يجب عليك محاولة الوصول إلى IP الخاص بنا من خلال متصفح. نتيجة لذلك ، يجب أن نرى ملفات المستودع.

تثبيت tftpd لتثبيت أوبونتو عبر الشبكة


sudo apt install tftpd-hpa  
sudo nano /etc/default/tftpd-hpa 


# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"   
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure -l -v -m /etc/tftpd.remap"


#   /etc/tftpd.remap    
rg \\/

sudo mkdir /tftpboot  
#(   )
sudo chmod -R 755 /tftpboot
cd /tftpboot


#  syslinux
wget https://www.kernel.org/pub/linux/utils/boot/syslinux/4.xx/syslinux-4.07.tar.gz 

بفك ونسخ متكرر كل جدت .c32 مكتبة الملفات من SYSLINUX ل/ tftpboot في أي وسيلة مريحة بالنسبة لك، وأيضا إنشاء pxelinux.cfg المجلدات ولينكس المجلد / tftpboot

/tftpboot/pxelinux.cfg ستكون هناك قائمة محمل (ملف اسمه الافتراضي)

إفتراضي

ui vesamenu.c32
ALLOWOPTIONS 0 
PROMPT 0
menu title Microsoft SCCM Enterprice Endpoint :-)
MENU WIDTH 77
MENU MARGIN 10
MENU PASSWORDMARGIN 3
MENU ROWS 12
MENU TABMSGROW 18
MENU CMDLINEROW 18
MENU ENDROW 24
MENU PASSWORDROW 11
MENU TIMEOUTROW 60
NOESCAPE 0
MENU COLOR SCREEN 44;30 #00FFFFFF #00000000
MENU COLOR BORDER 44;30 #FFFFFFFF #FF000000
MENU COLOR TITLE 1;44;30 #FFFFFFFF #FF000000
MENU COLOR SCROLLBAR 44;30
MENU COLOR HOTKEY 44;30 #FFFFFF00 #FF000000
MENU COLOR UNSEL 44;30 #FFFFFFFF #FF000000
MENU COLOR HOTSEL 1;30 #FFFFFFFF #FF333333
MENU COLOR SEL 7;44;30 #FFFFFF00 #FF333333
MENU COLOR CMDMARK 44;30
MENU COLOR CMDLINE 44;30
MENU COLOR TABMSG 44;30
MENU COLOR DISABLED 44;30
MENU COLOR HELP 44;30
MENU COLOR PWDBORDER 44;30 #FF187CCA #FFFFFFFF
MENU COLOR PWDHEADER 1;44;30 #FF187CCA #FFFFFFFF
MENU COLOR PWDENTRY 5;44;30 #FF187CCA #FFFFFFFF
TIMEOUT 120
LABEL HDD
MENU LABEL Boot from first HDD
KERNEL chain.c32
APPEND hd0 0
ENDTEXT
LABEL TEST
MENU LABEL Install Ubuntu 20.04
KERNEL linux/linux
IPAPPEND 1
APPEND initrd=linux/initrd.gz url=http://server.local/preseed/ubuntu2.cfg auto=true priority=critical debian-installer/locale=en_US keyboard-configuration/layoutcode=us languagechooser/language-name=en_US countrychooser/shortlist=US localechooser/supported-locales multiselect en_US splash noprompt noshell ---
ENDTEXT


يجب وضع الملفات التالية في / tftpboot / linux:

ملف استجابة ubuntu2.cfg ، و initrd.gz محمل ، وملف kernel linux

فيما يلي مثال لملف متوقع (ملف استجابة).

يمكن استكماله إلى أجل غير مسمى ، ولكن مع الإعداد المقترح ، بدون ضغطة مفتاح واحدة ، يتم تثبيت النظام تلقائيًا بالكامل. (صحيح ، يجب أن أعترف بأن المستخدم وكلمة المرور الخاصة به مقصودة في ملف الإجابات ، لذلك سيتم تثبيت النظام محميًا بكلمة مرور

ubuntu2.cfg

https://github.com/drumit/ubuntu_config/blob/master/ubuntu2.cfg

تم الحصول على kernel و bootloader على هذا العنوان:

archive.ubuntu.com/ubuntu/dists/focal/main/installer-amd64/20101020ubuntu614/legacy-images/netboot/ubuntu-installer/amd64

يسمح لك ملف الإجابات بتحديد لغة النظام ولغة التثبيت تلقائيًا النظام ، قم بتعيين القسم المطلوب وتنسيق القرص ، وحتى تعيين تجزئات كلمة المرور إلى أداة تحميل التشغيل والمسؤول المحلي (في وقت التثبيت - مستخدم الكمبيوتر الوحيد).

باستخدام DHCP الذي تم تكوينه مسبقًا (الخياران 66 و 67) بما في ذلك ملف التمهيد وعنوان IP الخاص بخادم tftp بعد تحميل واختيار السطر "تثبيت Ubuntu 20.04" ، سيتم تنفيذ أي شيء آخر دون تدخلنا. (سيقوم النظام بتثبيت حوالي 25-30 دقيقة).

بعد إدخال معلومات تسجيل الدخول وكلمة المرور ، سيكون النظام جاهزًا تمامًا في معظم الحالات للعمل مع المستندات والصور وملفات الصوت والفيديو والإنترنت ، دون أي صعوبات.

يستغرق التثبيت حوالي 25-30 دقيقة. ويعمل بشكل تلقائي بالكامل. هذا يكفي للمستخدم العادي.

لكننا نتحدث عن عمل Ubuntu في بيئة الشركات ، مما يعني أننا سنتحدث عن التكامل مع Active Directory ، و Exchange ، و DFS ، إلخ. ربما في مكان ما في طريق إيجاد التفاعل مع هذه الخدمات ستكون هناك مشاكل؟ ربما شيء ما سبق فعله خاطئ بالفعل في هذه المرحلة؟ في الجزء التالي من المقالة ، سأكتب عن طريقي لدمج نظام Linux في البنية الأساسية لنظام التشغيل Windows.

لإدارة أجهزة الكمبيوتر البعيدة وتكوينها ، من الضروري تثبيت نظام إدارة التكوين Ansible على "خادم" مع مستودع

تثبيت وتكوين Ansible (للإعداد التلقائي وإدارة Ubuntu)


sudo apt install ansible
sudo nano /etc/ansible/hosts 
#  ,       ,   hostname.   IP
# ,     ,   ,    hostname  IP .

بعد ملء ملف الجرد ، يجب علينا توصيل جهاز العميل بالخادم.
ssh-keyhen (إنشاء زوج مفتاح خاص / عام على الخادم)

d /home/localadm/.ssh/
ssh-copy-id localadm@192.168.*.*
#        (,   #    

للتحقق من نجاح الإعدادات ، أدخل الأمر.

ansible  all –m ping   

إذا رأينا استجابة من جهاز الكمبيوتر العميل ، فإن إعداداتنا صحيحة.

بعد التحقق من الإعدادات بنجاح ، تحتاج إلى تشغيل البرنامج النصي لإعادة تثبيت الحزم الضرورية وإدخال الكمبيوتر في المجال.

عادةً ما يتم إنشاء الأدوار في Ansible للتحكم في سلوك جهاز الكمبيوتر ، ولكن نظرًا لأن لدينا مهمة تافهة تتمثل ببساطة في تثبيت جهاز Ubuntu وإلغاء تثبيته وتكوينه وإدخاله في المجال ، فسوف نستخدم برنامجًا نصيًا بسيطًا (في مصطلحات Ansible playbook).

قبل بدء تشغيل دليل التشغيل ، من المهم للغاية تشفير تسجيل الدخول وكلمة المرور التي سندخل الكمبيوتر من خلالها إلى المجال ، ومن الأفضل أن يكون هذا حساب خدمة ، ويجب أن يكون مشفرًا مع المجموعة.

ansible-vault encrypt playbook3.yaml
#(   ).

لتشغيل البرنامج النصي بعد إحضار البرنامج النصي إلى نموذج العمل:

1. ansible-playbook playbook3.yaml –ask-vault-pass
2.      
3.    

عند تشغيل البرنامج النصي ، يجب إعادة تشغيل الكمبيوتر عدة مرات. بعد إعادة تشغيل البرنامج النصي يدويًا من الخادم ، وبعد إعادة تشغيل العميل ، سيستمر البرنامج النصي في التنفيذ منذ لحظة توقفه (بعد فهرسة الخطوات السابقة). لن يستغرق الإجراء النصي (إلى جانب عمليات إعادة التمهيد) أكثر من 10 دقائق.

إليك النص:

playbook3.yaml

https://github.com/drumit/ubuntu_config/blob/master/playbook3.yaml


يشير البرنامج النصي Ansible إلى العديد من البرامج النصية الإضافية التي تقوم بتكوين kerberos و sssd و samba وبعض الملفات الهامة الأخرى

krb5.conf.j2

https://github.com/drumit/ubuntu_config/commits/master/krb5.conf

sssd.conf.j2

https://github.com/drumit/ubuntu_config/blob/master/sssd.conf.j2


samba.conf.j2

https://github.com/drumit/ubuntu_config/blob/master/samba.conf.j2


nsswitch.conf.j2
  
https://github.com/drumit/ubuntu_config/blob/master/nsswitch.conf.j2


المشترك المشترك

https://github.com/drumit/ubuntu_config/blob/master/common-auth.j2

الحساب المشترك. j2

https://github.com/drumit/ubuntu_config/blob/master/common-account.j2

المشترك- password.j2

https://github.com/drumit/ubuntu_config/blob/master/common-password.j2

جلسة مشتركة. j2

https://github.com/drumit/ubuntu_config/blob/master/common-session.j2

جلسة عامة غير تفاعلية. j2

https://github.com/drumit/ubuntu_config/blob/master/common-session-noninteractive.j2


لقد أخطأت PS I الفرصة للكتابة أعلاه حول منتج Evolution الرائع الذي يتفاعل مع بروتوكول Evolution-ews الإضافي بنجاح عبر بروتوكول EWS مع خادم Excgange ، "لا يمنح" البريد فحسب ، بل يتفاعل أيضًا بشكل مثالي مع التقويم.

بشكل منفصل ، ألاحظ أن جميع الإعدادات المذكورة أعلاه تتم مرة واحدة. ثم لا يستغرق تثبيت النظام وتكوينه بالكامل أكثر من ساعة واحدة.

فلماذا لينكس سيء وهل هو مناسب للمستخدم العادي؟ وللمستخدم في بيئة الشركات؟

All Articles