কীভাবে কাস্টমাইজড উবুন্টু সার্ভার আইএসও তৈরি করবেন?


42

আমি একটি কাস্টমাইজড উবুন্টু সার্ভার 12.04 আইএসও তৈরি করতে চাই তবে এটি কীভাবে করবেন সে সম্পর্কে একটি পরিষ্কার দৃষ্টিভঙ্গি খুঁজে পেল না। আমি দেখতে পাচ্ছি যে উবুন্টু-বিল্ডার একটি কাস্টমাইজড উবুন্টু ডেস্কটপ তৈরি করার জন্য খুব ভাল একটি অ্যাপ্লিকেশন, তবে উবুন্টু সার্ভারের কী হবে?

উত্তর:


61

ডাউনলোড

এই অবস্থান থেকে উবুন্টু সার্ভার আইএসও ডাউনলোড করুন । আপনার কাছে 32-বিট বা 64-বিট যাওয়ার বিকল্প রয়েছে। সার্ভার সংস্করণের জন্য ফাইলের নামটি এর মতো দেখাবে:

ubuntu-13.10-server-i386.iso 
ubuntu-13.10-server-amd64.iso 

আমি নিম্নলিখিত নির্দেশাবলীতে 13.10 64-বিট সংস্করণটি ধরে নেব, সুতরাং আপনার করা ডাউনলোডের সাথে আদেশগুলি সামঞ্জস্য করুন। আপনার ডাউনলোডের একটি অনুলিপি রাখুন যাতে আপনার প্রকল্পের উন্নতি প্রয়োজন হলে আপনি মূল ডাউনলোড থেকে একাধিক নতুন সংস্করণ তৈরি করতে পারেন। আমি ধরে নেব যে আমরা ~/Downloads/আমাদের সমস্ত কাজ করতে ব্যবহার করি ।

প্রাথমিক সেটআপ

এটি আপনার ডাউনলোড ডিরেক্টরিতে 2 ডিরেক্টরি "আইসো" এবং "আইসোইউইউ" তৈরি করবে, আইএসও মাউন্ট করবে এবং একটি নতুন প্রকল্প শুরু করতে "আইসো" থেকে "আইসোএনইউ" তে সামগ্রীগুলি অনুলিপি করবে।

এটি একটি পাঠ্য ফাইলে রাখুন, এটি সংরক্ষণ করুন, সম্পাদনযোগ্য করুন এবং কার্যকর করুন:

# Ubuntu custom server 
# rinzwind askubuntu.com
# topic: http://askubuntu.com/questions/409607/how-to-create-a-customized-ubuntu-server-iso/409651#409651
cd ~/Downloads/    
mkdir -p iso newIso
sudo mount -o loop ./ubuntu-13.10-server-amd64.iso ./iso    
sudo cp -r ./iso/* ./newIso/
sudo cp -r ./iso/.disk/ ./newIso/    
sudo umount ./iso/
cd ~/Downloads/newIso/
  • এটি 1 ত্রুটি বার্তা নিক্ষেপ করবে: mount: block device /discworld/Downloads/ubuntu-13.10-server-amd64.iso is write-protected, mounting read-only

এটির মতো দেখতে চিত্রগুলি উদাহরণ করুন:

নির্বাহ:

নির্বাহ

ফলাফল:

ফলাফল

বুট মেনু বিকল্প যুক্ত করা হচ্ছে

ইনস্টলার জন্য মেনু বিকল্পগুলি সংরক্ষিত হয় isolinux/txt.cfgএবং আপনি নতুন অপশন মধ্যবর্তী তৈরি করতে পারেন default installএবং label install

এটি "কাস্টম উবুন্টু সার্ভার ইনস্টল করুন" নামে একটি নতুন বিকল্প তৈরি করবে এবং এটি একটি কিকস্টার্ট ফাইল যুক্ত করবে (কিকস্টার্ট ফাইলটি বিকল্পগুলি পরিবর্তনের জন্য ব্যবহৃত হয়; নীচে ব্যাখ্যা করা হয়েছে):

label myownoption
  menu label ^Install Custom Ubuntu Server
  kernel /install/vmlinuz
  append  file=/cdrom/preseed/ubuntu-custom.seed initrd=/install/initrd.gz quiet ks=cdrom:/preseed/ks-custom.cfg --
  • myownoption কেবলমাত্র একটি লেবেল যা আপনি নিজের বিকল্পটি সনাক্ত করতে ব্যবহার করতে পারেন।
  • "কাস্টম উবুন্টু সার্ভার ইনস্টল করুন" এমন পাঠ্য যা বুট মেনুতে প্রদর্শিত হবে।
  • আপনি যদি নিজের মেনু বিকল্পটি ডিফল্ট রূপে পরিণত করতে চান তবে আপনার কেবলমাত্র এতে পরিবর্তন করতে default installহবে default myownoption

উদাহরণ:

এখানে চিত্র বর্ণনা লিখুন

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

এখানে চিত্র বর্ণনা লিখুন

কিকস্টার্ট (গ্রাফিকভাবে একটি কনফিগারেশন ফাইল স্থাপন করা হচ্ছে)

অযৌক্তিকর অপারেটিং সিস্টেম ইনস্টলেশন ও কনফিগারেশন স্বয়ংক্রিয়ভাবে সঞ্চালনের জন্য Red Hat Kickstart ইনস্টলেশন পদ্ধতিটি প্রাথমিকভাবে (তবে একচেটিয়াভাবে নয়) ব্যবহৃত হয়।

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

ইনস্টলেশন ও প্রারম্ভিক কিকস্টার্ট:

sudo apt-get install system-config-kickstart
ksconfig

** সতর্কতা **

কিকস্টার্টটি উবুন্টু ১৩.১০-তে বুগ করা হয়েছে এবং এটি শুরু করার পরে এটি ত্রুটি থেকে যায়। এখানে একটি স্থির । মন্তব্যে প্যাচটিকে একটি পাঠ্য ফাইলে রাখুন, এটি সংরক্ষণ করুন (আমি এর নাম দিয়েছি "প্যাচ") এবং এটি প্রতিশ্রুতিবদ্ধ:

এখানে চিত্র বর্ণনা লিখুন

এটি ksconfigকাজ করার পরে এটি একটি কনফিগারেশন এডিটর শুরু করবে যা আপনাকে প্রচুর বিকল্পগুলি পরিচালনা করতে দেয়।

এখানে চিত্র বর্ণনা লিখুন

এখানে চিত্র বর্ণনা লিখুন

দেখুন দ্য Red Hat- র লিনাক্স কাস্টমাইজেশন গাইড: রেড হ্যাট লিনাক্স 7.2 অপশন আপনি সেট করতে পারেন সকলের জন্য একটি বিবরণ জন্য।

আপনার কাজ শেষ হওয়ার পরে, একটি ks.cfgফাইলের পরিবর্তনগুলি সংরক্ষণ করুন এবং এটি যে আইএসওতে আমরা পরিবর্তন করছি তা অনুলিপি করুন:

sudo cp ks.cfg ~/Downloads/newIso/preseed/ks-custom.cfg
  • আপনি যদি এখানে কিছু পরিবর্তন করেন তবে ইনস্টলার এসকেআইপি বৈধ হিসাবে বিবেচিত হলে সেই তথ্য জানতে চাইবে। আপনি যদি কোনও বিকল্প পরিবর্তন না করেন তবে ইনস্টলার আপনাকে উত্তর দেওয়ার জন্য জিজ্ঞাসা করবে।
  • এছাড়াও আপনি Kickstart বিনামূল্যে ডাউনলোড করতে পারেন ফাইল এবং ঐ সংরক্ষণ ks-custom.cfgমধ্যে ~/Downloads/newIso/preseed/

উদাহরণ যেখানে আমি আমার শংসাপত্রগুলি .োকালেন। sudo ksconfigকমান্ডলাইন থেকে এটি শুরু করেছি ।

এখানে চিত্র বর্ণনা লিখুন

এবং এটি প্রকল্পে সংরক্ষণ করা:

এখানে চিত্র বর্ণনা লিখুন

প্রিসিডিং (ম্যানুয়ালি একটি কনফিগারেশন ফাইল সেটআপ করা)

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

সাধারণ ইনস্টলের জন্য প্রিসিডটি আপনার নিজের লেবেলে অনুলিপি করুন:

sudo cp newIso/preseed/ubuntu-server.seed newIso/preseed/ubuntu-myownoption.seed
  • myownoptionআপনি যা ব্যবহার করেছেন তা পরিবর্তন করুন ।

এখন সেটিংস পরিবর্তন করার জন্য। আপনি ব্যবহার debconf-get-selectionsকরে debconf-utilsআপনি নির্দিষ্ট সফ্টওয়্যার দিয়ে কোন পরামিতি ব্যবহার করতে পারবেন তা তদন্ত করতে পারবেন।

এটি স্থাপনের উদাহরণ:

এখানে চিত্র বর্ণনা লিখুন

এবং টাস্কसेल সহ ইনস্টল করার জন্য ল্যাম্প-সার্ভার যুক্ত করা হচ্ছে:

এখানে চিত্র বর্ণনা লিখুন

  • আপনি যদি "ওপেনশ" এবং "বিল্ড-আবশ্যক" প্যাকেজগুলি যুক্ত করতে চান তবে আপনি এটি বীজ ফাইলটিতে অন্তর্ভুক্ত করতে পারেন:

    d-i pkgsel/include string openssh-server build-essential
    
  • ওপেনশের জন্য একটি উদাহরণ:

    debconf-get-selections | grep openssh
    openssh-server  ssh/vulnerable_host_keys    note
    openssh-server  ssh/use_old_init_script boolean true
    openssh-server  ssh/encrypted_host_key_but_no_keygen    note
    openssh-server  ssh/disable_cr_auth boolean false
    
  • আপনি এই বিকল্পগুলি যুক্ত করতে পারেন custom-iso/preseed/ubuntu-myownoption.seed

  • ডাবকনফ সেটিংস ব্যবহার করে ব্যাখ্যা / উদাহরণ
  • একটি উদাহরণ পূর্ববর্তী ফাইল se
  • সম্পর্কিত উদাহরণগুলি : স্থানীয়করণ, নেটওয়ার্ক কনফিগারেশন, নেটওয়ার্ক কনসোল, ঘড়ি এবং সময়, বিভাজন
  • পূর্ববর্তী ফাইলের শেষে আপনি প্যাকেজগুলি (এলোমেলো উদাহরণ) যুক্ত করতে পারেন:

    % প্যাকেজগুলি openssh-server mysql-server apache2

অফলাইন ইনস্টলেশন

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

আপনার প্রয়োজনীয় সমস্ত ডিইবি প্যাকেজ ডাউনলোড করুন এবং এগুলিতে সংরক্ষণ করুন ~/Downloads/। নতুন আইএসওতে এই 2 ডিরেক্টরিগুলির প্রয়োজন:

mkdir -p ~/Downloads/newIso/dists/stable/extras/binary-i386
mkdir -p ~/Downloads/newIso/pool/extras/
sudo cp ~/Downloads/*.deb newIso/pool/extras/

এবং এটি নতুন প্যাকেজগুলির সাথে আমাদের প্রকল্প আপডেট করবে:

cd ~/Downloads/newIso
sudo apt-ftparchive packages ./pool/extras/ > dists/stable/extras/binary-i386/Packages
sudo gzip -c ./dists/stable/extras/binary-i386/Packages | tee ./dists/stable/extras/binary-i386/Packages.gz > /dev/null
cd ~/Downloads/

আইএসও তৈরি করুন

cd ~/Downloads/     
sudo md5sum `find ! -name “md5sum.txt” ! -path “./isolinux/*” -follow -type f` > md5sum.txt
sudo mkisofs -J -l -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -z -iso-level 4 -c isolinux/isolinux.cat -o ./ubuntu-13.10-myowninstall-amd64.iso -joliet-long newIso/
  • ২ য় লাইনটি একটি নতুন চেকসাম তৈরি করে এবং প্যাকেজ যুক্ত করার সময় কেবল এটির প্রয়োজন হয়।
  • 3 য় আপনার প্রকল্প থেকে একটি আইএসও তৈরি করে যা আপনি ডিভিডিতে জ্বলতে পারেন।

ফলাফল:

এখানে চিত্র বর্ণনা লিখুন

এবং এখন আপনি এটি ব্যবহার করে বাস্তবে জ্বালিয়ে ও ইনস্টল করে দেখতে পারেন। আমি ভার্চুয়াল মেশিন হিসাবে ব্যবহার করার পরামর্শ দেব কারণ এটি প্রাথমিকভাবে তৈরি করা আইএসও পরীক্ষার জন্য দ্রুত হবে (অন্যথায় আপনি পুনরায় চালিয়ে যান)।

এবং ভার্চুয়ালবক্স ইনস্টল করার পরে আমি নিম্নলিখিত মেনুটি পেয়েছি:

এখানে চিত্র বর্ণনা লিখুন

বাগ শিকার

ইনস্টল করার সময় 1 টি সমস্যায় পড়ে: ডিফল্টটি নির্বাচন করা হয়নি।

Shadin। মন্তব্যে আপনার বীজ ফাইল থেকে

### Package Selection
tasksel tasksel/first multiselect Custom-Ubuntu-Server
d-i pkgsel/include string openssh-server build-essential
%packages openssh-server postgresql-9.1 postgresql-client-9.1 postgresql-contrib-9.1 libpq-dev postgresql-server-dev-9.1 pgadmin3

সম্ভবত এটির মতো হওয়া দরকার:

### Package Selection
tasksel tasksel/first multiselect lamp-server
d-i pkgsel/include string openssh-server build-essential postgresql-9.1 postgresql-client-9.1 postgresql-contrib-9.1 libpq-dev postgresql-server-dev-9.1 pgadmin3

আপনার টাস্কসেল লাইনটি খনন করুন কোনও ল্যাম্প সার্ভারটি চান না (উদাঃ অ্যাপাচি, মাইএসকিএল, পিএইচপি)


এটি কি ডেস্কটপগুলির সংস্করণগুলির জন্য ব্যবহার করা যেতে পারে?
ব্রায়াম

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

হ্যা, আমি করেছিলাম. আপনি আমার বীজ ফাইলটি একবার দেখে নিলে আমি পছন্দ করি [ megafileupload.com/en/file/493602/… আমি ফাইলটির শেষে প্যাকেজগুলি কীভাবে যুক্ত করেছি সে সম্পর্কে আমি নিশ্চিত নই
শালীন

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

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