উবুন্টু (লিনাক্স) এ কোন প্যাকেজ ইনস্টল করা হয়েছিল তা আপনি কীভাবে ট্র্যাক করবেন?


38

(এই প্রশ্নটি 10458 এর মতোই অনুরূপ It প্রস্তাবিত হয়েছিল যে ফেডোরা এবং উবুন্টু / দেবিয়ান বিভিন্ন উত্তর উত্তরের জন্য যথেষ্ট আলাদা)

যেহেতু আমি কোনও উবুন্টু সেটআপ ব্যবহার করি আমি ধীরে ধীরে বেসলাইন ইনস্টলেশন ও তার উপরে অনেকগুলি প্যাকেজ ইনস্টল করি। যদি আমি পুনরায় ইনস্টল করি বা আমার যদি নতুন কোনও মেশিন ইনস্টল করার প্রয়োজন হয় তবে আমি সাধারণত সেই নির্দিষ্ট প্যাকেজগুলি পুনরায় ইনস্টল করতে চাই এবং ন্যূনতম ঝামেলা নিয়ে কাজটি ফিরে পেতে আমি দ্রুত এটি করতে চাই। আমি যতদূর প্যাকেজ পরিচালকের সব দেখা করেছি হিসাবে ( apt-get, aptitudeএবং synaptic) আমার যা প্যাকেজগুলি ইনস্টল করা বলতে পারেন, এবং তারা সব লগগুলি (প্রতিটি টুল, যা একটি ঝগড়া জন্য বিভিন্ন বেশী যদিও) আছে। তবে তাদের কেউই আমাকে বলতে পারবেন না যে আমি কোন প্যাকেজ পেয়েছিইনস্টল করা হয়েছে, তাদের নির্ভরতা বা সিস্টেম আপডেটের বিপরীতে। এমনকি লগগুলিও মুশকিল যে এগুলি থেকে আমার কী কী উত্তোলন করা উচিত, বা কীভাবে তাদেরকে সংহত করতে হবে (সম্পূর্ণ বিভিন্ন পারিবারিক সরঞ্জামগুলির ক্ষেত্রে) আমি সম্পূর্ণ নিশ্চিত নই। এর অর্থ হ'ল প্রতিবার আমি পুনরায় ইনস্টল করব, এমনকি ঠিক ব্যাকআপ নেব, কীভাবে সেই তালিকা পুনরায় তৈরি করব তা নিশ্চিত নই।

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


নীচের উত্তরগুলির বেশিরভাগটি আমি যা খুঁজছি তার কিছুটা আনুমানিক সংস্থান সরবরাহ করে এবং কিছুটা ডিগ্রি কার্যকর হয়। নির্বাচিতটি হ'ল এটিই যা আমার সরঞ্জামগুলি নতুন সিস্টেমে পুনরায় ইনস্টল করার যুক্তিসঙ্গত স্বয়ংক্রিয় পদ্ধতির নিকটে আসে, এমনকি তার সমস্ত সতর্কতা সহ।


আপনি সমস্ত লিনাক্স ডিস্ট্র্রসের জন্য একটি সহজে ভাগ করে নেওয়া উত্তর পাওয়ার সম্ভাবনা নেই। বিভিন্ন লিনাক্সের ডিস্ট্রোগুলিকে আলাদা করার জন্য প্যাকেজ পরিচালনা হ'ল একটি বড় অংশ।
টেলিমাচাস

টেলিমাচাস - সত্য। এবং এটি দুটি প্রশ্নের মধ্যে বিভক্ত করা বোধগম্য হতে পারে। তবে এটি একটি মোটামুটি বিশেষায়িত প্রশ্ন বলে মনে হয়েছিল এবং আমি উভয় সিস্টেমই ব্যবহার করি, তাই আমি আগেই এটিকে খুব সঙ্কুচিত করতে চাইনি। দেখে মনে হচ্ছে এখানে বেশিরভাগ উত্তর dpkg / apt এর জন্য, সুতরাং আরপিএম / ইউমের জন্য পৃথক প্রশ্নটি বোধগম্য হতে পারে।
কোয়ার্ক

নিক্সস এ স্যুইচ করুন :) (কেবল ট্রোলিং)।
আলেক্সি

উত্তর:


31

যে কোনও ডেবিয়ান ভিত্তিক মেশিনে, প্যাকেজ সেটটিকে নকল করার এটি একটি সাধারণ উপায়। পুরানো মেশিনে:

dpkg --get-selections "*" > my_favorite_packages

my_favorite_packagesনতুন মেশিনে ফাইলটি অনুলিপি করুন (একটি থাম্ব ড্রাইভ একটি ভাল বিকল্প, তবে scpএটি দুর্দান্তও কাজ করে)। তারপরে এই ক্রমটি চালান (মূল অধিকার সহ):

apt-get update
dpkg --set-selections < my_favorite_packages
apt-get -u dselect-upgrade

এটি আপনাকে কেবল ইনস্টল করা প্যাকেজগুলিই পায় না । এটি তাদের নির্ভরতা ইত্যাদিও পায় gets এছাড়াও, যদি দুটি মেশিনের মধ্যে সংগ্রহস্থলগুলি পৃথক হয়, সমস্ত বেট বন্ধ রয়েছে।

লগ হিসাবে, apt-getএকটি লগ এ রাখা /var/log/apt/history.log(একটি মন্তব্য এটি আপডেট করার জন্য Tshepang ধন্যবাদ); dpkg(এট /var/log/dpkg.log) করে, তবে এটি পার্স করা বিখ্যাতভাবে শক্ত এবং এটি কেবলমাত্র মূল অধিকার সহ পড়া যায়; aptitudeএর একটি রয়েছে /var/log/aptitudeএবং আপনি এটির মাধ্যমে নিয়মিত ব্যবহারকারীর সুবিধাগুলি সহ পৃষ্ঠাটি করতে পারেন।

আমি যতদূর বলতে পারি, আপনি ঠিক বলেছেন যে এই লগগুলির কোনওটিই সুনির্দিষ্টভাবে সন্ধান করে না যা আপনি স্বয়ংক্রিয়ভাবে ইনস্টল করা নির্ভরতার বিপরীতে হিসাবে ইনস্টল করেছেন। আপনি aptitudeঅনুসন্ধান থেকে এই তথ্যটি পেতে পারেন । স্বয়ংক্রিয়ভাবে ইনস্টল করা সমস্ত ইনস্টল করা প্যাকেজগুলির জন্য অনুসন্ধান করুন:

aptitude search '~i ~M'

আপনি যদি ইনস্টল করেন কেবলমাত্র (অটো-নির্ভরতা নয়) চান তবে এটিকে উপেক্ষা করুন ~M:

aptitude search '~i !~M'

আপনি যদি এটি বিন্যাস করতে চান যাতে আপনার কেবল প্যাকেজগুলির নাম এবং "ইনস্টল" শব্দ রয়েছে, তাও aptitudeকরতে পারেন। এটি আপনাকে ফিড দেওয়ার জন্য প্রস্তুত একটি তালিকা দেয় dpkg --get-selections:

aptitude search '~i !~M' -F "%p install"

(রেডহ্যাট বা রেডহ্যাট-ভিত্তিক সিস্টেমগুলিতে আমার কাছে কিছুই পাওয়া যায়নি। দুঃখিত। লিনাক্সের প্রতি সত্যিই উত্তর নেই কারণ প্যাকেজ ব্যবস্থাপনাই বিভিন্ন ডিস্ট্রোসকে আলাদা করে তোলে তার একটি বড় অংশ ))


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

3
লক্ষ্য করুন এপিটি এখন "/var/log/apt/history.log" এ একটি লগ রাখে এবং দ্বারা ব্যবহৃত হয় apt-get, synapticএবং aptitude(এ পর্যন্ত আমার দেখা হিসাবে)। এই কারণ তাঁর পূর্ববর্তী 2010 হয়
tshepang

dpkg.logবিবৃতি আমি আমার পছন্দসই মান নির্বাচন করে সহজেই তুচ্ছ নয়, কিন্তু খুব কঠিন না পেতে পারেন কোন ব্যবহারকারী হিসাবে উবুন্টু 14.04 এ সত্য হতে পারে উপস্থিত হয় না। awk '$3 != "install" { next } ; { gsub(/:.+/, "", $4) ; print $4 }' /var/log/dpkg.log | sort | uniq
স্টিভ বুজনস

প্রকৃতপক্ষে, আমি বুঝতে পারি যে এটি এতটা সহজ নয় যতটা আমি প্রথম দিকে ভেবেছিলাম, পূর্ববর্তী অ্যাজক স্ক্রিপ্টের ত্রুটি আনইনস্টল হওয়া প্যাকেজগুলিতে কোনও মনোযোগ দেয় না। নিম্নলিখিতটি awk '$3 !~ /install|remove|purge/ { next } { gsub(/remove|purge/, "uninstall", $3) ; gsub(/:.+/, "", $4) ; a[$4]=$3 } END { for (p in a) { if (a[p] == "install") { print p } } }' /var/log/dpkg.log | sort -uকরে।
স্টিভ বুজনস

7

dpkg -l '*' > jaunty.originalনতুনভাবে ইনস্টল হওয়া সিস্টেমে সমস্ত ইনস্টল করা প্যাকেজগুলি স্মরণে রাখার জন্য ব্যবহার করুন ।

আপনার ইনস্টল করার পরে আপনার সমস্ত অতিরিক্ত প্যাকেজগুলি করুন dpkg -l '*' > mysystem.2009017

অতিরিক্ত প্যাকেজগুলি কেবল পার্থক্য: diff jaunty.original mysystem.2009017


3
প্রাথমিক ধারণাটি শক্তিশালী: বর্তমানে ইনস্টল হওয়া অ্যাপ্লিকেশনগুলির তালিকা ডাম্প করতে কমান্ড লাইনটি ব্যবহার করুন এবং তারপরে নতুন মেশিনে এই প্যাকেজগুলি ইনস্টল করতে কমান্ড লাইন ব্যবহার করুন। আপনি পদ্ধতির সাথে বেশ সৃজনশীল এবং নির্দিষ্ট পেতে পারেন।
প্যাকাপেডেমিক

1
আমি dpkg
--get-

যদিও এটি প্যাকেজগুলিকে আমি তাদের নির্ভরতা থেকে পৃথক করে দিয়েছি তা ট্র্যাক করে না, এটি অবশ্যই একটি দরকারী তালিকা তৈরি করে।
কোয়ার্ক

3

প্রবণতা আসলে এটি বেশ ভাল। দক্ষতা কখনই হাত বা নির্ভরতার মাধ্যমে ইনস্টল করা হয়েছিল তা জানে এবং আপনি এটি প্রয়োজনীয় জিনিসগুলি অপসারণ করতে বলতে পারেন এবং কেবলমাত্র ইনস্টল করা হয়েছিল কারণ আপনার সিস্টেমকে যতটা সম্ভব ছোট করা যায় তার জন্য অন্য কোনও কিছু নির্ভর করে।

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

আমি কি করতে কিভাবে ব্যাখ্যা যে সব আমার ব্লগ দুটি পোস্টে: পরিষ্কার আপ একটি ডেবিয়ান জিএনইউ / লিনাক্স এবং একটি ডেবিয়ান জিএনইউ / লিনাক্স (অথবা উবুন্টু) পরিষ্কার আপ, Reprise । সংক্ষেপে, আপনি যে উত্তরটির সন্ধান করছেন তা হ'ল:

aptitude search ~i | grep -v "i A"

গতবার আমি এটির সাথে কাজ করেছি, আপনি যদি অ্যাপটি-গেট ব্যবহার করেন, তবে এটি কার্যকর হয়নি। এ কারণেই আমি সর্বদা প্রবণতার প্রস্তাব দিই এবং যতদূর আমি জানি ডিবিয়ান প্রবণতার পক্ষে অ্যাপট-গিটকে হ্রাস করছে।

ফেডোরায় এটি কীভাবে করা যায় তা আমি জানি না এবং সম্ভবত অন্য প্রশ্নের চেয়ে আলাদা করা উচিত। ফেডোরা এবং উবুন্টু পৃথক অপারেটিং সিস্টেম এবং এগুলি হিসাবে বিবেচনা করা উচিত (এমনকি তারা তাদের কার্নেল এবং কিছু অন্যান্য জিনিস ভাগ করে নিলেও)।


2
আমি মনে করি যে প্রয়োজন ছাড়াই আপনি এই তথ্যটি পেতে পারেন grep: aptitude search '~i !~M'কৌশলটি করা উচিত।
টেলিমাচাস

1
এছাড়াও, apt-getঅবচিত নয় isn't ডেবিয়ান বিশেষ পরামর্শ দেওয়া হচ্ছে aptitudeকমান্ড লাইন প্যাকেজ পরিচালনার জন্য, কিন্তু যে বিনয়ী থেকে একেবারেই আলাদা এর apt-get
টেলিমাচাস

এখানে সূক্ষ্ম কিছু আছে। তৃতীয় কলামে "এ" অনুসন্ধান করা প্যাকেজগুলি চিহ্নিত করে যা আমি জানি যে নির্ভরতা হিসাবে ইনস্টল করা আছে। তবে এটি স্পষ্টতই তাদের সকলকে ধরছে না: বেশিরভাগ তালিকার অবশ্যই আমার স্পষ্ট অনুরোধ দ্বারা ইনস্টল করা হয়নি।
কোয়ার্ক

@Telemachus। আপনার আদেশ এবং প্যাটার্ন সহ একটি ঠিক একই জিনিসটি করবেন না: দুটি তালিকার আলাদা আলাদা সামগ্রী রয়েছে। আমি কেন আপনাকে বলার উপযুক্ততা সম্পর্কে যথেষ্ট জানি না।
কোয়ার্ক

@ পাবলো: আপনার লগের লিঙ্কগুলি ভাঙ্গা মনে হচ্ছে। আপনি যদি এগুলি ঠিক করতে পারেন তবে আমি অবশ্যই সেগুলি পড়তে চাই।
কোয়ার্ক


1

উপযুক্ত-ভিত্তিক সিস্টেমগুলিতে /var/log/apt/term.log দেখুন look আমার জন্য, ইনস্টলেশনটি কোথায় শেষ হয়েছে এবং আমার ইনস্টলেশনগুলি কোথায় শুরু হয়েছিল তা আঁকার জন্য খুব সুন্দর লাইন রয়েছে।


আমার জন্য কম দরকারী, কারণ ম্যানুয়াল ইনস্টল এবং সিস্টেম আপডেটের একটি অন্তর্নির্মিত আছে। এছাড়াও আপনার সেটআপ টার্মের উপর নির্ভর করে lo
কোয়ার্ক

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

1

থেকে man aptitude-create-state-bundle:

অ্যাপটিটিচিউড-ক্রিয়েট-স্টেট-বান্ডেল এমন একটি সংকুচিত সংরক্ষণাগার তৈরি করে যা বর্তমান প্যাকেজ সংরক্ষণাগার অবস্থার অনুলিপি তৈরি করতে প্রয়োজনীয় ফাইলগুলি সঞ্চয় করে।

এটি একই তথ্য বজায় রাখবে aptitudeযা প্যাকেজগুলিতে ম্যানুয়ালি ইনস্টল করা হয়েছিল।

এটি ব্যবহার করা বোঝাতে aptitude-run-state-bundle:

অ্যাপটিটিউড-রান-স্টেট-বান্ডিলটি অস্থায়ী ডিরেক্টরিতে অ্যাপটিচিউড-ক্রিয়েট-স্টেট-বান্ডেল (1) দ্বারা নির্মিত প্রদত্ত অ্যাপটিচিউড স্টেট বান্ডেলটি আনপ্যাক করে, সরবরাহিত সাথে এটিতে অনুরোধ করে এবং অস্থায়ী ডিরেক্টরিটি পরে সরিয়ে দেয়।


1

ব্যবহার করার সময় dpkgআপনি জানেন না যে প্যাকেজটি ব্যবহারকারী দ্বারা ম্যানুয়ালি ইনস্টল করা হয়েছে বা স্বয়ংক্রিয়ভাবে (নির্ভরতা হিসাবে বা প্রাথমিক ওএস ইনস্টলের সময়)। আপনি যদি এই তথ্যটি ধরে রাখতে চান তবে আপনাকে কেবল প্যাকেজগুলির তালিকা পেতে হবে যা প্রকৃতপক্ষে ম্যানুয়ালি ইনস্টল করা হয়েছিল।

তার জন্য, আপনি এই দুটি ওয়ান-লাইনারের কোনওটিই ব্যবহার করতে পারেন। উভয়ই আমার মেশিনে ঠিক একই আউটপুট দেয় এবং এই প্রশ্নটিতে এখন পর্যন্ত প্রস্তাবিত সমস্ত সমাধানের চেয়ে আরও সুনির্দিষ্ট। এগুলি দুটি উত্তর (1) এবং (2) এর সংমিশ্রণ । নোট করুন যে আমি মূলত এই উত্তরটি এখানে পোস্ট করেছি ।

ব্যবহার apt-mark:

comm -23 <(apt-mark showmanual | sort -u) <(gzip -dc /var/log/installer/initial-status.gz | sed -n 's/^Package: //p' | sort -u)

ব্যবহার aptitude:

comm -23 <(aptitude search '~i !~M' -F '%p' | sed "s/ *$//" | sort -u) <(gzip -dc /var/log/installer/initial-status.gz | sed -n 's/^Package: //p' | sort -u)

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

libreoffice-help-en-gb
openoffice.org-hyphenation
gstreamer0.10-fluendo-mp3
linux-headers-3.13.0-29    

এটা কিভাবে কাজ করে

  1. ম্যানুয়ালি ইনস্টল করা প্যাকেজগুলির তালিকা পান। প্রবণতার জন্য, অতিরিক্ত sedস্ট্রিপগুলি লাইনের শেষে বাকী সাদা জায়গা ছেড়ে দেয়।
  2. নতুন ইনস্টল করার পরে প্যাকেজগুলির তালিকা ইনস্টল করুন।
  3. ফাইলগুলির সাথে তুলনা করুন, কেবল ফাইল 1-এ লাইনগুলি আউটপুট করুন যা ফাইল 2 তে উপস্থিত নেই।

অন্যান্য সম্ভাবনাও তেমন কাজ করে না:

  • এর পরিবর্তে ubuntu-14.04-desktop-amd64.manifestফাইলটি ( এখানে উবুন্টু 14.04 এর জন্য) ব্যবহার করা হচ্ছে /var/log/installer/initial-status.gz। আরও প্যাকেজগুলি ম্যানুয়ালি ইনস্টল করা না থাকলেও প্রদর্শিত হয় they
  • এর apt-mark showautoপরিবর্তে ব্যবহার করা হচ্ছে /var/log/installer/initial-status.gzapt-markউদাহরণস্বরূপ, xserver-xorg প্যাকেজটি অন্তর্ভুক্ত নয়, যখন অন্য ফাইলটি করে।

উভয়ই উপরের সমাধানের চেয়ে বেশি প্যাকেজ তালিকাভুক্ত করে।


0

আমি পক্ষপাতদুষ্ট, এবং আমি যে সমাধানটি উপস্থাপন করি তা সর্বদা সম্ভব নয়, তবে আমি এই পরিস্থিতিতে ক্লান্ত হয়ে পড়েছিলাম। ফলাফলটি হ'ল আমি আপডেট / প্যাকেজ ম্যানেজার সরঞ্জামগুলি দিয়ে আর কিছু ইনস্টল করি না।

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

যখন আমি কোনও নতুন সিস্টেমে চলে যাই, বা পুনরায় ইনস্টল করি, আমি কেবল মেকফিলটি অনুলিপি করি (আরও কিছু সহায়ক সামগ্রী), বিশ্ব চালান এবং পরের দিন ফিরে আসি।

আমি বিকাশিত কিছু প্রোগ্রামের জন্য (তাই আমার নিয়ন্ত্রণ রয়েছে), আমি একটি প্রোগ্রাম করেছি যা আমি প্রোগ্রাম করেছিলাম, চেস্টনট প্যাকেজ ম্যানেজার । MacOSX এ। অ্যাপ ফোল্ডারগুলি বাছাই করুন। সবকিছু প্যাকেজে রয়েছে, তাই আমি জানি যে কোনও সময়ে কী ইনস্টল করা আছে এবং আমি জানি এটি স্বয়ংসম্পূর্ণ এবং স্বয়ংসম্পূর্ণ (সিস্টেম লিব ছাড়া)


আপনি কেবল স্ক্রিপ্টে প্যাকেজ পরিচালককে কমান্ড ইনস্টল করতে পারেন এবং একই প্রভাব ফেলতে পারেন; ধরে নিচ্ছি যে আপনার প্রয়োজনীয় কোডটি প্যাকেজ করা হয়েছে। আপনার দৃষ্টিভঙ্গি ভদ্রলোকের সাথে খুব মিল দেখাচ্ছে।
wcoenen

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

হ্যাঁ, তবে অতিরিক্ত বিষয়টি নিয়ে যে উবুন্টু / ফিঙ্ক / ডারউইনপোর্টস স্টাফ সর্বত্র ক্রস প্ল্যাটফর্মের কাজ করে না (আমি একবার ডিজিটাল এবং আইবিএম এসপি 4 এ ছিলাম)। আমি দাবি করি না এটি যাওয়ার একটি দুর্দান্ত উপায়। আমি কেবল এটিই বলি যে এটি কাজটি করে, কুৎসিত, দুর্গন্ধযুক্ত উপায়ে, এবং আমি আমার সিস্টেমে যা চলে তার পুরো নিয়ন্ত্রণ রাখি।
স্টেফানো বোরিনি

অবশ্যই, আমি প্রকৃতপক্ষে এই দিনগুলির মধ্যে একটির সিদ্ধান্ত নিতে পারলাম প্রকৃতপক্ষে উত্থিত হওয়ার জন্য এবং এটি দিয়ে সমস্ত কিছুতে নতুন করে কাজ করার জন্য serious
স্টেফানো বোরিনি

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