কমান্ড লাইন থেকে আপডেট হওয়া প্যাকেজের সংখ্যাটি কীভাবে খুঁজে পাবেন?


34

আমি ফ্যাব্রিক ব্যবহার করে কিছু সিস্টেম অ্যাডমিন অটোমেশন নিয়ে কাজ করছি এবং আমি একটি নির্দিষ্ট মেশিনে আপগ্রেড করার জন্য প্রয়োজনীয় প্যাকেজগুলির সংখ্যা পর্যবেক্ষণ করতে সক্ষম হতে চাই। এটি একই তথ্য যা আমি দেখতে পাচ্ছি যখন আমি প্রথম কোনও মেশিনে লগইন করি, এই অংশটি:

35 packages can be updated.
22 updates are security updates.

এমন কোন আদেশ আছে যা আমি চালাতে পারি (অগ্রাধিকার ব্যতীত sudo) যা কেবল সেই তথ্য দেয়?

আমি এপথ-পাইথনের বাইন্ডিংগুলি দেখেছি, তবে তাদের উচ্চ শিক্ষার বক্ররেখা রয়েছে বলে মনে হয় এবং এগুলিও অনেকটা পরিবর্তিত হবে বলে মনে হয় - আমি এমন কিছু চাই যা কমপক্ষে খুব কমপক্ষে পিছনে লুসিড হিসাবে কাজ করবে বিভিন্ন উবুন্টু সংস্করণে বিভিন্ন জিনিস করুন।

উত্তর:


33

এই আউটপুটটি পেতে, আপনি কমান্ডটি ব্যবহার করতে পারেন

sudo /usr/lib/update-notifier/update-motd-updates-available

বা, আপনি যদি ব্যবহার করতে না চান sudo,

cat /var/lib/update-notifier/updates-available

ব্যাখ্যা

loginআবেদন শো আউটপুট ফাইলে পাওয়া /etc/motd, যে করার জন্য একটি সিম্বলিক লিঙ্ক /var/run/motd

এই শেষ ফাইলটি mounted-varrunপরিষেবা এবং বিশেষত বিশেষত /etc/init/mounted-varrun.confসমস্ত স্ক্রিপ্টগুলি আমন্ত্রণ করে সেবা দ্বারা আপডেট হয়েছে/etc/update-motd.d/

/etc/update-motd.d/90-updates-available

যে পরিবর্তে স্ক্রিপ্ট কল

/usr/lib/update-notifier/update-motd-updates-available

এই স্ক্রিপ্টটি বিভিন্ন ক্রিয়া চালায় এবং শেষ পর্যন্ত পাঠ্য ফাইলে আউটপুট লিখে writes

/var/lib/update-notifier/updates-available

সম্পাদনা

প্রশ্নের রিবুট অংশটি সম্পর্কে, এই আদেশটি চালান run

/usr/lib/update-notifier/update-motd-reboot-required

রিবুট প্রয়োজন না হলে এটি কোনও আউটপুট দেবে না।


আমি কেবল ১১.০৪ চলমান একটি মেশিনে পরীক্ষা করছি এবং বাইবু ৪৪ টি আপডেটের প্রয়োজন দেখায়। catআপনার প্রস্তাবিত ফাইলটি আইং ফাঁকা, এবং আপনি যে স্ক্রিপ্টটি নির্দেশ করেছেন প্রথমে এই মেশিনটিতে বিদ্যমান নেই - এটি কি কোনও প্যাকেজে ইনস্টল করা দরকার? আমার কাছে আছে /usr/lib/update-manager, তবে কোনও update-notifierডিরেক্টরি নেই।
কায়েস

11.04 ডেস্কটপে পরীক্ষিত। এগুলির সাথে সম্পর্কিত ফাইলগুলি update-notifier-commonএকটি নতুন ইনস্টলেশনতে স্বয়ংক্রিয়ভাবে ইনস্টল হয়েছিল (10.10 থেকে আপগ্রেড নয়)।
enzotib

আমি আরও কিছু মেশিন তাকিয়েছি। যাঁদের কাছে এটি রয়েছে তাদের /var/lib/update-notifier/apt-checkদেখে মনে হচ্ছে এটি দুটি সংখ্যা, অর্থাৎ 43; 24 (43 আপডেটগুলি, 24 সুরক্ষা সম্পর্কিত) ফিরিয়ে দেয়, তবে তা আমার সমস্ত মেশিনে প্রদর্শিত হয় না। আমি মনে করি যে এই ফাইলটি বিভিন্ন সংস্করণে প্যাকেজগুলির মধ্যে স্থানান্তরিত হতে পারে।
কায়েস

21

আপনি শুধু এটি চালাতে পারবেন না কেন?

/usr/lib/update-notifier/apt-check --human-readable

তথ্যটি সংগ্রহ করতে / ইউএসআর / লিব / আপডেট-নোটিফায়ার / আপডেট-মোড্ড-আপডেট-উপলভ্য তা কমপক্ষে উবুন্টু সংস্করণে আমি ব্যবহার করছি (12.10)।



2
এটি স্ট্যান্ডার এর আউটপুট লিখুন। কে করবে?
কায়েস

2
এই পন্থাটি পছন্দ করুন যেহেতু এটি পুরো update-motdপ্যাকেজ এবং এর চিন্তাভাবনাটিকে পুরোপুরি সাইড করে। সরাসরি কমান্ড দেওয়ার জন্য ধন্যবাদ।
জেফ্লান্ট

3

আমি যখন কোনও মন্তব্য পেয়েছি তখন ন্যূনতম ডকার পাত্রে অন্তর্ভুক্ত আপডেট চেকের জন্য একটি স্ক্রিপ্টযুক্ত পদ্ধতিও অনুসন্ধান করি /usr/lib/update-notifier/apt-check :

apt-get -s -o Debug::NoLocking=true upgrade | grep ^Inst

এটি update-notifier-commonপ্যাকেজ ইনস্টল করার প্রয়োজন ছাড়াই স্ক্রিপ্টেড আপডেট চেকের অনুমতি দেয়


0

আপনি ( নাগিওস)check_apt থেকে প্লাগইনটি ব্যবহার করতে পারেনmonitoring-plugins-basicআপডেটগুলি পাওয়া যায় কি না তার উপর নির্ভর করে বিভিন্ন রিটার্ন কোড পাওয়ার সুবিধার সাথে আপনি ) :

$ /usr/lib/nagios/plugins/check_apt
APT WARNING: 18 packages available for upgrade (0 critical updates). |available_upgrades=18;;;0 critical_updates=0;;;0
$ echo $?
1

রিটার্ন কোডগুলির নিম্নলিখিত অর্থ রয়েছে:

  • 0 -> আপগ্রেড করার জন্য কোনও প্যাকেজ নেই
  • 1 -> আপগ্রেড করার জন্য অ সমালোচনামূলক প্যাকেজ উপলব্ধ
  • 2 -> সমালোচনামূলক আপডেট উপলব্ধ

তথ্যসূত্র:

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