অ্যাপি মার্টা ডিবি ইনস্টল করার সময় মারিয়াডিবিতে আনম্যাট নির্ভরতা বা ভাঙা প্যাকেজ রয়েছে reports


9

এই পরিষ্কার উবুন্টু ইনস্টলেশনটিতে আমি মারিয়াডিবি ইনস্টল করার জন্য সমস্ত কিছু চেষ্টা করেছি তবে আমি এই ত্রুটিটি পেতে থাকি,

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
mariadb-server : Depends: mariadb-server-5.5 (= 5.5.33a+maria-1~saucy) 
but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

এটি চেষ্টা করে ইনস্টল করার জন্য আমি এই গাইডটি অনুসরণ করেছি, http://www.unixmen.com/install-lemp-server-nginx-mysql-mariadb-php-ubuntu 13-10-server/

এবং আমি 13.10 এর জন্য মারিয়াডিবি ডাউনলোড পৃষ্ঠায় "অফিসিয়াল" গাইডটিও অনুসরণ করেছি https://downloads.mariadb.org/mariadb/repositories/

তবে কিছুই কাজ করছে বলে মনে হচ্ছে না।

সম্পাদনা 1

আমি উভয়ই চেষ্টা করে দেখেছি কীভাবে আমি পিপিএ যুক্ত করার পরে আনমেট নির্ভরতাগুলি সমাধান করব? এবং কিভাবে মারিয়াডিবি ইনস্টল করবেন? তবে এটি এখনও উপরে পোস্ট করা ত্রুটিটি দেয়।

এটি একটি নতুন উবুন্টু ইনস্টল যা খুব কমই ইনস্টল করা আছে।

সম্পাদনা 2

সমস্ত চেক বাক্স আপডেটে টিকিট। আমি দৌড়েছি:

sudo apt-get update && sudo apt-get -f install mariadb-server-5.5"=5.5.33a+maria-1~saucy"

এবং এটি আমাকে এই ত্রুটি দিয়েছে:

The following packages have unmet dependencies:
mariadb-server-5.5 : Depends: mariadb-client-5.5 (>= 5.5.33a+maria-1~saucy) 
but it is not going to be installed
Depends: mariadb-server-core-5.5 (>= 5.5.33a+maria-1~saucy) 
but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

তালিকাভুক্ত প্যাকেজটি ইনস্টল করতে একবার এই কমান্ডটি চালান: sudo apt-get update && sudo apt-get -f install mariadb-server-5.5"=5.5.33a+maria-1~saucy"নিশ্চিত হয়ে নিন যে আপনি সফ্টওয়্যার উত্সে আপডেট ট্যাব এর অধীনে সমস্ত চেক-বাক্স টিক করেছেন । এটি চালিত যাচাই করতে: সফ্টওয়্যার উত্স খোলার জন্য । আমি উপরে উল্লিখিত কমান্ডটিতে কোনও ত্রুটি / বার্তা পেলে তা আপনার প্রশ্নে পোস্ট করুন। sudo software-properties-gtk
সৌরভ কুমার

দেখে মনে হচ্ছে আপনি শীঘ্রই আপনার সমস্যা সমাধান করতে চলেছেন। মূল কৌশলটি হ'ল ইনস্টল করতে আপনাকে প্রয়োজনীয় সমস্ত প্যাকেজগুলি এক লাইনে তালিকাবদ্ধ করতে হবে। উদাহরণস্বরূপ আপনার নতুন আউটপুট থেকে আপনি কার্যকর করতে পারেন: আমি যা করছি sudo apt-get -f install mariadb-server-5.5"=5.5.33a+maria-1~saucy mariadb-client-5.5"=5.5.33a+maria-1~saucy" mariadb-server-core-5.5"=5.5.33a+maria-1~saucy" সেই প্যাটার্নটি ধরুন , সুতরাং ইনস্টল করার জন্য যদি আপনি আরও কিছু প্যাকেজ পান তবে আপনাকে সেটিকে একই প্যাটারের অনুসরণ করে একই লাইনে অন্তর্ভুক্ত করতে হবে। আমি জানি এটি কঠিন হবে তবে আশা করি এটি আপনাকে সহায়তা করবে। উত্তর দিন।
সৌরভ কুমার

ঠিক আছে, আমি মারিয়্যাডবি-কমন ইনস্টল করতে সক্ষম হয়েছি এবং libmariadbclient18 ইনস্টল করার চেষ্টা করেছি যা libmysqlclient18 উপর নির্ভর করে তবে এটি বলছে যে আমার কাছে ইতিমধ্যে libmysqlclient18 একই সাথে libdbd-mysql-perl আছে।
Andreas

@ একাজ আপনার সমস্যার সমাধান খুঁজে পেয়েছেন? আমি একই অভিজ্ঞতা।
জন কুপস

আমি এই ত্রুটিটি পাচ্ছি:libmariadbclient18 : Depends: libmysqlclient18 (= 5.5.33a+maria-1~saucy) but 5.5.34-0ubuntu0.13.10.1 is to be installed
জন কুপস

উত্তর:


16

দেখুন 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-Priority1000 এর চেয়ে বড় বা সমান হওয়া দরকার 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। এটি জড়িত প্যাকেজটি সনাক্ত করে এবং অন্যান্য পিনিং পছন্দসই ফাইলগুলি প্রক্রিয়া ক্রমে এই ফাইলটির পরে সহজেই স্থাপন করার অনুমতি দেয়।


আমি প্রথম সমাধানটি চেষ্টা করব তবে কীভাবে জানবেন যে অমিলটি ঠিক করা হয়েছে? যখনই তারা একটি আপডেট প্রকাশ করে তবেই কি আমাকে লগ পরিবর্তন করতে হবে?
Andreas

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

দ্বিতীয় সমাধানের জন্য পিনিং ফাইলটির নাম কী হওয়া উচিত?
টমাস টেলর

আমি আপনার দক্ষতার জন্য আপনাকে। মারিয়্যাডব প্যাকেজগুলি বেশ খারাপ হয়ে গেছে। আমি উপরোক্ত কিছু আগে কখনও করতে হবে না এই সত্যের ভিত্তিতে আমি দৃsert়ভাবে জোর দিয়েছি, তবে উপরেরটি আমাকে ইনস্টল করে দিয়েছে। ধন্যবাদ!
জেটেরো

1
@ থমাস-টেলর পিনিং ফাইলের নামকরণে যুক্ত করা তথ্য।
25 তে চ্যাস্ক করুন

2

আমার একই রকম সমস্যা উবুন্টু 14.10 সালে মাইএসকিউএল থেকে মারিয়া ডিবিতে আপগ্রেড হয়েছে। অর্থাত্ আমি আটকে যাব

 libmysqlclient18:amd64 10.0.16+maria-1~utopic (Multi-Arch: no) is not co-installable with libmysqlclient18 which has multiple installed instances

এই পরামর্শগুলি কোনও কাজে আসেনি অনুসরণ করার পরে, নিম্নলিখিতগুলি আমাকে ব্যাপকভাবে সহায়তা করেছে: জার্নএক্সট্রা দ্বারা উবুন্টু সার্ভারে মাইএসকিউএলকে কীভাবে প্রতিস্থাপন করবেন।

/ Var / lib / dpkg / স্থিতি সম্পাদনা করা এবং libmysqlclient18 এর দুটি উদাহরণ মুছে ফেলা হয়েছে:

Package: libmysqlclient18
Status: deinstall ok config-files
Priority: optional
Section: libs
Installed-Size: 3392
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: i386
Multi-Arch: same
Source: mysql-5.5
Version: 5.5.40-0ubuntu1
Config-Version: 5.5.40-0ubuntu1
Depends: mysql-common (>= 5.5.40-0ubuntu1), libc6 (>= 2.4), libgcc1 (>= 1:4.1.1), zlib1g (>= 1:1.1.4)
Pre-Depends: multiarch-support
Description: MySQL database client library

মাইএসকিউএল একটি দ্রুত, স্থিতিশীল এবং সত্য মাল্টি-ইউজার, মাল্টি-থ্রেডড এসকিউএল ডাটাবেস সার্ভার। এসকিউএল (স্ট্রাকচার্ড ক্যোয়ারী ল্যাঙ্গুয়েজ) বিশ্বের সর্বাধিক জনপ্রিয় ডাটাবেস ক্যোয়ারী ভাষা। মাইএসকিউএল এর প্রধান লক্ষ্যগুলি গতি, দৃust়তা এবং ব্যবহারের সহজতা। । এই প্যাকেজে ক্লায়েন্ট লাইব্রেরি অন্তর্ভুক্ত রয়েছে। হোমপৃষ্ঠা: http://dev.mysql.com/ আসল-রক্ষণাবেক্ষণকারী: দেবিয়ান মাইএসকিউএল রক্ষণাবেক্ষণকারী

পরে সহজেই আমাকে মারিয়াডিবি ইনস্টল করার অনুমতি দিয়েছে to

sudo apt-get install mariadb-server

দ্রষ্টব্য : এই সমাধানটি কাজ করার আগে আমি libmariadbclient18 এবং libmysqlclient18 অপসারণের অনেক চেষ্টা করার পরে এখানে এসেছি। আমি অন্য কোনও মেরামতের চেষ্টা করার আগে এই দুটি ভাঙ্গা প্যাকেজ হিসাবে রিপোর্ট হওয়ার পরে এ দুটিকে অপসারণ না করা পর্যন্ত আমি পূর্ববর্তী অ্যাপ-গেট সমস্যাগুলি পেতে পারি না।

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