সমস্ত ডেবিয়ান প্যাকেজ পুনরায় ইনস্টল করা হচ্ছে


19

আমি ভুলক্রমে একটি ডিপি কেজি প্রক্রিয়াটি পটভূমিতে চলছে এবং আমি সমস্ত প্যাকেজ পুনরায় ইনস্টল করতে চাই যাতে সবকিছু ঠিক আছে কিনা তা নিশ্চিত হতে চাই।

প্রথমত, আমি সমস্ত প্যাকেজগুলির একটি তালিকা পেতে এবং সেগুলি পুনরায় ইনস্টল করার চেষ্টা করেছি

dpkg --get-selections | grep -v deinstall | awk '{print $1}' > list.log
apt-get install --reinstall $(cat list.log)

তবে এর মতো বার্তা রয়েছে:

E: Couldn't configure pre-depend debconf:i386 for console-setup:i386, probably a dependency cycle.

আমি চেষ্টা করেছি apt-get -f install, সাফল্য ছাড়াই।

শেষ অবলম্বন হিসাবে, আমি সমস্ত প্রোগ্রাম পুনরায় ইনস্টল করেছি যা চেকসামগুলিতে ব্যর্থ হয়েছে:

dpkg -l | grep ^ii | awk '{ print $2 }' | xargs debsums -s -a

সবকিছু পুনরায় ইনস্টল করতে আমার কী করা উচিত?

সম্পাদনা: সমস্যা সমাধান হয়েছে। বিষয়টি ছিল অন্যরকম (মন্তব্য দেখুন)। আমি বুঝতে পেরেছি যদিও এটি দেবিয়ানকে এড়িয়ে চলা কিছু।


1
একটি প্যাকেজ ইনস্টল করার চেষ্টা করার সময় আমার সম্প্রতি ক্র্যাশ হয়েছিল। আমি যখন প্যাকেজটি পুনরায় চালু করেছি এবং পুনরায় ইনস্টল করার চেষ্টা করেছি, তখন আমি বার্তাটি পেয়েছি, "ই: ডিপিকিজি বাধাপ্রাপ্ত হয়েছিল, সমস্যাটি সংশোধন করার জন্য আপনাকে অবশ্যই ম্যানুয়ালি 'dpkg --configure -a' চালাতে হবে"। এই কমান্ডটি চালনা করে প্যাকেজটি মুছে ফেলা হয়েছে এবং এটি ফাইল কনফিগার করে। আমি তখন স্ক্র্যাচ থেকে প্যাকেজটি ইনস্টল করতে সক্ষম হয়েছি। সেই আদেশটি একবারে দেওয়ার চেষ্টা করুন।
এম্বেডড.কাইল

এটি কিছুই করেনি, তাই আমি অনুমান করি কিছুই ভাঙ্গা হয়নি। আমার ড্রাইভার সমস্যার সমাধান হয়েছে কিনা তা আমি পরে চেষ্টা করব try
অ্যালেক্স_প্রেডার

1
সমস্ত প্যাকেজ পুনরায় ইনস্টল করা == সত্যই খারাপ ধারণা। (ক) এটি প্রায় সর্বদা অপ্রয়োজনীয় (খ) সম্ভবত এটি ব্যর্থ হবে (গ) আপনার সিস্টেমটি যদি সত্যিই খুব খারাপভাবে জড়িয়ে যায় তবে কেবল এটি পুনরায় ইনস্টল করুন। আপনি যে সমস্যাগুলি দেখছেন কেবল তা ঠিক করুন।
ফাহিম মিঠা

উত্তর:


9

স্মরণ যে আমি হয়নি এই চেষ্টা করুন, না এটি পরীক্ষা:

dpkg --get-selections > selections
sudo dpkg --clear-selections
sudo dpkg --set-selections < selections
sudo apt-get --reinstall dselect-upgrade

সূত্র:


আমার সমস্যাটি সম্পূর্ণ আলাদা ছিল: আমি সঠিক কার্নেল (!) বুট করছি না। আমি আপনার উত্তরটি মেনে নেব বলে মনে হয় যা আমি যা চাইছিলাম তা করার মতো (তবে এটি অনির্ধারিতও)।
অ্যালেক্স_ড্রেডার

এটি কাজ করবে না, এবং সিস্টেমটিকে পুরোপুরি ভেঙে দেবে। লাইন 3 এপটিকে আনইনস্টল করবে, সুতরাং এরপরে সবকিছু পুনরায় ইনস্টল করা সম্ভব হবে না।
rkjnsn

@ আরকেজেন্সন: আমি উত্তরটি আপডেট করেছি, পরীক্ষা করে দেখুন এটি কার্যকর হয় কিনা।
মার্কো সুলা

1
নির্বাচন ফাইলটি জনবহুল হওয়া সত্ত্বেও এটি কিছুই করার চেষ্টা করা হচ্ছে না, পুনরায় ইনস্টল করা হচ্ছে: পাই @ প্রোডপি ~ do sudo apt-get --reinstall অপসারণ-প্যাকেজ প্যাকেজ তালিকাগুলি পড়ছে ... সম্পন্ন বিল্ডিং নির্ভরতা ট্রি পড়া রাষ্ট্রের তথ্য পড়া ... সম্পন্ন হয়েছে 0 আপগ্রেড , 0 নতুন ইনস্টল করা হয়েছে, 0 অপসারণ করতে 0 এবং আপগ্রেড করা হয়নি। কোন ধারণা?
andig

আপনার কোডটি কার্যকর না হওয়ার একটি কারণ হ'ল আদেশ dpkg --get-selectionsআদেশটি প্যাকেজগুলিও মোছার কারণ in
অরটোমালা লোকনি

2

কেবলমাত্র প্রতিটি প্যাকেজ পুনরায় ইনস্টল করার চেষ্টা করুন :

for i in $(cat list.log); do apt-get install --reinstall "$i"; done

আপনি সমস্ত প্রশ্নের বিকল্পটিতে হ্যাঁ উত্তর যুক্ত করতে ইচ্ছুক হতে পারেন।


বিড়াল: list.log: এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই
IgorGanapolsky

2
dpkg --get-selections > list.logপ্রথমে ইগোরগানাপলস্কি রান করুন ।
কিওয়ার্টিচৌসকি

2
list.logপ্রশ্ন থেকে নেওয়া হয়।
স্টিফেন কিট

2

ইন সম্পদের এক লুকাস Malor আমি উদাহৃত একটি স্ক্রিপ্ট নামক populator যা সমাধান কাছাকাছি হবে বলে মনে হয় খুঁজে পাওয়া যায়নি। আপনি যদি আপনার সমস্ত প্যাকেজ তালিকার জন্য প্যাকেজ নির্বাচন ভেরিয়েবল সেট করে থাকেন

PKGLIST=$(dpkg --get-selections | grep -v deinstall| cut -f1)

এরপরে আপনি স্ক্রিপ্টটি চালাতে পারেন এবং সমস্ত প্যাকেজ পুনরায় ইনস্টল করতে পারেন তবে সিস্টেমে সম্ভবত কিছু সমস্যা হবে। প্রথমে এটি ভার্চুয়াল মেশিনে পরীক্ষা করা ভাল।

উপরের লিঙ্কটি থেকে এখানে স্ক্রিপ্টের একটি বৈকল্পিক রয়েছে:

#!/bin/bash
#
# Script to pre-populate apt-get proxy for faster later downloads.
# It uses apt-get and wget to pull all the specified packages.
#

# Make sure only root can run our script
if [[ $EUID -ne 0 ]]; then
   echo "You're not root, are you?" 1>&2
   exit 1
fi

# Specify wanted packages
PKGLIST="exaile" 

# Clears out the local repository of retrieved package files
apt-get clean

# Resynchronize the package index files from their sources
apt-get update

# Re-install specified packages at the newest version. 
apt-get install --reinstall $PKGLIST

যদি ত্রুটিটি দেখানো হয় যে নির্দিষ্ট প্যাকেজগুলি পুনরায় ইনস্টল করা যাবে না আবার চেষ্টা করার জন্য এই কমান্ডটি চালান:

sudo apt-get -y autoremove

1

পরিবর্তে এটি চেষ্টা করুন যেহেতু এটি আপনার আউটপুট নেবে এবং এটিকে ফাইলের নামগুলি পৃথক করে ফাঁক দিয়ে একটি বিশাল লাইন তৈরি করবে।

dpkg --get-selections | grep -v deinstall | awk '{print $1}' > list.log awk '$1=$1' ORS=' ' list.log > newlist.log apt-get install --reinstall $(cat newlist.log)

আপনার অরিজিনাল পোস্টে একমাত্র পরিবর্তনটি দ্বিতীয় দ্বিতীয় বিবরণী বিবৃতিতে যুক্ত করছে যা সম্ভবত আপনি চান ফাইলটি তৈরি করতে প্রথমটির সাথে ইনলাইন করা যেতে পারে।

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

আমরা যদি এটিকে ইনলাইন করি তবে আমি বিশ্বাস করি যে এটি তখন এর মতো দেখাবে:

dpkg --get-selections | grep -v deinstall | awk '{print $1}' | awk '$1=$1' ORS=' ' > list.log

এবং তারপরে নিশ্চিত হয়ে নিন যে আপনার সিস্টেমে সত্যিকারের সঠিক প্যাকেজ রয়েছে (বা সর্বশেষ), অ্যাপটি ক্যাশে পরিষ্কার করুন, আপডেট করুন এবং তারপরে সমস্ত ফাইল পুনরায় ডাউনলোড করুন (ক্যাশে থাকা যা আপনি কেবল চান তা যদি আপনি প্রথম দুটি পদক্ষেপ এড়াতে পারেন পুনরায়):

apt-get clean && apt-get update && apt-get install --reinstall $(cat list.log)

আমি আপগ্রেড করেছি এমন একটি সিস্টেমে আমি 2k এরও বেশি প্যাকেজ ইনস্টল করেছি যা একটি হ্যাঙ্গআপ ছিল। Dpkg --configure ব্যবহার করে ইনস্টলেশনটি শেষ হয়েছে (এটি চূড়ান্ত পর্যায়ে ছিল)। আমি তখন সবকিছু পুনরায় ইনস্টল করার জন্য এটি চালিয়েছি।

বা /superuser/298912/reinstall-debian- દરમિયાન- রক্ষণাবেক্ষণ- ইনস্টল করা- প্যাকেজস- এবং- ডেটাতে উল্লিখিত হিসাবে :

sudo apt-get install --reinstall $(dpkg --get-selections | grep -w 'install$' | cut -f1)

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


আপনি যদি আইএফএস সংশোধন না $(cat file)করেন তবে কোনও হোয়াইট স্পেসে অব্যক্ত টোকেনাইজড এবং ফাইলটি নতুন লাইনে বা স্পেস দ্বারা সীমিত করা আছে কিনা ঠিক একই ফলাফল দেয়। --reinstallসাহায্য করতে পারে তবে এর আগেও এর আগে দুবার দেওয়া হয়েছিল।
dave_thompson_085

1

প্রবণতা ব্যবহার করার সময় এটি করার একটি সহজ এবং দ্রুত উপায় রয়েছে:

sudo aptitude reinstall '~i'

যা বর্তমানে ইনস্টল করা সমস্ত প্যাকেজ পুনরায় ইনস্টল করবে।


-1

আরপিএম ব্যবহার করার সময়, প্যাকেজ ডাটাবেসে কোনও দুর্নীতির কারণ ঘটলে, এই ডাটাবেসটি পুনর্নির্মাণের বিকল্প রয়েছে, সুতরাং আপনাকে মূলত পুনরায় ইনস্টল করা থেকে বিরত রাখতে পারেন। এখানে একজন ব্যবহারকারী উল্লেখ করেছেন যে এটি ডেবিয়ানে সম্পন্ন হয়েছে dpkg --configure -a


1
এর ভূমিকাটি dpkg --configure -aহ'ল সমস্ত আনপ্যাকড এবং অ- কনফিগার করা প্যাকেজ কনফিগার করা। ম্যান পেজ দেখুনdpkg এবং dpkg-reconfigureএবং debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html
Ortomala Lokni
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.