mirror of
https://github.com/rwinkhart/go-highlite.git
synced 2026-08-29 05:16:26 -04:00
70 lines
2.1 KiB
Markdown
70 lines
2.1 KiB
Markdown
%title: a crash course on handling deb packages
|
|
%author: jesse portnoy <jesse@packman.io>
|
|
%date: 2023-07-11
|
|
|
|
----------------------------------------------------------------------------
|
|
|
|
## topics covered in this course
|
|
|
|
- what is a `deb` package?
|
|
- what is dpkg?
|
|
- what is apt?
|
|
- the `apt` util
|
|
- `apt-get`
|
|
- `apt-cache`
|
|
- `apt-file`
|
|
- fetching and installing packages
|
|
- install vs. upgrade
|
|
- non-interactive operations
|
|
- a note on dependencies
|
|
- package dependencies & relationships
|
|
- querying the local packages db
|
|
- querying remote repos
|
|
- configuration operations
|
|
- downloading & building packages from source
|
|
- automating the installation of packages that require inputs
|
|
- removing packages
|
|
- thanks & final note
|
|
|
|
```c
|
|
#include <stdio.h>
|
|
int main()
|
|
{
|
|
return 0;
|
|
}
|
|
```
|
|
|
|
```php
|
|
<?php
|
|
phpinfo();
|
|
echo "Hello World\n";
|
|
var 7 = 1;
|
|
?>
|
|
```
|
|
|
|
----------------------------------------------------------------------------
|
|
|
|
## What is a `deb` package?
|
|
|
|
*deb* is the format, as well as filename extension of the software package format for the Debian Linux distribution
|
|
and its derivatives. Debian packages are standard UNIX *ar* archives that include two tar archives.
|
|
One archive holds the control information and another contains the installable data.
|
|
|
|
## What is dpkg?
|
|
|
|
*dpkg* is a tool to install, build, remove and manage Debian packages.
|
|
|
|
*dpkg* is controlled entirely via command line parameters, which consist of exactly one action and zero or more options.
|
|
The action parameter tells *dpkg* what to do and options control the behavior of the action in some way.
|
|
|
|
*dpkg* maintains some usable information about available packages. The information is divided in three classes: states,
|
|
selection states and flags.
|
|
|
|
## What is APT?
|
|
|
|
Advanced Package Tool, or APT, is a free-software user interface that works with core libraries to handle the installation
|
|
and removal of software on Debian, and Debian-based Linux distributions. APT simplifies the process of managing software by
|
|
automating the retrieval, configuration and installation of software packages.
|
|
|
|
In the next slide, we'll review some important APT utils and their respective functionality.
|