1年ほど前からubuntuを使い始め、分からないながら色々やっていたのですが、1年たっても初心者から脱出ができません。
最近パソコンのシステム内部がどのようになってるか知りたくなってきました。
しかし、どこから何を勉強したらいいのかわかりません。
カーネルをいじれる、システムやツールのエラー・不具合を治せる、サーバ構築等ができるようになるには何を勉強すべきでしょうか?
またシステムに詳しくなるためには何を勉強すべきでしょうか?
本来は自分で調べ上げ、自力で学習すべきなのでしょうが壁にぶち当たってしまいました。
できれば回答お願いします。
またアドバイス等がありましたら、よろしくお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答14件
0
「Linuxシステムコールプログラミング」という本があるので、このあたりから攻めてみてはどうでしょうか。
システムコールがわかれば、OSがわかるようになります。
投稿2015/04/03 08:08
総合スコア971
0
OSにしても、プログラミング言語にしても、きちんと学習したい・・・
もし現在「ググッて」勉強がメインであるなら、その方法を止めるべきかと思います。
ただしく、書籍を読んで勉強しましょう。
このように書くと、今後はどの書籍がいいですか?という質問がくるので・・・
正直答えようが、ありません。
例えば、
「詳解 Linuxカーネル 第3版」
この本なんか、よく書かれていると思いますが、では万人向けか?というとそうではありません。それなりのベース知識が必要となります。
というように、読み手によってレベルが違うので、お勧めって、なかなか正しい回答できません。
なので、もし可能であれば、このようなIT系の書籍のある本屋さんにいって、まずは「立ち読み」です。
ぱらぱらっと読んで、これなら理解できそうと思う本をまずは1冊読破しましょう。
最近は、Amazonでも、「なか見!」ができるようになったので、それでもいいですが、手にとって見るよりも効率は悪いかも。
こんな事を何冊か繰り返せば、そうとうきちんとした勉強になるかと思います。
読んでいて途中で分からないことがでてきたら、その分からないことが書かれている記事を「ググる」のはありだと思います。
本を中心に学習してください。そして、Google先生は、あくまでも補助で。が効率よい方法かと。
でも、Google先生の情報は、間違い・勘違い・自分との環境違い、だらけであるという事も、忘れずに。
投稿2016/03/03 05:44
編集2016/03/03 05:45総合スコア1283
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
>カーネルをいじれる、システムやツールのエラー・不具合を治せる、
>サーバ構築等ができるようになるには何を勉強すべきでしょうか?
>またシステムに詳しくなるためには何を勉強すべきでしょうか?
例えば、Linux を想定しているのであれば、
ネット検索
で、それなりの情報がでてきます。
そこから、辿り付けなければ、能力不足だという事です。
(あえて、検索ワードや、URLを示しません。)
Linux の一次情報を得たり、GNUプロジェクトに参加しようとする場合は、
それなりの、英語での読書能力、交渉能力が必用になってくると、思います。
’
OSを構成するのは、現在では、
OS本体:Linuxカーネルと呼ばれる部分他、様々な機能群、コマンド群、標準アプリ群
になっていますので、何を目的とするかで、
勉強する事柄も、変わります。
’
Linuxカーネルや、ハードウェアの素に近い部分を弄る為には、
CPU毎の、アーキテクチャ、メモリ構造、IOチップや、
サポート機能毎の、ハードウェア
(コントローラチップ毎の~や、PCI-Expressバスに対する~他)の
知識も必須となります。
DOSVの、CPU、IOチップ、のハンドブック的文書を全部読破するだけでも、
かる~~く、数年はかかるかも。
なので、そんな事を、チップのハンドブック片手に、やる方は非常に限られた事になって
しまっています。
’
むか~~しは、
FDD、HDD、GDC、232C、GPIBのドライバなんて、
コントローラの仕様書片手に、結構簡単に書けたのですが、
現在では、それすらも、CPUのリングプロテクション 下では、
CPU毎の、お作法があったり、ユーザーモードでは出来ない事があったり。
それらの情報はネット上に出ている事柄だけでは不足しますので、
各CPUメーカー、IOチップメーカー毎に文書を手にいれる方法から、
探せないと、何もできない事になります。
⇒一般に文書を提供していない場合は、秘密保持契約が必用だったり。
個人向けには、情報提供せずに、ユーザー企業にのみ情報提供をしていたり。
種々情報は、英語で提供される事が多いので、日本語だけでは行える事は、
限定的だったりします。
’
ブラックボックスになったコンピュータを、
ユーザーの手に取り返そう、という活動の一つが、
Arduino、MBED、Wiring
Intel galileo / edison
などのマイコン系のMaker'sの活動だったり、
Raspberry Pi、
だったりします。
投稿2015/04/03 08:43
総合スコア2028
0
カーネルをいじれる、システムやツールのエラー・不具合を治せる、サーバ構築等ができるようになるには何を勉強すべきでしょうか?
他の回答者の方も書かれていましたが、範囲がちょっと広すぎるのではないかと思います。
yu-ki000さんが差し当たりやりたいこと・目指したいことは何でしょうか?
Linuxでサーバを構築したいのか、だとしたら何のサーバなのか(ファイルサーバ?Webサーバ?...)、誰が何のために使いたいのか。
自分の中でゴールを決めて勉強をすれば、知識が身になりやすいと思います。
仕事で覚えなくてはいけないのでしたら別ですが、自分の勉強としてやるのであれば、それを通じて自分の実益(?)になるテーマを見つけてはどうでしょうか。
私自身も最初にUnixを勉強し始めた時は漠然とコマンドリファレンスを読んでいましたが、コマンドのオプションや機能をを覚えてもピンときませんでした。「それで?」って感じでした。
そのうち自分で(自分の自由になる)メールサーバが欲しくなってそれに向けて勉強を始めました。
Unixコマンド、tcp/ip、smtp・popプロトコル、プロダクトのコンパイルのやり方、エラー対処、目的が明確なので勉強の方向性にも迷いがありませんでした。
目的意識があれば勉強も捗ると思います。最初は「1つの分からないことを調べた結果、分からないことが3つになった」なんてこともあると思います。(実体験)
知識を得るのも最初はサイトやブログでいいと思います。
勉強が軌道に乗ってくると、まとまった知識を得るには書籍のほうがいいと思えてきます。
その時に初めて、どんな本を読めばいいのかを考えればいいのではないかと思うのです。
投稿2016/08/28 12:58
編集2016/08/29 00:33総合スコア1894
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
「コンピュータはなぜ動くのか」
知っておきたいハードウエア&ソフトウエアの基礎知識
http://ec.nikkeibp.co.jp/item/books/P81650.html
などを読まれてはいかがでしょうか?
これも勉強になると思います。
投稿2016/08/26 17:31
総合スコア1628
0
いきなりカーネルソースを眺めるのもいいですが、カーネルの機能や構成を知ることが近道かも知れません。
基礎技術としてはプログラミング言語とアーキテクチャやネットワークの知識が必要かもしれません。
世の中にどんなツールが存在するのかといったノウハウも要るでしょう。
これら全て、Linuxをソースからビルドすることで色々学べます。
更に深く追求する足がかりにもなるでしょう。
ということでLFS(Linux From Scratch)をおすすめします。
http://www.linuxfromscratch.org/
投稿2015/04/07 06:32
編集2015/04/07 10:36総合スコア1379
0
こんにちは。
カーネルをいじれる、システムやツールのエラー・不具合を治せる、サーバ構築等ができるようになるには何を勉強すべきでしょうか?
頑張ってますね。範囲むちゃくちゃ広いです。
全体を網羅すると言う意味では情報処理技術者試験は結構優れていると思います。
全体的に概観後、どこに注力するのか決めてから、そこを突破口にだんだん広げていくのがよいと思いますよ。
カーネルをいじれるためには、コンピュータの基本的な仕組みを把握する必要があります。どの当たりを触るかにもよりますが、回路とのI/F、割り込みベクタ、MMU、アセンブラ等をざっとでも理解しておかないと厳しいだろうと思います。
システムやツールのエラー・不具合を治すには、それらのツールで使われているプログラミング言語をそれなりにマスターする必要があるでしょう。C++だけでなく意外に多数ありそうです。
サーバ構築にはネットワーク機器やデータベースの仕組みや設定方法についての把握が必要と思います。
突破口を絞れたら、その情報を求めて再度質問されるのも良いように思います。
投稿2016/03/03 06:26
総合スコア23272
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
まずは、カーネルのコンパイルを試してみて、カーネル入れ替えをやってみたらよいかもしれませんね。
LFS(Linux From Scratch) も良いですが、私は一時期 gentoo をよく使っていました。
サーバ構築であれば、まずなんでもよいから、web の資料を基にやってみたらよいと思います。
単純な html だけを表示するホームページ、php スクリプトの動作、WordPress の動作…慣れた人にとってはどうってことはないですが、初心者であれば、「文字の打ち間違い」ですら、自分が間違っているのか、サイトの説明が違っているのかわからないこともあります。Apache ができたら、nginx をやっておくと、これからはためになるでしょう。
次は、メールサーバ等は凝り始めると難しいですね。いくつかのサービスが協調動作しますから。
Postfix + dovecot で IMAP で接続できるシステムを設定するのも、良いと思います。
「不具合を治せる」ようになりたい場合、「不具合」が目の前にあれば、人に聞きながらでも対処していくと、スキルはものすごく付きます。「自分にはわからない」で止まったら終わりです。
投稿2015/05/20 13:49
総合スコア1111
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
カーネルをいじれる、システムやツールのエラー・不具合を治せる、サーバ構築等とあるけど
まずLINUXでサーバー構築したいのなら月900円位も出せばレンタルサーバかりられるのだからそれで勉強するか、自宅のいらないパソコンでつくればいいとおもう。あと自信がつかない主な原因はせっかく作ったのが壊れるのがいやとかの理由でいじらなくなることだから、毎日いじるのがいい、いろいろAPTから入れるとかPPAから最新とってくるとか、ソースからビルドしてみるとか、年寄りが盆栽をいじるが如く。
/etc/のファイルを調べるだけで結構勉強になるよ
それでOSとかが再起不能になったときが本当に腕を見せるべきときだから逃げるべきでない。
やってたらカーネルごと飛んでしまうのもよくあるから、そのうち笑ってなおせるようになる。
そうなりそうだってのも事前に読めるようにもなる。
私の経験ではWEBで調べるとほぼどんな問題も解決すると思う。(ハードが死んだ時を除く)
そういうことに逃げたくなったり面倒だと思う人は進路ごと考えたほうがいいかも。
仕事だと退職しないと逃げられなくなるから。
投稿2015/05/20 13:26
総合スコア217
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
少し前の本になりますが、「Linuxエンジニア養成読本」がとても勉強になりました
http://www.amazon.co.jp/dp/4774163775
ディストリビューションの違い、起動までの動き、ファイルシステムの仕組みなどが初心者レベルでもわかりやすくまとまっています
まずはこのあたりから攻めてみてはいかがでしょうか(すでに知っている情報でしたら申し訳ありません)
投稿2015/04/07 13:14
総合スコア28
0
どのような壁にぶち当たったか分かりませんが、技術的な壁ならば、一つずつ越えて行くしかないのではないかと思います。取り組み方などの壁なら、好きなこと、興味のあることを優先してやって、モチベーションを維持するのが大事ではないかと思います。
不要なOSの知識を持っていてもあまり意味も無いと思いますし、必要になった時必要な勉強をすれば良いと思います。
こいうことは、楽しんでこそです。
投稿2015/04/03 11:28
編集2015/04/03 11:31総合スコア374
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/04/03 08:47