如何使用rpm文件手动安装CentOS authlib软件
如何使用rpm文件手动安装CentOS authlib软件
要想手动安装CentOS的authlib软件,首先需要准备一个rpm文件。可以从网上下载一个,也可以自己制作一个。
制作rpm文件需要使用到rpm命令。首先,使用rpm命令安装依赖包:
yum install rpm-build
安装完成后,会在/usr/src/redhat目录下生成一系列目录,其中SPECS目录是存放rpm规格文件的目录,SRPMS目录是存放源码rpm包的目录,RPMS目录是存放编译好的二进制rpm包的目录。
接下来,就可以在SPECS目录下创建一个规格文件,名字任意,可以是authlib.spec,文件内容如下:
Name: authlib Version: 0.5 Release: 1 Summary: The Authlib library provides an easy way to authenticate users License: MIT Group: Development/Libraries URL: https://github.com/authlib/authlib Source0: https://github.com/authlib/authlib/archive/%{version}/%{name}-%{version}.tar.gz BuildRequires: python3-devel %description Authlib is a comprehensive authentication library for Python. It supports OAuth 1.0, OAuth 1.0a, OAuth 2.0, OpenID 1.1 and OpenID 2.0. %prep %setup -q -n %{name}-%{version} %build python3 setup.py build %install python3 setup.py install --root=%{buildroot} --prefix=/usr %files %defattr(-,root,root,-) %doc LICENSE README.md AUTHORS %{python3_sitelib}/%{name}-%{version}-py%{python3_version}.egg-info %{python3_sitelib}/%{name} %changelog * Sat Aug 12 2017 Yongjun Zhang
上面的规格文件中的内容基本上都是一些基本信息,比如软件名称、版本号、许可证等,还有一些比较重要的选项,比如Source0,这个选项指定了源码包的下载地址,%{name}和%{version}会被rpm命令自动替换为软件名称和版本号。
BuildRequires选项指定了编译这个软件所需要的依赖包,%description选项指定了一些软件的描述信息。
%prep选项指定了在编译rpm包之前所要执行的命令,%setup -q -n %{name}-%{version}表示将下载的源码包解压到当前目录,并重命名为软件名称-版本号的目录。
%build选项指定了编译过程中所要执行的命令,%install选项指定了安装过程中所要执行的命令。
%files选项指定了安装后所生成的文件,%defattr(-,root,root,-)表示所有文件的默认属性都是root用户、root组,权限为-(即0644)。
%doc选项表示安装目录下会生成一个doc目录,里面包含了一些文档,比如LICENSE、README.md、AUTHORS等。
%{python3_sitelib}表示python3的安装目录,一般是/usr/lib/python3.x/site-packages,%{name}-%{version}-py%{python3_version}.egg-info表示安装目录下会生成一个%{name}-%{version}-py%{python3_version}.egg-info目录,里面包含了一些软件的元数据信息。
%{python3_sitelib}/%{name}表示安装目录下会生成一个%{name}目录,里面包含了软件的所有文件。
最后,%changelog选项指定了一些软件的变更日志。
上面的规格文件中还没有指定编译和安装过程中所需要的依赖包,这个可以在编译和安装过程中自动安装。
要想自动安装依赖包,需要在编译过程中使用--requires选项,在安装过程中使用--nodeps选项。
接下来,就可以使用rpmbuild命令来编译rpm包了:
rpmbuild -bb --requires authlib.spec
编译完成后,会在RPMS目录下生成一个authlib-0.5-1.x86_64.rpm文件,这个就是我们要安装的rpm包了。
安装rpm包也非常简单,直接使用rpm命令安装就可以了:
rpm -ivh authlib-0.5-1.x86_64.rpm
安装完成后,就可以使用authlib软件了。
相关文章