Linux Bangla-লিনাক্স বাংলা

Linux Bangla

লিনাক্স আর্কিটেকচার এবং ভার্সন খুঁজবেন কিভাবে?

===============================

আপনার লিনাক্স এর ভার্সন ও আর্কিটেকচার খোজার জন্য, আপনি নিম্নলিখিত সহজ কমান্ড ব্যবহার করতে পারেন:

1. লিনাক্স আর্কিটেকচার এবং ভার্সন দেখার জন্য কমান্ড:

[root@linux]# echo "I am running: `cat /etc/redhat-release` (`arch`)"

I am running: CentOS release 6.4 (Final) (x86_64)

2. লিনাক্স ভার্সন খোজার জন্য: /etc/issue কমান্ড

[root@linux]# cat /etc/issue

CentOS release 6.4 (Final)

3. লিনাক্স ভার্সন খোজার জন্য /etc/redhat-release কমান্ড:

[root@linux]# cat /etc/redhat-release

CentOS release 6.4 (Final)

4. লিনাক্স আর্কিটেকচার দেখার জন্য arch কমান্ড:

[root@linux]# arch

x86_64

5. লিনাক্স কার্নেল ভার্সন দেখার জন্য

[root@linux]# uname -r

2.6.32-279.el6.x86_64

Linux System Hardware Information

# sudo lshw

# sudo lshw -short

Linux CPU Information

# lscpu

PCI Devices Information

# lspci

Information about Hardware Components

# sudo dmidecode -t memory

RHEL/CentOS 7 Hostname Related Command [হোস্টনাম সম্পর্কিত কমান্ড]

আজকে আমরা দেখব কিভাবে RHEL/CentOS 7 'hostname' 'কমান্ড ব্যবহার করে হোস্টনেম রিলেটেড বিভিন্ন ইনফরমেশন পাওয়া যায় এবং নতুন হোস্ট নাম সেট করা যায়। RHEL/CentOS 7 -এ সাধারণত ৩ ধরনের হোস্টনেম হয়ে থাকে:

1) Static/Pemanent hostname: desktop or desktop0.example.com

2) Transient/Temporay hostname: DHCP সার্ভার এর মাধ্যমে সেট হয়।

3) Pretty hostname: Ikbal's computer (এটা একটা সুন্দর নাম দেয়া।)

 

লিনাক্স এ সাধারণত ডিফল্ট হোস্টনেম থাকে 'localhost.localdomain' এবং হোস্টনেম কনফিগারেশন ফাইল থাকে '/etc/hostname' ফাইল এর আন্ডার -এ। আমরা এটাকে পরিবর্তন করা যায়।

 

➡ 01. বর্তমান হোস্টনেম দেখার জন্য নিচের কমান্ড: 

[root@localhost ~]# hostname

  localhost.localdomain

 এখানে ডিফল্ট হোস্টনেম 'localhost.localdomain'

 

➡ 02. অস্থায়ী ভাবে (Temporary) হোস্টনেম সেট করার কমান্ড হলো:

[root@localhost ~]# hostname desktop0.example.com

[root@localhost ~]# bash

[root@desktop0 ~]# cat /etc/hostname

 localhost.localdomain

উপরের কমান্ড গুলো ব্যবহার করলে অস্থায়ী ভাবে (Temporary) হোস্টনেম চেঞ্জ হবে কিন্তু '/etc/hostname' ফাইলের ভিতর অর্থাৎ স্থায়ী (Permanent) ভাবে হবে না।

 

➡ 03. System স্ট্যাটিক হোস্টনেম, অস্থায়ী (Temporary) হোস্টনেম মেশিন টাইপ, মেশিন ID, অপারেটিং সিস্টেম এর নাম, অপারেটিং সিস্টেম ভার্সন, Virtualiation Type, কার্নেল ভার্সন, আর্কিটেকচার ইত্যাদি জানার জন্য নিচের কমান্ড:

[root@localhost ~]# hostnamectl

Static hostname: desktop0.cslcbt.com

Transient hostname: server0.example.com

Icon name: computer-vm

Chassis: vm

Machine ID: 3e4d988543e74b5085153dc9262057ab

Boot ID: b8d4f4d9fdbb47ba98785c55f8cba491

Virtualization: vmware

Operating System: CentOS Linux 7 (Core)

CPE OS Name: cpe:/o:centos:centos:7

Kernel: Linux 3.10.0-229.el7.x86_64

Architecture: x86-64

 

➡ 04. স্থায়ী ভাবে (Parmanent) হোস্টনেম সেট করার কমান্ড হলো:

[root@localhost ~]# hostnamectl set-hostname desktop0.example.com

[root@localhost ~]# bash

[root@desktop0 ~]# cat /etc/hostname

 desktop0.example.com

 

➡ 05. RHEL/CentOS 7 -এ Preety হোস্টনেম (special name) সেট করার কমান্ড হলো:

[root@des... ~]# hostnamectl set-hostname "Linux Server" --pretty

[root@des... ~]# hostnamectl

   Static hostname: desktop0.cslcbt.com

   Pretty hostname: Linux Server

 

➡ 06. নিচের কমান্ডের মাধ্যমে আপনি সিস্টেম এর FQDN  (desktop0.example.com) DNS থেকে resolv হয় কিনা জানতে পারবেন:

[root@desktop0 ~]# hostname -f

 

➡ 07. নিচের কমান্ডের মাধ্যমে আপনি সিস্টেম এর node name/hostname জানতে পারবেন:

[root@desktop0 ~]# uname -n

 desktop0.example.com

 

➡ 08. নিচের কমান্ডের মাধ্যমে আপনি সিস্টেম লোকাল রিসলভার (/etc/hosts) ফাইল -এ কি কি এন্ট্রি দেয়া আছে সেটা জানতে পারেবন:

[root@desktop0 ~]# getent hosts

127.0.0.1      localhost localhost.localdomain    localhost4

127.0.0.1      localhost localhost.localdomain    localhost6

172.25.11.1    gateway.cslcbt.com                gateway

 

➡ 09. হোস্টনেম সম্পর্কিত সার্ভিস রিস্টার্ট (restart) দিতে চাইলে নিচের কমান্ড:

[root@desktop0 ~]# systemctl restart systemd-hostnamed.service

 

➡ 10. রিমোট মেশিন/সার্ভার এর হোস্টনেম 'ssh' কমান্ডের মাধ্যমে জানতে চাইলে নিচের কমান্ড:

[root@desktop0 ~]# ssh root@server-IP hostnamectl

 

---রেড হ্যাট লিনাক্স : Vi Editor -----

লিনাক্সে বিভিন্ন ধরণের টেক্সট এডিটর আছে। যেমনঃ Joe, Emacs, Pico, vi/vim, gedit ইত্যাদি। vi হলো ইউনিক্স বা লিনাক্স সিস্টেমের স্ট্যান্ডার্ড এডিটর। এবং vi এর ইমপ্রুভ্ড ভার্সণ হলো vim। এই টিউটোরিয়ালে আমরা vi এডিটরের কিছু কাজ শিখবো।

vi এডিটরের সাহায্যে কোন ফাইল ওপেন করার জন্য

vi এডিটরের তিনটি মুড রয়েছে। এগুলো হলোঃ

১। কমান্ড মুড এই মুডে কার্সর মুভমেন্ট, কার্সর ও স্ক্রীন রিপজিশনিং, টেক্সট সার্চ ইত্যাদি কাজ করা যায়।

২। ইনসার্ট মুড এই মুডে ফাইলে কোন টেক্সট এন্ট্রি করা যায়।

৩। এক্স মুড ফাইল সেভ করার জন্য বা ফাইল থেকে বের হোয়ার জন্য এই মুড ব্যবহৃত হয়।

কমান্ড মুডঃ

কার্সর মুভমেন্ট

h  কার্সর বামে যাবে

l  কার্সর ডানে যাবে

j  কার্সর নিচে যাবে

k  কার্সর উপরে যাবে

b  কার্সর এক শব্দ পিছনে যাবে

w  কার্সর এক শব্দ আগে যাবে

(  কার্সর এক বাক্য পিছনে যাবে

)  কার্সর এক বাক্য আগে যাবে

{  কার্সর এক প্যারা পিছনে যাবে

}  কার্সর এক প্যারা আগে যাবে

gg  কার্সর প্রথম লাইনে যাবে

10gg  কার্সর দশম লাইনে যাবে (নির্দিষ্ট লাইনের জন্য নির্দিষ্ট নম্বর ব্যবহার করা যাবে।)

Shift + g  কার্সর সবার নিচের লাইনে যাবে

টেক্সট সার্চ

/text text শব্দটি নিচের দিকে খুঁজবে

?text text শব্দটি উপরের দিকে খুঁজবে

n শব্দটি নিচের নিচের দিকে যত জায়গায় আছে তা একের পর এক দেখাবে।

N শব্দটি উপরের দিকে যত জায়গায় আছে তা একের পর এক দেখাবে।

টেক্সট কপি, পেষ্ট ও ডিলিট করা

কোন লাইন কপি করার পর পেষ্ট করার সময়ঃ

কোন লাইনের নিচে পেষ্ট করতে হলেঃ p

কোন লাইনের উপরে পেষ্ট করতে হলেঃ Shift + p

ইনসার্ট মুডঃ

i কার্সরের পিছন থেকে টেক্সট লেখার জন্য

a কার্সরের সামনে থেকে টেক্সট লেখার জন্য

I কোন লাইনের প্রথম থেকে টেক্সট লেখার জন্য

A কোন লাইনের শেষ থেকে টেক্সট লেখার জন্য

o কোন লাইনের নিচের লাইনে টেক্সট লেখার জন্য

O কোন লাইনের উপরের লাইনে টেক্সট লেখার জন্য

এক্স মুডঃ

ইনসার্ট মুড থেকে এক্স মুড এ আসার জন্য কী-বোর্ডের ESC বাটন প্রেস করতে হয়।

:w ফাইলে কিছু লিখে তা সেভ করার জন্য

:q ফাইলটি সেভ না করে বের হওয়ার জন্য

:wq ফাইলটি সেভ করে বের হওয়ার জন্য

:w! ফাইলে কিছু লিখে তা সেভ করার জন্য (ফোর্সলি)

:q! ফাইলটি সেভ না করে বের হওয়ার জন্য (ফোর্সলি)

:wq! ফাইলটি সেভ করে বের হওয়ার জন্য (ফোর্সলি)

এক্স মুড এ আরো কিছু কাজ

:set nu ফাইলে লাইন নাম্বার দেখানোর জন্য

:set nonu ফাইলে লাইন নাম্বার লুকানোর জন্য

====== Linux Password Related command ==========

আজকে আমরা শিখব লিনাক্স এর পাসওয়ার্ড রিলেটেড কিছু কমান্ড যে কমান্ড গুলো কোনো ইউজার এর পাসওয়ার্ড set/reset/remove/lock/unlock/aging time set করতে লাগে।

01. প্রথমে Root ইউজার এর পাসওয়ার্ড সেট বা রিসেট করতে নিচের কমান্ড:

[root@serverX ~]# passwd

New Password: ******

Retype New Password: ******

02. Root ইউজার কতৃক অন্য রেগুলার ইউজার এর পাসওয়ার্ড ইউজার এর পাসওয়ার্ড সেট বা রিসেট করতে নিচের কমান্ড:

[root@serverX ~]# passwd [user name]

[root@serverX ~]# passwd student

New Password: ******

Retype New Password: ******

03. যেকোনো ইউজার এর পাসওয়ার্ড রিলেটেড ইনফরমেশন (যেমন, পাসওয়ার্ড দেওয়া আছে কিনা, সর্বশেষ পাসওয়ার্ড পরিবর্তন তারিখ, সর্বোচ্চ/সর্বনিন্ম পাসওয়ার্ড মেয়াদ এবং পাসওয়ার্ড এর এনক্রিপশন (SHA/MD5) মেথড) জানতে চাইলে নিচের কমান্ড:

[root@serverX ~]# passwd -S [user name]

[root@serverX ~]# passwd -S root

[root@serverX ~]# passwd -s student

04. কোনো ইউজার এর পাসওয়ার্ড ডিলিট অথবা পাসওয়ার্ড ছাড়া লগইন পারমিট দিতে চাইলে নিচের কমান্ড:

[root@serverX ~]# passwd -d [user name]

[root@serverX ~]# passwd -d student

[root@serverX ~]# passwd -d root

05. কোনো ইউজার এর পাসওয়ার্ড পরিবর্তন করাতে বাধ্য করার জন্য নিচের কমান্ড:

[root@serverX ~]# passwd -e [user name]

[root@serverX ~]# passwd -e student

#‎নোট: অর্থাৎ স্টুডেন্ট ইউজার পরবর্তিতে লগইন করতে গেলে অবশ্যয় পাসওয়ার্ড পরিবর্তন করতে হবে ।

06. কোনো ইউজার এর পাসওয়ার্ড লক (lock) করতে চাইলে নিচের কমান্ড:

[root@serverX ~]# passwd -l [user name]

[root@serverX ~]# passwd -l student

07. কোনো ইউজার এর পাসওয়ার্ড একটিভ আনলক (un-lock) করতে চাইলে নিচের কমান্ড:

[root@serverX ~]# passwd -u [user name]

[root@serverX ~]# passwd -u student

08. কোনো ইউজার এর পাসওয়ার্ড এর সর্বনিন্ম মেয়াদ সেট করতে চাইলে নিচের কমান্ড:

[root@serverX ~]# passwd -n 3 [user name]

[root@serverX ~]# passwd -n 3 student

#নোট: অর্থাৎ স্টুডেন্ট ইউজার তিন দিনের আগে তার পাসওয়ার্ড পরিবর্তন করতে পারবে না।

09. কোনো ইউজার এর পাসওয়ার্ড এর সর্বোচ্চ মেয়াদ সেট করতে চাইলে নিচের কমান্ড:

[root@serverX ~]# passwd -x 30 [user name]

[root@serverX ~]# passwd -x 30 student

#নোট: অর্থাৎ স্টুডেন্ট ইউজার তার বর্তমান পাসওয়ার্ড টি সর্বোচ্চ ৩০ দিন ব্যবহার করতে পারবে।

10. কোনো ইউজার এর পাসওয়ার্ড পরিবর্তন এর সতর্ক বার্তা (warning period) সেট করতে চাইলে নিচের কমান্ড:

[root@serverX ~]# passwd -w 5 [user name]

[root@serverX ~]# passwd -x 5 student

#নোট: অর্থাৎ স্টুডেন্ট ইউজার তার বর্তমান পাসওয়ার্ড এর মেয়াদ শেষ হওয়ার ৫ দিন আগে সতর্ক বার্তা পাবে

========= Linux cat command for beginners =========

আজকে আমরা লিনাক্স -এ বহুল ব্যবহৃত 'cat' কমান্ড নিয়ে আলাপ করবো। 'cat' একটি বেসিক লেবেল এর কমান্ড। সুতরাং যারা লিনাক্স -এ নতুন তাদের জন্য এটা খুবই উপকারী একটা টপিকস। 'cat' এর ফুল অর্থ হলো "Concatenate" । অর্থাৎ 'cat' কমান্ডের মাধ্যমেআমরা কোনো ফাইল তৈরী, একাধিক ফাইল একসাথে সংযুক্ত করা এবং কোনো ফাইল এর কনটেন্ট দেখার (view) ব্যবহার জন্য হয়।এছাড়া 'cat' কমান্ড standard output/input (>/<) হিসেবে ব্যবহার করা যায়। তো আজকে আমরা লিনাক্স -এ 'cat' বহুল ব্যবহৃত কিছুকমান্ড নিয়ে আলাপ করব:

'cat' কমান্ডের বেসিক syntax হলো: # cat <options> <File>

01. 'cat' কমান্ড দিয়ে যদি কোনো নতুন ফাইল তৈরী করতে এবং কিছু লিখতে চান তাহলে নিচের কমান্ড। কিছু লেখার পর (Ctrl+d) প্রেস করে সেভ করতে পারেন ।

[root@serverX ~]# cat > {file-name}

[root@serverX ~]# cat > linux

hello world !!!

02. 'cat' দিয়ে ফাইল কনটেন্ট দেখার জন্য নিচের কমান্ড:

[root@serverX ~]# cat {filename}

[root@serverX ~]# cat linux

03. 'cat' দিয়ে একাধিক ফাইল দেখার জন্য নিচের কমান্ড:

[root@serverX ~]# cat {file1} {file2}

[root@serverX ~]# cat /etc/passwd /etc/shadow

04. 'cat' কমান্ড দিয়ে শুধু মাত্র আপনার স্ক্রিন -এ যত টুকু আটবে ততটুকু দেখা যাবে এবং ফাইলের নিচ থেকে দেখা যায় । আর 'cat' দিয়ে যদি পেজ by পেজ দেখার জন্য নিচের কমান্ড:

[root@serverX ~]# cat cat /etc/profile

[root@serverX ~]# cat /etc/profile | more

[root@serverX ~]# cat cat /etc/profile | less

#‎Note: এখানে প্রথম কমান্ড এর মাধ্যমে শুধু /etc/profile ফাইলের নিচের কনটেন্ট দেখতে পারবেন। আর যদি আমরা পাইপ লাইন (।)ব্যবহার করে 'more' করি তাহলে আমরা নিচের পেজ গুলো দেখতে পারব। আর উপরে এবং নিচের পেজ দেখার জন্য (view) করতে চাইলে 'less' ব্যবহার করতে হবে।

05. 'cat' কমান্ড দিয়ে কোনো ফাইল এর কনটেন্ট লাইন নম্বর দিয়ে দেখতে চাইলে নিচের কমান্ড:

[root@serverX ~]# cat -n {file-name}

[root@serverX ~]# cat -n /etc/profile

06. কোন ফাইল এর কনটেন্ট অন্য কোন ফাইল -এ পাঠাতে চাইলে নিচের কমান্ড:

[root@serverX ~]# cat {old_file} > {new_file}

[root@serverX ~]# cat /etc/passwd > userlist

[root@serverX ~]# cat userlist

#Note: এখানে /etc/passwd ফাইলের কনটেন্ট userlist ফাইল-এ রিডাইরেক্ট (>) হবে। এখানে userlist নামে নতুন ফাইল তৈরী হবে । আর এখানে যদি userlist নামে আগে কোনো ফাইল থেকে থাকে তাহলে, সমস্ত কন্টেন্ট replace হবে।

07. কোন ফাইল এর কনটেন্ট অন্য কোন ফাইল -এ যোগ (append) করতে চাইলে নিচের কমান্ড:

[root@serverX ~]# cat /etc/group >> userlist

#Note: এখানে /etc/group ফাইলের কনটেন্ট userlist ফাইল-এ append (>>) হবে।

08. একাধিক ফাইল এর কনটেন্ট একটা ফাইল -এ নিতে চাইলে নিচের কমান্ড:

[root@serverX ~]# cat /etc/passwd /etc/shadow > userdb

09. কোনো আর্গুমেন্ট ছাড়াও আমরা cat কমান্ড ব্যবহার করতে পারি:

[root@serverX ~]# cat ;{press enter}

welcome

welcome

#Note: এখানে যা লিখবেন প্রত্যেকটি ২ বার করে আসবে। একটা স্ট্যান্ডার্ড ইনপুট এবং আরেকটা স্ট্যান্ডার্ড আউটপুট হিসেবে। (Ctrl+d) প্রেস করে বের হতে পারবেন।

10. 'cat' কমান্ড এর সাথে রেগুলার এক্সপ্রেশন (grep) ব্যবহার করা যায়:

[root@serverX ~]# cat /etc/passwd | grep student

#Note: এখানে সম্পূর্ণ ফাইল থেকে student কীওয়ার্ড খুঁজে বের করার জন্য (grep) ব্যবহার করা যায়:

11. কোনো ফাইল এর কনটেন্ট 'Reverse Order' অনুযায়ী দেখতে চাইলে নিচের কমান্ড:

[root@serverX ~]# tac /etc/passwd

12. নিচের কমান্ড -এর মাধ্যমে 'cat' কমান্ড কে স্ট্যান্ডার্ড ইনপুট হিসেবে নেওয়া যায়:

[root@serverX ~]# cat < /etc/passwd

13. 'cat' কমান্ড এর সাথে 'sort' ব্যবহার কোনো ফাইল এর আউটপুট alphabetic order -এ সাজানো যায়:

[root@serverX ~]# cat /etc/passwd | sort

14. কোনো ফাইল এর প্রত্যেকটি লাইন এর শেষে '$' যোগ করতে চাইলে নিচের কমান্ড:

[root@serverX ~]# cat -E /etc/passwd

15. নিচের কমান্ড -এর মাধ্যমে যে সকল ফাইল ওয়ার্ড এর মাঝে ট্যাব (tab) আছে সেইগুলো দিয়ে '^I' দিয়ে 'separate' করে দেখাবে।

[root@serverX ~]# cat -T /etc/aliases

manager:^Iroot

#Note: এখানে manager: এবং root এর মাঝে ট্যাব (tab) আছে, এইজন্য '^I' দিয়ে দেখানো হইছে।

আজকে আমরা লিনাক্স অপারেটিং সিস্টেমে PING কমান্ড নিয়ে আলাপ করব:

===============================================

01. কোনো হোস্ট বা সার্ভার -কে ping করতে চাইলে নিচের কমান্ড:

[root@serverX~ ]# ping www.google.com

[root@serverX~ ]# ping 103.44.35.123

02. Time Interfal উল্লেখ করে অর্থাৎ ৫ সেকেন্ড পরপর যদি Ping টেস্ট করতে চান তাহলে নিচের কমান্ড:

[root@serverX~ ]# ping -i 5 www.google.com

03. Ping Time Interfal ১ সেকেন্ড এর নিচে অর্থাৎ যদি ০.১ সেকেন্ড পরপর টেস্ট করতে চান তাহলে নিচের কমান্ড:

[root@serverX~ ]# ping -i 0.1 www.google.com

04. লিনাক্স -এ সাধারণত Continous Ping অর্থাৎ যতক্ষন না stop (Ctrl+C) করবেন তত্তক্ষণ চলেত থাকবে। আর যদি নির্দিষ্ট কিয়েকটি (৪ টি) ping দিতে চান তাহলে নিচের কমান্ড:

[root@serverX~ ]# ping -c 4 www.google.com

05. Local host (loopback Address) কে ping করতে চাইলে নিচের কমান্ড গুলো:

[root@serverX~ ]# ping 0

[root@serverX~ ]# ping 127.0.0.1

[root@serverX~ ]# ping localhost

06. নিচের কমান্ড এর মাধ্যমে ping এর default প্যাকেট size (56 Bytes) এর পরিবর্তে সাইজ বাড়িয়ে (100) ping দিতে পারি :

[root@serverX~ ]# ping -s 100 www.google.com

07. নিচের ping কমান্ড এর মাধ্যমে কোনো ডেস্টিনেশন এড্রেস কে ping দিলে আর সেটা যদি Unreachable থেকে Reachable হলে (reply দিলে) সিস্টেম (server) থেকে বীফ (beep) sound দিবে:

[root@serverX~ ]# ping -a www.google.com

08. নিচের ping কমান্ড এর মাধ্যমে কোনো ডেস্টিনেশন এড্রেস এর শুধু Ping Summary দেখা যাবে:

[root@serverX~ ]# ping -c 5 -q www.google.com

08. নিচের ping কমান্ড এর মাধ্যমে কোনো ডেস্টিনেশন এড্রেস কে নিদির্ষ্ট কোনো Hop (gateway) দিয়ে Ping করা যায়:

[root@serverX~ ]# ping hop1 hop2 hop3....hopn www.google.com

10. নিচের কমান্ড এর মাধ্যমে IPv6 এড্রেস কে ping করা যায়:

[root@serverX~ ]# ping6 ipv6.google.com

[root@serverX~ ]# ping6 2001::abcd:1234:1111:5678

[root@serverX~ ]# ping ::1 (IPv6 loopback Address)

Shutdown, Restart and Logout of a system

=================================

আজকে আমরা দেখব লিনাক্স এর Shutdown, Restart, Logout, রিলেটেড কিছু কমান্ড:

01. লিনাক্স সিস্টেম Shutdown করতে নিচের যে কোনো কমান্ড ব্যবহার করা যাবে:

[root@serverX~ ]# init 0

[root@serverX~ ]# shutdown -h now

[root@serverX~ ]# telinit 0

[root@serverX~ ]# poweroff

02. লিনাক্স সিস্টেম নির্দিষ্ট কোনো সময়ে (Planned) Shutdown করতে নিচের কমান্ড:

[root@serverX~ ]# shutdown -h 23.45 &

03. এখন থেকে নির্দিষ্ট কোনো টাইম (20 Min) পরে shutdown করতে চাইলে নিচের কমান্ড:

[root@serverX~ ]# shutdown -h +20

04. Shutdown Cancel অথবা উপরের কমান্ড টি Cancel করতে চাইলে নিচের কমান্ড:

[root@serverX~ ]# shutdown -c

05. লিনাক্স সিস্টেম Reboot করতে নিচের যে কোনো কমান্ড ব্যবহার করা যাবে:

[root@serverX~ ]# reboot

[root@serverX~ ]# init 6

[root@serverX~ ]# shutdown -r now

[root@serverX~ ]# telinit 6

06. এখন থেকে নির্দিষ্ট কোনো টাইম -এ Reboot করতে চাইলে নিচের কমান্ড:

[root@serverX~ ]# shutdown -r 23.45 &

07. এখন থেকে নির্দিষ্ট কোনো টাইম (20 Min) পরে Reboot করতে চাইলে নিচের কমান্ড:

[root@serverX~ ]# shutdown -r +20

08. লিনাক্স সিস্টেম Hibernate করতে নিচের কমান্ড ব্যবহার করা যাবে (RHEL 7):

[root@serverX~ ]# systemctl hibernate

09. লিনাক্স সিস্টেম Sleep করতে নিচের কমান্ড ব্যবহার করা যাবে (RHEL 7):

[root@serverX~ ]# systemctl hybride-sleep

10. লিনাক্স সিস্টেম logout করতে নিচের কমান্ড ব্যবহার করা যাবে :

[root@serverX~ ]# logout

[root@serverX~ ]# exit

অথবা, কীবোর্ড থেকে Ctrl + 'd' প্রেস করলেও Logout হবে।

লিনাক্স -এ User এবং Group রিলেটেড কমান্ড - পর্ব ১ :

-------------------------------------------------------------

আজকে আমরা লিনাক্স -এ বহুল ব্যবহৃত User এবং Group কমান্ড শিখবো, যে কমান্ড গুলার মাধ্যমে নতুন User তৈরী, User কে কোনো গ্রুপ -এ Assign , User এর পাসওয়ার্ড সেট করা, ইউসার ডিলিট করা, ইউসার কে Modify করা, ইত্যাদি:

লিনাক্স -এ নতুন কোনো User create জন্য নিচের কমান্ড:

[root@serverX~ ]# useradd student

লিনাক্স -এ নতুন কোনো গ্রুপ তৈরী করার জন্য নিচের কমান্ড:

[root@serverX~ ]# groupadd production

User এর পাসওয়ার্ড সেট/রি-সেট করার জন্য:

[root@serverX~ ]# passwd student

লিনাক্স -এর রেগুলার User এর User ID (UID) শুরু হয় ১০০০ থেকে, অর্থাৎ লিনাক্স সিস্টেম -এর প্রথম ইউসার এর UID (User ID) হলো ১০০০। আমরা যদি স্পেসিফিক কোনো UID দিয়ে User Create করতে চাই তাহলে নিচের কমান্ড:

[root@serverX~ ]# useradd -u 2000 ikbal

যদি স্পেসিফিক কোনো GID দিয়ে Group Create করতে চাই তাহলে নিচের কমান্ড:

[root@serverX~ ]# Groupadd -g 3000 development

লিনাক্স সিস্টেম -এ User এর ডাটাবেস হলো /etc/passwd ফাইল। অর্থাৎ সিস্টেম -এ কোনো User add/remove করলে সেটা /etc/passwd ফাইল -এ আপডেট হয়। আমরা সিস্টেম -এ User add/remove করার পর নিচের কমান্ড দিয়ে ভেরিফাই করতে পারি:

[root@serverX~ ]# tail /etc/passwd

[root@serverX~ ]# cat /etc/passwd | less

[root@serverX~ ]# cat /etc/passwd | more

[root@serverX~ ]# grep [username] /etc/passwd

লিনাক্স সিস্টেম -এ Group এর ডাটাবেস হলো /etc/group ফাইল। অর্থাৎ সিস্টেম -এ কোনো Group add/remove করলে সেটা /etc/group ফাইল -এ আপডেট হয়। আমরা সিস্টেম -এ Group add/remove করার পর নিচের কমান্ড দিয়ে ভেরিফাই করতে পারি:

[root@serverX~ ]# tail /etc/group

[root@serverX~ ]# cat /etc/group | less

[root@serverX~ ]# cat /etc/group | more

[root@serverX~ ]# grep [groupname] /etc/group

কোনো User কে সরাসরি কোনো exiting গ্রুপ -এ Add করে User create , এ ক্ষেত্রে গ্রুপ টি সিস্টেম -এ আগে থেকে থাকতে হবে, এখানে গ্রুপ নাম এর আগে '-G' ব্যবহার করতে হবে:

[root@serverX~ ]# useradd -G [group name] [student name]

[root@serverX~ ]# useradd -G development ikbal

কোনো User কে কোনো গ্রুপ থেকে রিমুভ করার জন্য নিচের কমান্ড:

[root@serverX~ ]# gpasswd -d [username] [groupname]

[root@serverX~ ]# gpasswd -d ikbal development

কোনো User কে সিস্টেম থেকে রিমুভ করার জন্য নিচের কমান্ড:

[root@serverX~ ]# userdel -r [username]

[root@serverX~ ]# userdel [username]

#‎নোট: শুধু User এর একাউন্ট ডিলিট করার জন্য 'userdel' আর User এর হোম ডিরেক্টরি সহ ডিলিট করার জন্য 'userdel -r' ব্যবহার করতে হবে।

কোনো Group কে সিস্টেম থেকে রিমুভ/ডিলিট করার জন্য নিচের কমান্ড:

[root@serverX~ ]# groupdel [groupname]

[root@serverX~ ]# groupdel development

 

লিনাক্স -এ User এবং Group রিলেটেড কমান্ড - #‎পর্ব_2 :

--------------------------------------------------------------

আজকে আমরা লিনাক্স -এ বহুল ব্যবহৃত User এবং Group কমান্ড শিখবো, যে কমান্ড গুলার মাধ্যমে নতুন User তৈরী, User কে কোনো গ্রুপ -এ Assign , User এর পাসওয়ার্ড সেট করা, ইউসার ডিলিট করা, ইউসার কে Modify করা, ইত্যাদি:

একসাথে যদি একাধিক ইউসার Create করতে চাই:

[root@serverX~ ]# useradd sumon && useradd rumon

. একসাথে ইউসার create এবং পাসওয়ার্ড এসাইন করতে চাইলে নিচের কমান্ড । এক্ষেত্রে পাসওয়ার্ড আপনাকে বলে দিতে হবে:

[root@serverX~ ]# useradd sumon && passwd rumon

কোনো ইউসার এর পাসওয়ার্ড যদি রিসেট করতে চান এবং পাসওয়ার্ড যদি স্ট্যান্ডার্ড ইনপুট হিসেবে বলে দিতে চান, অর্থাৎ আপনাকে নতুন করে পাসওয়ার্ড কীবোর্ড থেকে দিতে হবে না, সেক্ষেত্রে নিচের কমান্ড:

[root@serverX~ ]# echo 123456 | passwd sumon --stdin

লিনাক্স সিস্টেম -এ যখন কোন ইউসার create করা হয়, তখন ডিফল্ট হোম ডিরেক্টরি হিসেবে /home/username ব্যবহার হয়। আমরা যদি কোনো ইউসার এর ডিফল্ট হোম ডিরেক্টরি চেঞ্জ করে অন্য ডিরেক্টরি তে করতে চাই তাহলে নিচের কমান্ড:

[root@serverX~ ]# mkdir /newhome

[root@serverX~ ]# useradd -d /newhome/dirname [username]

[root@serverX~ ]# useradd -d /newhome/sazib sazib

নোট: এখানে নতুন হোম ডিরেক্টরি আগে থেকে থাকতে হবে। এইজন্য "/" Root পার্টিশন এর আন্ডার -এ একটা /newhome নামে ডিরেক্টরি তৈরী করেছি। এখানে sazib ইউসার এর হোম ডিরেক্টরি হলো - /home/sazib

যদি সকল ইউসার এর একটা কমন হোম ডিরেক্টরি করতে চাই, তাহলে নিচের কমান্ড। শেয়ার্ড FTP সার্ভার করতে হলে এমন শেয়ার্ড হোম ডিরেক্টরি লাগে:

[root@serverX~ ]# mkdir /ftpdir

[root@serverX~ ]# useradd -d /ftpdir [username]

[root@serverX~ ]# useradd -d /ftpdir user1

[root@serverX~ ]# useradd -d /ftpdir user2

[root@serverX~ ]# useradd -d /ftpdir user3

নোট: এখানে user1, user2 এবং user3 জন্য একটা কমন হোম ডিরেক্টরি হলো: /ftpdir

হোম ডিরেক্টরি ছাড়া যদি কোনো ইউসার তৈরী করতে চান, তাহলে নিচের কমান্ড:

[root@serverX~ ]# useradd -M robin

লিনাক্স সিসেম-এ যদি Same User ID (UID) দিয়ে একধিক ইউসার তৈরী করতে চাই তাহলে নিচের কমান্ড:

[root@serverX~ ]# useradd -o reza -u 1010

[root@serverX~ ]# useradd -o rana -u 1010

[root@serverX~ ]# useradd -o rasel -u 1010

লিনাক্স সিসেম-এ যদি একসাথে User ID (UID) এবং Group ID (GID) দিয়ে কোনো ইউসার তৈরী করতে চাই তাহলে নিচের কমান্ড, এক্ষেত্রে GID আগে থেকে সিস্টেম -এ থাকতে হবে:

[root@serverX~ ]# useradd -u 2020 -g 1000 murad

যখন কোনো ইউসার তৈরী করবেন তখন যদি কোনো কমেন্ট add করতে চাইলে নিচের কমান্ড:

[root@serverX~ ]# useradd -c "software developer" mamun

[root@serverX~ ]# cat /etc/passwd | grep mamun

mamun:x:1012:1014:software developer:/home/mamun:/bin/bash

লিনাক্স সিসেম-এ একজন ইউসার কে একধিক গ্রুপ -এ Assign সহ তৈরী করতে চাইলে নিচের কমান্ড, এক্ষেত্রে গ্রুপ গুলো আগে থেকে সিস্টেম -এ থাকতে হবে:

[root@serverX~ ]# groupadd sales

[root@serverX~ ]# groupadd hr

[root@serverX~ ]# groupadd admin

[root@serverX~ ]# useradd -G sales,hr,admin tarek

ইউজার এবং গ্রুপ অ্যাডমিনিস্ট্রেশন: পর্ব - ০৩

-------------------------------------------------

#‎c22. লিনাক্স সিসেম-এ একসাথে User তৈরী এবং শেল Assing করা। এক্ষেত্রে আমরা user কে /sbin/nlogin শেল Assing করালম যাতে user সিস্টেমে লগইন না করতে পারে।

[root@serverX~ ]# useradd -s /sbin/nologin [username]

[root@serverX~ ]# useradd -s /sbin/nologin sazib

#‎c23. আমরা জানি লিনাক্স সিসেম-এ তিন ধরনের ইউজার থাকে। Root ইউজার, System ইউজার এবং Regular ইউজার। আমরা Regular ইউজার তৈরী করলাম, এবং Regular ইউজার UID ১০০০ থেকে (RHEL7) শুরু হয়, আর System ইউজার এর UID ১-৯৯৯ পর্যন্ত হয়ে থাকে। আমরা যদি কোনো System ইউজার তৈরী করতে চাই তাহলে নিচের কমান্ড:

[root@serverX~ ]# useradd -r [username]

[root@serverX~ ]# useradd -r oracle

#‎c24. লিনাক্স সিসেম-এ ইউজার তৈরী করতে আরও কোনো হেল্প দরকার হলে নিচের কমান্ড:

[root@serverX~ ]# useradd --help

#‎c25. লিনাক্স সিসেম-এ কোনো ইউজার এর UID, Primary GID, Secondary GID দেখতে চাইলে নিচের কমান্ড:

[root@serverX~ ]# id [username]

[root@serverX~ ]# id student

এবার আমরা লিনাক্স সিস্টেমে ইউজার এবং গ্রুপের Modify (mode) রিলেটেড কমান্ড নিয়ে আলাপ করবো:

#‎c26. লিনাক্স সিসেম-এ ইউজার -এর login নাম চেঞ্জ করতে চাইলে নিচের কমান্ড। এক্ষেত্রে আগে Mamun ইউজার ছিল এখন নাম change করে Sumon করা হলো। Mamun নাম কোনো ইউজার এর প্রোফাইল আর থাকবে না। কিন্তু হোম ডিরেক্টরি হিসেবে Sumon ইথাকবে।

[root@serverX~ ]# usermod -l [new name] [old name]

[root@serverX~ ]# usermod -l sumon mamun

#‎c27. লিনাক্স সিসেম-এ ইউজার ID (UID) চেঞ্জ করতে চাইলে নিচের কমান্ড:

[root@serverX~ ]# usermod -u [new UID] [user name]

[root@serverX~ ]# usermod -u 2000 tarek

#‎c28. লিনাক্স সিসেম-এ ইউজার Primary/Secondary group ID (GID) চেঞ্জ করতে চাইলে নিচের কমান্ড:

[root@serverX~ ]# usermod -u [new GID] [group name]

[root@serverX~ ]# groupmod -g 3000 tarek

#‎Note: এখানে Tarek প্রাইমারি গ্রুপ

[root@serverX~ ]# groupmod -g 4000 trainer

#Note: এখানে Trainer সেকেন্ডারি গ্রুপ

[root@serverX~ ]# id tarek

#‎c29. লিনাক্স সিসেম-এ Existing ইউজার এর Comment চেঞ্জ করতে চাইলে নিচের কমান্ড:

[root@serverX~ ]# usermod -c "Cisco Trainer" tarek

#‎c30. লিনাক্স সিসেম-এ Existing ইউজার এর Home Directory চেঞ্জ করতে চাইলে নিচের কমান্ড:

[root@serverX~ ]# usermod -d "/newhome/username" [username]

[root@serverX~ ]# usermod -d "/newhome/tarek" tarek

#‎c31. লিনাক্স সিসেম-এ Existing ইউজার এর Shell চেঞ্জ করতে চাইলে নিচের কমান্ড:

[root@serverX~ ]# usermod -s "[shell name]" [user name]

[root@serverX~ ]# usermod -s "/sbin/nolgin" tarek

[root@serverX~ ]# usermod -s "/bin/sh" tarek

#Note: এখানে "/sbin/nolgin" দিলে Tarek আর সিস্টেমে login করতে পারবে না। আর "/bin/sh" দিলে Bash Shell চেঞ্জ হয়ে শুধু Shell হয়ে যাবে, যেটা দেখতে এমন "sh-4.2$"

     

রেড হ্যাট লিনাক্স : User and Group Management

User Management

● rajon নামে ইউজার তৈরী করার জন্যঃ

# useradd rajon

● rajon নামের ইউজারের পাসওয়ার্ড দেওয়ার জন্যঃ

# passwd rajon

পাসওয়ার্ড না দেওয়া পর্যন্ত কোনো ইউজার সিস্টেমে লগইন করতে পারবে না।

● কোনো ইউজারকে চেক করার জন্য

# id rajon

● ইউজার ডাটাবেজ চেক করার জন্য

# cat /etc/passwd

rajon:x:502:502: new user:/home/rajon:/bin/bash

rajon = ইউজার নেম

x = ইউজারের পাসওয়ার্ড এনক্রিপ্টেড

502 = ইউজার আই.ডি

502 = গ্রুপ আই.ডি

new user = কমেন্ট

/home/rajon = ইউজার ডাইরেক্টরী

/bin/bash = লগইন শেল

● কমেন্ট সহ নতুন ইউজার তৈরী করার জন্যঃ

# adduser –c “this is new user” asgar

● কোনো ইউজারকে লক করার জন্যঃ

# passwd –l rajon

● কোনো ইউজারকে আনলক করার জন্যঃ

# passwd –u rajon

● কোনা ইউজারকে ডিলিট করার জন্যঃ

# passwd –d rajon

● প্রথম লগইনে কোনো ইউজারের পাসওয়ার্ড পরিবর্তন করানোর জন্যঃ

# chage –d 0

● আলাদা কোনা ডাইরেক্টরীতে ইউজার তৈরী করার জন্য

# mkdir /testuser

# useradd –d /testuser/mithun mithun

● কোনা ইউজার সিস্টেমে লগইন করেছে কিনা তা দেখার জন্যঃ

# tail –f /var/log/secure

● ইউজার ও পাসওয়ার্ডের তথ্য দেখার জন্যঃ

# chage –l rajon

● কোনো ইউজার সিস্টেমে কখন লগইন করেছে তা দেখার জন্যঃ

# finger rajon

● কোনো ইউজার asgar এর নাম পরিবর্তন করে agni করার জন্যঃ

# usermod –l asgar agni

● কোনা ইউজারের একাউন্ট এক্সপায়ার করার জন্যঃ

# usermod –e 2013/10/04 rajon অথবা

#chage –E 2012/10/4 rajon

আনলিমিটেড সময়ের জন্য Date এর জায়গায় “ দিতে হবে।

● কোনো ইউজারের লগিন শেল পরিবর্তনের জন্যঃ

# chsh -s /sbin/nologin rajon

/sbin/nologin এর অর্থ হলো ইউজার সিস্টেমে লগইন করতে পারবে না।

/bin/bash এর অর্থ হলো ইউজার সিস্টেমে লগইন করতে পারবে।

● কোনো ইউজারকে সিস্টেম থেকে ডিলিট করার জন্যঃ

# userdel –r rajon

–r প্যারামিটার না দিলে ইউজার ডিলিট হবে কিন্তু ইউজারের হোম ডাইরেক্টরী ডিলিট হবে না।

Groups Management

● admin নামে গ্রুপ তৈরী করার জন্যঃ

# groupadd admin

● গ্রুপ এর ডাটাবেজ দেখার জন্যঃ

# cat /etc/group

● কোনা পুরাতন ইউজার asgar কে গ্রুপ admin এ নেওয়ার জন্যঃ

# usermode –G admin asgar

● কোনা নতুন ইউজার naser কে গ্রুপ admin এ নেওয়ার জন্যঃ

# useradd –G admin naser

● কোনা ইউজার asgar কে একইসাথে একাধিক গ্রুপ এ নেওয়ার জন্যঃ

# usermode –G admin, accounts, hr asgar

● একাধিক ইউজারকে একইসাথে কোনো গ্রুপ sales এ নেওয়ার জন্যঃ

# gpasswd –M mithun, naser sales

● ইউজার asgar কে গ্রুপ sales থেকে বাদ দেওয়ার জন্যঃ # gpasswd –d asgar sales

● কোনো গ্রুপ admin এর নাম পরিবর্তন করে logistic করার জন্যঃ

# groupmod –n logistic admin

● কোনো গ্রুপকে সিস্টেম থেকে ডিলিট করার জন্যঃ

# groupdel accounts

*** আজকে আমরা লিনাক্স কার্নেল এর বিভিন্ন কমান্ড : ***

================================================

#‎l1. লিনাক্স -এ কার্নেল সম্পর্কিত (host-name, kernel version, architecture) সকল তথ্য জানার জন্য নিচের কমান্ড:

[root@desktopX ~]# uname -a

#‎l2. লিনাক্স কার্নেল এর নাম জানার জন্য নিচের কমান্ড:

[root@desktopX ~]# uname -s

#‎l3. লিনাক্স -এ সিস্টেম/হোস্ট নাম জানার জন্য নিচের কমান্ড:

[root@desktopX ~]# uname -n

#‎l4. লিনাক্স -একারেন্ট কার্নেল/রিলিজ ভার্সন জানার জন্য নিচের কমান্ড:

[root@desktopX ~]# uname -r

#‎l5. লিনাক্স -একারেন্ট কার্নেল ভার্সন /রিলিজ ডেট জানার জন্য:\

[root@desktopX ~]# uname -v

#‎l6. Operating system নাম জানার জন্য:

[root@desktopX ~]# uname -o

#‎l7. মেশিন হার্ডওয়্যার/প্রসেসর Architecture জানার জন্য:

[root@desktopX ~]# uname -m

#‎l8. মেশিন হার্ডওয়্যার/প্রসেসর Architecture জানার জন্য:

[root@desktopX ~]# uname -p

#‎l9. লিনাক্স -একারেন্ট হার্ডওয়্যার প্লাটফর্ম সম্পর্কিত জানতে নিচের কমান্ড:

[root@desktopX ~]# uname -i

#‎l10. অপারেটিং সিস্টেম ভার্সন জানার জন্য নিচের কমান্ড:

[root@desktopX ~]# cat /etc/redhat-release

#‎Note: কিছু কিছু কমান্ড এর আউটপুট একই হবে। হার্ডওয়্যার জনিত কারণে।

 

==== Linux Networking Related Command Details ====

আজ কে আমরা লিনাক্স এর নেটওয়ার্কিং রিলেটেড কিছু কমান্ড শিখব। যেগুলো প্রতিনিয়ত আমাদের দরকার হয়। আর যারা লিনাক্স -এ নতুন তাদের জন্য ভালো প্রাকটিস হবে:

#‎l1. লিনাক্স সিস্টেম-এ কতগুলা ইন্টারফেস (LAN কার্ড) আছে সেটা জানতে চাইলে নিচের দুইটা কমান্ড দিতে পারেন:

[root@desktopX ~]# ifconfig -a

[root@desktopX ~]# ip addr

#‎l2. লিনাক্স -এ Active নেটওয়ার্ক ইন্টারফেস -এ IP এবং MAC Address দেখার জন্য নিচের কমান্ড টি দিতে পারেন:

[root@desktopX ~]# ifconfig

#‎l3. লিনাক্স -এ নির্দিষ্ট কোনো ইন্টারফেস -এর IP অথবা MAC এড্রেস এড্রেস জানার জন্য নিচের কমান্ড:

[root@desktopX ~]# ifconfig eth0

#‎l4. লিনাক্স -এ ভাবে IP এড্রেস বসানোর জন্য নিচের কমান্ড টি দিতে পারেন, এক্ষেত্রে সিস্টেম রিবুট হলে IP এড্রেস চলে যাবে:

[root@desktopX ~]# ifconfig eth0 192.168.11.254 (default mask)

[root@desktopX ~]# ifconig eth0 192.168.11.254 netmask 255.255.255.224

#‎l5. লিনাক্স -এ ইন্টারফেস Disable/enable করার কমান্ড:

[root@desktopX ~]# ifdown eth0 (disable)

[root@desktopX ~]# ifup eth0 (enable)

#‎l6. লিনাক্স -এ একটা ইন্টারফেস -এ একাধিক IP বসানোর কমান্ড:

[root@desktopX ~]# ip addr add 192.168.11.252 dev eth0

#‎Note: Restart দিলে চলে যাবে।

7. লিনাক্স -এ একটা ইন্টারফেস এর Reference -এ ভার্চুয়াল ইন্টারফেস তৈরী এবং IP বসানোর কমান্ড:

[root@desktopX ~]# ifconfig eth0:1 192.168.11.250

[root@desktopX ~]# ifconfig eth0:1 192.168.11.251

[root@desktopX ~]# ifconfig eth0:1 192.168.11.252

#Note: Restart দিলে চলে যাবে। এটা পার্মানেন্ট করা যায়। IP based ভার্চুয়াল হোস্টিং -এর কাজে ব্যবহার হয়।

#‎l8. লিনাক্স -এ রাউটিং টেবিল চেক করার জন্য নিচের কমান্ড:

[root@desktopX ~]# route -n

#‎l9. লিনাক্স -এ ডিফল্ট গেটওয়ে Add করার কমান্ড টি হলো:

[root@desktopX ~]# route add default gw 192.168.11.254

[root@desktopX ~]# route add default gw 192.168.11.254 eth0 (specific interface)

#‎l10. লিনাক্স -এ ডিফল্ট গেটওয়ে Remove করার কমান্ড টি হলো:

[root@desktopX ~]# route del default gw 192.168.11.254

[root@desktopX ~]# route del default gw 192.168.11.254 eth0 (specific interface)

#‎l11. লিনাক্স -এ static route add/delete করার কমান্ড টি হলো:

[root@desktopX ~]# ip route add 172.24.16.0/24 via 192.168.12.2 dev eth0

[root@desktopX ~]# ip route del 172.24.16.0/24

 

Linux বিভিন্ন ধরনের Mount কমান্ড:

========================

1. Linux এর native পার্টিশন (ext3/ext4/xfs) মাউন্ট করার জন্য:

---------------------------------------------------------------------------

[root@serverX~ ]# mount /dev/sda1 /mnt

*** মাউন্ট করার আগে '[root@serverX~ ]# fdisk -l' কমান্ড দিয়া দেখে নিতে পারেন কোন পার্টিশন টা মাউন্ট করবেন।

2. Windows এর FAT-32 পার্টিশন মাউন্ট করার জন্য:

------------------------------------------------------------

[root@serverX~ ]# mount -t vfat /dev/sdb1 /mnt

3. DVD Drive মাউন্ট করার জন্য:

--------------------------------------

[root@serverX~ ]# mount /dev/sr0 /media

4. Pendrive মাউন্ট করার জন্য, প্রথমে দেখে নিতে হবে যে কি নাম পাইসে:

--------------------------------------------------------------------------------

[root@serverX~ ]# fdisk -l

[root@serverX~ ]# mount /dev/sdb1 /mnt

5. ISO File মাউন্ট করার জন্য:

---------------------------------

ISO File দুই ভাবে করা যায়। যদি কোনো DVD তে থাকে, তাহলে মাউন্ট করার জন্য:

[root@serverX~ ]# mount -t iso9660 -o loop /dev/sr0 /media

অথবা ISO যদি কোনো ফাইল হিসেবে (test.iso) থাকে:

[root@serverX~ ]# mount -t iso9660 -o loop test.iso /mnt

6. NFS Share মাউন্ট করার জন্য:

---------------------------------------

[root@serverX~ ]# mount -t nfs 192.168.11.X:/nfsdata /mnt

7. CIFS (samba) Share মাউন্ট করার জন্য:

----------------------------------------------------

[root@serverX~ ]# mount -t cifs 192.168.11.X:/samba /mnt

#‎Note -1: এখানে মাউন্ট পয়েন্ট হিসেবে /mnt এবং /media করেছি। আপনি যেকোনো জায়গায় মাউন্ট করতে পারেন। যেমন, প্রথমে আমরা একটা মাউন্ট পয়েন্ট তৈরী করি তারপর আমরা মাউন্ট করব:

[root@serverX~ ]# mkdir /data

[root@serverX~ ]# mount /dev/sdb1 /data

#Note-2: আপনের কোন কোন পার্টিশন অথবা শেয়ার মাউন্ট করা আছে সেটা দেখার জন্য:

[root@serverX~ ]# mount

 

Shell history কমান্ড এর যাবতীয় বিষয় :

===========================

1. History কমান্ড এর মাধ্যমে আমরা ইতিপুর্বে ব্যবহার কৃত সমস্ত কমান্ড লিস্ট পাব:

[root@linux]# history

2. History সাইজ চেক করার জন্য নিচের কমান্ড:

[root@linux]# echo $HISTSIZE

3. History থেকে পূর্বের ১০ টি কমান্ড দেখার জন্য:

[root@linux]# history 10

4. Repeating লাস্ট কমান্ড: যে কমান্ড টি আমরা সর্বশেষ ব্যবহার করেছি সেটি যদি আবার পুনরায় দিতে চায়

[root@linux]# !!

5. History থেকে নির্দিষ্ট কোনো কমান্ড পুনরায় দেবার জন্য। যেমন ২৩ নম্বর কমান্ড পুনরায় দেবার জন্য নিচের কমান্ড টি করতে পারি: (!n)

[root@linux]# !23

6. History সার্চ (খুঁজে) করে কমান্ড বের করা, ধরুন আপনি "service network restart " কমান্ড টি নতুন করে দিতে চান, এ জন্য keyboard থেকে "Ctrl+r" প্রেস করতে হবে তারপর শুধু "ser" টাইপ করলে সুম্পূর্ণ কমান্ড টি টার্মিনাল -এ চলে আসবে। যেমন :

(reverse-i-search)`ser': service netowrk restart

 

 

====== লিনাক্স netstat কমান্ডের বিস্তারিত ========

লিনাক্স সিস্টেম এবং নেটওয়ার্ক অ্যাডমিনিস্ট্রেশন এর জন্য 'netstat' একটা খুবই গুরুতপূর্ণ ইউটিলিটি। বিশেষ করে লিনাক্স সিস্টেমে সকেট এড্রেস (Port + IP) বের করতে এই 'netstat' কমান্ড টি খুব ব্যবহার হয়। যেমন, আমরা যদি কোনো লিনাক্স বা UNIX সিস্টেমে ৮০পোর্ট ওপেন আছে কিনা এবং আমাদের Web Service টি কাজ করছে কিনা ইটা আমরা 'netstat' এর মাধ্যমে বের করতে পারি। এছাড়া TCP/UDP port, IPv4 and IPv6 সহ যাবতীয় কানেকশন verify করতে পারি।

আজকে আমরা 'netstat' এর বহুল ব্যবহৃত কিসু কমান্ড নিয়া আলাপ করব:

01. লিনাক্স সিস্টেমের সমস্ত সকেট এড্রেস (IPv4 and IPv6) অথবা কোন কোন পোর্ট ওপেন আছে কিনা, সেটা চেক করার জন্য নিচের কমান্ড:

[root@serverX~]# netstat -a

02. শুধু TCP Connection চেক করার জন্য নিচের কমান্ড:

[root@serverX~]# netstat -at

03. শুধু UDP Connection চেক করার জন্য নিচের কমান্ড:

[root@serverX~]# netstat -au

04. Process Name/PID, User ID সহ ভেরিফাই করতে চাইলে নিচের কমান্ড:

[root@serverX~]# netstat -nlpt

05. যদি স্পেসিফিক কোনো কানেকশন (যেমন: sshd or port 22) টেস্ট করতে চাইলে আমরা 'GREP' ব্যবহার করতে পারি:

[root@serverX~]# netstat -nlpt | grep sshd

[root@serverX~]# netstat -nlpt | grep 22

06. 'netstat command' দিয়ে কার্নেল রাউটিং ইনফরমেশন দেখতে চাইলে নিচের কমান্ড:

[root@serverX~]# netstat -rn

07. 'netstat command' এর মাধ্যমে আমরা ইন্টারফেস Information দেখতে পারি:

[root@serverX~]# netstat -i

[root@serverX~]# netstat -ie

08. শুধু মাত্র 'listening connection' চেক করতে চাইলে নিচের কমান্ড:

[root@serverX~]# netstat -tnl

09. IPv4 and IPv6 এর মাল্টিকাস্ট গ্রুপ এর Membership information দেখার জন্য নিচের কমান্ড:

[root@serverX~]# netstat -g

10. নিচের কমান্ড এর মাধ্যমে আমরা বিভিন্ন প্রোটোকল যেমন: ICMP, IP, TCP, UDP এর Inforation পেতে পারি:

[root@serverX~]# netstat -s 

==== Linux 'ls' command by example ===

লিনাক্স সিস্টেম -এ নতুন কোন ইউজার কে প্রথম যে কমান্ড নিয়ে কাজ করতে হয়, সেটা হলো 'ls' কমান্ড। সাধারনত কোনো পার্টিশন অথবা ডিরেক্টরির মধ্যে ফাইল বা সাব ডিরেক্টরির লিস্ট দেখার জন্য 'ls' কমান্ড ব্যবহার হয়। এছাড়া কোনো ফাইল এর সাইজ, inode, hidden ফাইল/ফোল্ডার, permission, ownership, modify তারিখ জানার জন্য 'ls' কমান্ড এর বিভিন্ন অপসন ব্যবহার হয়। আজকে আমরা 'ls' কমান্ড এবং 'ls' কমান্ড এর সাথে ব্যবহৃত বিভিন্ন option নিয়ে আলাপ করব:

'ls' কমান্ডের syntax হলো: # ls <options> <File>

01. কোনো পার্টিশন অথবা ডিরেক্টরির মধ্যে ফাইলস বা সাব-ডিরেক্টরির লিস্ট দেখতে চাইলে নিচের কমান্ড:

[root@serverX ~]# ls

02. 'll' বা 'ls -l' অপসন ব্যবহার কোনো পার্টিশন অথবা ডিরেক্টরির মধ্যে ফাইলস বা সাব-ডিরেক্টরির types, permission, ownership, modify date দেখা যায়:

[root@serverX ~]# ls -l

[root@serverX ~]# ll

03. কোনো পার্টিশন অথবা ডিরেক্টরির মধ্যে 'hidden' (লুকানো) ফাইলস বা সাব-ডিরেক্টরির লিস্ট দেখতে চাইলে নিচের কমান্ড:

[root@serverX ~]# ls -a

[root@serverX ~]# ls -la

04. 'ls -lh' অপসন ব্যবহার কোনো পার্টিশন অথবা ডিরেক্টরির মধ্যে ফাইলস এর সাইজ Human Readable ফরমাটে দেখা যাবে:

[root@serverX ~]# ls -lh

05. 'ls -r' অপসন ব্যবহার করলে ফাইল বা ডিরেক্টরির লিস্ট রিভার্স অর্ডার অনুযায়ী দেখা যাবে:

[root@serverX ~]# ls -r

06. 'ls -R' অপসন ব্যবহার করলে ডিরেক্টরির মধ্যে সাব-ডিরেক্টরি এবং ফাইল লিস্ট দেখা যাবে:

[root@serverX ~]# ls -R

07. 'ls -li' অপসন ব্যবহার করলে ফাইল বা সাব-ডিরেক্টরি 'inode' নম্বর দেখা যাবে:

[root@serverX ~]# ls -li

#‎নোট: 'inode' নম্বর হলো লিনাক্স সিস্টেম -এ যত ফাইল বা ডিরেক্টরি আছে, তার একটা ইনডেক্সিং নম্বর। আমরা আসলে ফাইল বা ডিরেক্টরির নাম দেখে চিনতে পারি, কিন্তু সিস্টেম কল করে 'inode'দিয়ে।

08. কোন ডিরেক্টরির মধ্যে ফাইল এর ইনফরমেশন জানার জন্য নিচের কমান্ড:

[root@serverX ~]# ls -l /tmp

[root@serverX ~]# ls -ld /tmp

#নোট: এখানে /tmp ডিরেক্টরির ভিতরে ফাইল/ডিরেক্টরির ইনফরমেশন জানার জন্য প্রথম কমান্ড। আর শুধু /tmp ডিরেক্টরির ইনফরমেশন জানতে পরের কমান্ড।

09. ফাইল বা ডিরেক্টরির ওনারশিপ বাদে UID বা GID সহ ইনফরমেশন জানতে চাইলে নিচের কমান্ড:

[root@serverX ~]# ls -n

10. ফাইল বা ডিরেক্টরির সাইজ বড় থেকে ছোট করে দেখতে চাইলে নিচের কমান্ড:

[root@serverX ~]# ls -lS

#নোট: এখানে 'ls' এর সাথে অপসন 'S' টি ক্যাপিটাল লেটার।

11. ফাইল বা ডিরেক্টরির SELinux এর ইনফরমেশন জানতে নিচের কমান্ড:

[root@serverX ~]# ls -lZ

#নোট: এখানে 'ls' এর সাথে অপসন 'Z' টি ক্যাপিটাল লেটার।

12. ফাইল বা ডিরেক্টরির সর্বশেষ (latest) modification date জানতে নিচের কমান্ড:

[root@serverX ~]# ls -ltr

13. অনেক ফাইল এবং ডিরেক্টরির মধ্যে সুধু ডিরেক্টরি খুঁজে বের করার জন্য নিচের কমান্ড:

[root@serverX ~]# ls -d */

14. প্যারেন্ট ডিরেক্টরির ইনফরমেশন জানতে নিচের কমান্ড:

[root@serverX Desktop]# ls ../

[root@serverX Desktop]# ls ../../

#নোট: আমি এখন /root/Desktop ডিরেক্টরির মধ্যে আছি, এখান থেকে যদি আমার প্যারেন্ট ডিরেক্টরি (/root) ইনফরমেশন জানতে চাই তাহলে নিচের প্রথম কমান্ড। আর যদি '/root' এর প্যারেন্ট ডিরেক্টরি '/' partition এর ইনফরমেশন জানতে চাইলে পরের কমান্ড টি।

15. 'ls ' কমান্ড এর আরো হেল্প দরকার হলে নিচের কমান্ড:

[root@serverX ~]# ls --help

[root@serverX ~]# man ls

 

======== Linux CD Command Details =======

আজকে আমরা লিনাক্স সিস্টেমের কিছু বেসিক কমান্ড নিয়ে আলাপ করব। বিশেষ করে যারা লিনাক্স -এ একদম নতুন, তাদের জন্য আজকের কমান্ড গুলো খুবই গুরুত্বপূর্ণ।

CD এর ফুল অর্থ হলো change directory. লিনাক্স বা উইন্ডোজ অপারেটিং সিস্টেম এর কমান্ড মোডে কাজ করতে গেলে CD Command টি লাগে। অর্থাৎ আমরা যদি কোনো ডিরেক্টরি অথবা ফোল্ডার পরিবর্তন করতে চাই তাহলে CD command দিতে হবে। 'CD' কমান্ডটি আসলে মাউচ ক্লিক এর বিকল্প, গ্রাফিকাল মোডে যখন আমরা যখন মাউচ দিয়ে ডাবল ক্লিক করছি, এটাই কমান্ড মোডে CD কমান্ড দিয়ে করতে হয়। নিচে আমরা কিছু বহুল ব্যবহৃত কমান্ড দেখব:

লিনাক্স টার্মিনাল -এ লগইন করলে নিচের মত একটা টেক্সট দিকতে পারবেন । এখানে মোট ৪টা পার্ট আছে।

[root@serverX Desktop] #

(1) (2) (3) (4)

(1) root - ১ম পার্ট টা আপনি যে ইউজার একাউন্ট দিয়ে লগইন করছেন। এখানে root ইউজার হিসেবে লগইন করা আছে।

(2) serverX - ২য় পার্ট টা হোল আপনার হোস্টনেম বা কম্পিউটার নাম।

(3) Desktop - ৩য় পার্ট টা হলো আপনি বর্তমানে যে জায়গায় অবস্থান করছেন, এখানে আমরা Desktop ডিরেক্টরির মধ্যে আছি।

(4) # - ৪র্থ পার্ট হলো আপনি কি ধরনের ইউজার। যদি রুট ইউজার হন তাহলে (#) থাকবে আর যদি রেগুলার ইউজার হন তাহলে ($) হবে।

আর যদি কোনো সময় টার্মিনাল এর শুরুটা নিচের মত দেখা যায় তাহলে আপনি যে ইউসার দিয়ে লগইন করে আছেন সেই ইউজার এর হোম ডিরেক্টরি (~) তে আছেন।

[root@serverX ~]#

লিনাক্স ডিরেক্টরি পথ: /dir1/dir2/dir3

উইন্ডোজ ফোল্ডার পথ: C:\Windows\Web\Wallpaper>

মনে রাখবেন (1) - Home Directory (~) : [root@serverX ~]#

মনে রাখবেন (2) - Root Partition (/) : [root@serverX /]#

01. আপনি যেকোনো ডিরেক্টরি থেকে হোম ডিরেক্টরি তে ব্যাক করতে চাইলে নিচের কমান্ড:

[root@serverX Desktop]# cd

[root@serverX Desktop]# cd ~

02. আপনি যে ডিরেক্টরি তে আছেন ওই ডিরেক্টরির ভিতরেই আরেকটা ডিরেক্টরি তে যেতে চাইলে নিচের কমান্ড:

[root@serverX ~]# cd [dirname]

[root@serverX ~]# cd Music

[root@serverX Music]#

নোট: এখানে দেখতে পারছেন যে আপনি 'Music' ডিরেক্টরি তে আছেন

03. আপনি যদি কারেন্ট ডিরেক্টরির মধ্যে কোনো সাব ডিরেক্টরির মধ্যে যেতে চান তাইলে নিচের কমান্ড:

[root@serverX Music]# cd song/bangla/

[root@serverX Music]# cd song/bangla/old

নোট: আমরা একই সময়ে ডিরেক্টরির মধ্যে অন্য আরেকটা ডিরেক্টরির ভিতরও ঢুকতে পারি।

04. আপনি যেকোনো ডিরেক্টরি থেকে Root Partition ( / ) যাইতে চাইলে নিচের কমান্ড:

[root@serverX ~]# cd /

05. আপনি রুট পার্টিশন ( / ) এর আন্ডার-এ কোনো ডিরেক্টরি তে যেতে চাইলে নিচের কমান্ড:

[root@serverX ~]# cd /var

[root@serverX var]#

06. আপনি রুট পার্টিশন ( / ) এর আন্ডার-এ কোনো ডিরেক্টরি ভিতরে আবার কোনো সাব ডিরেক্টরি তে যেতে চান তে যেতে চাইলে নিচের কমান্ড:

[root@serverX ~]# cd /[dir]/[sub dir]/[sub dir]

[root@serverX ~]# cd /var/log

[root@serverX log]#

নোট: অর্থাৎ আপনি এখন ( / ) পার্টিশন এর আন্ডআরে /var ডিরেক্টরি তার আন্ডআরে /var/log ডিরেক্টরির মধ্যে আছেন।

07. আপনি যদি আগের ডিরেক্টরি ( /var ) তে ফিরে যেতে চান তাহলে নিচের কমান্ড:

[root@serverX log]# cd ..

[root@serverX var]#

নোট: এখানে [..] কমান্ড দিয়ে আগের (parent) ডিরেক্টরি তে ফিরে যাওয়া যায় । অর্থাৎ 'log' ডিরেক্টরির আগের (parent) ডিরেক্টরি হলো 'var' তার মানে হলো আমরা এখন '/var' ডিরেক্টরির মধ্যে ।

08. আপনি যদি আগের ডিরেক্টরি ( /var/log ) তে ফিরে যেতে চান তাহলে নিচের কমান্ড:

[root@serverX var]# cd -

[root@serverX log]#

নোট: এখানে 'cd -' এর মাধ্যমে পূর্বের ডিরেক্টরি তে ফিরে যাওয়া যায়।

09. আপনি যদি ২টা Parent ডিরেক্টরি পিছনে ফিরে যেতে চান তাহলে নিচের কমান্ড:

[root@serverX log]# cd ../..

[root@serverX /]#

নোট: অর্থাৎ আপনি প্রথম বার [..] দিয়ে /var এর মধ্যে ব্যাক করছেন ২য় বার [..] দিয়ে '/' root partition -এ ব্যাক করছেন

10. আপনি যদি ২টা Parent ডিরেক্টরি ব্যাক করে রুট পার্টিশন -এ ( / ) গিয়ে আবার অন্য কোনো ডিরেক্টরিতে যেতে চাইলে নিচের কমান্ড:

[root@serverX log]# cd ../../home/student

[root@serverX student]#

 

 

5 commands to check memory usage on Linux

=========== ##### =============

আজকে আমরা লিনাক্স -এ মেমরি (RAM and Swap) রিলেটেড কিছু বিষয় নিয়ে আলাপ করব। লিনাক্স সিস্টেম -এ প্রাইমারি মেমরি হিসেবে RAM এবং সেকেন্ডারি মেমরি বা ভার্চুয়াল মেমরি হিসেবে 'swap' মেমরি ব্যবহার হয়। তো একটা রানিং লিনাক্স সিস্টেম -এ RAM এবং 'swap' এর পরিমান, কত টুকু RAM ব্যবহার হচ্ছে এবং কত টুকু ফ্রি আছে, এছাড়া বিভিন্ন প্রসেস এবং ইউজার অনুযায়ী RAM কত টুকু ব্যবহার হচ্ছে এ সমস্ত বিষয় নিয়ে আলাপ করব।

|

01. 'free -m' কমান্ড এর মাধ্যমে সিস্টেম -এ RAM এবং Swap মেমরি সাইজ, bufferd মেমরি এবং কত টুকু মেমরি (RAM এবং Swap) ফ্রি আছে এই বিষয় গুলোর ইনফরমেশন পাওয়া যাবে।

[root@desktopX ~]# free -m

|

02. নিচের কমান্ড এর মাধ্যমে সিস্টেম এবং কার্নেল এর বিভিন্ন মেমরি রিলেটেড ইনফরমেশন পাওয়া যাবে।

[root@desktopX ~]# cat /proc/meminfo

|

03. নিচের কমান্ড এর মাধ্যমে ভার্চুয়াল মেমরি রিলেটেড ইনফরমেশন পাওয়া যাবে:

[root@desktopX ~]# vmstat

[root@desktopX ~]# vmstat -s

|

04. রিয়েল টাইম প্রসেস অনুযায়ী মেমরি use দেখতে চাইলে নিচের 'top' কমান্ড:

[root@desktopX ~]# top

|

05. নিচের কমান্ড এর মাধ্যমে মেমরি সাইজ, রাম টাইপ (DDR3/DIMM), RAM ভেন্ডর, RAM bus স্পিড, পার্ট নাম্বার, সিরিয়াল নম্বর, এবং অন্যান্য বিষয় গুলো জানা যাবে:

[root@desktopX ~]# dmidecode -t 17

 

 -------------------------

রেড হ্যাট লিনাক্স : Process Management

আজকের টিউটোরিয়ালে আমরা Process ম্যানেজমেন্ট সম্পর্কে শিখবো। Process কি, আমরা সবাই তা জানি। তাই এ নিয়ে বিস্তারিত আলোচনা করলাম না। যেকোন অপারেটিং সিস্টেমেই Process হলো একটি ইন্সট্রাকশন সেট যা মেমোরীতে লোড হয়। কোন কম্পিউটারের প্রতিটি Process কে আলাদাভাবে চিহ্নিত করার জন্য একটি গাণিতিক সংখ্যা ব্যবহৃত হয় যাকে আমরা Process ID বলে থাকি।

Process খোঁজা

রেড হ্যাট লিনাক্সে ps কমান্ডের সাহায্যে মেশিনের বিভিন্ন প্রসেস সম্পর্কে তথ্য দেখা যায়। ps কমান্ডের সাথে বিভিন্ন অপশন যোগ করে আমরা Process সর্ম্পকিত আরো কিছু তথ্য দেখতে পারি।

# ps –A সচল টার্মিনালের সব Process দেখায়।

# ps –x টার্মিনালের সাথে সংযুক্ত নয় এমন সব Process দেখায়।

# ps –u সচলকৃত Process গুলোর ইউজারনেম দেখায়।

# ps –f কোন একটি Process এর প্যারেন্ট Process গুলো দেখায়।

# ps –e সচল টার্মিনালের সব Process দেখায়। (অনেকটা ps –A এর মতো)

# ps –o Process এর কাষ্টমাইজড তথ্য প্রদর্শন করে। এর সাথে অতিরিক্ত কিছু অপশন যোগ করতে হয়। যেমন: pid, comm, nice, %cpu, %mem, state, tty, euser, ruser

কোনো ইউজারের সাথে সংশ্লিষ্ট Process গুলো দেখার জন্য

# pgrep –U root

কোন গ্রুপ এর সাথে সংশ্লিষ্ট Process গুলো দেখার জন্য

# pgrep –g naser

Process কিল করা

কোন একটি চলমান Process কে বন্ধ করাকেই বলে Process Killing

Process ID এর মাধ্যমেঃ

# kill -9 1515

এখানে, 1515 হলো Process ID আর -9 হলো সিগন্যাল (ইমিডিয়েট কিলিং এর জন্য)।

Process এর নাম এর মাধ্যমেঃ

# killall -15 atd

এখানে, atd হলো Process আর -15 হলো সিগন্যাল (পরিষ্কারভাবে কিলিং এর জন্য)।

প্যাটার্ন ম্যাচিং এর মাধ্যমেঃ

# pkill -9 htt*

অর্থাৎ htt দিয়ে শুরু যতগুলো Process আছে সবগুলো কিল করবে।

Process প্রাইওরিটি শিডিউলিং

মেশিনে চলমান Process গুলো প্রাইওরিটির ভিত্তিতে এক্সিকিউট হয়। এই প্রাইওরিটির জন্য একটি ভ্যালু সেট করা থাকে। একে Nice Value বলে। এর রেঞ্জ হলো -20 থেকে 19 । ডিফল্ট ভ্যালু হলো 0 । যে Process এর Nice Value যত কম সেই Process এর প্রাইওরিটি তত বেশি।

কোন Process এর Nice Value দেখার জন্যঃ

# ps –o comm,nice

প্রাইওরিটি পরিবর্তন

কোন একটি Process শুরু হওয়ার সময় বা শুরু হওয়ার পর এর Nice Value পরিবর্তন করা যায়। শুধুমাত্র রুট ইউজারই পারে এই Nice Value পরিবর্তন করতে।

Nice Value পরিবর্তন করার জন্যঃ

# nice –n 5 httpd (Process এর নাম এর মাধ্যমে) অথবা

# renice 5 –p 2020 (Process ID এর মাধ্যমে)

এখানে 5 হলো নতুন Nice Value, যা আমরা httpd এর জন্য এ্যালোকেট করলাম।

 

 ------

 লিনাক্স এর পার্টিশন রিলেটেড ইনফরমেশন যেখানে পার্টিশন name, সাইজ, ফাইল সিস্টেম, সাইজ, ফ্রি স্পেস দেখা যাবে:

======================================

#‎i1. Linux এর পার্টিশন রিলেটেড ইনফরমেশন, যেখানে হার্ড ডিস্ক নাম, কয়টা পার্টিশন আছে, ফাইল সিস্টেম কি, ব্লক এবং সেক্টর সম্পর্কে আইডিয়া পাওয়া যাবে:

[root@serverX~ ]# fdisk -l

#‎i2. নিচের কমান্ড ব্যবহার করে আপনি 'fdsik -l' মত আউটপুট পাবেন, কিন্তু এখানে আরো বিস্তারিত ভাবে বুঝতে পারবেন। sector, cylinder, block সম্পর্কে বিস্তারিত জানতে পারবেন:

[root@serverX~ ]# sdisk -l

#‎i3 নিচের কমান্ড ব্যবহার করে আপনি Head, sectors, Track, Cylinder, primary, এক্সটেন্ডেড, লজিকাল পার্টিশন এর ইনফরমেশন পাবেন:

[root@desktopX ~]# cfdisk

#‎i4. Linux এর মাউন্ট পার্টিশন দেখার জন্য:

[root@desktopX ~]# df -h | grep sda

*** এখানে সুধু Total সাইজ, used স্পেস এবং ফ্রি স্পেস দেখা যাবে এবং ক্যালকুলেশন ১০২৪ byte (IEC) ইউনিট-এ:

#‎i5. নিচের কমান্ড ব্যবহার করে আপনি ফাইল সিস্টেম টাইপ সহ, SI ইউনিট -এ পাবেন:

[root@desktopX ~]# df -HT | grep sda

#‎i6. নিচের কমান্ড ব্যবহার করে আপনি আপনার সিস্টেম -এ কতগুলা Block ডিভাইস আছে (HDD, DVD, USB) এবং সেগুলার সাইজ, পার্টিশন এন্ড ডিস্ক Layout পাবেন:

[root@desktopX ~]# lsblk

#‎i7. নিচের কমান্ড ব্যবহার করে আপনি লিনাক্স সিস্টেমে পার্টিশন ID (sda1,sda2,sda3) ছাড়াও UUID বা block ID বের করে সেই block ID দিয়ে মাউন্ট বা এক্সেস করতে পারেন । Block ID দিয়ে কাজ করার সুবিধা হলো, যদি কোনো কারণে হার্ড ডিস্ক এর পার্টিশন চেঞ্জ হয় অর্থাৎ sda7 থেকে sda6 হইছে, তাহলে কোনো সমস্যা হবে না।

[root@desktopX ~]# blkid 

[root@desktopX ~]# blkid /dev/sda1

#‎i8. লিনাক্স সিস্টেমে MBR based পার্টিশন করার জন্য নিচের কমান্ড করতে পারেন। MBR দিয়ে maximum ১৫ টা পার্টিশন করা যায়।

[root@desktopX ~]# fdisk /dev/sda

#‎i9. লিনাক্স সিস্টেমে GPT based পার্টিশন করার জন্য নিচের কমান্ড করতে পারেন। GPT দিয়ে maximum ১২৮ টা পার্টিশন করা যায়।

[root@desktopX ~]# gdisk /dev/sda

#‎i10. নিচের কমান্ড GNU Utility ব্যবহার করে আপনি MS-DOS অথবা GPT Format পার্টিশন টেবিল ইনফরমেশন, Size, পার্টিশন তৈরী, ডিলিট, আপডেট, modify এবং কপি করতে পারেন:

[root@desktopX ~]# parted

রেড হ্যাট লিনাক্স : Hard Disk Partition

আজকের টিউটোরিয়ালে আমরা শিখবো রেড হ্যাট লিনাক্সে কিভাবে হার্ড ডিস্ক পার্টিশন করা হয়। হার্ড ডিস্ক এ দুই ধরণের পার্টিশন করা যায়। ১। Primary partition ২। Extended Partition

একটি Extended Partition এর অধীনে আবার একাধিক Logical Partition করা যায়।

একটি HDD তে সর্বোচ্চ চারটি পার্টিশন করা যায়। যেমনঃ চারটি Primary partition অথবা তিনটি Primary partition ও একটি Extended Partition

যদি আমাদের হার্ডডিস্কটি SATA হয় তাহলে আমরা একটি Extended Partition এর অধীনে সর্বোচ্চ ১৫টি এবং যদি IDE হয় তাহলে সর্বোচ্চ ৬৩টি Logical Partition করতে পারবো।

লিনাক্স ইন্সটলেশনের সময় যে পার্টিশনগুলো তৈরী করা হয় সেগুলো Primary partition হিসেবে তৈরী হয়। লিনাক্স ইন্সটলেশনের সময় Extended Partition তৈরী করা যায় না, ইন্সটলেশনের পরে তৈরী করতে হয়। তাই ঐ সময় সর্বোচ্চ তিনটি পার্টিশন তৈরী করাই ভাল। এতে করে পরবর্তীতে আরেকটি Extended Partition করা সম্ভব হবে।

ফাইল সিস্টেমঃ লিনাক্সে বিভিন্ন ধরণের ফাইল সিস্টেম আছে। যেমন: ext3 (extended 3), ext4 (extended 4), swap ইত্যাদি।

লিনাক্সে swap হলো একধরণের পার্টিশন যা ভার্চুয়াল মেমোরী হিসেবে কাজ করে। যদি কোন কারণে RAM এ ডাটার ওভার ফ্লো হয় তাহলে RAM এর অতিরিক্ত ডাটা এই swap মেমোরীতে লোড হয়। এতে সিস্টেমটি অনাকাঙ্খিত ক্র্যাশের কবল থেকে রক্ষা পায়।

মাউন্ট পয়েন্টঃ লিনাক্সে যতগুলো হার্ডডিস্ক পার্টিশন তৈরী করা হোক না কেন সেগুলোর প্রত্যেকটিরই একটি মাউন্ট পয়েন্ট থাকে। অর্থাৎ কোন একটি পার্টিশন কোন ডাইরেক্টরীর জন্য ব্যবহৃত হবে তা ডিফাইন করে দিতে হবে। ডিফাইন করা ঐ ডাইরেক্টরীকেই উক্ত পার্টিশনের মাউন্ট পয়েন্ট বলে।

পার্টিশন দেখার জন্য

# fdisk -cul /dev/sda

পার্টিশন ও ফ্রি স্পেস দেখার জন্য

# parted /dev/sda

(parted) print free

মাউন্ট পয়েন্ট দেখার জন্য

# df -h

নতুন পার্টিশন তৈরী করতে হলে

১. # fdisk -cu /dev/sda

২. Enter “m” for help

৩. Enter “n” for new partition

৪. Enter “e” for extended partition or “p” for primary partition or “l” for logical partition

যদি মেশিনটিতে আগে থেকেই তিনটি Primary partition ও একটি Extended Partition তৈরী করা থাকে তাহলে ৪ নং ধাপটি দেখাবে না।

৫. Enter “partition number”

Extended Partition এর অধীনে Logical Partition তৈরী করার সময় ৫ নং ধাপটি দেখাবে না। partition number অটোমেটিকভাবে জেনারেট হবে।

৬. First Sector: press enter // Leave it BLANK

৭. Last Sector: +200M // For 200MB Partition

৮. Enter “w” // To SAVE / WRITE Partition

৯. # reboot // To upgrade karnel partition table

মেশিন রিবুট হওয়ার পরঃ

আমাদের তৈরী করা পার্টিশনটি যদি primary partition হয় তাহলে ১০ নং ধাপে যাবো। আর যদি Extended Partition হয় তাহলে ঐ পার্টিশনের অধীনে একটি Logical Partition তৈরী করে মেশিনটি আরেকবার রিবুট করে তারপর ১০ নং ধাপে যাবো।

১০ নং ধাপে যাওয়ার আগে আমরা নিশ্চিত হবো আমাদের তৈরী করা পার্টিশনটি কি নামে তৈরী হয়েছে। এ জন্য

# fdisk -cul /dev/sda

Enter “p” to print partition table

Enter “q” to quit

অতঃপর.......

১০. # mkfs.ext4 /dev/sda5 // To Define File System to EXT4

১১. # mkdir /test

১২. # mount /dev/sda5 /test

এতে আমাদের পার্টিশনটি সাময়িকভাবে মাউন্ট হলো। সাময়িকভাবে মাউন্ট হওয়া পার্টিশনগুলোর এন্ট্রি থাকে /etc/mtab নামক ফাইলে। কিন্তু মেশিন রিবুট হলে তা আর পাওয়া যাবে না। তাই পার্টিশনটি স্থায়ীভাবে মাউন্ট করতে হবে, আর এজন্য /etc/fstab নামক ফাইলে নিচের মতো করে এন্ট্রি দিতে হবে।

১৩. # vi /etc/fstab // To Mount Permanently

/dev/sda5 /test ext4 defaults 0 0

১৪. # mount –a // To Check /etc/fstab File

আমাদের পার্টিশনের কাজ শেষ। এখন আমরা তৈরী করা পার্টিশনটি /test ডাইরেক্টরীর মাধ্যমে ব্যবহার করতে পারবো।

কোন পার্টিশন ডিলিট করতে হলে

কোন পার্টিশন ডিলিট করতে হলে প্রথমে অবশ্যই ঐ পার্টিশনটিকে আনমাউন্ট করে নিতে হবে।

১. # umount /test

অতঃপর পার্টিশন ডিলিট করতে হবে।

২. # fdisk -cul /dev/sda

৩. Enter “p” to print partition table

৪. Enter “d” to delete a partition

৫. Enter “partion number”

৬. Enter “w” to save/write partition

পার্টিশন ডিলিট করার পর /etc/fstab নামক ফাইল থেকে ঐ পার্টিশনের জন্য যে এন্ট্রি দেওয়া হয়েছিল তা ডিলিট করতে হবে।

৭. # vi /etc/fstab

৮. # mount –a

নতুন SWAP পার্টিশন তৈরী করতে হলে

আমারা ইতিমধ্যে জেনেছি যে, SWAP পার্টিশন কি এবং তা কেন তৈরী করতে হয়। SWAP পার্টিশন মূলত লিনাক্স ইন্সটলের সময়ই তৈরী করা হয়। এর সাইজ হয় সাধারণত র‌্যামের সাইজের দ্বিগুন। কিন্তু যদি আমরা SWAP পার্টিশনের সাইজ বাড়াতে চাই তা পারবো না। কারণ লিনাক্স ইন্সটলেশনের সময় তৈরী করা SWAP পার্টিশনের সাইজ বাড়ানো বা কমানো যায় না। তবে আমরা একটি কাজ করতে পারি, আমরা একটি নতুন পার্টিশন তৈরী করে তা SWAP পার্টিশনের সাথে মার্জ করতে পারি। এতে করতে SWAP এর জন্য মেমোরী বাড়ানো যাবে।

প্রথমে আমরা দেখে নেব সিষ্টেমে বর্তমান SWAP পার্টিশনের অবস্থা।

# free -m

অতঃপর আমরা একটি নতুন পার্টিশন তৈরী করবো এবং পার্টিশন টাইপ পরিবর্তন করবো।

১. # fdisk -cu /dev/sda

২. Enter “n” for new partition

৩. Enter “l” for logical partition

৪. First Sector: press enter // Leave it BLANK

৫. Last Sector: +200M // For 200MB Partition

৬. Enter “t” // To Change Partition TYPE

৭. Enter “partition number”

৮. Enter “82” // “82” is the Partition type for SWAP

৯. Enter “w” // To SAVE/WRITE Partition

১০. # reboot // To upgrade karnel partition table

মেশিন রিবুট হওয়ার পর

১১. # mkswap /dev/sda5 // To Define File System to SWAP

১২. # swapon /dev/sda5 // To Enable SWAP File System

অতঃপর /etc/fstab নামক ফাইলে নিচের মতো করে এন্ট্রি দিতে হবে।

১৩. # vi /etc/fstab

/dev/sda5 swap swap defaults 0 0

১৪. # reboot

মেশিন রিবুট হওয়ার পর আমরা দেখবো আমাদের তৈরী করা পার্টিশনটি SWAP মেমোরী হিসেবে কাজ করছে কি না।

১৫. # free -m

বিঃ দ্রঃ SWAP পার্টিশন তৈরী করার পর একে মাউন্ট করার প্রয়োজন হয় না।

SWAP পার্টিশন ডিলিট করতে হলে

কোন SWAP পার্টিশন ডিলিট করতে হলে প্রথমে SWAP পার্টিশনটি ডিসএ্যাবল করে নিতে হবে।

১. # swapoff /dev/sda5

SWAP পার্টিশনটি ডিসএ্যাবল করার পর /etc/fstab নামক ফাইল থেকে ঐ পার্টিশনের জন্য যে এন্ট্রি দেওয়া হয়েছিল তা ডিলিট করতে হবে।

২. vi /etc/fstab

/etc/fstab ফাইলের এন্ট্রি ডিলিট করার পর মেশিন রিবুট করতে হবে।

৩. # reboot

মেশিন রিবুট হওয়ার পর পার্টিশনটি ডিলিট করতে হবে।

৪. # fdisk -cul /dev/sda

৫. Enter “p” to print partition table

৬. Enter “d” to delete a partition

৭. Enter “partition number”

৮. Enter “w” to save / write partition

পার্টিশন ডিলিট করার পর মেশিন পুনরায় রিবুট করতে হবে।

৯. # reboot

মেশিন রিবুট হওয়ার পর আমরা দেখবো আমাদের তৈরী করা পার্টিশনটি SWAP মেমোরী থেকে বাদ হয়েছে কি না।

১০. # free -m

 

 

রেড হ্যাট লিনাক্স : Logical Volume Manager (LVM)

আজকের টিউটোরিয়ালে আমরা শিখবো LVM সম্পর্কে। আমরা যখন কোন হার্ডডিস্ক পার্টিশন করি তখন পার্টিশনটির একটি সাইজ নির্দিষ্ট করে দিই যা পরবর্তীতে আর বাড়ানো যায় না। সেই নির্দিষ্ট সাইজের পার্টিশনটিতে ডাটা জমতে জমতে এমন একটা সময় আসে যখন আর কোন ফ্রি স্পেস অবশিষ্ট থাকে না। ফ্রি স্পেস না থাকলে ঐ পার্টিশন বা মাউন্ট করা ডাইরেক্টরীটিতে নতুন ডাটা রাখা সম্ভব হয় না। ধরুন, এটা যদি হয় কোন মেইল সার্ভার বা ডাটাবেজ সার্ভার সেক্ষেত্রে আবার নতুন ডাটা রাখার জন্য ঐ পার্টিশনের পুরাতন কোন ডাটা ডিলিট করাও যাবে না কারণ ডাটাগুলো খুবই গুরুত্বপূর্ণ। এক্ষেত্রে আমাদের খুবই সমস্যার মধ্যে পড়তে হয়। সেই সমস্যার সমাধান হিসেবে লিনাক্সে রয়েছে এমন একটি ব্যবস্থা যার সাহায্যে আমরা পার্টিশনের কোন ডাটা ডিলিট না করে ঐ পার্টিশনের ফ্রি স্পেস বাড়াতে পারি। আর এই কাজটি করা হয় Logical Volume Manager অর্থাৎ LVM এর মাধ্যমে।

এজন্য লিনাক্স ইন্সটলেশনের সময়ই আমাদের হার্ডডিস্কটিকে সাধারণভাবে পার্টিশন না করে LVM পার্টিশন করতে হবে। পরবর্তীতে যখন হার্ডডিস্কে জায়গা স্বল্পতা দেখা দিবে তখন মেশিনটিতে নতুন আরেকটি হার্ডডিস্ক যুক্ত করতে হবে এবং তাতে LVM পার্টিশন তৈরী করতে হবে। এবং LVM পার্টিশনযুক্ত হার্ডডিক্স দুইটিকে লজিক্যালি একটি হার্ডডিস্ক হিসেবে কাজ করাতে হবে। তো দেখা যাক কাজটি কিভাবে করতে হয়।

ধরুন, আমাদের হার্ডডিস্কে তিনটি পর্টিশন আছে। এই পার্টিশন তিনটি হলোঃ /dev/sda5, /dev/sda6/dev/sda7 যার প্রত্যেকটির সাইজ 300MB । আমরা এখন এই পার্টিশন তিনটিকে LVM এর মাধ্যমে এমনভাবে কনফিগার করবো যাতে তিনটি পার্টিশনের জায়গা একত্রিত হয়ে একটি পার্টিশন হিসেবে কাজ করে এবং জায়গা বেড়ে যায়। অর্থাৎ আমাদের ফিজিক্যাল পার্টিশন তিনটি কিন্তু লজিক্যাল পার্টিশন হবে একটি। পরবর্তীতে যদি আবারো জায়গা স্বল্পতা দেখা দেয় তবে চতুর্থ আরেকটি পার্টিশন এর সাথে যুক্ত করে জায়গা আরো বাড়ানো যাবে।

প্রথমে আমরা তিনটি ফিজিক্যাল পার্টিশনের প্রত্যেকটিকে Physical Volume (PV) হিসেবে কনফিগার করবো। অতঃপর তিনটি Physical Volume (PV) কে একত্রিত করে একটি Volume Group (VG) তৈরী করবো। সবশেষে এই Volume Group (VG) থেকে এক বা একাধিক Logical Volume (LV) তৈরী করবো। আমাদের তৈরী করা সেই Logical Volume (LV) গুলোই হবে এক একটি লজিক্যাল পার্টিশন যার স্পেস আমরা ইচ্ছা করলেই বাড়াতে বা কমাতে পারবো। নিচের চিত্রটি দেখুনঃ

তো শুরু করা যাক…………

প্রথমে আমরা তিনটি নতুন Logical Partition তৈরী করবো। এবং পার্টিশন তিনটির Partition ID পরিবর্তন করে “8e” করবো। পার্টিশন তিনটির ফাইল সিস্টেম এখনই ডিফাইন করা যাবে না এবং পার্টিশনগুলোকে মাউন্ট করাও যাবে না। উপরিউল্লেখিত কাজটি করার পর আমরা মেশিনটি রিস্টার্ট দিব।

অতঃপর আমরা পার্টিশন তিনটির Physical Volume (PV) তৈরী করবো।

# pvcreate /dev/sda5 /dev/sda6 /dev/sda7

Physical Volume (PV) তৈরী করার সময় এর কোন নাম দিতে হয় না। Physical Volume (PV) তৈরী করা হলে আমরা তিনটি Physical Volume (PV)কে একত্রিক করে একটি Volume Group (VG) তৈরী করবো।

# vgcreate VG1 /dev/sda5 /dev/sda6 /dev/sda7

Volume Group (VG) তৈরী করার সময় এর একটি নাম দিতে হয়। আমরা আমাদের Volume Group (VG) টির নাম দিয়েছি VG1

Volume Group (VG) তৈরী করার মাধ্যমে আমরা তিনটি ফিজিক্যাল পার্টিশনকে একটি ভলিউম গ্রুপে যুক্ত করলাম। আমাদের তৈরী করা এই Volume Group (VG) এর সাইজ হলো 900MB এবং আইডেন্টিটি হবে /dev/VG1 । এখন এই Volume Group (VG) থেকে আমরা এক বা একাধিক Logical Volume (LV) তৈরী করবো।

# lvcreate -n LV1 –L 250M VG1

আমরা এখানে LV1 নামে একটি Logical Volume (LV) তৈরী করেছি যার সাইজ 250MB এবং আইডেন্টিটি হবে /dev/VG1/LV1 । এখন আমরা এই Logical Volume (LV) টির ফাইল সিস্টেম ডিফাইন করবো।

# mkfs.ext4 /dev/VG1/LV1

অতঃপর Logical Volume (LV) টি কে ব্যবহার করার জন্য আমরা /newlv নামে একটি ডাইরেক্টরী তৈরী করবো এবং এই ডারেক্টরীর মধ্যে Logical Volume (LV) টি কে মাউন্ট করবো।

# mkdir /newlv

# mount /dev/VG1/LV1 /newlv

এবং স্থায়ীভাবে মাউন্ট করার জন্য /etc/fstab ফাইলে নিচের মতো করে এন্ট্রি দিব।

# vi /etc/fstab

/dev/VG1/LV1 /newlv ext4 defaults 0 0

/etc/fstab ফাইলের এন্ট্রি চেক করার জন্য নিচের কমান্ড দিব।

# mount –a

আমাদের Logical Volume (LV) তৈরী করার কাজ শেষ। আমরা নিচের কমান্ডের সাহায্যে Volume Group (VG) ও Logical Volume (LV) এর তথ্য দেখতে পারি।

# vgdisplay

# lvdisplay

Extending Logical Volume Size

আমরা LV1 নামে 250MB এর যে Logical Volume তৈরী করেছি তার সাথে যদি আরো 100MB স্পেস যোগ করতে চাই তাহলে নিচের কমান্ডের সাহায্যে তা করতে পারি।

# lvextend -L +100M /dev/VG1/LV1

# resize2fs /dev/VG1/LV1

# df -h

Logical Volume এর সাইজ বাড়ানোর জন্য Logical Volume টি কে আনমাউন্ট করার প্রয়োজন হয় না এবং কোন ঝামেলাও নেই বললেই চলে।

Reducing Logical Volume Size

এখন আমাদের LV1 নামে যে 350MB সাইজের Logical Volume আছে তা থেকে যদি 100MB স্পেস কমাতে চাই তাহলে নিচের কমান্ডের সাহায্যে তা করতে পারি। Logical Volume এর সাইজ কমানোর জন্য আমাদেরকে একটু সতর্ক থাকতে হবে এবং অবশ্যই Logical Volume টি কে আনমাউন্ট করে নিতে হবে। প্রথমে আমরা নিচের কমান্ডের সাহায্যে মাউন্ট পয়েন্টগুলো দেখে নিব।

# df -h

অতঃপর Logical Volume টি কে আনমাউন্ট করে নিব।

# umount /newlv

Logical Volume এর ফাইল সিস্টেম চেক করবো।

# e2fsck –f /dev/VG1/LV1

Logical Volume কে Warning দিব যে তার সাইজ 250MB করা হবে, এর জন্য সে যেন প্রস্তুত হয়।

# resize2fs /dev/VG1/LV1 250M

সবশেষে Logical Volume এর সাইজ কমানোর জন্য নিচের কমান্ড দিব।

# lvreduce –L 200M /dev/VG1/LV1

এবং /etc/fstab ফাইলের এন্ট্রি চেক করবো।

# mount –a

Extending Volume Group

এখন আমরা চাচ্ছি প্রত্যেকটি 300MB এর তিনটি ফিজিক্যাল পার্টিশন দিয়ে আমরা 900MB এর যে Volume Group তৈরী করেছি এই Volume Group এর সাইজ বাড়াবো। এর জন্য আমাদের নতুন আরেকটি পার্টিশন যেমনঃ /dev/sda8 নামে একটি পার্টিশন তৈরী করবো এবং এর Partition ID পরিবর্তন করে “8e” করবো। অতঃপর মেশিনটি রিবুট দিব।

মেশিন রিবুট দেওয়ার পর আমরা আমরা /dev/sda8 পার্টিশনটির Physical Volume (PV) তৈরী করবো।

# pvcreate /dev/sda8

Physical Volume (PV) তৈরী করার পর নিচের কমান্ডের মাধ্যমে তা VG1 নামের Volume Group (VG) এ যুক্ত করে নিব।

# vgextend VG1 /dev/sda8

====== NTFS Partition Mount in RHEL/CentOS 7 [পার্টিশন মাউন্ট] ====

আজকে আমরা লিনাক্স (RHEL/CentOS/Fedora) থেকে কিভাবে windows NTFS পার্টিশন মাউন্ট বা এক্সেস করা যায় সেটা step by step দেখব। Windows এর আরেকটি পার্টিশন FAT32 (লিনাক্স -এ যেটা vfat নামে পায়) যেটা যেকোনো লিনাক্স ডিস্ট্রিবিউশন থেকে অটোমেটিক্যালি access করা যায়। কিন্তু windows এর NTFS পার্টিশন (RHEL/CentOS/Fedora) ডিস্ট্রিবিউশন এক্সেস করা যায় না। যদিও অন্যান্য লিনাক্স ডিস্ট্রিবিউশন যেমন: Ubuntu, Mint, Backtrack মত কিছু ডেস্কটপ অপারেটিং সিস্টেম থেকে সহজেই এক্সেস করা যায়। তো আজকে আমরা NTFS পার্টিশন (RHEL/CentOS/Fedora) লিনাক্স ডিস্ট্রিবিউশন কিভাবে মাউন্ট বা এক্সেস করা যায় সেটা দেখব। আমরা আমাদের কাজ টি করার জন্য 'RHEL/CentOS 7' ভার্সন ব্যবহার করব।

|

|

|

NTFS ফাইল পার্টিশন এক্সেস করার জন্য লিনাক্স কার্নেল -এ NTFS এর মডিউল ইনস্টলড থাকতে হবে। মডিউল তার নাম হলো 'fuse' । আমরা নিচের কমান্ড এর মাধ্যমে 'fuse' মডিউল চেক করতে পারি। যদিও কার্নেল ভার্সন 2.6.18-164 বা এর পরের ভার্সন গুলোতে 'fuse' মডিউল builtin থাকে। মডিউল চেক করার কমান্ড:

|

|

[root@desktopX ~]# lsmod | grep fuse

|

আমরা NTFS পার্টিশন এক্সেস করার জন্য 'ntfs-3g' নামের একটি RPM বা প্যাকেজ ইনস্টল করতে হবে। 'ntfs-3g' হলো NTFS ফাইল সিস্টেম এর ড্রাইভার। 'ntfs-3g' RPM ইনস্টল করার পর NTFS ফাইল সিস্টেমর এর কিছু feature যোগ হবে। যেহেতু 'ntfs-3g' একটি থার্ড পার্টি RPM বা প্যাকেজ, সেহেতু এটা এর 'RHEL/CentOS 7' ডিভিডি তে পাবেন না। এই প্যাকেজ টি ইনস্টল করার জন্য আমরা EPEL Repository ব্যবহার করব। EPEL এর ফুল অর্থ হলো 'Extra Package for Enterprise Linux' । অর্থাৎ যে সকল প্যাকেজ গুলো 'RHEL/CentOS 7' ডিভিডি তে পাওয়া যায় না, সেইগুলো আমরা Fedora এর সাইট থেকে 'YUM install' কমান্ড এর মাধ্যমে ডাউনলোড করতে পারব।

|

|

Step 01: প্রথমে আমরা 'wget' কমান্ড দিয়ে 'fedoraproject.org' সাইট থেকে 'epel' এর RPM টা /opt ডিরেক্টরির আন্ডার -এ ডাউনলোড করি:

|

[root@desktopX ~]# cd /opt/

[root@desktopX opt]# wget http://dl.fedoraproject.org/…/x86_64/e/epel-release-7-5.noa…

[root@desktopX opt]# ls

epel-release-7-5.noarch.rpm

|

Step 02: 'rpm -ivh' কমান্ড দিয়ে ম্যানুয়ালি 'epel' প্যাকেজ টি ইনস্টল করব:

[root@desktopX opt]# rpm -ivh epel-release-7-5.noarch.rpm

EPEL' প্যাকেজ টি ইনস্টল করার পর লিনাক্স সিস্টেম EPEL Repository এর এক্সেস পাবে।

|

Step 03: এখন আমরা 'yum install 'ntfs-3g' কমান্ড এর মাধ্যমে ''ntfs-3g' ' প্যাকেজ টি ইনস্টল করব।

[root@desktopX opt]# 'yum install 'ntfs-3g'

|

Step 04: আমরা 'fdisk -l' কমান্ড দিয়ে দেখব যে কোন পার্টিশন গুলো 'NTFS' বা কোন পার্টিশন টা আমরা মাউন্ট বা এক্সেস করব:

[root@desktopX opt]# fdisk -l

|

Step 05: নিচের কমান্ড এর মাধ্যমে আমরা 'NTFS' পার্টিশন মাউন্ট এবং এক্সেস করব । আপনার সিস্টেম -এ যদি NTFS পার্টিশন টি /dev/sda3 এই নামে পাই, তাহলে নিচের কমান্ড :

[root@desktopX opt]# mount -t ntfs /dev/sda3 /mnt

Note: এখানে '-t' হলো Type এবং /mnt হলো মাউন্ট পয়েন্ট।

|

Step 06 : পার্টিশন এক্সেস করতে চাইলে আমরা /mnt ডিরেক্টরির মধ্যে প্রবেশ করি:

[root@desktopX opt]# cd /mnt

[root@desktopX mnt]# ls

|

Step 07 : Unmount করার জন্য নিচের কমান্ড:

[root@desktopX mnt]# cd

[root@desktopX ~]# umount /mnt

----------