দ্রষ্টব্য: এটি একটি "কীভাবে ডিবাগ করবেন", টিউটোরিয়াল হিসাবে শুরু হয়েছিল তবে সমাধানটি শেষ হয়েছিল যা আমাকে উবুন্টু 16.04 এলটিএস সার্ভারে সহায়তা করেছিল।
টিএলডিআর : চালাও landscape-sysinfo
এবং পরীক্ষা করুন যে এই কমান্ডটি শেষ হতে দীর্ঘ সময় নেয় কিনা; এটি একটি নতুন এসএসএইচ লগইনে সিস্টেম তথ্য প্রিন্টআউট। নোট করুন যে এই কমান্ডটি সমস্ত সিস্টেমে উপলভ্য নয়, landscape-common
প্যাকেজটি এটি ইনস্টল করে। ("তবে অপেক্ষা করুন, আরও কিছু আছে ...")
সমস্যা রয়েছে এমন মেশিনের অন্য একটি বন্দরে দ্বিতীয় এসএস সার্ভার শুরু করুন, এটি ডিবাগ মোডে করুন, যা এটি কাঁটাচামড়া তৈরি করবে না এবং ডিবাগ বার্তাগুলি মুদ্রণ করবে:
sudo /usr/sbin/sshd -ddd -p 44321
ভার্বোস মোডে অন্য কোনও মেশিন থেকে সেই সার্ভারের সাথে সংযোগ করুন:
ssh -vvv -p 44321 username@server
আমার ক্লায়েন্ট ঘুম শুরু করার ঠিক আগে নীচের লাইনগুলি আউটপুট করে:
debug1: Entering interactive session.
debug1: pledge: network
গুগলিং যা সত্যই সহায়ক নয়, তবে সার্ভার লগগুলি আরও ভাল:
debug3: mm_send_keystate: Finished sending state [preauth]
debug1: monitor_read_log: child log fd closed
debug1: PAM: establishing credentials
debug3: PAM: opening session
---- Pauses here ----
debug3: PAM: sshpam_store_conv called with 1 messages
User child is on pid 28051
আমি লক্ষ্য করেছি যে আমি যখন তখন পরিবর্তিত UsePAM yes
হই UsePAM no
তখন এই সমস্যাটি সমাধান হয়ে যায়।
সম্পর্কিত UseDNS
বা অন্য কোনও সেটিংয়ের সাথে সম্পর্কিত নয় , কেবলমাত্র UsePAM
আমার সিস্টেমে এই সমস্যাটিকেই প্রভাবিত করে।
আমার কাছে কোন প্রমান কেন আছে, এবং আমি আরো ছেড়ে যাবনা UsePAM
এ no
, কারণ আমি জানি না যা পার্শ্ব প্রতিক্রিয়া আছে, কিন্তু এই আমাকে তদন্ত অবিরত করতে দেয়।
সুতরাং দয়া করে এটি একটি উত্তর হিসাবে বিবেচনা করবেন না, তবে কী ভুল তা খুঁজে বের করার জন্য প্রথম পদক্ষেপ।
তাই আমি তদন্ত অব্যাহত, এবং দৌড়ে sshd
সঙ্গে strace
( sudo strace /usr/sbin/sshd -ddd -p 44321
)। এটি নিম্নলিখিত ফলস্বরূপ:
sendto(4, "<87>Nov 20 20:35:21 sshd[2234]: "..., 110, MSG_NOSIGNAL, NULL, 0) = 110
close(5) = 0
stat("/etc/update-motd.d", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
umask(022) = 02
rt_sigaction(SIGINT, {SIG_IGN, [], SA_RESTORER, 0x7f15dce784b0}, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_IGN, [], SA_RESTORER, 0x7f15dce784b0}, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
clone(child_stack=0, flags=CLONE_PARENT_SETTID|SIGCHLD, parent_tidptr=0x7ffde6152d2c) = 2385
wait4(2385, # BLOCKS RIGHT HERE, BEFORE THE REST IS PRINTED OUT # [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 2385
লাইনটি /etc/update-motd.d
আমাকে সন্দেহজনক করে তুলেছিল, দৃশ্যত প্রক্রিয়াটি যে স্টাফের মধ্যে রয়েছে তার ফলাফলের জন্য অপেক্ষা করে/etc/update-motd.d
তাই আমি cd
'মধ্যে ঘ /etc/update-motd.d
এবং দৌড়ে sudo chmod -x *
অর্ডার সব ফাইল যা এই গতিশীল উৎপন্ন চালানোর জন্য পিএএম বাধা হবে Message Of The Day
, যা সিস্টেম লোড অন্তর্ভুক্ত এবং আপগ্রেড করা হলে প্যাকেজ প্রয়োজন, এবং এই সমস্যা সমাধান।
এটি একটি "শক্তি-দক্ষ" N3150 সিপিইউ ভিত্তিক একটি সার্ভার যার 24/7 করার অনেক কাজ রয়েছে, সুতরাং আমি মনে করি যে এই সমস্ত মোড-ডেটা সংগ্রহ করা এটির জন্য খুব বেশি ছিল।
কোনটি কম ক্ষতিকারক তা দেখার জন্য আমি সেই ফোল্ডারে সিলেক্ট করে সক্রিয় করতে শুরু করতে পারি, তবে বিশেষভাবে কল landscape-sysinfo
করা খুব ধীর এবং 50-landscape-sysinfo
এই আদেশটি কল করে না। আমি মনে করি যে এটিই সবচেয়ে বড় বিলম্বের কারণ causes
বেশিরভাগ ফাইল পুনর্নবীকরণের পরে আমি এই সিদ্ধান্তে এসেছি যে
50-landscape-sysinfo
এবং 99-esm
এটিই আমার সমস্যার কারণ ছিল। 50-landscape-sysinfo
কার্যকর করতে প্রায় 5 সেকেন্ড সময় নিয়েছিল এবং 99-esm
প্রায় 3 সেকেন্ড। সমস্ত ফাইলগুলি প্রায় 2 সেকেন্ড একত্রে।
না হয় 50-landscape-sysinfo
এবং 99-esm
গুরুত্বপূর্ণ। 50-landscape-sysinfo
আকর্ষণীয় সিস্টেমের পরিসংখ্যানগুলি মুদ্রণ করে (এবং আপনি যদি কম স্থানে থাকেন তবেও!) এবং 99-esm
সম্পর্কিত বার্তা প্রিন্ট করেUbuntu Extended Security Maintenance
অবশেষে আপনি একটি স্ক্রিপ্ট তৈরি করতে পারেন echo '/usr/bin/landscape-sysinfo' > info.sh && chmod +x info.sh
এবং অনুরোধের পরে সেই মুদ্রণটি পেতে পারেন।