Tôi đã thừa hưởng một máy chủ hết hạn nguy hiểm. Làm thế nào để tôi có kế hoạch nâng cấp nó một cách an toàn?


11

Apticron chạy hàng đêm trên hộp và nói với tôi rằng tôi có khoảng 150 cập nhật cần được thực hiện. Máy chủ đang chạy khá nhiều dịch vụ quan trọng không có bản sao lưu thực sự, vì vậy tôi sợ bắt đầu cập nhật. Làm thế nào tôi nên lập kế hoạch trò chơi này?

Chỉnh sửa: lsb_release:
ID nhà phân phối: Ubuntu
Mô tả: Ubuntu 8.04.3 LTS
Phát hành: 8.04
Tên mã: hardy

The following packages are currently pending an upgrade:

apache2 2.2.8-1ubuntu0.25
apache2.2-common 2.2.8-1ubuntu0.25
apache2-mpm-prefork 2.2.8-1ubuntu0.25
apache2-utils 2.2.8-1ubuntu0.25
apparmor 2.1+1075-0ubuntu9.3
apparmor-utils 2.1+1075-0ubuntu9.3
apt 0.7.9ubuntu17.6
apt-utils 0.7.9ubuntu17.6
base-files 4.0.1ubuntu5.8.04.8
bind9-host 1:9.4.2.dfsg.P2-2ubuntu0.12
bsdutils 1:2.13.1-5ubuntu3.1
bzip2 1.0.4-2ubuntu4.2
clamav 0.97.8+dfsg-1ubuntu1.08.04.1
clamav-base 0.97.8+dfsg-1ubuntu1.08.04.1
clamav-freshclam 0.97.8+dfsg-1ubuntu1.08.04.1
curl 7.18.0-1ubuntu2.4
dhcp3-common 3.0.6.dfsg-1ubuntu9.3
dnsutils 1:9.4.2.dfsg.P2-2ubuntu0.12
dpkg 1.14.16.6ubuntu4.2
dpkg-dev 1.14.16.6ubuntu4.2
fuse-utils 2.7.2-1ubuntu2.3
gnupg 1.4.6-2ubuntu5.2
gpgv 1.4.6-2ubuntu5.2
grub 0.97-29ubuntu21.2
gzip 1.3.12-3.2ubuntu0.1
klibc-utils 1.5.7-4ubuntu5
krb5-user 1.6.dfsg.3~beta1-2ubuntu1.8
ldap-utils 2.4.9-0ubuntu0.8.04.5
libapache2-mod-fcgid 1:2.2-1ubuntu0.8.04.1
libapache2-mod-php5 5.2.4-2ubuntu5.27
libapache2-svn 1.5.1dfsg1-1ubuntu2~hardy3
libapr1 1.2.11-1ubuntu0.2
libaprutil1 1.2.12+dfsg-3ubuntu0.3
libbind9-30 1:9.4.2.dfsg.P2-2ubuntu0.12
libbz2-1.0 1.0.4-2ubuntu4.2
libc6 2.7-10ubuntu8.3
libc6-dev 2.7-10ubuntu8.3
libc6-i686 2.7-10ubuntu8.3
libclamav6 0.97.8+dfsg-1ubuntu1.08.04.1
libcupsys2 1.3.7-1ubuntu3.16
libcurl3 7.18.0-1ubuntu2.4
libcurl3-gnutls 7.18.0-1ubuntu2.4
libdbus-1-3 1.1.20-1ubuntu3.9
libdns35 1:9.4.2.dfsg.P2-2ubuntu0.12
libdns36 1:9.4.2.dfsg.P2-2ubuntu0.12
libexpat1 2.0.1-0ubuntu1.2
libexpat1-dev 2.0.1-0ubuntu1.2
libfreetype6 2.3.5-1ubuntu4.8.04.10
libfreetype6-dev 2.3.5-1ubuntu4.8.04.10
libfuse2 2.7.2-1ubuntu2.3
libgc1c2 1:6.8-1.1ubuntu0.1
libgd2-xpm 2.0.35.dfsg-3ubuntu2.1
libgd2-xpm-dev 2.0.35.dfsg-3ubuntu2.1
libgnutls13 2.0.4-1ubuntu2.9
libhtml-parser-perl 3.56-1ubuntu0.1
libisc35 1:9.4.2.dfsg.P2-2ubuntu0.12
libisccc30 1:9.4.2.dfsg.P2-2ubuntu0.12
libisccfg30 1:9.4.2.dfsg.P2-2ubuntu0.12
libkadm55 1.6.dfsg.3~beta1-2ubuntu1.8
libklibc 1.5.7-4ubuntu5
libkrb53 1.6.dfsg.3~beta1-2ubuntu1.8
libkrb5-dev 1.6.dfsg.3~beta1-2ubuntu1.8
liblcms1 1.16-7ubuntu1.3
libldap-2.4-2 2.4.9-0ubuntu0.8.04.5
liblwres30 1:9.4.2.dfsg.P2-2ubuntu0.12
libmysqlclient15off 5.0.96-0ubuntu3
libpam0g 0.99.7.1-5ubuntu6.5
libpam-modules 0.99.7.1-5ubuntu6.5
libpam-runtime 0.99.7.1-5ubuntu6.5
libpango1.0-0 1.20.5-0ubuntu1.2
libpango1.0-common 1.20.5-0ubuntu1.2
libperl5.8 5.8.8-12ubuntu0.8
libpng12-0 1.2.15~beta5-3ubuntu0.7
libpng12-dev 1.2.15~beta5-3ubuntu0.7
libpq5 8.3.23-0ubuntu8.04.1
libsnmp15 5.4.1~dfsg-4ubuntu4.4
libsnmp-base 5.4.1~dfsg-4ubuntu4.4
libssl0.9.8 0.9.8g-4ubuntu3.20
libssl-dev 0.9.8g-4ubuntu3.20
libsvn1 1.5.1dfsg1-1ubuntu2~hardy3
libsvn-perl 1.5.1dfsg1-1ubuntu2~hardy3
libtasn1-3 1.1-1ubuntu0.1
libthai0 0.1.9-1ubuntu0.2
libthai-data 0.1.9-1ubuntu0.2
libtiff4 3.8.2-7ubuntu3.16
libtomcat5.5-java 5.5.25-5ubuntu1.3
libwww-perl 5.808-1ubuntu0.1
libxml2 2.6.31.dfsg-2ubuntu1.12
libxml2-dev 2.6.31.dfsg-2ubuntu1.12
libxslt1.1 1.1.22-1ubuntu1.4
libxslt1-dev 1.1.22-1ubuntu1.4
linux-image-2.6.24-32-server 2.6.24-32.107
linux-image-server 2.6.24.32.34
linux-libc-dev 2.6.24-32.107
linux-server 2.6.24.32.34
linux-ubuntu-modules-2.6.24-32-server 2.6.24-32.52
logrotate 3.7.1-3ubuntu0.8.04.1
mount 2.13.1-5ubuntu3.1
mysql-client-5.0 5.0.96-0ubuntu3
mysql-common 5.0.96-0ubuntu3
mysql-server 5.0.96-0ubuntu3
mysql-server-5.0 5.0.96-0ubuntu3
nagios-plugins 1.4.11-1ubuntu5.1
nagios-plugins-basic 1.4.11-1ubuntu5.1
nagios-plugins-extra 1.4.11-1ubuntu5.1
nagios-plugins-standard 1.4.11-1ubuntu5.1
nfs-common 1:1.1.2-2ubuntu2.4
nscd 2.7-10ubuntu8.3
ntp 1:4.2.4p4+dfsg-3ubuntu2.3
ntpdate 1:4.2.4p4+dfsg-3ubuntu2.3
openssh-client 1:4.7p1-8ubuntu3
openssh-server 1:4.7p1-8ubuntu3
openssl 0.9.8g-4ubuntu3.20
perl 5.8.8-12ubuntu0.8
perl-base 5.8.8-12ubuntu0.8
perl-doc 5.8.8-12ubuntu0.8
perl-modules 5.8.8-12ubuntu0.8
php5 5.2.4-2ubuntu5.27
php5-cli 5.2.4-2ubuntu5.27
php5-common 5.2.4-2ubuntu5.27
php5-curl 5.2.4-2ubuntu5.27
php5-dev 5.2.4-2ubuntu5.27
php5-gd 5.2.4-2ubuntu5.27
php5-ldap 5.2.4-2ubuntu5.27
php5-mysql 5.2.4-2ubuntu5.27
php5-sybase 5.2.4-2ubuntu5.27
php5-tidy 5.2.4-2ubuntu5.27
phpmyadmin 4:2.11.3-1ubuntu1.3
postfix 2.5.1-2ubuntu1.4
python2.5 2.5.2-2ubuntu6.2
python2.5-dev 2.5.2-2ubuntu6.2
python2.5-minimal 2.5.2-2ubuntu6.2
python-apt 0.7.4ubuntu7.7
python-libxml2 2.6.31.dfsg-2ubuntu1.12
python-subversion 1.5.1dfsg1-1ubuntu2~hardy3
samba-doc 3.0.28a-1ubuntu4.18
snmp 5.4.1~dfsg-4ubuntu4.4
ssh 1:4.7p1-8ubuntu3
subversion 1.5.1dfsg1-1ubuntu2~hardy3
subversion-tools 1.5.1dfsg1-1ubuntu2~hardy3
sudo 1.6.9p10-1ubuntu3.10
sun-java5-bin 1.5.0-22-0ubuntu0.8.04
sun-java5-demo 1.5.0-22-0ubuntu0.8.04
sun-java5-jdk 1.5.0-22-0ubuntu0.8.04
sun-java5-jre 1.5.0-22-0ubuntu0.8.04
tomcat5.5 5.5.25-5ubuntu1.3
tomcat5.5-admin 5.5.25-5ubuntu1.3
tomcat5.5-webapps 5.5.25-5ubuntu1.3
tzdata 2012e~repack-0ubuntu0.8.04
update-manager-core 1:0.87.33
util-linux 2.13.1-5ubuntu3.1
util-linux-locales 2.13.1-5ubuntu3.1
w3m 0.5.1-5.1ubuntu1.1
wget 1.10.2-3ubuntu1.2
x11-xserver-utils 7.3+2ubuntu0.1

1
Phiên bản Ubuntu nào đang chạy?
Tarun

Mô tả: Ubuntu 8.04.3 LTS
jon_brockman

8
Bạn có thực sự mong đợi một câu trả lời mà bạn sẽ không được yêu cầu tạo bản sao lưu không? :-)
Andrea Corbellini

Tôi tin rằng bạn cần một câu trả lời nhiều hơn về cấp độ quản lý ở đây. Không có bản sao lưu và không có thông tin về các dịch vụ và dữ liệu, thực sự không có câu trả lời cụ thể nào để cung cấp ngoài "bạn sẽ có thể nâng cấp từ LTS (8.04) lên LTS (10.04) lên LTS (12.04)". Và vâng, chỉ cần sửa phần sao lưu. Cá nhân, tôi thích cài đặt mới, sao chép dữ liệu vào cài đặt mới.
gertvdijk

1
Andrea: Tất nhiên tôi đã mong đợi rằng việc tạo một bản sao lưu sẽ là một phần của mọi phản hồi. Tuy nhiên, đó là phần dễ dàng.
jon_brockman

Câu trả lời:


16

Dựa trên các phiên bản của các gói đó, đây có vẻ là Ubuntu Hardy 8.04 LTS. Đó là hơn năm tuổi. Mặc dù tuổi đời của nó, hỗ trợ chính thức chỉ kết thúc vào tháng 5 năm 2013 nhưng nó sẽ không bao giờ nhận được cập nhật bảo mật nữa và đó là một vấn đề.

Các phiên bản được liệt kê ở trên đã được xuất bản vào năm 2010 và điều đó sẽ làm nổi bật tính cấp bách của nhiệm vụ trong tay. Máy chủ này có thể dễ bị tổn thương khi khai thác từ xa.

Bạn có thể thử nâng cấp phân phối tại chỗ lên 12.04 (được hỗ trợ cho đến năm 2017) nhưng điều này có nghĩa là sự gián đoạn dịch vụ ngay lập tức và có thể có nghĩa là mọi thứ bị hỏng. Nó cũng có thể mất một vài lần lặp lại để đến 12.04. Đó chỉ là một ý tưởng lộn xộn.

Tôi sẽ bắt đầu lại từ đầu. Máy chủ mới, cài đặt Ubuntu mới.

  1. Tạo một bản sao lưu chỉ trong trường hợp nó chỉ phát nổ nhưng nếu không thì hãy rời khỏi máy chủ cũ. Bất cứ ai hiện đang sử dụng máy chủ này sẽ không đánh giá cao bất kỳ thời gian chết nào, vì vậy, việc rời khỏi máy chủ cũ là con đường của bạn để đồng nghiệp hạnh phúc và một ông chủ hạnh phúc.

  2. Cài đặt Ubuntu 12.04 (hoặc bất cứ LTS mới nhất nào tại thời điểm đọc) trên máy chủ mới (hoặc máy ảo, tuy nhiên bạn đã thiết lập mọi thứ). Nếu đây là một trong nhiều máy chủ tại công ty, có thể đáng để xem xét các kỹ thuật hợp nhất / dự phòng phần cứng mà ảo hóa hoạt động tốt.

  3. Xây dựng một danh sách những thứ bạn cần để làm việc từ máy chủ cũ. Những trang web nào đang chạy trên đó? Những dịch vụ nào mọi người phụ thuộc vào nó cung cấp? IP nào nó sử dụng? IP có thể được thay đổi? Làm sao? Ở đâu? Ai sẽ phá rối?

    Đến cuối giai đoạn này, bạn sẽ có một tài liệu cho bạn biết những gì bạn cần làm.

  4. Cài đặt các gói từ # 3 nhưng không chỉ cần sao chép cấu hình cũ.

    thực sự hấp dẫn để chuyển / etc / over từ máy chủ cũ nhưng tôi đã làm những điều tương tự với PHP trước đây và nó khiến tôi phải quay lại nhiều ngày. Sử dụng các quan sát của bạn từ # 3 và từ chơi xung quanh với máy chủ cũ để xây dựng một cấu hình mới dựa trên các thực tiễn tốt nhất hiện đại.

  5. Sao chép trang web và cơ sở dữ liệu của bạn trên.

  6. Kiểm tra và sửa chữa. Tôi không biết điều này sẽ kéo dài bao lâu bởi vì tôi chưa bao giờ nâng cấp trang web Tomcat trước đây nhưng ít nhất bạn cần đảm bảo rằng nó vẫn làm mọi thứ mà nó phải làm.

  7. Khi bạn hài lòng, nó sẽ hoạt động trở lại từ dữ liệu cũ từ máy chủ cũ (giả sử mọi người đã sử dụng dữ liệu đó trong thời gian này).

  8. Rút phích cắm của máy chủ cũ và ném nó xuống biển. Hoặc tái sử dụng nó. Có lẽ nó cổ xưa và không hiệu quả nên có thể không phải là ý tưởng tồi

Như Brendan đã đề cập trong các bình luận, bạn sẽ tạo ra rất nhiều tài liệu giữa các bước 3 và 6. Nếu bạn cứ viết ra những gì bạn đang làm và tại sao khi bạn làm mọi việc, bạn sẽ mất 30 phút nữa nhưng nó sẽ mất 30 phút sẽ để lại cho bạn một kế hoạch vững chắc cho lần tới. Khi bạn hoàn thành, có thể có các bước không cần thiết bạn có thể bỏ qua vào lần tới để đảm bảo bạn thêm kết luận.

Tôi cũng sẽ cố gắng để lại cho chủ sở hữu trước đó và ông chủ của họ một lưu ý về trạng thái của máy chủ và các bản cập nhật bảo mật mất hiệu lực một cách nguy hiểm. Bạn có thể làm điều này mà không có âm thanh như một công cụ can thiệp nhưng đó là tùy chọn.


8
"ném nó xuống biển" :)
don.joey

Chà, có vẻ như tôi sẽ cắn viên đạn và xây dựng một máy chủ mới. Cảm ơn các đầu vào.
jon_brockman

2
Tôi cũng sẽ xem xét ảo hóa - Ảo hóa máy chủ như hiện tại, sau đó chụp nhanh và bây giờ bạn có một bản sao lưu và sân chơi. Thử đồ, thành công? chụp nhanh, khác rollback và thử lại. Tương tự để bắt đầu từ đầu. Hãy thử, Ảnh chụp hoặc hoàn nguyên.
WernerCD

4
Đây là thông tin tuyệt vời. Điều duy nhất tôi muốn thêm là ở bước 4, hãy ghi lại những gì bạn đã làm để người tiếp theo dễ dàng hơn.
Brendan dài
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.