একই ফাইল লেখার জন্য দুটি প্যাকেজ কীভাবে ইনস্টল করবেন


14

আমার কাছে দুটি প্যাকেজ রয়েছে যা প্রতিটি / usr / bin / ffprobe তৈরি করে be এর মধ্যে একটি হ'ল দেব মাল্টিমিডিয়া সংগ্রহস্থল থেকে ffmpeg, অন্যটি উত্স থেকে নির্মিত ffmbc 0.7-rc5। হ্যান্ড রোলডটি ব্যবসায়িক-সমালোচিত এবং আমরা যেখানে প্রয়োজন সেখানে এটি উত্স থেকে ইনস্টল করতাম। আমি কেবল এটি ffmpeg ফাইল ক্লোবার হবে অনুমান করতে পারেন, এবং কোন খারাপ প্রভাব ছিল না।

তত্ত্ব অনুসারে, আমাদের ffmbc প্যাকেজটি ffmpeg প্যাকেজ থেকে ফাইলটি ওভাররাইট করা গ্রহণযোগ্য হবে। ত্রুটিটি হ'ল ffmpeg- এ আপডেট একটি ffmbc বাইনারি ওভাররাইট করে। এর সাথে পুনর্মিলন করার কোনও সহজ উপায় আছে কি?

উত্তর:


12

ডেবিয়ান ভিত্তিক সিস্টেমে DPKG রয়েছে (নীচে অ্যাপ্টির) dpkg-divert কমান্ডটি ব্যবহার করে ডাইভার্শন সেটআপ থাকতে পারে

বিভক্তদের তালিকা সেট আপ এবং আপডেট করার জন্য ব্যবহৃত ইউটিলিটি হ'ল ডিপিকিজি-ডাইভার্ট।

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

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

dpkg-divert --local --divert /usr/bin/ffprobe.ffmpeg --rename /usr/bin/ffprobe

8

আরেকটি সমাধান আমি খুঁজে পেলাম কীভাবে আমি ffmbc প্যাকেজটি তৈরি করেছি তা পরিবর্তন করা। সাধারণত ইনস্টল করা ফাইলগুলির চূড়ান্ত পথগুলি পরিবর্তন করার উদ্দেশ্যে একটি বিকল্প উপসর্গ পাস করা সম্ভব:

./configure --prefix=/usr/local

ডেবিয়ান প্যাকেজগুলির জন্য, এটি নীচে $ {প্যাকেজ} / ডেবিয়ান / বিধি ফাইলগুলিতে যায়:

override_dh_auto_configure:
    ./configure --enable-gpl --prefix=/usr/local

এফএফএমবিসি ফাইলগুলি রেখে /usr/local, আমি ffmpeg ফাইলগুলিতে রাখতে পারি /usrএবং প্রতিটি প্যাকেজকে স্বাধীনভাবে আপডেট করার অনুমতি দিতে পারি।


3
প্যাকেজগুলিতে কোনও কিছু ইনস্টল করা উচিত নয় /usr/local- এটি নীতি লঙ্ঘন। /usr/localপ্যাকেজ পরিচালনার অধীনে এবং ম্যানুয়ালি ফাইল ইনস্টল করা ফাইলগুলির সম্পূর্ণ পয়েন্ট । নিম্নলিখিত এফএইচএস সম্পর্কিত আলোচনাটি দেখুন: unix.stackexchange.com/questions/30/…
জজ

-1

একই ফাইল (গুলি) সরবরাহকারী প্যাকেজগুলির একে অপরের সাথে বিরোধ থাকা উচিত - এটি এগুলি কোনও বাগ নয় (দয়া করে এই জাতীয় কেসগুলি রিপোর্ট করার বিষয়টি বিবেচনা করুন)। আপনি যদি উত্স থেকে সফ্টওয়্যার তৈরি করেন এবং make install(বা অনুরূপ) ব্যবহার করে ইনস্টল করেন তা নিশ্চিত করুন এটি /usr/localপ্যাকেজ পরিচালনার সাথে বিরোধগুলি এড়াতে চলেছে।

দয়া করে নোট করুন যে deb-m মাল্টিমিডিয়া.অর্গ সরকারী প্যাকেজগুলির সাথে দ্বন্দ্ব সৃষ্টির জন্য কুখ্যাত অবৈধিক সংগ্রহস্থল অবমাননিত

আপনার যদি প্রয়োজন সফ্টওয়্যারটি ডেবিয়ানের জন্য প্যাকেজ না থাকে তবে আপনি প্যাকেজিংয়ের অনুরোধ আরএফপি জমা দিতে পারেন তবে দয়া করে প্রথমে বিদ্যমান অনুরোধগুলির জন্য পরীক্ষা করে দেখুন ।

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