README.md 2.47 KB
Newer Older
Vitaly Lipatov's avatar
Vitaly Lipatov committed
1
# Etersoft EPM package manager
Vitaly Lipatov's avatar
Vitaly Lipatov committed
2 3 4

Really, EPM is a wrapper for any package manager used in your operating system.

5 6 7 8 9
Run
```
$ epm --help
```
to see list of all supported commands.
Vitaly Lipatov's avatar
Vitaly Lipatov committed
10

11 12
The main goal of the project is to provide the same package management interface
on all platforms.
Vitaly Lipatov's avatar
Vitaly Lipatov committed
13 14

You can use
15
```
Vitaly Lipatov's avatar
Vitaly Lipatov committed
16
# epmi NAME
17
```
Vitaly Lipatov's avatar
Vitaly Lipatov committed
18
or
19
```
Vitaly Lipatov's avatar
Vitaly Lipatov committed
20
# epm -i NAME
21
```
Vitaly Lipatov's avatar
Vitaly Lipatov committed
22
or
23
```
Vitaly Lipatov's avatar
Vitaly Lipatov committed
24
# epm install NAME
25 26
```
to install a package. It is just an alias for one command: install the package.
Vitaly Lipatov's avatar
Vitaly Lipatov committed
27 28 29 30
EPM will run `urpmi` on Mandriva, `apt install` on Ubuntu, `yum install` on Fedora,
or `apt-get install` on ALT Linux.

And it has a little intelligence, so EPM will first try to install a package file via
31
low level commands (`rpm` or `dpkg`) before using higher level commands (`yum`, `apt`).
Vitaly Lipatov's avatar
Vitaly Lipatov committed
32

33
Just try your comfort style for package management and carry your experience the same
Vitaly Lipatov's avatar
Vitaly Lipatov committed
34
to any platform. EPM will print out the real command it uses so you can learn from it.
Vitaly Lipatov's avatar
Vitaly Lipatov committed
35

Vitaly Lipatov's avatar
Vitaly Lipatov committed
36
EPM has support for repository management: repo list, repo add, repo remove, update commands.
Vitaly Lipatov's avatar
Vitaly Lipatov committed
37

Vitaly Lipatov's avatar
Vitaly Lipatov committed
38
Also EPM contains `serv` command to control system services in system independed manner.
Vitaly Lipatov's avatar
Vitaly Lipatov committed
39

40
Pay attention to the following useful commands:
Vitaly Lipatov's avatar
Vitaly Lipatov committed
41 42
* `epmqf <command name>` - query package(s) owning file
* `epmqp <word>` - search in the list of installed packages
Vitaly Lipatov's avatar
Vitaly Lipatov committed
43

44 45
`epmqf` can be helpful to get package name for any file or command in the system:
```
Vitaly Lipatov's avatar
Vitaly Lipatov committed
46 47 48 49 50 51 52 53
$ epmqf epmqf
Note: epmqf is placed as /usr/bin/epmqf
 $ rpm -qf /usr/bin/epmqf
eepm-1.1.0-alt2
Note: /usr/bin/epmqf is link to epm
Note: epm is placed as /usr/bin/epm
 $ rpm -qf /usr/bin/epm
eepm-1.1.0-alt2
54
```
Vitaly Lipatov's avatar
Vitaly Lipatov committed
55

Vitaly Lipatov's avatar
Vitaly Lipatov committed
56 57 58 59 60
Also you can use
`epm play` to install the application from the official site.

For example, run `epm play edge` to install Microsoft Edge browser in your system.

61
## Install on any system
62 63

Just run under root user:
64
```
65
# curl -s https://raw.githubusercontent.com/Etersoft/eepm/master/packed/epm.sh | bash /dev/stdin ei --auto
66
```
67

Vitaly Lipatov's avatar
Vitaly Lipatov committed
68
If you have no `curl` on your system, just download file `https://raw.githubusercontent.com/Etersoft/eepm/master/packed/epm.sh`
69 70 71 72 73
and run in the download directory:
```
# bash epm.sh ei
```

74
## How to add new distro support
75
1. Fix detection with `distro_info`
76 77 78
2. Add distro support in `set_pm_type` function
3. Implement every command in epm-* files
4. Ensure that `epm packages` and `epm --short packages` works correctly
Vitaly Lipatov's avatar
Vitaly Lipatov committed
79
(`epm package 'awk'` have to print packages with `awk` substring in their names)
Vitaly Lipatov's avatar
Vitaly Lipatov committed
80

81
See detailed description in Russian at
Vitaly Lipatov's avatar
Vitaly Lipatov committed
82
http://wiki.etersoft.ru/Epm
Vitaly Lipatov's avatar
Vitaly Lipatov committed
83

Vitaly Lipatov's avatar
Vitaly Lipatov committed
84 85
Please e-mail if you have any questions:
`lav@etersoft.ru`