আমার কি (অফিসিয়াল) সংগ্রহস্থলগুলিতে সেন্টোস প্যাকেজ সংস্করণ, বা প্যাকেজের সর্বশেষতম স্থিতিশীল সংস্করণগুলি ব্যবহার করা উচিত?


9

এটি একটি উন্মুক্ত সমাপ্ত প্রশ্ন, তবে আমি এই বিষয়টিতে গঠনমূলক এবং সহায়ক আলোচনা করতে চাই।

সুতরাং এই প্রশ্নটি পরিষ্কার করতে: কোনও সার্ভারে সেন্টোস 7 চালানো (বা অন্য কোনও লিনাক্স ডিস্ট্রো / সংস্করণে এই বিষয়টির জন্য) বেস / ইপেল রেপোতে প্যাকেজ সংস্করণটি থাকা ভাল কি সর্বশেষতম স্থিতিশীল সংস্করণটি পাওয়া ভাল? প্যাকেজ সাইট গঠন? এই ক্ষেত্রে আমি আরও স্পষ্টভাবে এনগিনেক্স, মারিয়াডিবি এবং পিএইচপি packages. এর মতো প্যাকেজগুলি উল্লেখ করছি For উদাহরণস্বরূপ, ইপিল সংস্করণ ১. over.৩ এর উপরে এনগিনেক্স ১.৮.০ ইনস্টল করার পক্ষে কি কি হবে? কোনও কার্যকারিতা পার্থক্য বা সুরক্ষা ঝুঁকি আছে কি?

সমস্ত আলোচনা এবং অভিজ্ঞতা স্বাগত, দয়া করে সংস্থান এবং তথ্য উদ্ধৃত করার চেষ্টা করুন।


4
আমি কোনও ওএস সরবরাহিত প্যাকেজটি ইনস্টল করা এড়াতে চাই । প্রথমত, আপনি কী জানেন না যদি ডিস্ট্রো সরবরাহকারী কোনও কাস্টমাইজেশন করে থাকে - কনফিগারেশন ফাইলের অবস্থান ইত্যাদি example উদাহরণস্বরূপ, আপনি ডিগ্রো সরবরাহিত ১.6.৩ এর পরে এনজিনেক্স ১.৮.০ ইনস্টল করেন এবং তারপর ডিস্ট্রো লাফিয়ে লাফিয়ে 1.9.9? এটি আপনার কাস্টম ইনস্টলটি করতে চলেছে কি? সাধারণভাবে - সার্ভারের জীবনের জন্য আপনার কাস্টমাইজড ওএস ইনস্টল বজায় রাখার প্রতিশ্রুতি না দিতে না চাইলে ওএস সরবরাহিত কোনও কিছুর সাথে স্ক্রু করবেন না । কোনও ওএস সরবরাহিত অ্যাপ্লিকেশনটির পরবর্তী সংস্করণের জন্য, এটিকে বা এটির মতো ইনস্টল করুন । /usr/local
অ্যান্ড্রু হেনেল

এটি একটি ভাল বিষয়, এর প্রতি আমার প্রতিক্রিয়াটি হ'ল: আবার উদাহরণস্বরূপ নিনজিনক্স নিন, সর্বশেষ স্থিতিশীলটি 1.8.0 এবং সর্বশেষতম উত্তরাধিকার সংস্করণটি 1.6.3 হচ্ছে, যদি কোনও সুরক্ষা দোষ 1.6.3 এর ডিস্ট্রো সংস্করণে আবিষ্কার হয় তবে কী হবে? ?
গিগলস্কুইড

5
রেড হ্যাট : সুরক্ষা দুর্বলতাগুলি যেমন আবিষ্কার হয়েছে, কোনও সম্ভাব্য সুরক্ষা ঝুঁকি সীমাবদ্ধ করতে ক্ষতিগ্রস্থ সফ্টওয়্যারটি আপডেট করতে হবে। সফ্টওয়্যারটি বর্তমানে সমর্থিত একটি রেড হ্যাট এন্টারপ্রাইজ লিনাক্সের মধ্যে থাকা প্যাকেজের অংশ হলে, Red Hat, Inc. আপডেট প্যাকেজগুলি প্রকাশের জন্য প্রতিশ্রুতিবদ্ধ যা যত তাড়াতাড়ি সম্ভব দুর্বলতার সমাধান করে। ... (ধারাবাহিক)
অ্যান্ড্রু হেনেল

5
প্রায়শই, প্রদত্ত সুরক্ষা শোষণ সম্পর্কে ঘোষণাগুলি একটি প্যাচ সহ (বা উত্স কোড যা সমস্যার সমাধান করে)। এই প্যাচটি পরে রেড হ্যাট এন্টারপ্রাইজ লিনাক্স প্যাকেজে প্রয়োগ করা হয়, রেড হ্যাট মানের আশ্বাস দল দ্বারা পরীক্ষা করা হয় এবং ত্রুটি-বিচ্যুতি আপডেট হিসাবে প্রকাশিত হয় । ... আপনি যে সমস্ত প্রবন্ধের জন্য সাইন আপ করার পরিকল্পনা করছেন?
অ্যান্ড্রু হেনেল

উত্তর:


9

সাধারণত, আমি সিস্টেম ডিফল্ট প্যাকেজগুলি ব্যবহার করার জন্য খুব চেষ্টা করি।

তবে এটি কখনও কখনও সম্ভব নয় possible শিক্ষিত পছন্দ করতে আপনাকে এই প্রশ্নের উত্তর দিতে হয়েছিল:

  1. বিতরণের প্যাকেজগুলি আপনার প্রয়োজনীয় বৈশিষ্ট্যগুলি সরবরাহ করে? যদি তা হয় তবে আপনার অন্যান্য প্যাকেজগুলি অনুসন্ধান করার দরকার নেই ; কেবল সিস্টেমের সংগ্রহস্থল দ্বারা সরবরাহিত প্যাকেজগুলি ব্যবহার করুন।
  2. আপনার কি সরকারী সমর্থন প্রয়োজন এবং / অথবা নির্দিষ্ট নীতিমালা মেনে চলতে হবে? যদি তা হয় তবে আপনি একটি বেসরকারী সংগ্রহশালা ব্যবহার করতে পারবেন না । এই ক্ষেত্রে, আপনি সম্ভবত আপনার সফ্টওয়্যার প্রকল্পের জন্য ভুল বিতরণ ব্যবহার করছেন।
  3. পূর্ববর্তী প্রশ্নের উত্তর যদি "না" হয় তবে আপনাকে একটি সাম্প্রতিকতম সফ্টওয়্যার সংস্করণটি অনুসন্ধান করতে হবে। নেই কোন অস্তিত্ব একটি সু-স্বীকৃত সংগ্রহস্থলের প্রয়োজনীয় প্যাকেজের সাথে? যদি তাই হয় তবে এটি ব্যবহার করুন।
  4. যদি কোনও নির্দিষ্ট, স্বনামধন্য সংগ্রহস্থল উপস্থিত না থাকে, আপনাকে প্রবাহিত সফ্টওয়্যারটি ব্যবহার করতে হবে। এই ক্ষেত্রে, প্যাকেজ সফটওয়্যার ব্যবহার করতে খুব কঠিন চেষ্টা (উদাহরণ: আরপিএম, দেব, ECC) বদলে প্লেইন tar.gz (অথবা লাইক)।

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

6

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

পিএইচপি / মাইএসকিউএল ওয়েব অ্যাপ্লিকেশন মোতায়েনের জন্য আমার বর্তমান বিল্ডটি হ'ল:

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

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

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

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

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

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


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


5

সংক্ষিপ্ত উত্তরটি হ'ল সর্বদা সিস্টেমের সংগ্রহস্থলগুলির দ্বারা প্রদত্ত কী ব্যবহার করুন। আপনি খুব ভাল ইনস্টল করেন কি ভান্ডার। কিছু ঠিক প্লেইন খারাপ।

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

বিবেচনা করা এবং সন্ধান করার জন্য কয়েকটি বিষয় যা সমস্যার অন্তর্ভুক্ত হতে পারে।

  1. কিছু সংগ্রহস্থলগুলি খারাপভাবে রক্ষণাবেক্ষণ করা হয়। তারা প্যাকেজগুলির জন্য সুরক্ষা সংশোধন করে আপডেট করবেন না।
  2. লোকেরা খারাপ আরপিএম লেখার প্রবণতা রাখে, তারা কনফিগারেশন ফাইলগুলিকে কনফিগারেশন ফাইল হিসাবে চিহ্নিত করে না, যা আপনি প্রতিবার আপডেট করার সময় আপনার কনফিগারেশনকে ওভাররাইট করে দেয় যা সমস্যার কারণ হতে পারে। আমি এই সমস্যা আগে দেখেছি।
  3. তারা তাদের নির্ভরতা সঠিকভাবে ঘোষণা করে না। আমি এটি আগেও দেখেছি, যেখানে phpসিস্টেমে একটি প্যাকেজ রাখা হয়েছিল কিন্তু pearসমস্যাগুলির সূচনা করে এমন প্যাকেজ আপডেট হয়নি ।
  4. একই প্যাকেজের নাম দেওয়া সমস্ত একাধিক সংগ্রহস্থল ইনস্টল করা আপনার সিস্টেমে অপ্রত্যাশিত নির্ভরতার সমস্যা দেখা দিতে পারে।
  5. কিছু প্যাকেজ সিস্টেম কনফিগারেশন ফাইলগুলি ওভাররাইট বা পুনর্লিখন করে যা অন্যান্য প্যাকেজগুলি নির্ভর করে বা বিদ্যমান বলে প্রত্যাশা করে। এটি অন্যান্য প্যাকেজগুলির সাথে সমস্যার সৃষ্টি করে যা আপনি আশা করতে পারেন না।

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

এটি সমাধানের কার্যকর (এবং রেডহ্যাট আশীর্বাদ) উপায়টি হল সফ্টওয়্যার সংগ্রহগুলি ব্যবহার করা।

www.softwarecollections.org

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

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

  • মাইএসকিউএল 5.6 এবং মাইএসকিউএল 5.7, মারিয়াডিবি।
  • পিএইচপি 5.5 এবং পিএইচপি 5.6
  • অ্যাপাচি ২.৪

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

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


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

1
nginxএই সমস্ত 'এক এক' প্যাকেজগুলির মধ্যে একটি। তবে, httpd(libapr depend dependance) এবং mysql(libmysqlclient depend dependants) বিশেষত তা নয়। এই প্যাকেজ উভয় খারাপ আপডেট ত্রুটি দেখা দেয় pythonএবং phpঅতীতে আমার জন্য। এখানে কী সমস্যা রয়েছে তা জানা সহজ নয় যে একটি প্যাকেজ কীভাবে অন্যটির সাথে ইন্টারেক্ট করে তা যদি না জানেন আপনি কী সন্ধান করবেন (অনুবাদ: এটির আগে পুড়ে গেছে)।
ম্যাথু ইফি

2
পুরানো সিস্টেম সংস্করণের সাথে লিঙ্কযুক্ত প্রোগ্রামগুলিকে কাজ চালিয়ে যাওয়ার অনুমতি দেওয়ার জন্য এটি কোনও সামঞ্জস্যতা গ্রন্থাগার বহন করে আপনি কোনও আসল সমস্যা ছাড়াই মারিয়াডিবির মতো কিছু আপগ্রেড করতে পারেন। আপনাকে কেবল প্যাকেজটি ইনস্টল করতে হবে (এবং যদি আপনি না করেন তবে আপনার অভিযোগ করা উচিত)। পিএইচপি আরও জটিল, কারণ এটির অনেকগুলি নির্ভরশীলতা রয়েছে যা অবশ্যই এটির সাথে আপডেটও রাখতে হবে এবং প্যাকেজকারী যদি এটি না করে তবে প্যাকেজগুলি অকেজো থেকেও খারাপ। ভাগ্যক্রমে, যেহেতু রিমিও আরএইচইএল এর পিএইচপি রক্ষণাবেক্ষণকারী, তাই সে সমস্ত কি সে জানে এবং তার প্যাকেজগুলি ঠিক আছে।
মাইকেল হ্যাম্পটন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.