Последняя версия редактора nano - 4.5 ( https://www.nano-editor.org/ ) ... Я запускаю 2.3.1 на своем сервере CentOS 7 и хочу обновиться. Но никакие репозитории (EPEL, Remi и т. Д.), Похоже, не имеют ничего новее, чем 2.3.
Как я могу получить последнюю версию nano? Надо ли собирать его с нуля на сервере? Я бы предпочел использовать yum
для управления установками / обновлениями, если это возможно.
Я вижу множество вариантов загрузки (пакеты, Open SUSE [?], Дистрибутивы, бла-бла) на nano page, но ни один из них не подходит для yum. Я думаю.
Пакеты 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
Получить Nano 4 на компьютере с CentOS 7 довольно просто.
Перейдите на https://www.nano-editor.org/dist/v4/ и скачайте последнюю версию .xz (по состоянию на февраль 2020 г. последней версией является v4.8).
cd
в подходящий каталог, например cd /opt
.
Создайте подкаталог для хранения всего: mkdir -p /opt/apps/nano
Как и некоторые люди, вы также можете загрузить соответствующую подпись GPG
и проверьте его.
Распакуйте и распакуйте в подкаталог с именем nano-4.8
: tar -Jxvf nano-4.8.tar.xz
CD в извлеченную папку и запустите configure: cd nano -4.8 && ./configure
.
Возможно, вам потребуется установить ncurses; прочитайте вывод make
, и он сообщит вам, если это так.
Скомпилируйте: make && sudo make install
Приведите в порядок и создайте символическую ссылку на двоичный файл nano
(если вы не указали место установки во время настройки).
Этот метод можно улучшить, но в целом я им доволен.
По умолчанию сценарий configure указывает окончательную установку на расположение по умолчанию /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 constshow
.
Лично я использую
set softwrap
set constantshow
include "/usr/local/share/nano/*.nanorc"
Включение включает подсветку синтаксиса, а два других очевидны. Nano 4 теперь по умолчанию выполняет программную обертку, но я оставил ее.
Оболочка полезна, вы избежите непреднамеренной вставки разрывов строк в файлы, строки которых превышают ограничение по ширине).
Вы можете определить их в ~/.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 и т. д.
Редактировать, февраль 2020 г.: я использовал синтаксис scopatz, подсвечивающий скрипт автоматической установки в «облегченном» режиме (sh -l
вместо sh
в однострочнике): https://github.com/scopatz/nanorc . Доступны другие пакеты подсветки синтаксиса.
Мне также пришлось закомментировать set const
, так как этот конкретный синтаксис устарел, а программные оболочки nano 4 используются по умолчанию. Начиная с nano 2.7, синтаксис все равно изменился на set ConstantShow
.
Согласно ответу @Chris Woods -я сделал однострочный скрипт (nano version 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