2017 12,21 11:19 |
|
pythonのバージョンを強引にあげたら、yumが使えなくなった。。。
yumはpythonスクリプトらしいので、バージョンが変わると動かなくなるらしいです。
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
No module named yum
・・・・
こんな感じに。
なので、また強引に古いバージョンを復元させて、yumのconfigに
古いバージョンのpythonで実行をしてあげるようにする必要がある。
(古いpythonは上書きしちゃったから、別のサーバから持ってくるという強引さ)
# vi /usr/bin/yum
#!/usr/bin/python
import sys
を、
#!/usr/bin/python2.6.6
import sys
と指定。
はい、yum 復活。
ちゃんと、バージョンの切り替えツールみたいのも入れたら、
こんなことにはならなかったのかもしれないです。
PR |
|
2017 12,15 18:09 |
|
2017 12,01 18:25 |
|
Let's Encryptを利用するのに、環境構築で、はまったので記載
https://www.s-oj.com/ec-business/system/lets-encrypt-centos6-5/ に
記載されている手順を参考に
# yum install -y git
# cd /opt
# git clone https://github.com/letsencrypt/letsencrypt
# cd letsencrypt
# ./certbot-auto certonly --non-interactive --agree-tos --webroot -w /var/www/html -d [sample.com] --email ///
# cd /etc/letsencrypt/live/
うん、出来ていません。
しかも、
./certbot-auto: line 530: virtualenv: コマンドが見つかりません
というわけの分からんエラーが
CentOS標準のリポジトリではpython2.6まで
python2.7をインストールしないと、つかないという事実
そんなわけで
# yum install centos-release-SCL
# yum install scl-utils python27 python27-scldevel
# yum update
updateで、足りないものも入ったかな
# scl enable python27 bash
で、もう1度
# ./certbot-auto certonly --non-interactive --agree-tos --webroot -w /var/www/html -d [sample.com] --email ///
# cd /etc/letsencrypt/live/
うん、成功!
しかし証明書を更新しようを、後日試したら
# /opt/letsencrypt/certbot-auto renew --post-hook "/usr/sbin/apachectl graceful"
・・・ libpython2.7.so.1.0: cannot open shared object file: No such file or directory
マジか。。。
python2.7をインストールしたのになぁと思いつつ、
#python -V
python 2.6.x
はぁ~
とりあえず、/usr/bin/python が、2.6だったので、
インストールしたディレクトリを探し、python2.7 を /usr/bin/python にコピー
#python -V
python 2.7.x
よし、実行
# /opt/letsencrypt/certbot-auto renew --post-hook "/usr/sbin/apachectl graceful"
・・・ libpython2.7.so.1.0: cannot open shared object file: No such file or directory
もうpythonは訳が分からんので、libpython2.7.so.1.0があるなら、libpython2.6.so.1.0もあるだろうと思い検索
libpython2.6.so.1.0があるディレクトリに、libpython2.7.so.1.0のシンボリックリンクを貼り、
# /opt/letsencrypt/certbot-auto renew --post-hook "/usr/sbin/apachectl graceful"
OK!有効期限が全然あるから、更新はされませんでしたが。
他の参考サイト:
https://letsencrypt.jp/usage/centos6-error.html
http://kohkimakimoto.hatenablog.com/entry/2016/09/15/180119
https://blog.doizaki.com/entry/2016/02/07/152141
|
|
2017 11,07 18:03 |
|
ls -ld /tmp/
drwxrwxrwt. 49 root root 12288 11月 7 17:47 /tmp/
なんだ、権限の「.」(ドット)は!?
ということで、調べてみました。
やはり、ほかの皆さん最初は驚いているみたいで
RHEL6系だとSELinux有効化で作られたファイル・フォルダには".(ドット)"が付くみたいです。
パーミッション末尾のドットはSELinuxで使われるセキュリティコンテキストが設定されている事を意味していて、
SELinuxを使わないなら気にする必要はないという説明も。
仮にSELinux=無効化しても、/tmpとかの標準フォルダとかには初めから付いてる。
また、SELinux=有効化で作成したファイル・フォルダにも付けられる。
ls コマンドの -Z オプションはSELinuxのセキュリティコンテキストを表示するオプションだそうです。
見方がよくわからないですが。
このセキュリティコンテキストという属性は、SELinux=無効化した後も残るみたいです。
ちなみに、この表示はRHEL6系からのようで、
5系ではこの".(ドット)"は、表示されているのを見たことがないです。
ついでに、「.」の前の「t」も残しておこう。
「t」は、スティッキービットと呼ばれるもので、
スティッキービット(Sticky Bit)が設定されたディレクトリでは、
すべてのユーザーがファイル・ディレクトリを書き込めるが、所有者だけ(rootは除く)しか削除できなくなります。
しかし、「すべてのユーザー」という認識していたのに、apacheユーザだと書き込まなかったのですが。
(apacheで、ログ的なファイルを一時/tmpに移動をさせた際に、ファイルが生成されなかった。)
なんか、よく分からんです。
|
|
2017 10,24 13:01 |
|
よくわからんけど、いきなり.bash_profileが消えました。
とりあえず、他の方も書いているけど一応 +++++++++++++++++++++++++
# .bash_profile # Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME +++++++++++++++++++++++++ .bashrc も飛んでいたので。。。 # .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
参考:http://oxynotes.com/?p=5418 |
|
忍者ブログ [PR] |