আমি আমার মূল সিস্টেমে প্রয়োগের আগে আপডেটগুলি পরীক্ষা করার জন্য, ভিএম-এ স্টেজেিং পরিবেশ স্থাপন করার চেষ্টা করছি।
এটি করার জন্য, আমি ভিএম-তে ডেবিয়ান হুইজি (মূল সিস্টেমের মতোই) এর একটি বেসিক ইনস্টলেশন করেছি, তারপরে ভিএম এর মধ্যে থেকে মূল হিসাবে চলেছি:
# dpkg --clear-selections
# dpkg --add-architecture i386
# apt-get update
# ssh me@main-system 'dpkg --get-selections | grep -v deinstall' | \
dpkg --set-selections
দুর্ভাগ্যক্রমে i386 আর্কিটেকচারটি আমার ক্ষেত্রে প্রয়োজন; সিস্টেমটি amd64 নেটিভ।
সমস্যাটি dpkg --set-selections
ভিএম চালানোর ক্ষেত্রে। আমার কাছে কিছু প্যাকেজ রয়েছে যার জন্য বিশেষ হ্যান্ডলিংয়ের প্রয়োজন হয় (এগুলিই আসলে প্রথম কারণেই আমি মঞ্চের পরিবেশ চাই but মূল কারণ) তবে আমি যখন উপরের শেষ কমান্ডটি চালাই, তখন আমি প্রায় এক গাজিলিয়ন লাইন আউটপুট পাই:
dpkg: warning: package not in database at line NNN: package-name
প্যাকেজগুলির জন্য যা বেস সিস্টেমে সত্যিই উপলব্ধ। উদাহরণ অন্তর্ভুক্ত xterm
, yelp
এবং zip
।
এখন আমার প্রশ্নের জন্য:
এক ডেবিয়ান সিস্টেম থেকে অন্য প্যাকেজ প্যাকেজ নির্বাচনের তালিকা স্থানান্তরিত করার জন্য (হুইজে একই ডিবিয়ান প্রকাশের স্তর ধরে) এবং তারপরে সেই পরিবর্তনগুলি প্রয়োগ করার জন্য নির্দিষ্ট প্রক্রিয়াটি কী ? লক্ষ্যটি হ'ল উভয়ের ইনস্টলড প্যাকেজগুলির একই তালিকা রয়েছে, আদর্শভাবে যেমন diff
দুটির আউটপুটগুলির মধ্যে dpkg --get-selections
বা এর মধ্যে একটি dpkg --list
করার পরে কোনও পার্থক্য না দেখিয়ে ফিরে আসে।
grep -v deinstall
অংশ থেকে ধার করা হয় করছেন পরে সরানো হচ্ছে থেকে বিরত প্যাকেজdpkg --set-selections
উপর উবুন্টু জিজ্ঞাসা করুন।
আমি ভিএম-তে উত্সটি মূল সিস্টেমের মতোই পরিবর্তন করেছি, ইনস্টলও করছি apt-transport-https
:
deb https://ftp-stud.hs-esslingen.de/debian/ wheezy main non-free
deb-src https://ftp-stud.hs-esslingen.de/debian/ wheezy main non-free
deb https://ftp-stud.hs-esslingen.de/debian/ wheezy-updates main non-free
deb-src https://ftp-stud.hs-esslingen.de/debian/ wheezy-updates main non-free
deb [arch=amd64] http://archive.zfsonlinux.org/debian wheezy main
--Set-সিলেকশন আউটপুটটি দেখছি, আমি দেখছি:
dpkg: warning: package not in database at line 1: a2ps
dpkg: warning: package not in database at line 1: abiword
dpkg: warning: package not in database at line 1: abiword-common
dpkg: warning: package not in database at line 1: abiword-plugin-grammar
dpkg: warning: package not in database at line 1: abiword-plugin-mathview
dpkg: warning: package not in database at line 1: accountsservice
dpkg: warning: package not in database at line 1: acl
dpkg: warning: package not in database at line 4: aglfn
dpkg: warning: package not in database at line 4: aisleriot
dpkg: warning: package not in database at line 4: alacarte
dpkg: warning: package not in database at line 4: alien
...
রেখার সংখ্যাটি অদ্ভুত বলে মনে হয়েছিল, এবং --get-সিলেকশনের ফলাফলের সাথে সম্পর্কিত অংশটি হল:
a2ps install
abiword install
abiword-common install
abiword-plugin-grammar install
abiword-plugin-mathview install
accountsservice install
acl install
acpi-support-base install
acpid install
adduser install
aglfn install
aisleriot install
alacarte install
alien install
লক্ষ করুন যে, মাঝে acl
এবং aglfn
হয় acpi-support-base
, acpid
এবং adduser
যার জন্য কোনো ত্রুটি রিপোর্ট করা হচ্ছে । দেখে মনে হচ্ছে যে প্যাকেজগুলির জন্য ত্রুটিগুলি প্রতিবেদন করা হচ্ছে সেগুলি হয় un
অনুযায়ী হয় dpkg -l
, বা dpkg -l
সেগুলি সম্পর্কে কোনও ধারণা নেই ( dpkg-query: no packages found matching ...
)। আমি জানি স্থানীয়ভাবে কিছু ইনস্টল করা প্যাকেজ রয়েছে তবে অনেকগুলি নেই। i386
নেই যতক্ষণ না চিত্রে gcc-4.7-base:i386 install
অনেক অধিকতর তালিকা (--get-পছন্দসই মান নির্বাচন করে আউটপুটে লাইন 342) নিচে।
dpkg --get-selections
(এবং আমি ধরে নিই যে আপনি dpkg --set-selections
প্রতিলিপিটি বোঝাতে চাইছেন ?)? এমনকি কেবল পূর্বেরটি 3,600 লাইনের বেশি এবং ডানদিকে প্রায় 100 কেবি।
/var/lib/dpkg/Packages
(যা আরও দীর্ঘ) এটিও কার্যকর হতে পারে - এটি একটি ভাঙ্গা প্যাকেজ ফাইলের লক্ষণ হতে পারে।
dpkg --get-selections … | … dpkg --set-selections
প্যাকেজ নির্বাচনগুলি প্রতিলিপি করার উপায়। যদি এটি আপনার জন্য ব্যর্থ হয় তবে আপনাকে কেন আরও তথ্য সরবরাহ করতে হবে। উভয় সিস্টেমে আপনার উত্সের পুরো সেট, আউটপুটdpkg --get-selections
এবং সম্পূর্ণ ট্রান্সক্রিপ্ট পোস্ট করুনdpkg --get-selections
(সম্ভবত আমরা কী কাজ করে এবং কী না তা দেখে কোনও নমুনা সনাক্ত করতে পারি)। মূল সিস্টেমটি যদি amd64 বা i386? আপনি i386 আর্কিটেকচারটি যুক্ত না করলে কি এটি কাজ করে?