質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

1回答

3133閲覧

rootでインストールした場合とユーザーでインストールした場合の違いについて

退会済みユーザー

退会済みユーザー

総合スコア0

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2018/06/25 15:06

編集2022/01/12 10:55

https://teratail.com/questions/124757
以前質問をさせて頂いた際yumやpipはどこのディレクトリで実行をしてもインストールをされる先は同じと教えて頂きました。
今、/home/tarou(ユーザー名)でpython -VをするとPython 3.6.4 :: Anaconda, Inc.
sudo -sをした後に/home/tarouでpython -VをするとPython 2.7.5と表示がされています。
これはユーザーのディレクトリでインストールをした場合とrootでインストールをした場合は別物とみなされるのでしょうか?
sudo -sをしていない状態でユーザーディレクトリ内でインストールをすればそのユーザーの中だけインストールをしたものが有効になり、rootでインストールをした場合は全ユーザーに対して有効になるのでしょうか?
今回のようにrootだけど/home/tarouのように特定のユーザーのディレクトリでインストールをした場合は全ユーザーに有効なインストールとなるのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mkgrei

2018/06/25 15:08

echo $PATHとsudo echo $PATHを比較してみてください。
退会済みユーザー

退会済みユーザー

2018/06/25 15:18

sudo -s無し/home/tarouでecho $PATHとsudo echo $PATHを実行したところ同じ結果が表示されました。
mkgrei

2018/06/25 21:10

pyenvを使ってたりします?
otn

2018/06/26 00:03

「sudo echo $PATHを実行したところ」←sudo -s して、echo $PATHが正解
otn

2018/06/26 00:05

sudo echo $PATH だと、sudo 実行前に$PATHが展開されます
退会済みユーザー

退会済みユーザー

2018/06/26 10:24

sudo -sをしてecho $PATHをすると/sbin:/bin:/usr/sbin:/usr/bin、sudo -s無し/home/tarouでecho $PATHをすると/home/tarou/.pyenv/shims:/home/tarou/.pyenv/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/tarou/.local/bin:/home/tarou/binと表示がされました。ここから何がわかるのでしょうか?
guest

回答1

0

sudoした時に見えているパスが異なるということです。pyenvが正しく動作するにはPYENV_ROOTとかpyenv init -を評価して環境変数を先に設定してやる必要があります。ただ、基本的に仮想的な環境を構築するためにあるので、sudoをつけて実行することはあまり良くないです。

flaskとかで80番ポートを割り当てるためにsudoしてますか?


このようなことを試して見てはいかが?
https://qiita.com/u_kan/items/d7e602bf1cf52f6b0935
https://poyo.hatenablog.jp/entry/archives/514

投稿2018/06/26 10:42

編集2018/06/26 10:50
mkgrei

総合スコア8560

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/06/26 11:00

ご回答ありがとうございます。 「以前質問をさせて〜インストールとなるのでしょうか?」の質問の直接の答えを教えていただきたいのですが。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問