How to install a deb file, by dpkg -i or by apt?

How to install a deb file, by dpkg -i or by apt?

From:  https://unix.stackexchange.com/questions/159094/how-to-install-a-deb-file-by-dpkg-i-or-by-apt

When you use apt to install a package, under the hood it uses dpkg. When you install a package using apt, it first creates a list of all the dependencies and downloads it from the repository.

Once the download is finished it calls dpkg to install all those files, satisfying all the dependencies.

So if you have a .deb file:

  • You can install it using sudo dpkg -i /path/to/deb/file followed by sudo apt-get install -f.

  • You can install it using sudo apt install ./name.deb (or sudo apt install /path/to/package/name.deb). 
    With old apt-get versions you must first move your deb file to /var/cache/apt/archives/directory. For both, after executing this command, it will automatically download its dependencies.

  • Install gdebi and open your .deb file using it (Right-click -> Open with). It will install your .deb package with all its dependencies.

    (Note: APT maintains the package index which is a database of available packages available in repo defined in /etc/apt/sources.list file and in the /etc/apt/sources.list.d directory. All these methods will fail to satisfy the software dependency if the dependencies required by the deb is not present in the package index.)


Why to use sudo apt-get install -f after sudo dpkg -i /path/to/deb/file (mentioned in first method).

From man apt-get

 -f, --fix-broken
           Fix; attempt to correct a system with broken dependencies in place.

When dpkg install a package and package dependency is not satisfied, it leaves the package in unconfigured state and that package is considered as broken.

sudo apt-get install -f command tries to fix this broken package by installing the missing dependency.

猜你喜欢

转载自blog.csdn.net/honk2012/article/details/88774000