সাধারণ ব্যবহারকারী সিস্টেমড পরিষেবাদির জন্য কোথায় / কেন লগ নেই?


26

আমি বেসিক সিস্টেমযুক্ত ব্যবহার শিখার চেষ্টা করছি এবং আমি ব্যবহারকারীর পরিষেবা ইউনিটগুলির সাথে একটি বিভ্রান্তিমূলক সমস্যা নিয়ে চলেছি।

যখন সিস্টেমসিটিএল দিয়ে সাধারণ পরিষেবাগুলি চালনা করা হয় কিছু শুরু করুন serv সার্ভিস আমি এই সার্ভিসের সম্পূর্ণ লগটি খুঁজে পেতে পারি (এটি স্টাডাউট / স্টার্ডারকে যা প্রিন্ট করেছে তা সহ) আমি সুডো জার্নাক্টল চালিয়ে যাচ্ছি - ইউনিক কিছু.সার্ভিস

উদাহরণস্বরূপ servicefile বিবেচনা chatty.service :

[Service]
ExecStart=/usr/bin/echo "test from chatty.service"

আমি এই পরিষেবাটি ফাইল স্থাপন যখন ~ / .config / systemd হল / ব্যবহারকারী / chatty.service এবং এটি চালানোর systemctl --user chatty.service শুরু আমি তার আউটপুট stdout- এ পাঠানো খুঁজে পাচ্ছি না journalctl মধ্যে, তন্ন তন্ন প্লেইন সঙ্গে journalctl না সঙ্গে journalctl - -user । আমি উভয়ই নিম্নলিখিত ফলাফল পেতে পারি:

Jan 15 19:16:52 qbd-x230-suse.site systemd[1168]: Starting chatty.service...
Jan 15 19:16:52 qbd-x230-suse.site systemd[1168]: Started chatty.service.

এবং জার্নালটিএল - ইউনাইট চ্যাটি। সার্ভিস কিছুতেই কিছু ফেরায় না (ব্যবহারকারীর সাথে বা ছাড়াই কোনও পার্থক্য নেই)।

আমি যদি একই পরিষেবা ফাইলটি / etc / systemd / সিস্টেমে স্থানান্তরিত করি এবং এটি sudo systemd start chatty.service দিয়ে চালিত করি তবে আমি সুডো জার্কিটল - ইউনাইট চ্যাটি.সার্ভিস চালানোর সময় নিম্নলিখিত আউটপুটটি পাই :

Jan 15 19:28:08 qbd-x230-suse.site systemd[1]: Starting chatty.service...
Jan 15 19:28:08 qbd-x230-suse.site systemd[1]: Started chatty.service.
Jan 15 19:28:08 qbd-x230-suse.site echo[27098]: test from chatty.service

দেখে মনে হচ্ছে যে ইউজার সার্ভিস ইউনিট কোনওভাবেই সুসংহত নয়, এটি কি প্রত্যাশিত, আমি কি কিছু হারিয়ে যাচ্ছি বা এটি কোনও বাগ?

আমি সিস্টেমড 208 (ডিফল্ট ইনস্টল) সহ ওপেনসুএস 13.1 x86-64 চালাচ্ছি।


আর্ক লিনাক্সে এখানে একই সিস্টেমড 208। আপনি journalctl --user --user-unit chattyসিস্টেমেড থেকে এগুলি শুরু / বন্ধ বার্তা পেতে ব্যবহার করতে পারেন , তবে প্রতিধ্বনির প্রক্রিয়া আউটপুট যা তা নয়, আমার ক্ষেত্রে অন্তত। আপনি প্রতিধ্বনিত বার্তাটি পেতে journalctl --userবা অন্য কোনও ফিল্টার ব্যবহার করতে পারেন।
লিলিডজ্বইউ

উত্তর:


20

--user-unitবিকল্পটি ব্যবহার করুন এবং আপনার ক্ষেত্রে ...

journalctl --user-unit chatty

আপনি কি লগ আউটপুটে "chatty.service থেকে পরীক্ষা" স্টডআউট বার্তাটি পেয়ে যাচ্ছেন, বা কেবল "চ্যাটটি.সার্ভিস শুরু হচ্ছে ..." এবং "শুরু করা চ্যাটি.সার্ভিস" " বার্তা?
কোয়ান্টম্বোরডম

হ্যাঁ, আমি প্রক্রিয়াটি থেকেও আউটপুট পেতে সক্ষম হয়েছি (যেমন "চ্যাটি। সার্ভিস" বার্তা থেকে পরীক্ষা)।
elynnaie

এটাই আমি প্রত্যাশা করছিলাম তবে আমি এটি এখানে দেখছি না। আপনি কি অপারেটিং সিস্টেমটি (ভার্সন সহ) চলছেন তা জানতে পারি?
কোয়ান্টম্বোরডম

আর্চ লিনাক্স 3.13.7-1। সিস্টেমেড সংস্করণ 212.
এলিএনইই

2
আমি এখন প্রধান জার্ন্টল এ আউটপুটটি দেখতে পাচ্ছি। কিন্তু আমি যখন চলমান চেষ্টা journalctl --userআমি পেতে No journal files were found.আর journalctl --user-unit chattyআমার জন্য কাজ করে নি।
সিএমসিডিগ্রাগনকাই

6

নেক্রোপোস্টিং, তবে আমি আজ একই সমস্যার মুখোমুখি হয়েছি এবং সমাধান করেছি। আপনি সম্ভবত journalctl --user-unit chattyএটি কাজ করেছেন না কারণ আপনি এটিকে মূল থেকে চালান। তবে, প্রতি man journalctl, --user-unitশুধুমাত্র দ্বারা নয় _SYSTEMD_USER_UNIT=, দ্বারা লগ এন্ট্রি ফিল্টার করে _UID=এবং chattyমূলের ইউআইডি সহ কোনও পরিষেবা নেই , সুতরাং কোনও এন্ট্রি পাওয়া যায় না ries

সম্ভবত journalctl --user-unit chattyআপনিও নিজের সাধারণ ব্যবহারকারীর কাছ থেকে চালনার চেষ্টা করেছেন , কিন্তু পেয়েছেন No journal files were found। এটি ঘটে কারণ (এবং সমস্ত ব্যবহারকারীরা তাদের ব্যক্তিগত প্রতি ব্যবহারকারী জার্নালগুলিতে এখান থেকে man journalctlবিভ্রান্তিকর হতে পারে) এর জন্য অ্যাক্সেস মঞ্জুরিপ্রাপ্ত হতে পারে) আমার ডেবিয়ান 9 জার্নিটলটিতে এখনও ডিফল্টরূপে স্থির থাকে না ( Storage=autoমধ্যে /etc/systemd/journald.conf, এবং /var/log/journal/অস্তিত্ব নেই), এবং অ- ক্রমাগত মোড journaldবিভাজন লগ সমর্থন করে না, তাই সব লগ একক জায়গায় শেষ /run/log/journalসত্য যে বিভাজন ডিফল্টরূপে চালু করা হয় সত্ত্বেও - দেখুন SplitModeমধ্যে man journald.conf। অধ্যবসায় সক্ষম করা এটিকে ঠিক করে দেয়।

টি এল; ডিআর: নির্বাণ দ্বারা জিদ সক্ষম Storage=persistentকরতে /etc/systemd/journald.confএবং journald পুনরায় লোড sudo systemctl restart systemd-journald

বিকল্পভাবে, অনুসন্ধান করুন sudo journalctl _SYSTEMD_USER_UNIT=chatty.service

আরও কিছু বিশদ https://lists.freedesktop.org/archives/systemd-devel/2016- অক্টোবর/ 037554 . html এ রয়েছে


2
ধন্যবাদ. No journal files were opened due to insufficient permissions.অনুমতি নির্ধারণ সম্পর্কে আমি একটি বিভ্রান্তিকর "ইঙ্গিত" পেয়ে যাচ্ছিলাম , তবে আমার অনুমতি নির্ধারণ করা উচিত নয় কারণ আমি সিস্টেম লগ নয়, ব্যবহারকারী লগগুলি অ্যাক্সেস করার চেষ্টা করছি। আপনার ফিক্স কাজ করেছে। অনেক ধন্যবাদ.
রল্ফ

3

Systemd v230 অবধি--user-unit আপনার ব্যবহারকারীর ইউনিটের লগগুলি দেখতে আপনাকে স্বল্প স্বজ্ঞাত পতাকা ব্যবহার করতে হয়েছিল :

journalctl --user-unit chatty

Systemd v230 যেহেতু, আপনি এখন প্রত্যাশা অনুযায়ী পতাকা --userএবং --unitপতাকাগুলি একত্রিত করতে পারেন:

journalctl --user --unit chatty

--user --unitসিনট্যাক্স উবুন্টু 17,10 থেকে সমর্থিত।


2
আমি "--user --unit" বৈশিষ্ট্যটি v230 তে কাজ করে না ... এখানে v232 চলছে, এবং এই বৈশিষ্ট্যটি কাজ করে না
লেজেক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.