Bangla Linux

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

 

Shutdown, Restart and Logout রিলেটেড কিছু কমান্ড

আজকে আমরা দেখব লিনাক্স এর 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 -g 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 রিলেটেড কমান্ড: পর্ব ০২

আজকে আমরা লিনাক্স -এ বহুল ব্যবহৃত 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

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

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

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

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

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

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

[root@serverX~ ]# useradd -r oracle

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

[root@serverX~ ]# useradd --help

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

[root@serverX~ ]# id [username]

[root@serverX~ ]# id student

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

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

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

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

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

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

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

লিনাক্স সিসেম-এ ইউজার 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

লিনাক্স সিসেম-এ 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

লিনাক্স সিসেম-এ 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$"

Linux -এর grep কমান্ড এর বিস্তারিত

আজকে আমরা লিনাক্স -এ বহুল ব্যবহৃত রেগুলর এক্সপ্রেশন 'grep' কমান্ড নিয়ে আলাপ করব। 'grep' এর ফুল অর্থ হলো grep (global regular expression print । লিনাক্স/ইউনিক্স মত অপারেটিং সিস্টেম -এ কোনো ফাইল এর কনটেন্ট সার্চ করার জন্য 'grep' কমান্ড ব্যবহার করা হয়। ফাইল এর কনটেন্ট/প্যাটার্ন ম্যাচিং হিসেবে সিঙ্গেল ক্যারেক্টার, গ্রুপ ক্যারেক্টার, সিঙ্গেল ওয়ার্ড, গ্রুপ ওয়ার্ড, প্যারাগ্রাফ সার্চ করা যায়। নিচের কিছু উদাহরণের মাধ্যমে আমরা দেখব:

কোনো ফাইল -এর মধ্যে স্পেসিফিক কীওয়ার্ড/প্যাটার্ন সার্চ করার জন্য নিচের কমান্ড:

[root@desktopX ~]# grep 'root' /etc/passwd

➡ 'grep' কে অন্য কমান্ড যেমন (cat, tail, head, less, more, cut) এর সাথে পাইপলাইন (|) দিয়ে করা যায়:

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

যদি কোনো case in-sensitive প্যাটার্ন/কীওয়ার্ড এর খুজতে চান তাহলে option '-i'  ব্যবহার করতে হবে :

[root@desktopX ~]# grep -i 'ssh' /etc/passwd

একাধিক ফাইল এর মধ্যে যদি খুজতে চাই, তাহলে নিচের command:

[root@desktopX ~]# grep -i 'ssh' /etc/passwd  /etc/shadow

স্পেসিফিক প্যাটার্ন/কীওয়ার্ড টা কত নম্বর লাইন -এ আছে সেটা জানতে চাইলে, option 'n'  ব্যবহার করতে হবে

[root@desktopX ~]# grep -n 'student' /etc/passwd  

যদি বাদে (excluding) খুজতে চাই, option '-v'  ব্যবহার করতে হবে:

[root@desktopX ~]# grep -v 'nologin' /etc/passwd  

যে সকল লাইন স্পেসিফিক প্যাটার্ন/কীওয়ার্ড দিয়ে শুরু সেটা বের করার জন্য এই সিম্বল '^' ব্যবহার করতে হবে:

[root@desktopX ~]# grep ^root /etc/passwd

যে সকল লাইন স্পেসিফিক প্যাটার্ন/কীওয়ার্ড দিয়ে শেষ  সেটা বের করার জন্য এই সিম্বল '$' ব্যবহার করতে হবে:

[root@desktopX ~]# grep bash$ /etc/passwd

একাধিক প্যাটার্ন/কীওয়ার্ডখু জতে চাইলে '-e' option ব্যবহার করতে হবে::

[root@desktopX ~]# grep -e 'root' -e 'student' /etc/passwd

কোনো ডিরেক্টরির সকল ফাইল এর মধ্যে '-r' option ব্যবহার করতে হবে:

[root@desktopX ~]# grep -r student /etc/

স্পেসিফিক প্যাটার্ন/কীওয়ার্ড এর আগে এবং পরে ৪ (চার)টা লাইন প্রিন্ট করতে চাইলে:

[root@desktopX ~]# grep -A 4 "games" /etc/passwd

[root@desktopX ~]# grep -B 4 "games" /etc/passwd

সর্বমোট কত গুলো প্যাটার্ন/কীওয়ার্ড match করে সেটা বের করতে চাইলে option '-c'  ব্যবহার করতে হবে:

[root@desktopX ~]# grep -c 'bash' /etc/passwd

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

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

[root@desktopX ~]# uname -a

‪2‬. লিনাক্স কার্নেল এর নাম জানার জন্য নিচের কমান্ড:

[root@desktopX ~]# uname -s

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

[root@desktopX ~]# uname -n

‪4‬. লিনাক্স -একারেন্ট কার্নেল/রিলিজ ভার্সন জানার জন্য নিচের কমান্ড:

[root@desktopX ~]# uname -r

‪5‬. লিনাক্স -একারেন্ট কার্নেল ভার্সন /রিলিজ ডেট জানার জন্য:

[root@desktopX ~]# uname -v

‪6‬. Operating system নাম জানার জন্য:

[root@desktopX ~]# uname -o

‪7‬. মেশিন হার্ডওয়্যার/প্রসেসর Architecture জানার জন্য:

[root@desktopX ~]# uname -m

‪8‬. মেশিন হার্ডওয়্যার/প্রসেসর Architecture জানার জন্য:

[root@desktopX ~]# uname -p

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

[root@desktopX ~]# uname -i

‪10‬. অপারেটিং সিস্টেম ভার্সন জানার জন্য নিচের কমান্ড:

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

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

Linux Networking Related Command Details

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

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

[root@desktopX ~]#  ifconfig -a

[root@desktopX ~]#  ip addr

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

[root@desktopX ~]#  ifconfig

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

[root@desktopX ~]#  ifconfig eth0

4. লিনাক্স -এ ভাবে 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

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

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

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

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

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

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

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 

====== 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