Назад | Перейти на главную страницу

Как я могу установить последнюю версию nano (4.5) на CentOS 7?

Последняя версия редактора nano - 4.5 (https://www.nano-editor.org/) ... Я запускаю 2.3.1 на своем сервере CentOS 7 и хочу обновиться. Но ни в одном репозитории (EPEL, Remi и т. Д.) Вроде нет ничего новее 2.3.

Как я могу получить последнюю версию nano? Надо ли собирать его с нуля на сервере? Я бы предпочел использовать yum для управления установками / обновлениями, если это возможно.

Я вижу множество вариантов загрузки (пакеты, Open SUSE [?], Дистрибутивы, бла-бла) на нано-странице, но ни один из них не кажется подходящим для yum. Думаю.

Получить Nano 4 на машине с CentOS 7 довольно просто.

  1. Направляйтесь к https://www.nano-editor.org/dist/v4/ и возьмите последний .xz (по состоянию на февраль 2020 года последней версией является v4.8).

  2. cd в папку на вашем компьютере, например /opt - Я делаю mkdir -p /opt/apps/nano хранить все.
    Как и некоторые люди, вы также можете загрузите соответствующую подпись GPG и проверьте ее.

  3. бегать tar -Jxvf nano-4.8.tar.xz распаковать и распаковать в подпапку с именем nano-4.8.

  4. cd nano-4.8 и выдать обычное заклинание:

  5. ./configure (вам может потребоваться установить ncurses; прочитать вывод make и он вам посоветует если да)
  6. make
  7. sudo make install
  8. Приведите в порядок и создайте символическую ссылку 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"

Включаемый включает раскраску синтаксиса, а два других очевидны. Nano 4 теперь по умолчанию обертывается, но я оставил его.

softwrap полезен, вы избежите непреднамеренной вставки разрывов строк в файлы, которые выходят за пределы ширины).

Вы можете определить их в ~/.nanorc или сделать это глобально через глобальный nanorc файл. (расположение меняется).

Единственное, что я не смог понять, так это то, куда должна идти эта глобальная конфигурация - обычные пути, такие как /etc, /etc/default, /usr/local/etcи так далее, не работают. strace -e open nano показывает, что nano даже не пытается открыть глобальный файл конфигурации в любом из общих мест. Возможно, ему нужен другой флаг, указанный во время компиляции, но ничего очевидного не выделяется ./configure --help хотя. Документы также изменились после версии 3 и нечетко относятся к общесистемному файлу конфигурации, расположение которого варьируется.

Кажется, что компиляция из исходников по умолчанию не включает глобальную конфигурацию. Я просто использую свой ~/.nanorc и включить оттуда файлы подсветки синтаксиса, отлично работает. Возможно, изучение версии, скомпилированной для 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 и т. д.

Edit, февраль 2020 г .: я использовал сценарий автоустановки с подсветкой синтаксиса scopatz в облегченном режиме (sh -l вместо того sh в однострочном): https://github.com/scopatz/nanorc . Доступны другие пакеты подсветки синтаксиса.

Мне также пришлось прокомментировать set const поскольку этот конкретный синтаксис устарел, и по умолчанию nano 4 выполняет softwraps. Начиная с версии nano 2.7, синтаксис изменен на set constantshow тем не мение.

Пакеты EL 7 были созданы несколько лет назад, и их сборки все еще находятся на уровне 2.3, потому что это стабильный дистрибутив. Многие репозитории не заменяют пакеты из базового EL.

Чтобы продолжить использование Red Hat RPM, рассмотрите возможность обновления ОС среды редактора (это может быть виртуальная машина или контейнер).

EL 8, похоже, до 2.9, на основе CentOS 8 nano.spec и пакетов на зеркалах. Не последний.

Fedora 30 новее, 4.2.

Или, не стесняйтесь компилировать самостоятельно, возможно, возьмите спецификацию Fedora и пересоберите. Как обычно, вы берете на себя больше ответственности, если строите сами.

Вы не можете. Nano 4.5 имеет зависимости от пакетов, которые недоступны в репозиториях CentOS 7. Если вы хотите, чтобы ощущения CentOS были передовыми, используйте Fedora.