কীভাবে স্ন্যাপ প্যাকেজগুলি ভাগ করে নেওয়া নির্ভরতাগুলি পরিচালনা করে?


30

স্ন্যাপ প্যাকেজিং ফর্ম্যাটটি অবশেষে প্রতিটি প্যাকেজটির নিজস্ব অনুলিপিটির অনুমতি দেওয়ার মাধ্যমে নির্ভরতা নরক থেকে মুক্ত করে। এটি কীভাবে এটি করে তার প্রযুক্তিগত বিশদ সম্পর্কে আমি আগ্রহী। এটি কীভাবে পরিচালনা করে:

  • বর্তমান প্রকাশের জন্য ডেব প্যাকেজগুলির মাধ্যমে ইতিমধ্যে ইনস্টল করা লাইব্রেরির সংস্করণের উপর নির্ভর করে স্ন্যাপগুলি? এটি ইনস্টল করা লাইব্রেরি উপেক্ষা করে?
  • একই গ্রন্থাগারের একই সংস্করণ উল্লেখ করে বিভিন্ন স্ন্যাপ? এটি কি কোনওভাবে নকল করে?
  • মূল লাইব্রেরিতে আপডেটগুলি যা বেশিরভাগ স্ন্যাপ দ্বারা ব্যবহৃত হতে পারে? ওপেনএসএসএল একটি বিশাল ব্যথা পয়েন্ট হিসাবে মনে আসে।

xdg-app এর একটি "রানটাইম" বলে কিছু রয়েছে :

এক্সডিজি-অ্যাপে একটি মৌলিক ধারণাটি রানটাইম / অ্যাপ্লিকেশন বিভাজন। প্রতিটি অ্যাপ্লিকেশন একটি রানটাইমের উপর নির্ভর করে যা অ্যাপ্লিকেশন নির্ভর করে এমন মূল লাইব্রেরি সরবরাহ করে। রানটাইমগুলি সাধারণত অনেকগুলি অ্যাপ্লিকেশন দ্বারা ভাগ করা হয় তবে কোনও ব্যবহারকারীর একই সাথে একাধিক রানটাইম ইনস্টল থাকতে পারে।

দেখে মনে হয় যে ওপেনএসএসএল-এর ক্ষেত্রে এটি এক্সডিজি-অ্যাপ্লিকেশনগুলিতে রানটাইমের অংশ হবে, সুতরাং ওপেনএসএসএল-এ আপডেট করা স্বচ্ছভাবে একই রানটাইম ব্যবহার করে সমস্ত এক্সডিজি-অ্যাপ্লিকেশনগুলিকে প্রভাবিত করবে।

উত্তর:


9

প্রথম দুটি পরিস্থিতি চালাকভাবে পরিচালনা করা হয়।

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

সূত্র: http://www.phoronix.com/scan.php?page=news_item&px=Ubuntu-Snappy- প্রত্যয়ন

তৃতীয় পরিস্থিতি হিসাবে তাদের রানটাইমগুলির সাথে মিল রয়েছে যা আপনি উল্লেখ করেছেন:

তিনটি স্তর রয়েছে যা একটি ছদ্মবেশী মেশিন তৈরি করে: ক্যানোনিকাল দ্বারা সরবরাহিত সিস্টেম স্তর, ফ্রেমওয়ার্কগুলির একটি স্তর যা ক্যানোনিকালের সহযোগিতায় বিক্রেতাদের দ্বারা উত্পাদিত বেস সিস্টেমকে প্রসারিত করে এবং বিক্রেতাদের সরাসরি সরবরাহকারী স্নাপ্পিক অ্যাপ্লিকেশনগুলির একটি সেট। যে কোনও টুকরো আপডেট করার অর্থ কেবল পঠনযোগ্য চিত্রের নতুন সংস্করণ ব্যবহার করা। পূর্ববর্তী সংস্করণে ফিরে যাওয়া ঠিক তত সহজ।

সূত্র: http://www.ubuntu.com/cloud/snappy

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

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

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

আইআরসি-তে আমাকে বলা হয়েছিল যে আমি কাঠামো ধারণাটি একধরণের অপব্যবহার করছি তবে এখনও এই দুটি বিষয় আমার ডেস্কে প্রায়শই আসে।

সূত্র: https://lists.ubuntu.com/archives/snappy-app-devel/2015- নভেম্বার / 1000442.html


1
স্পষ্ট করে বলার জন্য, এগুলির কোনওটিরই এখনই নেই, তাই না? এগুলি পরিকল্পনাগুলি এবং আপনি সম্ভবত প্রথম লাইনে "হ্যান্ডেল" এর পরিবর্তে "পরিচালনা করবেন" বলতে চাইছেন?
মুড়ু

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

1
এগুলি চালাকভাবে পরিচালিত পদ্ধতি নয়, কেবল চালাক ধারণা ver উদাহরণস্বরূপ, প্রথমটি কীভাবে বাস্তবে বাস্তবায়িত হয় সে সম্পর্কে এখনও কোনও অফিসিয়াল ডকুমেন্টেশন নেই, কেবলমাত্র একটি ফোরোনিক্স নিবন্ধ একটি আলাপের দিকে ইঙ্গিত করে যা একটি মৃত লিঙ্ক বিটিডব্লিউ।
bviktor

3

আমি মনে করি না যে স্ন্যাপগুলি পরীক্ষা করে যা নির্ভর করে ইতিমধ্যে ইনস্টল করা আছে। এটিতে তার সমস্ত নির্ভরতা এবং রানটাইম অন্তর্ভুক্ত রয়েছে (যা আংশিক কারণেই লিব্রেফিস স্ন্যাপটি 287 এমবি এবং ফ্ল্যাটপ্যাকটি প্রায় 200MB)।

স্ন্যাপগুলিতে সফ্টওয়্যারটি চালনার জন্য প্রয়োজনীয় সমস্ত কিছু অন্তর্ভুক্ত রয়েছে। আমি মনে করি না যে কিছু কিছু স্ন্যাপগুলির মধ্যে ভাগ হয়ে গেছে।

তবে কোনও স্ন্যাপ আপডেট হয়ে গেলে, এটি কেবলমাত্র নির্ভরতাগুলি নতুন এবং সম্পূর্ণ স্ন্যাপ নয়, ডাউনলোড করবে।


2

স্ন্যাপ প্যাকেজিং কীভাবে ভাগ করা নির্ভরতাগুলি পরিচালনা করে সে সম্পর্কে অতিরিক্ত স্পষ্টতা।

স্ন্যাপগুলিতে সফ্টওয়্যারটি চালনার জন্য প্রয়োজনীয় সমস্ত কিছু অন্তর্ভুক্ত রয়েছে। আমি মনে করি না যে কিছু কিছু স্ন্যাপগুলির মধ্যে ভাগ হয়ে গেছে।

উত্তরের একটিতে এই বিবৃতিটি আংশিক সত্য, তবে মূল স্ন্যাপ ব্যতীত সমস্ত ইনস্টল করা স্ন্যাপ প্যাকেজ দুটি প্যাকেজের উপর নির্ভর করে, যার মধ্যে একটি মূল স্ন্যাপ।

  1. স্ন্যাপড - যা 16.04 এ ডিফল্টরূপে ইনস্টল করা হয়েছে এবং এর পরে এবং 14.04 এ ইনস্টল করা যেতে পারে।

  2. কোর    - (মূল স্ন্যাপ) যা প্রথম ইনস্টল করা স্ন্যাপ প্যাকেজ ইনস্টল হওয়ার পরে স্বয়ংক্রিয়ভাবে ডাউনলোড এবং ইনস্টল হয়

কোর ব্যতীত সমস্ত স্ন্যাপ প্যাকেজগুলি মূল স্ন্যাপের উপর নির্ভর করে। মূল স্ন্যাপে যদি কোনও সমস্যা হয় তবে অন্য কিছু বা সমস্ত স্ন্যাপগুলি কাজ করবে না। মূল স্ন্যাপের সমস্যাটি নিম্নলিখিত দুটি উপায়ে সংশোধন করা যেতে পারে।

  1. মূল স্ন্যাপ আপডেট করুন। এমনকি এটি কাজ না করলেও নিম্নলিখিত কমান্ডটি চালানোর ফলাফলগুলি অতিরিক্ত তথ্য সরবরাহ করবে যা সমস্যা সমাধানে সহায়তা করবে।

    sudo snap refresh core  
    
  2. মূল স্ন্যাপ এবং সমস্ত স্ন্যাপ প্যাকেজ আনইনস্টল করুন এবং তারপরে সেগুলি পুনরায় ইনস্টল করুন।

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