Vấn đề
Khi chạy apt-get install
trong phiên SSH không tương tác, phiên không bao giờ đóng. Thí dụ:
ssh user@target "sudo apt-get -y install my_package"
Không my_package
được cài đặt đúng cách, nhưng phiên SSH chỉ mở lủng lẳng.
Câu hỏi
Có cờ nào để vượt qua SSH để đi apt-get
làm không?
thông tin thêm
Bối cảnh
Cài đặt từ xa được sử dụng để triển khai tự động gói trên máy chủ tích hợp. Ngay khi chúng tôi đẩy một số thay đổi mã vào kho lưu trữ, một công việc sẽ lấy mã, xây dựng gói và triển khai nó trên tích hợp để kiểm tra xem mọi thứ có hoạt động tốt không (liên quan đến việc triển khai).
Đã thử và ghi chú
- Việc thực hiện phiên SSH tương tự
apt-get update
đóng lại sạch sẽ. Lưu ý rằngapt-get update
không tương tác, trong khi đóapt-get install
là. Điều này có thể gợi ý rằng tính tương tác là một vấn đề. - Một lệnh như
ssh user@target "sudo apt-get install my_package && echo Hello"
không bao giờ đạt đếnecho
. debconf
phàn nàn rằng nó không thể tìm thấy một lối vào đẹp (Hiển thị, Đọc) và nó quay trở lại Teletype (mặc dù Readline có sẵn).- Liên quan đến frontend của debconf, việc chuyển
-t
sang buộc TTY bằng SSH không giúp ích gì. Cũng khôngDEBIAN_FRONTEND=noninteractive
. - Tất cả đã được thực hiện trên Ubuntu 12_04 LTS.
ssh user@target
các lệnh từ shell) thì nó có hoạt động chính xác không?