AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 989008
Accepted
Eric
Eric
Asked: 2019-10-23 10:32:45 +0800 CST2019-10-23 10:32:45 +0800 CST 2019-10-23 10:32:45 +0800 CST

如何在 CentOS 7 上获得最新版本的 nano (4.5)?

  • 772

nano 编辑器的最新版本是 4.5 ( https://www.nano-editor.org/ )...我在 CentOS 7 服务器上运行 2.3.1 并且想要升级。但似乎没有任何 repos(EPEL、Remi 等)有任何比 2.3 更新的东西。

如何获得最新的 nano?我需要在服务器上从头开始构建它吗?如果可能的话,我宁愿能够用来yum管理安装/升级。

我在 nano 页面上看到很多下载选项(包、Open SU​​SE[?]、发行版、等等),但它们似乎都不适合 yum。我认为。

centos
  • 4 4 个回答
  • 2394 Views

4 个回答

  • Voted
  1. Chris Woods
    2020-01-06T06:13:27+08:002020-01-06T06:13:27+08:00

    在 CentOS 7 机器上安装 Nano 4 相当简单。

    1. 前往https://www.nano-editor.org/dist/v4/并获取最新的 .xz(截至 2020 年 2 月,v4.8 是最新版本)。

    2. cd到合适的目录,例如cd /opt.

    3. 创建一个子目录来存储所有内容:mkdir -p /opt/apps/nano
      像某些人一样,您也可以下载匹配的 GPG 签名并进行验证。

    4. 解压缩并解压缩到名为 的子目录中nano-4.8:tar -Jxvf nano-4.8.tar.xz

    5. CD 到解压缩的文件夹并运行 configure: cd nano-4.8 && ./configure。
      您可能需要安装ncurses;阅读的输出,make如果是这样,它会告诉你。

    6. 编译:make && sudo make install

    7. 整理并符号链接nano二进制文件(如果您在配置期间未指定安装位置)。

    这种方法可以改进,但总的来说我很满意。

    默认情况下,配置脚本将最终安装指向/usr/local/bin. 您可以使用--prefix=PREFIX传递给的(其中 PREFIX 是绝对文件路径)进行自定义,./configure但我不介意默认值。更多信息可通过./configure --help.

    我的机器不包含usr/local/bin在$PATH; 为了过上轻松的生活,您可以使用 卸载 nano 2 yum remove nano,或者如果您出于以下原因想要同时保留这两个符号链接,则可以安装并安装符号链接nano:nano2

    mv /bin/nano /bin/nano2 ln -s /usr/local/bin/nano /bin/nano

    执行此操作后,请注意一些.nanorc配置变量已更改,因此如果您使用set const它需要更新为set constantshow.

    我个人使用

    set softwrap
    set constantshow
    include "/usr/local/share/nano/*.nanorc"
    

    include 启用语法着色,另外两个是不言而喻的。Nano 4 现在默认软包装,但我把它留在里面了。

    softwrap 是有益的,您将避免无意中在文件中插入换行符,而换行符超出了宽度限制)。

    您可以~/.nanorc在全局nanorc文件中定义或全局执行这些操作。(地点不同)。

    我无法弄清楚的一件事是这个全局配置应该去哪里 - 通常的路径,如/etc, /etc/default,/usr/local/etc等等,不起作用。strace -e open nano显示 nano 甚至没有尝试在任何常见位置打开全局配置文件。也许它需要在编译时指定另一个标志,但没有什么明显的突出./configure --help。文档在版本 3 之后也发生了变化,并且模糊地引用了位置不同的系统范围的配置文件。

    似乎默认情况下从源代码编译不包含全局配置。我只是使用我的~/.nanorc并从那里包含语法突出显示文件,工作正常。也许调查为 repo RPM 编译的版本会揭示需要更改的内容。

    nanorc文档(man nanorc或https://www.nano-editor.org/dist/v4/nanorc.5.html)中提供了完整的选项列表。

    其他一些语法高亮说明值得在https://www.mc-guinness.co.uk/blog/20160307/configuring-nano-text-editor-in-ubuntu/以及 SE、AskUbuntu 等其他一些帖子上阅读。

    编辑,2020 年 2 月:我在“精简”模式(sh -l而不是单线)中使用了 scopatz 的语法突出显示自动安装脚本sh:https ://github.com/scopatz/nanorc 。其他语法高亮包可用。

    我还必须注释掉,set const因为不推荐使用特定的语法,并且默认情况下 nano 4 软包装。从 nano 2.7 开始,语法更改为set constantshow反正。

    • 7
  2. Best Answer
    John Mahowald
    2019-10-24T06:10:56+08:002019-10-24T06:10:56+08:00

    EL 7 包是几年前建立的,它们的构建仍然是 2.3,因为它是一个稳定的发行版。许多 repos 不会替换来自基本 EL 的包。

    要继续使用 Red Hat RPM,请考虑升级编辑器环境的操作系统(可以是 VM 或容器)。

    根据 CentOS 8 nano.spec 和镜像上的软件包,EL 8 似乎高达 2.9。不是最新的。

    Fedora 30 较新,4.2。

    或者,随意编译自己,也许采用 Fedora 规范并重新构建。像往常一样,如果你建立自己,你会承担更多的责任。

    • 4
  3. Sulaymon Hursanov
    2021-11-22T06:09:34+08:002021-11-22T06:09:34+08:00

    根据@Chris Woods 的回答 - 我制作了一行脚本(纳米版 5.9)

    $ sudo yum install gcc ncurses-devel && mkdir /opt/apps/nano && curl https://www.nano-editor.org/dist/v5/nano-5.9.tar.gz -o /opt/apps/nano/nano-5.9.tar.gz && cd /opt/apps/nano && tar -xvf nano-5.9.tar.gz && cd nano-5.9 && ./configure &&  make && sudo make install && mv /bin/nano /bin/nano2 && ln -s /usr/local/bin/nano /bin/nano
    
    • 3
  4. esoroka
    2019-10-23T20:15:18+08:002019-10-23T20:15:18+08:00

    你不能。Nano 4.5 依赖于 CentOS 7 存储库中不可用的软件包。如果你想在 CentOS 的感觉中脱颖而出,请使用 Fedora

    • -2

相关问题

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 使用 crontab 和 /etc/cron.hourly,daily,weekly 的区别

  • 持续监控许多服务器运行状况的简单方法?

  • Hudson 无法在 tomcat5 中启动

  • CentOS 的依赖挑战

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve