0
0
テーマ、知りたいこと
linuxのディストリビューションでおすすめを教えてください。
背景、状況
バックエンドエンジニアになりたくてpythonを勉強しようと思ったのですが、まずはプログラミング言語よりもlinuxを学んだほうがいいと聞いたので先にlinuxを学習しようと思いました。linuxにはディストリビューションがあることをしり、何がいいのかを教えて欲しいです。centosが良いと聞いたのですがこの前サポートを終了したので今はubuntuの方が良いのでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答6件
#1
総合スコア4443
投稿2023/10/30 07:39
質問者さんの思う「良い」の基準を示していただかないと、回答がつきづらいと思います。たとえばAndroidもLinuxディストリビューションだと言えますが、「Androidのほうが良いですか」という問いはあまり意味なさそうですよね。
勝手に私の「おすすめ」を挙げると、Linux From Scratchというディストリビューションが最強だと思います。このディストリビューションはちょっと変わっていて、インストールメディアのイメージなどではなく書籍の形で配布されています (オンライン版もあります)。解説に従ってLinuxのカーネル、ツール類、アプリケーションなどをすべてソースコードからビルドすることで、Linuxオペレーティングシステムが手に入ります。作業を通じてLinuxをすみずみまで学習することができるでしょう。
#2
総合スコア125
投稿2023/10/30 10:05
Linux From Scratch、これ、いいですね! あとはカーネルコード読めばいい感じですね。
もうちょっとイージーな奴ならSlackwareでしょうか。Alpine Linuxも悪くないと思いますが、どちらもパッケージ管理を持ってしまっているので楽できてしまうんですよね。
※slackwareにはメインに組み込んでほしくなかった…。
Linux From ScrachやれればLinuxチョットワカルの入り口に立てそうで、CoolでGeekな回答はすでについてしまっているので、べたべたな回答を。
とりあえずCentOSは現在の位置づけが変わってきているので、Ubuntuか、開発者アカウントとってRedHat Enterprise Linuxか、みたいな話になるのかな、と勝手に思います。RHELクローン系はまあRHELやっておけばいいでしょう。ということで。
単に動機がPythonやりたい、というだけならまあどっちでもよいかと。身に着けていけば最終的にどっちも大差ねぇってなりますし(だってカーネル同じだもの…)。UbuntuのほうがWSLもあるしやりやすいのかな、とは思います。
「バックエンドをやるなら」Linuxを避けて通ることはできないでしょうが、ご質問内容的にはそういう話以前の感じを受けてしまい、Pythonもわからない、Linuxも知らない、という方がバックエンドエンジニアになりたいから何からすればいいですか、という内容に見えてしまうため、そうなると、とりあえず専門学校にでも行ってください、になってしまうのではないでしょうか。
ikedasさんのおっしゃっている通り、Linuxの「何を」知りたくて、だから「何が」「良い」と質問者様にとって「より好ましい」のかが読み解けません。
世間一般に言われるバックエンドの人が触ってるOSってどっちですかとかいう話なら当然どちらも触れますし、人によって良く触るものは変わるでしょう(プロジェクト次第)。環境によってはLinuxじゃないもの(BSDやSolarisやAIXなどなど)だって触ります。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
#3
この回答は、運営により削除されました。
#4
総合スコア39
投稿2023/10/31 07:13
良いlinuxのディストリビューションを判別する方法は
ubuntuやcentos等の質問者様が候補の挙げている適当なディストリビューション上にてldのモジュール構成をlddコマンドで調査して気持ちの良い構成のディストリビューションを採用するのが確実です。
linuxの品質はリンカ、glibc、libgcの構成によって決まります。この3つの品質が担保できれば
kernelの中身は何とでもなりますので。2年前にFedora33の構成を確認しましたが
吐き気がするほど酷いモノでした。
また、Linux From Scratchをお勧めしている人がちらほらいらっしゃいますが
あそこに書いてある内容を脳死で鵜吞みにすると非常に品質の悪いノードとなりますので
安直におすすめは出来ません。
まずは自分の目で品質を判断して納得がいくディストリビューションが無い場合は
多少面倒ですが自力でビルドするのが良いかと思われます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
#5
総合スコア85766
投稿2023/10/31 07:15
まずはプログラミング言語よりもlinuxを学んだほうがいいと聞いたので
このアドバイスの意味は何でしょうか?
・Python等プログラミングを学ぶにはそのまえにLinuxを学んだ方が良い
・バックエンドエンジニアを目指す第一歩はプログラミングじゃなくてLinuxサーバーの管理だ
などなど。
・バックエンドエンジニアを目指す第一歩はプログラミングじゃなくてLinuxサーバーの管理だ
だとすると、社会人なら自社でメインで使っているディストリビューションがあると思うので、それを選ぶのが良いでしょう。ただ、会社員であれば他人に聞くまでも無いので、他人に聞くと言うことは学生さんですかね?どういう分野を目指すのかにも依りますが、大企業ではRedhat社のRedhat Enterprize Linux(RHEL)を使っているケースが多いかと思います。(ネット系と言われる企業ならそうでもないと思いますが)
AWSの標準のAmazon Linux2もこれに類似です。もちろん他のディストリビューションを使うことも出来ますが。
RHEL互換だと少し前まではCentOSがメジャーだったのですが、終了したので、「CentOS代替」と言われるものが多数あるのでその中から選ぶのでしょうか。
ただ、Ubuntuにしても、管理コマンドやファイル配置が多少違う程度(開発方針やリリース頻度などは違いますが)なので、周りの状況(大学の研究室のサーバーがUbuntuだとか、Windows+WL2ならUbuntuの記事が多いとか)によってはそれでもいいかと思います。
環境構築の躓きを少しでも減らすということで(新しめの参考ページが多い)Windows+WL2でUbuntuとかで十分良いんじゃないかと思います。
他の環境構築が難しいと言うことではなく、手順書通りに作業できる人なら大丈夫です。大半の人が手順書通りに作業できないので躓いているだけで。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
#6
総合スコア4443
投稿2023/10/31 12:04
#1 は半ばネタで回答しましたが、実際にやってみれば本当に勉強になりますよ (Cライブラリの品質まで評価できるようになるにはさらに相当な学習が必要ですが、大抵のバックエンドエンジニアにはそこまでの神スキルは求められません)。
ネタ以外の回答として、仕事に使うこと前提ならLinux関連の資格を取ることを目標に学習するのもひとつの方法かと思います。Linuxに関する資格として代表的なものとしてはLinuCとLPICというのがありますが、LinuCは日本国内資格であり日本の業界動向も反映した内容です。LPICは国際資格ですから将来海外でも働きたいのなら役立つかもしれません (迷うのならとりあえずLinuCでいいんじゃないでしょうか)。
どちらも学習範囲としては、ご質問で挙げられたCentOS (の後継) などのRHEL系も、UbuntuなどのDebian系もカバーするものになっています。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。