- 投稿日:2019-10-23T23:53:21+09:00
CentOS7 isoファイルダウンロード
はじめに
この記事はLinuxに初めて触れる方に向けた記事です。
Linuxの勉強を始める方、会社でLPIC取得を推奨されている方を対象としています。CentOSとは
端的に言ってしまえば無料のLinuxだと思ってもらえれば大丈夫です。
とりあえずLinuxを触ってみたいという方には最適です。CentOSのダウンロード方法
今回はCentOS7のisoファイルをダウンロードします。
1.以下にブラウザでアクセスします。
https://www.centos.org/download/
2.画面下部にあるOlder Versionsの「then click here」をクリックします。
3.CentOS Linux Version 7 のCD and DVD ISO Images列に「mirrors」という名前のリンクがあるのでクリックします。
4.ISOイメージ入手先を選択します。今回は理化学研究所のISOイメージを利用します。
5..isoのリンクをクリックすれば、isoファイルをダウンロードできます。何をダウンロードしたら良いかわからない方は「Minimal」の記載があるisoファイルをダウンロードすれば大丈夫です。
最後に
ダウンロードしたisoファイルはDVD、USB等に焼いて使用します。仮想サーバの構築であればISOファイルはそのまま使用することができます。
- 投稿日:2019-10-23T14:09:59+09:00
nixOSでWPA-EAPなWiFiに接続する
対象読者のスキル
コマンドライン操作ができること
英語がちょっと読めること前提
無線カードのドライバがインストールされており,認識されている
無線LANのSSIDとログインに必要な情報を持っている
wpa_supplicantがインストールされている使用環境
動作確認した環境は以下の通り
- nixOS 19.09.716.88bbb3c809
- Kernel 4.19.78
- wpa_supplicant v2.9
- Let's note CF-MX3
- CPU: Intel i5-4200U
- RAM: 4GB
- SSD: 128GB
問題
公式のインストールマニュアルに記載されている無線LAN設定はWPA-PSKを前提としているため,IDとパスワードの入力を必要とするWPA-EAPな無線LANに接続できない
それっぽい情報を見つけた
こんな感じで
/etc/nixos/configuration.nixのネットワークを設定すると繋がったnetworking.wireless.networks = { "eap wifi" = { auth = '' key_mgmt=WPA-EAP eap=PEAP identity="user_name" password="user_password" '' }; };参考リンク
https://github.com/NixOS/nixpkgs/issues/29622
https://wiki.archlinux.org/index.php/WPA_supplicant
- 投稿日:2019-10-23T13:52:21+09:00
【勉強用】OSとLinuxについて初心者視点から
免責事項
この記事は初心者視点でザックリとした説明をしています。正確性に欠ける可能性がございますが、ご了承ください。「明らかに違うよ」ということがありましたら、ご指摘くださると幸いです。
目次
- OSとは
- Linuxとは
1. OSとは
OSとはOperating System (オペレーティング・システム)の略で、 人間がコンピュータを使う上で便利にしてくれるものです。
スマートフォンで言えば、
iPhoneではiOS、AndroidではAndroidOSが使われています。
パソコンで言えば、
WindowsではWindowsOS、MacではmacOSが使われています。OSの機能
OSの役割はプログラムの実行と管理を行うことです。
その役割上で、ザックリと以下の4つの管理を行います。①ファイルの管理
ファイルとは、PC上で情報を書くための紙のようなものです。.htmlや.txtや.jsonなどと付いているものがファイルと思ってください。ちなみに、ファイルをまとめるものをディレクトリ(フォルダ)と言います。
②メモリの管理
ゲームキューブやプレステ2でメモリースティックというものを使いました、これを外部メモリと言いますが、ここで言うメモリはパソコンの内部メモリのことです。
スマートフォンやパソコンでアプリをたくさん使うと動きが遅くなりますよね。これはメモリがいっぱいになっている状態です。③GUIの管理
GUIとはグラフィカル・ユーザー・インターフェースの略で、パソコンやスマートフォンの見える部分です。見える部分とはこれです。
パソコンは本来、専門的な人だけが使えるものでしたが、誰もが使えるようにこのような見やすい画面を採用しました。※WindowsやMacのGUIはOSが管理しているものですが、Linuxでは別のアプリを用意しないとGUIを使うことができません。
④ネットワーク管理
ネットワークはパソコン同士をつなぐものです。これがなかったらパソコン同士で通信は行えません。
2. Linuxとは
LinuxとはOSの1つです。正確に言うとOSの中のカーネルという部分を差しますが、ここではOSとして扱います。
Linuxの機能
Linuxの機能はWindowsOSやmacOSとほとんど変わりません。
ディストリビューションというOSの機能がまとまったものを使えば簡単にたくさんの機能を使うことができます。なぜ使うのか(自分なりの解釈)
①どの環境でも使えるから
Linuxは仮想環境を使えば、macやWindowsなどのどのようなパソコン上でも使うことができます。そのためエンジニアが各々の好きなPCで利用することができるため使われています。
②無料で使えるから
mac上にwindowsを使うにはお金がかかりますが、Linuxを使う場合はお金はかかりません。
③サーバーとして使いやすいから
企業がアプリを世の中に出すときにはサーバーというものが必要です、サーバーを立てる際にLinuxは比較的高速であり、どんなPC(環境)でも使えるためよく利用されています。サーバーを借りるにしても、自社製にするとしても30%ほどのサーバーでLinuxが使われています。また最近ではIaasクラウドなどでもLinuxが利用されています。
参考
「N予備校 プログラミングコース」
https://www.nnn.ed.nico/
「サーバーOSとは?UNIX系とWindows系の違いをわかりやすく解説します」
https://www.kagoya.jp/howto/rentalserver/serveros/
「【初心者向け】3分でわかるLinuxでできることまとめ 10選」
https://eng-entrance.com/you_can_do_linux
「Linuxってなに? WindowsやMacとの違いや使い方までお答えします」
https://www.lifehacker.jp/2017/11/171105-how-to-get-started-with-the-linux-operating-system.html
- 投稿日:2019-10-23T13:35:14+09:00
LinuxのTCPタイムアウト値
※ パケットキャプチャして確認したわけではないので自信なし・・・
参考
tcp_syn_retries (integer; default: 5; Linux 2.2 以降)
アクティブな TCP 接続に初期 SYN の再送を試みる最大回数。 この数値は 255 よりも大きくすべきではない。 デフォルトの値は 5 で、およそ 180 秒に対応する。
- 技術メモメモ: OSのネットワーク(TCP)のタイムアウト値とディスクのタイムアウト値
- LinuxのTCP SYNの再送間隔の初期値が3秒から1秒に変更されていた - 元RX-7乗りの適当な日々
- Linux:OSのtcpタイムアウトのデフォルト値について - HiiHahWIKI - making some notes for... -
TCP_TIMEOUT_INIT値をソースで確認
# CentOSの場合 yum install -y kernel-devel # ubuntuの場合 apt install -y linux-sourceソース確認# CentOS6.9の場合 vim -R /usr/src/kernels/2.6.32-754.23.1.el6.x86_64/include/net/tcp.h # Ubuntu19.10の場合 vim -R /usr/src/linux-headers-5.3.0-19/include/net/tcp.h
- CentOS6.9 も Ubuntu19.10 も同じ1秒だった。
- CentOS 5 では以下のように 3秒
TCP SYN の再送間隔
- windowsの場合
windowsでタイムアウトしてしまう最大の時間は、 0秒(最初のSYN) 3秒経過してACKが、戻らないとき、SYN(1)を再送します。( 3秒経過) また 6秒経過してACKが、戻らないとき、SYN(2)を再送します。( 9秒経過) また 12秒経過してACKが、戻らないとき、ここでタイムアウト発生(21秒経過)
- CentOS5や6.2まで
CentOS5.11$ cat /proc/sys/net/ipv4/tcp_syn_retries 5CentOS5や6.2まで3秒経過してACKが、戻らないとき、SYN(1)を再送します。( 3秒経過) また 6秒経過してACKが、戻らないとき、SYN(2)を再送します。( 9秒経過) また 12秒経過してACKが、戻らないとき、SYN(3)を再送します。(21秒経過) また 24秒経過してACKが、戻らないとき、SYN(4)を再送します。(45秒経過) また 48秒経過してACKが、戻らないとき、SYN(5)を再送します。(93秒経過) また 96秒経過してACKが、戻らないとき、ここでタイムアウト発生(189秒経過)
- CentOS6.3〜
$ cat /proc/sys/net/ipv4/tcp_syn_retries 5リトライ5回1秒経過してACKが、戻らないとき、SYN(1)を再送します。( 1秒経過) また 2秒経過してACKが、戻らないとき、SYN(2)を再送します。( 3秒経過) また 4秒経過してACKが、戻らないとき、SYN(3)を再送します。( 7秒経過) また 8秒経過してACKが、戻らないとき、SYN(4)を再送します。(15秒経過) また 16秒経過してACKが、戻らないとき、SYN(5)を再送します。(31秒経過) また 32秒経過してACKが、戻らないとき、ここでタイムアウト発生(63秒経過)
- Ubuntu 19.10
$ cat /proc/sys/net/ipv4/tcp_syn_retries 6リトライ6回1秒経過してACKが、戻らないとき、SYN(1)を再送します。( 1秒経過) また 2秒経過してACKが、戻らないとき、SYN(2)を再送します。( 3秒経過) また 4秒経過してACKが、戻らないとき、SYN(3)を再送します。( 7秒経過) また 8秒経過してACKが、戻らないとき、SYN(4)を再送します。(15秒経過) また 16秒経過してACKが、戻らないとき、SYN(5)を再送します。(31秒経過) また 32秒経過してACKが、戻らないとき、SYN(6)を再送します。(63秒経過) また 64秒経過してACKが、戻らないとき、ここでタイムアウト発生(127秒経過)まとめ
CentOS 5 や 6.2 までは
189秒経過でタイムアウト発生
CentOS 6.3〜 は64秒経過でタイムアウト発生
(CentOS5より125秒短くなった← 気になるところ)
Ubuntu 19.10 で確認したところ127秒TCP SYN のリトライ回数を変更する方法
$ cat /proc/sys/net/ipv4/tcp_syn_retries 5 $ sudo sh -c "echo 6 > /proc/sys/net/ipv4/tcp_syn_retries" $ cat /proc/sys/net/ipv4/tcp_syn_retries 6
- 恒久的に変える場合
/etc/sysctl.confに追記net.ipv4.tcp_syn_retries = 6再起動せずに適用したい場合sysctl -p
- 投稿日:2019-10-23T12:24:48+09:00
AWSのDNS障害でDebianパッケージがインストールできなかった話
やろうとしたこと
Dockerファイルをビルドしようとしていました。
FROM php:7.1.11-fpm WORKDIR /var/local RUN apt-get update && apt-get install -y \ apt-transport-https \ lsb-release \ ca-certificates \ wget ...エラー発生
Step 3/13 : RUN apt-get update && apt-get install -y apt-transport-https lsb-release ca-certificates wget ---> Running in 50a658d96e1f Get:1 http://security.debian.org jessie/updates InRelease [44.9 kB] Err http://deb.debian.org jessie InRelease Err http://deb.debian.org jessie-updates InRelease Err http://deb.debian.org jessie Release.gpg Could not resolve 'cdn-fastly.deb.debian.org' Err http://deb.debian.org jessie-updates Release.gpg Could not resolve 'cdn-fastly.deb.debian.org' Get:2 http://security.debian.org jessie/updates/main amd64 Packages [893 kB] Fetched 938 kB in 4s (192 kB/s) Reading package lists... W: Failed to fetch http://deb.debian.org/debian/dists/jessie/InRelease W: Failed to fetch http://deb.debian.org/debian/dists/jessie-updates/InRelease W: Failed to fetch http://deb.debian.org/debian/dists/jessie/Release.gpg Could not resolve 'cdn-fastly.deb.debian.org' W: Failed to fetch http://deb.debian.org/debian/dists/jessie-updates/Release.gpg Could not resolve 'cdn-fastly.deb.debian.org' W: Some index files failed to download. They have been ignored, or old ones used instead. Reading package lists... Building dependency tree... Reading state information... Package lsb-release is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source E: Package 'lsb-release' has no installation candidate The command '/bin/sh -c apt-get update && apt-get install -y apt-transport-https lsb-release ca-certificates wget' returned a non-zero code: 100 make: *** [build] Error 100原因調査
deb.debian.orgのサーバーが死んだのかな?と思いきや、エラーメッセージに下記を発見。
Could not resolve 'deb.debian.org'ネームサーバー変わったのかなと思っていたら、社内のエンジニアからSlackが飛んできました。
AWSでDNS周りの障害が起きていたみたいです。https://www.theregister.co.uk/2019/10/22/aws_dns_ddos/
その障害によって、deb.debian.orgの名前解決ができず、パッケージのダウンロードができなくなっていたんですね。
障害復旧後
下記のステータスを、AWSで確認しました。
[RESOLVED] Intermittent DNS Resolution Errors Between 10:30 AM and 6:30 PM PDT, we experienced intermittent errors with resolution of some AWS DNS names. Beginning at 5:16 PM, a very small number of specific DNS names experienced a higher error rate. These issues have been resolved.その後再ビルドすると、無事にdebianパッケージもインストールされ、ビルドできました!
考察
おそらくdeb.debian.orgはRoute53あたりを使っているんでしょうか。
今後debianパッケージ取得の際に名前解決関係のエラーが出たら、AWSの障害を疑ってみることも一つの手ですね。
- 投稿日:2019-10-23T00:26:51+09:00
Linuxのディレクトリの色がSSH接続で見ると見辛い
Linuxのディレクトリの色が見辛い
Linuxターミナルを利用するときに自端末で利用するときには問題ないですが、
SSHを利用してwindows端末から見ようとすると非常に見辛い!どんなふうに見辛いかと言うとこんな感じ。
もう見辛いというか、見えない・・・。
(Ubuntu18.04で確認してます。)設定変更方法
.dircolorsとしてユーザ直下に置くと設定が可能。
(Vimとかbashとかと同じ感じ)現在の設定は残したまま、ディレクトリに関するものだけ変更したい・・・
下記のコマンドで現在の設定が確認可能。
dircolors -pなので、一回ユーザ直下に現在の設定ファイルを下記のコマンドで出力
dircolors -p > ~/.dircolors出力したファイルの中でDIRで始まる項目を編集します。
初期状態だと下記でした。
DIR 01;34 # directory
Vimの設定変更していないとDIR以外はディレクトリと同じ感じに見辛い・・・色については ISO 6429 (ANSI) カラーシーケンスが設定されてます。
あんまり色が無いですが、お好みでいい感じに。









