'মেক ইনস্টল' এর বিপরীতটি কী, আপনি কীভাবে লিনাক্সে কোনও লাইব্রেরি আনইনস্টল করবেন?


396

যখন চলছিল

./configure --prefix=/mingw 

আমি আগে চালিত লাইব্রেরির জন্য একটি MinGW / MSYS সিস্টেমে

'./configure --prefix=/mingw && make && make install' 

আমি এই বার্তাটি জুড়ে এসেছি:

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

এটি আমাকে চিন্তিত করেছিল। 'মেক ইনস্টল' এর বিপরীতটি কী, অর্থাৎ লিনাক্সে কীভাবে একটি লাইব্রেরি আনইনস্টল করা হয়? কাজটি 'পরিষ্কার করে দেবে', নাকি অন্য পদক্ষেপ জড়িত রয়েছে?



1
অনুরূপ উত্তরের জন্য জিজ্ঞাসা করুন / জিজ্ঞাসা / 1187১১১/২ দেখুন , মূল সমাধানটি বর্তমানে উপস্থিত রয়েছে sudo make uninstallযদি ইনস্টলেশন কনফিগারেশন ফাইলগুলি এখনও উপলভ্য থাকে তবে "চেকইনস্টল" ইনস্টল করা থাকলে সিস্টেম প্যাকেজ পরিচালন ইউটিলিটিটি আনইনস্টল করা ছাড়া অন্য কোনও সুস্পষ্ট সমাধান নেই appears "ইউটিলিটি।
এডওয়ার্ড

7
দৌড়ানোর পরে make installআমার make uninstallএগুলি অপসারণ করার দরকার নেই। আমি সর্বদা ব্যবহার করেছিxargs rm < install_manifest.txt
জন স্ট্রুড

উত্তর:


508

make cleanআপনার উত্স / বিল্ড ট্রি থেকে কোনও মধ্যবর্তী বা আউটপুট ফাইলগুলি সরিয়ে দেয়। তবে এটি কেবল উত্স / বিল্ড ট্রিকে প্রভাবিত করে; এটি বাকী ফাইল সিস্টেমটিকে স্পর্শ করে না এবং তাই পূর্বে ইনস্টল করা সফ্টওয়্যারটি মুছে ফেলবে না।

আপনি যদি ভাগ্যবান হন তবে দৌড়ানোর make uninstallকাজ হবে। এটি সরবরাহ করা লাইব্রেরির লেখকদের উপর নির্ভর করে; কিছু লেখক একটি uninstallলক্ষ্য সরবরাহ করে, অন্যরা তা দেয় না।

আপনি ভাগ্যবান না হলে আপনাকে এটি ম্যানুয়ালি আনইনস্টল করতে হবে। চালনা make -n installসহায়ক হতে পারে, যেহেতু এটি সফ্টওয়্যারটি নিজে ইনস্টল করতে যে পদক্ষেপগুলি গ্রহণ করবে তবে বাস্তবে কিছুই করবে না show তারপরে আপনি নিজেই সেই পদক্ষেপগুলি বিপরীত করতে পারেন।


10
+1 টি; অন্যান্য প্যাকেজগুলির দ্বারা ইনস্টল করা থাকতে পারে এমন ফাইলগুলি দেখুন। কেবলমাত্র এই ফাইলগুলি মুছে ফেলা ("ম্যানুয়ালি সেই পদক্ষেপগুলি উল্টিয়ে দেওয়ার" এর একটি ব্যাখ্যা) অন্যান্য প্যাকেজগুলি ভেঙে দিতে পারে। এটি (বহু কারণগুলির মধ্যে একটি) প্যাকেজ পরিচালকদের উদ্ভাবন করা হয়েছিল কেন।
মের্লিন মরগান-গ্রাহাম

3
আপনি যদি একই কনফিগার করা এবং সংকলিত বিল্ড ডিরেক্টরিটি ঠিক রাখেন তবে এটি কেবল সম্ভব? সুতরাং ইনস্টল করার পরে বেশিরভাগ লোকেরা এটি মুছবে কেননা খুব কার্যকর useful তিনি বিল্ড ফোল্ডারটি রাখেন না কেন এবং মেক আনইনস্টল বিকল্পের জন্য প্যাকেজটি সঠিকভাবে কনফিগার করা হয়েছে কিনা তা বিবেচনা না করেই তিনি জিনিসগুলি আনইনস্টল করতে চান। স্পেসিফিকেশন: তিনি যা করতে চান তা হ'ল প্যাকেজগুলির জন্য একধরণের পরিচালনা সক্ষম করা যা সে নিজেই সঙ্কলিত জিনিসগুলির জন্য কাজ করে।
নিস

360

যদি sudo make uninstallঅনুপলব্ধ থাকে:

ডেবিয়ান ভিত্তিক সিস্টেমে (বা * *) না করে make installআপনি স্বয়ংক্রিয়ভাবে ইনস্টল হয়ে যাওয়া sudo checkinstallকোনও .debফাইল তৈরি করতে চালাতে পারেন run তারপরে আপনি সিস্টেম প্যাকেজ ম্যানেজার ব্যবহার করে এটি মুছে ফেলতে পারেন (যেমন apt/ synaptic/ aptitude/ dpkg)। চেকইনস্টল অন্যান্য ধরণের প্যাকেজ তৈরি করতে সহায়তা করে, যেমন আরপিএম।

আরও দেখুন http://community.linuxmint.com/tutorial/view/162 এবং কিছু মৌলিক checkinstall ব্যবহার এবং ডেবিয়ান checkinstall প্যাকেজ


*: আপনি যদি এটি ইনস্টল করার পরে এটি পড়েন তবে আপনি make installউপরের নির্দেশাবলীটি অনুসরণ করতে পারেন এবং dpkg -r $PACKAGE_NAME_YOU_CHOSENএরপরে কিছু করতে পারেন।


53
এই উত্তরটি প্রমাণ দেয় যে সেরা উত্তরগুলি প্রায়শই প্রচুর পরিমাণে ভোট পায় না। ধন্যবাদ! আমি জানতে চেয়েছিলাম কীভাবে এটি দীর্ঘ সময়ের জন্য করা যায়। আমি সবসময় "মেক ইনস্টল" করতে দ্বিধা বোধ করি কারণ আমি জানি এটি প্রায় অবশ্যই মুছে ফেলার ব্যথা হবে।
doug65536

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

13
এটি আমার জন্য খুব সুন্দরভাবে কাজ করেছে, যদিও এর পরিবর্তে আমি ইতিমধ্যে make installব্যবহারের আগে checkinstallচালিয়েছি।
লুকজিটি

9
checkinstallকাজের এই দুর্দান্ত উত্তরের জন্য প্যাকেজ ইনস্টল করুন ।
quimnuss

1
একইভাবে ব্যবহারকারী "লুকজিটি" কী মন্তব্য করেছিলেন, যদি ইনস্টলেশন কনফিগারেশন ফাইলগুলি উপলভ্য না হয় তবে ইনস্টলার ফাইলগুলি থাকে তবে সেগুলি সংকলন এবং ইনস্টল করা যেতে পারে checkinstallএবং যদি নতুন সংকলনটি পুরানোটির মতো একই সেটিংসে তৈরি করা হয়, প্যাকেজ ইনস্টল না করে ইনস্টল করা হবে এর সাথে checkinstallপূর্বে ইনস্টল করা ফাইলগুলি সরানো উচিত।
এডওয়ার্ড

62

আপনার যদি manifestইনস্টল করা সমস্ত ফাইলের তালিকাভুক্ত কোনও ফাইল থাকে তবে make installএই আদেশটি চালাতে পারেন যা আমার অন্য উত্তর থেকে এসেছে:

cat install_manifest.txt | xargs echo rm | sh

আপনার যদি sudo make installথাকে তবে আপনার আনইনস্টলটিতে একটি সূডো যুক্ত করতে হবে:

cat install_manifest.txt | xargs echo sudo rm | sh

4
এটি দেখে কোনও অবাক না হয়ে আমি অবাক হয়েছি। এটি যখন অন্য কোনও বিকল্প কাজ না করে তখন সিস্টেম থেকে ফাইলগুলি সরিয়ে ফেলতে কাজ করে worked আমার ক্ষেত্রে, চেকইনস্টল একটি ডেব তৈরি করতে পারেনি কারণ প্রোগ্রামটির সংস্করণটি কোনও সংখ্যার সাথে শুরু হয়নি, এবং তাই এটি তৈরি করে না। এটি দুর্দান্তভাবে কাজ করেছে।
ডিওয়িলস

3
@WWils আমার মনে হয় এটি আরও upvotes পায় নি কারণ এটি বেশ বিপজ্জনক। অতিরিক্তভাবে xargs echo rm | sh,? একদম সুস্পষ্ট যে যারাই এটি প্রস্তাব করেছিল সে শেলটি ব্যবহারের ক্ষেত্রে বিশেষভাবে অভিজ্ঞ বা জ্ঞাতযোগ্য নয়।
এফটিএসডি

4
(রেফারেন্সের জন্য, এটি শেল দ্বারা ব্যাখ্যা করা ফাইলনামগুলির কোনও অক্ষরের উপর বাধা দেবে (এবং তারপরে আপনি দুর্বৃত্তের আরএম চালিত হবেন!), এটি সমস্ত ধরণের শেল প্রসারণ করবে Just ভেবে দেখুন কী ঘটে যদি install_manifest.txtএকটি নক্ষত্র থাকে) ... rm *একটি খোলার মধ্যে পাইপ করা হবে।) এই কারণে, ডাউনভোটেড।
এফটিএসডি

@fstd ঠিক আছে। যথারীতি এই ধরণের উত্তরটি সাবধানতার সাথে ব্যবহার করতে হবে। আপনি এই আদেশটি চালানোর আগে ম্যানিফেস্ট ফাইলটি পরীক্ষা করুন। তবে আপনি যদি শেলটি ব্যবহার করছেন তবে আমি ধরে নিচ্ছি আপনি কী করছেন তা আমি জানি।
তিন

আপনি কি এমন পরিস্থিতিতে বর্ণনা install_manifest.txtকরতে পারেন যার অধীনে কোনওটির উপস্থিতি আশা করা যায়?
einpoklum

28

প্রশ্নে থাকা প্রোগ্রামটির মেকফিল / কনফিগার স্ক্রিপ্ট / অটোফু যাদু কতটা ভাল তার উপর নির্ভর করে নিম্নলিখিতগুলি আপনার সমস্যার সমাধান করতে পারে:

make uninstall

সমস্যাটি হ'ল আপনার ইনস্টল হওয়া সংস্করণটির উত্স ট্রিতে এবং ইনস্টল করার জন্য আপনি ঠিক একই কনফিগারেশনটি ব্যবহার করেছিলেন।


19

"মেক ইনস্টল" এর পরে কীভাবে আনইনস্টল করবেন

পদ্ধতি # 1 (আনইনস্টল করুন)

পদক্ষেপ 1: আপনার কেবল এই পদক্ষেপটি অনুসরণ করা দরকার যদি আপনি / মুছেছেন বিল্ড ডিরেক্টরি পরিবর্তন / ডাউনলোড করুন এবং করা ব্যবহার করে ইনস্টল করুন: কোন ভাবেই সঠিক একই পদ্ধতি যেমন আপনি আগে করেনি।

পদক্ষেপ 2: আনইনস্টল করার চেষ্টা করুন।

cd $SOURCE_DIR 
sudo make uninstall

তাহলে এই সফল প্রক্রিয়াটি সম্পন্ন করুন। আপনি যদি ভৌতিক হয়ে থাকেন তবে আপনি এর পদক্ষেপগুলিও চেষ্টা করতে পারেনmake uninstall কোনও ফাইল মিস না করে তা নিশ্চিত করতে আপনি "পদ্ধতি # 3" এর করতে পারেন ।

পদ্ধতি # 2 (চেকইনস্টল - শুধুমাত্র ডেবিয়ান ভিত্তিক সিস্টেমের জন্য)

প্রক্রিয়া ওভারভিউ

ডেবিয়ান ভিত্তিক সিস্টেমে (যেমন উবুন্টু) আপনি .debনামের একটি সরঞ্জাম ব্যবহার করে খুব সহজেই প্যাকেজ তৈরি করতে পারেনcheckinstall । তারপরে আপনি .deb প্যাকেজটি ইনস্টল করুন (এটি আপনার ডেবিয়ান সিস্টেমটিকে উপলব্ধি করবে যে আপনার প্যাকেজের সমস্ত অংশ সত্যই ইনস্টল করা হয়েছে) এবং অবশেষে এটি আপনার প্যাকেজ পরিচালককে আপনার সিস্টেমে সঠিকভাবে পরিষ্কার করার জন্য আনইনস্টল করুন।

ধাপে ধাপে

sudo apt-get -y install checkinstall
cd $SOURCE_DIR 
sudo checkinstall

এই মুহুর্তে checkinstallএকটি প্যাকেজ নাম জিজ্ঞাসা করা হবে। কিছুটা বর্ণনামূলক কিছু লিখুন এবং এটি নোট করুন কারণ আপনি এটি এক মিনিটের মধ্যে ব্যবহার করবেন। এটি আপনাকে উপেক্ষা করতে পারে এমন আরও কয়েকটি ডেটার জন্য অনুরোধ জানাবে। যদি সংস্করণটি এটির জন্য অভিযোগযোগ্য না হয় তবে কেবল যুক্তিযুক্ত কিছু লিখুন 1.0। এটি সম্পূর্ণ হয়ে গেলে আপনি ইনস্টল করতে পারেন এবং শেষ পর্যন্ত আনইনস্টল করতে পারেন:

sudo dpkg -i $PACKAGE_NAME_YOU_ENTERED 
sudo dpkg -r $PACKAGE_NAME_YOU_ENTERED

পদ্ধতি # 3 (ইনস্টল_ম্যানিস্ট.টেক্সট)

install_manifest.txtআপনার উত্স dir এ যদি কোনও ফাইল বিদ্যমান থাকে তবে এতে ইনস্টলেশনটি তৈরি করা প্রতিটি ফাইলের ফাইলের নাম থাকতে হবে।

সুতরাং প্রথমে ফাইলগুলির তালিকা এবং তাদের আধুনিক সময় পরীক্ষা করুন:

cd $SOURCE_DIR 
sudo xargs -I{} stat -c "%z %n" "{}" < install_manifest.txt

আপনার শূন্য ত্রুটি পাওয়া উচিত এবং তালিকাভুক্ত ফাইলগুলির মোড-টাইম ইনস্টলেশন সময়ের পরে বা তার পরে হওয়া উচিত । যদি সবকিছু ঠিক থাকে তবে আপনি সেগুলি একবারে মুছতে পারেন:

cd $SOURCE_DIR 
mkdir deleted-by-uninstall
sudo xargs -I{} mv -t deleted-by-uninstall "{}" < install_manifest.txt

ব্যবহারকারী মার্লিন মরগান-গ্রাহামের এই পদ্ধতি সম্পর্কে আপনার একটি গুরুতর নোটিশ রয়েছে যা আপনার মনে রাখা উচিত (এখানে শব্দভাণ্ডারের অনুলিপি করা উচিত): "অন্যান্য প্যাকেজগুলির দ্বারা ইনস্টল করা হতে পারে এমন ফাইলগুলির জন্য নজর রাখুন Simp কেবল এই ফাইলগুলি মুছে ফেলা [...] পারে অন্যান্য প্যাকেজগুলি ভেঙে দিন। । এ কারণেই আমরা deleted-by-uninstallফাইলগুলি মুছে ফেলার পরিবর্তে দির তৈরি করেছি এবং ফাইলগুলি সেখানে স্থানান্তরিত করেছি।


এই পোস্টের 99% অন্যান্য উত্তরে বিদ্যমান ছিল। আমি কীভাবে কার্যকর তা অনুসরণ করতে (আশা করি) সহজভাবে দরকারী সমস্ত কিছু সংগ্রহ করেছি এবং গুরুত্বপূর্ণ বিবরণে অতিরিক্ত মনোযোগ দেওয়ার চেষ্টা করেছি (যেমন xarg যুক্তি উদ্ধৃত করা এবং মোছা ফাইলগুলির ব্যাকআপ রাখা)।


মেথড 2 আমার পক্ষে কাজ করেছে!
আইজাযাক

10

make clean সাধারণত কেবলমাত্র সোর্স কোড যুক্ত ডিরেক্টরিতে নির্মিত ফাইলগুলি সাফ করে এবং খুব কমই কোনও ইনস্টলড সফ্টওয়্যার স্পর্শ করে।

মেকফিলগুলি সাধারণত আনইনস্টল করার লক্ষ্য রাখে না - সাধারণত যে ডিরেক্টরিটি ইনস্টল করা হয়েছিল সেখান থেকে ফাইলগুলি সরিয়ে আপনি নিজেই তা করতে হবে। উদাহরণস্বরূপ, যদি আপনি একটি প্রোগ্রাম নির্মিত এবং (ব্যবহার করে এটি ইনস্টল make install) মধ্যে /usr/local, আপনি মাধ্যমে সন্ধান করতে চাই চাই /usr/local/bin, /usr/local/libexec, /usr/local/share/manইত্যাদি এবং অবাঞ্ছিত ফাইল মুছে ফেলুন। কখনও কখনও একটি Makefile একটি অন্তর্ভুক্তuninstall লক্ষ্য , কিন্তু সবসময় না।

অবশ্যই, সাধারণত একটি লিনাক্স সিস্টেমে আপনি একটি প্যাকেজ ম্যানেজার ব্যবহার করে সফ্টওয়্যার ইনস্টল করেন , যা "স্বয়ংক্রিয়ভাবে" সফ্টওয়্যার আনইনস্টল করতে সক্ষম।


8

"স্টো" ইউটিলিটি এই সমস্যাটি সমাধান করার জন্য ডিজাইন করা হয়েছিল: http://www.gnu.org/software/stow/


5
কেউ কীভাবে stowএই সমস্যাটি সমাধান করতে ব্যবহার করবে ?
3D1T0R

স্টো ইউটিলিটি আপনাকে প্রতিটি সংস্করণকে পৃথক স্থানে ইনস্টল করতে উত্সাহ দেয় যাতে আপনি একই মেশিনে একাধিক সংস্করণ পরিচালনা করতে পারেন। আপনি যদি এটি করেন তবে আনইনস্টল করা পুরো ইনস্টলেশন ডিরেক্টরি মুছে ফেলার মতো সহজ হতে পারে।
ব্রুস অ্যাডামস

6

দুর্ভাগ্যক্রমে কোনও মানদণ্ড নেই, উত্স থেকে ইনস্টল করার এটি অন্যতম বিপদ। কিছু মেকফাইলস একটি "আনইনস্টল" অন্তর্ভুক্ত করবে, তাই

make uninstall

উত্স ডিরেক্টরি থেকে কাজ করতে পারে। অন্যথায় এটি ম্যানুয়ালি যা কিছু হোক না কেন পূর্বাবস্থায় ফেলার বিষয়টি হতে পারেmake install তা পারে।

make clean সাধারণত কেবল উত্স ডিরেক্টরিটি পরিষ্কার করে - উত্পন্ন / সংকলিত ফাইলগুলি এবং এর মতো অপসারণ করা, সম্ভবত আপনি যা করেন তা নয়।


0

আমি এমন কয়েকটি প্যাকেজ সম্পর্কে জানি যা "মেক আনইনস্টল" সমর্থন করে তবে আরও অনেকগুলি সমর্থন করে যে মঞ্চস্থ ইনস্টলের জন্য "DESTDIR = xxx" ইনস্টল করে মেক করে।

আপনি উত্স থেকে সরাসরি ইনস্টল না করে ইনস্টল করা প্যাকেজ তৈরি করতে আপনি এটি ব্যবহার করতে পারেন। চেকইনস্টল নিয়ে আমার ভাগ্য নেই তবে এফএম খুব ভাল কাজ করে।

এটি মেক ইনস্টল ব্যবহার করে পূর্বে ইনস্টল করা প্যাকেজ অপসারণ করতে আপনাকে সহায়তা করতে পারে । আপনি কেবল নিজের তৈরি প্যাকেজটিকে মেক ইনস্টলডটির উপরে জোর করে ইনস্টল করুন এবং তারপরে এটি আনইনস্টল করুন।

উদাহরণস্বরূপ, আমি প্রোটোবুফ -৩.৩.০ এর সাথে ডিল করতে সম্প্রতি এটি ব্যবহার করেছি। RHEL7 এ:

make install DESTDIR=dest
cd dest
fpm -f -s dir -t rpm -n protobuf -v 3.3.0 \
 --vendor "You Not RedHat" \
 --license "Google?" \
 --description "protocol buffers" \
 --rpm-dist el7 \
 -m you@youraddress.com \
 --url "http:/somewhere/where/you/get/the/package/oritssource" \
 --rpm-autoreqprov \
 usr

 sudo rpm -i -f protobuf-3.3.0-1.el7.x86_64.rpm
 sudo rpm -e protobuf-3.3.0      

পারলে ইউএমকে আরপিএম পছন্দ করুন।

দেবিয়ান 9-তে

make install DESTDIR=dest
cd dest
fpm -f -s dir -t deb -n protobuf -v 3.3.0 \
-C `pwd` \
--prefix / \
--vendor "You Not Debian" \
--license "$(grep Copyright ../../LICENSE)" \
--description "$(cat README.adoc)" \
--deb-upstream-changelog ../../CHANGES.txt \
 --url "http:/somewhere/where/you/get/the/package/oritssource" \
 usr/local/bin \
 usr/local/lib \
 usr/local/include

 sudo apt install -f *.deb
 sudo apt-get remove protobuf

আপনি যেখানে পারেন সেখানে অ্যাপ্লিকেশনকে dpkg পছন্দ করুন।

আমি এখানে এই উত্তর পোস্ট করেছি


0

Makeএটি কী জানে এবং এটি কী করবে তা আপনাকে বলতে পারে। ধরুন আপনার কাছে একটি "ইনস্টল" লক্ষ্য রয়েছে, যা এই জাতীয় আদেশগুলি কার্যকর করে:

cp <filelist> <destdir>/

আপনার জেনেরিক নিয়মে, যুক্ত করুন:

uninstall :; MAKEFLAGS= ${MAKE} -j1 -spinf $(word 1,${MAKEFILE_LIST}) install \
              | awk '/^cp /{dest=$NF; for (i=NF; --i>0;) {print dest"/"$i}}' \
              | xargs rm -f

একটি অনুরূপ কৌশল একটি জেনেরিক করতে পারে make clean


0

প্রস্তাবনা

নীচে কাজ করতে পারে বা নাও করতে পারে, এই সমস্ত কিছু যেমন রয়েছে তেমনই দেওয়া হয়েছে, কিছু ক্ষয়ক্ষতি, তথ্য হ্রাস এবং এরকম ক্ষেত্রে আপনি এবং কেবলমাত্র আপনিই দায়বদ্ধ ব্যক্তি। তবে আমি আশা করি বিষয়গুলি মসৃণ হবে!

পূর্বাবস্থা make install আমি এটি করব (এবং আমি করেছি):

আইডিয়া: যা কিছু স্ক্রিপ্ট ইনস্টল করা আছে তা পরীক্ষা করে দেখুন এবং এটিকে সহজ বাশ স্ক্রিপ্টের মাধ্যমে পূর্বাবস্থায় ফেরাবেন।

  1. কিছু কাস্টম ডায়ারে ইনস্টল করতে আপনার বিল্ড ডিরটি পুনরায় কনফিগার করুন। আমি সাধারণত এটি করি:--prefix=$PWD/install। সিএমকেকের জন্য, আপনি আপনার বিল্ড ডায়ারে যেতে পারেন, সিএমকেকচি.টেক্সট খুলুন এবং CMAKE_INSTALL_PREFIX মানটি ঠিক করতে পারেন।
  2. প্রকল্পটি কাস্টম ডিরেক্টরিতে ইনস্টল করুন (কেবল চালান run make install আবার )।
  3. এখন আমরা অনুমান থেকে চাপছি, সেই make installস্ক্রিপ্টটি কাস্টম ডিয়ারে ইনস্টল করে ঠিক একই বিষয়বস্তু যা আপনি অন্য কোথাও থেকে সরিয়ে নিতে চান (সাধারণত /usr/local)। সুতরাং, আমাদের একটি স্ক্রিপ্ট দরকার। 3.1। স্ক্রিপ্টটি কাস্টম দিরের সাথে তুলনা করা উচিত, দিরের সাথে আপনি পরিষ্কার চান। আমি এটি ব্যবহার:

anti-install.sh

RM_DIR=$1
PRESENT_DIR=$2

echo "Remove files from $RM_DIR, which are present in $PRESENT_DIR"

pushd $RM_DIR

for fn in `find . -iname '*'`; do
#  echo "Checking $PRESENT_DIR/$fn..."
  if test -f "$PRESENT_DIR/$fn"; then
    # First try this, and check whether things go plain
    echo "rm $RM_DIR/$fn"

    # Then uncomment this, (but, check twice it works good to you).
    # rm $RM_DIR/$fn
  fi
done

popd

3.2। এখন কেবল এই স্ক্রিপ্টটি চালান (এটি শুষ্ক রান হবে)

bash anti-install.sh <dir you want to clean> <custom installation dir>

উদাহরণস্বরূপ আপনি / usr / স্থানীয় পরিষ্কার করতে চান না এবং আপনার কাস্টম ইনস্টলেশন দিরটি / ব্যবহারকারীর / মেম্বার / বিল্ভিএম.বিল্ড / ইনস্টল হয়, তবে এটি হবে

bash anti-install.sh /usr/local /user/me/llvm.build/install

3.3। সতর্কতা অবলম্বন করে দেখুন, যদি আদেশগুলি আপনার পক্ষে ভাল হয় তবে কোনও অসুবিধা rm $RM_DIR/$fnনা করে আবার এটি চালান। তবে থামো! আপনি কি সত্যিই সাবধানে পরীক্ষা করেছেন? আবার চেক করা যাবে?

নির্দেশাবলী উত্স: https://dyatkovskiy.com/2019/11/26/anti-make-install/

শুভকামনা!

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