উত্স থেকে ইনস্টল করা হচ্ছে। প্যাকেজ পরিচালককে বিনষ্ট না করে নির্ভরতা কীভাবে সমাধান করবেন


19

সফ্টওয়্যার সংকলন এবং ইনস্টল করা একটি ব্যথা এবং সমস্যা যা আমি কাটিয়ে উঠতে পারি না। আমি এই প্রক্রিয়াটি সম্পর্কে আমার জ্ঞানটি পরিষ্কার করার জন্য আরও জ্ঞানবান ব্যক্তির সাথে এই প্রক্রিয়াটি বোঝার মধ্য দিয়ে যেতে চাই next

আমার প্রয়োজন অনেক বৈজ্ঞানিক সফ্টওয়্যার প্যাকেজ হিসাবে বিতরণ করা হয় না। আমি বুঝতে পারি "./configure" সংকলন ভেরিয়েবল সেট আপ করে এবং নির্ভরতাগুলির জন্য "মেক" সংকলন "সুডো মেক ইনস্টল" করে সমস্ত লাইব্রেরি এবং বিন তাদের জায়গায় রাখে checking তবে এটি কখনও কাজ করে না। আমি খুব কমই ক) "./configure" পর্যায়টি নির্ভরতা জাহান্নামে প্রবেশ না করেই বের হয়ে যাই, এবং যদি আমি এটি করি তবে খ) "সুডো মেক ইনস্টল" সম্ভবত আমার বাক্সটি নাক করে দেবে।

ক) নির্ভরতা নরক খুব হতাশাজনক। মাঝে মাঝে আমার কাছে লাইব্রেরি থাকে তবে এটি পছন্দ হয় না। অথবা লাইব্রেরি ইনস্টল করতে চায় না। অথবা "কনফিগার" এটি খুঁজে পাচ্ছে না। বা আমার ডিসট্রো এটি কোথাও এটি করা উচিত ছিল না। অথবা আমার সিস্টেমে দুটি সংস্করণ রয়েছে। সমস্যাটি হ'ল, আমি কীভাবে রোগ নির্ণয় করতে পারি এবং তাই এই সমস্যাগুলি ঠিক করতে পারি না understand যার প্রোগ্রামার হওয়ার দরকার নেই তার জন্য শেখার জন্য কিছু ভাল রেফারেন্স কী কী?

খ) আমার বুদ্ধিটি হল "মেক ইনস্টল" কিছু গ্রন্থাগার প্রতিস্থাপন করবে এবং আমার প্যাকেজ ম্যানেজারকে এ সম্পর্কে সচেতন না করে সেটিংস পরিবর্তন করবে। অতএব, কিছু প্রোগ্রাম চলবে না, অন্যদের আপডেট করা যাবে না। সুতরাং, যদি আমি "মেক ইনস্টল" ব্যবহার না করি এবং আমার ব্যবহারকারী ডিরেক্টরিতে সংকলিত বাইনারিটি প্যাথএ্যাচ-তে যোগ করা প্রতীকী লিঙ্কের সাথে রাখি, তবে আমি কি পরিষ্কার হয়ে যাব?

আমার বাক্সটি একক ব্যবহারকারী, এতে প্রচুর ফ্রি এইচডি রয়েছে যাতে আমি আমার একাধিক (কয়েক ডজন) লাইব্রেরির অনুলিপি রাখার বিষয়ে চিন্তা করি না যদি এটি আমার সমস্যার সমাধান করে care স্থান সস্তা।


3
আপনি কোন বিতরণটি ব্যবহার করছেন তা বলবেন না, এটি তথ্যের একটি আকর্ষণীয় অংশ হবে। আপনি যদি কোনও ডেবিয়ান ডেরিভেট চালান তবে আপনি apt-get build-dep <package>প্রয়োজনীয় নির্ভরতা স্বয়ংক্রিয়ভাবে ইনস্টল করতে ব্যবহার করতে পারেন ।
মার্কো

আমি CentOS 6 ব্যবহার করি (আমাদের ল্যাবটিতে অতি-গুরু কী ব্যবহার করে) তবে আমি উবুন্টু ব্যবহার করতাম।
লেনজ

একটি বিতরণ প্যাকেজারের জীবনে আপনাকে স্বাগতম। এই সমস্ত নির্ভরতা ট্র্যাকিং করা বিশেষভাবে শক্ত নয়, তবে এটি শ্রুতিমধুরতা।
গিলস 23'12

দেখুন অ রুট প্যাকেজ ম্যানেজার এবং সম্ভবত অন্য কোন প্রশ্ন বাঁধা না রুট ব্যবহারকারী সফটওয়্যার ইনস্টলেশন ও প্যাকেজ পরিচালনার চলেছেন।
গিলস 23'13

উত্তর:


16

বেশিরভাগ প্যাকেজগুলিতে একটি <package>-dev(ডেবিয়ান ভিত্তিক জন্য) বা <package>-devel(রেড হ্যাট ভিত্তিকের জন্য) থাকবে যেগুলি নির্মাণের জন্য লিঙ্কের জন্য প্রয়োজনীয় লাইব্রেরি হবে।

সুতরাং, উদাহরণস্বরূপ যদি উত্সটি বলে যে এটির প্রয়োজন হয় libxml, ডিবিয়ান ভিত্তিক সিস্টেমে আপনি খুঁজে পাবেন libxml2এবং libxml2-dev( apt-cache search <dependancy>সেগুলি ব্যবহারের জন্য ব্যবহার করুন)।

libxml2-devএটি তৈরি করতে এবং libxml2এটি চালানোর জন্য আপনার প্রয়োজন হবে।

./configureধাপ সাধারণত পতাকা পছন্দ সমর্থন --with-libxml=/usr/lib/সঠিক লাইব্রেরি এ নির্দেশ ( ./configure --helpসমস্ত বিকল্পগুলির তালিকা প্রস্তুত উচিত)। এটি সাধারণত ইনস্টলের অবস্থান পরিবর্তন করে সমর্থন করে --prefix=$HOME/sw। আপনার প্যাকেজ ম্যানেজার যা নিয়ন্ত্রণ করে তার বাইরে একটি উপসর্গ ব্যবহার করা প্যাকেজ ম্যানেজার ইনস্টলড সফ্টওয়্যারটির সাথে বিরোধগুলি এড়ানোর সেরা উপায়।

উপর ডেবিয়ান & ডেরিভেটিভস একটি ব্যবহার --prefixএর /usr/local/বা /opt/local/নিরাপদ হওয়া উচিত।

প্যাকেজ পরিচালকের কাছ থেকে আপনার প্রয়োজনীয় একটি লাইব্রেরি (বা সংস্করণ) উপলভ্য না হলে কেবল উত্সটি ডাউনলোড করুন এবং অনুরূপ বিকল্পগুলি ব্যবহার করে এটি সংকলন করুন। সবচেয়ে গুরুত্বপূর্ণ হল একটি ব্যবহার --prefixআপনার প্যাকেজ ম্যানেজার বাইরে এবং যখন সফ্টওয়্যার সংকলন আপনি সত্যিই ব্যবহার চান --with-<library>=/<path/to/installed/library>


5

এই সরঞ্জামটি auto-aptব্যবহার করা যেতে পারে।

থেকে মানুষ স্বতঃ-কার্যক্ষম :

অটো-এপটি হ'ল এমন একটি প্রোগ্রাম যা অটো-অ্যাপ্ট পরিবেশের মধ্যে চলমান প্রোগ্রামগুলির ফাইল অ্যাক্সেস পরীক্ষা করে। যদি কোনও প্রোগ্রাম অবিচলিত প্যাকেজের কোনও ফাইল অ্যাক্সেস করতে পারে তবে স্বয়ংক্রিয়-অ্যাপ্লিকেশন অ্যাপলিকেশন ব্যবহার করে প্যাকেজটি ইনস্টল করবে।

এটি নিম্নলিখিত হিসাবে ব্যবহৃত হয়:

auto-apt run ./configure

আর একটি উপায় হ'ল apt-get build-dep <package>ডেবিয়ান ভিত্তিক বিতরণগুলি ব্যবহার করা।


apt-get build-dep <package>আমার জন্য কাজ। ./configureআরও একটি প্রয়োজনীয় প্যাকেজ শিখতে বার বার হতাশ হয়ে পড়ে !
হিফফান জন

2

আরপিএম ভিত্তিক ডিস্ট্রিবিউশন জন্য, আপনি সঠিক প্যাকেজ তৈরি করার সময় আপনার হাত চেষ্টা করে দেখতে পারেন (এটা নয় যে কঠিন ...)।

যথাযথ প্যাকেজের সুবিধা হ'ল আপনার প্যাকেজ ম্যানেজারটি সফ্টওয়্যারটির উপর নজর রাখে এবং আপনি সহজেই অন্য কোনও জায়গায় / পরবর্তী মেশিনে আপনার সেটআপটি প্রতিলিপি করতে পারেন। যথাযথ উত্স প্যাকেজ পোর্টিং ফরওয়ার্ডের সাহায্যে (নতুন প্রবাহ সংস্করণ, বাগফিক্স প্যাচ, অন্তর্নিহিত লাইব্রেরিগুলি আপডেট হয়ে যায়) পরের বার থেকে স্ক্র্যাচ থেকে সমস্ত কিছু বেরিয়ে আসার চেয়ে সহজ।

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