Monday, May 1, 2017

dd கட்டளையும் - பென்டிரைவை format செய்தலும்

லினக்ஸ் ISO கோப்புகளை bootable ஆக மாற்றுவதற்கு dd கட்டளை பயன்படுகிறது. CD/DVD-யில் இயங்குதளங்களை எழுதி அவைகளைக்கொண்டு கணினியில் இயங்குதளங்களை நிறுவுவது பழைய உத்தி. இன்றைக்கு இருக்கக்கூடிய பெரும்பாலான இயங்குதளங்களும் சரி, கணினிகளும் சரி பென்டிரைவில் இருந்து இயங்குதளங்களை நிறுவுவதற்கு ஒத்துழைக்கிறது.

மிக எளிதாக இன்றைக்கு கணினியில் இயங்குதளங்களை நிறுவிவிடலாம். ஒருகாலத்தில் கணினியில் இயங்குதளம் நிறுவுவது விண்ணில் ராக்கெட் விடுவதைப் போல இருந்தது.

இயங்குதளத்தின் ISO கோப்பு, ஒரு பென்டிரைவ், ISO கோப்பை பென்டிரைவில் bootable ஆக மாற்றுவதற்கு ஒரு மென்பொருள் இவை மூன்றும் இருந்தால் போதும் நிறுவத்தக்க வகையிலான பென்டிரைவை தயார் செய்துவிடலாம். அந்தவகையில் லினக்ஸ் இயங்குதளங்களில் ISO கோப்புகளை பென்டிரைவில் bootable ஆக மாற்றுவதற்கு பயன்படும் கட்டளைதான் dd. dd கட்டளை அதற்கு மட்டும்  பயன்படுவதில்லை. அதன் பயன்பாடு பலவகைகளில் இருக்கிறது அதில் bootable ஆக மாற்றுவதும் ஒன்று.

சரி விஷயத்திற்கு வருவோம். dd கட்டளையைக் கொண்டு பென்டிரைவை bootable ஆக மாற்றுவது எப்படி? என்பதைப் பற்றி இங்கு ஏற்கனவே எழுதியுள்ளேன். அவ்வாறு bootable ஆக மாற்றிய பிறகு அந்த பென்டிரைவைக் கொண்டு இயங்குதளத்தை நிறுவிக்கொள்ளலாம். ஆனால் எந்த தகவலையும் அந்த பென்டிரைவில் பதிய முடியாது அதில் இருப்பதை நீக்கவும் முடியாது. ஏன் என்றால் dd கட்டளையானது ISO கோப்பின் அளவிற்கு ஏற்ப பென்டிரைவை பார்ட்டிசியன் செய்துவிடும். மீதமிருக்கும் இடங்களை பார்ட்டிசியன் பிரிக்காமல் free space ஆக வைத்துவிடும்.

உதாரணமாக, உபுண்டு 16.04.2 LTS ISO கோப்பினை dd கட்டளைக் கொண்டு 8GB அளவுள்ள பென்டிரைவில் bootable ஆக மாற்றுகிறோம் என்றால். உபுண்டுவின் 16.04.2 LTS ISO கோப்பின் அளவு 1.4GB. 8GB யில் 1.4GB க்கு உபுண்டு 16.04.2 ISO கோப்பை எழுதிவிட்டு மீதமிருக்கும் இடங்களை free space ஆக விட்டுவிடும். நம்மால் 1.4GB அளவுள்ள இடத்தை format செய்து பயன்படுத்திக்கொள்ள முடியும் ஆனால் மீதமிருக்கும் இடங்களை பயன்படுத்த முடியாது. இந்த பிரச்சனையை தீர்ப்பது எப்படி என்றுதான் இந்த பதிவில் பார்க்கப்போகிறோம்.

சுருக்கமாக சொல்லவேண்டுமானால் dd கட்டளையைப் பயன்படுத்திய பிறகு pendrive-வை partition மற்றும் format செய்வது எப்படி என்று பார்க்கப்போகிறோம்.

லினக்ஸில் பார்ட்டிசியன்களை கையாள்வதற்கு fdisk கட்டளைப் பயன்படுத்தப்படுகிறது. fdisk கட்டளையை கவனமாக கையாள வேண்டும். இதில் சொல்லியிருக்கும் வழிமுறைகள் புதியவர்களுக்கு புரிந்துகொள்ள கொஞ்சம் சிரமாக இருக்கலாம். பென்டிரைவை கணினியில் சொருகிவிட்டு lsblk கட்டளையை இயக்கினால் பென்டிரைவின் partition number ஐ தெரிந்து கொள்ளலாம். கணிணியில் இருக்கும் hard disk -ஐ /dev/sda என்று லினக்ஸ் அடையளப்படுத்தியிருக்கும். வேறு எந்த storage device -உம் இணைக்கப்படாதபட்சத்தில், பென்டிரைவ் /dev/sdb என அடையளப்படுத்தப்படும். இது ஒரு உத்தேசமான கணிப்புதான். உறுதிப்படுத்திக்கொள்ள lsblk கட்டளையை இயக்கினால் தெரிந்து கொள்ளலாம்.

fdisk கட்டளையை இயக்குவதற்கு முன்பு bootable pendrive -இல் திறந்திருக்கும் partition களை unmount செய்யவேண்டும். Partition களை unmount செய்வதற்கு umount கட்டளை பயன்படுகிறது. கீழே உள்ள படத்தைப் பார்க்கவும்.



பென்டிரைவ் /dev/sdb என அடையாளப்படுத்தப்பட்டிருக்கும் பட்சத்தில் fdisk கட்டளை கீழ்கண்டவாறு இருக்கும்

sudo fdisk /dev/sdb

fdisk கட்டளையின் உள்ளீட்டு விபரங்கள்

p - பார்ட்டிசியன் விபரங்களை பட்டியலிடுதல்(print)
d - பார்ட்டிசியனை நீக்குதல்(delete)
n - பார்ட்டிசியனை உருவாக்குதல்(new)
w - பார்ட்டிசியன் தொடர்பான மாற்றங்களை எழுதுதல்(write)
q - வெளியேறுவதற்கு

'w'  இயக்காதவரையில் நாம் fdisk மூலமாக செய்த மாற்றங்கள் disk -இல் எழுதப்படாது. ஏதாவது தவறுதலாக செய்திருந்தால் வெளியேறிவிடலாம் எந்த பிரச்சனையுமில்லை. 'w' இயக்கிவிட்டால் மாற்றங்களை திரும்ப பெற முடியாது.





பென்டிரைவில் பார்ட்டிசியனை உருவாக்கியபிறகு அதை FAT32 கோப்பு முறைமையில் format செய்ய இந்த கட்டளையை இயக்கவும் sudo mkfs.vfat -n "KATHIRVEL" /dev/sdb1


format செய்த பின்பு முழுஅளவுடன் பென்டிரைவ்