উত্তর:
ভাল আপনি প্যাকেজগুলি সরিয়ে এবং পুনরায় ইনস্টল করতে পারেন
ppa-purge
পরিষ্কার পলায়নের জন্য সম্ভবত এখনও আপনার সেরা বাজি। কেবলমাত্র পিপিএ যুক্ত করার পরে প্যাকেজটি এসেছিল এবং এরপরে ppa-purge
এটি হত্যা করে। আপনি কতটা পিপিএ ইনস্টল করেছেন তা আমি নিশ্চিত নই তবে এটি যদি 10 এর চেয়ে কম হয় তবে আমি এটি করে দেখব ।
যদি আপনি মনে করেন যে পদ্ধতিটি খুব নরম তবে আমি bash
প্যাকেজ সংস্করণগুলি সনাক্ত করতে সহায়তা করার জন্য কিছু অজস্র লিখেছি যার ইনস্টলেশন উত্সটি কেবলমাত্র স্থানীয়ভাবে বিদ্যমান /var/lib/dpkg/status
। এটি "অনাথ" প্যাকেজগুলির মতো নয়।
for p in `dpkg-query --showformat='${Package} ' -W`; do
if [[ $(apt-cache policy $p | grep -Pzo "\*\*\* [^\n]+\s+100") ]]; then
echo $p;
fi;
done
আমি নিশ্চিত না যে এটি এখনও নিখুঁত কিনা তবে একবার চালিয়ে যান। নোট করুন এটি কেবল প্যাকেজগুলির নাম মুদ্রণ করতে চলেছে। আপনাকে প্রতিটি প্যাকেজ ম্যানুয়ালি আনইনস্টল / পুনরায় ইনস্টল করতে হবে।
এটি করার জন্য, প্রথমে চালিয়ে প্যাকেজটির জন্য কী উপলব্ধ তা দেখুন apt-cache policy <package>
এবং আপনি প্যাকেজ সংস্করণগুলির একটি তালিকা (সংস্করণ সহ /var/lib/dpkg/status
) দেখতে পাবেন see নিকটতম বাহ্যিক সন্ধান করুন এবং চালান:
sudo apt-get install <package>=<version>
আপনার --reinstall
পরে একটি যুক্ত করার প্রয়োজন হতে পারে install
তবে দেখুন এটি কীভাবে চলে।
ppa-purge
সরানো হয়েছে? এটি ট্রাস্টির পাশাপাশি প্রতিটি অন্যান্য সমর্থিত মুক্তির ভাণ্ডারে রয়েছে ।
আমি আরও একটি সম্পূর্ণ স্ক্রিপ্ট লিখেছি যা প্যাকেজগুলি স্বীকৃতি দেবে যার বর্তমান সংস্করণটি পিপিএ নয়, এবং তাদের বিকল্প পিপিএ-উপলব্ধ সংস্করণ রয়েছে। এটি চলার পরে, এটি একটি প্রস্তুত-চালিত কমান্ড প্রিন্ট করে যা তাদের পিপিএ সংস্করণগুলিতে এই জাতীয় প্যাকেজগুলি ডাউনগ্রেড করে।
https://gist.github.com/peci1/2d7859857fdad73ee8443f5ecd5ee5a3
#!/usr/bin/env bash
# BSD 3-clause license, copyright Martin Pecka @ 2019
# This script outputs a command that will revert all packages from non-PPA versions to their latest PPA version.
# This may be handy i.e. for finding packages for which you installed a newer version from a .deb file, or after
# incompletely removing a PPA.
export LC_ALL=C
command=""
for p in `dpkg-query --showformat='${Package} ' -W`; do
if [[ $(apt-cache policy $p | grep -Pzo "\*\*\* [^\n]+\s+100") ]]; then
versions=$(apt-cache policy $p | tr "\n" "\r" | grep -Po '(?<=\r )[ *]{3} [^\r]+ [0-9]+\r\s+[0-9]+' | sed 's/ [0-9]\+\r\s\+\([0-9]\+\)/ \1/g' | tr "\r" "\n")
installable_versions=$(echo "${versions}" | grep -v " 100$")
version_to_install=$(echo "${installable_versions}" | head -n1 | grep -Po "\s+\K.*(?= [0-9]+$)")
if [[ ! -z "${version_to_install}" ]]; then
echo "${p}=${version_to_install}"
command="${command} ${p}=${version_to_install}"
else
echo "${p}: no PPA version"
fi
fi;
done
echo "To revert packages to their latest PPA version, call the following command as root. Please, carefully go through the list of changes apt-get will present to you!"
echo "apt-get install ${command}"