CentOS Part 47【RHEL Clone】 [無断転載禁止] [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
CentOS は Red Hat Enterprise Linux (RHEL) から同社の商標を削除して再コンパイルした RHEL Clone です。
Red Hat と無関係でもないコミュニティが無償配布してしますが Red Hat のブランドとサポートはありません。
* Fedora Core 6≒RHEL 5≒CentOS 5
* Fedora 13≒RHEL 6≒CentOS 6
* Fedora 19≒RHEL 7≒CentOS 7
です。
FCやRHEL 用のノウハウ、野良 RPM、レポジトリ云々は CentOS でもほぼ通用します。
前スレ
CentOS Part 46【RHEL Clone】
http://hayabusa6.2ch.net/test/read.cgi/linux/1472718447/
CentOS (The Community ENTerprise Operating System)
http://www.centos.org/
CentOS 配布ミラーサーバ
http://www.centos.org/download/mirrors/
CentOS -- Wikipedia日本語版
http://ja.wikipedia.org/wiki/CentOS リポジトリ?
gitとかsubversionとか? >>904
レイヤーが違う比較だが、リポジトリは情報源
gitやsubversionはリポジトリにファイルの更新差分を保持させて世代管理を行うための実装
/etc内の設定ファイルをgitやsubversionで管理しましょう、というものではないよ
プロセスは自分の設定情報を、git pullのようにOSへ問い合わせて得る、という感じかな強いて例えるなら レジストリの書き間違えじゃなくてpowershell的にはそういうの
リポジトリって言うの? >>906
OSの情報を管理する仕組みとしてのレジストリは、Windows固有の名称だと思うので
レジストリだってWindowsの設定情報源なのだからリポジトリだよ リポジトリが情報源ということなら、/etc配下のファイルシステムもリポジトリということになるかな >>909
そうだね
ただし、たとえばpasswd、hosts、aliases、resolv.conf等などモノによって扱い方や書式が異なる
極めて不便なリポジトリ
いまやリポジトリと称する価値もない useradd hiroyuki
echo "password123" | sudo passwd --stdin hiroyuki
これと同じ事をpowershellでやるとどうなるの? ユーザー情報が格納されたクラスがあって、
ユーザー登録のメソッドをコールするのだろう。
まだ出来ていないものだから仮説だけど。 Windows NTではpower shellでユーザー作成できるようだから、
記述だけならLinuxでも出来るかもね。
/etc以下をレジストリにするってのは大改造だな。
物理的な構造はどうなるのだろう?
窓口はレジストリ管理用サービスに任せて、物理的実体はプチDBか?
エレガントな解を求む。 OSやサービスの管理って、一部はいまでもLDAP管理でできるよね
正直もう/etcのファイル管理に戻りたくない 別に全部一気にレジストリとして管理しなければいけないわけじゃないんだし
普通に外部コマンドのuseraddやsudo等を呼び出せば良いんじゃないの
いずれ統合して置き換えるにしてもさ >>903
それはまさにUNIX的なものの全否定じゃないか。 >>911
Windowsのローカルユーザーの扱いは専用のコマンドレットがないのでADSI(Active Directory Service Interface)経由で扱うためちょっとPowerShellらしくないけどこんな感じかな
$ADSI = [ADSI]'WinNT://.'
$User = $ADSI.Create('User', 'hiroyuki')
$User.setpassword('password123')
$User.SetInfo() >>916
いずれuseraddという名にaliasされた管理コマンドレットになるってあたりか
>>917
いわゆる「UNIX的なもの」という古い束縛から何か新しい洗練された手段への脱却を
SystemdとPowerShellによるシステム管理がもたらすことだろう Windowsのやり方が洗練されているとも思えないがなあ たとえば、Windowsでレジストリハイブがぶっ壊れた場合にはOSが起動不能なるけれども、UNIX系のOSなら/etcの設定ファイルをviなりで修復すればなんとかなるわけで、その利点を放棄してわざわざDBに格納する利点って何かな? Linuxの神は、シンプルにせよと
おっしゃいました
システム管理にオブジェクト指向やDBを持ち込むのは別のOSでやればいいと思うの DB の方が、B+ tree(2分木)を使っているから、キーの検索が速い
CRUD 操作も、一般的でわかりやすいインターフェース
ジャーナル機能もあるから、ロールバックできる
ブラウザも、SQLite などのDB を使っている サーバー機は出来るだけシンプルに軽く使いやすくあって欲しいなぁ SolarisのSMFやMacのlaunchd使ってきて、CentOSのSystemdも使ってるけど
はっきり言って分かりやすいものではないからな KISS
keep it simple stuped
わかりやすく言うと、『簡単にやれよ馬鹿やろう』 >>925
検索対象の件数が少なければ意味ないからなぁ
ほとんど使いどころがないと思う 全てSystemdとPowerShellで管理できるシンプルさよ
テキストがシンプルだって幻想は捨てようや
人間にも使いづらいではないか なんでLinuxがPowerShellで管理できることになってるのよ
それにテキストよりバイナリのほうが人間には判りづらいだろう SystemdがPoweshellで管理できるならいいけどね
そしたら、全て一本化できていい いい加減powershellスレでやれよモウ
【オープンソース】 PowerShell on Linux 【PS】 [無断転載禁止]©2ch.net
http://mao.2ch.net/test/read.cgi/linux/1471620941/ systemdを使っといて伝統的なUNIXの価値観がーとか言われても笑うしかないわ ほんとそれ
過剰に主観やら勘違いやらで拒否反応を示すのが居なきゃ、すぐ話題終わるのに >>918
ふむふむ。専用のコマンドレットがないのか。
するとlinuxではどういう実装になるのか、今後のお楽しみだに。 >>923
OSを作る側と使う側どっちが楽をするか的な話。 >>937
内部でuseraddとかを呼び出すコマンドレットが提供されるだけかと PowershellがLinux標準になることはないから、無駄な議論はやめようや
使いたい奴は勝手にインストールすればいい んなもんLinuxの標準じゃなくて、多くの酉がbash採用してるってだけだろう
tcsh採用すればBSDみたいになるし、PS採用すればWinみたいなる
ただそれだけ 興味ある人はどうぞという事で。
専用スレもあることですし。 CENTOS7.4 にtomcat8.5.24を入れようとしている。
Javaは、openjdk "1.8.0_151"
最初はetc/init.d/tomcatに登録して起動したら一応動いた。
(サービスではなく直接起動)
#cd /etc/init.d/tomcat
# ./tomcat start
正常に動いている
CPUはほとんど使われていない。
# ./tomcat stop
# /sbin/chkconfig --add tomcat
これで
# systemctl start tomcat 又は service tomcat start
で起動すると、CPUが100%になり、GCログが永遠に出続けている。
Webにアクセスしてもくるくる回って入れない。
javaのCPU占有率99%
ストップして再度./tomcat start とすると全く正常。
何が違うんだろう。 >>943
systemctlやserviceで起動したときは、JAVA_HOMEやJAVA_OPTSなどの環境変数を読み込んでいないと思われます catalina.outを見る限り環境変数はどちらも同じみたいに見えます。
JAVA_HOMEは同じです。
Javaでは /etc/java/java.conf に定義されているので大丈夫そうです。
catalina.outを比較すると違いは、
サービス
Architecture: amd64
Command line argument: -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties
( Initializing ProtocolHandler["http-nio-80"]の項はない)
ダイレクト
(Architecture: amd64の項はない)
(-Djava.util.logging.config.file=の項はない)
Initializing ProtocolHandler ["http-nio-80"]
これだけが違い
サービス [Catalina] を起動します
Starting Servlet Engine: Apache Tomcat/8.5.24
この2行が出た後に、サービスの方はストップしている。
ダイレクトの方は、
☆☆INIT実行☆☆
以下進んでいく。
amd64とlogging.config.fileの違いの所から追っかけてみます。
>>945 そうなん? rootでテストしている。 setenv.shで必要な環境変数は設定しているはずだけど。
userは設定していない。 tomcatユーザは作っていないけど作った方が良いのかな? なんとなく SELinux 絡みっぽいので、 SELinux が enforce モードなら一旦
echo 0 > /sys/fs/selinux/enforce
実行して permissive モードにしてみるのも手かと。
なお、環境変数を比較するなら、/proc/(java のプロセスID)/environ
を保存・比較するのがより確実だと思う。 そもそもSELinuxって完全に無効化するべきものなんでしょ?
サーバー運用なんかでもトラブルの元でしかないみたいだし
そもそも有効だと動かすのが困難なソフトもあるとか >>948
SELinux便利だからオフにしないでと啓蒙活動しているサイトがあるんだよねー
最初に切ることを勧めているサイトも多いが。 オフにしてるなぁ
オンがいいのは承知だが、小回りを優先してしまう
ちゃんと勉強しないとダメだな てか 使おう!って言ってる人が少ない。
なぜなんだろうねw SELinux使わないことで、技術力が低いと言われても気にならないレベルでSELinux使いたくないわ・・
Permissiveで引っかかったとこから許可するようにしてた事もあったけど結局漏れがでてしまった 誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。
グーグル検索⇒『宮本のゴウリエセレレ』
X34PK9UZFX とある会社に入るのに経験の浅い言語を必要とされたら勉強しようって思うけど、それがSELinuxだったら、その会社はいいやってなるレベルでSELinux使いたくない SELinux使わないと〇〇が不幸に合いますってなったら、割と近しい人がでてくるまで使いたくない 4連投するど使いたくないって事はわかった。使わなくていい。誰も困らない。 >>947 setenforce 0 でpermissive モードにしたけど変わらず。
前の方は省略してるけどcatalina.outはこんな感じで止まっている
Server version: Apache Tomcat/8.5.24
Server built: Nov 27 2017 13:05:30 UTC
Server number: 8.5.24.0
OS Name: Linux
OS Version: 3.10.0-693.11.1.el7.x86_64
Architecture: amd64
Java Home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64/jre
JVM Version: 1.8.0_151-b12
JVM Vendor: Oracle Corporation
CATALINA_BASE: /usr/local/apache-tomcat-8.5.24
CATALINA_HOME: /usr/local/apache-tomcat-8.5.24
Command line argument: -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties
Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
Command line argument: -Xms1024m
Command line argument: -Xmx1024m
Command line argument: -XX:NewSize=256m
Command line argument: -Xloggc:/usr/local/tomcat/logs/tomcat-gc.log
Command line argument: -XX:+PrintGCDetails
Command line argument: -Djava.net.preferIPv4Stack=true
Command line argument: -Dignore.endorsed.dirs=
Command line argument: -Dcatalina.base=/usr/local/tomcat
Command line argument: -Dcatalina.home=/usr/local/tomcat
Command line argument: -Djava.io.tmpdir=/usr/local/tomcat/temp
Initializing ProtocolHandler ["http-nio-80"]
Using a shared selector for servlet write/read
Initialization processed in 553 ms
サービス [Catalina] を起動します
Starting Servlet Engine: Apache Tomcat/8.5.24 直接起動の場合はこの後に(長すぎるので途中に改行を入れてるけど)
28-Dec-2017 23:47:03.830 情報 [localhost-startStop-1]
org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs.
Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them.
Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
28-Dec-2017 23:47:03.860 重大 [localhost-startStop-1]
org.apache.catalina.session.PersistentManagerBase.startInternal No Store configured, persistence disabled
☆☆INIT実行☆☆
と続く、TLDのサーチでループしてるような気もする。 これの修正の仕方が良くわからない >>958
> Command line argument: -Dignore.endorsed.dirs=
こんなパラメータあるんですかね。java.endorsed.dirsではない?
値の指定は不要なのかな? webappsの下のユーザ用パスを別名にしてみたら正常起動した。
ユーザ用の中身はweb.xml以外は古いままだからエラーが多すぎて悲鳴を上げてるんだろうな。
お騒がせしました、地道に追いかけてみます。 selinixの本質はプロセスの実行ドメインを分離してお互い関与できないようにしましょうだから、分かりにくけりゃサービス毎にVM立てりゃオッケー SELinuxって、テストが難しいのだよね
自分らが動かしているプロセスが、どのような操作をどこに対して行うかを
見極めなけりゃ設定できないが、それは結局Permissiveのログみて一つ一つ
エラーを潰していくという作業にしかならないし、本番系で発生する挙動のすべて、
たとえばあらゆるエラーログやコアダンプ出力等までテスト環境で網羅させられるのか、
それをSELinuxに反映できるかっつーと、できない
自分らが作ったアプリならまだしも、CentOS同梱パッケージなんて
ひとつひとつ見ていくことなんてできやしないうえに、同梱パッケージだって
SELinux下で使うためにはあちこちコンテキスト弄らなけりゃならないからね
素晴らしい理想のもとに作られてるのだろうが、それが使いづらけりゃ価値ねえよ selinux使ってるのかな。同梱パッケージってcentosリポジトリにあるパッケージだよね。
同梱パッケージをデフォルトの設定で使う限りselinuxいじらないと動かないのって今まで出会った事ないけど。
具体的に、どのパッケージでどういう設定を入れる必要があった? 設定ファイルやログファイルの位置によっては
コンテキストがシステムの想定しているものと違うものになって
Denyになったりするけど,
その場合はallowルールを追加するんじゃなくて
ファイルのコンテキストの方を変更しなきゃ意味がないし
見極めが難しい
今年の3月に稼働させたシステムまだPermissiveのままだわ 例えばbindのログファイルを/var/log/bind/
以下に吐き出すようにしたら起動しなかったわ
この場所だとディフォルトのコンテキストは var_log_t
bindが書き込めるのは named_log_t なので
ログファイルを /var/log/named.* にするか,
semanage で /var/log/bind/ の標準コンテキストを
変えてやる必要があった > 設定ファイルやログファイルの位置によっては
設定ファイルやログファイルの位置をデフォルトから変更した場合の話かな。
それならdenyになって当然だし、変更に合わせて設定を追加する必要あり。 >>967
あぁなる。でも、それ自分で変更してるわけだから、追加しなきゃなってわかるよね? >>957
>誰も困らない。
本当に誰も困りませんか? >>969
デフォルトの設定が使いやすく汎用的なもの揃ってるならその理屈でもいいだろうけど
logファイルなんて設定変えるのが当たり前の世界なんだから
使いにくいものであることに変わりはないんじゃないかね
ラベリング問題はApacheとかでもよく起きて相談される話なんだし >>972
> 使いにくいものであることに変わりはない
もうその結論でおけ。 あけましてリブート。
本年も無停止でお願いします。 Centosじゃないけど今夏にDBサーバ50台の移行がある。
何事もありませんように。 >>976
RHELのを200クラスタ移行したことある
サーバの差異には細かいことにでも気を付けろ
あと、指定したサーバ群に対し同一コマンド発行するための土台をAnsibleで作ったよ そんなことよりMeltdownとSpectreの対応振ってきそうで憂鬱だ kernelの更新が来たみたいだけど、
仮装鯖の場合は
当てていいものだろうか モジュールとか追加で組み込んでないならいいんじゃね ec2のCentOS7はupdateしたけど問題なかった intelのCPUの脆弱性が話題になってるね、パッチはでたのかな つかパッチ当てた後の性能低下のほうがやばい
インメモリDBやNoSQL使ってるお前らこれどうやって対処してんの
https://access.redhat.com/articles/3307751 >>988
5日には出てた。当てないで帰っちゃったのね。 このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 202日 16時間 11分 43秒 レス数が1000を超えています。これ以上書き込みはできません。