CH-J Server ManagerSSH-এর মাধ্যমে সার্ভার ব্যবস্থাপনা
মেনু
সব নির্দেশিকা ও নিবন্ধ →

সম্পাদনার সময় দূরবর্তী ফাইল বদলে গেছে: ওভাররাইট এড়াবেন যেভাবে

আপনার সম্পাদনার সময় অন্য কেউ সার্ভারের ফাইল বদলেছে কি না শনাক্ত করা, সংস্করণ তুলনা করা এবং কোনো পরিবর্তন না হারিয়ে সেভ করার উপায়।

সমস্যাটি যেভাবে ঘটে

আপনি ফাইল খোলেন এবং নিজের কপি সম্পাদনা করার সময় অন্য কেউ বা অন্য কিছু মূল ফাইলে লেখে: আরেকজন প্রশাসক, কনফিগারেশন ব্যবস্থাপনার কোনো রান, প্যাকেজ আপগ্রেড অথবা অ্যাপ্লিকেশন নিজেই। এরপর সেভ করলে কোনো ত্রুটি ছাড়াই অন্য পরিবর্তনটি হারিয়ে যায়। স্থানীয়ভাবে সম্পাদনা করে SFTP দিয়ে আপলোড করার ক্ষেত্রে এই ঝুঁকি বিশেষভাবে বেশি, কারণ পড়া ও লেখার মধ্যে দীর্ঘ সময় থাকে এবং সাধারণ আপলোড কিছুই তুলনা করে না।

শুরুর আগে অবস্থা লিখে রাখুন

ফাইল ডাউনলোড করার সময় চেকসাম ও সর্বশেষ পরিবর্তনের সময় লিখে রাখুন। আপলোড করার ঠিক আগে সেগুলো আবার যাচাই করুন। চেকসাম আলাদা হলে বুঝতে হবে ফাইল বদলেছে এবং না দেখে সেটি ওভাররাইট করা উচিত নয়।

sha256sum /etc/example.conf
stat -c '%y %U %G %a' /etc/example.conf

পরিবর্তনগুলো তুলনা করে একত্র করুন

আপনার সম্পাদিত কপি নতুন নামে রাখুন, বর্তমান সংস্করণ নিয়ে আসুন এবং তার সঙ্গে যে সংস্করণ থেকে শুরু করেছিলেন ও নিজের সংস্করণ তুলনা করুন। তারপর বর্তমান সংস্করণ ওভাররাইট না করে তাতে নিজের পরিবর্তন প্রয়োগ করুন। diff3 কমান্ড তিনটি সংস্করণ একসঙ্গে দেখাতে পারে।

diff -u example.conf.orig example.conf.current
diff -u example.conf.orig example.conf.mine
diff3 example.conf.mine example.conf.orig example.conf.current

কী ফাইলটি বদলাচ্ছে তা খুঁজুন

ফাইল বারবার বদলাতে থাকলে আবার সম্পাদনা করার আগে কারণ খুঁজে বের করুন। কার কাছে ফাইলটি খোলা আছে দেখুন এবং জার্নাল ও প্যাকেজের ইতিহাস পরীক্ষা করুন। ফাইলটি কনফিগারেশন ব্যবস্থাপনার নিয়ন্ত্রণে থাকলে সেখানে টেমপ্লেট বদলান, নইলে পরবর্তী রান আপনার সম্পাদনা প্রতিস্থাপন করবে।

sudo lsof /etc/example.conf
sudo journalctl --since "1 hour ago" --no-pager | grep example.conf
grep example.conf /var/log/dpkg.log

সতর্কবার্তা কোনো লক নয়

vim ও nano-এর মতো সম্পাদক ফাইল খোলার পরে বদলে গেলে সতর্ক করে, কিন্তু অন্য কোনো প্রক্রিয়াকে তাতে লিখতে বাধা দেয় না। চেকসাম তুলনার ক্ষেত্রেও একই কথা: সেভ করার ঠিক আগের যাচাই ঝুঁকির সময়টুকু খুব ছোট করে, কিন্তু শূন্য করে না। যে সার্ভারে একাধিক ব্যক্তি কাজ করেন, সেখানে সংস্করণ নিয়ন্ত্রণে রাখা কনফিগারেশনের উৎস যেকোনো সম্পাদকের চেয়ে ভালো সুরক্ষা দেয়।

CH-J Server Manager-এ সেভ করার সুরক্ষা

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

বিস্তারিত ডকুমেন্টেশন

man: stat →

man: diff →

বায়োমেট্রিক আনলক ও নিরাপত্তা →