কীভাবে আরপিএম অটো ইনস্টল নির্ভরতা তৈরি করবেন


138

আমি দুটি আরপিএম প্যাকেজ তৈরি করেছি

  • proj1-1.0-1.x86_64.rpm
  • libtest1-1.0-1.x86_64.rpm

proj1ফাইল libtest1.soউপস্থিত থাকার উপর নির্ভর করে এবং এটি RPM প্যাকেজগুলিতে সঠিকভাবে প্রতিফলিত হয়েছে:

user@my-pc:~$ rpm -qp --requires proj1-1.0-1.x86_64.rpm
libtest1.so()(64bit)

user@my-pc:~$ rpm -qp --provides libtest1-1.0-1.x86_64.rpm
libtest1.so()(64bit)

proj1অনুপস্থিত নির্ভরতার কারণে ইনস্টলেশন ব্যর্থ হয়।

user@my-pc:~$ rpm -ivh proj1-1.0-1.x86_64.rpm
error: Failed dependencies:
libtest1.so()(64bit) is needed by proj1-1.0-1.x86_64.rpm

কিভাবে libtest1-1.0-1.x86_64.rpmইনস্টল করার সময় স্বয়ংক্রিয়ভাবে ইনস্টল করা আছে তা আমি নিশ্চিত করব proj1-1.0-1.x86_64.rpm?

এখানে বর্ণিত হিসাবে আমি --aidবিকল্পটি চেষ্টা করেছিলাম কিন্তু এটি আমার পক্ষে কার্যকর হয়নি।rpm -i

অন্য কোন উপায আছে কি?

কোন সাহায্যের জন্য ধন্যবাদ।

উত্তর:


102

একটি (স্থানীয়) সংগ্রহস্থল তৈরি করুন এবং yumএটি আপনার জন্য নির্ভরতাগুলি সমাধান করতে ব্যবহার করুন।

সেন্টোস উইকির একটি সুন্দর পৃষ্ঠা রয়েছে যা এটিতে কীভাবে তা প্রদান করে। CentOS উইকি হাওটোস / ক্রিয়েটলোকালরোপস


সংক্ষিপ্ততর এবং আরও হ্রাস করা (আদর্শ নয়, তবে দ্রুত):

  1. আপনার স্থানীয় সংগ্রহস্থলের জন্য একটি ডিরেক্টরি তৈরি করুন, যেমন /home/user/repo
  2. আরপিএমগুলি সেই ডিরেক্টরিতে সরান।
  3. কিছু মালিকানা এবং ফাইল সিস্টেমের অনুমতিগুলি ঠিক করুন:

    # chown -R root.root /home/user/repo
    
  4. createrepoএখনও ইনস্টল না থাকলে প্যাকেজটি ইনস্টল করুন এবং চালান

    # createrepo /home/user/repo
    # chmod -R o-w+r /home/user/repo
    
  5. একটি সংগ্রহস্থল কনফিগারেশন ফাইল তৈরি করুন, যেমন /etc/yum.repos.d/myrepo.repoসমন্বিত

    [local]
    name=My Awesome Repo
    baseurl=file:///home/user/repo
    enabled=1
    gpgcheck=0
    
  6. ব্যবহার করে আপনার প্যাকেজ ইনস্টল করুন

    # yum install packagename
    

46
আপনি যে লিঙ্কটি সরবরাহ করেছেন তা এই এক লাইনের মাধ্যমে আমার কেস সমাধান করেছে : yum --nogpgcheck localinstall packagename.arch.rpm.
ম্যাথু

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

আপনি যদি আমার মতো এআইএক্স-এ ইউএম-এর ইনস্টলটি স্বয়ংক্রিয় করতে আরপিএমকে স্ক্রিপ্ট দেওয়ার চেষ্টা করছেন তবে এটি খুব ভাল কাজ করে না;
ট্রিকি

1
@ Max13, যে এর yum localinstallএবং এটি হিসাবে একই উত্তর ইতিমধ্যে এখানে পোস্ট পরিস্থিতিতে যেখানে নির্ভরতা জন্য ইতিমধ্যে আলোচনা মূল্যবান সঙ্গে, না ইস Repos মধ্যে (দেখুন এই পদ্ধতি হবে না যদি না [...] কাজ নয় অংশ)।
জার্মটভিডিজক

কোনও ইন্টারনেট সংযোগ অন্য সংগ্রহস্থলগুলিতে সন্ধান করবেন না sudo yum --disablerepo=* --enablerepo=local install packagename.arch.rpmতা নিশ্চিত করার জন্য সেখানে এটি yumনির্ধারিত হয়েছে।
আনশুমান গোয়েল

194

@Gertvdijk প্রদত্ত লিঙ্কটি কোনও স্থানীয় সংগ্রহস্থল কনফিগার না করে পছন্দসই ফলাফল অর্জনের দ্রুত উপায় দেখায়:

$ yum --nogpgcheck localinstall packagename.arch.rpm

packagename.arch.rpmআপনি যে RPM ফাইল ইনস্টল করতে চান তা কেবল পরিবর্তন করুন ।

সম্পাদন করাকেবল একটি স্পেসিফিকেশন , এটি সিস্টেম YUM সংগ্রহস্থলের মাধ্যমে ইতিমধ্যে উপলব্ধ যে সমস্ত নির্ভরতা স্বয়ংক্রিয়ভাবে ইনস্টল করবে।

যদি আপনার অন্যান্য RPM- র দ্বারা সন্তুষ্ট নির্ভরতা থাকে যা সিস্টেমের সংগ্রহস্থলগুলিতে নেই, তবে প্রতিটি RPM packagename.arch.rpmকমান্ড লাইনের সাথে নির্দিষ্ট না করা অবধি এই পদ্ধতিটি কাজ করবে না ।


7
না, libtest1-1.0-1.x86_64.rpmঅন্য কোথাও সংগ্রহস্থল না থাকলে এটি কাজ করবে না , অথবা উভয় প্যাকেজ কমান্ড লাইনে নির্দিষ্ট করা থাকলে " rpm -i" প্রয়োজন হবে না। আমি এটি কেবল yum3.4.3 (ফেডোরা 18) এ যাচাই করেছি । এখানে প্রতিলিপি দেখায় যে এটি updatesনির্ভরতাগুলির জন্য রেপোতে যায় , এমনকি ফাইলগুলি ঠিক সেখানে থাকে।
অ্যারন ডি মারাকো

3
@ অ্যারোনডি.মারাস্কো সম্ভবত আপনি প্রশ্নের বর্ণিত নির্দিষ্ট কেসটি সম্পর্কে সঠিক বলেছেন, তবে আমার মতো এখানে উড়ন্ত যে কারও পক্ষে এই ওয়ান-লাইনারটি অনেক সহজ এবং শিরোনামে প্রশ্নের পুরোপুরি বৈধ উত্তর, "কীভাবে আরপিএম স্বয়ংক্রিয়ভাবে নির্ভরতা ইনস্টল করুন "।
ম্যাথু

3
না, এটি নির্ভরতা "স্বয়ংক্রিয়ভাবে ইনস্টল করা" নয় - আপনি কমান্ড লাইনে সেগুলি নির্দিষ্ট rpm -iকরে yumদিচ্ছেন , আপনি যেভাবে " " দিয়েছিলেন তাই ব্যবহার করে আপনাকে কোনও বাড়তি সুবিধা দেয় না।
অ্যারন ডি ম্যারাস্কো

2
আমি যা লিখেছি তা আবার পড়ুন Please আপনার ইনস্টল করা আরপিএমের ডিরেক্টরিতে স্থানীয়ভাবে উপলব্ধ থাকলেও কোনও নির্ভরতা কোনও সংগ্রহশালা থেকে ডাউনলোড করা হয়েছিল।
অ্যারন ডি ম্যারাস্কো

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

28

Dnf ব্যবহারকারীদের জন্য কেবল ব্যবহার করুন dnf install *.rpm, localinstallআর প্রয়োজন হয় না।


1
ঠিক এখানে বলতে এসেছেন
নওফেল বিগ

1
ধন্যবাদ, আমি ইনস্টল করার সংগ্রাম ছিল mysql-workbenchসঙ্গে rpm -ivh। শেষ পর্যন্ত এই পোস্ট দিয়ে শেষ। কৌশলটি ডিএনএফ করল did
ব্লুবার্ড

21

আমার জন্য ঠিক কাজ করে

# yum install ffmpeg-2.6.4-1.fc22.x86_64.rpm

এবং স্বয়ংক্রিয়ভাবে অধঃপতনগুলি ডাবলড করার জন্য অনুমোদনকে বলে। উদাহরণের নীচে, আমি ফেডোরা 22 ব্যবহার করছি

[root@localhost lukas]# yum install ffmpeg-2.6.4-1.fc22.x86_64.rpm
Yum command has been deprecated, redirecting to '/usr/bin/dnf install  ffmpeg-2.6.4-1.fc22.x86_64.rpm'.
See 'man dnf' and 'man yum2dnf' for more information.
To transfer transaction metadata from yum to DNF, run:
'dnf install python-dnf-plugins-extras-migrate && dnf-2 migrate'

Last metadata expiration check performed 0:28:24 ago on Fri Sep 25 12:43:44 2015.
Dependencies resolved.
====================================================================================================================
 Package               Arch           Version                                  Repository                      Size
====================================================================================================================
Installing:
 SDL                   x86_64         1.2.15-17.fc22                           fedora                         214 k
 ffmpeg                x86_64         2.6.4-1.fc22                             @commandline                   1.5 M
 ffmpeg-libs           x86_64         2.6.4-1.fc22                             rpmfusion-free-updates         5.0 M
 fribidi               x86_64         0.19.6-3.fc22                            fedora                          69 k
 lame-libs             x86_64         3.99.5-5.fc22                            rpmfusion-free                 345 k
 libass                x86_64         0.12.1-1.fc22                            updates                         85 k
 libavdevice           x86_64         2.6.4-1.fc22                             rpmfusion-free-updates          75 k
 libdc1394             x86_64         2.2.2-3.fc22                             fedora                         124 k
 libva                 x86_64         1.5.1-1.fc22                             fedora                          79 k
 openal-soft           x86_64         1.16.0-5.fc22                            fedora                         292 k
 opencv-core           x86_64         2.4.11-5.fc22                            updates                        1.9 M
 openjpeg-libs         x86_64         1.5.1-14.fc22                            fedora                          89 k
 schroedinger          x86_64         1.0.11-7.fc22                            fedora                         315 k
 soxr                  x86_64         0.1.2-1.fc22                             updates                         83 k
 x264-libs             x86_64         0.142-12.20141221git6a301b6.fc22         rpmfusion-free                 587 k
 x265-libs             x86_64         1.6-1.fc22                               rpmfusion-free                 486 k
 xvidcore              x86_64         1.3.2-6.fc22                             rpmfusion-free                 264 k

Transaction Summary
====================================================================================================================
Install  17 Packages

Total size: 11 M
Total download size: 9.9 M
Installed size: 35 M
Is this ok [y/N]: y

আমার মনে হয় সবচেয়ে সহজ উপায়
শামস

কোনও সরাসরি আরপিএম সমাধান নয়, তবে আমি এটি সর্বোত্তম পছন্দ করি।
টিফুটো

আরপিএম সমাধান নয়, কেবল একটি কমান্ডের সাথে নির্ভরতা ইনস্টল করার সবচেয়ে সহজ উপায়। এটি আমার পক্ষে নির্দোষ কাজ করেছে
এনারিক বেনিতেজ

9

আমি একটি সহজ সমাধান খুঁজে পেয়েছি। আপনার যদি একই ডিরেক্টরিতে সমস্ত RPM থাকে তবে আপনাকে যা করতে হবে তা হ'ল,

$ sudo rpm -i *.rpm

rpm এগুলি ইনস্টল করার জন্য আরপিএম ইনস্টল করার জন্য সঠিক ক্রমটি খুঁজে পেয়েছে বলে মনে হচ্ছে।


5
নির্ভরশীলতা বর্তমান ডিরেক্টরিতে না থাকলে এটি এখনও কেসটি পরিচালনা করে না।
ডিঙ-ই চেন

4

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

# yum --nogpgcheck localinstall <package1_file_name> ... <packageN_file_name>

দ্য package_file_nameউপরে স্থানীয় পূর্ণ অথবা আপেক্ষিক পাথ একটি URL (সম্ভবত এমনকি একটি কোনো URI) অন্তর্ভুক্ত, অথবা হতে পারে।

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

এই বর্তমান ডিরেক্টরিগুলির package_file_nameকোনও আগে সক্রিয় হিসাবে কনফিগার করা থাকলে কেবল বর্তমান ওয়ার্কিং ডিরেক্টরি বা কোনওটির পাথ অনুসন্ধান করা হবে না exceptyum সংগ্রহস্থল ।

সুতরাং অপের ক্ষেত্রে yumকমান্ডটি:

# cd <path with pkg files>; yum --nogpgcheck localinstall ./proj1-1.0-1.x86_64.rpm ./libtest1-1.0-1.x86_64.rpm

যেমনটি করত তেমন করবে rpm:

# cd <path with pkg files>; rpm -i proj1-1.0-1.x86_64.rpm libtest1-1.0-1.x86_64.rpm

এগুলি yumএবং rpmঅনুরোধগুলির মধ্যে ডিফারেন্সভ কেবল তখনই দৃশ্যমান হবে যদি ইনস্টল করা তালিকাভুক্ত প্যাকেজগুলির মধ্যে একটিতে কমান্ড লাইনে তালিকাভুক্ত প্যাকেজগুলির উপর আরও নির্ভরতা থাকে।

এই জাতীয় ক্ষেত্রে rpmকেবল চালিয়ে যেতে অস্বীকার করবে, যখন yumনির্ভরতাগুলি অনুসন্ধান করতে কোনও কনফিগার করা ও সক্ষম যম সংগ্রহস্থল ব্যবহার করবে এবং সম্ভবত সফল হতে পারে।

আগের কার্যক্ষম ডিরেক্টরিটি কোনও ক্ষেত্রে সন্ধান করা হবে না, কেবলমাত্র এটি আগে সক্রিয় yumসংগ্রহস্থল হিসাবে কনফিগার করা ছাড়া ।


0

আমি এটিতে ছুটে এসেছি এবং আমার জন্য যা কাজ করেছে তা চালানো ছিল yum localinstall enterPkgNameHere.rpm হ'ল .rpm ফাইলটি অবস্থিত সেই ডিরেক্টরিটির ভিতরে থেকেই ।

দ্রষ্টব্য: enterPkgNameHere.rpmআপনার .rpm ফাইলের নামের সাথে প্রতিস্থাপন করুন।


0

ওপেনসুএস লিপ 15 এর ক্ষেত্রে, আমি একই রকম ত্রুটি পেয়েছি:

> sudo rpm -i opera-stable_53.0.2907.68_amd64.rpm 
[sudo] password for root: 
warning: opera-stable_53.0.2907.68_amd64.rpm: Header V4 RSA/SHA512 Signature, key ID a5c7ff72: NOKEY
error: Failed dependencies:
    at is needed by opera-stable-53.0.2907.68-0.x86_64

নির্ভরতাগুলি কী তা নির্ধারণ করতে আমি এই আদেশটি চালাচ্ছি:

> sudo zypper install opera-stable_53.0.2907.68_amd64.rpm 
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 4 NEW packages are going to be installed:
  at libfl2 libHX28 opera-stable

4 new packages to install.
Overall download size: 50.3 MiB. Already cached: 0 B. After the operation, additional 176.9 MiB will be used.
Continue? [y/n/...? shows all options] (y): n

তারপরে নির্ভরতা ইনস্টল করতে আমি এই আদেশটি চালাচ্ছি:

> sudo zypper in at
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 3 NEW packages are going to be installed:
  at libfl2 libHX28

3 new packages to install.
Overall download size: 208.6 KiB. Already cached: 0 B. After the operation, additional 600.4 KiB will be used.
Continue? [y/n/...? shows all options] (y): y

তারপরে আমি এটি ইনস্টল করতে চালাচ্ছি rpm ফাইলটি :

> sudo rpm -i opera-stable_53.0.2907.68_amd64.rpm

আমি না নিশ্চিত যদি এটা ভাল অভ্যাস, তবে এটা আমার সমস্যা সমাধান।


0

পদক্ষেপ 1: প্রদত্ত স্থানে সমস্ত আরপিএম পিকেজি অনুলিপি করুন

পদক্ষেপ 2: যদি createrepo ইতিমধ্যে ইনস্টল না করা থাকে, কারণ এটি ডিফল্টরূপে হবে না, এটি ইনস্টল করুন।

[root@pavangildamysql1 8.0.11_rhel7]# yum install createrepo

স্টিপি ৩: রিপোজিটরি মেটেডাটা তৈরি করুন এবং নীচে অনুমতি দিন

[root@pavangildamysql1 8.0.11_rhel7]# chown -R root.root /scratch/PVN/8.0.11_rhel7
[root@pavangildamysql1 8.0.11_rhel7]# createrepo /scratch/PVN/8.0.11_rhel7
Spawning worker 0 with 3 pkgs
Spawning worker 1 with 3 pkgs
Spawning worker 2 with 3 pkgs
Spawning worker 3 with 2 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@pavangildamysql1 8.0.11_rhel7]# chmod -R o-w+r /scratch/PVN/8.0.11_rhel7

পদক্ষেপ 4: /etc/yum.repos.d/mysql.repo এ নিম্নলিখিত বিষয়বস্তু সহ সংগ্রহস্থল ফাইল তৈরি করুন

[local]
name=My Awesome Repo
baseurl=file:///scratch/PVN/8.0.11_rhel7
enabled=1
gpgcheck=0

পদক্ষেপ 5 ইনস্টল করতে এই কমান্ডটি চালান

[root@pavangildamysql1 local]# yum --nogpgcheck localinstall mysql-commercial-server-8.0.11-1.1.el7.x86_64.rpm

-2

সহজ কেবল নিম্নলিখিত কমান্ড চালান।

sudo dnf install *package.rpm

আপনার পাসওয়ার্ড লিখুন এবং আপনার কাজ শেষ হয়েছে।


-5

উত্স ফাইল থেকে আরপিএম উত্পন্ন করার প্রক্রিয়া: 1) সোর্স ফাইলটি.gZ এক্সটেনশন সহ ডাউনলোড করুন। 2) ইউএম ইনস্টল থেকে আরপিএম-বিল্ড এবং আরপিএমদেভটুলগুলি ইনস্টল করুন। (আরপিএমবাইল্ড ফোল্ডার তৈরি করা হবে ... স্পেস, উত্স, আরপিএমএস .. ফোল্ডারগুলি আরপিএমবাইল্ড ফোল্ডারের ভিতরে তৈরি করা উচিত)। 3) উত্স কোড.gz কে SOURCES ফোল্ডারে অনুলিপি করুন ( উত্সগুলি ফোল্ডারে যান: আরপিএমবাইল্ড / উত্স যেখানে ট্যুর ফাইল উপস্থিত রয়েছে। কমান্ড: উদাহরণস্বরূপ tar -xvzf httpd-2.22.tar.gz httpd-2.22 ফোল্ডারটি একই পথে উত্পন্ন হবে। এপিআর এবং এপ্রিল-ব্যবহার এবং সেখানে httpd-2.22 / srclib ফোল্ডারে পরীক্ষা করুন। যদি এপিআর এবং এপিআর-ইউজ না থাকে তবে অ্যাপাচি সাইট থেকে সর্বশেষ সংস্করণটি ডাউনলোড করুন, এটি অনার করে এটিকে httpd-2.22 / srclib ফোল্ডারের ভিতরে রেখে দিন। আপনার সিস্টেমে আপনি পিসিই ইনস্টল করেছেন তাও নিশ্চিত করুন।

5) এক্সট্রাক্ট ফোল্ডারে যান এবং তারপরে নীচের কমান্ডটি টাইপ করুন: ./configure - प्रीফিক্স = / usr / স্থানীয় / অ্যাপাচি 2 - সহ-অন্তর্ভুক্ত-এপ্রি - সক্ষম-প্রক্সি - সক্ষম-প্রক্সি-ব্যালেন্সার - উইথ-এমপিএম = কর্মচারী --enable-mods-static = all 6) কনফিগারটি সফল হয়ে গেলে কমান্ডের নীচে রান করুন: Make 7) সাফল্যের পরে এক্সিকিউটিভ ও মেক কমান্ড রান করুন: একই ফোল্ডারে চেকইনস্টল করুন। (যদি আপনার চেকইনস্টল সফ্টওয়্যার না থাকে তবে দয়া করে সাইট থেকে সর্বশেষ সংস্করণটি ডাউনলোড করুন) এছাড়াও চেকইনস্টল সফ্টওয়্যারটিতে একটি বাগ রয়েছে যা নিম্নলিখিত উপায়ের মাধ্যমে সমাধান করা যেতে পারে ::::: চেকইনস্টলrcটি সনাক্ত করুন এবং তারপরে ভিআইএম কমান্ড ব্যবহার করে ট্রান্সলেট = 1 থেকে ট্রান্সলেট = 0 এ প্রতিস্থাপন করুন। এছাড়াও প্যাকেজ বাদ দেওয়ার জন্য যাচাই করুন: এক্সক্লুড = "/ সেলিনাক্স" 8) চেকইনস্টল বিকল্পের জন্য জিজ্ঞাসা করবে (টাইপ আর যদি আপনি উত্স ফাইলের জন্য টিপি বিল্ড আরপিএম চান) 9) সম্পন্ন .আরএমপি ফাইলটি আরপিএমওয়িল্ড / আরপিএমএস ফাইলের অভ্যন্তরে আরপিএমএস ফোল্ডারে নির্মিত হবে। .. শুভকামনা ....

শুভেচ্ছা, প্রেরণা


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