কম্পিউটার টিউটোরিয়াল

sudo apt-get update vs upgrade: পার্থক্য কী? - একটি স্পষ্ট গাইড

sudo apt-get update এবং sudo apt-get upgrade হলো দুটি কমান্ড যা আপনি ব্যবহার করতে পারেন আপনার সকল প্যাকেজ আপ টু ডেট রাখতে Debian বা Debian-ভিত্তিক লিনাক্স ডিস্ট্রিবিউশনে।

এগুলো লিনাক্স অ্যাডমিন এবং DevOps করার লোকদের জন্য সাধারণ কমান্ড, কিন্তু জানা থাকা কার্যকর এমনকি আপনি যদি কমান্ড লাইন কম ব্যবহার করেন।

এই আর্টিকেলে, আমি উভয় কমান্ড কী করে, কীভাবে ব্যবহার করতে হয়, এবং কিছুäufig জিজ্ঞাসিত প্রশ্নের উত্তর দিব।

sudo apt-get update এবং sudo apt-get upgrade-এর মধ্যে পার্থক্য কী?

প্রধান পার্থক্য হচ্ছে sudo apt-get update আপনার ডিস্ট্রোর সফ্টওয়্যার রিপোজিটরি থেকে এবং যে কোনো থার্ড-পার্টি রিপোজিটরি আপনি কনফিগার করছেন সেগুলো থেকে প্যাকেজ লিস্টের লেটেস্ট ভার্সন ফেচ করে। অন্য কথায়, এটা বুঝতে পারবে প্রতিটি প্যাকেজ এবং ডিপেন্ডেন্সির লেটেস্ট ভার্সন কী, কিন্তু আসলে সেসব আপডেট ডাউনলোড বা ইনস্টল করবে না।

sudo apt-get upgrade কমান্ড আপনার সিস্টেমে প্রতিটি আউটডেটেড প্যাকেজ এবং ডিপেন্ডেন্সির আপডেট ডাউনলোড এবং ইনস্টল করে। কিন্তু শুধু sudo apt-get upgrade চালালে আউটডেটেড প্যাকেজগুলো অটোমেটিক্যালি আপগ্রেড হবে না – আপনার এখনও সুযোগ থাকবে চেঞ্জগুলো রিভিউ করতে এবং কনফর্ম করতে যে আপনি আপগ্রেড انجام দিতে চান।

sudo apt-get update কমান্ড কীভাবে ব্যবহার করবেন

আপনার Debian-ভিত্তিক লিনাক্স ডিস্ট্রোতে (Debian, Ubuntu, Linux Mint, Kali Linux, Raspberry Pi OS, ইত্যাদি), একটি টার্মিনাল উইন্ডো খুলুন।

আপনার ডিস্ট্রোর উপর নির্ভর করে, টার্মিনাল ভিন্ন নাম থাকতে পারে কীভাবে আপনি খুলেন সেটির উপর। উদাহরণস্বরূপ, Ubuntu এবং Linux Mint-এ, ডিফল্ট টার্মিনাল Gnome Terminal, কিন্তু অ্যাপ্লিকেশন মেনুতে Terminal আন্ডার লিস্টেড থাকতে পারে।

টার্মিনালে, sudo apt-get update কমান্ড লাইনে লিখুন, আপনার অ্যাডমিন পাসওয়ার্ড দিন, এবং Enter কী চাপুন।

আপডেট থাকলে, আপনি আউটপুট দেখবেন এইরকম:

kris@pihole:~ $ sudo apt-get update Hit:1 https://ftp.harukasan.org/raspbian/raspbian bullseye InRelease Get:2 https://download.docker.com/linux/raspbian bullseye InRelease [26.7 kB] Get:3 https://archive.raspberrypi.org/debian bullseye InRelease [23.7 kB] Get:4 https://packages.azlux.fr/debian buster InRelease [3,989 B] Get:5 https://archive.raspberrypi.org/debian bullseye/main armhf Packages [282 kB] Get:6 https://packages.azlux.fr/debian buster/main armhf Packages [3,418 B] Fetched 340 kB in 4s (94.8 kB/s) Reading package lists... Done Building dependency tree... Done Reading state information... Done 3 packages can be upgraded. Run 'apt list --upgradable' to see them.

আপনি যদি দেখতে চান কোন প্যাকেজগুলো আপগ্রেড করা যায়, apt list --upgradable চালান:

kris@pihole:~ $ apt list --upgradable Listing... Done libcamera0/stable 0~git20220426+18e68a9b-1 armhf [upgradable from: 0~git20220303+e68e0f1e-1] raspi-config/stable 20220425 all [upgradable from: 20220419] rpi-eeprom/stable 13.13-1 armhf [upgradable from: 13.12-1]

কিন্তু আপনার ডিস্ট্রোর সফ্টওয়্যার রিপোজিটরিতে প্যাকেজ বা ডিপেন্ডেন্সির কোনো nieuwer ভার্সন না থাকলে, আপনি আউটপুট দেখবেন এইরকম:

kris@pihole:~ $ sudo apt-get update Get:1 https://download.docker.com/linux/raspbian bullseye InRelease [26.7 kB] Hit:2 https://ftp.harukasan.org/raspbian/raspbian bullseye InRelease Hit:3 https://packages.azlux.fr/debian buster InRelease Hit:4 https://archive.raspberrypi.org/debian bullseye InRelease Fetched 26.7 kB in 3s (8,789 B/s) Reading package lists... Done

নোট করুন যে আপগ্রেডযোগ্য প্যাকেজের কোনো জিক্র নেই, এবং apt list --upgradable চালানোর কোনো নোট নেই।

কিন্তু এটার মানে এটা নয় যে আপনার সিস্টেমে কোনো আউটডেটেড সফ্টওয়্যার নেই, শুধু এটা মানে আপনি ইতিমধ্যে প্যাকেজ লিস্টের লেটেস্ট ভার্সন পেয়ে গেছেন। আপনি একাধিকবার sudo apt-get update চালিয়ে থাকতে পারেন।

আপনি সবসময় apt list --upgradable আবার চালাতে পারেন দেখতে কিছু আপগ্রেড করা যায় কিনা।

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

apt এবং apt-get-এর পার্থক্য সম্পর্কে আরও জানতে, নিচের সেকশন চেক করুন।

sudo apt-get upgrade কমান্ড কীভাবে ব্যবহার করবেন

sudo apt-get update কমান্ড চালানোর পর, একই টার্মিনাল উইন্ডোতে, sudo apt-get upgrade লিখুন, প্রয়োজনে পাসওয়ার্ড দিন, এবং এন্টার চাপুন।

তখন, আপনি আউটপুট দেখবেন এইরকম:

kris@pihole:~ $ sudo apt-get upgrade Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done The following packages will be upgraded: libcamera0 raspi-config rpi-eeprom 3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 2,616 kB of archives. After this operation, 1,596 kB of additional disk space will be used. Do you want to continue? [Y/n] 

আউটপুটের নিচের দিকে, আপনি আপগ্রেড হব প্যাকেজগুলো দেখবেন:

The following packages will be upgraded: libcamera0 raspi-config rpi-eeprom 3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

যে পরিমাণ ডেটা ফেচ করতে হবে, এবং আপগ্রেড করা প্যাকেজগুলো ইনস্টল হওয়ার পর কত স্টোরেজ স্পেস ব্যবহার করবে:

Need to get 2,616 kB of archives. After this operation, 1,596 kB of additional disk space will be used.

এবং চূড়ান্ত, আপনি একটি প্রম্পট দেখবেন চাইতে যে আপনি আপগ্রেড কন্টিনিউ করতে চান কিনা:

Do you want to continue? [Y/n] 

আপনি y, Y, বা yes লিখতে পারেন আপগ্রেড কন্টিনিউ করতে, অথবা n, N, বা no লিখে upgrade কমান্ড থেকে এক্সিট করতে পারেন।

আপনি যদি এক্সিট করতে বেছে নেন, আপনি আউটপুট দেখবেন এইরকম:

kris@pihole:~ $ sudo apt-get upgrade Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done The following packages will be upgraded: libcamera0 raspi-config rpi-eeprom 3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 2,616 kB of archives. After this operation, 1,596 kB of additional disk space will be used. Do you want to continue? [Y/n] n Abort.

আপনি যদি আপগ্রেড কন্টিনিউ করতে বেছে নেন, আপনি একটি লম্বা আউটপুট দেখবেন এইরকম:

kris@pihole:~ $ sudo apt-get upgrade Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done The following packages will be upgraded: libcamera0 raspi-config rpi-eeprom 3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 2,616 kB of archives. After this operation, 1,596 kB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 https://archive.raspberrypi.org/debian bullseye/main armhf libcamera0 armhf 0~git20220426+18e68a9b-1 [548 kB] Get:2 https://archive.raspberrypi.org/debian bullseye/main armhf raspi-config all 20220425 [30.3 kB] Get:3 https://archive.raspberrypi.org/debian bullseye/main armhf rpi-eeprom armhf 13.13-1 [2,037 kB] Fetched 2,616 kB in 3s (1,019 kB/s) Reading changelogs... Done (Reading database ... 43496 files and directories currently installed.) Preparing to unpack .../libcamera0_0~git20220426+18e68a9b-1_armhf.deb ... Unpacking libcamera0:armhf (0~git20220426+18e68a9b-1) over (0~git20220303+e68e0f1e-1) ... Preparing to unpack .../raspi-config_20220425_all.deb ... Unpacking raspi-config (20220425) over (20220419) ... Preparing to unpack .../rpi-eeprom_13.13-1_armhf.deb ... Unpacking rpi-eeprom (13.13-1) over (13.12-1) ... Setting up rpi-eeprom (13.13-1) ... Setting up libcamera0:armhf (0~git20220426+18e68a9b-1) ... Setting up raspi-config (20220425) ... Processing triggers for man-db (2.9.4-2) ... Processing triggers for libc-bin (2.31-13+rpt2+rpi1+deb11u2) ...

এবং একবার এটি কমপ্লিট হলে, সব আউটডেটেড প্যাকেজ এবং ডিপেন্ডেন্সি আপডেট হয়ে যাবে।

একটি গুরুত্বপূর্ণ জিনিস মনে রাখা sudo apt-get upgrade কমান্ড সম্পর্কে যে এটি শুধু সেটি আপগ্রেড করে যা সেটি কোনো কিছু রিমув ছাড়া করতে পারে।

উদাহরণস্বরূপ, যদি একটি আপগ্রেডে একটি নতুন ডিপেন্ডেন্সি দরকার হয়, upgrade কমান্ড সেটি ডাউনলোড এবং ইনস্টল করবে, কিন্তু পুরনো ডিপেন্ডেন্সি রিমув করবে না। পুরনো ডিপেন্ডেন্সি রিমুভ করতে একটি আলাদা কমান্ড লাগে। আপনি এটা খুব বেশি দেখবেন যখন আপনি একটি নিউ কার্নেল ভার্সনে আপগ্রেড করবেন।

আপনি আপগ্রেডের পর যদি একটি মেসেজ দেখেন এইরকম:

The following packages were automatically installed and are no longer required: g++-8 gir1.2-mutter-4 libapache2-mod-php7.2 libcrystalhd3 Use 'sudo apt autoremove' to remove them.

আপনি সুপারিশ অনুসরণ করে sudo apt autoremove ব্যবহার করতে পারেন সে অপরিহার্য প্যাকেজগুলো রিমুভ করতে।

sudo apt-get upgrade কমান্ডের সাথে স্পেশাল অপশন কীভাবে ব্যবহার করবেন

sudo apt-get upgrade কমান্ডের সাথে অনেক স্পেশাল অপশন বা প্যারামিটার ব্যবহার করা যায়, কিন্তু দুটি আউটস্ট্যান্ডিং: --dry-run এবং --yes।

--dry-run অপশন কীভাবে ব্যবহার করবেন:

--dry-run (বিকল্পভাবে, -s বা --simulate) অপশন সিমুলেট করে আপগ্রেড প্রসেসে কী হবে, কিন্তু আপনার সিস্টেমে কিছু পরিবর্তন করে না:

kris@pihole:~ $ sudo apt-get upgrade --dry-run Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done The following packages will be upgraded: libcamera0 raspi-config rpi-eeprom 3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Inst libcamera0 [0~git20220303+e68e0f1e-1] (0~git20220426+18e68a9b-1 Raspberry Pi Foundation:stable [armhf]) Inst raspi-config [20220331] (20220425 Raspberry Pi Foundation:stable [all]) Inst rpi-eeprom [13.12-1] (13.13-1 Raspberry Pi Foundation:stable [armhf]) Conf libcamera0 (0~git20220426+18e68a9b-1 Raspberry Pi Foundation:stable [armhf]) Conf raspi-config (20220425 Raspberry Pi Foundation:stable [all]) Conf rpi-eeprom (13.13-1 Raspberry Pi Foundation:stable [armhf])

আবারও, যদিও Debian এবং Debian-ভিত্তিক ডিস্ট্রো খুব স্থির, এই অপশন উপকারী যদি আপনি নিশ্চিত হতে চান আপগ্রেডের время কোনো কনফ্লিক্ট নেই।

--yes অপশন কীভাবে ব্যবহার করবেন:

--yes (বিকল্পভাবে, -y বা --assume-yes) অপশন অটোমেটিক্যালি yes উত্তর দেয় যেকোনো প্রম্পটের যদি সেটি সেফ হয়:

kris@pihole:~ $ sudo apt-get upgrade --yes Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done The following packages will be upgraded: libcamera0 raspi-config rpi-eeprom 3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 2,616 kB of archives. After this operation, 1,596 kB of additional disk space will be used. Get:1 https://archive.raspberrypi.org/debian bullseye/main armhf libcamera0 armhf 0~git20220426+18e68a9b-1 [548 kB] Get:2 https://archive.raspberrypi.org/debian bullseye/main armhf raspi-config all 20220425 [30.3 kB] Get:3 https://archive.raspberrypi.org/debian bullseye/main armhf rpi-eeprom armhf 13.13-1 [2,037 kB] ... Processing triggers for libc-bin (2.31-13+rpt2+rpi1+deb11u2) ...

নোট করুন যে Do you want to continue? [Y/n] উপরে স্কিপ হয়েছে, এবং সব প্যাকেজ আপগ্রেড হয়েছে।

FAQs

sudo এবং apt-get কী?

sudo apt-get update এবং sudo apt-get upgrade সম্পর্কে একটি গুরুত্বপূর্ণ জিনিস নোট করুন যে উভয় কমান্ড তিনটি অংশ দিয়ে তৈরি: sudo, apt-get, এবং update বা upgrade।

sudo মানে "superuser do", এবং আপনাকে রুট বা অ্যাডমিন প্রিভিলেজ দিয়ে প্রোগ্রাম রান করতে দেয়।

উদাহরণস্বরূপ, একটি সিস্টেম রিবুট করতে হয় সুপারইউজার/রুট-লেভেল প্রিভিলেজ, তাই reboot টার্মিনালে চালালে এরর রিটার্ন করতে পারে এইরকম:

Failed to set wall message, ignoring: Interactive authentication required. Failed to reboot system via logind: Interactive authentication required. Failed to open initctl fifo: Permission denied Failed to talk to init daemon.

কিন্তু আপনি sudo reboot চালালে, তারপর অ্যাডমিন পাসওয়ার্ড দিলে, আপনি reboot কমান্ড সুপারইউজার হিসেবে চালাবেন, এবং আপনার সিস্টেম অবিলম্বে রিস্টার্ট হবে।

apt-get হচ্ছে একটি কমান্ড লাইন টুল Debian এবং Debian-ভিত্তিক লিনাক্স ডিস্ট্রোতে যা আপনি ব্যবহার করেন প্যাকেজ ইনস্টল এবং ম্যানেজ করতে।

apt-get এবং apt-এর পার্থক্য কী?

apt হচ্ছে Debian এবং Debian-ভিত্তিক ডিস্ট্রোর জন্য একটি অধুনিক টুল অ্যাপ্লিকেশন ইনস্টল এবং ম্যানেজ করতে।

অধিকাংশ ক্ষেত্রে, apt এবং apt-get একে অপর বদলে ব্যবহার করা যায় – sudo apt update এবং sudo apt-get update দুটোই আপনার সিস্টেমে প্যাকেজ লিস্ট আপডেট করে।

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

যদিও এই আর্টিকেলের অধিকাংশ উদাহরণ apt-get ব্যবহার করে, আমি দৃঢ়ভাবে আপনাকে apt ব্যবহার করার পরামর্শ দিই।

sudo apt-get update এবং sudo apt-get upgrade ব্যবহার করা নিরাপদ কি?

হ্যাঁ, Debian এবং Debian-ভিত্তিক ডিস্ট্রো সাধারণত খুব স্থির, এবং update এবং upgrade কমান্ডগুলো ব্যবহার করা নিরাপদ। এর কারণ হলো প্যাকেজ / ডিপেন্ডেন্সির মেজর আপডেট, এবং ডিস্ট্রোগুলো নিজেরা, বছরে এক বা দুইবার রিলিজ হয়।

নাকারাটিভ সাইড হচ্ছে, ব্লিডিং এজ ডিস্ট্রোর মত Arch Linux-এ, আপনি যদি একটি প্যাকেজের সবচেয়ে রিসেন্ট ভার্সন ব্যবহার করতে চান, আপনাকে কিছু একস্ট্রা কাজ করতে হতে পারে। আপনাকে একটি থার্ড-পার্টি রিপোজিটরি কনফিগার করতে হতে পারে PPA-এর মাধ্যমে, অ্যাল্টারনেটিভ প্যাকেজিং সিস্টেম যেমন Snap বা Flatpak ব্যবহার করতে, অথবা নিজে প্যাকেজ কম্পাইল করতে।

কিন্তু কিছুটা পুরনো সফ্টওয়্যার নিয়ে আসা স্থিতিশীলতা এর stojò, অন্তত আমার মতামতে।

sudo apt-get update এবং sudo apt-get upgrade কমান্ডগুলো চেইন করা যায় কি?

আপনি ভাবতে পারেন, কি sudo apt-get update চালানো, সেটি কমপ্লিট হওয়ার জন্য অপেক্ষা করা, তারপর sudo apt-get upgrade চালানো - এটা কি টেডিয়াস?

যদিও উভয় sudo apt-get update এবং sudo apt-get upgrade দ্রুত চলে, কখনো কখনো একসাথে স্ট্রিং অফ কমান্ড এক্সিকিউট করা সহজ এবং কয়েক মিনিট পর চেক করা।

&& অপারেটর দিয়ে, আপনি একাধিক কমান্ড চেইন করতে পারেন এইরকম:

sudo apt-get update && sudo apt-get upgrade

&& অপারেটর এর সাথে মনে রাখার গুরুত্বপূর্ণ জিনিস হচ্ছে অপারেটরের পরের কমান্ড শুধু চলে যদি এর আগের কমান্ড সফল হয়।

উপরোক্ত উদাহরণ ব্যবহার করে, sudo apt-get upgrade শুধু চলে যদি sudo apt-get update সাকসেসফুল হয়। যদি কোনো এরর থাকে, যেন নেটওয়ার্ক প্রব্লেম প্যাকেজ লিস্ট আপডেট করার время, তবে sudo apt-get update স্কিপ হয়।

sudo apt-get dist-upgrade এবং sudo apt full-upgrade কী, এবং এরা নিরাপদ কি?

এই Stack Overflow থ্রেড অনুযায়ী, এই কমান্ডগুলো একই জিনিস করে হুডের নিচে – সেগুলো আউটডেটেড প্যাকেজ আপগ্রেড করে, এবং বুদ্ধিমত্তাপূরব কিছু প্যাকেজ রিমুভ করে যখনই জরুরি।

সেনসiblি সেগুলো sudo apt-get upgrade এবং sudo apt autoremove কমান্ডের কম্বিনেশন মত।

এই কমান্ডগুলো চালানো চাহিয়ে সেফ অধিকাংশ কেসে।

অনেক লোক, আমার মত, sudo apt-get update এবং sudo apt-get upgrade ব্যবহার করার পরামর্শ দেন বদলে। আপনার আপকামিং চেঞ্জগুলো রিভিউ করার বেশি সুযোগ থাকে, এবং যেহেতু upgrade কখনো প্যাকেজ রিমুভ করে না, এটা কম ডিস্ট্রাক্টিভ।

./thanks_for_reading.sh

আপনি যদি এই ব্রেকডাউন sudo apt-get update এবং sudo apt-get upgrade উপকারী পান, দয়া করে আপনার বন্ধুদের সাথে শেয়ার করুন যাতে আরও মানুষ উপকৃত হয়।

এছাড়াও, টুইটারে রিচ আউট করতে ফ্রিলি মনে করুন এবং আমাকে জানান আপনি কী ভাবেন।


  1. মডেম বনাম রাউটার: পার্থক্য কী?

  2. DRAM সহ SSD নাকি DRAM-রহিত SSD? পার্থক্য কী?

  3. গেমিং রাউটার বনাম স্ট্যান্ডার্ড রাউটার: পার্থক্য কী?

  4. ভিপিএন বনাম প্রক্সি: নিরাপদ অনলাইন ব্রাউজিংয়ের জন্য মূল পার্থক্য বোঝা