Sudo -i
を使用してrootに切り替えようとすると、エラー/var/tmp/sclDvf3Vx: line 8: -i: command not found
...が発生しますが、su -
は引き続き機能します。私は決してLinuxシステム管理者ではないので、環境はまだかなり曇っています。私の質問は次のとおりです。
更新:
CentOSバージョンを使用しています:CentOSリリース6.6(最終版)
以下のコメントで、実行するように求められたいくつかのコマンドからの出力です。
type Sudo
:Sudo is /opt/centos/devtoolset-1.1/root/usr/bin/Sudo
Sudo -V
:/var/tmp/sclIU7gkA: line 8: -V: command not found
grep'^root:' /etc/passwd
:root:x:0:0:root:/root:/bin/bash
更新:
これは、C++ 11サポートが必要だったため、しばらく前に非rootユーザーの〜/ .bashrcに追加されました。コメントアウトして再SSHすると、Sudo-iをエラーなしで問題なく実行できます。
if [ "$(gcc -dumpversion)" != "4.7.2" ]; then
scl enable devtoolset-1.1 bash
fi
コメントとさらなる調査から、devtoolsetがPATH
を変更しているように見えます。残念ながら、これには古いまたは壊れたSudoコマンドのように見えるものが含まれます。
次のように.bashrc
に含まれるdevtoolsetインクルードを変更してから、再度ログインすることをお勧めします。
if [ "$(gcc -dumpversion)" != "4.7.2" ]; then
scl enable devtoolset-1.1 bash
PATH=/usr/bin:$PATH # We need a working Sudo
fi
SCLの壊れたSudoラッパーを回避するのではなく、単に無効にしました。
echo >> /opt/rh/devtoolset-2/root/usr/bin/Sudo
chmod -x /opt/rh/devtoolset-2/root/usr/bin/Sudo
ファイルの最後に改行を追加すると、後続のYum更新によって上書きされないようになり、実行不能になります。
RHEL 6でgccとc ++の最新バージョンを取得するために開発ツールセットをインストールしましたが、偽のSudoが含まれていないコードをコンパイルしても問題はありませんでした。
Devtoolset-4を使用した後、Sudo -E
フラグで同様の問題が発生しました。その場合、-E
フラグを追加しないでください。/opt/rh/devtoolset-4/root/usr/bin/Sudo
ラッパースクリプトで追加されるため、その内容は次のとおりです。
#! /bin/sh
# TODO: parse & pass-through Sudo options from $@
Sudo_options="-E"
for arg in "$@"
do
case "$arg" in
*\'*)
arg= ;;
esac
cmd_options="$cmd_options '$arg'"
done
exec /usr/bin/Sudo $Sudo_options LD_LIBRARY_PATH=$LD_LIBRARY_PATH PATH=$PATH scl enable devtoolset-4 "$cmd_options"
RUN set -o errexit -o nounset \
&& echo "Downloading Gradle" \
&& wget --no-verbose --output-document=gradle.Zip "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.Zip" \
diff --git a/gradle_latest/Dockerfile b/gradle_latest/Dockerfile
index 6d9fb34..a237d06 100644
--- a/gradle_latest/Dockerfile
+++ b/gradle_latest/Dockerfile
@@ -3,9 +3,9 @@ FROM openjdk:8-jdk
CMD ["gradle"]
ENV GRADLE_HOME /opt/gradle
-ENV GRADLE_VERSION 4.3.1
+ENV GRADLE_VERSION 4.4
-ARG GRADLE_DOWNLOAD_SHA256=15ebe098ce0392a2d06d252bff24143cc88c4e963346582c8d88814758d93ac7
+ARG GRADLE_DOWNLOAD_SHA256=fa4873ae2c7f5e8c02ec6948ba95848cedced6134772a0169718eadcb39e0a2f
RUN set -o errexit -o nounset \
&& echo "Downloading Gradle" \
&& wget --no-verbose --output-document=gradle.Zip "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.Zip" \
—