আমি প্রক্সিটির পিছনে পিপিএ সংগ্রহস্থল যুক্ত করতে পারি না


14

আমি নিম্নলিখিত কমান্ডের সাথে পিপিএ সংগ্রহস্থল (মূল হিসাবে) যুক্ত করার চেষ্টা করছি:

export HTTP_PROXY="http://firstname.surname@xxx.com:my_pass@165.x.x.232:8080"
add-apt-repository ppa:nilarimogard/webupd8


Traceback (most recent call last):
  File "/usr/bin/add-apt-repository", line 125, in <module>
    ppa_info = get_ppa_info_from_lp(user, ppa_name)
  File "/usr/lib/python2.7/dist-packages/softwareproperties/ppa.py", line 84, in get_ppa_info_from_lp
    curl.perform()
pycurl.error: (56, 'Received HTTP code 407 from proxy after CONNECT')

দুর্ভাগ্যক্রমে এটি কাজ করে না। দেখে মনে হচ্ছে কার্ল প্রক্সিটির সাথে সংযোগ স্থাপন করছে, তবে প্রক্সি বলেছে যে প্রমাণীকরণ প্রয়োজন। পরিবর্তে .curlrc, http_proxy env দিয়ে চেষ্টা করেছি, তবে এটি কার্যকর হয় না।

strace -e network,write -s1000 add-apt-repository ppa:nilarimogard/webupd8
socket(PF_INET6, SOCK_DGRAM, IPPROTO_IP) = 4
socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 4
connect(4, {sa_family=AF_INET, sin_port=htons(8080), sin_addr=inet_addr("165.x.x.232")}, 16) = -1 EINPROGRESS (Operation now in progress)
getsockopt(4, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
getpeername(4, {sa_family=AF_INET, sin_port=htons(8080), sin_addr=inet_addr("165.x.x.232")}, [16]) = 0
getsockname(4, {sa_family=AF_INET, sin_port=htons(46025), sin_addr=inet_addr("161.20.75.220")}, [16]) = 0
sendto(4, "CONNECT launchpad.net:443 HTTP/1.1\r\nHost: launchpad.net:443\r\nUser-Agent: PycURL/7.22.0\r\nProxy-Connection: Keep-Alive\r\nAccept: application/json\r\n\r\n", 146, MSG_NOSIGNAL, NULL, 0) = 146
recvfrom(4, "HTTP/1.1 407 Proxy Authentication Required\r\nProxy-Authenticate: BASIC realm=\"proxy\"\r\nCache-Control: no-cache\r\nPragma: no-cache\r\nContent-Type: text/html; charset=utf-8\r\nProxy-Connection: close\r\nSet-Cookie: BCSI-CS-91b9906520151dad=2; Path=/\r\nConnection: close\

সম্ভবত এটি কারণ ব্যবহারকারীর নামটিতে @ সাইন আছে? উইজেট প্রক্সি জরিমানার সাথে কাজ করে।

সম্পর্কিত: আমি প্রক্সিটির পিছন থেকে কীভাবে একটি সংগ্রহস্থল যুক্ত করব?

পরিবেশ

উবুন্টু 12.04

কার্ল 7.22.0 (x86_64-pc-linux-gnu) libcurl / 7.22.0 ওপেনএসএসএল / 1.0.1 zlib / 1.2.3.4 লিবিডন / 1.23 লিবার্টিম্প / 2.3

কার্ল বৈশিষ্ট্য: জিএসএস-আলোচনা সাপেক্ষে আইডিএন আইপিভি 6 লার্জফিল

হালনাগাদ

.Curlrc- তে শংসাপত্র যুক্ত করার সময়

cat ~/.curlrc 
proxy = 165.x.x.232:8080
proxy-user = name.surname@xxx.com:mypass0

এটি সরল কার্লের জন্য কাজ করছে বলে মনে হচ্ছে ।

curl www.google.com | head

* Proxy auth using Basic with user 'name.surname@xxx.com'
GET HTTP://www.google.com HTTP/1.1
Proxy-Authorization: Basic cmFmYWwud2llY3pvcmVrQHVi...3R0RDA=
HTTP/1.1 302 Found

এইচটিটিপিএস:

curl -v https://www.google.com | head
* Establish HTTP proxy tunnel to www.google.com:443
* Proxy auth using Basic with user 'name.surname@xxx.com'
> CONNECT www.google.com:443 HTTP/1.1
> Host: www.google.com:443
> Proxy-Authorization: Basic cmFmYWwud2llY3pvcmVrQHVi...3R0RDA=
    > User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1     zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Proxy-Connection: Keep-Alive
< HTTP/1.1 200 Connection established
* Proxy replied OK to CONNECT request
* successfully set certificate verify locations

পিপিএ শংসাপত্র যুক্ত করার পরে কিন্তু এখনও কাজ করে না।

pycurl.error: (56, 'Received HTTP code 407 from proxy after CONNECT')

সিআরএল হেডারস

শিরোনাম পাঠানো হয়েছে:

CONNECT launchpad.net:443 HTTP/1.1
Host: launchpad.net:443
Proxy-Authorization: Basic cGVvcGxlcmVhbGx5c2hvdWxkQHNhbml0aXplcG9zdHM=
User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
Proxy-Connection: Keep-Alive

উত্তর:

HTTP/1.1 200 Connection established

পাইকুআরএল শিরোনাম

শিরোনাম পাঠানো হয়েছে:

CONNECT launchpad.net:443 HTTP/1.1
Host: launchpad.net:443
User-Agent: PycURL/7.22.0
Proxy-Connection: Keep-Alive
Accept: application/json

উত্তর:

HTTP/1.1 407 Proxy Authentication Required
Proxy-Authenticate: BASIC realm="proxy"

দেখে মনে হচ্ছে অনুরোধ করা হলে পাইক URL কোনও অনুমোদন পুনরায় পাঠায় না।


ধন্যবাদ, আমি চেষ্টা করেছি কিন্তু এটি কোনও কাজে দেয় না। এটি কেস না হওয়ার বিষয়টি নিশ্চিত করার জন্য, আমি আমার শংসাপত্রগুলি .curlrc- এ অন্তর্ভুক্ত করেছি (@ এস্কেপ না করে স্ট্যান্ডার্ড কার্ল কমান্ডের জন্য কাজ করে বলে মনে হচ্ছে), তবে পাইকার্লের জন্য নয়। আপডেট বিভাগ দেখুন।
কেনোরব

ধন্যবাদ, আমি ভেবেছিলাম আমি কিছু মিস করেছি। আমি এখানে বাগটি রিপোর্ট করেছি: bugs.launchpad.net/ubuntu/+source/apt/+bug/1075180
কেনোরব

আপনি কি https_proxy সেট করেছেন? বাগ বাগস.লানচপ্যাড.এন.বাউন্টু
+

হতে পারে এটি সেশন এবং পরিবেশের সম্পর্কিত সম্পর্কিত সম্পর্কিত সমস্যা। আপনি http_proxy এবং https_proxy / etc / প্রোফাইলে রফতানি করার চেষ্টা করতে পারেন, তারপরে মেশিনটি পুনরায় বুট করুন (সম্ভব হলে) আবার চেষ্টা করুন।
জাপ 1968

আমার উপরে যাপিত যা বলেছে তা সম্পর্কিত 1919 সম্পর্কিত, আমি নিশ্চিত হয়েছি যে http_proxy এবং HTTP_PROXY উভয়ই সেট করা আছে (এবং https_proxy এবং HTTPS_PROXY)। লিনাক্সের কেস-সংবেদনশীলতার জন্য ধন্যবাদ, এগুলি আসলে দুটি পৃথক ভেরিয়েবল - এবং সর্বোপরি, সমস্ত প্রোগ্রামই একটি বা অন্য ব্যবহার করবে না। মঞ্জুর, এটি কীভাবে ব্যবহারকারীর নাম / পাসওয়ার্ড সংমিশ্রণটি প্রেরণ করা হচ্ছে ('@' এর কারণে) এটি আরও একটি সমস্যার মতো মনে হলেও এটি কোনওভাবেই শট করার পক্ষে মূল্যবান।
ইয়েলো অ্যাপল

উত্তর:


10

apt-getপ্রক্সিটির পিছনে এখনও যদি কাজ করে

  • নিজে থেকে উত্স যোগ করুন /etc/apt/sources.list
  • জিপিজি কী যুক্ত করুন

ম্যানুয়ালি উত্স যুক্ত করা হচ্ছে

আমি মনে করি লঞ্চপ্যাড.টনে প্রতিটি পিপিএতে কীভাবে উত্সগুলি ম্যানুয়ালি যুক্ত করা যায় তার একটি ছোট বিবরণ রয়েছে। আপনার উল্লিখিত পিপিএর জন্য লঞ্চপ্যাড সাইটটি ppa:nilarimogard/webupd8হল https://launchpad.net/~nilarimogard/+archive/webupd8 । যদি আপনি নীচে স্ক্রোল করে থাকেন তবে আপনি একটি পিপিএ সম্পর্কিত একটি প্রসারণযোগ্য লেবেল প্রযুক্তিগত বিবরণ দেখতে পাবেন । আপনি যদি এটি প্রসারিত করেন তবে কীভাবে উত্সগুলিকে ম্যানুয়ালি যোগ করতে হয় তার বিবরণটি খুঁজে পাবেন। উল্লিখিত লাইন যোগ করুন/etc/apt/sources.list

deb http://ppa.launchpad.net/nilarimogard/webupd8/ubuntu quantal main 
deb-src http://ppa.launchpad.net/nilarimogard/webupd8/ubuntu quantal main 

অবশ্যই আপনি বর্তমানে যে সংস্করণটি ব্যবহার করছেন তার পরিমাণগত সমন্বয় করতে হবে।

সাইনিং কী যুক্ত করা হচ্ছে

বর্ণনায় একটি স্বাক্ষর কীও রয়েছে । এটি গুরুত্বপূর্ণ, যাতে আপনার সিস্টেম সর্বদা যাচাই করতে পারে যে আপনি আসলে কোনও বিশ্বাসযোগ্য পিপিএ-ঠিকানাটি অ্যাক্সেস করেছেন। আপনার পিপিএর ক্ষেত্রে এটি 1024R/4C9D234C( এই পিপিএ সম্পর্কিত প্রযুক্তিগত তথ্যের অধীনেও পাওয়া যাবে ) যেখানে স্ল্যাশের পিছনে সংখ্যাটি গুরুত্বপূর্ণ। আপনি apt-keyপ্রোগ্রামের মাধ্যমে আঙুলের ছাপ যুক্ত করতে পারেন । সাধারণত আপনি নিম্নলিখিত কমান্ডটি সম্পাদন করবেন

 sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 4C9D234C

apt-keyপ্রক্সি দিয়ে কাজ না করলে যুক্ত করা

যেহেতু আপনার ইতিমধ্যে add-apt-repositoryপ্রোগ্রামটির সাথে সমস্যা ছিল এটি সম্ভবত কাজ করে না। সুতরাং পরিবর্তে আপনি নিজেই 1024 বিট কীটি ডাউনলোড এবং যুক্ত করতে পারেন। যদি wgetকাজ করে তবে আপনি এক ধাপে এটি করতে পারেন।

wget "http://keyserver.ubuntu.com:11371/pks/lookup?op=get&search=0x531EE72F4C9D234C" -O out && sudo apt-key add out && rm out

অন্যথায় যেমন " http://keyserver.ubuntu.comصول1371/pks/lookup?op = get&search = 0x531EE72F4C9D234C " নিরাপদ /path/keyএবং sudo apt-key add /path/keyএটি যুক্ত করতে ব্যবহার করুন।

স্বাভাবিকের সাথে বন্ধ করুন

এর পরে আপনার সংগ্রহস্থলের তথ্য আপডেট apt-get updateকরতে হবে এবং তারপরে আপনার প্যাকেজগুলি ডাউনলোড করতে সক্ষম হওয়া উচিত।

সম্পদ

কীভাবে প্যাকেজিং প্রক্রিয়াটি ব্যবহার করতে হবে সে সম্পর্কে আমার ব্যক্তিগত প্রিয় (দুঃখের সাথে জার্মান ভাষায়): http://wiki.ubuntuusers.de/Paketquellen_freischalten/PPA

লঞ্চপ্যাড সংস্করণে সমস্ত গুরুত্বপূর্ণ পয়েন্টের উল্লেখ রয়েছে: https://help.launchpad.net/Packaging/PPA/InstallingSoftware

যেহেতু বর্ণিত উপায়ে অ্যাপটি কী ব্যবহার করা অনুপযুক্ত, কারণ আমি কেবল ম্যান পৃষ্ঠাগুলিতেই তথ্যটি পেয়েছি man apt-key,।

সম্পর্কিত উত্তর যা পিপিএর ম্যানুয়ালি ইনস্টল করার মানক উপায়টি বর্ণনা করে: /ubuntu//a/38029/128349


@ টেনরব জানেন না যে আপনি যদি আমার পোস্টটি সম্পাদনা করেন তবে আপনি কোনও বিজ্ঞপ্তি পান, তাই: পিং: "সম্ভাব্য কাজ"
লিওআর

যদি আপনার সমস্যাটি হয় যে 11371 পোর্টটি আপনার কর্পোরেট ফায়ারওয়ালটিতে অবরুদ্ধ করা আছে, আপনি এখন 80 এর পরিবর্তে পোর্টটি ব্যবহার করতে পারেন: "sudo apt-key ad --keyserver hkp: //keyserver.ubuntu.com: 80 --recv-key 4C9D234C "
লেজেক.হানুস্জ

7

আসলে এটি আগের পোস্ট করা উত্তরের চেয়ে অনেক সহজ বলে মনে হচ্ছে। আপনি একটি প্রক্সি পিছনে এবং এটি অনায়াসে কাজ করবে তা জানতে আপনার কেবল "sudo" দরকার need এটি করার জন্য, আপনার প্রক্সি httpএবং httpsআপনি যেভাবে সাধারণত করেন তা রফতানি করতে হবে:

export http_proxy=http://username:password@host:port/
export https_proxy=https://username:password@host:port/

এবং তারপরে ফাইলের Defaults env_keep="https_proxy"শেষে যুক্ত /etc/sudoersকরুন। এটির পরে আপনি পিপিএ যোগ করতে সক্ষম হবেন:

sudo add-apt-repository ppa:the_ppa_you_want_to_add

বা ব্যবহার

sudo -E add-apt-repository ppa:the_ppa_you_want_to_add

আপনি যদি /etc/sudoersফাইলটি পরিবর্তন করতে না চান -Eবিকল্প উবুন্টু ব্যবহারকারী এনভায়রনমেন্ট ভেরিয়েবল রপ্তানি করে থাকে।

আমি আমার ব্লগে এখানে এ সম্পর্কে একটি বিশদ বিবরণ দিয়েছি


1

নীচের মতো এপ্ট প্রক্সি সেট করা আছে তা নিশ্চিত করুন

sudo vi /etc/apt/apt.conf

নিম্নলিখিত প্রক্সি সেটিংস যোগ করুন এবং ফাইল সংরক্ষণ করুন

Acquire::http::proxy "http ://proxy.company.com:port/";
Acquire::https::proxy "https ://proxy.company.com:port/";
Acquire::ftp::proxy "ftp://proxy.company.com:port/";

কমান্ড চালানোর আগে টার্মিনালে রফতানি অনুসরণ করুন

export http_proxy=http ://proxy.company.com:port/
export https_proxy=https ://proxy.company.com:port/

এই কাজ করা উচিত.

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