@ প্রতীক এবং systemctl এবং vsftpd


27

আমার দুটি অংশের প্রশ্ন আছে।

  1. Systemctl স্ক্রিপ্টগুলিতে @ প্রতীকটির তাত্পর্যটি কী?

  2. ফেডোরা ১ in এ vsftpd কীভাবে শুরু করবেন, (কোন টিউটোরিয়ালে এটির নামে একটি @ রয়েছে বলে মনে হয়)? টিউটোরিয়ালগুলি বলার মতো আমি করেছি এবং এটি এখনও আমাকে একটি ত্রুটি দেয়। http://blog.tuxforge.com/fedora-16-vsftpd/

আমি যা করেছি

systemctl enable vsftpd@.service

যা দেখছি

Failed to issue method call: No such file or directory

(আমি এটিও পরম পথ দিয়ে চেষ্টা করেছি এবং আমি পরীক্ষা করে দেখার পরে এরকম কোনও ফাইল নেই। আসল ফাইলটিতে @ চিহ্ন নেই, এবং / lib / systemd / system / ডিরেক্টরিতে অবস্থিত located আমি চেষ্টাও করেছি @ প্রতীকটি দিয়ে এবং এর বাইরে থাকা এবং সক্ষম করা, কাজগুলি সক্ষম করে তবে শুরু করে না I আমি বুঝতে পারি নিবন্ধটি এখন অপ্রচলিত, তবে এখনও আমি পরিষেবাটি চালু করার মতো মনে করতে পারছি না When

সম্পাদনা: একরকমভাবে পরিষেবাটি শুরু করার জন্য আমি পরিষেবাটি পেয়েছি, তবে আমি এখনও কিছু জানতে চাইছি যে @ প্রতীকটি কোনও পরিষেবা নামের অর্থ। এছাড়াও আমি এখনও লগইন ত্রুটির নম্বর পাচ্ছি # 500 ডিরেক্টরি পরিবর্তন করতে পারে না [...], এর অর্থ কী?

এটি শুরু করতে আমি কেবল টাইপ করেছি

sudo systemctl enable vsftpd.service

sudo systemctl start vsftpd.service (the problem was I was using an absolute path for this I think)

উত্তর:


48

@প্রতীক বিশেষ সেবা, সকেট, এবং অন্যান্য ইউনিট যেখানে একাধিক দৃষ্টান্ত চলবে জন্য।

উদাহরণস্বরূপ, getty@.serviceসেই পরিষেবাটি যা পাঠ্য লগইন টার্মিনাল সরবরাহ করে। যখন আপনি টিপুন Ctrl+ + Alt+ + F2, getty@tty2.serviceশুরু হয়, ভার্চুয়াল টার্মিনাল # 2 তৈরি করা।

এই কার্যকারিতাটি ব্যবহার করে এমন আরেকটি পরিষেবা হ'ল ওপেনভিপিএন। আপনি একটি ফাইল তৈরি করতে পারেন /etc/openvpn/work.conf, আপনার কর্মক্ষেত্রে ভিপিএন এর সাথে সংযোগের জন্য কনফিগার করা হয়েছে এবং তারপরে systemctl start openvpn@work.serviceএটিতে সংযোগ স্থাপন করতে পারেন। একইভাবে, আপনি তৈরি করতে পারেন /etc/openvpn/home.conf, তারপরে openvpn@home.serviceআপনার বাড়িতে ভিপিএন থাকলে শুরু করুন। এটি .serviceআপনাকে সংযুক্ত হওয়া প্রতিটি ভিপিএন এর জন্য একটি ফাইল তৈরি করতে বাধা দেয় ।

তবে এর জন্য আমার কথাটি নেবেন না। চেষ্টা কর! আসুন একটি সরল পরিষেবা তৈরি করুন যা সিসলোগে একটি বার্তা আউটপুট করে। /etc/systemd/system/echo@.serviceনিম্নলিখিত বিষয়বস্তু সহ একটি ফাইল তৈরি করুন :

[Unit]
Description=Echo '%I'

[Service]
Type=oneshot
ExecStart=/bin/echo %i
StandardOutput=syslog

লক্ষ্য করুন %i? সিস্টেমড @সার্ভিস শুরু হওয়ার সাথে সাথে যা কিছু সাইন অনুসরণ করে তা তৈরি করবে । সুতরাং, শুরু করার চেষ্টা করুন echo@foo.service:

systemctl start echo@foo.service

তারপরে, জার্নালটি পরীক্ষা করুন :

 journalctl -n10

নীচে, আপনি দেখতে পাবেন যে সিস্টেমড দৌড়েছে /bin/echo foo:

Feb 24 12:41:01 localhost echo[8412]: foo

এখন, চেষ্টা করুন systemctl start echo@bar.service। এবার systemd হল পূরণ হবে %iসঙ্গে bar, তাই আপনি দেখতে পাবেন:

Feb 24 12:42:51 localhost echo[8432]: bar

এখানেই শেষ এটা পেতে ওখানে যাও! যেকোনো কিছুই সম্ভাব্যভাবে @সাইনটি অনুসরণ করতে পারে , যেমন সিস্টেমড কেবল এর %iসাথে পরিষেবার সংজ্ঞাটিতে প্রতিস্থাপন করে। ওপেনভিপিএন এটি কনফিগারেশনের জন্য ব্যবহার করে, অন্যান্য পরিষেবাদিগুলি অন্য কোনও কিছুর জন্য ব্যবহার করতে পারে যেমন কোনও বন্দর নম্বর।

আরও তথ্যের জন্য, দেখুন man systemd.unit


1
এগুলি কি @ প্রতীক অন্তর্ভুক্তি ব্যতীত সাধারণ পরিষেবাগুলির মতো শুরু এবং বন্ধ হয়ে গেছে? উদাহরণস্বরূপ, যদি আমি দ্বিতীয়বারের জন্য পরিষেবাটি শুরু করি তবে আমি কি আবার শুরু করব? আপনি একাধিক উদাহরণ শুরু করবেন কীভাবে?
রুবিক্সবিক

হ্যাঁ, @সাইন অনুসরণ করে পাঠ্যটি যথাযথভাবে পরিবর্তন করুন । আমি কীভাবে এটি কাজ করে তা পরীক্ষা করে দেখতে একটি উদাহরণ যুক্ত করেছি।
প্যাচগুলি

@ প্যাচস: "@ প্রতীকটি বিশেষ পরিষেবাগুলির জন্য যেখানে একাধিক উদাহরণ চালানো যেতে পারে?" আমি এটা দেখতে না freedesktop.org/software/systemd/man/systemd.service.html
pevik

এটি systemd.unit- এ বর্ণিত । এটি সকেট এবং অন্যান্য ধরণের ইউনিটের জন্যও কার্যকর । (এখনই উত্তর যোগ করা হয়েছে, ধন্যবাদ। :-)
প্যাচগুলি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.