সিস্টেমডের সাহায্যে কীভাবে কম টিটিস পাবেন?


29

পুরনো সেই দিনের কথায় আমি শুধু পরিবর্তিত /etc/inittab। এখন, সিস্টেমেড দিয়ে, এটি টিটিআই [1-6] স্বয়ংক্রিয়ভাবে শুরু হবে বলে মনে হচ্ছে, আমি কীভাবে tty [4-6] অক্ষম করব?

দেখে মনে হচ্ছে কেবলমাত্র একটি সিস্টেমড সার্ভিস ফাইল রয়েছে এবং এটি %Iবিভিন্ন টিটিটি সেশনগুলি সনাক্ত করতে একটি ব্যবহার করে । আমি আশা করি আমার সেই পরিষেবাটি সরানোর দরকার নেই এবং প্রতিটি getty@ttyX.serviceনিজেই তৈরি করতে হবে ।

উত্তর:


35

"অতিরিক্ত" টিটিওয়াইগুলি নিষ্ক্রিয় করার কোনও বাস্তব প্রয়োজন নেই কারণ systemdচাহিদা অনুসারে গেটগুলি তৈরি হয়: man systemd-getty-generatorবিস্তারিত দেখুন। মনে রাখবেন, ডিফল্টরূপে, এই স্বয়ংক্রিয় স্পানিংটি কেবলমাত্র ভিটি 6 পর্যন্ত (ট্রেডিটোনাল লিনাক্স সিস্টেমের নকল করতে) ভিটিগুলির জন্য সম্পন্ন হয়।

যেমন লেনার্ট 1 ব্লগ পোস্টে বলেছেন :

জিনিসগুলিকে আরও দক্ষ করতে লগইন প্রম্পটগুলি এখন কেবলমাত্র চাহিদা অনুযায়ী শুরু করা হয়। আপনি ভিটিগুলিতে স্যুইচ করার সাথে সাথে গেটি সার্ভিসটি getty@tty2.service, getty@tty5.service ইত্যাদিতে ইনস্ট্যান্ট করা হয়। যেহেতু আমাদের শর্তহীনভাবে গেটটি প্রক্রিয়া আর শুরু করতে হবে না এটি আমাদের কিছু সংস্থান সংরক্ষণ করতে দেয় এবং স্টার্ট-আপটি আরও দ্রুত করে তোলে।

আপনি যদি একটি নির্দিষ্ট সংখ্যক গেটটি কনফিগার করতে চান, তবে আপনি logind.confউপযুক্ত এন্ট্রি সহ কেবলমাত্র পরিবর্তন করতে পারেন, উদাহরণস্বরূপ 3:

NAutoVTs=3


১. প্রকৃতপক্ষে প্রশাসনের জন্য 18 টি সিস্টেমযুক্ত পোস্টগুলির পুরো সিরিজটি পড়ার পক্ষে উপযুক্ত।


উত্তরের জন্য ধন্যবাদ, জেসন। আমার সংস্থার অ্যাপ্লিকেশনটি একটি ফিজিকাল সার্ভারে প্রেরণ করা হয়েছে এবং পুরানো বিতরণগুলিতে আমরা অন্যান্য টিটিগুলি লক আউট করার জন্য inittab সংশোধন করব।
jcbwlkr

11

ডেবিয়ান-ভিত্তিক সিস্টেমে এমন একটি ফাইল রয়েছে যা আপনি সবেমাত্র একটি সার্ভার (ডিবিএস পরিষেবা ব্যতীত) তৈরি করে থাকলে প্রারম্ভকালে 5 টি অতিরিক্ত গেটটি প্রবর্তন করতে পারে:

/lib/systemd/system/getty.target.wants/getty-static.service

এতে বলা হয়েছে:

[Service]
Type=oneshot
ExecStart=/bin/systemctl --no-block start getty@tty2.service getty@tty3.service getty@tty4.service getty@tty5.service getty@tty6.service
RemainAfterExit=true

কেবল এই ফাইলটি মোছার ফলে অতিরিক্ত গেটটি স্প্যানিং থেকে বিরত হবে। আপনি যদি কেবলমাত্র একটি অতিরিক্ত গতি পেতে চান (তবে 2 টি কনসোলের জন্য) তালিকাটি সংক্ষিপ্ত করে নিন। নোট করুন যে আপনি স্বয়ংক্রিয়ভাবে টিটি 1 তে একটি পাবেন তাই আপনার সর্বদা কমপক্ষে একটি ভার্চুয়াল কনসোল থাকে।

আরও দেখুন: সিস্টেমড-লগইনড। ডিভাইস অনুপস্থিত থাকলে পরিষেবা শুরু করতে ব্যর্থ হয়


2
এনবি: ফাইলটি সিস্টেমড প্যাকেজটির মালিকানাধীন, তাই এটি পরিবর্তন বা মুছতে dpkg-divertপ্রথমে ব্যবহার করুন । তবে, এটিকে বাইরে বেরিয়ে আসার একটি পদ্ধতিগত-দেশীয় উপায় রয়েছে - চালান sudo systemctl mask getty-static.serviceএবং নিজের মধ্যে সেট আপ করুন/etc
জোসিপ রডিন

2
maskএকটি সক্রিয় পরিষেবাটি করানো শোরগোলের বিষয় , এটির সামগ্রীতে/etc ওভাররাইড করার জন্য একই নামে একটি ইউনিট তৈরি করা আরও পরিষ্কার হবে। আপনি যদি জিরো স্ট্যাটিক গেটটি শুরু করতে চান তবে এক্সিকিস্টার্ট = / বিন / সত্য ব্যবহার করুন।
সোর্সজেডি

অন্য সিস্টেমযুক্ত সঠিক উপায়টি হ'ল প্যাকেজ সংস্করণটি ওভাররাইড করা উচিত (আপনার অবশ্যই সেই ফাইলটি মুছে ফেলা উচিত নয়) sudo systemctl edit getty-static.serviceযা একটি ওভাররাইড ফাইল তৈরি করবে যা /libএকের চেয়ে বেশি অগ্রাধিকার নেয়
রাইজার

8

সম্ভাব্য 1-3 এবং 7-9 কাজ করার সময় নির্দিষ্ট টিটিওয়াই 4-6 তে গেটিগুলি অক্ষম করতে, চালান:

for i in {4..6}; do
  systemctl mask getty@tty${i}.service
done

maskসিমলিংক তৈরি করে /etc/systemd/system/{name} -> /dev/nullযা কার্যকরভাবে পরিষেবাটি অক্ষম করে। এটি দিয়ে চালানোর চেষ্টা systemctl startত্রুটি প্রদর্শন করবেFailed to start NAME.service: Unit NAME.service is masked.

আপনার যদি এ। সার্ভিস থাকে Wants=masked.serviceতবে start Aসফল হবে তবে জার্নালে নির্ভরতা শুরুর ত্রুটি উত্পন্ন করবে।

আপনার যদি B.service থাকে Requires=masked.serviceতবে ব্যর্থও start Bহবে।

হ্যাঁ, নেক্রোয়ানসওয়ার। চিয়ার্স।

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