"প্রতিধ্বনি আইপিভি 4 >> ~ / .curlrc" কী করে?


8

নীচের কমান্ডটি দিয়ে সুরকার ইনস্টল করার চেষ্টা করার সময় আমি আজ কিছু সমস্যার মুখোমুখি হয়েছি:

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

এটি আমাকে এই ত্রুটি দিচ্ছিল:

curl: (7) Failed to connect to getcomposer.org port 443: Network is unreachable

আমি গুগল করে এই আদেশটি পেয়েছি :

echo ipv4 >> ~/.curlrc

আমি এটি চালিয়েছি এবং এটি সমস্যার সমাধান করেছে এবং সুরকার ঠিকঠাক ইনস্টল করেছেন installed

তবে আমি জানি না উপরের আদেশটি কী করে, কেউ কি এটি ব্যাখ্যা করতে পারে?


@ ম্লেবিয়াস যুক্ত লিঙ্কটি :)
প্রশান্ত কুমার

উত্তর:


9

যা হয় তা হ'ল "ipv4" ফাইলটি "curlrc" যুক্ত করুন। খালি ফাইল দিয়ে শুরু উদাহরণ:

$ touch 1
$ more 1
$ echo ipv4 >> 1
$ more 1
ipv4

মূলত এটি আইপিভি 4 ব্যবহার করতে কার্লকে বাধ্য করে।


ম্যানুয়াল এই এটা সম্পর্কে বলার আছে:

IPv6,

কার্ল আইপিভি 6 সহ একটি সার্ভারের সাথে সংযোগ স্থাপন করবে যখন কোনও হোস্ট লুকআপ একটি আইপিভি 6 ঠিকানা ফেরত দেয় এবং সংযোগ ব্যর্থ হলে আইপিভি 4 এ ফিরে আসবে। --ipv4এবং --ipv6অপশন যা ঠিকানাটি উভয় পাওয়া যায় ব্যবহার করতে নির্দিষ্ট করতে পারেন। আইপিভি 6 অ্যাড্রেসগুলি সিনট্যাক্স ব্যবহার করে সরাসরি ইউআরএলগুলিতে নির্দিষ্ট করা যায়


আমি কেবল সেই আদেশটি চালিয়েছি, এটি কাজ করেছিল তাই আমি অনুমান করি এটি সঠিক। কেবল একটি প্রশ্ন, আমার সুরকার কেন প্রথম স্থানে কাজ করছেন না এবং কেন এই আদেশের পরে এটি কাজ করেছিল। যার অর্থ আমি মনে করি, আগের কার্লটি আইপিভি 6 নেটওয়ার্ক ব্যবহার করার চেষ্টা করেছিল যা আসলে কনফিগার করা হয়নি। এটা নাকি অন্য কিছু?
প্রশান্ত কুমার

আমি ধরে নেব যে এটি হ্যাঁ: সংযোগটি প্রত্যাশিত আইপিভি 6 থেকে আপনি এটি কোথায় পেয়েছেন তা অস্বীকার করে। ফাইলটির এই সম্পাদনাটি আইপিভি 4-কে বাধ্য করে।
রিঞ্জউইন্ড

তবে আপনি যেমনটি বলেছেন curl will connect to a server with IPv6 when a host lookup returns an IPv6 address and fall back to IPv4 if the connection failsতখন কেন আমার সিস্টেমটি কেবলমাত্র ত্রুটি দিয়েছে পরিবর্তে ipv4 অ্যাক্সেস করার চেষ্টা করে যদি এটি ipv6 না পেয়ে থাকে।
প্রশান্ত কুমার

1
.curlrcশীর্ষস্থানীয় -বা ছাড়াই বিকল্প নাম ব্যবহার করে --
চ্যানার

5

ইউএনআইএক্স-এর একটি সাধারণ কনভেনশন হ'ল প্রোগ্রামগুলি (সাধারণত) বিভিন্ন স্টাটআপ কনফিগারেশন বিভিন্ন পূর্বনির্ধারিত ফাইল থেকে পড়ে। এটি নিছক একটি traditionতিহ্য, পসিক্স বা অন্য কোনও মানক দ্বারা নির্ধারিত কোনও কিছুই নয়। একটি সাধারণ ইউনিক্স প্রোগ্রাম উদাহরণস্বরূপ foobarনিম্নলিখিত ক্রমানুসারে পড়তে হবে:

~/.foobarrc  ## User specific configuration parameters
/etc/foobarrc  ## Global parameters, depending on taste
               ## `/etc/foobar/*(.conf)' might be chosen too 

ফ্যালব্যাক আসতে পারে /usr/share/তবে এটি খুব সাধারণ নয় not

সুতরাং, curlএখানে কনভেনশন নিম্নলিখিত এবং পড়া তা থেকে প্রাথমিক কনফিগারেশনগুলির ~/.curlrc। এবং করে echo ipv4 >>~/.curlrcআপনি ipv4ফাইলটিতে স্ট্রিং যুক্ত করেছেন ~/.curlrc

স্ট্রিংটির ipv4একটি বিশেষ অর্থ রয়েছে curl- curlতখন হোস্ট রেজোলিউশনের জন্য আইপিভি 4 ব্যবহার করবে। এটি কমান্ড লাইন থেকে -4/ ipv4হিসাবে curlযুক্তি হিসাবে ব্যবহারের সাথে সাদৃশ্যযুক্ত , তবে সংরক্ষণ ~/.curlrcএটি স্থায়ী করে তোলে।

ipv4আপনি সেখানে সেট আপ করেছেন এবং এখন আপনার পক্ষে সমস্ত কিছু কাজ করে, সম্ভবত আপনি আইপিভি 6 কনফিগার করেছেন এবং curlপূর্বে (সফল) হোস্ট রেজোলিউশনের জন্য আইপিভি 6 ব্যবহার করছিলেন, সুতরাং আইপিভি 4-তে কোনও ফলব্যাক নেই। সাইটের সংযোগটি ব্যর্থ হচ্ছিল কারণ সমস্ত সাইটগুলিতে আইপিভি 6 অ্যাড্রেস শোনার জন্য তাদের ওয়েব সার্ভারগুলি কনফিগার করা হয়নি, তাই socket()কলটি ব্যর্থ হবে কারণ আমরা এই ক্ষেত্রে দেখতে পাচ্ছি।


1
বাস্তবে, তবে /etc/foobar.confপ্রথমে পড়তে হবে, তারপরে ~/.foobarrc, যাতে পূর্ববর্তীটি পূর্বেরটিকে ওভাররাইড করতে পারে। সুতরাং যদি /etc/foobar.confএকটি লাইন থাকে যা বলে frobnitz=0এবং এর ~/.foobarrcরয়েছে frobnitz=1তবে এর পরে মানটি
মন্টি হার্ডার

@ মন্টিহার্ডার ঠিক এটাই আমি প্রাধান্যের অর্ডার দিয়ে বোঝাতে
চাইছিলাম

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