আমি সোর্স কোড থেকে ইনস্টল করা সফ্টওয়্যারটি সরাসরি আপডেট করতে পারি?


14

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

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

উপরের উত্স ব্যতীত অন্য উত্স থেকে ইনস্টল করার কোনও সুনির্দিষ্ট সুবিধা আছে কিনা তা জানতে আমি আগ্রহী।


উত্তর:


10

একটি সফ্টওয়্যারের নির্ভরতা খুব কমই পরিবর্তিত হয় তা লক্ষ করা ভাল best আপনি যদি একবার সফ্টওয়্যারটি সফলভাবে সংকলন করেছেন তবে পরবর্তী সংস্করণগুলি সংকলন করা সহজ হওয়া উচিত - সমস্ত নির্ভরতা ইতিমধ্যে সন্তুষ্ট হওয়া উচিত

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

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

তবে আপনি যদি একই সংস্করণটি একাধিক কম্পিউটারে ইনস্টল করতে চান তবে আপনার সংকলিত সংস্করণটিকে .deb(বা অনুরূপ) হিসাবে প্যাকেজ করে সেই কম্পিউটারগুলিতে বিতরণ করার অর্থ হবে। যদি সঠিকভাবে করা হয় তবে নির্ভরতাগুলি স্বয়ংক্রিয়ভাবে টানা হবে।

উত্স থেকে ইনস্টল করার সুবিধাগুলি হিসাবে, আমি কেবল দুটিই ভাবতে পারি:

  • আপনি কোডটির সর্বশেষ সংশোধনটিতে অ্যাক্সেস পেয়েছেন এবং আপনার কাছে একটি স্থিতিশীল সংস্করণ বা কাটিং-এজ সংস্করণ (সাধারণত রাত্রি বিল্ডস, সর্বশেষ সংস্করণ ইত্যাদি বলা হয়) এর পছন্দ রয়েছে)
  • উবুন্টু / অন্যান্য বিতরণ তাদের সফ্টওয়্যারগুলিতে সফ্টওয়্যারটি অন্তর্ভুক্ত করতে না পারে। সেক্ষেত্রে আপনি বিকাশকারী বা সম্প্রদায় দ্বারা সরবরাহিত উত্স কোড বা প্যাকেজগুলির সাথে আটকে আছেন। অর্থাত্, উত্সগুলি ব্যবহার করা ছাড়া আপনার কোনও বিকল্প নেই।

4
এমনকি আপনি যদি 1 টি কম্পিউটারে ব্যবহারের জন্য নিজেকে কিছু সংকলন করেন তবে এটি নিজেই একটি .deb প্যাকেজ তৈরি করা সর্বদা কার্যকর, কারণ এটি আপনাকে ইনস্টল করা সফ্টওয়্যারটির ওভারভিউ এক জায়গায় রাখতে সহায়তা করে এবং নিজের জন্য আনইনস্টল বা আপগ্রেডিংকে আরও সহজ করে তোলে।
জানু

4

এই পোস্ট অনুসারে আপনি উত্সগুলি সংকলনের পরে একটি .deb প্যাকেজ তৈরি করতে পারেন। তারপরে "মেক ইনস্টল" এর পরিবর্তে আপনি .deb প্যাকেজটি থেকে ইনস্টল করতে পারেন। এটি আপডেট করা সহজ করে তোলে (যদি এটি কোনও ভাণ্ডারের মধ্যে থাকত) কারণ প্যাকেজটি প্যাকেজ পরিচালনাকারী দ্বারা পরিচালিত হবে যা আপডেটটিকে ট্র্যাক করে।

উত্স থেকে "কিছু-প্যাকেজ" প্যাকেজ তৈরির ক্ষেত্রে এবং সেখানে নির্ভরতা রয়েছে, আপনি প্রতিটি প্যাকেজ নিজেই ট্র্যাক না করেই আপনার প্যাকেজটি সংকলনের জন্য প্রয়োজনীয় সমস্ত নির্ভরতা স্বয়ংক্রিয়ভাবে ইনস্টল করতে "apt-get build-dep কিছু-প্যাকেজ" চেষ্টা করতে পারেন you নির্ভরতা নিজেকে। এইভাবে, নির্ভরতাগুলি প্যাকেজ পরিচালক দ্বারা পরিচালনা করা হয় এবং পাশাপাশি স্বয়ংক্রিয়ভাবে আপডেট করা উচিত।


3

gitব্যবহারকারীদের জন্য অন্য বিকল্প উল্লেখযোগ্য:

আপনি আপনার উত্স কোডটি আপডেট করতে git pullপূর্বের পরেও ব্যবহার করতে পারেন git cloneএবং তারপরে ইচ্ছে হলে আপনার প্রোগ্রামটি পুনরায় সংকলন করতে পারেন। (আপনি gitআরও ফাইলগুলি ট্র্যাক রাখতে ব্যবহার করতে পারেন : উত্তরটি এখানে দেখুন ))

আপনি যদি উত্সগতভাবে git cloneউত্স কোডটি পেতে ব্যবহার করেন তবে উদাহরণস্বরূপ,

git clone git://github.com/person/programname.git

এবং আপনি সংকলন এবং ইনস্টল করার পরে ফোল্ডারটি ধরে রেখেছেন, আপনি ফোল্ডারে সিডি করতে পারেন এবং git pullসর্বশেষ কমিটগুলি পেতে চালনা করতে পারেন। তারপরে আপনি যে বিল্ড ডিরেক্টরিগুলি তৈরি করেছেন এবং / অথবা চালাতে make cleanপারেন (যথাযথ হলে) সরিয়ে ফেলুন এবং তারপরে আবার সফ্টওয়্যারটি সংকলন করুন এবং এটি ইনস্টল করুন, এটি checkinstallআপনার জন্য একটি প্যাকেজ তৈরি করে (যদিও বিতরণের জন্য উপযুক্ত নয়)।

তবে, আপনি যদি কোনও প্রোগ্রামের বিকাশে সহায়তা করে থাকেন এবং প্রতিটি দৈনিকের পরে পুনরায় সংকলনের প্রয়োজন হয় git pullতবে আপনি সম্ভবত হোম ফোল্ডারে ইনস্টল করবেন, কারণ /usr/local/প্রতিবার স্তরক্রমের জন্য ইনস্টল করা অপ্রয়োজনীয় হবে ।

উদাহরণস্বরূপ, যদি আমি পরীক্ষা করে নিচ্ছি এবং নিয়মিতভাবে কোনও প্রোগ্রামের সংকলন করি, তবে সর্বশেষ প্রতিশ্রুতি দিয়ে git pullএবং চালানোর পরে আমি এই বিল্ড ফোল্ডারে সিডি করব (এই নির্দিষ্ট প্রোগ্রামের জন্য):

cmake .. -DCMAKE_BUILD_TYPE=Debug -DLAYOUT=home -DPREFIX=home

এবং তারপরে পরীক্ষার জন্য ডিবাগ সংস্করণটি সংকলন করুন।

তবে, আপনি যদি কেবল নিজের গিট ক্লোনড প্রোগ্রামটির নতুন সংস্করণটি প্রতি মাসে বা তাই সংকলন করতে চেয়েছিলেন (এবং এটির পরীক্ষা বা ডিবাগিং না করছিলেন) তবে আপনি সাধারণত এই /usr/local/শ্রেণিবিন্যাসে ইনস্টল করবেন checkinstall


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