سؤال هل من الممكن الحصول على قائمة بأحدث الحزم المثبتة؟


هل من الممكن الحصول على قائمة الحزم التي تم تثبيتها مؤخرًا عبر apt-get؟


141
2017-12-11 22:41


الأصل


serverfault.com/questions/175504/... - Ciro Santilli 新疆改造中心 六四事件 法轮功
الآن ، إذا كان أحدهم فقط يخبرني كيف أقوم بإعداد قائمة مثبت يدويا الحزم ذلك أنا لم أزل بالفعل. تنهد ، لينكس. - Aleksandr Dubinsky
AleksandrDubinsky apt-mark showmanual | less لا تفعل ذلك؟ - GKFX
GKFX كنت أعني في سياق الحزم المثبتة مؤخرًا. - Aleksandr Dubinsky
تضمين التغريدة ردًا علىAleksandrDubinsky comm -12 a b مع a نسخة مصنفة من apt-mark showmanual و b قائمة مرتبة من أحد الإجابات أدناه. - GKFX


الأجوبة:


أمر لإدراج الحزم المثبتة حديثًا التي تم تثبيتها عبر أي طريقة (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

154
2017-12-11 22:45



تكمن المشكلة في synaptic في عدم عرض ما تفعله مع aptitude و apt-get و dpkg ، لهذا السبب +1 لهذا الخيار - hhlp
لن يظهر هذا الأمر التحديثات. استخدم مركز البرامج لترى كل شيء. - HDave
قد يكون من الأفضل حفظ ملف نصي مثل هذا cat /var/log/apt/history.log | grep "\ install\ " > install.log - CrandellWS
grep " install " /var/log/dpkg.log سوف يكفي. ليس هناك حاجة للاستخدام cat. أنظر أيضا هذه. - augurar
لاحظ أن هذا يبدو فقط للعثور على الحزم التي تم تثبيتها حديثا. تظهر الحزم التي تم تثبيت إصدار جديد لها upgrade في dpkg.log - Andre Holzner


يعرض مركز برمجيات أوبونتو سجلًا كاملاً لجميع الحزم التي تم تثبيتها / ترقيتها / إزالتها. ما عليك سوى النقر على "السجل" في أسفل القائمة على اليسار.


13
2017-12-12 13:09



زر "المحفوظات" هذا في أعلى واجهة المستخدم الرسومية ويمكنه عرض الحزم والتحديثات المثبتة. يجب أن يكون هذا هو الإجابة المقبولة على السؤال باعتباره الإجابة الوحيدة التي تعمل على التحديثات. - HDave
لا يحدد هذا السؤال بيئة سطح المكتب (GUI) ، ولكن الإجابة المقبولة صالحة في كل من سيناريوهات GUI و GUI. - msanford
لا أحب هذه التغريدة dpkg.log تحديثات السجلات. - GKFX


لمشاهدة الحزم القديمة أيضًا مرتبة حسب وقت التثبيت:

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

وللحزم المثبتة منذ وقت طويل جدا:

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

9
2018-06-05 07:29



لقد عثرت على حزمة تم تثبيتها منذ يومين في /var/log/dpkg.logولكن ليس في /var/log/apt/history.log. ما زلت لا أعرف لماذا ... - Samuel Li


كل شيء على خط واحد لاستخدام القيادة

اختر وطباعة فقط أسماء الحزم المثبتة حديثًا ، وكلها على سطر واحد.

للقيام بذلك ، قم بتغيير الإجابة الأكثر تصويتاً إلى:

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}'

5
2018-05-26 01:43



لا تحليل ناتج cat أمر. وماذا عن هذا awk '$3~/^install$/ {print $4;}' /var/log/dpkg.log؟ - Avinash Raj
AvinashRaj awk الأمر طباعة الحزم واحدة أدناه آخر؛ منجم واحد التالى آخر. لهذا السبب قد يكون مثال الإخراج مفيدًا من وقت لآخر. - Serge Stroobandt


هناك حزمة تسمى wajig التحقق من ذلك لسطر الأوامر ، هو أول شيء أقوم بتثبيته الآن. مثل aptitude ، إلا أنه يعمل كما لو كنت تتوقع أن يعمل مرسل الأوامر. إذاً حقًا ، الأمر ليس كالكفاءة. الأوامر أدناه هي مجرد مجموعة فرعية صغيرة.

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.

2
2017-12-12 02:04



لست متأكدا كيف wajig يساعد على سرد أحدث الحزم. لا أرى أمرًا لذلك بعد نظرة خاطفة من خلال الأوامر. هل تعرف ما هو الأمر؟ - Ehtesh Choudhury


تستجيب الحيلة التالية لطلب Aleksandr Dubinsky قصر هذا على الحزم المثبتة يدويًا:

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 لتحديد البحث لمدة ثلاثة أشهر عن طريق إضافة grep 2016-0[567] إلى خط الأنابيب الأول انها مرنة جدا.


2
2017-07-16 12:56



هذا يقترب. الأشياء التي يمكن تحسينها: 1) إظهار الحزم بالترتيب الزمني ، 2) إظهار المزيد من التفاصيل مثل تاريخ / أوقات التثبيت ، الإصدار ، وربما حجم 3) إظهار كافة الحزم المثبتة منذ تم تثبيت نظام التشغيل. - Aleksandr Dubinsky
رائعة حقا! هل تمانع إذا قمت بتنظيف إجابتك لتكون أكثر إيجازاً مع المزيد من الشرح حول كل أمر؟ - Aleksandr Dubinsky
تضمين التغريدة ردًا علىAleksandrDubinsky لقد صححت الوصف بحيث يطابق التغييرات التي أجريتها. - GKFX
هل لديك مانع إذا قمت بإزالة "خدعة التالية أجوبة طلب Aleksandr Dubinsky" ، الأمر الأول الذي ليس مفيدا ، وضع عنوان جيد ، وضع الأمر الرئيسي في الأعلى ، إضافة إخراج العينة ، ومحاولة وصف جميع الأوامر متورط؟ - Aleksandr Dubinsky
هناك خلل في الأمر الأخير ، لأن grep -F العثور على المباريات الجزئية. على سبيل المثال ، إذا python3 تم تثبيته ، كما أنه سيتطابق مع جميع مكتبات python3 (python3-click-package) بما في ذلك تلك التي لم تعد مثبتة. علاوة على ذلك، grep -Fw لا يساعد لان - هي كلمة حدود. - Aleksandr Dubinsky


بالإضافة إلى إجابة DoR ، بالنسبة لأولئك الذين يفضلون واجهة المستخدم الرسومية ، هناك عنصر القائمة File -> History في Synaptic.


1
2017-12-12 00:51



و كما rafalcieslak يشير ، هذه الوظيفة متوفرة في مركز البرمجيات كذلك. - belacqua
يظهر التاريخ متشابك فقط ما قمت بتثبيته عبر Synaptic ... عديمة الفائدة تماما. - HDave


هنا بعض shell لإدراج ملفات dpkg المثبتة. (والتي يجب أن تتضمن جميع حزم apt / aptitude / software center / synaptic)

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
2018-02-13 19:22