update README

This commit is contained in:
CongTiankong
2023-08-14 13:21:36 +08:00
parent 44a55a4f80
commit e631aa3c6f
3 changed files with 38 additions and 24 deletions

View File

@@ -1,6 +1,6 @@
# Additional Base Lib
Solve the common compatible problem of glibc on GNU/Linux, by lightweight container utility bubblewrap. (Support distros based on debian)
Solve the common compatible problem of glibc on GNU/Linux, by lightweight container utility bubblewrap.
#### Introdution
@@ -10,27 +10,30 @@ That's because the application build with higher glibc then running. Someone cho
#### License
There's no license restriction with scripts such as ablrun. All the library files are taken from some GNU/Linux distribution, their original license should followed.
There's no license restriction with scripts such as `ablrun`. All the library files are taken from some GNU/Linux distributions, their original license should followed.
#### Notes
1. Tested in deepin, but it's also able to run on other distro based on debian. And It's easy to port to other GNU/Linux platform.
1. You can install it onto many distributions with dpkg or rpm package management system. And It's easy to port to other GNU/Linux platform.
2. It use bwrap, as a result, some application may not run, such as ones use there own container or ones need to mount filesystem. But appimages will run, because I designed a special method to support.
3. Also include a single libstdc++ library with glibc, because this problem is as often as that with glibc.
4. You may use LD_LIBRARY_PATH environment variable with ablrun to search libraries in other directories, which may solve some other library problem.
4. You may use `LD_LIBRARY_PATH` environment variable with ablrun to search libraries in other directories, which may solve some other library problem.
5. When running applications build from electron, try pass an argument `--no-sandbox` to make it work with `ablrun`.
#### Usage
Install additional-base-lib debian package first (You may download from the right side, Releases section.):
`sudo apt install "path/to/package_name.deb"`
Install additional-base-lib package first. You may download from Releases section on the right side of the page.
If you use debian-based GNU/Linux distribution, install with this command:
`sudo apt install "path/to/package_name.deb"`
If your distribution base on rpm, use package manage command provided by your distribution.
Then you can run command, that contains glibc problem, led by ablrun and a space:
Then you can run command which invokes glibc problem, led by ablrun and a space:
`ablrun [command [arguments ...]]`
Uninstall:
`sudo apt remove additional-base-lib`
When remove, You should also use package management.
If you use debian-based GNU/Linux distribution, install with this command:
`sudo apt remove additional-base-lib`
If your distribution base on rpm, use package manage command provided by your distribution.
#### Resources
@@ -44,5 +47,8 @@ A help for someone like to port this script to other GNU/Linux platform (in Chin
https://bbs.deepin.org/post/258721
#### Customize
If the released package cannot fit your needs (such as library version, architecture), you may try make-deb.sh to create your own additional base lib. Download the project, and edit the script, change 3 URLs for download packages to which you want. You may found many version and architectures from debian page: https://www.debian.org/distrib/packages , and then run the script make-deb.sh. It will auto-detect architecture of packages, and take corresponding methods.
dependence: bash, coreutils, dpkg, dpkg-dev, grep, wget, patchelf
If the released package cannot fit your needs (such as library version, architecture), for deb package, you may try `make-deb.sh` to create your own additional base lib. Download the project, and edit the script, change 3 package download URLs to which you want. You may found many version and architectures from debian page: https://www.debian.org/distrib/packages , and then run the script make-deb.sh. It will auto-detect architecture of packages, and take corresponding methods.
Install these packages first: bash, coreutils, dpkg, dpkg-dev, grep, wget, patchelf
For rpm package, you need `make-rpm.sh`. Download the project, and edit the script, change 3 package download URLs to which you want. You may found many versions and architectures from fedora page: https://packages.fedoraproject.org/ , and then run the script `make-tpm.sh`. It will auto-detect architecture of packages, and take corresponding methods. Rpm package will store to `~/rpmbuild/RPMS` directory.
Install these packages first: bash, coreutils, rpm-build, wget, patchelf