تحية للجميع! أثار حبري أسئلة متكررة حول كيفية إعداد توزيع 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
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
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
deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main
أريد أن أشير إلى أنه في هذا التكوين تظهر القدرة على التحكم في عدد التدفقات وسرعة تنزيل الملفات عند استنساخ مستودع ، وكذلك القدرة على استنساخ مستودعات خارجية لا تنتمي إلى Canonical. على سبيل المثال ، Google Chrome.من الجدير بالذكر أنه بالإضافة إلى التهيئة ، من الضروري تسجيل فرع المثبت الرئيسي / دبيان ، على الرغم من كونه فرعًا من الفرع الرئيسي. لم يكن واضحًا بالنسبة لي ، لم أجده مكتوبًا في البداية ، وفي البداية لم أستطع فهم ما هو الأمر.sudo apt-mirror
تحتاج إلى تشغيل الأمر sudo apt-mirror ، على سبيل المثال ، أسبوعيًا ، لتحديث مستودعنا - "الخادم" لتحديث أجهزة الكمبيوتر العميلة.مثال على إعداد التحديث التلقائي لمستودع بسجل من سجلات التحديثsudo nano /etc/crontab
30 02 * * 0 admin /usr/bin/apt-mirror > /path/to/your.log
تثبيت خادم الويب (لتوزيع الملفات لعملائنا في المستقبل)
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
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure -l -v -m /etc/tftpd.remap"
rg \\/
sudo mkdir /tftpboot
sudo chmod -R 755 /tftpboot
cd /tftpboot
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
MENU COLOR BORDER 44;30
MENU COLOR TITLE 1;44;30
MENU COLOR SCROLLBAR 44;30
MENU COLOR HOTKEY 44;30
MENU COLOR UNSEL 44;30
MENU COLOR HOTSEL 1;30
MENU COLOR SEL 7;44;30
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
MENU COLOR PWDHEADER 1;44;30
MENU COLOR PWDENTRY 5;44;30
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
بعد ملء ملف الجرد ، يجب علينا توصيل جهاز العميل بالخادم.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 ، "لا يمنح" البريد فحسب ، بل يتفاعل أيضًا بشكل مثالي مع التقويم.بشكل منفصل ، ألاحظ أن جميع الإعدادات المذكورة أعلاه تتم مرة واحدة. ثم لا يستغرق تثبيت النظام وتكوينه بالكامل أكثر من ساعة واحدة.فلماذا لينكس سيء وهل هو مناسب للمستخدم العادي؟ وللمستخدم في بيئة الشركات؟