Một ngày đẹp trời, khi bạn login vào VPS web hoặc VPS dịch vụ của mình và muốn upgrade các bản vá hệ điều hành cũng như các ứng dụng liên quan, như mọi khi chỉ cần lệnh yum đơn giản là xong, nhưng hôm nay không phải như mọi hôm, một lỗi khó hiểu xuất hiện, chẳng hạn như khi update openssh server:
error: unpacking of archive failed on file /usr/sbin/sshd cpio: rename Failed
Điều đó có nghĩa là trình quản lý RPM muốn thay thế các file binary cũ bằng các file mới, nhưng nó không được phép vì các file binary cũ đã được set thuộc tính “không thay đổi” immutable hay còn gọi là immutable flag. Vì vậy lúc này ta cần xem có phải như vậy không và gỡ bỏ cờ này bằng lệnh sau:
lsattr /usr/sbin/sshd
kết quả như này:
a---iu------ /usr/sbin/sshd
Cờ immutable ứng với chữ “i: kia rồi, xóa bỏ nó thôi, xóa thêm các cờ khác đi kèm:
chattr -i /usr/sbin/sshd chattr -ia /usr/sbin/sshd chattr -iu /usr/sbin/sshd
lúc này file sshd binary trông như sau:
------------ /usr/sbin/sshd
Vậy là nó đã có thể được ghi đè, upgrade lại openssh-server thì thấy mọi thứ OK trơ lại, VPS lại chạy bọn bon như nó vẫn tứng chạy trước đây
Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Updating : sshd 1/2 ............................................... Cleanup : nss 2/2 Updated: openssh-server-5.3p1-104.el6_6.1.i686.rpm Complete!