Linux : busybox,dpkg,apt-get,apt

Posted by

I have discussed this blog  at  APT-GET  in detail. Please SUBSCRIBE Free Embedkari for many interesting technical topics.

I discussed about native debugging with gdb in  last blog post.   I strongly recommend you to read earlier blogs for better understanding . If you find something missing, Please provide feedback in comment box so that I can take corrective action.

Key TakeAway : Concept of Busybox, dpkg, apt-get, apt-cache, apt-mark, apt  with demo.

Busybox : The Swiss Army Knife of Embedded Linux 

It combines many small optimized utilities into a single binary. You may find it in normal desktop linux /bin folder but there are separate binaries for ls,cat,cp  etc . However , in Embedded Linux, you may find all these utilities linked to this single busybox binary .

Let me show you one common use case from a home router using telnet.

Step 1: Telnet should be disabled by default for network security. I have enabled it using GUI for testing purpose and simply removed the external internet  cable for security.

router_telnet_enable

Step 2: Start a telnet session to router IP using putty

putty_telnet

Step 3: Login using admin credentials and check the implementation of different linux binaries. These are linked to busybox (ls /bin -lart —->busybox)

Router_busybox

step 4: Double check  the system OS and target

admin@RT-AC51U:/# uname -a

Linux RT-AC51U 2.6.36 #1 Fri Aug 17 16:42:51 CST 2018 mips GNU/Linux

admin@RT-AC51U:/# cat /proc/cpuinfo

system type : MT7620

processor : 0

cpu model : MIPS 24Kc V5.0

BogoMIPS : 386.04

wait instruction : yes

microsecond timers : yes

tlb_entries : 32

extra interrupt vector : yes

hardware watchpoint : yes, count: 4, address/irw mask: [0x0000, 0x03f8, 0x0fe0, 0x0bf8]

ASEs implemented : mips16 dsp

shadow register sets : 1

core : 0

VCED exceptions : not available

VCEI exceptions : not available

Software Package Management

Software packages for Linux distributions are based on different package formats such as deb(Debian,Ubuntu,Kali Linux), rpm(Red Hat,Fedora) etc. Hence different package installers such as apt,yum etc are available. Let me take the case of Ubuntu

Debian Package or dpkg

dpkg is the low-level package installer for Debian based operating systems such as Ubuntu, Kali Linux  etc. The file format used is deb

dpkg -l  //List of all installed packages

dpkg –help

Please note that dpkg will not check the dependency,install or configure automatically. There is a provision of another high level package manager for this purpose. These high level package managers apt* use dpkg for installation purpose

You may like to watch the dpkg Demo

Advance Packaging Tool apt-get , apt-cache, apt

  • The apt-get utility is used for managing all software packaging requirements i.e. Installing/Removing/Updating software packages or Operating System itself. This check the package dependency and do necessary installation & configuration.
    • sudo apt-get update
    • sudo apt-get install
    • sudo apt-get upgrade
    • sudo apt-get remove — purge tftpd
    • purge option to remove configuration as well
  • The apt-cache utility to search packages in apt’s cache
    • apt-cache pkgnames
    • apt-cache search tftpd
  • The latest apt utility consists of all important commands from apt-get and apt-cache. So this should be used
    • apt list
    • apt show tftpd
    • apt –help
    • sudo apt edit-sources
  • apt-mark can be utilized to mark packages auto,manual,hold etc
    • apt-mark showmanual  

You may like to watch the APT-Commands Demo

Busybox Help command

The detail in help may differ depending on its implementation. For ex :  Desktop Ubuntu provides complete information of busybox tftp –help

But in embedded linux , It may be as follows

If you liked this , Please share in your network. You may also like to read :

Linux Dynamic Library Concepts

Git  Terminology Video

Latest Linux QUIZ 

Embedded System Developer Kit

You may  find list of all interesting topics at HowTo

Software vs Hardware skills

This article discuss the importance of hardware and software skills to meet time to market. Poll Result This was conducted

Continue reading

0 comments

Cybersecurity

Introduction Cyber Security is a domain that has always shown us its importance in the networking industry,if managing, processing and

Continue reading

0 comments

Embedded Systems Resources

Happy Independence Day !    The 75th Independence day 2021 – India Embedkari team has put together some selected material for

Continue reading

0 comments

Embedded Training – Residential

“If you define the problem correctly, you almost have the solution.” Steve Jobs Current pandemic situation has changed many things

Continue reading

0 comments

Embedded System Interview Preparation 1st Aug- (Embedded C, Data structure, RTOS, Resume …)

Course Contents   Embedded Interview Preparation – 1st August 2021   (Recorded & Live Mix) Note : Complete recorded video option is

Continue reading

0 comments

Journey from IT to Core

I’m Gunjan Vora, currently working as an Embedded Software Engineer at a German Multinational Company in Industrial Automation. I completed

Continue reading

0 comments

What are possible jobs related to Electronics in India ?

“Your work is going to fill a large part of your life, and the only way to be truly satisfied

Continue reading

0 comments

Embedded System with specialization in IoT – Live Demo class 11th July 8PM

This is an unique course to give practical exposure in both foundation of firmware and latest skills. This is target

Continue reading

0 comments

How to get Embedded job ?

This article is written considering Indian students. Who can get benefited from Embedded Jobs ? Diploma , B.Sc, M.Sc and

Continue reading

0 comments

Embedded C practice

In this article , we are providing another quiz. This quiz is password based and one has to complete first

Continue reading

0 comments

I am trying to improve usability of my  site.If you find something missing, Any feedback in comment box will help to  take corrective action.  Please subscribe to YouTube channel Embedkari  for additional embedded related stuff.




Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.