“অ্যাপ-গেট ইনস্টল” চালানোর সময় এসএসএইচ সেশন কখনই বন্ধ হয় না


14

সমস্যা

apt-get installঅ-ইন্টারেক্টিভ এসএসএইচ সেশনে চলাকালীন সেশনটি কখনই বন্ধ হয় না। উদাহরণ:

ssh user@target "sudo apt-get -y install my_package"

my_packageসঠিকভাবে ইনস্টল করুন, কিন্তু SSH সেশান খুলুন dangles।

প্রশ্ন

apt-getকাজ পেতে এসএসএইচ পাস করার জন্য কোনও পতাকা রয়েছে ?


অতিরিক্ত তথ্য

প্রসঙ্গ

রিমোট ইনস্টলেশনটি একটি ইন্টিগ্রেশন সার্ভারে প্যাকেজের স্বয়ংক্রিয় স্থাপনার জন্য ব্যবহৃত হয়। কোনও রেপোজিটরিতে কিছু কোড পরিবর্তন করার সাথে সাথেই একটি কাজ কোডের মধ্যে টান দেয়, প্যাকেজটি তৈরি করে এবং সবকিছু ভালভাবে কাজ করে কিনা তা পরীক্ষা করার জন্য এটি সংহতকরণের উপর স্থাপন করে (যতদূর মোতায়নের বিষয়টি সম্পর্কিত)।

ইতিমধ্যে চেষ্টা করা এবং নোটস

  • একই এসএসএইচ সেশন কার্যকরভাবে apt-get updateবন্ধ হয় ses নোট যে apt-get updateইন্টারেক্টিভ না হয়, যেখানে apt-get installআছে। এটি পরামর্শ দিতে পারে যে মিথস্ক্রিয়াটি একটি সমস্যা।
  • এর মতো আদেশ ssh user@target "sudo apt-get install my_package && echo Hello"কখনই পৌঁছায় না echo
  • debconf এটি অভিযোগ করে যে এটি একটি দুর্দান্ত সম্মুখভাগ (ডিসপ্লে, রিডলাইন) খুঁজে পাচ্ছে না এবং এটি টেলিটাইপের কাছে ফিরে আসে (যদিও পঠনের লাইন উপলব্ধ) is
  • ডাবকনফের ফ্রন্টএন্ডের সাথে সম্পর্কিত, -tএসটিএইচ দিয়ে টিটিওয়াইকে জোর করাতে সহায়তা করে না। না DEBIAN_FRONTEND=noninteractive
  • সবগুলি উবুন্টু 12_04 এলটিএসে করা হয়েছিল।

আপনি যদি ইনস্টল আদেশটি ম্যানুয়ালি প্রয়োগ করেন ( ssh user@targetতবে শেল থেকে প্রাপ্ত আদেশগুলি) এটি কি সঠিকভাবে কাজ করে?
রিং Ø

ম্যানুয়ালি হয়ে গেলে ইনস্টল কমান্ডটি ঠিকঠাকভাবে কাজ করে (ফলে এটি লগ-ইন / ইন্টারেক্টিভ সেশন প্রকারের ক্ষেত্রে সমস্যা রয়েছে বলে মনে করে)।
এরিক প্লাটোন

উত্তর:


6

এসএফের নিম্নলিখিত উত্তরটি কৌশলটি করেছে:

ssh ক্রোন বাশ স্ক্রিপ্ট থেকে রান করার সময় রিমোট কমান্ড কার্যকর করতে ব্যর্থ

-tপতাকা বাহিনীর সিউডো-TTY বরাদ্দ ছাড়া সম্ভবত যখন কোনো পির TTY স্থানীয়ভাবে হয়। তবে পতাকাটি দু'বারের মতো পাস করার -t -tজন্য এটি করার ভান করে। এবং যে সমস্যার সমাধান।

এসএসএইচ ডকুমেন্টেশন দেখুন:

- ছদ্ম-টিটি বরাদ্দকে বল প্রয়োগ করুন। এটি একটি দূরবর্তী মেশিনে স্বেচ্ছাসেবী স্ক্রিন-ভিত্তিক প্রোগ্রামগুলি কার্যকর করতে ব্যবহার করা যেতে পারে যা খুব কার্যকর হতে পারে, যেমন মেনু পরিষেবাগুলি প্রয়োগ করার সময়। একাধিক-টি বিকল্পগুলি tty বরাদ্দকে বাধ্য করে, যদিও ssh এর কোনও স্থানীয় tty নেই।

এখন, কেন যে কাজ? দেখা যাচ্ছে যে debconfলগগুলির সীমানা সম্পর্কে আর অভিযোগ করে না। সুতরাং আমি বিশ্বাস করি যে প্রয়োজন হিসাবে ডাবল -tসেট (lures?) debconf, যা apt-get installসম্পূর্ণরূপে এসএসএইচ অধিবেশন পরিষ্কারভাবে শেষ করতে দেয় ।


আমি বিশ্বাস করি এটি একটি উত্তরের উত্তর, তবে আমি তা অবিলম্বে চিহ্নিত করব না। প্রথম কারণ আমি নিজের উত্তর দিয়েছি এবং দ্বিতীয়, আরও ভাল / আরও জেনেরিক উত্তর থাকতে পারে। ভবিষ্যতে এই ফিরে।
এরিক প্লাটোন

1

আমি এটির মাধ্যমে দেখেছি, এটি কাজটি করতে পারে। প্রস্থান এবং হেরডোকের পরে যে কোনও আদেশ অনুসরণ করা উচিত Call সমাধানটি খুঁজে পেয়েছেন, তবে ব্যক্তিগতভাবে এটি চেষ্টা করেননি।

ssh user@myremotemachine <<-EOF
free -m
exit
EOF

আসল উত্তরটি এখান থেকে এসেছে: http://www.thetechrepo.com/main-articles/529-execute-a-command-remotely-over-ssh-and-then-close-the- সংযোগ


ধন্যবাদ, কোরিসাক আমার ধারণা এটি শেল এবং ওএস বিতরণের উপর নির্ভর করে। আমি স্রেফ ssh user@host free -mআমার টার্গেট পরিবেশে চেষ্টা করেছি এবং এটি একটি কবজির মতো কাজ করে। আমি পরবর্তী সুপারিশ চেষ্টা করতে যাচ্ছি।
এরিক প্লাটোন

আমি কেবল বংশগত পদ্ধতির সাথে একটি সম্পূর্ণ রান চেষ্টা করেছি। যা সমস্যার সমাধান করেনি। এসএসএইচ অধিবেশন যেমন প্রশ্নে উপস্থাপিত হয়েছে তেমনভাবে ঝুলছে। প্রতিক্রিয়া এবং পয়েন্টার জন্য আবার ধন্যবাদ!
এরিক প্লাটোন

1

ডিবিয়ান / জেসির অধীনে আমি এই আদেশটি দিয়ে সফল হয়েছিলাম:

ssh user@host "TERM=READLINE sudo apt-get install --reinstall less && echo done"

তবে সম্ভবত আপনার এই এবং অন্যান্য আপকোমিং কাজের জন্য জবাবদিহি করার কথা বিবেচনা করা উচিত http://docs.ansible.com/ansible/apt_module.html


আকর্ষণীয়, ভাল ধারণা। উত্তর হিসাবে, সম্ভবত এখন। প্রশ্নটা কখন মাথায় এলো আমি জানি না। যাইহোক, আমি বিশ্বাস করি "ভিতরে কী ঘটছে" (সি) তা জেনে রাখা ভাল।
এরিক প্লাটোন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.