ওয়ার্কিং উবুন্টু ১.0.০৪ থেকে আমি ইনস্টলেশন-পরবর্তী রুট পার্টিশন এনক্রিপশনে সাফল্য পেয়েছি, যার মধ্যে মূল পার্টিশন / বুট ব্যতীত সমস্ত কিছুই রয়েছে। আমি পৃথক অপসারণযোগ্য ইউএসবিতে / বুট রাখি। উল্লেখযোগ্যভাবে আমি এটি উবুন্টু 18-তে আপগ্রেড করার আগে করেছি এবং আপগ্রেড এনক্রিপ্টড ডিস্ক সংস্করণে ভাল কাজ করেছে।
এনক্রিপশনটি "জায়গায়" করা হয়নি, যা আমার পক্ষে ঠিক ছিল কারণ নতুন সেটআপটি কাজ না করা পর্যন্ত আমি ওয়ার্কিং সংস্করণটি ওভাররাইট করতে চাইনি।
সঠিক পদ্ধতিটি সম্পাদন করা অত্যন্ত সহজ এবং দ্রুত। (যদিও সঠিক পদ্ধতিটি নির্ণয় করা অত্যন্ত সময় সাশ্রয়ী কারণ আমি কিছু ভুল লিড অনুসরণ করেছি followed)
রুপরেখা
- একটি লাইভ লিনাক্স ইউএসবি ডিস্ক তৈরি করুন - অধ্যবসায় সক্ষম করা সুবিধাজনক। সেই লাইভ ইউএসবি ডিস্কে বুট করুন।
- খালি পার্টিশনে লুকস এনক্রিপ্ট করা ভলিউম গ্রুপ তৈরি করুন। (আমার ক্ষেত্রে এটি মূল লিনাক্সের মতো একই ডিস্কে ছিল তবে এটি অন্য ডিস্ক হতে পারে)) এনক্রিপ্ট করা পার্টিশনে লজিক্যাল ভলিউম তৈরি / (রুট) করুন এবং পরিবর্তন করুন। এটি অনুলিপি করা লিনাক্স সম্পর্কিত যতক্ষণ ভার্চুয়াল পার্টিশন হিসাবে কাজ করবে।
- পুরানো রুট থেকে নতুন রুটে ফাইলগুলি অনুলিপি করুন।
- অপসারণযোগ্য বুট ডিস্ক হিসাবে কাজ করতে আরেকটি ইউএসবি সেটআপ এবং বিভাজন করুন।
- নতুন রুটে কিছু ফাইল সেট আপ করুন, কিছু যাদু করুন এবং নতুন রুটে ক্রুট করুন এবং তারপরে ক্রুট নতুন নতুন পরিবেশ থেকে বুট ডিস্কের উপর গ্রাব ইনস্টল করুন।
বিশদ বিবরণ
1 - একটি লাইভ লিনাক্স ইউএসবি ডিস্ক সহ বুট করুন - অধ্যবসায় সক্ষম করা সুবিধাজনক।
আনটবুটিন সহ ইউএসবিতে উবুন্টু 16 ইনস্টল করা হয়েছে। জিইউআই "দৃistence়তা" নির্দিষ্ট করার অনুমতি দেয়, তবে দৃ to়তার সাথে কাজ করার জন্য আরও একটি পদক্ষেপ প্রয়োজন - নিম্নলিখিত হিসাবে /boot/grub/grub.cfg
যুক্ত করতে সংশোধন করুন --- persistent
:
menuentry "Try Ubuntu without installing" {
set gfxpayload=keep
linux /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash --- persistent
initrd /casper/initrd
}
লাইভ ইউএসবি দিয়ে বুট করুন
2- একটি খালি পার্টিশনে একটি লুক্স এনক্রিপ্ট করা ভলিউম গ্রুপ তৈরি করুন। এনক্রিপ্ট করা পার্টিশনে লজিক্যাল ভলিউম তৈরি / (রুট) এবং অদলবদল করুন।
অনুমান করুন অব্যবহৃত পার্টিশনটি এনক্রিপ্ট করা হবে /dev/nvme0n1p4
।
Allyচ্ছিকভাবে , এনক্রিপশন এবং ফর্ম্যাট করার আগে আপনার যে পার্টিশনটি লুকাতে চান তার যদি পুরানো ডেটা থাকে তবে আপনি এলোমেলোভাবে পার্টিশনটি মুছতে পারেন। এখানে আলোচনা দেখুন ।
dd if=/dev/urandom of=/dev/nvme0n1p4 bs=4096 status=progress
এনক্রিপশন সেট আপ করুন।
cryptsetup -y -v luksFormat /dev/nvme0n1p4
আপনাকে একটি পাসওয়ার্ড সেট করতে বলা হবে।
cryptsetup luksOpen /dev/nvme0n1p4 crypt1
আপনাকে পাসওয়ার্ড লিখতে বলা হবে। নোট করুন যে crypt1
একটি নির্বিচার ব্যবহারকারী সিদ্ধান্ত নেওয়া নাম। এখন ভলিউম এবং ফর্ম্যাট তৈরি করুন।
pvcreate /dev/mapper/crypt1
vgcreate crypt1-vg /dev/mapper/crypt1
lvcreate -L 8G crypt1-vg -n swap
mkswap /dev/crypt1-vg/swap
lvcreate -l 100%FREE crypt1-vg -n root
mkfs.ext4 /dev/crypt1-vg/root
ভলিউমগুলি দেখতে এবং শ্রেণিবিন্যাস বুঝতে এই ইউটিলিটিগুলি ব্যবহার করুন।
pvscan
vgscan
lvscan
ls -l /dev/mapper
ls -l /dev/crypt1
3- পুরানো রুট থেকে নতুন রুটে ফাইলগুলি অনুলিপি করুন
mkdir /tmp/old-root
mount /dev/ubuntu-vg/root /tmp/old-root/
mkdir /tmp/new-root
mount /dev/crypt1-vg/root /tmp/new-root/
cp -a /tmp/old-root/. /tmp/new-root/
umount /tmp/old-root
umount /tmp/new-root
cp -a ...
সমস্ত ফাইল মোড এবং পতাকা সংরক্ষণ করে সংরক্ষণাগার মোডে অনুলিপিগুলি।
4- অপসারণযোগ্য বুট ডিস্ক হিসাবে কাজ করতে আরেকটি ইউএসবি সেটআপ এবং বিভাজন করুন।
আমি এর জন্য জিপিআর্ট ব্যবহার করেছি। দুটি পার্টিশন সেট আপ করুন। প্রথম বিভাজন vfat
, দ্বিতীয় ext2
। প্রতিটি ছিল 512 এমবি, আপনি কম নিয়ে পালাতে পারেন। ডিভাইস ধরে নিন /dev/sdf
।
# The first partition: (will be /dev/sdf1)
Free space preceding (leave default value)
New size 512 MiB
Free space following (leave default value)
Create as: Primary Partition
Partition Name: (leave)
File System: fat32
Label: (leave)
# The second partition: (will be /dev/sdf2)
Free space preceding (leave default value)
New size 512 MiB
Free space following (leave default value)
Create as: Primary Partition
Partition Name: (leave)
File System: ext4
Label: (leave)
5- নতুন রুটে কিছু ফাইল সেট আপ করুন, কিছু যাদু করুন এবং নতুন রুটে ক্রুট করুন এবং তারপরে ক্রুট নতুন নতুন পরিবেশ থেকে বুট ডিস্কের উপর গ্রাব ইনস্টল করুন।
পরে ব্যবহারের জন্য কিছু ইউআইডি-র সন্ধান করুন। নিম্নলিখিত আদেশগুলি থেকে আউটপুট নোট করুন:
blkid /dev/sdf1
blkid /dev/sdf2
blkid /dev/nvme0n1p4
রুট পার্টিশন এবং বুট পার্টিশন মাউন্ট করুন
sudo mount /dev/mapper/crypt1--vg-root /mnt
sudo mount /dev/sdf2 /mnt/boot
sudo mount /dev/sdf1 /mnt/boot/efi
ফাইল সেটআপ করুন /mnt/etc/fstab
/dev/mapper/crypt1--vg-root / ext4 errors=remount-ro 0 1
/dev/mapper/crypt1--vg-swap none swap sw 0 0
UUID=[uuid of /dev/sdf2] /boot ext2 defaults 0 2
UUID=[uuid of /dev/sdf1] /boot/efi vfat umask=0077 0 1
যেখানে "[uuid of ...]" হ'ল একটি বর্ণ-সংখ্যা-হাইফেন সংমিশ্রণ।
ফাইল তৈরি করুন /mnt/etc/cryptab
# <target name> <source device> <key file> <options>
crypt1 UUID=[uuid of /dev/nvme0n1p4] none luks,discard,lvm=crypt1--vg-root
মূল ডিরেক্টরি পরিবেশে প্রবেশের জন্য কিছু জাদু প্রয়োজন:
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
chroot /mnt
এখন এটি দিয়ে বুট ইউএসবি ডিস্ক সেটআপ করুন grub
:
apt install --reinstall grub-efi-amd64
grub-install --efi-directory=/boot/efi --boot-directory=/boot --removable
update-initramfs -k all -c
update-grub
এখন আপনার নতুন তৈরি ইউএসবি বুট ডিস্কটি ব্যবহার করে রিবুট এবং বুটআপ করতে সক্ষম হওয়া উচিত।
Toubleshooting-
(ক)apt install --reinstall grub-efi-amd64
কমান্ডের জন্য অবশ্যই নেটওয়ার্কটি সংযুক্ত থাকতে হবে । যদি নেটওয়ার্কটি সংযুক্ত থাকে তবে ডিএনএস ব্যর্থ হয় তবে চেষ্টা করুন
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null
(খ) কল করার আগে initramfs
, vmlinuz...
মূল লিনাক্সে ব্যবহৃত বর্তমান ফাইলটি অবশ্যই নতুন মূল ডিরেক্টরিতে উপস্থিত থাকতে হবে। যদি তা না হয় তবে এটি সন্ধান করুন এবং এটি সেখানে রাখুন।
(গ)grub-install
কমান্ড ডিফল্ট সার্চ করে অন্যান্য সব লিনাক্স ডিস্ক এটা এমনকি যদি তারা নেই জানতে পারেন হবে mount
ed ও boot মেনুতে নতুন বুট ইউএসবি বসিয়ে দেই। সাধারণত এটি পছন্দসই নয়, সুতরাং এই লাইনটি যুক্ত করে এড়ানো যায় /boot/default/grub.cfg
:
GRUB_DISABLE_OS_PROBER=true
দ্রষ্টব্য:
এনক্রিপশন কী সহ একটি পাঠ্য ফাইল অপসারণযোগ্য বুট ইউএসবিতে যুক্ত করা যেতে পারে।