2017-12-11 175 views
7

Tôi cần chạy dpkg install, giải nén tệp conf, nhưng bỏ qua chạy tập lệnh postinst (nếu có trong tệp deb).Cách sử dụng tùy chọn dòng lệnh dpkg để giải nén conf và bỏ qua đoạn mã sau

Tôi đã cố thay đổi biến số SHELL thành /usr/bin/true, nhưng điều đó không hiệu quả. Bất kỳ ý tưởng khác sẽ là tuyệt vời!

+0

Mục tiêu thực sự của bạn là gì? Chỉ muốn lấy các tệp cấu hình ra khỏi kho lưu trữ? Bạn có thể thử làm cho '/ bin/sh' thành một liên kết tượng trưng thành'/usr/bin/true'. Nhưng hãy cẩn thận để không khóa mình ra khỏi hệ thống của bạn! –

+0

@ MartinHöller Mục tiêu của tôi là chạy 'apt-get install' mà không cần chạy bất kỳ tập lệnh' postinit' nào, nếu có. Về cơ bản, tôi có một gói các gói (được xây dựng cho một kiến ​​trúc khác) mà tôi muốn cài đặt. chúng sẽ không chạy trên hệ thống mà tôi cài đặt chúng (các vấn đề khác nhau, vv) vì vậy tôi muốn bỏ qua chạy bất kỳ tập lệnh postinit nào – StephenG

Trả lời

5

Theo trang man dpkg của nó không có tùy chọn dòng lệnh để tắt thực thi tập lệnh. Tuy nhiên, bạn có thể đạt được những gì bạn muốn với các lệnh sau (được lấy từ this answer từ diễn đàn ubuntu):

apt-get download <package> 
sudo dpkg --unpack <package>*.deb 
sudo rm /var/lib/dpkg/info/<package>.postinst -f 
sudo dpkg --configure <package> 
sudo apt-get install -yf #To fix dependencies 
+0

không thực sự là câu trả lời, không sử dụng các tùy chọn dòng lệnh dpkg' không chạy tập lệnh 'postinit' – StephenG

Các vấn đề liên quan