Làm thế nào để giải phóng không gian trên RHEL6 / khởi động an toàn?


17

Tôi đang cố gắng thực hiện yum updatetrên hộp RHEL 6 và tôi nhận được thông báo lỗi này

Transaction Check Error:
  installing package kernel-2.6.32-279.9.1.el6.x86_64 needs 10MB on the /boot filesystem
  installing package grub-1:0.97-77.el6.x86_64 needs 10MB on the /boot filesystem

Error Summary
-------------
Disk Requirements:
  At least 10MB more space needed on the /boot filesystem.

My / boot có những thứ sau đây

# ls -lah /boot
total 74M
dr-xr-xr-x.  5 root root 2.0K Jun 10 08:05 .
drwxr-xr-x. 23 root root 4.0K Aug 27 03:08 ..
-rw-r--r--   1 root root  99K Apr 26 12:53 config-2.6.32-220.17.1.el6.x86_64
-rw-r--r--   1 root root  99K Feb 10  2012 config-2.6.32-220.7.1.el6.x86_64
-rw-r--r--.  1 root root  99K Nov  9  2011 config-2.6.32-220.el6.x86_64
drwxr-xr-x.  3 root root 1.0K Mar 29  2012 efi
drwxr-xr-x.  2 root root 1.0K Jun 10 07:53 grub
-rw-r--r--   1 root root  15M Jun 10 07:53 initramfs-2.6.32-220.17.1.el6.x86_64.img
-rw-r--r--   1 root root  15M Mar 29  2012 initramfs-2.6.32-220.7.1.el6.x86_64.img
-rw-r--r--.  1 root root  15M Mar 29  2012 initramfs-2.6.32-220.el6.x86_64.img
-rw-------   1 root root 3.4M Jun 10 08:06 initrd-2.6.32-220.17.1.el6.x86_64kdump.img
-rw-------   1 root root 3.5M Jun 10 07:53 initrd-2.6.32-220.7.1.el6.x86_64kdump.img
-rw-------   1 root root 3.4M Mar 29  2012 initrd-2.6.32-220.el6.x86_64kdump.img
drwx------.  2 root root  12K Mar 29  2012 lost+found
-rw-r--r--   1 root root 168K Apr 26 12:55 symvers-2.6.32-220.17.1.el6.x86_64.gz
-rw-r--r--   1 root root 168K Feb 10  2012 symvers-2.6.32-220.7.1.el6.x86_64.gz
-rw-r--r--.  1 root root 168K Nov  9  2011 symvers-2.6.32-220.el6.x86_64.gz
-rw-r--r--   1 root root 2.3M Apr 26 12:53 System.map-2.6.32-220.17.1.el6.x86_64
-rw-r--r--   1 root root 2.3M Feb 10  2012 System.map-2.6.32-220.7.1.el6.x86_64
-rw-r--r--.  1 root root 2.3M Nov  9  2011 System.map-2.6.32-220.el6.x86_64
-rwxr-xr-x   1 root root 3.8M Apr 26 12:53 vmlinuz-2.6.32-220.17.1.el6.x86_64
-rw-r--r--   1 root root  171 Apr 26 12:53 .vmlinuz-2.6.32-220.17.1.el6.x86_64.hmac
-rwxr-xr-x   1 root root 3.8M Feb 10  2012 vmlinuz-2.6.32-220.7.1.el6.x86_64
-rw-r--r--   1 root root  170 Feb 10  2012 .vmlinuz-2.6.32-220.7.1.el6.x86_64.hmac
-rwxr-xr-x.  1 root root 3.8M Nov  9  2011 vmlinuz-2.6.32-220.el6.x86_64
-rw-r--r--.  1 root root  166 Nov  9  2011 .vmlinuz-2.6.32-220.el6.x86_64.hmac

đây là cách sử dụng đĩa khi khởi động

# du -h
13K ./lost+found
282K    ./grub
247K    ./efi/EFI/redhat
249K    ./efi/EFI
251K    ./efi
75M .

Vấn đề là khi tôi nhận được bộ cắt này tại ISP của mình, tôi đã sử dụng hình ảnh mặc định của họ cho RHEL 6, chỉ phân bổ 100MB cho / khởi động rõ ràng là không đủ. Làm thế nào tôi có thể khắc phục vấn đề này, liệu có an toàn để xóa bất kỳ tệp nào ở trên không, một số trong số chúng dường như nằm trên đĩa nhiều lần? Có cách nào để mở rộng / khởi động mà không cần chụp lại hình ảnh của máy không?

Câu trả lời:


16

Lệnh sau sẽ xóa TẤT CẢ các phiên bản kernel, ngoại trừ phiên bản bạn đang chạy:

sudo yum remove `rpm -q kernel | grep -v 'uname -r'`

và để đi tiếp, mỗi ⁠7,4. Cấu hình kho lưu trữ Yum và Yum :

⁠Installonly_limit = value

Giá trị trong đó là một số nguyên biểu thị số lượng phiên bản tối đa có thể được cài đặt đồng thời cho bất kỳ gói nào được liệt kê trong chỉ thị installonlypkgs. Mặc định cho chỉ thị installonlypkgs bao gồm một số gói kernel khác nhau, do đó, lưu ý rằng việc thay đổi giá trị của installonly_limit cũng sẽ ảnh hưởng đến số lượng phiên bản cài đặt tối đa của bất kỳ gói kernel nào. Giá trị mặc định được liệt kê trong /etc/yum.conf là installonly_limit = 3 và không nên giảm giá trị này, đặc biệt là dưới 2.


4
Có thể để lại một phiên bản trước để có bản sao lưu ...
EasyEcho

1
Bạn cũng có thể làm điều này: rpm -qa | grep -v `uname -r` | grep kernel- để có được danh sách Hạt nhân không được sử dụng?
Pred

Một giải pháp tốt hơn so với @Pred được liệt kê là sử dụng gói dọn dẹp. Xem câu trả lời này để biết cách: serverfault.com/a/562201/98791
một lập trình viên

Không phải lệnh đó cũng loại bỏ kernel hiện tại (vì uname -r được bao quanh bởi 'thay vì `)?
tạm biệt

29

Theo khuyến nghị của MadHatter ở đây . Tôi sẽ đăng câu trả lời của tôi ở đây như một phụ lục cho các câu trả lời ở đây để nó có thể được sử dụng cùng với các câu trả lời được đề xuất ở đây.

Lấy từ trang web sau

## Install yum utils ##
yum install yum-utils

## Package-cleanup set count as how many old kernels you want left ##
package-cleanup --oldkernels --count=2

Điều này sẽ loại bỏ tất cả các hạt nhân cũ hơn và chỉ giữ lại hai hạt nhân gần đây nhất trên centos 6.4, đây có thể là những gì bạn muốn vì các hạt nhân gần đây có sửa lỗi và bạn luôn có thể chuyển sang các hạt nhân cũ hơn nếu các hạt nhân mới không khởi động được. Lệnh trên có nghĩa là bạn không cần phải đi và nói rpm -e xyz trong đó xyz là hạt nhân cụ thể của bạn vì nó tự động giữ những cái mới nhất.

Lưu ý rằng lệnh trên chỉ dọn sạch các gói hiện có nên việc chỉnh sửa yum.conf của bạn là cần thiết nếu bạn không muốn bắt đầu tích lũy lại các gói kernel.


Đồng ý, giải pháp tốt nhất và package-cleanupnhắc bạn về những gì nó sẽ xóa trước khi thực hiện
sMstyle

8

Xóa ít nhất một trong những hạt nhân cũ, như alexus nói.

Sau đó:

Chỉnh sửa /etc/yum.confvà chỉ định giới hạn số lượng phiên bản kernel cần giữ. Mặc định được đặt thành 5, nhưng hệ thống của bạn dường như chỉ có thể xử lý hai:

installonly_limit=2

Cuối cùng, khiếu nại với nhà cung cấp VPS về mẫu lạ. /bootlà 500MB theo mặc định trong cài đặt CentOS 6.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.