উত্স থেকে ইনস্টল করা সফটওয়্যার, প্যাকেজ থেকে ইনস্টল না করার জন্য ইউমকে কীভাবে বলা যায়?


14

একটি CentOS 7 এ, আমি উত্স থেকে সংকলিত ফুবার সংস্করণ 2 ইনস্টল করেছি ।

আমি কীভাবে এই ইনস্টলটি সম্পর্কে ইয়ামকে সচেতন করতে পারি তাই এটি ইনস্টল হবে না ইয়মকে নির্ভরতার জন্য ফুবার সংস্করণ 1 ?


এর ইনস্টলেশন ফুবার

$ git clone https://example.com/foobar.git
[...]
$ cd foobar
$ make && sudo make install
[...]
$ foobar --version
foobar v2

প্রয়োজনীয় একটি প্যাকেজ ইনস্টলেশন Foobar

$ sudo yum install baz
[...]
---> Package baz.x86_64 0:3.14.15-9 will be installed
--> Processing Dependency: foobar >= 1 for package: baz-3.14.15-9.x86_64
[...]
Dependencies Resolved

==============================================================
 Package           Arch      Version      Repository   Size
==============================================================
Installing:                  
 baz               x86_64    3.14.15-9    example      1.1 M
Installing for dependencies: 
 foobar            x86_64    1.0.0-0.el7  example      4.5 M

আমি জানতে চাই যে আপনি ফুবার 2 ইনস্টল করা আছে এবং যেহেতু বাজ প্রয়োজন foobar >= 1বা সহজভাবে foobar,foobar-1.0.0-0.el7.x86_64.rpm করা উচিত নয় ইনস্টল করা।


উত্তর:


27

"আমি উত্স থেকে সংকলিত ফুবার সংস্করণ 2 ইনস্টল করেছি"

আপনার সিস্টেমে কাস্টম সফ্টওয়্যার যুক্ত করার সময় অতিরিক্ত প্রচেষ্টা করুন এবং আরপিএমে আপনার সংযোজনগুলি প্যাকেজ করুনমার্টিন স্ট্রেইচার দেখুন , 2010-01-12, বিল্ডিং এবং বিতরণ প্যাকেজ , আইবিএম যে কাজ করতে কিভাবে।

তারপরে সেই আরপিএমটি ইনস্টল করুন যাতে এটি আপনার প্যাকেজ পরিচালকের দ্বন্দ্ব এবং নির্ভরতা পরিচালনা, আপগ্রেড, ডাউনগ্রেড এবং অপসারণের পদ্ধতি এবং সুরক্ষা প্রতিবেদনের সাথে দুর্দান্ত খেলতে পারে


10

অন্য একটি বিকল্প (অবশ্যই সর্বোত্তম উত্তর না হলেও): প্রশ্নের সাথে নামযুক্ত একটি ডামি আরপিএম ফাইল তৈরি করুন।

আপনার rpmbuildইনস্টল করতে হবে এবং একটি ডামি টারবাল লাগবে ।

mkdir ~/rpmbuild/{RPMS,SOURCES}
touch empty.txt
tar -zcf ~/rpmbuild/SOURCES/example.tar.gz empty.txt

ডামি স্পেক ফাইলটি লিখুন। এটি ফেডোরা 29 এ আমার জন্য কাজ করে Cent এটি সেন্টোস 7-তেও ভাল হওয়া উচিত।

Name:           example
Version:        0.0.0
Release:        1%{?dist}
Summary:        Dummy package

Group:          Dummy
License:        CC-BY-SA 3.0
URL:            http://example.com
Source0:    example.tar.gz
BuildArch:  noarch

#BuildRequires:
#Requires:

%description
Dummy for example

%prep
:

%build
:

%install
:

%files
%doc

%changelog

প্রয়োজনীয় হিসাবে টুইঙ্ক প্যাকেজের নাম এবং সংস্করণ নম্বর এবং তারপরে প্যাকেজটি তৈরি করুন।

rpmbuild -ba example.spec

আউটপুট "বাইনারি" আরপিএম ফাইল হবে ~/rpmbuild/RPMS/noarch/example-0.0.0-1.fc29.x86_64.rpm


6

এটি কিভাবে rpmকাজ করে না ।

rpmএকটি ডিবি ব্যবহার করে যেখানে এটি সিস্টেমে কোন আরপিএম ইনস্টল করে তা সংরক্ষণ করে। আপনি যদি কিছু ফাইল ম্যানুয়ালি ইনস্টল করেন,rpm করেন তবে এটি সম্পর্কে জানেন না।

এটি সমাধানের সর্বোত্তম উপায় হ'ল একটি আরপিএম সহ ফুবার 2 ইনস্টল করা। অন্যান্য সমাধানগুলি কেবল কার্যকর হবে এবং দীর্ঘমেয়াদে কাজ করবে না।


5
আপনি কোনও নির্ভরতা চেকটিকে ম্যানুয়ালি ওভাররাইড করতে পারবেন না? কারণ এটি এমনভাবে পড়ে যে এটি এটি ফোটায়, ওপি কী চায়।
মাস্ত্ত

হ্যাঁ আপনি পারবেন, তবে তারপরে আপনি সমস্ত নির্ভরশীলতা পরীক্ষাগুলি ওভাররাইড করে ... এবং আপনার পরে আপডেট করতে সমস্যা হবে
ক্রিস মেইস

3

থাকতে পারে rpm --nodepsউত্তর আপনি যা খুঁজছেন হবে? এটি সার্ভারফল্টে এখানে একটি পুরানো থ্রেডে আলোচিত হয়েছিল।

( একক নির্ভরতা উপেক্ষা করতে ইউমকে বলুন )


5
এর ফলে রাস্তায় সমস্যা দেখা দিতে পারে এবং মূলত সমস্যাটি স্থগিত করে। পরে সিস্টেম আপডেট করার সময় বা অন্য কোনও প্যাকেজ ইনস্টল করার সময়, এমনটি ঘটতে পারে যে কিছু প্যাকেজ foobar 1 কে নির্ভরতা হিসাবে টানতে চায়, সম্ভবত ম্যানুয়ালি নির্মিত এবং ইনস্টল করা foobar 2 ওভাররাইট করে এবং সামঞ্জস্যতার সমস্যা সৃষ্টি করে।
জিরি ভ্যালেন্টা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.