كيفية سرد كافة الحزم المثبتة

أود إخراج قائمة بجميع الحزم المثبتة في ملف نصي حتى أتمكن من مراجعتها وتثبيتها بالجملة على نظام آخر. كيف أفعل هذا?

أوبونتو 14.04 وما فوق

ال apt أداة على أوبونتو 14.04 وما فوق يجعل هذا من السهل جدا.

apt list --installed

الإصدارات القديمة

للحصول على قائمة من الحزم المثبتة محليا القيام بذلك في محطة الخاص بك:

dpkg --get-selections | grep -v deinstall

(ال -v بطاقة & مثل; المقلوب & مثل; البقرى للعودة خطوط غير مطابقة)

للحصول على قائمة حزمة محددة مثبتة:

dpkg --get-selections | grep postgres

لحفظ تلك القائمة إلى ملف نصي يسمى packages على سطح المكتب الخاص بك القيام بذلك في محطة الخاص بك:

dpkg --get-selections | grep -v deinstall > ~/Desktop/packages

بدلا من ذلك ، ببساطة استخدام

dpkg -l

(لا تحتاج إلى تشغيل أي من هذه الأوامر كمستخدم متميز، لذلك لا sudo أو أي متغيرات أخرى ضرورية هنا)

للحصول على الحزم التي تم تثبيتها صراحة (لم يتم تثبيتها فقط كتبعيات) ، يمكنك تشغيل

aptitude search '~i!~M'

وهذا يشمل أيضا وصفا موجزا ، والتي قد ترغب. إذا لم يكن كذلك ، أضف الخيار أيضا -F '%p'، كما ذكر كارثيك87.


يبدو أن هناك خيارا آخر يتمثل في نسخ الملف /var/lib/apt/extended_states، وهي قاعدة بيانات ملفات نصية بهذا التنسيق:

Package: grub-commonArchitecture: amd64Auto-Installed: 0Package: linux-headers-2.6.35-22-genericArchitecture: amd64Auto-Installed: 1

Auto-Installed: 0 يشير إلى أن الحزمة تم تثبيتها صراحة وليست مجرد تبعية.

لسرد جميع الحزم تثبيت عمدا (ليس كتبعيات) بواسطة أوامر ملائمة ، قم بتشغيل ما يلي :

(zcat $(ls -tr /var/log/apt/history.log*.gz); cat /var/log/apt/history.log) 2>/dev/null |  egrep '^(Start-Date:|Commandline:)' |  grep -v aptdaemon |  egrep '^Commandline:'

يوفر هذا عرضا عكسيا يستند إلى الوقت، مع سرد الأوامر القديمة أولا:

Commandline: apt-get install k3bCommandline: apt-get install jhead...

تظهر بيانات التثبيت أيضا استخدام متشابك ، ولكن بدون تفاصيل(نفس الشيء مع تاريخ التثبيت) :

(zcat $(ls -tr /var/log/apt/history.log*.gz); cat /var/log/apt/history.log) 2>/dev/null |  egrep '^(Start-Date:|Commandline:)' |  grep -v aptdaemon |  egrep -B1 '^Commandline:'

توفير ما يلي:

Start-Date: 2012-09-23  14:02:14Commandline: apt-get install gpartedStart-Date: 2012-09-23  15:02:51Commandline: apt-get install sysstat...

إنشاء نسخة احتياطية من الحزم المثبتة حاليا:

dpkg --get-selections > list.txt

ثم (على نظام آخر) استعادة المنشآت من تلك القائمة:

dpkg --clear-selectionssudo dpkg --set-selections < list.txt

للتخلص من الحزم التي لا معنى لها:

sudo apt-get autoremove

للحصول على تثبيت مثل في وقت النسخ الاحتياطي (أي لتثبيت الحزم التي وضعتها dpkg --set-selections):

sudo apt-get dselect-upgrade
apt-mark showmanual

صفحات الرجل الدولة:

سيتم طباعة قائمة الحزم المثبتة يدويا

لذلك ، يجب أن تعطي فقط قائمة من الحزم المثبتة بشكل صريح (على الرغم من أن هذا يشمل الحزم التي كانت جزءا من التثبيت الأولي الافتراضي) دون تضمين جميع التبعيات بسبب تثبيت هذه الحزم.

لإخراج النتيجة في ملف نصي:

apt-mark showmanual > list-manually-installed.txt

dpkg-query (بدلا من dpkg --get-selections، الذي يسرد بعض الحزم غير المثبتة) على النحو التالي:

dpkg-query -W -f='${PackageSpec} ${Status}\n' | grep installed |  sort -u | cut -f1 -d \ > installed-pkgs

أو:

dpkg -l | grep ^ii | sed 's_  _\t_g' | cut -f 2 > installed-pkgs

لسرد كافة الحزم المثبتة,

dpkg -l |awk '/^[hi]i/{print $2}' > 1.txt

أو

aptitude search -F '%p' '~i' > 1.txt

أو

dpkg --get-selections > 1.txt

ملاحظة:
سوف تحصل على النتيجة 1.ملف النص في المجلد الرئيسي الخاص بك أو يمكنك تحديد المسار الخاص بك.

يمكنك استخدام متشابك لحفظ الحالة الحالية الخاصة بك تثبيت حزم. في متشابك ، حدد "علامات الملف / الحفظ" ، وأدخل اسم الملف لحفظ الحالة إليه ، وتأكد من تحديد مربع" حفظ الحالة الكاملة ، وليس التغييرات فقط".

يمكن تحميل الملف المحفوظ من هذا إلى جهاز جديد باستخدام "علامات الملف / القراءة" في متشابك.

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

تريد إعادة تثبيت الحزم الآن هناك على 12.04, هاه?

إذا كان الأمر كذلك ، فمن السهل جدا. عليك ان تحصل على " علامة واحدة أوبونتو على حساب."(قم بإنشائه قبل إعادة التثبيت بحيث تتم مزامنة نظامك.)

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

  2. عند النقر فوقه ، سترى جهاز الكمبيوتر الخاص بك مسجلا وقائمة بجميع التطبيقات على جهاز الكمبيوتر الخاص بك.

  3. عندما تقوم بتثبيت جديد ، سيتم اعتبار هذا الكمبيوتر جهاز كمبيوتر جديد.

  4. عليك فقط تسجيل الدخول إلى حساب أوبونتو الخاص بك وسيتم عرض جهاز الكمبيوتر السابق.

  5. انقر عليه ؛ ستحصل على قائمة بجميع التطبيقات. حدد "تثبيت" على التطبيق الذي تريد تثبيته.

Related.

Similar question at unix.stackexchange.com “List packages by installation date”