मुसीबत
apt-get install
एक गैर-इंटरैक्टिव एसएसएच सत्र में चलने पर, सत्र कभी बंद नहीं होता है। उदाहरण:
ssh user@target "sudo apt-get -y install my_package"
यह my_package
ठीक से स्थापित हो जाता है, लेकिन SSH सत्र खुलने का खतरा है।
सवाल
क्या apt-get
काम करने के लिए एसएसएच पास करने के लिए कोई झंडा है ?
अतिरिक्त जानकारी
प्रसंग
एक एकीकरण सर्वर पर एक पैकेज की स्वचालित तैनाती के लिए रिमोट इंस्टॉलेशन का उपयोग किया जाता है। जैसे ही हम कुछ कोड परिवर्तनों को एक रिपॉजिटरी में धकेलते हैं, एक नौकरी कोड में खींचती है, पैकेज का निर्माण करती है, और एकीकरण पर यह दर्शाती है कि सब कुछ अच्छा काम करता है (जहाँ तक तैनाती का सवाल है)।
पहले से ही कोशिश की और नोट्स
- वही SSH सत्र का निष्पादन
apt-get update
सफाई से बंद हो जाता है। ध्यान दें किapt-get update
इंटरैक्टिव नहीं है, जबकिapt-get install
है। यह सुझाव दे सकता है कि अन्तरक्रियाशीलता एक मुद्दा है। - जैसी आज्ञा
ssh user@target "sudo apt-get install my_package && echo Hello"
कभी नहीं पहुँचतीecho
। debconf
शिकायत करता है कि यह एक अच्छा दृश्यपटल (डिस्प्ले, रीडलाइन) नहीं खोज सकता है, और यह टेलेटाइप पर वापस आता है (हालाँकि रीडलाइन उपलब्ध है)।- डिबेंक्फ के सीमांत के संबंध में,
-t
SSH के साथ TTY को बाध्य करने से मदद नहीं मिलती है। न हीDEBIAN_FRONTEND=noninteractive
। - सभी Ubuntu 12_04 LTS पर किया गया था।
ssh user@target
शेल से कमांड) तो क्या यह सही ढंग से काम करता है?