দেখুন Mariadb এবং উবুন্টু ডেবিয়ান সংগ্রহস্থল মধ্যে সংস্করণ মেলেনি
মাইসিএইচএল-কমন বা লাইবমিস্ক্ল্লিয়েন্টের সংস্করণ সংখ্যাগুলি মারিয়াডিবি সংগ্রহস্থলগুলির তুলনায় অফিসিয়াল উবুন্টু বা দেবিয়ান সংগ্রহস্থলগুলিতে বেশি হওয়া বিরল, তবে এটি ঘটেছে। যখনই এটি হয়েছে ত্রুটিযুক্ত বাগ ফিক্স রিলিজের কারণে এটি বিতরণ সংগ্রহস্থলের মাইএসকিউএল সংস্করণে বিদ্যমান ছিল তবে যা মারিয়াডিবি সংগ্রহস্থলে মারিয়াডিবি সংস্করণে ইতিমধ্যে ঠিক করা ছিল।
উপরে বর্ণিত পরিস্থিতি যদি আপনি মারিয়াডিবি ইনস্টল করার চেষ্টা করেন তবে আপনি এই জাতীয় একটি ত্রুটি পাবেন:
The following packages have unmet dependencies:
mariadb-server : Depends: mariadb-server-5.5 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
এটির সমাধানের একটি উপায় আপনি যে দুটি প্যাকেজ ইনস্টল করতে চান তার সঠিক সংস্করণ নির্দিষ্ট করা। এটি করতে প্রথমে প্রভাবিত প্যাকেজগুলির পুরো সংস্করণ সংখ্যা নির্ধারণ করুন। এটি করার একটি সহজ উপায় হ'ল 'অ্যাপ-ক্যাশে শো' দিয়ে:
apt-cache show mysql-common | grep Version
apt-cache show libmysqlclient18 | grep Version
সংস্করণ সংখ্যাগুলি দেখানো হওয়ায়: এই লেখার মতো অবস্থা
Version: 5.5.34-0ubuntu0.13.10.1
Version: 5.5.34+maria-1~saucy
মারিয়াডিবি পৃষ্ঠা দুটি সমাধান দেয়।
প্রথম সমাধান: প্যাকেজ সংস্করণ উল্লেখ করা হচ্ছে
উপরের প্রত্যেকটির জন্য আপনাকে সংস্করণগুলির একটি তালিকা দেওয়া হবে। মারিয়াডিবি সংগ্রহস্থলেরগুলির সংস্করণ স্ট্রিংগুলিতে "মারিয়াডবি" থাকবে এবং আপনি যা চান তা হ'ল। সংস্করণ নম্বর হাতে রেখে আপনি মারিয়াডিবি ইনস্টল করতে সক্ষম হবেন এমনভাবে সংস্করণ নম্বরগুলি স্পষ্ট করে উল্লেখ করে:
apt-get install mariadb-server-5.5 mariadb-client-5.5 \
libmysqlclient18=<version-number> \
mysql-common=<version-number>
যা হলো
apt-get install mariadb-server-5.5 mariadb-client-5.5 \
libmysqlclient18=5.5.34+maria-1~saucy \
mysql-common=5.5.34+maria-1~saucy
দ্রষ্টব্য: 2014.01.28 হিসাবে বর্তমান সংস্করণ প্রতিফলিত করতে 5.5.34 এ আপডেট করুন [রিয়েলপ্যারিয়া]
ইনস্টলেশন করার পরে, সংস্করণ সংখ্যাগুলি সিঙ্ক না হওয়া পর্যন্ত আপনার প্যাকেজগুলি রাখা উচিত।
মারিয়াডিবি ইনস্টল হওয়ার পরে, এবং সংস্করণ নম্বর ইস্যুটি যতক্ষণ না বিদ্যমান থাকবে ততক্ষণ "আপগ্রেড ডিস্ট-আপগ্রেড" "আপগ্রেডড" লাইবমিস্ক্লাইক্লিয়েন্ট এবং মাইএসকিএল-সাধারণ প্যাকেজ ইনস্টল করার জন্য মারিয়াডিবি অপসারণ করার চেষ্টা করবে। এটি যাতে না ঘটে সেজন্য আপনি এগুলিকে ধরে রাখতে পারেন যাতে ফলস তাদের আপগ্রেড করার চেষ্টা না করে। এটি করতে, একটি টার্মিনাল খুলুন, `sudo -s` দিয়ে রুট হয়ে নিন এবং তারপরে নিম্নলিখিতটি প্রবেশ করুন:
echo libmysqlclient18 hold | dpkg --set-selections
echo mysql-common hold | dpkg --set-selections
হোল্ডগুলি আপনাকে মারিয়াডিবি আপগ্রেড করতে বাধা দেবে, তাই আপনি যখন হোল্ডগুলি সরিয়ে ফেলতে, একটি টার্মিনাল খুলতে চান, 'সুডো-এস' দিয়ে রুট হয়ে যান এবং তারপরে নিম্নলিখিতটি প্রবেশ করুন:
echo libmysqlclient18 install | dpkg --set-selections
echo mysql-common install | dpkg --set-selections
তারপরে আপনি মারিয়াডিবিকে স্বাভাবিক হিসাবে আপগ্রেড করতে সক্ষম হবেন (যেমন `সুডো এপটি-আপডেট আপডেট সহ; সুডো এপ-গেট আপগ্রেড`)।
সংস্করণ সংখ্যাগুলি আবার মিললে আমি কীভাবে জানব?
আপনি MariaDB.org এ নতুন প্রকাশের ইমেল সতর্কতার জন্য সাইন আপ করে মারিয়াডিবি সংস্করণ নম্বরটি ট্র্যাক করতে পারেন । সাইট অনুযায়ী, এটি একটি low-traffic announce-only list
।
তদতিরিক্ত, যখন প্যাকেজ সংস্করণগুলি আবার সিঙ্ক হয়, আপনি উপযুক্তভাবে একটি বার্তা দেখা বন্ধ করতে হবে যে কেবল 2 টি অনুষ্ঠিত প্যাকেজগুলি রাখা হবে, তবে সমস্ত মারিয়্যাডবি প্যাকেজগুলি রাখা হবে:
The following packages have been kept back:
libmariadbclient18 libmysqlclient18 linux-generic linux-headers-generic
linux-image-generic mariadb-client-5.5 mariadb-client-core-5.5
mariadb-server mariadb-server-5.5 mariadb-server-core-5.5 mysql-common
এটি সূচিত করে যে প্যাকেজ নম্বরগুলি আবার সিঙ্কে রয়েছে, যা সিনাপটিক বা অনুরূপ সরঞ্জামগুলিতেও চেক করা যেতে পারে।
দ্বিতীয় সমাধান: মারিয়াডিবি সংগ্রহস্থল পিন করা
আর একটি জিনিস যা আপনি করতে পারেন তা হ'ল আপনি যে মারিয়াডিবি ব্যবহার করেন তা সংগ্রহ করুন pin নিম্নলিখিত সামগ্রীগুলির সাথে `/ etc / apt /ferences.d / under এর অধীন একটি ফাইল তৈরি করে এটি করা হয়:
Package: *
Pin: origin <mirror-domain>
Pin-Priority: 1000
<mirror-domain>
আপনার ব্যবহৃত মারিয়াডিবি আয়নাটির ডোমেন নামটি প্রতিস্থাপন করুন । উদাহরণস্বরূপ ftp.osuosl.org
,। পিন ফাইলের জায়গায়, আপনার মারিয়াডিবি সংগ্রহস্থলের প্যাকেজগুলির সিস্টেম রিপোজিটরিগুলির প্যাকেজগুলির তুলনায় অগ্রাধিকার থাকবে।
আপনি সিস্টেম সেটিংস >> সফ্টওয়্যার ও আপডেটগুলিতে ব্যবহার করছেন বা আপনি যদি উবুন্টু, সিন্যাপটিক >> সেটিংস >> সংগ্রহস্থল , বা অন্য কোনও স্বাদ ব্যবহার করছেন তবে আপনি খুঁজে পেতে পারেন cat /etc/apt/sources.list
।
এক্ষেত্রে Pin-Priority
1000 এর চেয়ে বড় বা সমান হওয়া দরকার whichcauses a version to be installed even if this constitutes a downgrade of the package
( man 5 apt_preferences
অন্যান্য ক্ষেত্রে বিকল্পগুলির জন্য আরও তথ্যের জন্য দেখুন))
পিনিং পছন্দসই ফাইলটির নামকরণ
Note that the file in the /etc/apt/preferences.d directory are parsed in alphanumeric ascending order and need to obey the following naming convention:
The files have either no or "pref" as filename extension and only contain alphanumeric, hyphen (-), undescore (_), and period (.) characters. Otherwise APT will print a notice that it has ignored a file...
(সূত্র man 5 apt_preferences
:)
সুতরাং, নামটি নিজেই গুরুত্বপূর্ণ নয়, তবে একটি ভাল নামটি এমন কিছু হবে 50_mariadb
। এটি জড়িত প্যাকেজটি সনাক্ত করে এবং অন্যান্য পিনিং পছন্দসই ফাইলগুলি প্রক্রিয়া ক্রমে এই ফাইলটির পরে সহজেই স্থাপন করার অনুমতি দেয়।
sudo apt-get update && sudo apt-get -f install mariadb-server-5.5"=5.5.33a+maria-1~saucy"
নিশ্চিত হয়ে নিন যে আপনি সফ্টওয়্যার উত্সে আপডেট ট্যাব এর অধীনে সমস্ত চেক-বাক্স টিক করেছেন । এটি চালিত যাচাই করতে: সফ্টওয়্যার উত্স খোলার জন্য । আমি উপরে উল্লিখিত কমান্ডটিতে কোনও ত্রুটি / বার্তা পেলে তা আপনার প্রশ্নে পোস্ট করুন।sudo software-properties-gtk