সর্বাধিক ইনস্টল হওয়া প্যাকেজগুলির তালিকা পাওয়া কি সম্ভব?


156

অ্যাপটি-গেটের মাধ্যমে অতি সম্প্রতি ইনস্টল হওয়া প্যাকেজগুলির তালিকা পাওয়া সম্ভব?



1
এখন, কেবলমাত্র যদি কেউ আমাকে জানায় যে আমি নিজেই ইনস্টল করা প্যাকেজগুলি কীভাবে তালিকাভুক্ত করতে পারি যা আমি ইতিমধ্যে অপসারণ করেছি। দীর্ঘশ্বাস, লিনাক্স।
আলেকসান্দ্র ডাবিনস্কি

@ আলেকসান্ডারডুবিনস্কি এটি apt-mark showmanual | lessকরেন না?
GKFX

@ জি কেএফএক্স আমি সম্প্রতি ইনস্টল করা প্যাকেজগুলির প্রসঙ্গে বলতে চাইছি।
আলেকসান্দ্র ডাবিনস্কি

@AleksandrDubinsky আপনি ব্যবহার করতে চাই comm -12 a bসঙ্গে aএকটি সাজানো কপি apt-mark showmanualএবং bনীচের উত্তর এক থেকে একটি সাজানো তালিকা।
GKFX

উত্তর:


180

সম্প্রতি ইনস্টল হওয়া প্যাকেজগুলি তালিকাভুক্ত করার জন্য আদেশ যা কোনও পদ্ধতির মাধ্যমে ইনস্টল করা হয়েছিল ( apt-get, সফ্টওয়্যার কেন্দ্র এবং অন্যান্য):

grep " install " /var/log/dpkg.log

উদাহরণ আউটপুট:

2010-12-08 15:48:14 install python-testtools <none> 0.9.2-1
2010-12-08 15:48:16 install quickly-widgets <none> 10.09
2010-12-08 22:21:31 install libobasis3.3-sdk <none> 3.3.0-17
2010-12-09 12:00:24 install mc <none> 3:4.7.0.6-1
2010-12-09 23:32:06 install oggconvert <none> 0.3.3-1ubuntu1
2010-12-09 23:34:50 install mpg123 <none> 1.12.1-3ubuntu1
2010-12-09 23:34:52 install dir2ogg <none> 0.11.8-1
2010-12-09 23:34:53 install faad <none> 2.7-4
2010-12-09 23:34:54 install wavpack <none> 4.60.1-1
2010-12-10 11:53:00 install playonlinux <none> 3.8.6

আপনি সম্প্রতি ইনস্টল করা প্যাকেজটির নাম তালিকাবদ্ধ করতে এই কমান্ডটি চালাতে পারেন,

awk '$3~/^install$/ {print $4;}' /var/log/dpkg.log

ইতিহাসের তালিকা দেওয়ার কমান্ড apt-get(দ্রষ্টব্য: এটি ইনস্টল করা নির্ভরতাগুলির তালিকা করে না, এটি কেবল পূর্ববর্তী apt-getকমান্ডগুলি চালিত করে যা তালিকাভুক্ত করে ):

grep " install " /var/log/apt/history.log

উদাহরণ আউটপুট:

Commandline: apt-get install libindicate-doc
Commandline: apt-get install googlecl
Commandline: apt-get --reinstall install ttf-mscorefonts-installer
Commandline: apt-get install valac libvala-0.10-dev
Commandline: apt-get install libgtksourceview-dev
Commandline: apt-get install python-sphinx
Commandline: apt-get install python-epydoc
Commandline: apt-get install quickly-widgets
Commandline: apt-get install libreoffice3* libobasis3.3*
Commandline: apt-get install mc

সিনাপটিকের সমস্যাটি হ'ল এটি প্রবণতা,
অ্যাপটি

এই আদেশটি আপডেটগুলি প্রদর্শন করবে না। সফটওয়্যার সেন্টারটি সবকিছু দেখতে ব্যবহার করুন।
এইচডিভ

1
এটির মতো কোনও পাঠ্য ফাইল সংরক্ষণ করা ভালcat /var/log/apt/history.log | grep "\ install\ " > install.log
CrandellWS

4
grep " install " /var/log/dpkg.logযথেষ্ট হবে. ব্যবহার করার দরকার নেই cat। আরও দেখুন এই
আগস্ট

1
মনে রাখবেন যে এটি কেবল নতুন ইনস্টল হওয়া প্যাকেজগুলিই খুঁজে পেতে পারে। প্যাকেজগুলির জন্য একটি নতুন সংস্করণ ইনস্টল করা ছিল হিসাবে প্রদর্শিত upgradeমধ্যেdpkg.log
আন্দ্রে Holzner

14

উবুন্টুর সফ্টওয়্যার সেন্টার ইনস্টল / আপগ্রেড / সরানো সমস্ত প্যাকেজগুলির পুরো ইতিহাস দেখায়। বামদিকে তালিকার নীচে কেবল "ইতিহাস" ক্লিক করুন।


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

এই প্রশ্নটি একটি ডেস্কটপ (GUI) পরিবেশ নির্দিষ্ট করে না, তবে গৃহীত উত্তরটি GUI এবং নন- GUI উভয় পরিস্থিতিতেই বৈধ।
মিশনফোর্ড

@ এইচডেভ নিশ্চিতভাবে সত্য নয়, dpkg.logলগগুলি আপডেট করে।
GKFX

10

পুরানো প্যাকেজগুলি ইনস্টলেশনের সময় অনুসারে বাছাই করা দেখতে:

grep " install " /var/log/dpkg.log.1 /var/log/dpkg.log

এবং প্যাকেজগুলির জন্য খুব দীর্ঘ সময় আগে ইনস্টল করা হয়েছে:

gunzip -c `ls -tr /var/log/dpkg.log.*.gz` | grep " install "

আমি একটি প্যাকেজ পেয়েছি যা 2 দিন আগে ইনস্টল করা হয়েছিল /var/log/dpkg.log, তবে এতে নেই /var/log/apt/history.log। এখনও কেন জানি না ...
স্যামুয়েল লি

5

নিম্নলিখিত কৌশলটি ম্যানুয়ালি ইনস্টল করা প্যাকেজগুলিতে সীমাবদ্ধ করার জন্য আলেকসান্দ্র ডাবিনস্কির অনুরোধটির উত্তর দেয়:

comm -12 <(apt-mark showmanual | sort) <(grep " install " /var/log/dpkg.log | cut -d " " -sf4 | grep -o "^[^:]*" | sort)
  • comm -12 দুটি সাজানো ফাইলের জন্য সাধারণ লাইনগুলি তালিকাভুক্ত করে।
  • <(command)আউটপুট ধারণ করে এমন একটি ফাইলের নামে প্রসারিত হয় command
  • apt-mark showmanualম্যানুয়ালি ইনস্টল করা প্যাকেজগুলি তালিকাভুক্ত করে; অর্থাত। যেগুলি কখনই স্বয়ংক্রিয়ভাবে সরানো উচিত নয়।
  • grep " install " /var/log/dpkg.log গৃহীত উত্তর থেকে নেওয়া হয়।

কাল্পনিক ক্রমে আরও তথ্য দেখানো এবং সমস্ত উপলব্ধ লগগুলিতে অ্যাক্সেস করা একটি বিকল্প হ'ল:

zcat -f /var/log/dpkg.log* | grep " install " | sort > /tmp/dpkg.log
grep -F "`comm -12 <(apt-mark showmanual | sort) <(cat /tmp/dpkg.log | cut -d " " -sf4 | grep -o "^[^:]*" | sort)`" /tmp/dpkg.log | grep \<none\>

grep \<none\>ফলাফলগুলি নতুন ইনস্টলেশনগুলিতে সীমাবদ্ধ করে। আপনি উদাহরণস্বরূপ, grep 2016-0[567]প্রথম পাইপলাইন যোগ করে অনুসন্ধানকে তিন মাসের মধ্যে সীমাবদ্ধ করতে গ্রেপ ব্যবহার করতে পারেন ; এটা খুব নমনীয়।


এই কাছাকাছি আসছে। যে জিনিসগুলি উন্নত করা যেতে পারে: 1) প্যাকেজগুলি কালানুক্রমিক ক্রমে দেখান, 2) ইনস্টল করার তারিখ / সময়, সংস্করণ, এমনকি আকার 3) ওএস ইনস্টল হওয়ার পরে থেকে সমস্ত প্যাকেজ ইনস্টল হওয়া দেখায় যেমন আরও বিশদ দেখায়।
আলেকসান্দ্র ডাবিনস্কি

অ্যামেজিং! আমি যদি প্রতিটি আদেশ সম্পর্কে আরও ব্যাখ্যা দিয়ে আপনার উত্তরটি আরও সংক্ষিপ্ত করে পরিষ্কার করি তবে আপনি কি আপত্তি করেন?
আলেকসান্ডার ডাবিনস্কি

@ আলেকসান্ডারডুবিনস্কি এই সম্পাদনার জন্য ধন্যবাদ; আমি বিবরণটি সংশোধন করেছি যাতে এটি আপনার করা পরিবর্তনগুলির সাথে মেলে।
GKFX

যদি আমি "নিম্নলিখিত কৌশলগুলি আলেকসান্দ্র ডাবিনস্কির অনুরোধের উত্তর দেয়" শব্দটি সরিয়ে ফেলি তবে প্রথম কমান্ডটি কার্যকর নয়, একটি ভাল শিরোনাম রেখেছে, প্রধান কমান্ডটি উপরে রাখবে, নমুনা আউটপুট যুক্ত করবে এবং সমস্ত কমান্ড বর্ণনা করার চেষ্টা করবে জড়িত?
আলেকসান্দ্র ডাবিনস্কি

1
শেষ কমান্ডে একটি বাগ রয়েছে, কারণ grep -Fআংশিক মিলগুলি খুঁজে নিন। উদাহরণস্বরূপ, যদি python3ইনস্টল করা থাকে তবে এটি python3-click-packageআর ইনস্টল না হওয়াগুলি সহ সমস্ত পাইথন 3 লাইব্রেরি ( ) এর সাথেও মিলবে । তাছাড়া, grep -Fwসাহায্য করে না কারণ -একটি শব্দ সীমানা।
আলেকসান্দ্র ডাবিনস্কি

5

সব এক লাইনে; কমান্ড ব্যবহারের জন্য

কেবলমাত্র ইনস্টল করা প্যাকেজ-নামগুলি সমস্ত এক লাইনেই নির্বাচন করুন এবং মুদ্রণ করুন

এটি করতে, সর্বাধিক-ভোট দেওয়া উত্তরটি এতে পরিবর্তন করুন:

cat /var/log/dpkg.log |awk '/ install / {printf "%s ",$4}'

এর ফলে প্যাকেজ নামের একক লাইন আসে। যেমন একটি লাইন সহজেই একটি sudo apt-get purgeকমান্ড যোগ করা যেতে পারে ।

উদাহরণ আউটপুট

libgnome-media-profiles-3.0-0 gstreamer0.10-gconf gnome-media gnome-menus librest-0.7-0 libgoa-1.0-common libgoa-1.0-0 libwacom-common libwacom2 ubuntu-docs apg libgnome-control-center1 libgnomekbd-common libgnomekbd7 gnome-control-center-data gnome-icon-theme-symbolic gnome-settings-daemon ubuntu-system-service gnome-control-center gnome-online-accounts gnome-session-bin indicator-power mousetweaks

একের নিচে প্যাকেজ তালিকাভুক্ত করা

জনপ্রিয় চাহিদা অনুসারে, এখানে একের নীচে প্যাকেজগুলির তালিকা দেওয়ার জন্য সামান্য রূপান্তরিত সংস্করণ রয়েছে:

cat /var/log/dpkg.log |awk '/ install / {printf "%s\n",$4}'

catকমান্ডের আউটপুট বিশ্লেষণ করবেন না । আর এ কেমন awk '$3~/^install$/ {print $4;}' /var/log/dpkg.log?
অবিনাশ রাজ

@ অভিনাশরাজ আপনার awkকমান্ড প্যাকেজগুলির একে অপরের নীচে মুদ্রণ করে; আমার পরের এক। এজন্য একটি আউটপুট উদাহরণ সময়ে সময়ে কার্যকর হতে পারে।
সার্জ স্ট্রোব্যান্ড

2

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

wajig help
Common JIG commands:

 update         Update the list of downloadable packages

 new            List packages that became available since last update
 newupgrades    List packages newly available for upgrading

 install        Install (or upgrade) one or more packages or .deb files
 remove         Remove one or more packages (see also purge)

 toupgrade      List packages with newer versions available for upgrading
 upgrade        Upgrade all of the installed packages or just those listed

 listfiles      List the files that are supplied by the named package
 listnames      List all known packages or those containing supplied string
 whatis         For each package named obtain a one line description
 whichpkg       Find the package that supplies the given command or file

Run 'wajig -v commands' for a complete list of commands.

5
আমি নিশ্চিত না যে কীভাবে wajigসর্বশেষ প্যাকেজগুলির তালিকা তৈরি করতে সহায়তা করে। কমান্ডগুলির মাধ্যমে কার্সারি দেখার পরে আমি এর জন্য কোনও আদেশ দেখতে পাচ্ছি না। আপনি কি জানেন আদেশ কি?
এহতেশ চৌধুরী

1

ডিআর এর উত্তর ছাড়াও, যারা জিইউআই পছন্দ করেন তাদের জন্য সিন্যাপটিকের মধ্যে একটি ফাইল -> ইতিহাস মেনু আইটেম রয়েছে।


2
এবং রাফালেন্সিলাক যেমন উল্লেখ করেছেন, এই ফাংশনটি সফ্টওয়্যার সেন্টারেও উপলব্ধ।
belacqua

3
সিনাপটিক ইতিহাস কেবল সিনাপটিকের মাধ্যমে আপনি যা ইনস্টল করেছেন তা সম্পূর্ণ দেখায় ... সম্পূর্ণ অকেজো।
এইচডিভ

1

Dpkg ইনস্টল করা ফাইলগুলির তালিকা দেওয়ার জন্য এখানে কিছু শেল দেওয়া হয়েছে। (যার মধ্যে সমস্ত অ্যাপ্লিকেশন / প্রবণতা / সফ্টওয়্যার সেন্টার / সিনাপটিক ইনস্টল হওয়া প্যাকেজ অন্তর্ভুক্ত করা উচিত)

grep -A 1 "Package: " /var/lib/dpkg/status | \
grep -B 1 -Ee "ok installed|half-installed|unpacked|half-configured|config-files" -Ee "^Essential:yes" | \
grep "Package:" | cut -d\  -f2

এটিতে ইনস্টলের সময় / তারিখের তথ্য অন্তর্ভুক্ত নয়। তবে ওএস ইনস্টল থেকে বর্তমান ইনস্টল হওয়া প্যাকেজগুলির মধ্যে যে কোনও পার্থক্য নির্ধারণে কার্যকর হতে পারে।


-1

সফ্টওয়্যার সেন্টার বা সিনাপটিকের ইনস্টলেশন ইতিহাস দেখার সমস্যাটি হ'ল বিষয়বস্তু ইমেলতে অনুলিপি / আটকানো কঠিন (যেমন প্রযুক্তিগত সহায়তার সাথে কথা বলার সময়!)। বিকল্পটি হ'ল লগ ফাইলের বিষয়বস্তুগুলি /var/log/aptরুট হিসাবে দেখা।


2
কেবল স্পষ্ট করে বলার জন্য, বিষয়বস্তুগুলি কেবল দেখতে /var/log/apt, আপনাকে মূল হতে হবে না বা কোনও প্রশাসকের অধিকারের প্রয়োজন নেই।
স্যামুয়েল লি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.