Скомпилировать пакет или набор пакетов, подходящих для вашего distro (raspbian), а не просто сделать установку
в /usr/local/
- пакеты (пакеты ) можно скопировать и установить с помощью стандартного средства управления пакетами dpkg
для raspbian.
Эта компиляция может быть выполнена на вашем rpi с подходящей средой разработки или на более быстром и мощном компьютере (другом ARM-ящике, использующем тот же тип CPU - редкое и необычное оборудование) или скомпилирована на машине amd64.
-121--173915-
Используйте стиль ANSI C побега последовательности, $\n '
для указания новой строки:
% echo "$datetime"
ExifMnoteCanon: Loading entry 0xcf27 ('(null)')...
ExifMnoteCanon: Loading entry 0x3ca8 ('(null)')...
ExifMnoteCanon: Loading entry 0xf88a ('(null)')...
2013:08:22 18:01:16
% echo "${datetime##*\n}"
ull)')...
2013:08:22 18:01:16
% echo "${datetime##*$'\n'}"
2013:08:22 18:01:16
В противном случае \n
обрабатывается как литерал n
.
-121--98812-
Странно, что нет такого легкого варианта. Но ваш связанный вопрос описывает его достаточно хорошо, а также делает связанный форум пост. самый простой способ, вероятно, создать такой сценарий:
#!/bin/bash
# Check for and install security updates if available
security_updates=$( dnf -q updateinfo list sec | awk '{print $3}' )
if [ -n "$security_updates" ]; then
exit
fi
dnf upgrade $security_updates
Есть (очевидно) уже RFE bugzilla для этого, но все еще только обсуждается без реализации или решения.
Итак, /etc/nanorc.pacnew
это новый файл rc, поставляемый с новым обновлением дистрибутива? Как насчет
sed '/tabsize/ {s/^# *//; s/[0-9]*$/4/}' /etc/nanorc.pacnew > /etc/nanorc
, тогда?
Другой возможный трюк может состоять в том, чтобы иметь символическую ссылку ~/.nanorc
в домашнем каталоге каждого пользователя, указывающую на центральный файл с соответствующими командами.
по запросу:
sed '/tabsize/ # if the line matches "tabsize"
{s/^# *//; # remove "#" and trailing spaces from begin-of-line (BOL)
s/[0-9]*$/4/ # substitute any sequence of digits at EOL by "4"
}' /etc/nanorc.pacnew # input file
> /etc/nanorc # redirection to target file
Чтобы добавить к ответу RudiC, трюк со ссылкой работает! Это хорошо для глобальных переопределений, которые вам не нужно исправлять после, например. a do-release-upgrade
в Ubuntu (, который может обновить файл /etc/nanorc
).
Вот что я сделал.
Допустим, общий файл переопределения nanorc находится в/home-shared/.config/nano/nanorc
Затем просто привяжите его для каждого пользователя(su $USER
):
mkdir -p ~/.config/nano &&
ln -s /home-shared/.config/nano/nanorc ~/.config/nano/nanorc
То же самое можно сделать и для пользователя root, поэтому это также применимо при использованииsudo nano...
:
sudo mkdir -p /root/.config/nano &&
sudo ln -s /home-shared/.config/nano/nanorc /root/.config/nano/nanorc
В этом случае лучше убедиться, что связанный файл доступен для записи только пользователю root:
sudo chown root:root /home-shared/.config/nano/nanorc &&
sudo chmod 644 /home-shared/.config/nano/nanorc # 0644/-rw-r--r--
Пример файла nanorc, который мне нравится, чтобы сделать его более похожим на редакторы с графическим интерфейсом:
## Forget the used search/replace strings on the next session.
unset historylog
## Display line numbers to the left (and any anchors in the margin).
set linenumbers
## Disable vim-style lock-files.
unset locking
## Make the Home key smarter, toggling line-start / first non-whitespace position
set smarthome
## Spread overlong lines over multiple screen lines.
set softwrap
## Disallow nano to be suspended (with ^Z by default).
unset suspendable
## Use this tab size instead of the default; it must be greater than 0.
set tabsize 2
## Make nano have keybindings that are more "usual"
bind ^Q exit all
bind ^S savefile main
bind ^W writeout main
bind ^O insert main
bind ^H help all
bind ^H exit help
bind ^F whereis all
bind ^G findnext all
bind ^R replace main
bind ^X cut all
bind ^C copy main
bind ^V paste all
bind ^A mark main
bind ^Z undo main
bind ^Y redo main