উবুন্টু সম্প্রদায়ের সাথে ভাগ করার জন্য কীভাবে আমি আমার নিজস্ব কাস্টম পিপিএ তৈরি করব? আমি আমার নিজস্ব কাস্টম প্যাকেজ সেট তৈরি করার চেষ্টা করছি এবং আমি সত্যিই এটি সম্প্রদায়ের সাথে ভাগ করতে চাই।
উবুন্টু সম্প্রদায়ের সাথে ভাগ করার জন্য কীভাবে আমি আমার নিজস্ব কাস্টম পিপিএ তৈরি করব? আমি আমার নিজস্ব কাস্টম প্যাকেজ সেট তৈরি করার চেষ্টা করছি এবং আমি সত্যিই এটি সম্প্রদায়ের সাথে ভাগ করতে চাই।
উত্তর:
একটি ব্যক্তিগত প্যাকেজ সংরক্ষণাগার ( পিপিএ ) ব্যবহার করে আপনি সরাসরি উবুন্টু ব্যবহারকারীদের কাছে সফ্টওয়্যার এবং আপডেট বিতরণ করতে পারেন। আপনার উত্স প্যাকেজ তৈরি করুন, এটি আপলোড করুন এবং লঞ্চপ্যাড বাইনারি তৈরি করবে এবং তারপরে সেগুলি আপনার নিজস্ব অ্যাপ্লিকেশানগুলিতে হোস্ট করবে।
এখানে একটি বিস্তারিত ব্যাখ্যা ।
এটি প্রদত্ত নমুনা স্ক্রিপ্ট থেকে একটি বেসিক .deb ফাইল তৈরির একটি টিউটোরিয়াল। এই টিউটোরিয়ালে প্রথমে আমরা ব্যাশে একটি নমুনা প্রোগ্রাম তৈরি করি যা কেবল 'হেলোর প্রোগ্রাম থেকে' দেখায়। তারপরে আমরা একটি ডেবিয়ান ইনস্টলার তৈরি করার জন্য প্রোগ্রামের জন্য একটি নিয়ন্ত্রণ ফাইল তৈরি করি । শেষ পর্যন্ত এগুলি একটি .deb
ফাইলে প্যাকেজ করা হয় ।
বাশে একটি নমুনা প্রোগ্রাম তৈরি করুন
mkdir "$HOME/create_deb/pgmdir"
gedit "$HOME/create_deb/pgmdir/zenity_hello.sh"
এটিতে নিম্নলিখিত কোডটি পেস্ট করুন
#!/bin/bash
echo 'HELLO FROM PROGRAM' | zenity --text-info
প্রোগ্রামটি সম্পাদনযোগ্য করুন Make
chmod +x "$HOME/create_deb/pgmdir/zenity_hello.sh"
ডিবিয়ান প্যাকেজের জন্য নিয়ন্ত্রণ ফাইল তৈরি করুন
control
ফোল্ডারের ভিতরে একটি ফাইল তৈরি করুনDEBIAN
mkdir "$HOME"/create_deb/DEBIAN
gedit "$HOME"/create_deb/DEBIAN/control
এবং নিম্নলিখিত বিবরণ পেস্ট করুন
Package: hellodeb
Version: 0.1
Architecture: all
Maintainer: totti
Installed-Size: 6
Depends: zenity, bash
Section: testing
Priority: optional
Homepage: http://askubuntu.com
Description: This is my first debian package.
Guided by Totti Torvalds.
In Description new line start with a space.
আপনি যদি চান বিষয়বস্তু সম্পাদনা করতে পারেন। এখানে এবং এখানে এই ফাইলটির ফর্ম্যাট সম্পর্কে আরও পড়ুন ।
postinst
স্ক্রিপ্ট তৈরি করুন , যা প্যাকেজ ইনস্টলের সাথে সাথেই কার্যকর করা হয়
gedit "$HOME"/create_deb/DEBIAN/postinst
তারপরে পেস্ট করুন
#!/bin/sh
set -e
echo 'Installing program : zenity_hello.sh ......' | zenity --text-info
এবং এটি কার্যকর করা
chmod +x "$HOME/create_deb/DEBIAN/postinst"
prerm
স্ক্রিপ্ট তৈরি করুন , যা প্যাকেজ অপসারণের আগে কার্যকর করা হয়
#!/bin/sh
set -e
echo 'Removing program : zenity_hello.sh ......' | zenity --text-info
এবং এটি কার্যকর করা
chmod +x "$HOME/create_deb/DEBIAN/prerm"
প্যাকেজ কাঠামো এবং অনুলিপি প্রোগ্রাম, ডেটা ইত্যাদি
তৈরি করুন your আপনার ইনস্টলড প্রোগ্রাম এবং এর ডেটার একটি কাঠামো তৈরি করুন। এই উদাহরণে আমরা ফাইলটি রেখেছি /bin
।
mkdir -p "$HOME"/create_deb/bin
cp "$HOME/create_deb/pgmdir/zenity_hello.sh" "$HOME/create_deb/bin/zenity_hello"
.Deb ফাইলটি তৈরি করুন।
dpkg-deb --build "$HOME"/create_deb .
.
ইচ্ছা স্বয়ংক্রিয় নাম .deb
সংস্করণ, খিলান ইত্যাদি অথবা আপনার কাস্টম নাম দিয়ে ফাইল
dpkg-deb --build "$HOME"/create_deb "$HOME"/create_deb/hellodeb.deb
বা যদি আপনি .deb ফাইলটি দিয়ে তৈরি করেন
debuild -k'your GPG key here' -S
তারপরে আপনি এটি উবুন্টু লঞ্চপ্যাডের সাথে আপলোড করতে পারেন
dput ppa:<lp-username>/<ppa-name> packet-source.changes
এখানে বর্ণিত (উত্স: স্ক্রিপ্ট বা বাইনারি থেকে একটি .deb প্যাকেজ তৈরি করুন )
সদ্য নির্মিত .deb
প্যাকেজটি ইনস্টল করুন । আপনি এটি দিয়ে খুলতে পারেন software-center
তবে এটি আপনাকে ইনস্টল করার অনুমতি দেয় না। তাই আমি gdebi
প্যাকেজ ম্যানেজার ব্যবহার করার পরামর্শ দিই ।
sudo apt-get install gdebi
gdebi "$HOME"/create_deb/hellodeb.deb
এখন আপনি এটি ইনস্টল করতে পারেন। ইনস্টলেশন চলাকালীন আপনার একটি জিটিকে সংলাপ দেখতে হবে
প্রোগ্রাম ইনস্টল করা হচ্ছে: zenity_hello.sh ......
ইনস্টল করার পরে একটি টার্মিনাল খুলুন এবং টাইপ করুন zenity_hello
। প্রোগ্রামটি সঠিকভাবে ইনস্টল করা থাকলে এবং সবকিছু ঠিকঠাক থাকলে আপনার একটি জিটিকে সংলাপ দেখতে হবে
প্রোগ্রাম থেকে হ্যালো
প্যাকেজ সরানো হচ্ছে
sudo apt-get remove zenity_hello
যেহেতু ওপি তার প্যাকেজগুলি প্রকাশের একটি সহজ উপায় চায় আমি একটি সহজ হ্যাক দিচ্ছি।
প্রয়োজনীয়তা: ড্রপবক্স (বা অন্য কোনও পরিষেবা, প্রাক্তন। গিথাবের জন্য ) একটি সর্বজনীন ফোল্ডারের সাথে অ্যাকাউন্ট।
আপনি আপনার * .deb ফাইলগুলি যেখানে রেখেছেন সেখানে আপনার সর্বজনীন-ড্রপবক্স-ফোল্ডারের ভিতরে একটি ফোল্ডার তৈরি করুন:
mkdir ~/Dropbox/Public/deb-packages
বা সেই ফোল্ডারটি অন্য কোথাও তৈরি করুন এবং আপনার সর্বজনীন ফোল্ডারে একটি সিমিলিংক দিন:
mkdir ~/deb-packages
cd ~/Dropbox/Public
ln -s ~/deb-packages/ deb-packages
সেই ফোল্ডারে যান এবং একটি স্ক্রিপ্ট তৈরি করুন যা কার্যকর করা হলে প্যাকেজসজেড তৈরি করে আপনার ডিবে-প্যাকেজগুলি সম্পর্কিত সমস্ত প্রয়োজনীয় তথ্য ধারণ করে। সৃষ্টি:
gedit import.sh
এটি এতে রাখুন:
#!/bin/bash
dpkg-scanpackages . /dev/null |gzip > Packages.gz
এটি কার্যকর করা:
chmod x import.sh
ফোল্ডারে কিছু * .deb ফাইল অনুলিপি করুন। আপনার নিজস্ব বা এমন কিছু হতে পারে যা অন্যান্য সংগ্রহস্থলের মাধ্যমে উপলভ্য নয়। তারপরে ফোল্ডারে যান এবং আমরা সেখানে যে স্ক্রিপ্টটি রেখেছি তা সম্পাদন করুন:
cd ~/deb-packages/
./import.sh
এটি তথাকথিত Packages.gz ফাইল তৈরি করা উচিত , যা এই সংগ্রহস্থলে কোন প্যাকেজগুলি অবস্থিত তা জানতে আগ্রহী।
এখন, ড্রপবক্সটির জন্য ফোল্ডারটি সিঙ্ক্রোনাইজ করার জন্য অপেক্ষা করুন এবং এর থেকে সর্বজনীন-URL টিPackages.gz
দখল করুন । এটি দেখতে কিছু দেখতে হবে:
http://dl.getdropbox.../Packages.gz
এই লিঙ্কটির শেষ থেকে মুক্তি পান, এতে আরও কিছু শব্দ রাখুন এবং আপনি এখন উত্স.লাইস্টের জন্য নিম্নলিখিত লাইনটি ব্যবহার এবং পপুলেট করতে পারেন:
deb http://dl.getdropbox.../deb-packages ./
এটি আপনার নিজের ডেপোপোজিটি চলছে। সর্বদা স্থানীয়ভাবে সিঙ্ক্রোনাইজড, তবে যে কোনও সময়, যে কোনও জায়গায় পাওয়া যায়।
দ্রষ্টব্য:
রেফারেন্স dpkg-scanpackages
থেকে উপলব্ধdpkg-dev
releases/
দেখুন github.com/rubo77/mouse-speed/blob/master/re कृपया/…
debuild -us -uc -k'your GPG key here'
তবে তারপরে আপনি এখানে বর্ণিতdput ppa:<lp-username>/<ppa-name> packet-source.changes
লঞ্চপ্যাডের সাথে এটি আপলোড করতে পারেন (উত্স: স্ক্রিপ্টগুলি বা বাইনারিগুলি থেকে একটি .deb প্যাকেজ তৈরি করুন )
debuild -k'your GPG key here' -S
কারণ লঞ্চপ্যাড ডাব ফাইলটি তৈরি করবে (যদি তা প্রত্যাখাত না হয়) - কী us -us -uc` এর জন্য হত?
পিপিএ তৈরি করতে আপনার একটি Launchpad.net অ্যাকাউন্ট প্রয়োজন। লঞ্চপ্যাডে কেবলমাত্র আপনার ব্যবহারকারীর উপর ক্লিক করুন (উপরের বাম দিকে আপনার নামের উপর ক্লিক করুন) এবং একটি পিপিএ তৈরি করুন। আপনাকে প্রথমে আচরণবিধিতে স্বাক্ষর করতে হবে এবং আপনার অ্যাকাউন্টের সাথে একটি জিপিজি কী নিবন্ধিত করতে হবে।