কীভাবে পিপিএ আমার ডিস্ট্রো সমর্থন করে তা দেখুন to


9

আমি প্রায়শই টার্মিনালটি আমার সংস্থানসমূহের তালিকায় পিপিএ যুক্ত করতে ব্যবহার করি, কেবল পরে তা খুঁজে বের করতে যে পিপিএ আমার উবুন্টু সংস্করণ সমর্থন করে না। হায়রে, এইভাবে একটি ত্রুটি দিয়ে অভ্যর্থনা জানানো হয়েছে:

404  Not Found

আমি কীভাবে টার্মিনালের মাধ্যমে যাচাই করতে পারি, যদি যুক্ত করা পিপিএ আমার উবুন্টু সংস্করণটি সমর্থন করে?


@ উইল্ফ, পছন্দসই। তবে, যদি কোনও টার্মিনাল বিকল্প না থাকে। একটি শালীন সময় পরে একটি গুই সমাধান গ্রহণ করতে ইচ্ছুক।
ব্লেড 19899

আমি আমার উত্তরটি একটি কার্যনির্বাহী স্ক্রিপ্ট দিয়ে সম্পাদনা করেছি;)
মিঃ ভাইকাদজি

@ মিঃভায়াকাদজি, চমৎকার একটি
ব্লেড 19899

উত্তর:


8

আপডেট :

স্ক্রিপ্টটি এখন পরীক্ষা করে দেখায় যে পিপিএ আপনার ডিস্ট্রো সমর্থন করে এবং তারপরে আপনি যদি আপনার উত্স তালিকায় রেপো যুক্ত করতে চান এবং কেবল তখনই প্যাকেজগুলি ইনস্টল করেন তা নিশ্চিতকরণের জন্য পরীক্ষা করে।

আপনার নিজের ঝুঁকিতে ব্যবহার করুন! আমি কেবল দুটি পিপিএতে এটি পরীক্ষা করেছি! ভাঙা প্যাকেজের জন্য আমাকে দায়ী করা হবে না!

কোড:

#!/bin/bash


#-----------------------------------------------
#   Author      :   Imri Paloja
#   Email       :   ****.******@*****.***
#   HomePage    :   www.eurobytes.nl
#   Version     :   3.0
#   Name        :   add-ppa
#----------------------------------------------- 

# CHANGELOG
# 
# 1. Asks for confirmation if ppa supports distro.

mkdir /tmp/add-ppa/

wget --quiet "http://ppa.launchpad.net/$(echo $1 | sed -e 's/ppa://g')/ubuntu/dists" -O /tmp/add-ppa/support.html

grep "$(lsb_release -sc)" "/tmp/add-ppa/support.html" >> /tmp/add-ppa/found.txt

cat /tmp/add-ppa/found.txt | sed 's|</b>|-|g' | sed 's|<[^>]*>||g' >> /tmp/add-ppa/stripped_file.txt

if [[ -s /tmp/add-ppa/stripped_file.txt ]] ; then

echo "$(lsb_release -sc) is supported"


read -p "Do you wish to install add the ppa to your source, and install the binaries [y/n] ?"
if [ "$REPLY" == "y" ] ; then

echo "Adding it to your sources list"
sudo add-apt-repository $1

echo "Refreshing your sources list"
sudo apt-get update 

# Searching for the needed files, and installing them

wget --quiet "http://ppa.launchpad.net/$(echo $1 | sed -e 's/ppa://g')/ubuntu/dists/$(lsb_release -sc)/main/binary-amd64/Packages" -O /tmp/add-ppa/packages.html

grep "Package:" "/tmp/add-ppa/packages.html" >> /tmp/add-ppa/packages.txt

cat /tmp/add-ppa/packages.txt | sed ':a;N;$!ba;s/\n/ /g' >> /tmp/add-ppa/packages_stripped_file.txt

cat /tmp/add-ppa/packages_stripped_file.txt | sed 's|Package:||g' >> /tmp/add-ppa/packages_stripped_file2.txt

sudo apt-get install $(grep -vE "^\s*#" /tmp/add-ppa/packages_stripped_file2.txt  | tr "\n" " ")

else
 exit 0
fi

else

echo "$(lsb_release -sc) is not supported"

fi;

#Cleanup

rm -r /tmp/add-ppa/

ব্যবহার:

কেউই পিপিএ সমর্থন করেনি

./support.sh ppa:m-gehre/ppa
saucy is not supported

সমর্থিত পিপিএর

./support.sh ppa:banshee-team/ppa
saucy is supported
Do you wish to add the ppa to your sources list, and install the binaries [y/n] ??

Adding it to your sources list
...
Refreshing your sources list
...
sudo apt-get install
....

স্ক্রিপ্টটি কার্যকরভাবে দেখুন:

এটি উন্নত। উইলফের মূল উত্তর


এছাড়াও দুর্দান্ত, তবে আমি সম্প্রতি (হাঃ) শিখেছি যে if [[ -n something]]"যদি আউটপুট হিসাবে কিছু হয়" এর জন্য বাশ কমান্ড, যা তৈরি অস্থায়ী ফাইলগুলি হ্রাস করতে সহায়তা করে।
মিঃ ভাইকাদজি

@ শ্রীভায়াকাদজি যা ভাঙেনি তা ঠিক করবেন না! : ডি
ব্লেড 19899

ঠিক হা হা! নোট: আমি আপনার lsb_release -scধারণার সাথে আমার উত্তর আপডেট করেছি , এবং এমনকি এটি আউটপুটটিতে ব্যবহার করেছি;)
মিঃ ভাইকাদজি

@ মিঃভায়াকাদজি, দ্রুত শিখন! এক্সডি
ব্লেড 19899

আমার প্রতিরক্ষার জন্য, আমি কিছু সি জানতাম এবং (সর্বাধিক গুরুত্বপূর্ণ) আমি "প্রোগ্রামিং নীতিগুলি" এর কয়েকটি ক্লাস নিয়েছিলাম, সেখান থেকে আমাকে "এক্স ইন বাশ কীভাবে করতে হবে" এবং ভয়েলি গুগল করতে হয়েছিল à
মিঃ ভাইকাদজি

7

আপনার বিতরণের জন্য পিপিএ চেষ্টা করার জন্য একটি বাশ স্ক্রিপ্ট:

আমি তোমার জন্য কিছু বাশ শিখেছি হা হা। এটি দুর্দান্ত কাজ করেছে, আমি গর্বিত (এবং উইলফকে তার উত্তরের জন্য ধন্যবাদ)

#!/bin/bash
# usage : bash myscript ppa:something/something

# get list of ppa's supported distribution
wget http://ppa.launchpad.net/$(echo $1 | sed -e 's/ppa://g')/ubuntu/dists -O /tmp/test-ppa.tmp -q

# check if your release is in the downloaded list
RELEASE=`cat /tmp/test-ppa.tmp | grep $(lsb_release -sc)`
if [[ -n "$RELEASE" ]] ; then 
    echo "$1 will work with $(lsb_release -si) $(lsb_release -sr) $(lsb_release -sc)"
else 
    echo "$1 won't work with $(lsb_release -si) $(lsb_release -sr) $(lsb_release -sc)"
fi

# cleaning
rm /tmp/test-ppa.tmp

ব্যবহার:

1) এটি কোথাও একটি পাঠ্য ফাইলে অনুলিপি করুন (এর নীচে উদাহরণে ~/myscript)

2) কমান্ডটি ব্যবহার করুন:

bash myscript ppa:something/something 

দ্রষ্টব্য: আপনি কমান্ড-লাইনে সরাসরি ব্যবহার করতে সেই স্ক্রিপ্টটি / usr / bin / ফোল্ডারে অনুলিপি sudo cp ~/myscript /usr/bin/ppa-test && sudo chmod +x /usr/bin/ppa-test করতে পারেন :

ppa-test ppa:something/something


উদাহরণ:

(এখানে আমি ব্যবহৃত: পিপিএ: LibreOffice / পিপিএ সঙ্গে ~ / myscript )

পিপিএ-যাচাই

সম্পাদনা: ব্যবহারের ব্লেড 19899 এর ধারণার সাথে আপডেট হয়েছেlsb_release


দ্রষ্টব্য: ফরাসি জনগণের জন্য, আমি একটি সহায়তা বিভাগ এবং একটি নিবেদিত বিষয় নিয়ে একটি ফ্র
ভিউটোপিক.এফপি?

4

আমি এটি পরীক্ষা করি না, তবে এর মতো স্ক্রিপ্টে কাজ করা উচিত:

#!/bin/bash
echo "http://ppa.launchpad.net/$(echo $1 | sed -e 's/ppa://g')/ubuntu/dists"

আপনাকে এটি চালিয়ে যেতে হবে ./SCRIPTNAME ppa:WHATEVER/WHATEVER- এই একটি লাইনারটিও কাজ করে, তবে আপনি পিপিএ নামটি sertোকান (যেখানে ppa:gnome3-team/gnome3রয়েছে):

echo "http://ppa.launchpad.net/$(echo ppa:gnome3-team/gnome3 | sed -e 's/ppa://g')/ubuntu/dists"

তারপরে আপনি টার্মিনালে লিঙ্কটি খুলতে পারেন (কিছু টার্মিনাল স্বয়ংক্রিয়ভাবে ক্লিকযোগ্য লিঙ্কগুলি দেখায়), বা curlএটি পাঠ্য হিসাবে ডাউনলোড করতে এটি চালাতে পারেন । এটি কেবল পিপিএর জন্য সমর্থিত রিলিজের জন্য ফোল্ডারগুলির তালিকা প্রদর্শন করা উচিত।

আমি সম্প্রতি একটি পিপিএ যুক্ত করেছি, তাই আমি সেই প্লাসটি সফ্টওয়্যার এবং আপডেটের জিনিসটির দিকে তাকিয়ে একটি অনুমান করেছি ...


আমার উল্লেখ করা উচিত, আপনাকে এটি চালিয়ে যেতে হবে ./SCRIPTNAME ppa:WHATEVER/WHATEVER- এটি যদিও কাজ করে বলে মনে হচ্ছে :)
উইলফ

1
এটি কাজ করে!
ব্লেড 19899

3

আচ্ছা আমার কাছে আপনার জন্য জিইউআই সমাধান থাকতে পারে! আমার জন্য সর্বোত্তম উপায় হ'ল পিপিএ পরিচালক:

sudo add-apt-repository ppa:webupd8team/y-ppa-manager
sudo apt-get update
sudo apt-get install y-ppa-manager

আপনি যখন আপনার সিস্টেমে ইতিমধ্যে যুক্ত পিপিএ বা পিপিএস যুক্ত করেছেন, পিপিএ ম্যানেজারটি খুলুন এবং পিএসএস পরিচালিত ক্লিক করুন এটি আপনাকে আপনার সিস্টেমের পিপাসির একটি তালিকা সহ নতুন উইন্ডোতে নিয়ে যাবে এবং list packagesযে কোনও প্যাকেজ উপলব্ধ থাকলে এটি নীচে বেছে নেবে available আপনি যদি এটি মুছতে পারেন তবে তালিকা। গতকালও আমার জন্য পরিশ্রম করেছেন আমার কাছে সৌসি এবং ট্রাস্টির জন্য পিপিএ ছিল তাই তালিকা প্যাকেজগুলি আমাকে "0" দেখায় এবং আমি এটি সরিয়ে ফেলেছি :)


হ্যাঁ, আমি শুনেছি আপনি একটি পিপিএ চেক করতে চেয়েছিলেন, তাই আপনার পিপিএ যাচাই করার জন্য একটি পিপিএ আছে: ডি
মিঃভায়াকাদজি

যাই হোক না কেন সেরা :)
জোকেআর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.