Запись образа openSUSE на SD-карту

[119994]Я бы попробовал:

Я не поклонник аргумента -exec, чтобы найти, и не поклонник того, чтобы выяснить, как точно избежать литералов, поэтому я обычно качаюсь, чтобы найти + xargs.[119997].

2
03.12.2017, 16:44
3 ответа

Здесь не требуется bash , любая стандартная реализация sh интерпретатора:

#! /bin/sh -
ret=0
for file do
  dir=$(dirname -- "$file")
  case $dir in
    (*[!/]*) dir=$dir/ # handle / and // specially
  esac
  base=$(basename -- "$file")
  name=${base%.*}
  name=${name:-$base} # don't consider .bashrc the extension in /foo/.bashrc
  ext=${base#"$name"}
  new_file=$dir${name}_copy$ext
  cp -- "$file" "$new_file" || ret=$?
done
exit "$ret"

(предполагается, что имена файлов и каталогов не заканчиваются новыми символами).

(конечно, это также будет работать с bash , поскольку bash является одним из стандартных sh интерпретаторов .)

Для bash -специфического решения можно попробовать:

#! /bin/bash -
ret=0
re='^((.*/)?[^/])(([^/]*)(\.))?([^/]*)/*$'
for file do
  if [[ $file =~ $re ]]; then
    if [[ ${BASH_REMATCH[5]} ]]; then
      suffix=_copy.${BASH_REMATCH[6]}
    else
      suffix=${BASH_REMATCH[6]}_copy
    fi
    cp -- "$file" "${BASH_REMATCH[1]}${BASH_REMATCH[4]}$suffix" || ret=$?
  else
    printf >&2 '%s\n' "$0: Error: refusing to copy $file"
    ret=1
 fi
done
exit "$ret"
-121--55532-

Технически этот вопрос не делает

Вы хотите предоставить людям возможность подключаться к вашему компьютеру и загружать веб-страницы. Для этого необходимо установить, например, apache в качестве веб-сервера, чтобы предоставить доступ к страницам. Для установки Apache необходимо войти в систему как пользователь с правами root. Этот пользователь может быть новым пользователем (только если у него есть права sudo) или самим корнем.

По соображениям безопасности Apache сам не будет работать в качестве этого пользователя. Во время установки он создаст нового пользователя с гораздо меньшими разрешениями, чем средний (графический) пользователь.

Пользователь, установивший apache, не будет (как правило) частью каких-либо действий apache.

Edit: Все, что я написал здесь о apache почти то же самое для ssh, но ssh действительно работает как root.

-121--209826-

Первое, что торчит в моем уме, это ваша команда sudo .

Насколько я понимаю, sudo , по умолчанию используется одна программа. Когда вы делаете трубку вы говорите взять выход этой программы и поместить его в другой. Другими словами, вы запустили sudo только на xzcat .

Поэтому вы должны сделать: xzcat ~/Downloads/openSUSE-13.1-ARM-JeOS-raspberrypi.armv7l-1.12.1-Build38.15.raw.xz | sudo dd bs = 4M of =/dev/sda; sync

Во всей честности, я бы просто сделал:

unxz --keep ~/Downloads/openSUSE-13.1-ARM-JeOS-raspberrypi.armv7l-1.12.1-Build38.15.raw.xz; sudo dd if = ~/Downloads/openSUSE-13.1-ARM-JeOS-raspberrypi.armv7l-1.12.1-Build38.15.raw of =/dev/sda

Однако я такой странный, и у вас может не быть места для места хранения.

0
27.01.2020, 22:21

Как указано в: https://en.opensuse.org/HCL:Raspberry_Pi2

Как root извлеките образ на SD-карту (замените sdX на имя устройства вашей SD-карты). ВНИМАНИЕ: все предыдущие данные на SD-карте будут потеряны.

У меня была та же проблема, sudo просто не работает, вы должны войти в систему как root, и она будет работать!

0
27.01.2020, 22:21

Просто выполните sudo su , чтобы войти в корневую оболочку.

Затем выполните xzcat openSUSE.raw.xz> / dev / sda1 .

1
27.01.2020, 22:21

Теги

Похожие вопросы