Vấn đề
Khi chạy apt-get installtrong 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-getlà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 updatekhông tương tác, trong khi đóapt-get installlà. Đ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. debconfphà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
-tsang 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@targetcác lệnh từ shell) thì nó có hoạt động chính xác không?