আমি 'মেক ইনস্টল' চালাতে চাই যাতে আমার প্রয়োজনীয় সমস্ত কিছু থাকে তবে সিস্টেমের / ইউএসআর / বিন ইত্যাদির বিপরীতে জিনিসগুলি তাদের নিজস্ব ফোল্ডারে ইনস্টল করা কি সম্ভব? এমনকি যদি এটি / usr / বিন ইত্যাদির সরঞ্জামগুলি রেফারেন্স করে?
আমি 'মেক ইনস্টল' চালাতে চাই যাতে আমার প্রয়োজনীয় সমস্ত কিছু থাকে তবে সিস্টেমের / ইউএসআর / বিন ইত্যাদির বিপরীতে জিনিসগুলি তাদের নিজস্ব ফোল্ডারে ইনস্টল করা কি সম্ভব? এমনকি যদি এটি / usr / বিন ইত্যাদির সরঞ্জামগুলি রেফারেন্স করে?
উত্তর:
এটি প্যাকেজের উপর নির্ভর করে। যদি মেকফাইলটি জিএনইউ অটোটুলগুলি ( ./configure
) দ্বারা উত্পাদিত হয় তবে আপনি সাধারণত লক্ষ্য অবস্থান নির্ধারণ করতে পারেন:
./configure --prefix=/somewhere/else/than/usr/local
যদি মেকফাইলটি অটোটুলগুলি দ্বারা উত্পাদিত না হয় তবে সফ্টওয়্যারটির সাথে বিতরণ করা হয় তবে কেবল এডিটরটিতে এটি খুলুন এবং এটি পরিবর্তন করুন। ইনস্টল লক্ষ্য ডিরেক্টরি সম্ভবত কোথাও একটি চলক মধ্যে সংজ্ঞায়িত করা হয়।
make && make install
কনফিগার ধারাটি অনুসরণ করা উচিত নয় ?
--prefix
হ'ল যদি আপনি strings
পরে বাইনারিটি চালান তবে আপনি দেখতে পাচ্ছেন যে পথটি ভিতরে সঞ্চিত আছে। আমি জানি না কেন এটি সুখী হয়, তবে আমি অবশ্যই আমার মেশিনের পথগুলি বাইনারিগুলিতে চাই না যা আমি অন্য ব্যবহারকারীদের কাছে প্রেরণ করি।
যেহেতু অটোমেকের কোন সংস্করণটি আপনি জানেন না আপনি DESTDIR পরিবেশ পরিবর্তনশীল ব্যবহার করতে পারেন ।
নিশ্চিত হওয়ার জন্য মেকফিল দেখুন।
উদাহরণ স্বরূপ:
export DESTDIR="$HOME/Software/LocalInstall" && make -j4 install
make DESTDIR=./new/customized/path install
এই দ্রুত কমান্ড উবুন্টু 16 এ 3.2.0 ইনস্টলেশন ওপেনসিভি রিলিজ করার জন্য আমার পক্ষে কাজ করেছিল DE
DESTDIR অবস্থান ব্যবহারকারীর জন্য ডান অ্যাক্সেস না হওয়া পর্যন্ত ব্যবহারকারীর প্রশাসনিক সুবিধাগুলি না থাকলে ক্ষেত্রে এই জাতীয় পুনঃনির্দেশটিও কার্যকর হতে পারে। যেমন / হোম //
আপনি যে মডিউলটি সংকলনের চেষ্টা করছেন তার দ্বারা এটি নির্ভরযোগ্য হতে পারে। যদি আপনার মেকফাইলটি অটোটুলগুলি ব্যবহার করে উত্পন্ন হয় তবে ব্যবহার করুন:
--prefix=<myinstalldir>
। / কনফিগার চালু করার সময়
কিছু প্যাকেজ আপনাকে চলমান অবস্থায় ওভাররাইড করতে দেয়:
make prefix=<myinstalldir>
তবে, যদি আপনার। / কনফিগার ব্যবহার না করা হয় তবে নিশ্চিতভাবে জানার একমাত্র উপায় হ'ল মেকফিলটি খোলার এবং চেক করা। এটি শীর্ষে কয়েকটি প্রথম পরিবর্তনশীল হওয়া উচিত।
make prefix=...
ভুল হার্ড-কোডড পাথগুলির সাথে বাইনারিগুলির ফলস্বরূপ হতে পারে, যেহেতু সাধারণত সেগুলি পরে সংশোধন করা যায় না./configure --prefix=...
প্যাকেজের মাধ্যমে একটি প্রদান করে Makefile.PL
- একটি ব্যবহার করতে পারেন:
perl Makefile.PL PREFIX=/home/my/local/lib LIB=/home/my/local/lib
make
make test
make install
* আরও ব্যাখ্যা: https://www.perlmonks.org/?node_id=564720
আমি উপরের সমাধানগুলি চেষ্টা করেছিলাম। কারও কাজ হয়নি।
শেষ পর্যন্ত আমি মেকফিল ফাইলটি খুললাম এবং ম্যানুয়ালি উপসর্গের পথটি নীচের মত পছন্দসই ইনস্টলেশন পথে পরিবর্তিত করেছিলাম
PREFIX ?= "installation path"
যখন আমি - প্রিফিক্স চেষ্টা করেছি, "মেক" অভিযোগ করেছে যে এরকম কমান্ড ইনপুট নেই। তবে, সম্ভবত কিছু প্যাকেজগুলি - ਪ੍ਰੀফিক্স গ্রহণ করে যা অবশ্যই একটি ক্লিনার সমাধান।
--prefix
বিকল্প হয় ./configure
যা আপনি আগে কল make
।
INSTALL_ROOT ব্যবহার করে দেখুন।
make install INSTALL_ROOT=$INSTALL_DIRECTORY