CentOS Part 47【RHEL Clone】 [無断転載禁止] [無断転載禁止]©2ch.net
レス数が900を超えています。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 >>832
dir だけでいいぞ
最低限のものはaliasされてるはず >>836
> C#みたいな事がスクリプト内でそのまんまできる
これを具体例で解説して頂けるとありがたい。 何故ggらないのか
http://ufcpp.net/study/powershell/dotnet.html
わかりやすく言えば、shのパチモンの構文で、
shの中でpythonみたいな事もできるって言えばわかりやすい?
shの中で.NETのクラスインスタンスがそのまま扱える >>840
etcedit.resolv.nameserver::add(8.8.8.8)
というような書き方ができたらいいなということですか? >>837
実際レジストリみたいに、OSにより管理されたデータベースやレポジトリが各種の情報を格納し、
ユーザやアプリケーションに対し提供する、というのがOSのあるべき姿だよ
あるプロセスが、いつのどんな設定内容で動作しているのか分からない、
今ある設定ファイルを読み込んで起動しているのかすら分からない、なんて問題も
そろそろ解決すべき時が来てるんでないのかな >>832
> ファイル一覧にわざわざGet-Childitemとかやってられんわ
dir どころか ls にも alias されてるけどな w
> shなら grep hoge | sed 's/fuga/gero/' とかと同じことするのに果てしない手続きがいるし
select-string hoge | %{ $_ -replace 'fuga','gero' }
ってやるだけでしょ dir, ls など主要コマンドは、
Linux側・Windows側の双方で、エイリアスになっている >>844
なんか私が詰問してるような感じで受け取ってる?
純粋によくわからないから質問してるだけなんだけど・・・ >>843
PowerShellはまだネットワークへの拡張はまだだけど、他の流儀にならうと
Add-Network -Nameserver 8.8.8.8
なんて感じかな
-Priority 2、なんてオプションをつけると第2優先のDNSとして登録できたり
$nameserver = Get-Network -Nameserver
なんてやると設定されているDNSサーバを配列nameserverに取得できる、みたいな
SambaをPowerShellマネージに対応させたものだと、例えばワークグループの設定は
Set-Samba -Workgroup MYGROUP -ServerString "Samba Server Version %v"
みたいなコマンドレットだったかな ネットワークも複数あり得るから、概ねなんでも配列になるんじゃないの?
なんかめんどくさそう。いちいちfor-eachとかを使うんだろう? foreach なんか使わず、オブジェクトをパイプに渡し属性で選択が出来る >>851
PowerShellは配列の対応がちょっと独特
$a = @(1,2,3) # 1,2,3 を要素に持つ配列
switch($a){
1 { Write-Host 'One' }
2 { Write-Host 'Two' }
3 { Write-Host 'Three' }
}
ってやると One, Two, Three 全てが表示される
要するに配列を switch 文に渡すと要素を取り出して処理を行うループ機能を持ってる
あと>>853の言うようにパイプに要素を渡したりするのも簡単なので慣れるとスゲー楽だよ
個人的に switch 文とかはちょっとやりすぎだとは思うが w Powershellの良い書籍って無いよね
みんなどうやって勉強してんだ Windows PowerShell
コマンド & スクリプティングガイド
五十嵐貴之(いからしたかゆき)、2015/3/25
ただ、この本を使っていると、ノリ付けが悪いのか、ページがはがれてくるw
【Microsoft Tech Summit】APP017 PowerShellの新しい相棒 Visual Studio Code
https://www.youtube.com/watch?v=0zo6z0yHrGk
2017/01/23 に公開された動画 コマンドレットにはまだ慣れないかもしれんけどシェルスクリプトを書くという点ではPowershellが圧倒的に洗練されてると思うけどな
まぁLinux上ならPythonで書くんですけどね >>850
ありがとうございます!具体例が有ると理解し易いです。
つまり、色々な設定が統一された書式のコマンドで
変更可能なのが利点という事ですかね。 >>853
lseth --output json | jq '.[] | if .inet == ipv4 then .ip_address else empty end'
というような話ですか? >>858
> シェルスクリプトを書くという点ではPowershellが圧倒的に洗練されてる
これについて具体例で解説して頂けると嬉しいです。 Get-ChildItem -Recurse | Where-Object {$_.Length -gt 10MB} | ForEach-Object {$_.FullName}
パイプ間で受け渡しされるのはオブジェクト >>862
> ForEach-Object {$_.FullName}
この部分が foreach( $array as $_ ){ $_.FullName; }
なんだけど、$arrayの部分をパイプできるのが美しいという事ですか? | % { $_.FullName }
最後の部分は、こんな書式でも同様の結果が得られますが、初見じゃ判らないでしょう?
shの様にテキストが渡されるのでは無く、オブジェクトがパイプに渡されているという
メリットに先ず気付いて欲しいと。(arrayでは無くclassが渡されてる)
その上で、ゴルフ記述が美しいかどうかは個人の判断かと。 >foreach( $array as $_ ){ $_.FullName; }
$_ のような特殊変数に、勝手に代入するな。
特殊変数は、特別な意味があるから
$_ は、パイプで渡ってくるオブジェクト alias と打つと、Aliasの一覧を表示する
Linux コマンドをそのまま打てば、たぶん動く。
Windows・Linux で、双方のコマンドはエイリアスになっている >>864
一旦変数にクラスを代入してからforeachというような事をしなくて、
クラスをそのままパイプで渡せるのがPowerShellの良い所という理解で
よろしいでしょうか? >>867
shとは違うと言う事が理解出来たら、ちゃんと仕様を読んだ方が良い。 >>867
クラスって要するに型だからどっちかって言うとオブジェクトな
個々の要素を次々と加工していくような用途だと綺麗に書ける はやくこいこいPowerShell
slapd.confは死ね コマンドレット等で、リスナに対して非同期実行なども出来ますから、
メソッドチェーンだけの恩恵だけじゃ無いですよ。 htmlでは name="社員[鈴木]" value="一郎" なんてのがPOST出来るのね。
連想配列がわたるとわ知らなんだ わはは。 インポートするファイルの一行目に属性書くの面倒くせーよ >>874
> 変数に値を入れているだけ
意味わからん
> 連想配列じゃないよ
多くのライブラリで連想配列として取得できるだろ >>873
>>874
>>877
htmlはhtmlだし、POSTはPOSTだし、その後のプログラムはその後の事。 プログラム側で長い文字列をパースしてメモリに乗せるときに連想配列にしてるだけで
htmlやhttpプロトコルには連想配列なんてないわなぁ >>879
そんなことを言い出したらネットワーク経由のデータ転送は全てビット列だから整数とかの概念もなくなる
どのレベルで解釈するかの問題だろ >>880
> どのレベルで解釈するかの問題だろ
そう今回はサーバ側にあるphpプログラムとかのレベルで解釈する話だよね。
だから、連想配列が渡るというとあたかもhtmlやPOSTレベルでそういう概念が
あるかのように読めてしまうんだよ。 >>881
> だから、連想配列が渡るというとあたかもhtmlやPOSTレベルでそういう概念が
> あるかのように読めてしまうんだよ。
それ君の理解力の問題 いやぁHTMLというか画面側はあんまり知らないんで、久々にphpやったら
すげぇと思ったわけでしてw 失礼しました。
phpって関数内部で宣言した変数に多重連想配列?をそのままぶっこんで
上に返すという史上最強のインタプリタかもしんないね。
鯖屋の人も是非遊んでみてください。
来年はパイソンでもやってみっかなと。でわぁ >>886
君の頭の悪さを他人に押しつけちゃいかんよ。 >>883で決着してるのに何をごちゃごちゃ言ってるんだよ w >>888
もう一回言うよ?
君の頭の悪さを他人に押しつけちゃいかんよ。 バカで粘着かよ...
いったいなにが気に入らないんだか 一部の実装がリクエストパラメータを連想配列的にも扱えていることを以って
Webシステムとはそういうものだと公言して恥をかくのは、ある意味成長の機会と
なる可能性は僅かにあるので別にどうでもいいのだけど、でもそのときにくれぐれも
CentOSの名前は出さないでほしい ざっと目を通しておくと良いかも
オープンソースになったPowerShellを学ぼう (Slide Share)
https://www.slideshare.net/stknohg/powershell-77893763 >>894
非Windows環境でPowershellが必須となるような状況は無いと言ってるね
そもそもUNIX系はテキストファイルだけでOSを管理するからPowershellは
不要なんだろうね
やはりレジストリだの.NETだのが組み込まれてるWindowsに特化したシェルなんだな
Linuxに標準として組み込まれることはなさそう 原始的な機能しか持たないスクリプトで、わざわざPythonとか呼び出したりせずに
中でPythonみたいな事ができるんだぞ?
外の世界はGoogleとかの新しい言語とかも含めてそういう方向に向かってる 使いたければ勝手にオプションとしてインストールして使えばいいわけで
テキストベースのLinuxで標準化する意味はないんじゃないの
そういう意味ではPowershellはプログラミング言語に近い立ち位置 別に標準化しろとか言ってない
ただの食わず嫌いだの宗教だので一方的に不要と切り捨ててる勘違いを否定してるだけ 言語仕様はさておいても、
どのプラットフォームでも同じスタイルで仕事が出来るってのはメリットだろう。
よほどのクソ言語じゃなけりゃ、なんでもいいから統一してくれや、と思うがね。 >>894
ざっと目を通した。値を二つ返せるというのを一瞬イイ!と
思いかけたが、冷静に考えるとまぁ無くてもいいかと思う。
シェル芸的にコマンドの名前が長ったらしいのが致命的なので
使うことはないだろう。 >>899
/etcに入れていたような情報はリポジトリに格納しましょう、
OSはそのリポジトリを管理をするための標準的な仕組みを提供します、
その仕組みで扱う情報はオブジェクトとします、そのオブジェクトを扱うためには
PowerShellが都合がよい
ということでPowerShellはプログラミング言語であると同時に、システム管理の言語となる
grep、awk、sedなんかのテキストを扱うツールが充実している環境だからといって、
なにもそのOSの設定までテキストで行えるようにすべき理由なんて無いのだよね実際 リポジトリ?
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ではどういう実装になるのか、今後のお楽しみだに。 レス数が900を超えています。1000を超えると表示できなくなるよ。