かべぎわブログ

技術的なことについてかけたらいいな…

Linux

CentOS7にPython3のpipをインストールしてデフォルトバージョンも変更する

概要 Python3.6がインストールされているCentOS7の環境にPython3用のpipをインストールしてみたいと思います。 手順 こんなかんじの手順でできます。 pipをインストールする 以下コマンドを入力します。 $ sudo yum install -y python36-pip デフォルトを設…

CentOS7にPython3をインストールしてデフォルトバージョンも変更する

概要 CentOS7の環境にPython3.6をインストールして、デフォルトで利用されるPythonも3.6のものに変更してみたいと思います。 手順 こんなかんじの手順でできます。 Python3.6をインストールする 以下コマンドを入力します。 $ sudo yum install rh-python36 …

Linuxでコマンド一撃で1GBのファイルを作成する

Linux環境で1GBとかそれ以上の大容量ファイルをコマンド一撃で作成してみたいと思います。 コマンド こんなかんじでできます。 $ fallocate -l 1G wawawa.txt 確認してみるとこんなかんじ。 $ ls -lh total 1.0G -rw-rw-r--. 1 vagrant vagrant 1.0G Feb 5 1…

CentOS7にGoをインストールする

CentOS7の環境にGo言語をインストールしてあげます。 手順 まず、epelリポジトリを追加してあげます。 sudo yum install epel-release そのあと、yum installすることでインストールできます。 sudo yum install golang インストールできました!!! $ go v…

鍵認証で踏み台経由で多段scp接続する

概要 踏み台経由かつ鍵認証で多段scpをしてみたいと思います。 コマンド コマンドとしてはこんなかんじ。 $ scp -i 踏み台の鍵 -o ProxyCommand='ssh -i 目的地の鍵 -W %h:%p ユーザ名@踏み台のアドレス' ユーザ名@目的地のアドレス わかりにくいから実際に…

鍵認証で踏み台経由で多段ssh接続する

概要 踏み台経由かつ鍵認証で多段sshをしてみたいと思います。 コマンド コマンドとしてはこんなかんじ。 $ ssh -i 踏み台の鍵 -o ProxyCommand='ssh -i 目的地の鍵 -W %h:%p ユーザ名@踏み台のアドレス' ユーザ名@目的地のアドレス わかりにくいから実際に…

Serverspecをつかってみる

概要 Serverspecをさわってみます。 Serverspecのインストール Rubyがはいっていればこれだけでインストールができます。 $ gem install serverspec Serverspecの設定 以下コマンドを入力してServerspecの設定を行います。 OSはUNIXで対象はExec(local)にし…

WSLのUbuntuにServerspecをインストールする

Windows Subsystem for Linux上のUbuntuにServerspecをインストールしてみたいと思います。 手順 gitのインストール Ruby関係のインストール rbenvのインストールと設定 ruby-buildのインストール Rubyのインストール Serverspecのインストール 手順 こんな…

鍵認証のサーバにscpでファイルを転送する

鍵認証のサーバにscpでファイルを転送してみます。 コマンドはこんなかんじ。 $ scp -i 鍵のPATH コピー元ファイル ユーザ@コピー先アドレス:コピー先PATH わかりにくいから実際に書いてみるとこんなかんじ。 $ scp -i ~/.ssh/wawawa-key.pem ./wawawa.txt c…

WSLのUbuntuにRubyをインストールする

GWindows Subsystem for Linux上のUbuntuにRubyをインストールしてみたいと思います。 手順 こんなかんじでインストールすることができます。 apt install してあげます。 $ sudo apt install ruby インストールできました! $ ruby --version ruby 2.5.1p57…

VirtualBoxとVagrantでWindowsにCentOS環境を構築してみる

https://upload.wikimedia.org/wikipedia/commons/8/87/Vagrant.png VirtualBoxのインストール Vagrantのインストール CentOSのboxファイルをダウンロードする 初期設定をする CentOSを起動する VirtualBoxからCentOSにsshログインする おまけ コマンドプロ…

CentOS7でLAMP環境を構築してみる

CentOS7にLAMP環境を構築してみようと思います。 そもそもLAMP環境とは? LAMP環境を構築する L - Linuxの構築 A - Apacheの構築 M - MySQLの構築 P - PHPの構築 LAMP環境の動作確認 MySQLにデータを格納する phpのスクリプトをつくる ブラウザで実際に確認…

AnsibleでSystemdに新規サービスを追加する

概要 AnsibleをつかってSystemdに新規サービスを追加して、それを有効化して起動してみたいと思います。 playbook例 ちょっとした解説 以下のようなことをやっている。 wawawa.serviceというunitファイルをターゲットにコピーする。 daemon reloadする wawaw…

tailコマンドでn行目以降を取得する

概要 tailコマンドを利用してn行目以降を取得してみたいと思います。 コマンド例 たとえばwawawa.txtが以下のようだとする。 $ cat wawawa.txt AAA BBB CCC DDD EEE 以下コマンドを実行するとwawawa.txtの3行目以降を取得することができる。 $ tail -n +3 wa…

rc.localが実行できないときは実行権限を与えてあげる

概要 Linuxの起動時にrc.localに記載したコマンドが実行されていなかった。 そんなときの対処法です!!! 対処法 /etc/rc.d/rc.localに実行権限を与えてあげる。 デフォルトだと以下のように実行権限がない。 このままだとrc.localになにを書いてあげても実…

ソートできないファイル同士を結合するシェルスクリプト

概要 なぜかはわからないけれどソートができないテキストファイル2つがあって、なぜかはわからないけれどそれを共通のキーをもとに結合したいときがあって、前述の通りなぜかはわからないけれどソートができないのでjoinコマンドが使えないのでシェルスクリ…

mktempをつかってシェルスクリプトでユニークなtempファイルをつくる

概要 シェルスクリプトでtempファイルを作成するときに以下のようにすることが多いかと思います。 echo 'wawawa' > ./hoge.txt ただこれだとカレントディレクトリにすでにhoge.txtが存在した場合に上書きしてしまって、人の大事なtempファイルを消してしまっ…

AWSCLIの出力にjoinで文字列をくっつけて出力する

概要 AWSCLIの出力結果にjoin()をつかって任意の文字列をくっつけて出力してみたいと思います。 実際にやってみる インスタンスIDを出力してみると通常はこんな感じですが $ aws ec2 describe-instances --query 'Reservations[].Instances[].InstanceId' --…

opensslコマンドでcsrファイルを対話形式ではなく一撃で作成する

概要 opensslコマンドでcsrファイルを作成するときに、通常だと以下のように対話形式でひとつずつ項目を埋めていく必要があります。 Country Name (2 letter code) [GB]: State or Province Name (full name) [Berkshire]: Locality Name (eg, city) [Newbur…

改めてLinuxの主要ディレクトリについてまとめてみる

いろいろとわすれがちというかなんというかなのでLinuxのディレクトリ構成についてまとめてみた。 ディストリビューションによってちがうとはおもうんだけれどだいたい以下のような感じなんじゃないか。 Linuxの主要ディレクトリ /bin /sbin /boot /dev /etc…

rsyncでは最後のスラッシュのありなしに注意すること

概要 rsyncコマンドでちょっとはまったというか忘れがちというかやってしまいがちなのでメモ。 ポイント!!!! rsyncコマンドでは、コピー元のPATHの最後の/をつけるか否かでその挙動が変わります!!! たとえば以下のとおり。 コピー元の最後に/を付ける…

シェルスクリプトでFizzBuzzをつくる

概要 なんだかんだで一度もやったことがなかったのでシェルスクリプトでFizz Buzzをつくってみました。 スクリプト おわりに ワイン飲みながら所要時間6分くらい なかなかなのでは? [改訂第3版]シェルスクリプト基本リファレンス ──#!/bin/shで、ここまでで…

rsyncでサーバ間の同期を鍵認証で行う

概要 rsyncコマンドをつかって鍵認証でログインする2台のサーバの同期をしてみます。 コマンド 鍵認証のサーバ間でrsyncを利用する際は-eオプションのあとに、sshコマンドを記述します。 以下はリモートからローカルに同期をとるときのコマンド $ rsync -av …

haltとかrebootとかはsystemctlのシンボリックリンクだった

概要 haltとかrebootとかpoweroffとかそういう起動/停止/再起動系のコマンドはsystemctlのシンボリックリンクだった。 こんなかんじ $ ls -l `which halt` lrwxrwxrwx 1 root root 16 1月 16 18:45 /usr/sbin/halt -> ../bin/systemctl $ ls -l `which reboo…

systemctlでよくつかうオプションまとめ

概要 なんか意外と忘れがちなsystemctlコマンドのよくつかいそうなオプションをまとめてみる。 概要 サービスの起動 サービスの停止 サービスの再起動 サービスのリロード 自動起動の有効化 自動起動の無効化 自動起動が有効か確認する ユニットがアクティブ…

systemdのユニットの種類についてまとめる

概要 systemdのユニットの種類について勉強し直したのでまとめメモ。 そもそもsystemdとは? Linuxの起動システムで、UpstartやSysVinitの代替として開発された。 2014年にRHEL7/CentOS7に採用された。 2015年にDebian/Ubuntuに採用された。 systemdはユニッ…

$RANDOMの精度があまりよくないという話をきいたのでしらべてみる

概要 $RANDOMは乱数としてはそんなに精度が高くないみたいなはなしを聞いたような聞かなかったようなきがしたので雑に調べてみる。 調べ方 echo ${RANDOM}を無限ループでぶん回す 1億行くらいになったら止める ばらつきを集計する 1. echo ${RANDOM}を無限ル…

シェルスクリプト上で乱数を扱う方法まとめ3選

概要 シェルスクリプトを書いていて、乱数が使いたいなーと思ったときにつかえるコマンドをご紹介します。 ${RANDOM}をつかう bashのシェル変数である${RANDOM}を利用します。 この変数は参照されるたびに0~32767の値を返します。 手っ取り早いですが、あま…

cd - で一つ前にいたディレクトリに戻る

概要 cd -コマンドを利用することで一つ前に自分が居たディレクトリに戻ることができます。 コマンド例 $ pwd /Users/kabegiwa/Downloads $ cd $ pwd /Users/kabegiwa $ cd - /Users/kabegiwa/Downloads おわりに これでまちがってcd実行してホームディレク…

pipをプロキシ環境で利用する

概要 pipコマンドをプロキシ環境で利用する方法についてご紹介します。 コマンド例 こんなかんじでオプションをつけてあげることでプロキシをとおした環境でもpipを利用することができます。 pip install awscli --proxy http://example.proxy:8080 [試して…