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