প্রশ্ন কিভাবে ইনস্টল করা সব প্যাকেজ তালিকা


আমি সমস্ত ইনস্টল থাকা প্যাকেজগুলির একটি লিস্ট ফাইলের আউটপুট আউটপুট করতে চাই যাতে আমি এটি পর্যালোচনা করতে পারি এবং অন্য সিস্টেমে বাল্ক-ইনস্টল করতে পারি। আমি কিভাবে এটা করব?


1578
2017-12-17 02:08


উত্স


এই ইতিমধ্যে উত্তর দেওয়া হয়েছে এখানে। - Simon Quigley
বাহ, উত্তরের মধ্য দিয়ে যাচ্ছে এই কাজটি সম্পন্ন করার অনেক উপায় আছে: / - Madivad
আমি কিভাবে একটি টেক্সট ফাইল থেকে একটি নতুন সিস্টেমে বাল্ক ইনস্টলেশন করবেন? - Elysium
@ মদিভাদ এই প্যাকেজ ম্যানেজার একবার জীবন সহজ করতে অনুমিত ছিল ... - René Nyffenegger
একই প্রশ্ন unix.stackexchange.com "ইনস্টলেশানের তারিখ অনুসারে প্যাকেজ তালিকাভুক্ত করুন" - JamesThomasMoon1979


উত্তর:


উবুন্টু 14.04 এবং এর উপরে

দ্য apt উবুন্টু 14.04 এবং এর উপরে টুলটি খুব সহজ করে তোলে।

apt list --installed

পুরোনো সংস্করণ

স্থানীয়ভাবে ইনস্টল করা প্যাকেজের তালিকা পেতে আপনার টার্মিনালে এটি করুন:

dpkg --get-selections | grep -v deinstall

(দ্য -v ট্যাগ "inverts" grep অ মেলা লাইন ফেরত দিতে)

ইনস্টল করা একটি নির্দিষ্ট প্যাকেজ একটি তালিকা পেতে:

dpkg --get-selections | grep postgres

যে তালিকা একটি টেক্সট ফাইল বলা সংরক্ষণ করুন packages আপনার ডেস্কটপে এটি আপনার টার্মিনালে করুন:

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

বিকল্পভাবে, সহজভাবে ব্যবহার করুন

dpkg -l

(আপনি superuser হিসাবে এই কমান্ডের কোনো চালানোর প্রয়োজন হয় না, তাই না sudo অথবা এখানে অন্য কোন রূপ প্রয়োজন)


1730
2017-12-17 03:02



তারপর, নতুন কম্পিউটার ইনস্টল করার সময়, করবেন cat ~/Desktop/packages > sudo dpkg --set-selections && sudo apt-get dselect upgrade  উৎস - koanhead
Dpkg এর সিনট্যাক্স 2006 থেকে সামান্য পরিবর্তিত হতে পারে কারণ এটির কমান্ডটি আমার জন্য কাজ করে না, @ কোকেনহেড। sudo dpkg --set-selections < ~/Desktop/packages && sudo apt-get -u dselect-upgrade কৌশল আছে। - James
উল্লেখ্য, ব্যবহারকারীর দ্বারা কোন প্যাকেজগুলি স্পষ্টভাবে ইনস্টল করা হয়েছে এবং এটি নির্ভরতা হিসাবে ইনস্টল করা হয়েছে তা ট্র্যাক করবে না। এর মানে হল যে যদি আপনি এই পদ্ধতিটি অন্য মেশিনে আপনার সেটআপ পুনরায় তৈরি করতে ব্যবহার করেন, তবে আপনি যখন কোনও নির্দিষ্ট প্যাকেজ মুছে ফেলবেন তখন অপ্রয়োজনীয় নির্ভরতাগুলি মুছে ফেলতে সক্ষম হবে না। - intuited
এটা দু: খিত এবং আশ্চর্যজনক যে @ ইন্টুয়েড এর মন্তব্য সম্প্রদায়ের দ্বারা ভালভাবে বোঝা যায় না। নতুন "উবুন্টু" অবদানকারীরা একটি নতুন উবুন্টু সংস্করণে পুরানো প্যাকেজগুলি পুনরায় লোড করার পরামর্শ দেওয়ার আগে আরও বেশি চিন্তা করতে রাজি হবে না কেন? (?)। সমস্ত dpkg বিকল্পগুলির সাথে আমি এখনও এমন একটি দেখতে পাই না যা ব্যবহারকারী দ্বারা 'স্পষ্টভাবে' ইনস্টল করা প্যাকেজগুলি টেনে আনবে যাতে সেই তালিকাটি পুনরায় লোড করা যায় এবং তার নির্ভরতাগুলি ইনস্টল করার অনুমতি দেওয়া হয়; আমি এটা জানতে ভালোবাসি - যে তথ্য শেয়ার করুন। ইতিমধ্যে, পুনঃ-ইনস্টল করার জন্য আপনার প্রয়োজনীয় প্যাকেজের তালিকা তৈরি করুন এবং এটি চালান - Ricalsin
আমরা সবাই জানি যে লিনাক্স ফটোগ্রাফিক মেমরি ছাড়াই মানুষকে বৈষম্য করে, কিন্তু গুরুত্ব সহকারে, কী ভুল হবে apt list installed। সোমবার আমরা "সহজ জিনিসগুলি সহজ রাখি" নীতিগতভাবে ব্যর্থ হওয়া বন্ধ করা উচিত।


শুধু প্যাকেজগুলি পেতে যা স্পষ্টভাবে ইনস্টল করা হয়েছে (নির্ভরতা হিসাবে ইনস্টল করা নয়), আপনি চালাতে পারেন

aptitude search '~i!~M'

এটি একটি সংক্ষিপ্ত বিবরণও অন্তর্ভুক্ত করবে যা আপনি চান। যদি না, এছাড়াও অপশন যোগ করুন -F '%p', যেমন karthick87 দ্বারা উল্লিখিত।


তবুও অন্য একটি বিকল্প ফাইল অনুলিপি করা হবে বলে মনে হয় /var/lib/apt/extended_states, যা এই বিন্যাসে একটি টেক্সট ফাইল ডাটাবেস:

Package: grub-common
Architecture: amd64
Auto-Installed: 0

Package: linux-headers-2.6.35-22-generic
Architecture: amd64
Auto-Installed: 1

Auto-Installed: 0 নির্দেশ করে যে প্যাকেজটি স্পষ্টভাবে ইনস্টল করা হয়েছে এবং এটি কেবল নির্ভরতা নয়।


380
2017-08-28 21:35



এই সঠিক উত্তর হতে হবে। কেন তালিকা নির্ভরতা? - Stavros Korokithakis
এই উচিত উত্তর হতে, কিন্তু ব্যবহার করা প্রবণতা Multarch এর কারণ একটি বিট অবিশ্বস্ত এখন (উপায় সংশোধন), দুর্ভাগ্যবশত। স্পষ্টভাবে ইনস্টল করা প্যাকেজগুলি তালিকাবদ্ধ করার জন্য এবং এটি করার একটি উপায় নির্দেশ করার জন্য এখনও +1 (যদিও এটি 11.10+ এ কাজ করবে না)। - gertvdijk
পূর্বনির্ধারিত (@ কিছুক্ষণ আগে) @ ইন্টুয়েটেড "ফিক্স ফিক্লস"। :) - gertvdijk
এটি সমস্ত প্যাকেজ তালিকাভুক্ত করে, শুধুমাত্র উবুন্টু 13.10 এ নিজে ইনস্টল করা প্যাকেজ নয়। - Eamon Nerbonne
উবুন্টু -1510, প্রথমে যথাযথতা ইনস্টল করতে হবে যেমন: sudo apt-get install aptitude - Mark Mikofski


বর্তমানে কোন প্যাকেজ ইনস্টল করা আছে তার ব্যাকআপ তৈরি করুন:

dpkg --get-selections > list.txt

তারপরে (অন্য সিস্টেমে) সেই তালিকা থেকে ইনস্টলেশান পুনঃস্থাপন করুন:

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

পুরাতন প্যাকেজ পরিত্রাণ পেতে:

sudo apt-get autoremove

ব্যাকআপ সময় ইনস্টল করার জন্য (যেমন প্যাকেজ সেট করে ইনস্টল করতে dpkg --set-selections):

sudo apt-get dselect-upgrade

179
2018-05-16 18:26



অন্য মেশিনে পুনরুদ্ধার সম্পর্কে গ্রেট টিপ। +1 টি। - Drew Noakes
এই পদ্ধতির 2 টি ভিন্ন ubuntu 12.04 মেশিনের মধ্যে স্থানান্তরিত করে আমার সিস্টেমটি ভেঙ্গে গেছে। আমি যেহেতু যে কোনোভাবে বুঝতে না হওয়া পর্যন্ত এটি গ্রহণ ubuntu-desktop আনইনস্টল করা হয়েছে - সম্ভবত Dpkg কমান্ডের একটি কারণে। সাবধান হও, এটা আমাকে মেরামত করতে সময় লাগলো! - Karl Frisk
এবং কখনও কখনও সিস্টেমটি এমন একটি অ্যাপ্লিকেশন আপডেট করে যা আপনি বিশেষ করে সিস্টেমটিকে স্পর্শ করতে চান না তবে কমান্ডগুলির শেষে এটির আগুন লাগান sudo apt-mark hold name-your-package  । এটি বর্তমান সংস্করণে আপগ্রেড থেকে apt-get প্রতিরোধ করবে যা আপডেট করার জন্য ডিফল্ট। - Faron


সব প্যাকেজ তালিকা ইচ্ছাকৃতভাবে ইনস্টল (নির্ভরতা হিসাবে নয়) apt কমান্ড দ্বারা, নিম্নলিখিত চালান:

(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 k3b
Commandline: apt-get install jhead
...

ইনস্টলেশন তথ্য এছাড়াও synaptic ব্যবহার দেখাচ্ছে, কিন্তু বিস্তারিত ছাড়া (ইনস্টলেশন তারিখের সাথে একই):

(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:14
Commandline: apt-get install gparted
Start-Date: 2012-09-23  15:02:51
Commandline: apt-get install sysstat
...

174
2018-02-02 10:39



অথবা (zgrep এবং আপডেট বার্তা মুছে ফেলার সাথে): zgrep -hE '^(Start-Date:|Commandline:)' $(ls -tr /var/log/apt/history.log*.gz ) | egrep -v 'aptdaemon|upgrade' | egrep -B1 '^Commandline:' - belacqua
এই পদ্ধতির সঙ্গে ইনস্টল প্যাকেজ মিস করবেন না dpkg?? - drevicko
উপরের সাধারণ উত্তর সাধারণ ব্যবহারকারীর জন্য ভাল। মেশিনে করা সকল কাস্টমাইজেশন ব্যাকগ্র্যাকিংয়ের জন্য এ পর্যন্ত সবচেয়ে ভাল পদ্ধতি, এটি বেস চিত্র থেকে সরানো, বা যোগ করা হয়েছে তাও দেখায়, কারণ এটি তাদের ক্রম অনুসারে তালিকাভুক্ত করে এবং এটি যা আপনাকে মনে রাখতে সহায়তা করে অন্য সিস্টেম তাদের ফিরে যোগ সঠিক ক্রম। - AllGamer
@Drevicko আপনি সঠিক, এটি dpkg সঙ্গে ইনস্টল করা প্যাকেজ তালিকা না - Steve Buzonas
এই সংগঠিত রাখার জন্য বেশ সহজ - আমার মস্তিষ্ক যাই হোক না কেন এই কারণে এটি পছন্দ করে .. - JeremyFelix


apt-mark showmanual

মানুষ পৃষ্ঠা রাষ্ট্র:

ম্যানুয়ালি ইনস্টল প্যাকেজের একটি তালিকা মুদ্রণ করা হবে

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

ফলাফলটি একটি পাঠ্য ফাইলে আউটপুট করতে:

apt-mark showmanual >list-installed.txt

60
2017-07-10 13:43



ডেবিয়ান "এ্যাপট-মার্ক শোম্যানম্যান" -এ "স্লাজে" কাজ করে না কিন্তু "চটচটে" কাজ করে - Wadih M.
অন্যান্য অন্যান্য উত্তর দিয়ে ভালো লেগেছে, apt-mark showmanual সত্যিই না। এটি স্বয়ংক্রিয়ভাবে ইনস্টল হওয়া প্যাকেজগুলির টন, সম্ভবত বেস ইনস্টলেশনের অংশ তালিকাবদ্ধ করে। - mivk
ওয়েল প্রশ্নটি ইনস্টল করা প্যাকেজগুলির জন্য ছিল এবং এটি ইনস্টল করা সমস্ত প্যাকেজ স্বয়ংক্রিয়ভাবে ইনস্টল হওয়া নির্ভরতাগুলি কমিয়ে দেয়। এটি প্রাথমিক ইনস্টলেশনের অংশ হিসাবে প্রাথমিক প্যাকেজ অন্তর্ভুক্ত করে। আমি মনে করি আপনি ডিফল্ট ইনস্টলেশনের একটি তালিকা পেতে একটি নতুন ইনস্টলেশানে এটি চালাতে পারেন এবং তারপরে পার্থক্যটি দেখতে এটির থেকে এটি সরিয়ে ফেলতে পারেন। - Tim Tisdall


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

38
2018-05-16 18:40



Typying # for pkg in `cat installed-pkgs`; do apt-get install -y $pkg; done দ্বিতীয় পদ্ধতিতে আমি এটি তৈরি করেছি যাতে এটি প্যাকেজ ইনস্টল করবে। - xyz
@julianromera: apt-get install -y $(< installed-pkgs) এটি এমনভাবে তৈরি করবে যা যথোপযুক্ত সৃষ্টিকর্তা একবারে সঞ্চালিত হয় এবং একবারে সমস্ত নির্ভরতার যত্ন নেয়। - jamadagni
@ জুলিয়ানোমেরার ... যদি ভুল হয় তবে আমাকে সংশোধন করুন তবে ইনস্টলেশনের আগে নির্ভরতা সহ একটি অ্যাপ্লিকেশন তৈরি করতে হবে sudo apt-get build-dep name-package; sudo apt-get install name-package;  ? - Faron


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

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

অথবা

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

অথবা

dpkg --get-selections > 1.txt

বিঃদ্রঃ:
আপনি আপনার হোম ফোল্ডারে ফলাফল 1.txt ফাইল পাবেন অথবা আপনি নিজের পথ উল্লেখ করতে পারেন।


36
2017-12-17 03:35





আপনি আপনার ইনস্টল করা প্যাকেজ বর্তমান অবস্থা সংরক্ষণ করতে Synaptic ব্যবহার করতে পারেন। সিনাপটিক ইন, "ফাইল / সংরক্ষণ চিহ্নগুলি" নির্বাচন করুন, ফাইলটি সংরক্ষণ করার জন্য ফাইলটির নাম লিখুন এবং "সম্পূর্ণ অবস্থা সংরক্ষণ করুন, কেবল পরিবর্তনগুলি নয়" বাক্সটি চেক করতে ভুলবেন না।

এই থেকে সংরক্ষিত ফাইলটি সিনাপটিকের "ফাইল / পঠন চিহ্ন" ব্যবহার করে একটি নতুন মেশিনে লোড করা যেতে পারে।


33
2017-12-17 04:46