Skip to content
VDS · অপারেটিং সিস্টেম

AlmaLinux এবং CentOS Stream: apt-এর বদলে dnf

RHEL পরিবারের জন্য Debian নির্দেশনা কীভাবে মানিয়ে নেবেন: কমান্ড ও প্যাকেজের সমতুল্য, ufw-এর বদলে firewalld, SELinux এবং EPEL রিপোজিটরি।

আপডেট: ২৩ আগস্ট, ২০২৬

AlmaLinux 9 এবং 10 এবং CentOS Stream 9 ডেবিয়ান এবং উবুন্টুর থেকে ভিন্নভাবে কাজ করে। চলুন সবচেয়ে বেশি যেসব জায়গায় মানুষ আটকে যায় সেগুলো দেখে নিই।

কমান্ডের সমতুল্য রূপ

Debian / UbuntuAlmaLinux / CentOS Stream
apt update && apt upgradednf upgrade
apt install packagednf install package
apt remove packagednf remove package
apt search stringdnf search string
apt list --installeddnf list installed
ufwfirewall-cmd
group sudogroup 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 পরিবর্তন করতে পারেন, তবে সম্পূর্ণ ডেটা হারিয়ে যাবে।