暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

rockyLinux 软件安装 neovim 和 git

文正耕耘 2023-05-07
595

原创计划 | 总第 12 期(2023 第 10 期)知识分享

rockyLinux 软件安装 


作者 | 文正耕耘ID:dywangk



rockyLinux 软件安装我主要挑了编辑器 neovim 和 版本管理控制工具 Git 进行介绍。

通常情况,部署完Linux发行版,自带 vim 工具,既然有了vim,那就来点新的尝尝鲜,比如 neovim。如果你想用版本控制工具,Git 是不错的选择,在本地初始化仓库做版本控制,还可以配合github 和 gitee 进行使用,获取开源软件。

         

如果不是做内核裁剪相关工作,或者参与社区开发维护,其实不用涉及太深的知识。

tips关于安装软件,普通用户没有权限,请使用 sudo 命令 提取权限,root 超级用户则不需要加 sudo


Red Hat 企业版 Linux 9 软件管理工具,使用RHEL系列(centos、centos-stream、rockyLinux)可以参考RHEL文档。


在 Red Hat Enterprise Linux 9 中,DNF 工具用于软件安装。Red Hat 继续支持使用 yum 术语与之前的 RHEL          
主要版本保持一致。如果你键入 yum 而不是 dnf,命令可以正常工作,因为这两者是兼容性的别名。

         

注意:RHEL8 和 RHEL9 基于 dnf 管理工具,与 RHEL7 中使用 yum 兼容。

         

当你看到这篇博文,无论是使用云服务器或者 VMware搭建虚拟环境,我默认你有Linux基本知识。

例如:基本操作,使用 ssh 命令连接远程服务器,通过 su 命令切换用户身份。

         

演示安装之前,使用终端管理工具先登录到普通用户(默认禁用了root用户ssh登录权限)。


登录终端

    PS D:\work> ssh wzgy@192.168.245.133           
    wzgy@192.168.245.133's password:
    复制

    如果你和我一样使用的是Windows 11 ,自带终端管理工具,可以满足日常简单操作。复杂一点的功能,可能需要借助于Xshell等工具。


    切换root用户身份,两种方式

    1.su root

    2.su -


      [wzgy@localhost ~]$ su root           
      密码:
      [root@localhost wzgy]#
      复制


      如何确认当前用户身份?

      根据符号 $# 区分,如果看到的是 $ 操作符,代表普通用户,如果是 # 符号,代表超级用户 root。

               


      01  编辑器 Neovim   

      1.neovim 稳定版本地址:https://github.com/neovim/neovim/releases/tag/stable

      2.neovim 所有版本:https://github.com/neovim/neovim/releases/tag

                 

      1、通过 Linux 发行版自带软件管理工具安装

      准备EPEL环境,Rocky Linux 9

        dnf config-manager --set-enabled crb            
        dnf install epel-release
        复制

        yum & dnf 工具安装 neovim

          yum -y install neovim.x86_64
          复制

          执行命令运行:

            nvim -v
            复制

            输出结果:

            NVIM v0.9.0             
            Build type: Release             
            LuaJIT 2.1.0-beta3

                       

            2、下载归档包 nvim-linux64.tar.gz 安装,已经编译好的源码包

                       

            获取:

              wget https://github.com/neovim/neovim/releases/download/stable/nvim-linux64.tar.gz
              复制


              解压:

                tar -zxvf nvim-linux64.tar.gz
                复制


                执行命令运行:

                  ./nvim-linux64/bin/nvim
                  复制


                  查看 nvim 版本:

                    ./nvim-linux64/bin/nvim -v
                    复制

                    输出结果同上面二进制包(rpm)形式安装后,查看版本结果。


                    配置环境变量 vim etc/profile

                      # neovim home             
                      NEOVIM_HOME=/usr/local/nvim-linux64/
                      PATH=$PATH:$NEOVIM_HOME/bin
                      export NEOVIM_HOMEPATH
                      复制

                      如果想即时生效,不想重启服务器,执行 source 命令即可:

                        source etc/profile
                        复制

                        配置完成,在任意位置都可以执行 nvim 命令。

                                   

                        3、源码包编译安装

                        如果是初学者、或者没有高度定制需求,个人不推荐使用这种形式构建。虽然灵活度很高,编译出问题并不好排查。如果是抱着学习的心态,可以尝试。毕竟一分耕耘,一分收获,知识宝库慢慢壮大。


                        获取:

                          wget https://github.com/neovim/neovim/archive/refs/tags/stable.zip
                          复制


                          必备环境(比如make、cmake、gcc等等)、编译、安装步骤此处省略,请参考官方文档:            
                          https://github.com/neovim/neovim/wiki/Installing-Neovim#install-from-source

                                     

                          02  版本控制工具 Git  

                          普通用户部署Git环境

                            sudo yum -y install git-core
                            复制

                            root用户部署Git环境

                              yum -y install git-core
                              复制

                              生成秘钥:

                                ssh-keygen -t rsa -b 4096 -C "username@example.com"
                                复制

                                如果你还想了解更多 ssh-keygen 的用法,可以使用帮助命令:

                                  ssh-keygen --h
                                  复制

                                  检查你的系统目录是否有ssh公钥。默认情况ssh公钥,可能是以下几种文件形式:

                                  1.id_ed25519.pub

                                  2.id_rsa.pub

                                  3.id_ecdsa.pub

                                  4.id_dsa.pub

                                             

                                  检查 ssh公钥 id_rsa.pub 文件内容,在你当前用户 ~/.ssh/ 目录中

                                    [root@localhost test]# ls root/.ssh/             
                                    id_rsa id_rsa.pub known_hosts
                                    [root@localhost test]# nvim root/.ssh/id_rsa.pub
                                    [root@localhost test]# ssh -T git@github.com
                                    Hi cnwangk! You've successfully authenticated, but GitHub does not provide shell access.
                                    复制

                                    既然上面介绍了 nvim,此时直接使用 nvim 编辑 ssh 公钥文件:nvim id_rsa.pub

                                               

                                    复制 id_rsa.pub 文件内容到 github 账号的ssh-key中            
                                    https://github.com/settings/ssh/new


                                               

                                    使用命令测试验证,验证github:

                                      ssh -T git@github.com
                                      复制

                                      示例:验证成功,返回结果为Hi 你的用户名! You've successfully authenticated;验证失败,则返回permission deny权限拒绝。


                                      返回失败结果,此时需要根据上面步骤配置 ssh 公钥:

                                        [root@localhost test]# ssh -T git@github.com            
                                        git@github.com: Permission denied (publickey).
                                        复制

                                        返回成功结果:

                                          [root@localhost test]# ssh -T git@github.com             
                                          Hi cnwangk! You've successfully authenticated, but GitHub does not provide shell access.
                                          复制

                                                     

                                          关于 git 基本用法,可以在公众号回复 git 即可获取相关基本用法,仅供参考哟!

                                                     

                                          上面介绍了rockyLinux 平台neovim git两款软件的安装,接下来系统介绍 RHEL 体系软件安装。

                                                   

                                           

                                          03  RHEL 系列软件安装介绍 

                                           

                                          缘起,几年前外出工作,意识到学习 Linux 基本知识的必要性,当时自学使用的是Linux发行版 centos6.5,大概距今已有八年。最早写这篇文档可以追溯到 2017 年,后来转到 centos7.x,翻新了一遍。目前转到RHEL9(rockyLinux-9),发现以前的总结,有许多不足之处。


                                          个人稳定环境,目前已经切换到稳定发行版 REHL9 系列 rockyLinux-9;测试环境,使用 centos-stream-9。

                                             

                                                 

                                          软件安装包简介   


                                          源码包优点

                                          1.开源,假如有足够的实力,可以修改源代码。

                                          2.自由选择所需的功能。

                                          3.软件是编译安装,更加适合自己的系统,稳定效率更高。

                                          4.卸载方便。

                                                       

                                          源码包的缺点

                                          1.安装过程步骤多,尤其安装大的软件集合时(LAMP环境搭建),容易出现拼写错误。

                                          2.编译过程时间较长,比二进制安装时间长。

                                          3.安装过程一旦报错,刚入门时(新手)很难解决,个人入门时深有体会。

                                                       

                                          rpm 包二进制包优点

                                          1.管理系统简单,通过简单的几个命令可以实现包的安装、升级、查询和卸载。

                                          2.安装速度比源码包快。

                                                       

                                          二进制包缺点

                                          1.经过编译,无法看到源码。

                                          2.功能选择没有源码包灵活。

                                          3.依赖性(安装一个包时会找很多依赖包,比较繁琐,对初学者不友好)。

                                                       

                                          源码包安装  

                                          1、安装前的准备工作

                                          1.安装C语言编译器;

                                          2.下载源码包。

                                                       

                                          2、安装注意事项

                                          1.源码保存位置:/usr/local/src

                                          2.软件安装位置:/usr/local/

                                          3.如何确定安装过程报错:安装时停止,出现error、warning或no的提示

                                                       

                                          3、源码包安装位置

                                          1.安装在指定路径中,一般在:/usr/local/软件名/

                                                       

                                          4、安装位置不同带来的影响

                                          RPM包安装的服务可以使用系统服务管理命令(service)来管理,例如RPM包安装的Apache启动方法:

                                          安装 httpd 服务,前面也提到过,RHEL9中dnf和yum都行:dnf -y install httpd

                                          1.方式一:/etc/rc.d/init.d/httpd start

                                          2.方式二:service httpd start & systemctl start httpd

                                                       

                                          5、源码包安装过程

                                          下载并解压安装包,进入目录,一般情况部署脚本可能指定路径为 usr/local/ 也不排除指定为 usr/ 。

                                          配置:./configure prefix=/usr/local/

                                          1.定义需要的功能选项;

                                          2.检测系统环境是否符合安装要求;

                                          3.把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续编译;

                                          4.编译make ,make install编译安装。

                                                       

                                          rpm 包安装   

                                          rpm包默认安装位置

                                          释义

                                          /ect/

                                          配置文件安装目录

                                          /usr/bin/

                                          可执行的命令安装目录

                                          /usr/lib/

                                          程序使用的函数库保存位置

                                          /usr/share/doc/

                                          基本软件使用手册保存位置

                                          /usr/share/man/

                                          帮助手册保存位置

                                                       

                                          rpm包命名原则解读一览表httpd-2.4.53-7.el9_1.5.x86_64.rpm

                                          选项

                                          释义

                                          httpd

                                          软件包名

                                          2.4.53

                                          版本

                                          7

                                          发布的次数

                                          el9_1.5

                                          适合的linux平台

                                          x86_64

                                          适用的硬件平台

                                          rpm

                                          软件包扩展名

                                             

                                                   

                                          rpm命令管理


                                          1、查询是否安装

                                          选项

                                          释义

                                          查询当前软件包是否安装

                                          rpm -q 包名

                                          查询所有已经安装的rpm包

                                          rpm -qa

                                          -q

                                          query:查询

                                          -a

                                          all:所有

                                                       

                                          2、查询软件包详细信息

                                          说明:可以获取 httpd 服务安装包做作为测试体验,通过 wget 命令在线获取 rpm 安装包

                                          rpm -pi 包名

                                          选项:

                                          1.-i:information,查询详细信息

                                          2.-p:package,查询未安装包信息

                                                       

                                          3、查询安装包文件所在安装位置

                                          1.rpm -ql 包名

                                          2.选项:-l,list 列表

                                                       

                                          4、查询系统文件属于哪个RPM包

                                          1.rpm -qf 系统文件名

                                          2.选项:-f(file查询系统文件属于哪个软件包)


                                          示例,查找PostgreSQL脚本 pg_ctl 属于那个rpm包:

                                            [root@localhost ~]# rpm -qf usr/pgsql-15/bin/pg_ctl               
                                            postgresql15-server-15.2-1PGDG.rhel9.x86_64
                                            复制


                                            可以看到输出结果,pg_ctl 脚本属于 postgresql15-server-15.2-1PGDG.rhel9.x86_64

                                                         

                                            5、查询软件包的依耐性

                                            1.rpm -qR 包名:查询软件包的依耐性

                                            2.选项:-R(requires 查询软件包的依耐性)


                                            rpm包的依耐性

                                            1.树形依赖:a->b->c

                                            2.环形依赖:a->b->c->a

                                            3.模块依赖:查询网址:www.rpmfind.net

                                                         

                                            6、RPM包校验

                                            1.rpm -V 已安装软件包

                                            2.选项:-V(verify校验指定rpm包的文件)

                                                         

                                            文件类型:

                                            选项

                                            释义

                                            -c (config file)

                                            配置文件

                                            -d (documentation)

                                            普通文档

                                            -d (documentation)

                                            "鬼文件",指该文件不应该被rpm包包含

                                            -L (license file)

                                            授权文件

                                            -r (read me)

                                            描述文件

                                                         

                                            内容校验:验证内容中的8个信息的具体内容如下

                                            选项

                                            释义

                                            -S

                                            文件大小是否改变

                                            -M

                                            文件的类型或文件权限(rwx)是否被改变

                                            -5

                                            MD5校验,文件内容是否改变

                                            -D

                                            设备的主从代码是否改变

                                            -L

                                            文件路径是否改变

                                            -U

                                            文件所有者是否改变

                                            -G

                                            文件属组是否改变

                                            -T

                                            文件修改时间是否改变

                                                         

                                            7、rpm包的安装卸载与升级

                                            选项

                                            释义

                                            -i

                                            (install:安装)

                                            -v

                                            (verbose

                                            -h

                                            (hash:显示进度)

                                            -U

                                            (upgrade:升级)

                                            -e

                                            (erase:卸载)

                                            --nodeps

                                            (不检测依赖性)

                                            1.安装:rpm -ivh 接包全名

                                            2.卸载:rpm -e 接包名(你要卸载的软件)

                                            3.升级:rpm -Uvh 接包名

                                                         

                                            8、rpm包中文件提取              
                                            rpm2cpio 包全名 | cpio -idv文件绝对路径

                                            1.rpm2cpio:将rpm转换为cpio格式

                                            2.cpio:标准工具,用于创建软件档案文件以及从文件中提取文件

                                                         

                                            cpio 选项 < 文件              
                                            这里是标准格式,当然可以使用上面介绍的管道符方式。

                                            例如:cpio -idv < test.txt              
                                            选项:

                                            1.-i:(copy-in模式,还原)

                                            2.-d:还原时自动新建目录

                                            3.-v:显示还原过程

                                                         

                                            yum & dnf 在线安装

                                             

                                            RHEL8之前的版本,只能使用 yum 工具管理,RHEL8 以及目前最新的RHEL9 同时支持 dnf 和 yum 命令,可以将yum当成dnf的别名。

                                            在 Red Hat Enterprise Linux 9 中,dnf 工具用于软件安装。Red Hat 继续支持使用 yum 术语与之前发行的 RHEL              
                                            主要版本保持一致。如果你输入 yum 而不是 dnf,命令可以正常工作,因为这两者是兼容性的别名。

                                                         

                                            dnf 管理工具功能不局限于限安装和卸载,当然还可以进行搜索软件包、列出软件包信息、软件仓库、软件包组、可用模块等等。下面介绍,依旧基于 yum 命令演示。

                                                         

                                            1、常用的yum命令

                                            1.yum list,查询所有可用软件包列表

                                            2.yum search 包名,搜索服务器上所有和关键字相关的包

                                            示例,搜索 httpd 核心包:

                                              yum search httpd-core               
                                              httpd-core.x86_64 : httpd minimal core
                                              复制

                                                          

                                              2、安装             
                                              yum -y install 包名

                                              参数含义:

                                              1.install:安装

                                              2.-y:自动回答yes

                                              例如安装 httpd:

                                                yum -y install httpd
                                                复制

                                                             

                                                3、升级              
                                                yum -y update 包名

                                                1.update:升级


                                                4、卸载

                                                1.yum -y remove 包名

                                                2.remove:卸载


                                                5、yum软件组管理命令

                                                1.yum grouplist:列出所有可用的软件组列表

                                                2.yum groupinstall:软件组名,安装指定软件组,组名可以由grouplist查询出来

                                                3.yum groupremove:软件组名,卸载指定软件组

                                                             

                                                6、yum源文件讲解

                                                编辑网络yum源:vim etc/yum.repos.d/CentOS-Base.repo,rockyLinux中编辑:vim etc/yum.repos.d/rocky.repo

                                                使用 tree 命令查看:tree etc/yum.repos.d/

                                                带有 bak 后缀的文件,备份原始文件用于还原配置。


                                                选项

                                                释义

                                                [base]

                                                容器名称,一定要放在[]中

                                                name

                                                容器说明,可以自己随便写

                                                mirrorlist

                                                镜像站点,这个可以注释掉

                                                baseurl

                                                yum源服务器的地址。默认是rocky官方的服务器,可以使用的,如果你觉得慢可以改成国内的yum源地址。

                                                enabled

                                                此容器是否生效,如果不写或者写成enabled=1都是生效,改为enabled=0就是不生效。

                                                gpgcheck

                                                如果是1,指RPM数字证书生效,为0则不生效。

                                                gpgkey

                                                数字证书的公钥文件保存位置,不用修改。


                                                             

                                                脚本安装包  

                                                比如 xxx.sh 脚本分析:一键安装包,实际上还是安装的源码包和rpm包,只是把安装过程写成了脚本,便于初学者安装。

                                                优点:简单,快速,方便。

                                                缺点:

                                                1.不能定义安装软件的版本,选择余地较少;

                                                2.不能定义所需软件功能;

                                                3.源码包的优势丧失。

                                                             

                                                例如

                                                典型的一键安装包有lnmp(Nginx + MySQL + php),还有 lnmpa(Nginx + MySQL + php + Apache)以及lamp(Apache + MySQL + php)随着一键安装包的优化,用起来更方便,便于初学者使用。

                                                具体不做过多介绍,网址:https://lnmp.org/(对于入门来说的确很好用),目前已经更新到:2022-6-1 LNMP1.9 正式版。

                                                             


                                                参考资料   

                                                Neovim wiki :https://github.com/neovim/neovim/wiki/Building-Neovim#quick-start

                                                Epel:https://docs.fedoraproject.org/en-US/epel/

                                                REHL9 DNF 管理工具:https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/9/html/managing_software_with_the_dnf_tool/index



                                                END  莫问收获,但问耕耘

                                                静下心来,才发现原来不会的还有很多。

                                                一分耕耘,一分收获。

                                                多总结,你会发现,自己的知识宝库越来越丰富。

                                                             

                                                —END—

                                                文章转载自文正耕耘,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                                评论