Последняя версия редактора 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 довольно просто.
Направляйтесь к https://www.nano-editor.org/dist/v4/ и возьмите последний .xz (по состоянию на февраль 2020 года последней версией является v4.8).
cd
в папку на вашем компьютере, например /opt
- Я делаю mkdir -p /opt/apps/nano
хранить все.
Как и некоторые люди, вы также можете загрузите соответствующую подпись GPG и проверьте ее.
бегать tar -Jxvf nano-4.8.tar.xz
распаковать и распаковать в подпапку с именем nano-4.8
.
cd nano-4.8
и выдать обычное заклинание:
./configure
(вам может потребоваться установить ncurses; прочитать вывод make
и он вам посоветует если да)make
sudo make install
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.