RPM/YUM Tips on OS/2-eCS: Difference between revisions

From OS2World.Com Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
(10 intermediate revisions by one other user not shown)
Line 1: Line 1:
This are some RPM/YUM general tips that I need to write somewhere to don't forget them.  
{{Article
|Author=N/A
|Date=2020
|OS=OS/2 Warp 4.52 / eComStation / ArcaOS 5.0.x
|File=N/A
|Source=N/A
}}
These are some RPM/YUM general tips that I need to write somewhere to don't forget them.


==List repository content==
==List repository content==
  yum list
  yum list
or search something more specifically like the "gcc" available
or search something more specifically, like the "gcc" available
  yum list gcc*
  yum list gcc*


Line 26: Line 33:


==Installing the Netlabs Experimental Repository==
==Installing the Netlabs Experimental Repository==
There is other repository for netlabs experimental stuff. You can use it under your risk.  
There is other repository for netlabs experimental stuff. You can use it under your risk.


This repository can be installed do doing a:
This repository can be installed do running from a command line the following:
  yum install netlabs-exp
  yum install netlabs-exp
It can also be set manually by creating a file under:
It can also be set manually by creating a file under:
Line 37: Line 44:
  baseurl=http://rpm.netlabs.org/experimental/$releasever/$basearch/
  baseurl=http://rpm.netlabs.org/experimental/$releasever/$basearch/
  enabled=1
  enabled=1
If you want to remove it later, you can execute:
yum remove netlabs-exp
==Where can I get the binary files of the netlabs repository if I don't use RPM==
The netlabs release and experimental repositories files are available on the following site:
* http://rpm.netlabs.org/
Those can be downloaded as zip files.


==Clean==
==Clean==
Line 46: Line 61:


==RebuildDB==
==RebuildDB==
If your RPM database got corrupted you can use:  
If your RPM database got corrupted, you can use:
  rpm --rebuilddb
  rpm --rebuilddb
==Search for file==
You can search (remember that is case-sensitive) for a file and find which package contains it, like:
yum whatprovides */libcn0.dll
which outputs:
1:libc-0.1.7-1.oc00.i686 : Standard Shared Libraries
Repo        : netlabs-exp
Matched from:
Filename    : /@unixroot/usr/lib/libcn0.dll
Or something like:
yum whatprovides */mmioos2*
==Search for a package==
If you want to search for a package name, you can do something like:
yum search libc | more
shows:
libc-debuginfo.i686 : Debug information for package libc
libcx.i686 : kLIBC Extension Library
libcx-debuginfo.i686 : Debug information for package libcx
libc.i686 : Standard Shared Libraries


==Installation==
==Installation==
Line 59: Line 95:
* Uninstall with WarpIN the YUM bootstrap.
* Uninstall with WarpIN the YUM bootstrap.
Just to validate, open an OS/2 console and run "yum" and "yum list" to see you don't have any errors.
Just to validate, open an OS/2 console and run "yum" and "yum list" to see you don't have any errors.
==Unpacking an RPM file==
If you have a .rpm file, and you don't want to install it, and just unpack it to review its contents you can use the rpm2cpio command like:
rpm2cpio peg-e-1.2.7-1.i686.rpm | cpio -idmv


==Troubleshooting==
==Troubleshooting==
Some of the quick tips:
Some of the quick tips:
* Review any duplicated files on the Libpath between X:\ecs\dll and x:\usr
* Review any duplicated files on the Libpath between X:\ecs\dll and x:\usr
* Make a "yum clean all", sometime it works.  
* Make a "yum clean all", sometime it works.


===Error: No such table: packages===
===Error: No such table: packages===

Latest revision as of 02:15, 5 January 2024

Article Info
Author N/A
Date 2020
OS Version OS/2 Warp 4.52 / eComStation / ArcaOS 5.0.x
Companion File N/A
Source N/A

These are some RPM/YUM general tips that I need to write somewhere to don't forget them.

List repository content

yum list

or search something more specifically, like the "gcc" available

yum list gcc*

Install something

yum install <put-the-name-here>

Ex:

yum install libc

Ex. with several packaged:

yum install libc gcc-4.4.4 gcc-4.7.3 openssl curl libjpeg libxslt libicu zlib libxml2 mmap pthread urpo libstdc++6

Reinstall Something

yum install <put-the-name-here>

Ex:

yum reinstall coreutils

Update all the stuff you have installed

yum update

Install RPM

Sometimes RPM did not get automatically updated or installed. You can manually install them again with:

yum install rpm

Installing the Netlabs Experimental Repository

There is other repository for netlabs experimental stuff. You can use it under your risk.

This repository can be installed do running from a command line the following:

yum install netlabs-exp

It can also be set manually by creating a file under:

x:\etc\yum\repos.d\netlabs-exp.repo

with content:

[netlabs-exp]
name=Netlabs experimental repository $releasever - $basearch
baseurl=http://rpm.netlabs.org/experimental/$releasever/$basearch/
enabled=1

If you want to remove it later, you can execute:

yum remove netlabs-exp

Where can I get the binary files of the netlabs repository if I don't use RPM

The netlabs release and experimental repositories files are available on the following site:

Those can be downloaded as zip files.

Clean

yum clean all

Check

This command check is the dependencies of the packaged are installed correctly.

yum check

RebuildDB

If your RPM database got corrupted, you can use:

rpm --rebuilddb

Search for file

You can search (remember that is case-sensitive) for a file and find which package contains it, like:

yum whatprovides */libcn0.dll

which outputs:

1:libc-0.1.7-1.oc00.i686 : Standard Shared Libraries
Repo        : netlabs-exp
Matched from:
Filename    : /@unixroot/usr/lib/libcn0.dll

Or something like:

yum whatprovides */mmioos2*

Search for a package

If you want to search for a package name, you can do something like:

yum search libc | more

shows:

libc-debuginfo.i686 : Debug information for package libc
libcx.i686 : kLIBC Extension Library
libcx-debuginfo.i686 : Debug information for package libcx
libc.i686 : Standard Shared Libraries

Installation

This is a quick reminder on how you have to install YUM.

  • Install YUM Bootstrap WPI.
  • Check your paths as it ask on the readme.
  • Maybe it can be good to reboot.
  • Run YUM bootstrap console.
  • Run "yum install yum rpm".
  • Reboot.
  • Uninstall with WarpIN the YUM bootstrap.

Just to validate, open an OS/2 console and run "yum" and "yum list" to see you don't have any errors.

Unpacking an RPM file

If you have a .rpm file, and you don't want to install it, and just unpack it to review its contents you can use the rpm2cpio command like:

rpm2cpio peg-e-1.2.7-1.i686.rpm | cpio -idmv

Troubleshooting

Some of the quick tips:

  • Review any duplicated files on the Libpath between X:\ecs\dll and x:\usr
  • Make a "yum clean all", sometime it works.

Error: No such table: packages

If you get this error maybe a "yum clean all" can help a little bit.

Error:

C:\usr\share\yum-cli]yum
raceback (most recent call last):
 File "C:\TMP\YUMBT\USR\BIN\YUM", line 29, in <module>
   yummain.user_main(sys.argv[1:], exit_code=True)
 File "/@unixroot/usr/share/yum-cli/yummain.py", line 288, in user_main
   errcode = main(args)
 File "/@unixroot/usr/share/yum-cli/yummain.py", line 98, in main
   base.getOptionsConfig(args)
 File "/@unixroot/usr/share/yum-cli/cli.py", line 253, in getOptionsConfig
   (opts, self.cmds) = self.optparser.setupYumConfig(args=args)
 File "/@unixroot/usr/share/yum-cli/cli.py", line 1599, in setupYumConfig
   self.base.setupKeyImportCallbacks()
 File "/@unixroot/usr/share/yum-cli/output.py", line 1225, in setupKeyImportCal
backs
   gpgca_import_func = self.getCAKeyForRepo
ttributeError: 'YumBaseCli' object has no attribute 'getCAKeyForRepo'

Error: error: unpacking of archive failed on file : cpio: Digest mismatch

Error unpacking rpm package libjpeg-8c-1.oc00.i386
error: unpacking of archive failed on file /@unixroot/usr/bin/cjpeg.exe;56031939
: cpio: Digest mismatch

Possible Solution

Check the duplicated files on the LIBPATH (check on eComStation Kernel on System Setup). There can be duplicated DLLs between x:\eCS\DLL and x:\usr\lib