কিভাবে pkg তৈরি করবেন যা ফাইল / usr / স্থানীয়গুলিতে ইনস্টল করে


3

আমি ব্যবহার করার চেষ্টা করেছিলাম হোয়াইটবক্স এর প্যাকেজ একটি LaunchDemon এর জন্য একটি ইনস্টলার তৈরি করতে। ডিমন একটি শেল স্ক্রিপ্ট কল করে, যা নিজেই কনফিগারেশন ফাইল উৎস করে।

সুতরাং আমি যা ইনস্টল করব তা হল ইনস্টলার যা ইনস্টল করে:

  • /Library/LaunchDaemons/my_daemon.plist। (এটা কোন সমস্যা না).
  • /usr/local/bin/myscript.sh
  • /usr/local/etc/myscript.conf

আমি / usr / স্থানীয়ের গন্তব্য পথ নির্দিষ্ট করতে পারছি না।

প্যাকেজগুলি আমাকে এই 2 টি ফাইলের গন্তব্যটি সম্পাদনা করতে দেয় না, এবং "./myscript.sh" এবং "./myscript.conf" এ ইনস্টল করতে চায় বলে মনে হয়, যদিও এটি আমার জন্য পরম গন্তব্য নির্ধারণ করতে দেয়। প্লাস্টার ফাইল / লাইব্রেরি / লঞ্চডেমন্স।

আমি মনে করি আমি পোস্টপ্লেট স্ক্রিপ্ট লিখতে পারি যা প্রয়োজন হলে ডিরেক্টরি তৈরি করে এবং সেখানে ফাইল কপি করে। কিন্তু সেখানে কোনও ভাল / সরল সমাধান নেই যা আমি দেখছি?

অন্য কথায়, আমি কিভাবে একটি .pkg ইনস্টলার তৈরি করতে পারি যা আমাকে কিছু ফাইলের জন্য পরম ডিরেক্টরি নির্দিষ্ট করতে দেয় এবং প্রয়োজনে ইনস্টলেশনের সময় এই ডিরেক্টরিগুলি তৈরি করে।

একটি পোস্টসইস্ট শেল স্ক্রিপ্টটি কি একমাত্র সমাধান, নাকি প্যাকেজগুলি স্বয়ংক্রিয়ভাবে জিনিসগুলি করার উপায় আছে নাকি অন্য কোন প্যাকেজ তৈরির অ্যাপ্লিকেশন আছে যা এর জন্য আরও কার্যকর হবে?


"আমি / usr / স্থানীয়ের গন্তব্য পথ নির্দিষ্ট করতে পারছি না।" ডেমনের মধ্যে? উপরন্তু, নিশ্চিত করুন যে / usr / local / ডিরেক্টরি বিদ্যমান। এটি ডিফল্টরূপে আপনার $ PATH এ অন্তর্ভুক্ত করা হলেও, এটি ডিফল্টরূপে বিদ্যমান নেই।
njboot

আমি আশা করি ইনস্টলার যদি প্রয়োজন হয় তবে ডিরেক্টরি তৈরি করবে, তবে এটি আমাকে নির্দিষ্ট করতেও দেয় না।
mivk

@ এমভ্ক আপনি কি এই সমস্যার জন্য কোন সমাধান পেয়েছেন?
kroky

উত্তর:


2

/ Usr / স্থানীয় এবং এর সাবফোল্ডারদের তৈরি করার জন্য একটি স্ক্রিপ্ট ব্যবহার করার পরিবর্তে, প্যাকেজের পেলোডের অংশ হিসাবে তাদের অন্তর্ভুক্ত করুন। অর্থাৎ, একটি "প্রিনোটাইপ" স্থানীয় "ফোল্ডার" "বিন" এবং "ইত্যাদি" সাবফোল্ডারের সাথে তৈরি করুন এবং আপনার স্ক্রিপ্ট এবং conf ফাইলটি তাদের মধ্যে তৈরি করুন। অনুমতিগুলি সঠিকভাবে সেট করুন (রুট: অ্যাডমিন, 755 তবে কনফ ফাইল, 644 অথবা এর জন্য 664)। তারপরে একটি ইনস্টলার প্যাকেজ তৈরি করুন যা পুরো ফোল্ডার গঠনকে / usr এ রাখে।

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


আপনি মানে "জায়গা / ইউএসআর / স্থানীয় মধ্যে পুরো ফোল্ডার গঠন"? না "/ বিন", ঠিক?
thoni56

1

/usr/local ডিফল্টরূপে বিদ্যমান নেই। আপনি এটি ব্যবহার করে তৈরি করতে হবে প্রান্তিক একটি গন্তব্য পথ হিসাবে এটি ব্যবহার করার জন্য। খোলা প্রান্তিক এবং নিম্নোক্ত কমান্ডটি প্রবেশ করান (ট্রিপল ক্লিক করুন, এটি অনুলিপি করুন এবং আপনার প্রম্পটে এটি পেস্ট করুন)। অনুরোধ করা হলে আপনার পাসওয়ার্ড লিখুন:

sudo mkdir /usr/local/{,bin,etc}; chmod -R 775 /usr/local/; chown -R root:admin /usr/local; exit

প্রথম অংশটি ডিরেক্টরি এবং সাব-ফোল্ডার তৈরি করে, দ্বিতীয়টি তার অনুমতিগুলি সংশোধন করে এবং তৃতীয়টি মালিকানা পরিবর্তন করে।


ধন্যবাদ, কিন্তু আমি এই সব জানি, এবং একটি শেল স্ক্রিপ্ট লিখতে পারে যা সবকিছু প্রয়োজন। আমি এটা আরো পরিষ্কার করতে প্রশ্ন সম্পাদনা।
mivk

1
ট্রিপল এটি ক্লিক করুন, এটি অনুলিপি করুন & lt; - আমি জানি না। +1 টি
Rob

1
উপরে ব্যবহার করে বেশ কিছুটা সংক্ষিপ্ত করা যেতে পারে sudo mkdir -m 775 -p /usr/local/{,bin,etc} এবং যে রুট গ্রহণ: চাকা কম বা root হিসাবে একই হয়: অ্যাডমিন।
Asmus

@ এসমাস আমি শর্টিং পছন্দ করি, অনেক টিকিট, কিন্তু আমি বুঝতে পারছি না কিভাবে রুট: চাকাটি রুটের সমতুল্য: অনুশীলনে অ্যাডমিন।
njboot

1
@ এনজ বুট ওয়েল, যতদিন আপনি একজন অ্যাডমিন ব্যবহারকারী হন (যা একটি "স্বাভাবিক" সেটআপের সমতুল্য sudo ) আপনি যে কোনওভাবে এই ফোল্ডারগুলির সাথে যা করতে চান তা করতে পারেন; অ-প্রশাসক ব্যবহারকারীদের জন্য ("স্টাফ") উভয়: চাকা এবং: অ্যাডমিন একই ভাবে বিধিনিষেধযুক্ত। প্রধান পার্থক্য একটি অ্যাডমিন ব্যবহারকারী তাদের পাসওয়ার্ড টাইপ আছে বা না। যদি কোনও ফাইলটি রুট ব্যবহার করে "দুর্ঘটনাক্রমে" স্পর্শ করার উদ্দেশ্যে না হয়: চাকাটি নিরাপদ উপায়, এটিই কেন অ্যাপল দ্বারা সরবরাহিত অ্যাপগুলি মূল হিসাবে সেটআপ করা হয়েছে: চাকা। এটি শুধুমাত্র প্রশাসক দ্বারা স্পর্শ করা বোঝানো হয়, তাহলে আপনি নিজে মালিক হতে পারে।
Asmus
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.