কেন কোনও উবুন্টু সার্ভারের ডিফল্ট সিস্টেমড টার্গেট হিসাবে গ্রাফিকাল.আরগেট থাকে?


20

আমি কিছুক্ষণের জন্য উবুন্টু ব্যবহারকারী হয়েছি এবং কর্মক্ষেত্রে আমাদের অনেক উবুন্টু ভিএম সার্ভার রয়েছে , যার Ubuntu 14.04 LTSসবকটিই আমাদের ওয়েব অ্যাপ্লিকেশন, ডেটাবেস এবং অন্যান্য সরঞ্জাম মোতায়েন করতে চালিত হয়।

Ubuntu 16.04 LTSসমস্যা তৈরি না করে অদূর ভবিষ্যতে আমাদের প্রোডাকশন সার্ভারগুলি আপগ্রেড করতে সক্ষম হতে আমি বর্তমানে অধ্যয়ন , ডেস্কটপ এবং সার্ভার করছি ।

উবুন্টু ১৫.০৪ সাল থেকে initএবং এর upstartপরিবর্তে প্রতিস্থাপন করা হয়েছে Systemd, তাই আমি সিস্টেমডও পড়ছি।

আমি লক্ষ্য করেছি যে উবুন্টু 16.04 ডেস্কটপ সংস্করণে চালিত আমার বিকাশ কম্পিউটারের graphical.targetডিফল্ট সিস্টেমড লক্ষ্য হিসাবে রয়েছে , যা যৌক্তিক।

তবে আমি লক্ষ্য করেছি যে উবুন্টু 16.04 সার্ভার সংস্করণে চালিত পরীক্ষার সার্ভারটি graphical.targetডিফল্ট সিস্টেমড লক্ষ্য হিসাবেও ব্যবহার করে ।

$ systemctl get-default
graphical.target

তাই আমি বিভ্রান্ত সার্ভারের কোনও গ্রাফিকাল স্তর নেই, সুতরাং এটি কীভাবে ডিফল্ট টার্গেট হয় graphical.target?

সম্পাদনা # 0

মন্তব্যে রিনজুইন্ডের পরামর্শ মতো, আমি লক্ষ্যটির দিকে তাকিয়েছিলাম এটি সক্রিয় কিনা না তা দেখার জন্য ...

এবং প্রতিক্রিয়া হ্যাঁ:

admin@server1604:~$ systemctl get-default
graphical.target

admin@server1604:~$ systemctl status graphical.target
● graphical.target - Graphical Interface
Loaded: loaded (/lib/systemd/system/graphical.target; static; vendor preset: enabled)
Active: active since jeu. 2016-10-13 16:03:18 CEST; 46min ago
Docs: man:systemd.special(7)

oct. 13 16:03:18 fdea systemd[1]: Reached target Graphical Interface.

তাই আমি আরও কিছুটা বিভ্রান্ত।

সম্পাদনা # 1

মার্ক স্টসবার্গের উত্তরটি সত্যটি নির্দেশ করে যে এটি তার নিজস্ব 16.04 সার্ভারে display-manager.serviceনির্ভরতা গাছের একটি অংশ graphical.targetএবং তিনি যুক্ত করেছেন যে কোনও ডিসপ্লে ম্যানেজার তার মেশিনে ইনস্টল করা বা চালু নেই। আমি এটির দিকেও তাকিয়েছিলাম এবং সত্যই, আমার সার্ভারে এই নির্ভরতা রয়েছে:

admin@server1604:~$ systemctl list-dependencies graphical.target 
graphical.target
● ├─accounts-daemon.service
● ├─apache2.service
● ├─apport.service
● ├─display-manager.service

...

এবং এই লক্ষ্যটির বাম দিকে একটি লাল বৃত্ত রয়েছে, যেখানে অন্যান্য নির্ভরতার বেশিরভাগের একটি সবুজ থাকে।

এবং এবার ফলাফলটি সামঞ্জস্যপূর্ণ:

admin@server16.04:~$ systemctl status display-manager.service 
● display-manager.service
   Loaded: not-found (Reason: No such file or directory)
   Active: inactive (dead)

তবে এখানে অন্য একটি অদ্ভুত বিষয় রয়েছে: আমার ডেস্কটপ সংস্করণে, display-manager.serviceএটির নির্ভরতা নয় graphical.target:

me@desktop16.04:~ $ systemctl list-dependencies graphical.target | grep display
me@desktop16.04:~ $ 

কিন্তু আমি এমনকি একটি বিকল্প কারণ আমি চালানোর পাওয়া Ubuntu-Gnomeসঙ্গে lightdmডিফল্ট উইণ্ডো ম্যানেজার প্রতিস্থাপন:

me@desktop16.04:~ $ systemctl list-dependencies graphical.target | grep lightdm
● ├─lightdm.service

আপনি 1 টি অত্যাবশ্যক তথ্য হারিয়েছেন: graphical.targetসক্রিয়?
রিনজউইন্ড

আপনার মন্তব্যের জন্য ধন্যবাদ. তবে আসলে, হ্যাঁ, এটি সক্রিয়! এর মানে কী ?
রুমি বি

হুম প্রাসঙ্গিক কিছু খুঁজে পেল।
রিনজউইন্ড

যে অংশটি বোধগম্য হতে পারে: "... বা অ্যাকাউন্টস-ডেমন.সেবারিস" সার্ভারের এটিরও দরকার হবে আমি ধরে নিই। কমপক্ষে বলতে গেলে বিভ্রান্তিকর।
রিনজউইন্ড

উত্তর:


10

লক্ষ্যটির নাম সত্ত্বেও, উবুন্টু সার্ভার 16.04-তে কোনও গ্রাফিকাল চলমান নেই। আপনি যদি চান তবে আপনার ডেস্কটপের সাথে এটি পরীক্ষা করে তুলনা করতে এই আদেশটি দিতে পারেন:

systemctl list-dependencies graphical.target 

আমার উবুন্টু 16.04 সার্ভারে, আমি দেখতে পাচ্ছি যে লক্ষ্যগুলি "ডিসপ্লে-ম্যানেজার। সার্ভিস" এর উপর নির্ভর করে তবে কোনও ডিসপ্লে ম্যানেজার ইনস্টল বা চলমান নেই is

আমি আশা করি উবুন্টু সার্ভারগুলি কোনও ধরণের ধারাবাহিকতার জন্য এইভাবে সেট করা আছে, যদিও আমি সম্মত করি যে এটি বিভ্রান্তিকর।


বিভ্রান্তিকর প্যারিটির সাথে একমত কেউ সম্ভবত সম্ভবত ডি স্থাপন না করা যথেষ্ট বলে মনে করেন
রিনজউইন্ড

@ রিনজুইন্ড, আমি আপনার বাক্যাংশটি বুঝতে পারি না "ডি স্থাপন করা যথেষ্ট নয়" (ইংরেজিটি আমার প্রাথমিক ভাষা নয়)
রমি বি।

ধারাবাহিকতার প্রয়োজন সম্পর্কে আপনি সম্ভবত সঠিক। সার্ভার সংস্করণটি কি ডেবিয়ান থেকে বিকল্প উপায়ের পরিবর্তে ডেস্কটপ থেকে নির্মিত?
রুমি বি।

'ডি' মানে ডেস্কটপ এনভায়রনমেন্ট। আমার কয়েক বছর আগে একটি নোটিশ মনে পড়ে যেখানে উবুন্টু 1 বেস সিস্টেম ব্যবহার শুরু করেছিল; তবে আমি জানি না যে তারা ডেস্কটপ তৈরি করতে কোনও সার্ভার ব্যবহার করেন বা তারা কোনও সার্ভার তৈরি করতে ডেস্কটপ ব্যবহার করেন কিনা। "গ্রাফিকাল.টারেজ" ডেস্কটপ পরিষেবা সেট করে; "" এর মান থাকতে পারে এবং তারপরে কোনও ডিই শুরু না করে তবে এটি বিভ্রান্তিকর হয় (আমি প্রত্যাশা করেছিলাম যে একটি মান এবং সার্ভারটি "
মাল্টি

8

থেকে RedHat ম্যানুয়াল :

উদাহরণস্বরূপ, গ্রাফিকাল.এটারজেট ইউনিট, যা গ্রাফিকাল সেশন শুরু করতে ব্যবহৃত হয়, সিস্টেম পরিষেবাগুলি যেমন জিনোম ডিসপ্লে ম্যানেজার (gdm.service) বা অ্যাকাউন্টস সার্ভিস (অ্যাকাউন্টস-ডেমন.সার্ভিস) শুরু করে এবং বহু-ব্যবহারকারীকে সক্রিয় করে। লক্ষ্য ইউনিট একইভাবে, মাল্টি-ইউজার.আরগারেট ইউনিট অন্যান্য প্রয়োজনীয় সিস্টেম পরিষেবাদি যেমন নেটওয়ার্ক ম্যানেজার (নেটওয়ার্কমেজেনজার্জার্ভেসিস) বা ডি-বাস (dbus.service) শুরু করে এবং বেসিক.টারাজেট নামে আরও একটি লক্ষ্য ইউনিট সক্রিয় করে।

সুতরাং এটি সেট করা ভুল হবে না কারণ প্রদর্শন পরিষেবা পরিচালনা করে এমন পরিষেবা সেট না করা হলে এটি ডিসপ্লে ম্যানেজারটিকে সক্রিয় করে না।

সার্ভারের জন্য আপনি এটি সেট করতে পারেন multi-user.targetতবে এটির প্রয়োজন নেই। দেখে মনে হচ্ছে আপনি রানলেভেল 4 এ শেষ করেছেন এবং আপনি যখন করবেন না তখন রানলেভেল 5।

Runlevel    Target Units    Description
0   runlevel0.target, poweroff.target   Shut down and power off the system.
1   runlevel1.target, rescue.target     Set up a rescue shell.
2   runlevel2.target, multi-user.target     Set up a non-graphical multi-user system.
3   runlevel3.target, multi-user.target     Set up a non-graphical multi-user system.
4   runlevel4.target, multi-user.target     Set up a non-graphical multi-user system.
5   runlevel5.target, graphical.target  Set up a graphical multi-user system.
6   runlevel6.target, reboot.target     Shut down and reboot the system. 

আমি ডাউনটাতে প্রতিক্রিয়াটির প্রশংসা করব।
রিনজউইন্ড

1

লক্ষ্যে গাছের নির্ভরতার প্রথম স্তরের বিশদগুলিতে আরও তদন্ত করা graphical.target:

admin@server1604:~$ systemctl list-dependencies graphical.target 
graphical.target
● ├─accounts-daemon.service
● ├─apache2.service
● ├─apport.service
● ├─display-manager.service              (disabled)
● ├─grub-common.service
● ├─irqbalance.service
● ├─mdadm.service
● ├─ondemand.service
● ├─sysstat.service
● ├─systemd-update-utmp-runlevel.service (disabled)
● ├─ureadahead.service                   (disabled)
● └─multi-user.target

এটি প্রথম স্তরের সাথে তুলনা করে multi-user.target:

admin@server16.04:~$ systemctl list-dependencies multi-user.target
multi-user.target
● ├─apache2.service
● ├─apport.service
● ├─atd.service
● ├─cron.service
● ├─dbus.service
● ├─grub-common.service
● ├─irqbalance.service
● ├─lxcfs.service
● ├─lxd-containers.service
● ├─mdadm.service
● ├─networking.service
● ├─ondemand.service
● ├─open-vm-tools.service

...

আমি যে লক্ষ্য যদি আমরা এ অক্ষম লক্ষ্যমাত্রা অপসারণ graphical.target(গাছ display-manager.service, systemd-update-utmp-runlevel.service, ureadahead.service), অবশিষ্ট বেশী প্রায় সব:

  • apache2.service
  • apport.service
  • grub-common.service
  • grub-common.service
  • irqbalance.service
  • mdadm.service
  • ondemand.service
  • এবং sysstat.service

ইতিমধ্যে এর নির্ভরতা গাছের প্রথম স্তরের অন্তর্ভুক্ত multi-user.target

যদিও, আমাদের এই সত্যটি সম্পর্কে আবার জিজ্ঞাসা করা উচিত, কারণ graphical.targetনির্ভর করে কারণ এই সমস্ত জিনিসটির multi-user.targetকোনও প্রয়োজন নেই। এটি যথেষ্ট অদ্ভুত শোনায়।

তবে এই হ্রাসের পরে, এটি একটি পরিষেবা রয়ে গেছে accounts-daemon.service, রিনজুইন্ড তার মন্তব্যে উল্লেখ করেছেন

সুতরাং আমরা ধরে নিতে পারি যে এটি graphical.targetলোড করার জন্য প্রয়োজন accounts-daemon.service

যাইহোক, সেক্ষেত্রে এটি আবার অদ্ভুত, কারণ আমি পাতলা করে সে উদ্দেশ্যে একটি উত্সর্গীকৃত লক্ষ্য তৈরি করা আরও বোধগম্য হতে পারে, সম্ভবত accounts.targetএটির মতো কোনও বর্ণনা বা কোনও সঠিক শব্দ to যাইহোক, সম্ভবত ক্যানোনিকাল বিকাশকারীদের এমন চিন্তাভাবনা করার কারণ ছিল।

তবে আমি এর কারণগুলি জানতে আগ্রহী রয়েছি।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.