關於「dpkg --remove」和「dpkg --purge」
前提
做這個實驗前,先了解這篇『如何製作「deb檔(Debian Package)」』。
測試環境
以下測試是在「Xubuntu 14.04 64位元」。
執行步驟
準備工作環境
建立工作環境資料夾
$ mkdir ~/Templates/remove-and-purge-package -p
切換到工作環境資料夾
$ cd ~/Templates/remove-and-purge-package
建立套件最上層資料夾
建立一個資料夾「try」,這個是「套件最上層資料夾」,所有的檔案都要放在這裡面
$ mkdir try -p
建立「DEBIAN」資料夾
建立「try/DEBIAN」資料夾,這個資料夾是建立「Debian Package」的依據資料夾。
$ mkdir try/DEBIAN -p
建立「control」檔
建立「try/DEBIAN/control」檔,這個檔是建立「Debian Package」的依據檔案。
$ touch try/DEBIAN/control
撰寫「control」內容
執行執行下面的指令產生
echo 'Package: try' > try/DEBIAN/control
echo 'Version: 0.1' >> try/DEBIAN/control
echo 'Architecture: all' >> try/DEBIAN/control
echo 'Description: This is a test package.' >> try/DEBIAN/control
echo 'Maintainer: developer <developer@hell.heaven>' >> try/DEBIAN/control
確認觀看剛剛產生的內容
$ cat try/DEBIAN/control
顯示
Package: try
Version: 0.1
Architecture: all
Description: This is a test package.
Maintainer: developer <developer@hell.heaven>
建立「Maintainer Script」
建立「try/DEBIAN/prerm」
echo '#!/bin/sh -e' > try/DEBIAN/prerm
echo "echo 'prerm'" >> try/DEBIAN/prerm
確認觀看「try/DEBIAN/prerm」的內容
$ cat try/DEBIAN/prerm
顯示
#!/bin/sh -e
echo 'prerm'
建立「try/DEBIAN/postrm」
echo '#!/bin/sh -e' > try/DEBIAN/postrm
echo "echo 'postrm'" >> try/DEBIAN/postrm
確認觀看「try/DEBIAN/postrm」的內容
$ cat try/DEBIAN/postrm
顯示
#!/bin/sh -e
echo 'postrm'
建立「Conffiles」
建立「try/DEBIAN/conffiles」
echo "/usr/share/try/try.conf" >> try/DEBIAN/conffiles
確認觀看「try/DEBIAN/conffiles」的內容
$ cat try/DEBIAN/conffiles
顯示
/usr/share/try/try.conf
建立「try.conf」
建立「try/usr/share/try」這個資料夾
$ mkdir try/usr/share/try -p
建立「try/usr/share/try/try.conf」這個檔案
$ touch try/usr/share/try/try.conf
觀看目錄結構
觀看一下剛剛建立的目錄結構
$ tree try
顯示
try
├── DEBIAN
│ ├── conffiles
│ ├── control
│ ├── postrm
│ └── prerm
└── usr
└── share
└── try
└── try.conf
4 directories, 5 files
製作「Debian Package」
執行
$ dpkg -b try
會顯示
dpkg-deb: error: maintainer script `prerm' has bad permissions 664 (must be >=0555 and <=0775)
更改「try/DEBIAN/prerm」權限
$ chmod 755 try/DEBIAN/prerm
再次執行
$ dpkg -b try
會顯示
dpkg-deb: error: maintainer script `postrm' has bad permissions 664 (must be >=0555 and <=0775)
更改「try/DEBIAN/postrm」權限
$ chmod 755 try/DEBIAN/postrm
再次執行
$ dpkg -b try
會顯示
dpkg-deb: building package `try' in `try.deb'.
測試安裝
執行安裝
$ sudo dpkg -i try.deb