ইউজ-লিনাক্সে কোনও ন্যান্সটার নেই কেন?


20

আমি nsenterআর্চ লিনাক্সের অধীনে আমার প্রধান সিস্টেমে প্রায়শই আমার উদ্দেশ্যে কমান্ডটি ব্যবহার করি। এতে আমার অ্যাপ্লিকেশনগুলি পরীক্ষা করার জন্য এখন আমাকে উবুন্টুতে কাজ করতে হবে, তবে nsenterইউটি-লিনাক্সে নেই। হতে পারে এটি আলাদা প্যাকেজ?

UPD। ঠিক আছে, আমি পরীক্ষিত করেছি যে util-linuxউবুন্টুতে সংস্করণটি এখনও ২.২৩ এর চেয়ে অনেক পুরানো। উবুন্টুতে সমস্যার পরে আমি কীভাবে প্যাকেজের নতুন সংস্করণ ইনস্টল করতে পারি?


আপনি যদি ডকারের সাথে এটি ব্যবহার করার জন্য এটি করতে চান তবে কেবল এখানে গাইডটি
পিথিকোস

@ সাইলভাইন আমি 13.xy অপসারণ করা হয়েছে এমন ট্যাগ হিসাবে 14.04 যোগ করার বিন্দুটি দেখতে পাচ্ছি না।
মারু

@ মুরু, আসলে nsenter14.10 এ উপলব্ধ (এর জন্য প্যাকেজ তালিকা দেখুন utils-linux)। সুতরাং এই প্রশ্নের 14.04 ট্যাগ।
সিলভাইন পাইনাউ

@ সিলওয়াইনপাইনউ হয়তোবা, তবে অর্ধ বছর বয়সী কোনও প্রশ্নের সাথে ট্যাগ যুক্ত করা কি বোধগম্য? তাহলে কেন 12.04?
মুড়ু

@ মুরু আমি আমার প্রাথমিক উত্তর অনুসারে ২.২৪ সংকলন 12.04-এ কাজ করে কিনা তা পরীক্ষা করে দেখিনি। সুতরাং আমি এই প্রশ্ন / এ এর ​​পরিধি 14.04 এ সীমাবদ্ধ রাখতে পছন্দ করেছি। এটি আপ টু ডেট রাখার বিষয়টি স্পষ্টতই এই সমাধানটির প্রয়োজন নেই 14.10
সিলভাইন পাইনাউ

উত্তর:


19

আপডেট :

14.10 হিসাবে, কমান্ড util-linuxসরবরাহ করে nsenter। নীচের সমাধানটি 14.04 দিয়ে পরীক্ষা করা হয়েছে।


দেবিয়ান / উবুন্টু সংস্করণটি আপনি এখন যেমন পুরানো বলেছিলেন তেমনই ট্রাস্টিতেও।

এখানে একটি খোলার ত্রুটি রয়েছে এবং দুর্ভাগ্যক্রমে এখনও কোনও অগ্রগতি নেই।

আপনি উত্স থেকে এটি নির্মাণ করার চেষ্টা করতে পারেন:

wget https://www.kernel.org/pub/linux/utils/util-linux/v2.24/util-linux-2.24.1.tar.gz -qO - | tar -xz -C ~/Downloads

নিম্নলিখিত বিল্ড নির্ভরতা ইনস্টল করতে ভুলবেন না:

sudo apt-get install libncurses5-dev libslang2-dev gettext zlib1g-dev libselinux1-dev debhelper lsb-release pkg-config po-debconf autoconf automake autopoint libtool

এবং কেবল উত্স ডিরেক্টরিতে চালান ( ~/Downloads/util-linux-2.24.1):

./autogen.sh

./configure && make

গুরুত্বপূর্ণ

আনুষ্ঠানিকভাবে ব্যবহারের জন্য প্রস্তুত না হওয়া অবধি এই প্যাকেজটি উবুন্টু 14.04 এলটিএসে করবেন না sudo make install , কারণ এটি libmountআপনার বুটটি ভেঙে স্পষ্টভাবে একটি উপলভ্য সংস্করণ দাবি করে । (আপনি যদি এটি করেন mountতবে আপনার মেশিনটি রিবুট করার আগে প্যাকেজটি পুনরায় ইনস্টল করুন , যদি পারেন তবে))

ক্রেডিট: ট্রেভর আলেকজান্ডার তার মন্তব্যের জন্য


শেষ পর্যন্ত আপনি পাবেন:

sylvain@sylvain-ThinkPad-T430s:~/Downloads/util-linux-2.24.1$ ./nsenter -V
nsenter from util-linux 2.24.1

দ্রষ্টব্য : উবুন্টু ইউজ-লিনাক্স সংস্করণে যেমন এনসেন্টার উপলভ্য নয়, আপনি কেবলমাত্র এই ফাইলটি / ইউএসআর / বিনে (বা এসবিন) ইনস্টল করতে পারেন:

sudo cp ./nsenter /usr/bin

আমি আপনার সমাধানটি চেষ্টা করেছিলাম, তবে আমি একটি ত্রুটি পেয়েছি ./configureকারণ এমন কোনও ফাইল নেই। ফাইলটি Could not locate the pkg-config autoconf macros.ব্যবহারের চেষ্টা করার সময় আমি পাচ্ছি configure.ac
জেরোস্পিল

1
পরিবর্তে তারবাল দিয়ে চেষ্টা করুন । আপনি উভয়ই ইনস্টল করেছেন pkg-configএবং autoconfএটিও ইনস্টল করেছেন তা নিশ্চিত করুন
সিলভাইন পাইনাউ

2
গুরুত্বপূর্ণ: sudo make installউবুন্টু 14.04 এলটিএসে এই প্যাকেজটি আনুষ্ঠানিকভাবে ব্যবহারের জন্য প্রস্তুত না হওয়া পর্যন্ত করবেন না , কারণ এটি libmountআপনার বুটটি ভেঙে স্পষ্টভাবে একটি উপলভ্য সংস্করণ দাবি করে । (আপনি যদি এটি করেন mountতবে আপনার মেশিনটি রিবুট করার আগে প্যাকেজটি পুনরায় ইনস্টল করুন , যদি পারেন তবে))
উজ্জ্বল তারা

1
এটি / ইউএসআর / বিনের মধ্যে নেন্সর লাগানোর জন্য কোনও কিছু ভাঙ্গবে না, তবে সাধারন অনুশীলন হ'ল এটিপ প্যাকেজগুলি থেকে ইনস্টল করা স্টাফের জন্য এবং / ইউএসআর / স্থানীয় / বিনে অন্য স্টাফ ইনস্টল করা। আপনি কোন পছন্দসই জিনিসগুলি সেট আপ করেছেন তা দেখতে এটি বেশিরভাগ ক্ষেত্রেই সহজ করে তোলে।
mc0e

1
utils-linuxটাইপ কি util-linux? (উত্তরটি সম্পাদন করার পক্ষে যথেষ্ট আত্মবিশ্বাসী নয়, তবে যতদূর আমি বলতে পারি এটিই।)
ড্রেডপ্রেটশান

11

আপনি যদি ডকার ব্যবহার করেন তবে আপনি কোনও পাত্রে নেসটার ইনস্টল করতে পারেন এবং তারপরে হোস্টের কাছে ন্যানসটার কমান্ডটি অনুলিপি করতে পারেন।

আমার বক্তব্য থেকে: https://gist.github.com/mbn18/0d6ff5cb217c36419661

# Ubuntu 14.04 don't have nsenter - the straight forward way required me to install build tools and etc.
# I preferred to keep the system clean and install nsenter in a container and then copy the command to the host
# Note - its also possible to run nsenter from a container (didn't tried) https://github.com/jpetazzo/nsenter

# start a container
docker run --name nsenter -it ubuntu:14.04 bash

## in the docker
apt-get update
apt-get install git build-essential libncurses5-dev libslang2-dev gettext zlib1g-dev libselinux1-dev debhelper lsb-release pkg-config po-debconf autoconf automake autopoint libtool

git clone git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git util-linux
cd util-linux/

./autogen.sh
./configure --without-python --disable-all-programs --enable-nsenter
make

## from different shell - on the host
docker cp nsenter:/util-linux/nsenter /usr/local/bin/
docker cp nsenter:/util-linux/bash-completion/nsenter /etc/bash_completion.d/nsenter

"হোস্ট সিস্টেম পরিষ্কার রেখে" বোঝানোর অর্থ আপনি উপরের কমান্ডের build-essentialঅন্যান্য গ্রন্থাগারগুলি ইনস্টল করার প্রয়োজন বোধ করছেন apt-get, তাই না? এটি আসলে খুব আকর্ষণীয় যদি হ্যাঁ, না জানতেন docker cp। হোস্টকে দূষিত না করে সব ধরণের জিনিস বাইনারি হিসাবে তৈরি করার জন্য এটি দুর্দান্ত।
আদিত্য এমপি

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.