20191115のMacに関する記事は7件です。

(工事中)初学者のあなたにおくるコマンド ~脱カーソルアクション~ Mac編

(工事中)

さあ、今すぐカーソルアクションから脱するのだ!

<cdの巻>
cd = Change Directory の略

cdコマンドの構文
cd + [option] + [path]

※tabキーで補完ができる
 ┗入力途中でも、一意に検索できる場合

cd ../   【1つ上の階層に移動】
cd ../../  【2つ上の階層に移動】
cd /   【ドライブ()のルート(/)に移動】

cd ~ 【ホームに移動】
※Macのみのコマンドです。

pwd 【現在地をFullPathで表示してくれる】
※Macの場合、現在地を省略表示してしまうので、よく使う。

</cdの巻>

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Db2 Express-C 10.1 を Macにインストール

思いつきでDb2をMacにいれてみよう、と思ったのでやってみた。

手順

参照記事: Stack Overflow How do I install db2 Express-C 10.1 on OSX Mavericksを参考にインストール。
参考記事: DB2 on Mac for DBFlute

ここからエラーの解決手順

まず一番最初。これは何も考えずに下記コマンドを実行し、内容を追記すればよいです。

1.Modify system parameters with this command:

$ sudo vi /etc/sysctl.conf
kern.sysv.shmmax=1073741824
kern.sysv.shmmin=1
kern.sysv.shmmni=4096
kern.sysv.shmseg=32
kern.sysv.shmall=1179648
kern.maxfilesperproc=65536
kern.maxfiles=65536

13.Initialize the sample database using this command:
db2sampl

次にここでこけました。

$ db2sampl
SQL30082N Security processing failed with reason "24" ("USERNAME AND/OR  
PASSWORD INVALID"). SQLSTATE=08001

エラーが発生。

これは db2sampl コマンドを発行したのがadminユーザーだったため。

$ su db2inst1

を実行します。
そしてsuした後に、bashを編集します。(一番はじめはadminユーザー側のbashを編集してしまった。)

しかし、db2samplインスタンスが作れない。。

bash-3.2$ db2sampl

  Starting the DB2 instance...
  Creating database "SAMPLE"...
  Attempt to create the database "SAMPLE" failed.
  SQL1032N  No start database manager command was issued.  SQLSTATE=57019

db2startしたらいいだけ?と思い発行

bash-3.2$ db2start
SQL1042C  An unexpected system error occurred.

意味不明なエラーすぎますね。
ですがググった結果下記を実行すれば次に進んだ。

$ sudo chown db2inst1 /Users/db2inst1/sqllib/adm/*
$ sudo -i -u db2inst1 /Users/db2inst1/sqllib/adm/db2start
SQL1063N  DB2START processing was successful.

次はコードページとテリトリーコードの違いのエラー。。

bash-3.2$ db2sampl

  Creating database "SAMPLE"...
  Attempt to create the database "SAMPLE" failed.
  SQL1205N  The code page "1208" and/or territory code "0" that has been 
specified is not valid.

とりあえず下記を実行

bash-3.2$ db2set DB2CODEPAGE=1208
bash-3.2$ db2set DB2TERRITORY=1
bash-3.2$ db2set DB2COUNTRY=1
bash-3.2$ db2 terminate
DB20000I  The TERMINATE command completed successfully.
bash-3.2$ db2sampl

  Creating database "SAMPLE"...
  Connecting to database "SAMPLE"...
  Creating tables and data in schema "DB2INST1"...
  Creating tables with XML columns and XML data in schema "DB2INST1"...

  'db2sampl' processing complete.

bash-3.2$ db2 connect to SAMPLE

   Database Connection Information

 Database server        = DB2/DARWIN 10.1.0
 SQL authorization ID   = DB2INST1
 Local database alias   = SAMPLE

bash-3.2$ db2 list tables

Table/View                      Schema          Type  Creation time             
------------------------------- --------------- ----- --------------------------
ACT                             DB2INST1        T     2019-11-15-17.35.35.019581
ADEFUSR                         DB2INST1        S     2019-11-15-17.35.35.560564
CATALOG                         DB2INST1        T     2019-11-15-17.35.36.203478
CL_SCHED                        DB2INST1        T     2019-11-15-17.35.34.915366
CUSTOMER                        DB2INST1        T     2019-11-15-17.35.36.160802
DEPARTMENT                      DB2INST1        T     2019-11-15-17.35.34.928925
DEPT                            DB2INST1        A     2019-11-15-17.35.34.952615
EMP                             DB2INST1        A     2019-11-15-17.35.34.966517
EMPACT                          DB2INST1        A     2019-11-15-17.35.35.018150
EMPLOYEE                        DB2INST1        T     2019-11-15-17.35.34.953254
EMPMDC                          DB2INST1        T     2019-11-15-17.35.35.732809
EMPPROJACT                      DB2INST1        T     2019-11-15-17.35.35.012793
EMP_ACT                         DB2INST1        A     2019-11-15-17.35.35.018845
EMP_PHOTO                       DB2INST1        T     2019-11-15-17.35.34.967025
EMP_RESUME                      DB2INST1        T     2019-11-15-17.35.34.978571
INVENTORY                       DB2INST1        T     2019-11-15-17.35.36.153554
IN_TRAY                         DB2INST1        T     2019-11-15-17.35.35.031703
ORG                             DB2INST1        T     2019-11-15-17.35.35.035364
PRODUCT                         DB2INST1        T     2019-11-15-17.35.36.138174
PRODUCTSUPPLIER                 DB2INST1        T     2019-11-15-17.35.36.244712
PROJ                            DB2INST1        A     2019-11-15-17.35.35.003532
PROJACT                         DB2INST1        T     2019-11-15-17.35.35.004115
PROJECT                         DB2INST1        T     2019-11-15-17.35.34.990695
PURCHASEORDER                   DB2INST1        T     2019-11-15-17.35.36.184609
SALES                           DB2INST1        T     2019-11-15-17.35.35.042211
STAFF                           DB2INST1        T     2019-11-15-17.35.35.038617
STAFFG                          DB2INST1        T     2019-11-15-17.35.35.498247
SUPPLIERS                       DB2INST1        T     2019-11-15-17.35.36.223280
VACT                            DB2INST1        V     2019-11-15-17.35.35.052692
VASTRDE1                        DB2INST1        V     2019-11-15-17.35.35.059804
VASTRDE2                        DB2INST1        V     2019-11-15-17.35.35.060979
VDEPMG1                         DB2INST1        V     2019-11-15-17.35.35.056553
VDEPT                           DB2INST1        V     2019-11-15-17.35.35.045812
VEMP                            DB2INST1        V     2019-11-15-17.35.35.050315
VEMPDPT1                        DB2INST1        V     2019-11-15-17.35.35.058499
VEMPLP                          DB2INST1        V     2019-11-15-17.35.35.073268
VEMPPROJACT                     DB2INST1        V     2019-11-15-17.35.35.055309
VFORPLA                         DB2INST1        V     2019-11-15-17.35.35.068494
VHDEPT                          DB2INST1        V     2019-11-15-17.35.35.049325
VPHONE                          DB2INST1        V     2019-11-15-17.35.35.072117
VPROJ                           DB2INST1        V     2019-11-15-17.35.35.051334
VPROJACT                        DB2INST1        V     2019-11-15-17.35.35.053680
VPROJRE1                        DB2INST1        V     2019-11-15-17.35.35.062221
VPSTRDE1                        DB2INST1        V     2019-11-15-17.35.35.063658
VPSTRDE2                        DB2INST1        V     2019-11-15-17.35.35.067136
VSTAFAC1                        DB2INST1        V     2019-11-15-17.35.35.069650
VSTAFAC2                        DB2INST1        V     2019-11-15-17.35.35.070860

  47 record(s) selected.

できた。。

とりあえずDb2をインストールするだけであれば、これで終了。

もしリモートサーバー上のDBとJavaクライアント等と接続したい場合は

参考資料の下記を続けて行なってください。

Steps to Enable Remote Connections:

特に難しい操作はないのですが、その通りにやってしまうと下記だけエラーが発生しました。

$ sudo -u db2inst1 db2start
SQL1641N  The db2start command failed because one or more DB2 database manager program files was prevented from executing with root privileges by file system mount settings.

db2startコマンドは、上記でやったように、

$ sudo -i -u db2inst1 /Users/db2inst1/sqllib/adm/db2start

を実行しましょう。
ここまで完了できたら、DBeaverなどでホストIP、ポート番号を正しく設定することで、Macからもリモートデータベースを参照することができます。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

PC買い替えたときの環境構築リスト

注意事項

  • PC端末はMacです
  • 入れるかどうか、設定するかどうかは好みです
  • 思い出したタイミングで追記していきます

【Mac の設定】

Mac 自体の設定や、デフォルトで入っているアプリの設定など。
ほぼ好みです。

カレンダーの設定

カレンダーアプリを起動し、環境設定 > 一般 で以下の設定を行う。

  • デフォルトで入っているカレンダーの週数を表示できるようにする
  • 週の始まりを月曜日にする

スクリーンショット 2019-11-08 13.06.01.png

Finder にホームフォルダを追加

Finder を開いて、上のタブから Finder > 環境設定 > サイドバー
で、↓の画面になるので、ここで家マークの横のチェックボックスをオンにする。

スクリーンショット 2019-11-08 13.15.01.png

参考

https://pc-karuma.net/mac-finder-sidebar/

Dock から不要なものを削除

無駄なアプリはあまり出したくないので非表示にする。

ズームの設定

[方法は後で書きます]

【ツール系】

PhpStorm のインストール

(有料です)
PhpStorm からダウンロードして、必要であればライセンス購入。
購入したライセンスをアクティベートする。

ライセンスを購入しなくても30日は無料可能、また学生は学校のメールアドレスがあれば無料で使える。

Display Menu のインストール

https://apps.apple.com/jp/app/display-menu/id549083868?mt=12

Retinaディスプレイの場合、これを使えば高解像度にあげることができるのでたくさんの情報を表示することができる。
これのおかげで基本デュアルディスプレイにしなくて済んでる。

Postman のインストール

https://www.getpostman.com/
[あとで書く]

【使う技術によるもの】

以下は

  • Nust.js/Vue.js などを使ったフロントエンドの開発
  • Laravel などを使う PHPer

向けのものかと思います。

Git のインストール

Git 公式ページ からダウンロード。
Xcodeも必要なのでいれる。

PHP のバージョンをあげる

https://php-osx.liip.ch/
[あとで書く]

Composer のインストール

https://getcomposer.org/
[あとで書く]

node.js のインストール

https://nodejs.org/ja/
[あとで書く]

Virtual Box のインストール

https://www.virtualbox.org/wiki/Downloads
[あとで書く]

Vagrant のインストール

https://www.vagrantup.com/
[あとで書く]

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【Mac】Homebrew を使って PostgreSQL を動かす

何度も同じことを調べてしまうので、まとめてみました?

インストール可能なバージョンをリストアップ

✔︎がついているものはインストール済みです。

$ brew search postgresql
==> Formulae
postgresql ✔          postgresql@10         postgresql@9.4        postgresql@9.5        postgresql@9.6

インストールする

バージョン指定のない postgresql だと最新バージョンがインストールされます。

$ brew install postgresql

バージョン確認

$ psql --version
psql (PostgreSQL) 11.5

バージョンを指定してインストールする

$ brew install postgresql@9.6

PostgreSQL を起動

$ brew services start postgresql
==> Successfully started `postgresql` (label: homebrew.mxcl.postgresql)

バージョンを指定して起動

$ brew services start postgresql@9.6
==> Successfully started `postgresql@9.6` (label: homebrew.mxcl.postgresql)

DB一覧を表示

使用しているデータベース一覧が表示されます。

$ psql -l
               Name                | Owner | Encoding | Collate | Ctype | Access privileges 
-----------------------------------+-------+----------+---------+-------+-------------------
 postgres                          | yuppy | UTF8     | C       | C     |  
 template0                         | yuppy | UTF8     | C       | C     | =c/yuppy         +
                                   |       |          |         |       | yuppy=CTc/yuppy
 template1                         | yuppy | UTF8     | C       | C     | =c/yuppy         +
                                   |       |          |         |       | yuppy=CTc/yuppy
(3 rows)

DB操作

良く調べるのでついでにメモします。

データベースに入る

$ psql 入りたいデータベース名

テーブル一覧表示

\ option キーと ¥ を同時に押します。

# \dt

データベースの切り替え

# \c 切り替えたいデータベース名

データベースの削除

# drop database 削除したいデータベース名

データベースから出る

# \q

PostgreSQL を停止

$ brew services stop postgresql
Stopping `postgresql`... (might take a while)
==> Successfully stopped `postgresql` (label: homebrew.mxcl.postgresql)

バージョンを指定して停止

$ brew services stop postgresql@9.6
Stopping `postgresql@9.6`... (might take a while)
==> Successfully stopped `postgresql` (label: homebrew.mxcl.postgresql)

起動状況の確認

複数のバージョンが起動していると、通常緑色のstartedが黄色になります。1つだけを起動させて、その他は停止させましょう。

$ brew services list
Name           Status  User  Plist
mysql          stopped       
postgresql     started yuppy /Users/yuppy/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
postgresql@9.6 stopped       

使用するバージョンを切り替える

実は起動や停止させるだけでは使用するバージョンを切り替えることはできなくて、link /unlink で切り替えます。使用したいバージョンだけを link させます。

使い方

$ brew unlink postgresql
$ brew link postgresql@9.6

アンインストールする

バージョン指定も可能です。

$ brew uninstall postgresql

以上です。また何かあれば追記していきます。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

MacでSAC

MacOS (Mojave) で SAC(Seismic Analysis Code) [Version: 101.6a] を使おうと思ったのだが、ソースコードからのコンパイルがうまくいかなかった。

フォーラムを見るとlibeditに問題があるようなのだが、これまた修正が面倒そうであった。

IRISにMac版のバイナリを申請して待っている間に調べていると、George Helffrich 先生のページに Bug fix されたバイナリが置いてあるのを見つけた。インストールしたところ、秒で使えるようになった(コンパイルエラーの問題解決は何もしていないけどね)。

ちなみにG.Helffrich先生は"The Seismic Analysis Code" A Primer and User's Guideっていう本も書かれているので、間違いなさそう。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【Ansible_01】macにAnsibleのインストール

はじめに

タイトルそのまんまですが、手元のmacにAnsible実行環境を作成します。
参画プロジェクトのProduction環境でPythonのバージョンも異なるだろうと思い、pipenvを採用。
macの場合はpyenvの方が良い(表現がアレですが、pyenvの方がスムーズなのかな?)とのこと、またvirtualenvも利用頻度は低いが覚えておくとよきとのことです。それはまたどこかで。

環境作成にあたりAnsible実践ガイドと下記サイトを参考にさせて頂きました。
この場を借りてお礼申し上げます:pray:

Pipenvの基本的な使い方
[Python] pyenv と pipenv による python 仮想環境を構築する(CentOS 7 ほぼ初期状態から )
Pipenvことはじめ

環境と使用書籍

mac
Ansible実践ガイド

作業開始

pipenvのインストール

macの場合は開発ツール(python-devel, python-dev)はいらないのかな?
わからないので進める!

# 現在のPythonのバージョンを確認
$ python -V
Python 2.7.10

# homebrewでPython3系のインストール
$ brew install python3

# バージョン確認
$ python3 -V
Python 3.7.5

# pipのインストール
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python3 get-pip.py

# pipenvのインストール
$ brew install pipenv

# pipenvのバージョン確認
$ pipenv --python 3.7.5

# Pipfile自動生成とcat
$ ls -l Pipfile
$ cat Pipfile
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]

[packages]

[requires]
python_version = "3.7"

サイトを読み進めてると、パッケージのインストールが必要のように見える。
Pipenvの基本的な使い方に倣って、requestsをインストールしてみます。
用途に合わせてパッケージをインストールするんでしょうね。

$ pipenv install requests
$ cat Pipfile
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]

[packages]
requests = "*"

[requires]
python_version = "3.7"

次にAnsibleを実行するディレクトリ「ansible」を作成します。
その後はcdしてpipenvを起動。

$ mkdir ~/ansible
$ cd ~/ansible
$ pipenv --version
pipenv, version 2018.11.26
$ pipenv shell
(admin)$

bashが起動しました!嬉しい!w
仮想環境でAnsibleをインストールします。

(admin)$ pip install ansible
(admin)$ ansible --version
ansible 2.9.1

これにて完了!

おわりに

断片的ではあるのですがAnsibleの実行環境に関する知識がなかったら頓挫していたと思います。。先人の知恵をお借りして実現できてよかった!
次はこの環境を使って実際にAnsibleをガリガリ実行するところから。

簡単ですが以上です:innocent:

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【Ansible-01】macにAnsibleのインストール

はじめに

タイトルそのまんまですが、手元のmacにAnsible実行環境を作成します。
参画プロジェクトのProduction環境でPythonのバージョンも異なるだろうと思い、pipenvを採用。
macの場合はpyenvの方が良い(表現がアレですが、pyenvの方がスムーズなのかな?)とのこと、またvirtualenvも利用頻度は低いが覚えておくとよきとのことです。それはまたどこかで。

環境作成にあたりAnsible実践ガイドと下記サイトを参考にさせて頂きました。
この場を借りてお礼申し上げます:pray:

Pipenvの基本的な使い方
[Python] pyenv と pipenv による python 仮想環境を構築する(CentOS 7 ほぼ初期状態から )
Pipenvことはじめ

環境と使用書籍

mac
Ansible実践ガイド

作業開始

pipenvのインストール

macの場合は開発ツール(python-devel, python-dev)はいらないのかな?
わからないので進める!

# 現在のPythonのバージョンを確認
$ python -V
Python 2.7.10

# homebrewでPython3系のインストール
$ brew install python3

# バージョン確認
$ python3 -V
Python 3.7.5

# pipのインストール
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python3 get-pip.py

# pipenvのインストール
$ brew install pipenv

# pipenvのバージョン確認
$ pipenv --python 3.7.5

# Pipfile自動生成とcat
$ ls -l Pipfile
$ cat Pipfile
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]

[packages]

[requires]
python_version = "3.7"

サイトを読み進めてると、パッケージのインストールが必要のように見える。
Pipenvの基本的な使い方に倣って、requestsをインストールしてみます。
用途に合わせてパッケージをインストールするんでしょうね。

$ pipenv install requests
$ cat Pipfile
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]

[packages]
requests = "*"

[requires]
python_version = "3.7"

次にAnsibleを実行するディレクトリ「ansible」を作成します。
その後はcdしてpipenvを起動。

$ mkdir ~/ansible
$ cd ~/ansible
$ pipenv --version
pipenv, version 2018.11.26
$ pipenv shell
(admin)$

bashが起動しました!嬉しい!w
仮想環境でAnsibleをインストールします。

(admin)$ pip install ansible
(admin)$ ansible --version
ansible 2.9.1

これにて完了!

おわりに

断片的ではあるのですがAnsibleの実行環境に関する知識がなかったら頓挫していたと思います。。先人の知恵をお借りして実現できてよかった!
次はこの環境を使って実際にAnsibleをガリガリ実行するところから。

おまけ

localhostにpingを投げるときはinventoryを以下のように記述します。

・inventory
ファイル名に拡張子を付けなくても読み込みます(inventory.ini)。
また、インベントリはyamlでも良い。
pipenvでインストールしなかったら/etc/ansible/にhostsという名前のファイルが生成されるので、そこに記述すれば良い。ように読めた。

localhostの書き方でハマり数時間消し飛びました。。
グループは無くても動きます。

$ cat inventory
[test]
localhost ansible_connection=local

$ ansible -i inventory test[もしくはall] -m ping
[WARNING]: Platform darwin on host localhost is using the discovered Python interpreter at /usr/bin/python, but future installation of another
Python interpreter could change this. See https://docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html for more
information.

localhost | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}

-i:インベントリの指定
-m:モジュールを使う際のオプション

pingじゃなくてpongってなってるのは、ターゲットノードにpingを投げてる訳じゃなくてsshで接続した結果をpingの結果として返しているからとのこと。
playbook.ymlで指定しても動くはず。これはまた次回行います。

以上です:innocent:

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む