জিলিবিসি আপডেট না করে কীভাবে নতুন সফটওয়্যার চালাবেন?


20

আমি পুরাতন রেড হ্যাট এন্টারপ্রাইজ লিনাক্স এএস রিলিজ 4 সিস্টেমে ম্যাথমেটিকা ​​9 ইনস্টল করেছি। ইনস্টলেশনের পরে, আমি গণিত শুরু করার চেষ্টা করেছি, তবে নিম্নলিখিত বার্তাটি প্রকাশিত হয়েছিল:

/home/wcbao/M/Wolfram/Mathematica/9.0/SistmFiles/FrontEnd/Binaries/Linux-x86-64/Mathematica: /lib64/tls/libc.so.6: version `GLIBC_2.4 'পাওয়া যায় নি / দ্বারা প্রয়োজনীয় হোম / wcbao / মি / উল্ফর্যাম / ম্যাথামেটিকাল / 9.0 / SystemFiles / লাইব্রেরি / লিনাক্স-x86-64 '/ libML64i3.so)

/home/wcbao/M/Wolfram/Mathematica/9.0/SistmFiles/FrontEnd/Binaries/Linux-x86-64/Mathematica: /lib64/tls/libc.so.6: version `GLIBC_2.4 'পাওয়া যায় নি / দ্বারা প্রয়োজনীয় হোম / wcbao / মি / উল্ফর্যাম / ম্যাথামেটিকাল / 9.0 / SystemFiles / লাইব্রেরি / লিনাক্স-x86-64 '/ libQtCore.so.4)

আমি সিস্টেমটি গ্লিবসি আপডেট করতে চাই না, কারণ এটি ঝুঁকিপূর্ণ এবং প্রশাসক আমাকে এটি করতে দেয় না।

কেউ পরামর্শ দিয়েছেন যে কেবল অন্য কোথাও গ্লিবসি-র নতুন সংস্করণ ইনস্টল করা এবং প্রোগ্রামটি চালানো সম্ভব

LD_LIBRARY_PATH=/lib/new your_application

এবং এটি সিস্টেমকে প্রভাবিত করবে না।

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

সম্পাদনা করুন :

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


2
এটা কাজ করবে। এটি সেট আপ করার জন্য যথেষ্ট পরিমাণে কাজ হওয়ার সম্ভাবনা রয়েছে (ম্যাথামেটিকার উপর নির্ভরশীল আপনার সমস্ত লাইব্রেরি ইনস্টল করতে হবে)। আমার রিকোমেন্ডেশনটি হ'ল আপনার বাড়ির একটি উপ-ডিরেক্টরিতে নতুন রিলিজ থেকে আরপিএম প্যাকেজ ইনস্টল করা। আরএইচ-র সাথে বেশি পরিচিত এমন কাউকে আমি কীভাবে এটি করব তা ব্যাখ্যা করে একটি উত্তর লিখতে দেব।
গিলস

@ গিলস হাই, গিলস, আপনাকে অনেক ধন্যবাদ !!! আমি সামনের দিকে লক্ষ্য রাখছি.
ব্যবহারকারী 15964

এটা তোলে হয় অন্যত্র জন্য glibc ইনস্টল করতে ঝুঁকিপূর্ণ।
বেনজিওবি

@ বেঞ্জিবিবে - আপনি ঠিক কী ধরনের ঝুঁকির কথা উল্লেখ করছেন?
FooF

1
থেকে সুপার-ইউজার ক্রস-পোস্ট superuser.com/questions/543249/... সেখান থেকে আমার মন্তব্য পুনরাবৃত্তি: "RHEL4 আট বছর বয়সী এবং তার স্বাভাবিক সমর্থন জীবনচক্র শেষে পৌঁছেছে না আরেকটা মেশিন আপনি এটি ইনস্টল করতে পারে। ? যেমন। আপনার ডেস্কটপ মেশিন। "
বুরহান আলী

উত্তর:


10

আপনি অবশ্যই জিলিবিসি-র একটি নতুন সংস্করণ সংকলন করতে পারেন এবং এটি একটি পৃথক ডিরেক্টরিতে সঞ্চয় করতে পারেন। আপনাকে প্রথমে যে কাজটি করতে হবে তা হ'ল http://ftp.gnu.org/gnu/glibc/ থেকে আপনি চান গ্লিবসি সংস্করণটি ডাউনলোড করুন ।

configureস্ক্রিপ্টটি চালান এবং এর --prefix=মতো কিছুতে সেট করুন /home/you/mylibs

আপনি এটিকে ডিরেক্টরিটি ডিরেক্টরিতে ইনস্টল করার পরে, আপনাকে LD_LIBRARY_PATHনতুন গ্লিব্যাকের অবস্থানটিতে সেট করতে হবে।

আপনাকে যে কোনও নির্ভরতা সংকলনের প্রয়োজন হতে পারে তা খুঁজে বের করতে হবে। আপনি একটি শেল স্ক্রিপ্ট তৈরি করতে পারেন যা এলডি_ * ভেরিয়েবলগুলি সেট করে এবং আপনার প্রোগ্রামটি চালায় (যা আপনাকে যেভাবেই করতে হবে), এবং এটি বারবার চালাতে পারেন - গতিপথগুলি / ডাউনলোডের পথে পুনরায় সংশোধন করুন।

lddপ্রোগ্রামটি কী ভাগ করে নেওয়া লাইব্রেরিগুলি নির্ধারণ করতে আপনি তা ব্যবহার করতে পারেন, তারপরে lddপ্রতিটি লাইব্রেরিতে তাদের glibc প্রয়োজন কিনা তা জানতে এটি ব্যবহার করুন।

এটি একটি খুব সময় সাশ্রয়ী প্রক্রিয়া হতে পারে এবং হৃদয়ের অধৈর্য বা অজ্ঞান হয়ে যাওয়ার জন্য নয় - আপনার অ্যাপ্লিকেশনটির কাজটি করার জন্য প্রয়োজনীয় নির্ভরতার মধ্য দিয়ে আপনার পথটি ট্র্যাভারিং / কমপ্লেং করে মাঝে মাঝে আপনাকে আপনার চুল টেনে আনতে চায়।

আপডেট 1:

আমি জন্য glibc-2.4 ডাউনলোড করে সেন্টওএস 6. তে এটি কম্পাইল করার পাওয়ার চেষ্টা configureসঠিকভাবে কাজ করছে আমি পরিবর্তন করতে হয়েছিল acএবং ldপরিবর্তন করে সংস্করণ চেক:

2.1[3-9]*)

প্রতি:

2.*)

লাইন 4045এবং 4106মধ্যে configureফাইল নিজেই। আমি আমার * FLAGS এনভায়রনমেন্ট ভেরিয়েবলগুলি সেট করেছিলাম:

LDFLAGS="-Wl,--sort-common -Wl,-zcombreloc -Wl,-znow" 
CFLAGS="-pipe -fomit-frame-pointer -g1 -O3 -frename-registers -fweb -ftracer -fmodulo-sched -fvariable-expansion-in-unroller -fgcse-sm"
CXXFLAGS="${CFLAGS}" 
CFLAGS="${CFLAGS} -freorder-blocks-and-partition" 
export LDFLAGS CFLAGS CXXFLAGS

এবং তারপরে মৃত্যুদণ্ড কার্যকর করা হবে ./configure --prefix=/home/tim/masochist। এটি সঠিকভাবে কনফিগার করা হয়েছে ... এবং এটি খুব ভালভাবে নির্মাণও শুরু করেছে ... তবে আমি ত্রুটিগুলিতে দৌড়াতে শুরু করি - বেশিরভাগ সংকলক বিষয়গুলির পুনরায় সংজ্ঞায়িত হওয়ার বিষয়ে অভিযোগ করে।

এই মুহুর্তে আমি ত্যাগ করেছি ... কারণ এটি খুব বেশি সময়সাপেক্ষ হয়ে উঠছিল । ;)


তথ্যের জন্য +1, যদিও শেষ লাইনটি গুরুত্বপূর্ণ। জড়িত পরিশ্রমের পরিমাণটি উপযুক্ত কিনা তা ওপিতে সিদ্ধান্ত নিতে হবে।
বুরহান আলী

সবাইকে ধন্যবাদ! ঠিক আছে, আমি পদত্যাগ করছি। আমি মনে করি আমি আপত্তি হিসাবে ম্যাথমেটিক 8 এর সাথে লেগে থাকাই ভাল। এটি রেড হ্যাট 4 এ কাজ করে
ব্যবহারকারী 15964

@ লিভিংস্ট্যাক্যাটো হাই, তবে ভোনব্র্যান্ডের কথায় কীভাবে মন্তব্য করা যায়: "কিছু অদ্ভুত জায়গায় নতুন সংস্করণ ইনস্টল করা ঝুঁকিপূর্ণ ... অদ্ভুত জায়গার লাইব্রেরিটি এলোমেলো জিনিস দিয়ে উঠতে পারে, ...."। আসলেই কি ঝুঁকিপূর্ণ? আপনার উত্তরে বর্ণিত পদ্ধতিটি কি আপনি কখনও চেষ্টা করেছেন?
ব্যবহারকারী 15964

@ user15964 আপনি যদি যা করছেন সেদিকে মনোযোগ না দিচ্ছেন root বা আপনি নিজের সেশন ইন স্ক্রিপ্টে আপনার LD_PRELOAD পরিবর্তন এবং নিজেকে লক আউট করার মতো অদ্ভুত কিছু না করেন তবে এটি ঝুঁকিপূর্ণ নয় ।
livestaccato

@ user15964 এছাড়াও - হ্যাঁ - আমি আবার গ্লোবিক উপায়, উপায় পুনরায় তৈরি করেছি have
livestaccato

1

আপনার বিতরণ দ্বারা সমর্থিত কোনও সংস্করণে গ্লিবসি আপডেট করা কম ঝুঁকিপূর্ণ। এটি অনেক আগের সংস্করণগুলির সাথে সামঞ্জস্যতা হ্যান্ডেল করার জন্য রচনা করা হয়েছে , এবং (বাগ বারিং) নতুন সংস্করণটি প্রতিস্থাপনের মাত্র একটি ড্রপ হওয়া উচিত। কিছু অদ্ভুত জায়গায় নতুন সংস্করণ ইনস্টল করা ঝুঁকিপূর্ণ, আইএমএইচও।


4
তবে সমস্যাটি হচ্ছে আমি প্রশাসক নই, আমার কর্তৃত্ব নেই have এমনকি যদি অনুমতি পেয়েও যাই তবে আমি সিস্টেমে পরিবর্তন আনতে ভীত, কারণ এটি আমার কম্পিউটার নয়, এটি আসলে একটি গুচ্ছ, অনেক লোক এতে কাজ করে। যাইহোক, কেন অন্য জায়গায় একটি নতুন সংস্করণ ঝুঁকিপূর্ণ? আমার কেবলমাত্র নতুন সফটওয়্যারটির সাথে আমার প্রয়োজনীয় সফ্টওয়্যারটি লিঙ্ক করা দরকার, পুরো সিস্টেমটি নয়।
ব্যবহারকারী 15964

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

1
@ ভনব্র্যান্ড - ননসেন্স, যদি না আমরা কিছু উচ্চ সুরক্ষা মেশিনের কথা বলি (এবং উদাহরণস্বরূপ কিছু শেয়ার্ড ডেভেলপার বা টেস্টিং মেশিন / ক্লাস্টার না হয়) তবে আপনার বিদেশী অবিশিক্ষিত সফ্টওয়্যার সম্পর্কে স্বাস্থ্যকর প্যারানিয়া থাকতে হবে। এলোমেলো ভাঙ্গনের ক্ষেত্রে, বিশ্বাসযোগ্য উত্সগুলি থেকে বিচ্ছিন্নভাবে অ্যাপ্লিকেশন প্রোগ্রাম ইনস্টল করার চেয়ে libc (সমস্ত সিস্টেমকে প্রভাবিত করে, সম্ভবত সিস্টেমের বিরতি ঘটাচ্ছে) আপডেট করা একেবারে আলাদা বিষয় (ম্যাথমেটেমিয়া এলোমেলো প্যাকেজ যে ধারণার সাথে আমি একমত নই)। অবশ্যই রিসোর্স ক্লান্তি একটি বৈধ উদ্বেগ যা উপযুক্ত সিসাদমিনের উচিত।
FooF

@ ফুফ, আমি "প্রশাসন সবচেয়ে ভাল জানে, ব্যবহারকারীরা কোনও সমর্থন ছাড়াই তারা যেমন করতে চান " এই অঞ্চলে মায়া রাখার অনেকগুলি বিষয় দেখেছি ।
ভনব্র্যান্ড

1
@ ভনব্র্যান্ড - আমি আপনার শেষ মন্তব্যের সাথে একমত হতে চাই। তবে আমি দৃ strongly়ভাবে একমত নই যে libc আপডেট করা বা সুপরিচিত সফ্টওয়্যার ইনস্টল করা ("এলোমেলো প্যাকেজ" নয়) কোনওভাবে তুলনাযোগ্য (কোনও মন্দ উদ্দেশ্য বিবেচনা করে) নয়। আমরা এখানে পরিবেশের প্রকৃতি এবং এর ব্যবহারকারীদের সম্পর্কে কোনও নির্দিষ্ট মতামত জানাতে খুব কম জানি। সফটওয়্যার উন্নয়ন মেশিন (অনেক উপযুক্ত ব্যবহারকারীদের সাথে), এটা পারে জানার জন্য ব্যবহারকারীদের তাদের নিজস্ব সফটওয়্যার চালানোর অনুমতি দেয়। কখনও কখনও এটি সাধারণ প্রয়োজন (ওপেনডব্লিউআরটি এবং ওপেন এম্বেড করা যে লক্ষ্য এম্বেডেড প্ল্যাটফর্মগুলি উত্স থেকে এফ / ডব্লু চিত্র তৈরির জন্য প্রয়োজনীয় কিছু সরঞ্জাম তৈরি করবে)।
FooF

-3

এই বিশেষ পরিস্থিতিতে আমি বলব যে আপনি বিরক্ত করবেন না, যদি না আপনি এই ভাগ করা সিস্টেমের প্রশাসকদের কাছ থেকে সহায়তা (এবং অনুমতি) পান।

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

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