Apt tips and tricks: Difference between revisions

From HPCWIKI
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
== Ubuntu - list of installed packages and downloads<ref>https://askubuntu.com/questions/86358/how-to-obtain-installed-package-files/86413#86413</ref> ==
<syntaxhighlight lang="bash">
Download all the installed packages into /var/cache/apt/archives (Ubuntu)
#dpkg -l | grep "^ii"| awk ' {print $2} ' | xargs sudo apt-get -y --force-yes install --reinstall --download-only
</syntaxhighlight>
== Offline package install ==
== Offline package install ==
In case accedentially remove essentional packages from running OS especially for network releated one. offline package installation is important instead of reinstall the system.  To install package offline, the package with all dependencies should be ready to use offline.<syntaxhighlight lang="bash">
In case accedentially remove essentional packages from running OS especially for network releated one. offline package installation is important instead of reinstall the system.  To install package offline, the package with all dependencies should be ready to use offline.<syntaxhighlight lang="bash">

Revision as of 11:12, 21 March 2024

Ubuntu - list of installed packages and downloads[1]

Download all the installed packages into /var/cache/apt/archives (Ubuntu)

#dpkg -l | grep "^ii"| awk ' {print $2} ' | xargs sudo apt-get -y --force-yes install --reinstall --download-only

Offline package install

In case accedentially remove essentional packages from running OS especially for network releated one. offline package installation is important instead of reinstall the system. To install package offline, the package with all dependencies should be ready to use offline.

# find all dependency with apt-cache 
$ apt-cache depends netplan.io
netplan.io
  Depends: libc6
  Depends: libglib2.0-0
  Depends: libnetplan0
  Depends: libsystemd0
  Depends: libuuid1
  Depends: iproute2
    iproute2:i386
  Depends: python3
  Depends: python3-yaml
  Depends: python3-netifaces
  Depends: systemd
    systemd:i386
  Conflicts: netplan
  Breaks: network-manager
  Breaks: nplan
 |Suggests: network-manager
  Suggests: wpasupplicant
    wpasupplicant:i386
  Replaces: nplan

# download all dependency packages
$ apt download <package> 

# copy them to USB and mount the USB to the target systemd
$ sudo dpkg -i <netplan.io deb package>

Only upgrade specific package

sudo apt-get install --only-upgrade <packagename>

Show holding package

apt-mark showhold

Remove old kernel

One of the best and simple way from this thead[2]

#list up all the current kernels you have on a file.
$dpkg --list | egrep -i --color 'linux-image|linux-headers|linux-modules' | awk '{ print $2 }' > kernels.txt

#Filter your currently used kernel out of the file using grep.
$grep -v $(uname -r) kernels.txt > kernels_to_delete.txt

#Verify your current kernel is not present in the delete list. Don't skip this. Ensures you don't mistakenly delete all the kernels.
grep $(uname -r) kernels_to_delete.txt

#Delete all the unused kernels in one go.
$cat kernels_to_delete.txt | xargs sudo apt purge -y

Practical dpkg Command

dpkg has many options to run and this page describes most practical dpkg commands

References