Tôi biết một vài gói hỗ trợ "thực hiện gỡ cài đặt" nhưng nhiều gói khác hỗ trợ cài đặt DESTDIR = xxx "cho các cài đặt theo giai đoạn.
Bạn có thể sử dụng điều này để tạo một gói mà bạn cài đặt thay vì cài đặt trực tiếp từ nguồn. Tôi không có may mắn với checkinstall nhưng fpm hoạt động rất tốt.
Điều này cũng có thể giúp bạn loại bỏ một gói được cài đặt trước đó bằng cách sử dụng make install . Bạn chỉ cần buộc cài đặt gói đã xây dựng của bạn qua gói đã cài đặt và sau đó gỡ cài đặt gói đó.
Ví dụ, tôi đã sử dụng điều này gần đây để đối phó với protobuf-3.3.0. Trên RHEL7:
make install DESTDIR=dest
cd dest
fpm -f -s dir -t rpm -n protobuf -v 3.3.0 \
--vendor "You Not RedHat" \
--license "Google?" \
--description "protocol buffers" \
--rpm-dist el7 \
-m you@youraddress.com \
--url "http:/somewhere/where/you/get/the/package/oritssource" \
--rpm-autoreqprov \
usr
sudo rpm -i -f protobuf-3.3.0-1.el7.x86_64.rpm
sudo rpm -e protobuf-3.3.0
Thích yum đến vòng / phút nếu bạn có thể.
Trên Debian9:
make install DESTDIR=dest
cd dest
fpm -f -s dir -t deb -n protobuf -v 3.3.0 \
-C `pwd` \
--prefix / \
--vendor "You Not Debian" \
--license "$(grep Copyright ../../LICENSE)" \
--description "$(cat README.adoc)" \
--deb-upstream-changelog ../../CHANGES.txt \
--url "http:/somewhere/where/you/get/the/package/oritssource" \
usr/local/bin \
usr/local/lib \
usr/local/include
sudo apt install -f *.deb
sudo apt-get remove protobuf
Thích apt để dpkg nơi bạn có thể.
Tôi cũng đã đăng câu trả lời này trên stackoverflow