Difference between revisions of "DESK-MX9-L/Development/Package management with apt-get"

From DAVE Developer's Wiki
Jump to: navigation, search
(Package management with DNF)
Line 31: Line 31:
 
Edit the file <code>/etc/apt/sources.list.d/debian-10.list</code> like this:
 
Edit the file <code>/etc/apt/sources.list.d/debian-10.list</code> like this:
 
<pre class="board-terminal">
 
<pre class="board-terminal">
root@desk-mx93:~# cat /etc/apt/sources.list.d/debian-10.list
+
root@desk-mx93-rev1:~# cat /etc/apt/sources.list.d/debian-10.list
deb [trusted=yes] http://yocto.dave.eu/desk-mx9-l-5.0.0/ all/
+
deb [trusted=yes] http://yocto.dave.eu/desk-mx9-l-5.1.0/ all/
deb [trusted=yes] http://yocto.dave.eu/desk-mx9-l-5.0.0/ armv8a-mx93/
+
deb [trusted=yes] http://yocto.dave.eu/desk-mx9-l-5.1.0/ armv8a-mx93/
deb [trusted=yes] http://yocto.dave.eu/desk-mx9-l-5.0.0/ armv8a/
+
deb [trusted=yes] http://yocto.dave.eu/desk-mx9-l-5.1.0/ armv8a/
deb [trusted=yes] http://yocto.dave.eu/desk-mx9-l-5.0.0/ desk_mx93/
+
deb [trusted=yes] http://yocto.dave.eu/desk-mx9-l-5.1.0/ desk_mx93_rev1/
 
</pre>
 
</pre>
  
Line 47: Line 47:
  
 
<pre class="board-terminal">
 
<pre class="board-terminal">
root@desk-mx93:~# rm -rf /var/lib/apt/lists/*
+
root@desk-mx93-rev1:~# rm -rf /var/lib/apt/lists/*
root@desk-mx93:~# apt-get clean
+
root@desk-mx93-rev1:~# apt-get clean
root@desk-mx93:~# apt-get update
+
root@desk-mx93-rev1:~# apt-get update
Ign:1 http://yocto.dave.eu/desk-mx9-l-5.0.0 all/ InRelease
+
Ign:1 http://yocto.dave.eu/desk-mx9-l-5.1.0 all/ InRelease
Ign:2 http://yocto.dave.eu/desk-mx9-l-5.0.0 armv8a-mx93/ InRelease
+
Ign:2 http://yocto.dave.eu/desk-mx9-l-5.1.0 armv8a-mx93/ InRelease
Ign:3 http://yocto.dave.eu/desk-mx9-l-5.0.0 armv8a/ InRelease
+
Ign:3 http://yocto.dave.eu/desk-mx9-l-5.1.0 armv8a/ InRelease
Ign:4 http://yocto.dave.eu/desk-mx9-l-5.0.0 desk_mx93/ InRelease
+
Ign:4 http://yocto.dave.eu/desk-mx9-l-5.1.0 desk_mx93_rev1/ InRelease
Get:5 http://yocto.dave.eu/desk-mx9-l-5.0.0 all/ Release [1215 B]
+
Get:5 http://yocto.dave.eu/desk-mx9-l-5.1.0 all/ Release [1215 B]
Get:6 http://yocto.dave.eu/desk-mx9-l-5.0.0 armv8a-mx93/ Release [1223 B]
+
Get:6 http://yocto.dave.eu/desk-mx9-l-5.1.0 armv8a-mx93/ Release [1223 B]
Get:7 http://yocto.dave.eu/desk-mx9-l-5.0.0 armv8a/ Release [1218 B]
+
Get:7 http://yocto.dave.eu/desk-mx9-l-5.1.0 armv8a/ Release [1218 B]
Get:8 http://yocto.dave.eu/desk-mx9-l-5.0.0 desk_mx93/ Release [1221 B]
+
Get:8 http://yocto.dave.eu/desk-mx9-l-5.1.0 desk_mx93_rev1/ Release [1226 B]
Ign:9 http://yocto.dave.eu/desk-mx9-l-5.0.0 all/ Release.gpg
+
Ign:9 http://yocto.dave.eu/desk-mx9-l-5.1.0 all/ Release.gpg
Ign:10 http://yocto.dave.eu/desk-mx9-l-5.0.0 armv8a-mx93/ Release.gpg
+
Ign:10 http://yocto.dave.eu/desk-mx9-l-5.1.0 armv8a-mx93/ Release.gpg
Ign:11 http://yocto.dave.eu/desk-mx9-l-5.0.0 armv8a/ Release.gpg
+
Ign:11 http://yocto.dave.eu/desk-mx9-l-5.1.0 armv8a/ Release.gpg
Ign:12 http://yocto.dave.eu/desk-mx9-l-5.0.0 desk_mx93/ Release.gpg
+
Ign:12 http://yocto.dave.eu/desk-mx9-l-5.1.0 desk_mx93_rev1/ Release.gpg
Get:13 http://yocto.dave.eu/desk-mx9-l-5.0.0 all/ Packages [184 kB]
+
Get:13 http://yocto.dave.eu/desk-mx9-l-5.1.0 all/ Packages [182 kB]
Get:14 http://yocto.dave.eu/desk-mx9-l-5.0.0 armv8a-mx93/ Packages [103 kB]
+
Get:14 http://yocto.dave.eu/desk-mx9-l-5.1.0 armv8a-mx93/ Packages [105 kB]
Get:15 http://yocto.dave.eu/desk-mx9-l-5.0.0 armv8a/ Packages [4001 kB]
+
Get:15 http://yocto.dave.eu/desk-mx9-l-5.1.0 armv8a/ Packages [4319 kB]
Get:16 http://yocto.dave.eu/desk-mx9-l-5.0.0 desk_mx93/ Packages [273 kB]
+
Get:16 http://yocto.dave.eu/desk-mx9-l-5.1.0 desk_mx93_rev1/ Packages [278 kB]
Fetched 4565 kB in 1s (3326 kB/s)
+
Fetched 4889 kB in 2s (2083 kB/s)                          
 
Reading package lists... Done
 
Reading package lists... Done
W: Conflicting distribution: http://yocto.dave.eu/desk-mx9-l-5.0.0 all/ Release (expected all/ but got )
+
W: Conflicting distribution: http://yocto.dave.eu/desk-mx9-l-5.1.0 all/ Release (expected all/ but got )
W: Conflicting distribution: http://yocto.dave.eu/desk-mx9-l-5.0.0 armv8a-mx93/ Release (expected armv8a-mx93/ but got )
+
W: Conflicting distribution: http://yocto.dave.eu/desk-mx9-l-5.1.0 armv8a-mx93/ Release (expected armv8a-mx93/ but got )
W: Conflicting distribution: http://yocto.dave.eu/desk-mx9-l-5.0.0 armv8a/ Release (expected armv8a/ but got )
+
W: Conflicting distribution: http://yocto.dave.eu/desk-mx9-l-5.1.0 armv8a/ Release (expected armv8a/ but got )
W: Conflicting distribution: http://yocto.dave.eu/desk-mx9-l-5.0.0 desk_mx93/ Release (expected desk_mx93/ but got )
+
W: Conflicting distribution: http://yocto.dave.eu/desk-mx9-l-5.1.0 desk_mx93_rev1/ Release (expected desk_mx93_rev1/ but got )
root@desk-mx93:~#  
+
root@desk-mx93-rev1:~#
 
</pre>
 
</pre>
  
Line 78: Line 78:
  
 
<pre>
 
<pre>
sed -i 's/\.\//all\//g' /var/lib/apt/lists/yocto.dave.eu_desk-mx9-l-5.0.0_all_Packages
+
sed -i 's/\.\//all\//g' /var/lib/apt/lists/yocto.dave.eu_desk-mx9-l-5.1.0_all_Packages
sed -i 's/\.\//armv8a-mx93\//g' /var/lib/apt/lists/yocto.dave.eu_desk-mx9-l-5.0.0_armv8a-mx93_Packages
+
sed -i 's/\.\//armv8a-mx93\//g' /var/lib/apt/lists/yocto.dave.eu_desk-mx9-l-5.1.0_armv8a-mx93_Packages
sed -i 's/\.\//armv8a\//g' /var/lib/apt/lists/yocto.dave.eu_desk-mx9-l-5.0.0_armv8a_Packages
+
sed -i 's/\.\//armv8a\//g' /var/lib/apt/lists/yocto.dave.eu_desk-mx9-l-5.1.0_armv8a_Packages
sed -i 's/\.\//desk%5fmx93\//g' /var/lib/apt/lists/yocto.dave.eu_desk-mx9-l-5.0.0_desk%5fmx93_Packages
+
sed -i 's/\.\//desk%5fmx93%5frev1\//g' /var/lib/apt/lists/yocto.dave.eu_desk-mx9-l-5.1.0_desk%5fmx93%5frev1_Packages
 
</pre>
 
</pre>
 +
 +
=== Fix dependencies ===
 +
Before to install fix the dependencies with follow command <syntaxhighlight>
 +
apt --fix-broken install
 +
</syntaxhighlight>The command could be fail if are present some changes on package modified, for example if the file <code>/etc/resolv.conf</code> are changed try to remove it and repeat the command.
  
 
=== Installing packages on target ===
 
=== Installing packages on target ===
Line 92: Line 97:
  
 
<pre class="board-terminal">
 
<pre class="board-terminal">
root@desk-mx93:~# apt-get install autoconf-archive
+
root@desk-mx93-rev1:~# apt-get install autoconf-archive
 
Reading package lists... Done
 
Reading package lists... Done
 
Building dependency tree... Done
 
Building dependency tree... Done
Line 101: Line 106:
 
Need to get 316 kB of archives.
 
Need to get 316 kB of archives.
 
After this operation, 0 B of additional disk space will be used.
 
After this operation, 0 B of additional disk space will be used.
Get:1 http://yocto.dave.eu/desk-mx9-l-5.0.0 all/ autoconf-archive 2023.02.20-r0 [316 kB]
+
Get:1 http://yocto.dave.eu/desk-mx9-l-5.1.0 all/ autoconf-archive 2023.02.20-r0 [316 kB]
Fetched 316 kB in 0s (1970 kB/s)
+
Fetched 316 kB in 0s (764 kB/s)        
 
Selecting previously unselected package autoconf-archive.
 
Selecting previously unselected package autoconf-archive.
(Reading database ... 62041 files and directories currently installed.)
+
(Reading database ... 58727 files and directories currently installed.)
 
Preparing to unpack .../autoconf-archive_2023.02.20-r0_all.deb ...
 
Preparing to unpack .../autoconf-archive_2023.02.20-r0_all.deb ...
 
Unpacking autoconf-archive (2023.02.20-r0) ...
 
Unpacking autoconf-archive (2023.02.20-r0) ...
Line 117: Line 122:
  
 
<pre class="board-terminal">
 
<pre class="board-terminal">
root@desk-mx93:~# cat /etc/apt/sources.list.d/debian-10.list
+
root@desk-mx93-rev1:~# cat /etc/apt/sources.list.d/debian-10.list
deb [trusted=yes] http://yocto.dave.eu/desk-mx9-l-5.0.0/ all/
+
deb [trusted=yes] http://yocto.dave.eu/desk-mx9-l-5.1.0/ all/
deb [trusted=yes] http://yocto.dave.eu/desk-mx9-l-5.0.0/ armv8a-mx93/
+
deb [trusted=yes] http://yocto.dave.eu/desk-mx9-l-5.1.0/ armv8a-mx93/
deb [trusted=yes] http://yocto.dave.eu/desk-mx9-l-5.0.0/ armv8a/
+
deb [trusted=yes] http://yocto.dave.eu/desk-mx9-l-5.1.0/ armv8a/
deb [trusted=yes] http://yocto.dave.eu/desk-mx9-l-5.0.0/ desk_mmx93/
+
deb [trusted=yes] http://yocto.dave.eu/desk-mx9-l-5.1.0/ desk_mx93_rev1/
 
</pre>
 
</pre>
  
Line 190: Line 195:
 
root@desk-mx93:~#
 
root@desk-mx93:~#
 
</pre>
 
</pre>
 
 
  
 
[[Category:AURA]]
 
[[Category:AURA]]

Revision as of 10:40, 17 April 2024

History
Issue Date Notes
2024/02/02 DESK-MX9-L-5.0.0 release



Package management with apt-get[edit | edit source]

During the development of custom applications, developers generally realize that they need to add libraries and other software packages to the root file systems to make their code run properly. If these packages are prebuilt, developers can install them onto the root file system very easily. By configuring the target as described in this document, they achieve a user experience similar to the one you have with a desktop Linux distro such as Ubuntu. desk-mx93-L uses by default the deb package format. As such, apt commands can be used for package management. Prebuilt packages are provided by this repository that DAVE Embedded Systems makes available for its customers.

apt-get[edit | edit source]

The following instructions detail how to use apt-get for installing packages with Yocto repositories created by DAVE's build system for desk-mx93-L.

Configuring apt[edit | edit source]

Edit the file /etc/apt/apt.conf like this:

root@desk-mx93:~# cat /etc/apt/apt.conf
APT::Architecture "armhf";
APT::Get::AllowUnauthenticated "true";
Acquire::Languages "none";

Edit the file /etc/apt/sources.list.d/debian-10.list like this:

root@desk-mx93-rev1:~# cat /etc/apt/sources.list.d/debian-10.list
deb [trusted=yes] http://yocto.dave.eu/desk-mx9-l-5.1.0/ all/
deb [trusted=yes] http://yocto.dave.eu/desk-mx9-l-5.1.0/ armv8a-mx93/
deb [trusted=yes] http://yocto.dave.eu/desk-mx9-l-5.1.0/ armv8a/
deb [trusted=yes] http://yocto.dave.eu/desk-mx9-l-5.1.0/ desk_mx93_rev1/

Execute the following commands in order to re-create the apt cache based on the new server's list:

rm -rf /var/lib/apt/lists/*
apt-get clean
apt-get update
root@desk-mx93-rev1:~# rm -rf /var/lib/apt/lists/*
root@desk-mx93-rev1:~# apt-get clean
root@desk-mx93-rev1:~# apt-get update
Ign:1 http://yocto.dave.eu/desk-mx9-l-5.1.0 all/ InRelease
Ign:2 http://yocto.dave.eu/desk-mx9-l-5.1.0 armv8a-mx93/ InRelease
Ign:3 http://yocto.dave.eu/desk-mx9-l-5.1.0 armv8a/ InRelease
Ign:4 http://yocto.dave.eu/desk-mx9-l-5.1.0 desk_mx93_rev1/ InRelease
Get:5 http://yocto.dave.eu/desk-mx9-l-5.1.0 all/ Release [1215 B]
Get:6 http://yocto.dave.eu/desk-mx9-l-5.1.0 armv8a-mx93/ Release [1223 B]
Get:7 http://yocto.dave.eu/desk-mx9-l-5.1.0 armv8a/ Release [1218 B]
Get:8 http://yocto.dave.eu/desk-mx9-l-5.1.0 desk_mx93_rev1/ Release [1226 B]
Ign:9 http://yocto.dave.eu/desk-mx9-l-5.1.0 all/ Release.gpg
Ign:10 http://yocto.dave.eu/desk-mx9-l-5.1.0 armv8a-mx93/ Release.gpg
Ign:11 http://yocto.dave.eu/desk-mx9-l-5.1.0 armv8a/ Release.gpg
Ign:12 http://yocto.dave.eu/desk-mx9-l-5.1.0 desk_mx93_rev1/ Release.gpg
Get:13 http://yocto.dave.eu/desk-mx9-l-5.1.0 all/ Packages [182 kB]
Get:14 http://yocto.dave.eu/desk-mx9-l-5.1.0 armv8a-mx93/ Packages [105 kB]
Get:15 http://yocto.dave.eu/desk-mx9-l-5.1.0 armv8a/ Packages [4319 kB]
Get:16 http://yocto.dave.eu/desk-mx9-l-5.1.0 desk_mx93_rev1/ Packages [278 kB]
Fetched 4889 kB in 2s (2083 kB/s)                           
Reading package lists... Done
W: Conflicting distribution: http://yocto.dave.eu/desk-mx9-l-5.1.0 all/ Release (expected all/ but got )
W: Conflicting distribution: http://yocto.dave.eu/desk-mx9-l-5.1.0 armv8a-mx93/ Release (expected armv8a-mx93/ but got )
W: Conflicting distribution: http://yocto.dave.eu/desk-mx9-l-5.1.0 armv8a/ Release (expected armv8a/ but got )
W: Conflicting distribution: http://yocto.dave.eu/desk-mx9-l-5.1.0 desk_mx93_rev1/ Release (expected desk_mx93_rev1/ but got )
root@desk-mx93-rev1:~#

Then, modify the cached package list due to the proper DAVE's server configuration:

sed -i 's/\.\//all\//g' /var/lib/apt/lists/yocto.dave.eu_desk-mx9-l-5.1.0_all_Packages
sed -i 's/\.\//armv8a-mx93\//g' /var/lib/apt/lists/yocto.dave.eu_desk-mx9-l-5.1.0_armv8a-mx93_Packages
sed -i 's/\.\//armv8a\//g' /var/lib/apt/lists/yocto.dave.eu_desk-mx9-l-5.1.0_armv8a_Packages
sed -i 's/\.\//desk%5fmx93%5frev1\//g' /var/lib/apt/lists/yocto.dave.eu_desk-mx9-l-5.1.0_desk%5fmx93%5frev1_Packages

Fix dependencies[edit | edit source]

Before to install fix the dependencies with follow command

apt --fix-broken install

The command could be fail if are present some changes on package modified, for example if the file /etc/resolv.conf are changed try to remove it and repeat the command.

Installing packages on target[edit | edit source]

We assume that network interface has been already configured for Internet access. In any case, a simple network configuration can be done according to the How to configure the network interfaces wiki page.


The target is finally ready to install new packages. The following example shows for instance the installation of autoconf-archive:

root@desk-mx93-rev1:~# apt-get install autoconf-archive
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  autoconf-archive
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 316 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://yocto.dave.eu/desk-mx9-l-5.1.0 all/ autoconf-archive 2023.02.20-r0 [316 kB]
Fetched 316 kB in 0s (764 kB/s)          
Selecting previously unselected package autoconf-archive.
(Reading database ... 58727 files and directories currently installed.)
Preparing to unpack .../autoconf-archive_2023.02.20-r0_all.deb ...
Unpacking autoconf-archive (2023.02.20-r0) ...
Setting up autoconf-archive (2023.02.20-r0) ...
root@desk-mx93:~#

Other useful apt commands[edit | edit source]

List of configured software repositories[edit | edit source]

As shown before, the target is configured for accessing the Yocto repositories as listed in the /etc/apt/sources.list.d apt configuration directory:

root@desk-mx93-rev1:~# cat /etc/apt/sources.list.d/debian-10.list
deb [trusted=yes] http://yocto.dave.eu/desk-mx9-l-5.1.0/ all/
deb [trusted=yes] http://yocto.dave.eu/desk-mx9-l-5.1.0/ armv8a-mx93/
deb [trusted=yes] http://yocto.dave.eu/desk-mx9-l-5.1.0/ armv8a/
deb [trusted=yes] http://yocto.dave.eu/desk-mx9-l-5.1.0/ desk_mx93_rev1/

Search for packages[edit | edit source]

To search for an available package into the current configured channels use apt-cache search

Please note that this will show all packages, it's usually more useful to grep for a pattern, e.g.:

root@desk-mx93:~# apt-cache search vim
vim-common - Vi IMproved - enhanced vi editor
vim-dev - Vi IMproved - enhanced vi editor - Development files
vim-doc - Vi IMproved - enhanced vi editor - Documentation files
vim-help - Vi IMproved - enhanced vi editor
vim-syntax - Vi IMproved - enhanced vi editor
vim-tiny-dev - Vi IMproved - enhanced vi editor  (with tiny features) - Development files
vim-tiny - Vi IMproved - enhanced vi editor  (with tiny features)
vim-tools - Vi IMproved - enhanced vi editor
vim-tutor - Vi IMproved - enhanced vi editor
vim-vimrc - Vi IMproved - enhanced vi editor
vim-xxd - Vi IMproved - enhanced vi editor
vim - Vi IMproved - enhanced vi editor
root@desk-mx93:~#

List of installed packages[edit | edit source]

User can see the list of installed packages with dpkg --get-selections | sed 's:install$::' (sed removes the install string from the output list)

acl
acl-dev
adwaita-icon-theme-symbolic
alsa-conf
alsa-plugins-pulseaudio-conf
alsa-state
alsa-states
alsa-tools
alsa-topology-conf
alsa-ucm-conf
alsa-utils
alsa-utils-aconnect
alsa-utils-alsactl
alsa-utils-alsaloop
alsa-utils-alsamixer
alsa-utils-alsatplg
alsa-utils-alsaucm
alsa-utils-amixer
alsa-utils-aplay
alsa-utils-aseqdump
alsa-utils-aseqnet
...
[snip]
...
wpa-supplicant-cli
wpa-supplicant-passphrase
wpa-supplicant-plugins
xinetd
xkeyboard-config
xkeyboard-config-dev
xkeyboard-config-locale-en-gb
xxhash
xz
xz-dev
zstd
zstd-dev
root@desk-mx93:~#