মানক দ্বারা নামকরণ করা ফাইলের নাম পরিবর্তন করা কি নিরাপদ?


13

.debফাইল নামের প্রতিষ্ঠিত কাঠামোটি package_version_architecture.debএই অনুচ্ছেদ
অনুযায়ী :

কিছু প্যাকেজ নাম কাঠামো অনুসরণ করে না package_version_architecture.deb। প্যাকেজগুলির নাম dpkg-name এই নামটি অনুসরণ করবে। সাধারণত dselect / dpkg দ্বারা প্যাকেজগুলি কীভাবে ইনস্টল করা হয় তাতে কোনও প্রভাব ফেলবে না, তবে অন্যান্য ইনস্টলেশন সরঞ্জামগুলি এই নামকরণ কাঠামোর উপর নির্ভর করতে পারে।

প্রশ্ন:

যাইহোক, কোনো বাস্তব পরিস্থিতিতে যখন পুনঃনামকরনের হয় .debপ্যাকেজ ফাইল অত্যন্ত হয় উন সুপারিশ? .debআমার সফ্টওয়্যারটির জন্য একটি কাস্টম ফাইলের নাম সরবরাহ করা কি সাধারণ অভ্যাস ?

উদাহরণ:

  • My Program for Linux v1.0.0 (Pro).deb - কাস্টম নামকরণ
  • my-program_1.0.0-1_amd64.deb - সঠিক সরকারী নামকরণ

বিঃদ্রঃ:

আমি কোনও রেপো তৈরির পরিকল্পনা করছি না , আমি .debসরাসরি ডাউনলোডের জন্য আমার ওয়েবসাইটে আমার সফ্টওয়্যারটির প্যাকেজটি হোস্ট করছি ।


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

উত্তর:


26

বছরের পর বছর ধরে, আমি .debঅ-মানক নাম সহ প্রচুর পরিমাণে প্যাকেজ সংগ্রহ করেছি এবং কোনও সমস্যায় পড়তে আমি মনে করি না। আজকাল লোকেরা আসতে পারে এমন অ-মানক নামযুক্ত "বিখ্যাত" প্যাকেজগুলির মধ্যে রয়েছে google-chrome-stable_current_amd64.debএবং steam.deb। (উভয় ক্ষেত্রেই, স্থির, সংস্করণহীন নাম নিশ্চিত করে যে ডাউনলোডের জন্য একটি স্থিতিশীল URL এবং ইনস্টলেশন নির্দেশের জন্য একটি স্থিতিশীল নাম ব্যবহার করা যেতে পারে))

তবে আমি মনে করি না কারও নামে তাদের শূন্যস্থান নিয়ে দৌড়াতে হবে; এটি সরঞ্জামগুলির সাথে কোনও সমস্যা সৃষ্টি করতে পারে না তবে এটি আপনার ব্যবহারকারীদের জন্য বিভ্রান্তির কারণ হতে পারে (যেহেতু শেল-ভিত্তিক সরঞ্জামগুলি ব্যবহার করে তাদের যদি ফাইলনামটি উদ্ধৃত করা বা ফাঁকা স্থানগুলি রক্ষা করতে হবে)।

আরেকটি বিষয় লক্ষণীয় হ'ল একটি অ-মানক নাম যা আপনার প্যাকেজের নামের মতো নয় ( controlফাইলের মধ্যে সঞ্চিত রয়েছে ) এছাড়াও বিভ্রান্তির কারণ হতে পারে, যেমন প্যাকেজটি সরিয়ে দেওয়ার চেষ্টা করার সময় (যেহেতু প্যাকেজের নামটি হবে না) এটি ইনস্টল করতে ব্যবহৃত নামের মতো)।

এই সমস্তগুলির ফলস্বরূপ, আপনি যদি প্রমিত নামটি আটকে রাখতে না চান তবে আমি এর মতো my-program.debবা my-program_amd64.deb(আপনি একাধিক আর্কিটেকচার সমর্থন করতে চান কিনা তার উপর নির্ভর করে) কিছু সুপারিশ করব । আপনি যদি পুরানো সংস্করণগুলি ডাউনলোড করার অনুমতি দিতে চান তবে আপনি এটি সংস্করণযুক্ত ফাইলের নামের একটি সিমিলিংকও তৈরি করতে পারেন।


"ডাউনলোডের জন্য একটি স্থিতিশীল ইউআরএল ব্যবহার করা যেতে পারে" - গুগল এবং ভালভ কখনই পুনঃনির্দেশের কথা না শুনলে আমি অবাক হই।
অরেঞ্জডোগ

@ ওরেঞ্জডগ আমিও তাই করব a
স্টিফেন কিট

10

ফাইলের নামগুলি মূলত সংরক্ষণাগার রক্ষণাবেক্ষণ সফ্টওয়্যার এবং স্থানীয় ক্যাশে সুবিধার জন্য প্রমিত করা হয়।

পুরানো দিনগুলিতে, m68kআর্কিটেকচারটি দেবিয়ানে যুক্ত হওয়ার আগে ফাইলের নামগুলি কোনও সমস্যা ছাড়াই " প্যাকেজ _ সংস্করণ .deb" ব্যবহার করেছিল । স্থাপত্য নাম সংরক্ষণাগার সফ্টওয়্যার দোকান করা প্রয়োজন ফাইলের নাম যোগ করা হয়েছিল i386এবং m68kএকই ডিরেক্টরির মধ্যে একই প্যাকেজ এবং সংস্করণের প্যাকেজ। যেহেতু প্যাকেজ তালিকায় সর্বদা দীর্ঘ এবং 8.3 ফাইলের নাম থাকে , যা ক্লায়েন্টকে না ভেঙে প্রয়োগ করা যেতে পারে।

Dpkg সাধারণত প্যাকেজের ফাইলের নাম মোটেই যত্ন করে না। ইনস্টলেশন চলমান চলাকালীন, এপিটি এই ইনস্টলেশন চলার জন্য সমস্ত প্যাকেজ ফাইল সহ একটি ডিরেক্টরি তৈরি করে এবং প্রতিটি ফাইলের বর্তমান ফাইলের নাম সংখ্যায় থাকবে ফাইলের নামের (যেমন আপনি প্যাকেজ fooসংস্করণ 1 এবং প্যাকেজ barসংস্করণ 2 ইনস্টল করেন , যা fooনির্ভর করে , apt পাস করবে 0-bar_2_all.debএবং 1-foo_1_amd64.debdpkg এ যাবে)।

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

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