Subject: Upgrade Slackware

From: [email-masked] (咖哩詩人)
Date: 8 Jul 1994 02:22:52 GMT

Fri JUL 15 11:02:50 PST 1994 , BY Garylee
這份中文文件是翻譯於Slackware 2.0中的UPGRADE.TXT
---------------------------------START-----------------------------------------
Sat Apr 2 19:32:34 PST 1994
這是一份非正式的HOWTO 文件，是用來描述如何用'setup' 及'pkgtool' 來更新你的
Linux system。

---------------------

在大部份一般關於Slackware的詢問（特別是在任何major release之後）中有一個就是：
我要如何更新我的系統？

直到最近，似乎有兩條路你可以走。你可以備份所有你想要保存的，然後重頭開始重新安
裝。當任何人做完這件事之後都可以作證：這是一個漫長乏味的過程而且常常會有一群重
要的檔案無法備份。另外其他的選擇是直接安裝覆蓋新的package 到舊的系統上。這樣做
的話，所有舊的且未被新的package 覆蓋掉的檔案會殘留在你的檔案系統中。這些浪費的
空間將會使得系統管理更為困難，特別是那些被新的binaries所忽略的configuration
files 將被遺留下來。

新版的'pkgtool'(a package maintenance tool developed for the Slackware
distribution) 提供了一個能夠乾淨地從舊的Slcakware 更新的途徑。當你在執行一個被
載入到ramdisk 的self-contained Linux filesystem ，當他從硬體設備中執行時他可以
從你的硬體設備中刪除packages。他會從你的系統中刪除"任何"檔案，包括那些原本被認
為很困難甚至不可能刪除的。這些檔案有shell , shared libraries , init , other
crucial system files...等。

這裡是關於你要如何將先前版本的Slackware 更新為新版的，先前版本的slackware 要支
援在/var/adm/packages 的package information files 。（如果你的系統將這些檔案放
在別處，你仍舊可以藉著從packages information directory建立一個symbolic link 到
/var/adm/packages 來達成更新的工作。）

1.備份重要的檔案，或者你要冒險碰碰運氣;^)

可能你會成功的安裝上去。無論如何，在這個方法中有兩個重要的意外。第一（也是最明
顯的）是當一個package 覆蓋了你原本想要保存的檔案。第二，可能更嚴重的狀況是當系
統需要取代一個已經存在的以symbolic link 的檔案。它將會取代這個檔，不論他是一個
一般的檔，或是一個mode為444 的檔，甚至它是一個裝滿了其他的子目錄甚至包含你的博
士論文的一個目錄。所以，請小心點。

2.做一份你計畫要取代的package 的列表。

3.使用一張bootkernel磁片來boot root/install disks。以root的身份來進入。

4.當你登錄(logged in)進install disk時，在/mnt之下掛上(mount)你的root Linux
  partitions。在這裡有個方法可以使你無需在意你的linux 是使用何種檔案系統。
  例如：

  如何掛上一個ext2fs partition :

  mount /dev/hda1 /mnt -t ext2
        ^^^^^^^^^
        用你的root partition來取代這裡。

  同裡，若是一個partition 為xiafs ，你應該使用下列命令：

  mount /dev/hda1 /mnt -t xiafs

  若你是使用UMSDOS（這個系統允許你用一個以存在MS-DOS的檔案系統來做安裝）你應該
  用下列的命令：

  mount /dev/hda1 /mnt -t umsdos

  如果你有其他的partition 且這個partition 是你的linux 檔案系統的一部份，你應該
  在掛上root partition之後，將他們一一掛上。這裡有個範例是你要如何在/usr中掛上
  一個ext2fs的partition ：

  mount /dev/hda2 /mnt/usr -t ext2

5.若是系統的記憶體少於8MB ，則當掛上partition 的動作完成之後，我們需要啟動swap
  space 。（如果你有8MB 以上的記憶體，你可以跳到第六步驟）

  你可以選擇使用swap partition或是swapfile。想要很快的得到你的partition 資訊列
  表你可以打入'fdisk -l'。這個指令在我自己的機器上會有下列的資訊：

   Disk /dev/hda: 15 heads, 17 sectors, 1001 cylinders
   Units = cylinders of 255 * 512 bytes

      Device Boot  Begin   Start     End  Blocks   Id  System
      /dev/hda1          10      10      90   10327+   1  DOS 12-bit FAT
      /dev/hda2          91      91    1000  116025    5  Extended
      /dev/hda3   *       1       1       9    1139    a  OPUS
      /dev/hda5   *      91      91    1000  116016+   6  DOS 16-bit >=32M

      Disk /dev/hdb: 16 heads, 31 sectors, 967 cylinders
      Units = cylinders of 496 * 512 bytes

      Device Boot  Begin   Start     End  Blocks   Id  System
      /dev/hdb1   *       1       1     921  228392+   6  DOS 16-bit >=32M
      /dev/hdb2         922     922     966   11160   82  Linux swap

  從這些顯示的訊息中，你可以看到/dev/hdb2 是被選為當Linux的swap partition 。如
  果這個partition 先前未使用mkswap來製作時，下面是如何製作的方法：

  mkswap /dev/hdb2 11160

  要啟動這個swap partition，你可以鍵入：

  swapon /dev/hdb2

6.將packages刪除！要刪除packages你要鍵入'pkgtool' 然後選擇刪除安裝過的軟體的選
  項。你將會得到一份你已經安裝過的packages的列表。請選擇你計畫要取代的packages
  。

  如果你使用彩色版本的pkgtool ，你可以在packages列表中，用'+'和'-'來上下移動。
  然後用空白鍵來選定你所要刪除的packages。當你選好你所要刪除的檔案之後，請按
  ENTER 來執行刪除的動作。

完成了！現在你已經將舊的packages清除了，而且你已經準備好安裝新的packages了。鍵
入'setup' 同時和一般正常情況一樣的安裝新的package 即可。

雖然他可以正常安全的使用，利用bootdisk來將所有的packages刪除。而且大部份的
packages也都可以用pkgtool 來從你的硬碟中刪除。不過這個A 系列的packages是很重要
的例外。

我希望每個人都能幸運的成功！:^)

---
Patrick Volkerding
[email-masked]
---------------------------------END-------------------------------------------