AlmaLinux এবং CentOS Stream: apt-এর বদলে dnf
RHEL পরিবারের জন্য Debian নির্দেশনা কীভাবে মানিয়ে নেবেন: কমান্ড ও প্যাকেজের সমতুল্য, ufw-এর বদলে firewalld, SELinux এবং EPEL রিপোজিটরি।
আপডেট: ২৩ আগস্ট, ২০২৬
AlmaLinux 9 এবং 10 এবং CentOS Stream 9 ডেবিয়ান এবং উবুন্টুর থেকে ভিন্নভাবে কাজ করে। চলুন সবচেয়ে বেশি যেসব জায়গায় মানুষ আটকে যায় সেগুলো দেখে নিই।
কমান্ডের সমতুল্য রূপ
| Debian / Ubuntu | AlmaLinux / CentOS Stream |
|---|---|
apt update && apt upgrade | dnf upgrade |
apt install package | dnf install package |
apt remove package | dnf remove package |
apt search string | dnf search string |
apt list --installed | dnf list installed |
ufw | firewall-cmd |
group sudo | group wheel |
/etc/apt/sources.list | /etc/yum.repos.d/ |
প্যাকেজের নামও ভিন্ন: এখানে apache2 হলো httpd, nginx একই, mysql-server হলো mariadb-server, python3-pip হলো python3-pip, কিন্তু dnsutils-এর নাম bind-utils।
প্রথম পদক্ষেপ
dnf upgrade -y
dnf install -y curl nano git htop tar policycoreutils-python-utils
timedatectl set-timezone Europe/Moscow
hostnamectl set-hostname my-vds
অ্যাডমিনিস্ট্রেটর অধিকারসহ একজন ইউজার:
adduser artem
passwd artem
usermod -aG wheel artem
EPEL রিপোজিটরি
অনেক পরিচিত প্যাকেজ বেস রিপোজিটরিতে নেই — সেগুলো EPEL-এ আছে:
dnf install -y epel-release
dnf upgrade -y
dnf install -y btop fail2ban
ফায়ারওয়াল
এখানে ufw-এর বদলে firewalld ব্যবহার করা হয়:
systemctl enable --now firewalld
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload
firewall-cmd --list-all
--permanentছাড়া রিবুটের পর রুলটি হারিয়ে যাবে, আর--reloadছাড়া এটি এখনই কার্যকর হবে না। আপনার দুটোই দরকার।
SELinux
রহস্যময় ব্যর্থতার প্রধান উৎস: ফাইলের পারমিশন ঠিক আছে, সার্ভিস চলছে, কিন্তু অ্যাক্সেস নেই। মোড দেখতে:
getenforce
সাধারণ কেস এবং সমাধান:
setsebool -P httpd_can_network_connect 1
semanage port -a -t http_port_t -p tcp 8080
restorecon -Rv /var/www
প্রথমটি ওয়েব সার্ভারকে আউটবাউন্ড কানেকশন করার অনুমতি দেয় (কোনো অ্যাপ্লিকেশনে প্রক্সি করার সময় দরকার), দ্বিতীয়টি নন-স্ট্যান্ডার্ড পোর্টে লিসেন করার অনুমতি দেয়, আর তৃতীয়টি অন্যের ডিরেক্টরি থেকে কপি করার পর ফাইল লেবেল ঠিক করে।
এখানে আসলে কী ঘটছে তা দেখতে পারবেন:
ausearch -m avc -ts recent
SELinux সম্পূর্ণ বন্ধ করার দরকার নেই: প্রায় সব ক্ষেত্রেই উপরের তিনটি কৌশলের একটি যথেষ্ট।
আর কী কী আলাদা
- Apache ওয়েব সার্ভারের নাম
httpd, আর এর কনফিগগুলো/etc/apache2/-এ নয়,/etc/httpd/-এ থাকে। - nginx-এ
sites-availableএবংsites-enabledডিরেক্টরি নেই — কনফিগগুলো/etc/nginx/conf.d/*.conf-এ যায়। - ওয়েব সার্ভার ইউজার
www-dataনয়,nginxবাapache।chown-এর ক্ষেত্রে এটি গুরুত্বপূর্ণ।
গেস্ট এজেন্ট
dnf install -y qemu-guest-agent
systemctl enable --now qemu-guest-agent
এই পরিবারটি আদৌ নেবেন কি না নিশ্চিত না হলে, কোন OS বেছে নেবেন দেখুন। আপনি রিইনস্টল দিয়ে OS পরিবর্তন করতে পারেন, তবে সম্পূর্ণ ডেটা হারিয়ে যাবে।