Changes

Jump to: navigation, search

LELK-AN-001: Package installation using opkg

736 bytes removed, 12:29, 12 December 2017
Other useful OPKG commands
== Installing packages on target ==
To use <code>opkg</code> at runtime first of all you need to enable a channel, which commonly is a remote webserver that provide packages feed and the network interface with <code>DNS</code> configuration for accessing external http servers.binary packages itself
An example of network interface configuration for Internet access is described here below. Configuration can be done directly on serial console with the following commands:
where ''192.168.0.254'' is the <code>gateway</code> address and ''8.8.8.8'' is the <code>DNS server</code> (in this case Google's one).
Once the network interface is configured, the DAVE's Yocto Lizard package server can be accessed for package downloading:.
root@lizard:~# wget http://yocto.dave.eu/suce/cortexa8hf-vfp-neon-2.6.37.2/On the target edit the <icode>pack_nameopkg</icode>configuration file to tell opkg where to look for packages.
The opkg configuration file is /etc/opkg/opkg.conf.
Where<pre>root@lizard:~# vi /etc/opkg/opkg.conf* # Must have one or more source entries of the form:## src <codesrc-name>cortexa8hf<source-vfpurl>## and one or more destination entries of the form:## dest <dest-neonname> <target-2.6.37.2path>## where </codesrc-name> is the package directory* and <codedest-names>http://yoctoare identifiers that# should match [a-zA-Z0-9.dave.eu/suce_-]+, </codesource-url> is the should be a# URL of that points to a directory containing a Familiar# Packages file, and <target-path> should be a directory# that exists on the webservertarget system.
For example:
'''
<pre class="board-terminal">
root@lizard:~# wget http://yocto.dave.eu/suce/cortexa8hf-vfp-neon-2.6.37.2/openssh-sftp_6.1p1-r0-arago0_cortexa8hf-vfp-neon-2.6.37.2.ipk
Connecting to yocto.dave.eu (79.143.179.155:80)
openssh-sftp_6.1p1-r 100% |*******************************| 46000 0:00:00 ETA
root@lizard:~# wget http://yocto.dave.eu/suce/cortexa8hf-vfp-neon-2.6.37.2/openssh-keygen_6.1p1-r0-arago0_cortexa8hf-vfp-neon-2.6.37.2.ipk
Connecting to yocto.dave.eu (79.143.179.155:80)0_cortexa8hf-vfp-neon-2.6.37.2.ipk
openssh-keygen_6.1p1 100% |*******************************| 79936 0:00:00 ETA
root@lizard:~# wget http://yocto.dave.eu/suce/cortexa8hf-vfp-neon-2.6.37.2/openssh-sshd_6.1p1-r0-arago0_cortexa8hf-vfp-neon-2.6.37.2.ipk
Connecting to yocto.dave.eu (79.143.179.155:80)
openssh-sshd_6.1p1-r 100% |*******************************| 188k 0:00:00 ETA
root@lizard:~# wget http://yocto.dave.eu/suce/cortexa8hf-vfp-neon-2.6.37.2/openssh-ssh_6.1p1-r0-arago0_cortexa8hf-vfp-neon-2.6.37.2.ipk
Connecting to yocto.dave.eu (79.143.179.155:80)
openssh-ssh_6.1p1-r0 100% |*******************************| 161k 0:00:00 ETA
root@lizard:~# wget http://yocto.dave.eu/suce/cortexa8hf-vfp-neon-2.6.37.2/openssh_6.1p1-r0-arago0_cortexa8hf-vfp-neon-2.6.37.2.ipk
Connecting to yocto.dave.eu (79.143.179.155:80)
openssh_6.1p1-r0-ara 100% |*******************************| 890 0:00:00 ETA
root@lizard:~#
</pre>
and add the following server:
After the required packages have been download, you need to install them using opkg src/gz cortexa8hf-vfp-neon http://yocto.dave.eu/lizard/cortexa8hf-vfp-neon-2.6.37.2/ src/gz all http://yocto.dave.eu/lizard/all
<pre class="board-terminal">
root@lizard:~# opkgupdateopkg must have one sub-command argumentusage: opkg [options...] sub-command [arguments...]where sub-command is one ofDownloading httpPackage Manipulation: update Update list of available packages upgrade Upgrade installed packages install <pkgs> Install package(s) configure <pkgs> Configure unpacked package(s) remove <pkgs|regexp> Remove package(s) flag <flag> <pkgs> Flag package(s) <flag>=hold|noprune|user|ok|installed|unpacked (one per invocation) Informational Commands: list List available packages list//yocto.dave.eu/lizard/cortexa8hf-installed List installed packages listvfp-upgradable List installed and upgradable packages listneon-changed-conffiles List user modified configuration files files <pkg> List files belonging to <pkg> search <file|regexp> List package providing <file> info [pkg|regexp] Display all info for <pkg> status [pkg|regexp] Display all status for <pkg> download <pkg> Download <pkg> to current directory compare-versions <v1> <op> <v2> compare versions using <= < > >= = << >> print-architecture List installable package architectures depends [-A] [pkgname|pat]+ whatdepends [-A] [pkgname|pat]+ whatdependsrec [-A] [pkgname|pat]+ whatrecommends[-A] [pkgname|pat]+ whatsuggests[-A] [pkgname|pat]+ whatprovides [-A] [pkgname|pat]+ whatconflicts [-A] [pkgname|pat]+ whatreplaces [-A] [pkgname|pat]+2.6.37.2/Packages.gz. OptionsInflating http: -A Query all packages not just those installed //yocto.dave.eu/lizard/cortexa8hf-V[<level>] Set verbosity level to <level>. vfp-neon-verbosity[=<level>] Verbosity levels: 0 errors only 1 normal messages (default) 2 informative messages 3 debug 4 debug level .6.37.2 -f <conf_file> Use <conf_file> as the opkg configuration file --conf <conf_file> --cache <directory> Use a package cache -d <dest_name> Use <dest_name> as the the root directory for --dest <dest_name> package installation, removal, upgrading/Packages. <dest_name> should be a defined dest name from the configuration file, (but can also be a directory name in a pinch)gz. -o <dir> Use <dir> as the root directory for --offline-root <dir> offline installation Updated list of available packages. in /var/lib/opkg/cortexa8hf-vfp-add-arch <arch>:<prio> Register architecture with given priorityneon. --add-dest <name>Downloading http:<path> Register destination with given path --prefer-arch-to-version Use the architecture priority package rather than the higher version one if more than one candidate is found//yocto.dave.eu/lizard/all/Packages.gzForce OptionsInflating http: --force-depends Install/remove despite failed dependencies/yocto.dave.eu/lizard/all/Packages.gz. --force-maintainer Overwrite preexisting config files --force-reinstall Reinstall package(s) --force-overwrite Overwrite files from other package(s) --force-downgrade Allow opkg to downgrade Updated list of available packages --force-space Disable free space checks --force-postinstall Run postinstall scripts even in offline mode --force-remove Remove package even if prerm script fails --noaction No action -- test only --download-only No action -- download only --nodeps Do not follow dependencies --force-removal-of-dependent-packages Remove package and /var/lib/opkg/all dependencies --autoremove Remove packages that were installed automatically to satisfy dependencies -t Specify tmp-dir. --tmp-dir Specify tmp-dir.  regexp could be something like 'pkgname*' '*file*' or similar e.g. opkg info 'libstd*' or opkg search '*libop*' or opkg remove 'libncur*'root@lizard:~#
</pre>
For exampleThen, for the <code>openssh</code> pakcges reviously downloadedsimply, you can instruct opkg to install the packages on the target with the following commandrequired package, for example:
<preclass="board-terminal">root@lizard:~# opkg install openssh-keygen_6.1p1-r0-arago0_cortexa8hf-vfp-neon-2.6.37.2.ipkInstalling openssh-keygen (6.1p1-r0-arago0) to root...go0_cortexa8hfDownloading http://yocto.dave.eu/lizard/cortexa8hf-vfp-neon-2.6Configuring openssh-keygen.root@lizard:~# opkg install openssh-scp_637.2/openssh_6.1p1-r0-arago0_cortexa8hf-vfp-neon-2.6.37.2.ipk.
Installing openssh-scp (6.1p1-r0-arago0) to root...
Configuring openssh-scp.update-alternativesDownloading http: Linking //usryocto.dave.eu/binlizard/scp to /usr/bincortexa8hf-vfp-neon-2.6.37.2/scp.opensshroot@lizard:~# opkg install openssh-sftp_6scp_6.1p1-r0-arago0_cortexa8hf-vfp-neon-2.6.37.2.ipk.Installing opensshupdate-alternatives-sftp cworth (61:0.1.1p18+svnr649-r0r13.0-arago0) to root...Configuring opensshDownloading http://yocto.dave.eu/lizard/cortexa8hf-vfp-neon-sftp2.root@lizard:~# opkg install openssh6.37.2/update-alternatives-ssh_6cworth_0.1p11.8+svnr649-r0r13.0-arago0_cortexa8hf-vfp-neon-2.6.37.2.ipk.
Installing openssh-ssh (6.1p1-r0-arago0) to root...
Configuring Downloading http://yocto.dave.eu/lizard/cortexa8hf-vfp-neon-2.6.37.2/openssh-sshssh_6.1p1-r0-arago0_cortexa8hf-vfp-neon-2.6.37.2.ipk.updateInstalling openssh-keygen (6.1p1-alternativesr0-arago0) to root...Downloading http: Linking //usryocto.dave.eu/binlizard/ssh to cortexa8hf-vfp-neon-2.6.37.2/usr/bin/ssh.opensshroot@lizard:~# opkg install openssh-sshd_6keygen_6.1p1-r0-arago0_cortexa8hf-vfp-neon-2.6.37.2.ipk.
Installing openssh-sshd (6.1p1-r0-arago0) to root...
Downloading http://yocto.dave.eu/lizard/cortexa8hf-vfp-neon-2.6.37.2/openssh-sshd_6.1p1-r0-arago0_cortexa8hf-vfp-neon-2.6.37.2.ipk.
Installing shadow (4.1.4.3-r13) to root...
Downloading http://yocto.dave.eu/lizard/cortexa8hf-vfp-neon-2.6.37.2/shadow_4.1.4.3-r13_cortexa8hf-vfp-neon-2.6.37.2.ipk.
Installing shadow-securetty (4.1.4.3-r2-arago0) to root...
Downloading http://yocto.dave.eu/lizard/lizard/shadow-securetty_4.1.4.3-r2-arago0_lizard.ipk.
Installing base-passwd (3.5.26-r2) to root...
Downloading http://yocto.dave.eu/lizard/cortexa8hf-vfp-neon-2.6.37.2/base-passwd_3.5.26-r2_cortexa8hf-vfp-neon-2.6.37.2.ipk.
Running useradd commands...
Note: username sshd already exists, not re-creating it
Installing update-rc.d (0.7-r5) to root...
Downloading http://yocto.dave.eu/lizard/all/update-rc.d_0.7-r5_all.ipk.
Configuring shadow-securetty.
Configuring update-alternatives-worth.
Configuring openssh-ssh.
update-alternatives: Linking //usr/bin/ssh to /usr/bin/ssh.openssh
Configuring openssh-scp.
update-alternatives: Linking //usr/bin/scp to /usr/bin/scp.openssh
Configuring openssh-keygen.
Configuring base-passwd.
Configuring shadow.
update-alternatives: Linking //usr/bin/passwd to /usr/bin/passwd.shadow
update-alternatives: Linking //usr/bin/chfn to /usr/bin/chfn.shadow
update-alternatives: Linking //usr/bin/newgrp to /usr/bin/newgrp.shadow
update-alternatives: Linking //usr/bin/chsh to /usr/bin/chsh.shadow
update-alternatives: Linking //usr/bin/groups to /usr/bin/groups.shadow
update-alternatives: Linking //usr/sbin/chpasswd to /usr/sbin/chpasswd.shadow
update-alternatives: Linking //bin/login to /bin/login.shadow
update-alternatives: Linking //sbin/vipw to /sbin/vipw.shadow
update-alternatives: Linking //sbin/vigr to /sbin/vigr.shadow
Configuring openssh-sshd.
Adding system System startup links for /etc/init.d/sshdalready exist.Starting Restarting OpenBSD Secure Shell server: sshdstopped /usr/sbin/sshd(pid 910)done.root@lizard:~# opkg install openssh_6.1p1-r0-arago0_cortexa8hf-vfpConfiguring update-neon-2.6.37.2.ipkInstalling openssh (6.1p1-r0-arago0) to root.rc.d.
Configuring openssh.
root@lizard:~#
</pre>
Once the system is restarted, the new openssh package will be activated using the installed scripts. Fro checking is the daemon is running, simply:== Other useful OPKG commands ==
A brief guide to OPKG command line interface is [http://wiki.openmoko.org/wiki/Opkg/Documentation here]. In the next section we'll show some example of OPKG usage. === List installed packages === User can see the list of installed packages with <code>opkg list-installed</code> <pre class="board-terminal">root@lizard:~# ps | grep opkg list-installedbase-passwd - 3.5.26-r2libattr1 - 2.4.46-r4libc6 - 2.15-r2-arago5libcap2 - 2.22-r5libcrypto1.0.0 - 1.0.1e-r15.0-arago9libgcc-s1 - 4.7.3-r2-arago5libgcrypt11 - 1.5.0-r2libgpg-error0 - 1.11-r0libz1 - 1.2.7-r0openssh - 6.1p1-r0-arago0openssh-keygen - 6.1p1-r0-arago0openssh-scp - 6.1p1-r0-arago0openssh-sftp - 6.1p1-r0-arago0openssh-ssh- 6.1p1-r0-arago0 660 root 3916 S /usr/sbin/openssh-sshd- 6.1p1-r0-arago0shadow - 4.1.4.3-r13 747 root 3964 S {sshd} sshdshadow-securetty - 4.1.4.3-r2-arago0update-alternatives-cworth - 1: root@pts/0.1.8+svnr649-r13.0-arago0 754 root 1780 S grep sshupdate-rc.d - 0.7-r5
root@lizard:~#
</pre>
=== List available packages ===
{{ImportantMessage|text=The package dependencies will NOT be resolved automatically.}}To list the available packages into the current configured channels use <code>opkg list</code>
For example<pre>root@lizard:~# opkg lista52dec - 0.7.4-r4 - liba52 version 0.7.4-r4 Library for reading some sort of media format.a52dec-doc - 0.7.4-r4 - liba52 version 0.7.4-r4 Library for reading some sort of media format.acl - 2.2.51-r3 - acl version 2.2.51-r3 utilities for access control listacl-dbg - 2.2.51-r3 - acl version 2.2.51-r3 - Debugging files utilities for access control list This package contains ELF symbols and related sources for debugging purposes.acl-dev - 2.2.51-r3 - acl version 2.2.51-r3 - Development files utilities for access control list This package contains symbolic links, header files, and related items necessary for software development.acl-doc - 2.2.51-r3 - acl version 2.2.51-r3 - Documentation files utilities for access control list This package contains documentation.acl-locale-de - 2.2.51-r3 - acl version 2.2.51-r3 - de translations utilities for access control list This package contains language translation files for the de locale.acl-locale-es - 2.2.51-r3 - acl version 2.2.51-r3 - es translations utilities for access control list This package contains language translation files for the es locale.acl-locale-fr - 2.2.51-r3 - acl version 2.2.51-r3 - fr translations utilities for access control list This package contains language translation files for the fr locale.acl-locale-gl - 2.2.51-r3 - acl version 2.2.51-r3 - gl translations utilities for access control list This package contains language translation files for the gl locale.acl-locale-pl - 2.2.51-r3 - acl version 2.2.51-r3 - pl translations utilities for access control list This package contains language translation files for the pl
<pre class="board-terminal">root@lizard:~# opkg install openssh_6[.1p1-r0-arago0_cortexa8hf-vfp-neon-2.6.37.2.ipk Installing openssh (6.1p1-r0-arago0) to root...Collected errors: * satisfy_dependencies_for: Cannot satisfy the following dependencies for openssh: * openssh-ssh * openssh-keygen * openssh-sshd * * opkg_install_cmd: Cannot install package openssh.root@lizard:~#]
</pre>
== Installed packages = Package info ===
To see which packages are installed, it is possibile to a package characteristics use the <code>listopkg info <package_name> </code>: <pre>root@lizard:~# opkg info opensshPackage: opensshVersion: 6.1p1-r0-arago0Depends: openssh-scp, openssh-ssh, openssh-keygen, openssh-sshdRecommends: update-rc.dConflicts: dropbearStatus: install user installedSection: console/networkArchitecture: cortexa8hf-vfp-neon-2.6.37.2Maintainer: OE-Core Developers <openembedded-core@lists.openembedded.org>MD5Sum: 12d42e54c312a08c4321125ec4a1194bSize: 890Filename: openssh_6.1p1-r0-arago0_cortexa8hf-vfp-neon-2.6.37.2.ipkSource: ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-6.1p1.tar.gz file://nostrip.patch file://sshd_config file://ssh_config file://code> optioninit file://openssh-CVE-2011-4327.patchDescription: Secure rlogin/rsh/rcp/telnet replacement Secure rlogin/rsh/rcp/telnet replacement (OpenSSH) Ssh (Secure Shell) is a program for logging into a remote machine and for executing commands on a remote machine.Installed-Time:1508849774
<pre class="board-terminal">
root@lizard:~# opkg list-installed | grep openssh
openssh - 6.1p1-r0-arago0
openssh-keygen - 6.1p1-r0-arago0
openssh-scp - 6.1p1-r0-arago0
openssh-sftp - 6.1p1-r0-arago0
openssh-ssh - 6.1p1-r0-arago0
openssh-sshd - 6.1p1-r0-arago0
root@lizard:~#
</pre>
 
== References ==
 
{{reflist}}
8,157
edits

Navigation menu