投稿

9月, 2019の投稿を表示しています

よく使う rsync コマンドのオプション -av について

イメージ
皆さんが利用される際に同じオプションを指定するかはわからないですが、 自分がいつも rsync するときには以下のコマンドを指定しています。 rsync -av <送り元> <送り先> この rsync についている -v は verbose のことだからわかるとして、 -a というのは何でしょう? マニュアルによると以下のようです。 -a は archive モードであり、 -rlptgoD に等しい。 ただし -A と -H は除く。 それではこれらのオプションを詳しく見てみます。 因みに、結論から言うと できるだけそのままコピーする という感じです。 -a で指定されるオプション ¶ -a で設定されるのは以下のオプション。 オプション 説明 -r, --recursive ディレクトリを再帰的に処理する -l, --links symlinksをそのままsymlinkとして処理する -p, --perms パーミッションを保持する -t, --times 変更日時を保持する -g, --group group情報を保持する -o, --owner owner情報を保持する(super-user only) -D --devices --specials を指定するのと同じ効果。 詳しくは以下参照 --devices deviceファイルを保持する(super-user only) --specials specialファイルを保持する 一応 スペシャルファイル について注意書きしておくと、通常Linuxでは /dev/ 配下に格納されている ディスク用のファイルやコンソール(tty)のファイルを指します。 外部のデバイスとファイルシステムを介してやり取りをするファイルたちですね。 スペシャルファイルとデバイスファイルの違いを調べたのですが、 いまいち違いが判りませんでした。 rsync のソースを見れば判然とするかもしれないですが。 そもそも、デバイスファイルやスペシャルファイルを rsync でコピーする用途が 余りピンとこないですが...。 -a で除外されるオプション ¶ 因みにわ

Gnuplot でプロットの色をグラデーションで変えたい

イメージ
以下の2つについて解説します。 1つのデータをプロットする際に徐々に色が変化するグラフを描画 複数のグラフを描画する際に、それぞれの色を疑似グラデーション変化させる また、動作は Gnuplot 5.0 patch level 3 で確認しています。 1. 1つのデータをプロットする際に徐々に色が変化するグラフを描画 ¶ 1本の線をグラデーション 上図のような画像を描画する方法です。 plot "data.dat" u 2:3:1 w l lc palette plotするときに用いているusingコマンドに与える三つめの引数(?) がグラデーションに利用するインデックスになるようです。 linecolor (lc) コマンド後にある palette はいくつかの色が列挙されている配列のようなもので、 前述のインデックスによりこの palette の中の特定の色を選んでいます。 実際にプロットされる際には選んだ色の間を適当に補完した形でスムージングして綺麗なグラデーションで 表示してくれているようです。 上の例では単に palette と指定していますが、パレットの中身は set palette define コマンドによって 自分で指定することが可能です。 例えば、赤から青に徐々に変化するパレットを設定するには以下の通り。 set palette define (0 "red", 1 "blue") 上記のコマンドで利用する色の名前は show pallete コマンドにより確認可能です。 show palette colorname 因みに右に表示されるボックスが邪魔、という場合には以下のコマンドで消せます。 unset colorbox 参考ページ Using a palette as line color Multiple lines with different colors 2. 複数のグラフを描画する際に、それぞれの色を疑似グラデーション変化させる ¶ 複数の線をグラデーション いくつかのグラフをプロットする際に色を変化させる方法です。 こちらについては、素直にグラデーションにする方法が見つ

CentOS7 上で SSMTPの設定

イメージ
SSMTPをCentOS7にインストールし、YahooメールのSMTPサーバーを利用してメールを送信する方法について記載しています。 Yahooメールと明記していますが、SSMTPの設定自体の話ではあるので他のメールサーバーを利用する方にも役立つかもしれません。 SSMTPインストール ¶ まずSSMTPは、基本のリポジトリには存在しないのでepelリポジトリを利用出来る様にします。 sudo yum install epel-repository.noarch これをインストールするだけでepelリポジトリが利用できるようになります。 この後sudo yum upgradeしておくといいかもしれません。 そして sudo yum install ssmtp によってSSMTPがインストールされます。 SSMTPの設定変更 ¶ この後はSSMTPの設定ファイルを弄っていくことになります。 設定ファイルの場所は /etc/ssmtp/ssmtp.conf です。 取りあえず自分の環境では以下の内容を記載することでメールを 送信することが可能となりました。 mailhub=smtp.mail.yahoo.co.jp:465 AuthUser=******@yahoo.co.jp AuthPass=your_password RewriteDomain=yahoo.co.jp HostName=your.hostname FromLineOverride=Yes UseTLS=Yes 設定内容の説明 ¶ 上の1つ1つについて一応説明を記載します。 実は FromLineOverride が割と重要で、これが原因で送信できず悩んでいました。 変数名 説明 mailhub 利用するSMTPサーバーのこと。今回はyahooのものを利用するので smtp.yahoo.co.jp となっています。また、暗号化通信(SSL)を利用する関係で ポート番号を465に設定しています。この情報はYahoo Mailの公式サイトから調べることが可能 ですので、"yahoo メール 設定" などで検索してみてください。 AuthUser サーバーにログインする際の所謂ユーザー名。Yahooの場合は

FreeBSDでGUI環境を構築してみたいはなし

FreeBSD 12.0 で実施。 FreeBSDを興味本位で触ろうとしたときに、なんとなくGUI環境を入れてみたかった。 しかし調べてもすんなりいくやり方が記載されていなかったので書いておきます。 私はXfceを利用しましたが、ほかのものを利用するときでも最初のパッケージ以外は共通と思います。 pkg install xfce pkg install xinit pkg install xorg startxfce4 これだと毎回 startxfce4 しないといけないのですが、自分はちょっと見てみたかっただけなのでそこまで調べていません。すみません。 ちなみに、インストールされるGUIはなかなかレガシー(昔懐かしいといった方がいいかも)です。 参考サイト: https://www.freebsd.org/doc/ja_JP.eucJP/books/handbook/x11-wm.html https://forums.freebsd.org/threads/unable-to-run-startx.62684/

LaTeX での箇条書きスペースを「文書全体で」狭めようの会

LaTeXで何か文書を書いている時、箇条書きの行間が微妙に大きくて気になりました。調べると皆さん気になっているようで設定の仕方を 記載してくださってるのですが、itemizeの中に全部設定するサイトばかりでGlobalな(文書全体に有効な)設定を教えてくれる日本語のサイトがなかったので記載しておきます。 ただしLaTeXに関してはあまり環境の違いなどを理解していないので動かなかったらごめんなさい。 enumitem というパッケージを利用します。 \usepackage{enumitem} \setlist{nosep} 上記をpreambleに記載後、コンパイルしてみてください。 リストの後のあの忌々しい空白が消えているはずです! 詳しい説明は 上記リポジトリの中にあるpdf文書 をご覧ください。 参考サイト : https://tex.stackexchange.com/questions/10684/vertical-space-in-lists

Elixir の Web Framework である Phoenix を使って初めてのアプリケーションを作成してみる (Phoenix入門の入門)

イメージ
はじめに ¶ 環境 OS: Ubuntu 18.04.3 Desktop Elixir は Erlang を基とする関数型言語です。 Elixir は Web Framework である Phoenix を記述するのに用いられます。 インストール ¶ ※ Desktop版を使っているので Server だと別途何か必要かもしれません。 Elixir ¶ Elixirの公式サイトの手順 に従ってインストールします。 最新の情報は公式サイトから見たほうが確実ですが、 2019/09/01 現在では以下の通り。 リポジトリを追加し、最新情報にアップデート後 apt でインストール。 元が Erlang であるため Erlang のインストールからしていますね。 wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb && sudo dpkg -i erlang-solutions_1.0_all.deb sudo apt update sudo apt install esl-erlang sudo apt install elixir 以上で elixir の導入は完了。 Phoenix ¶ つづいてPhoexnix を入れていきます。 まずはPhoenixを入れる前にHexを入れます。 HexはElixirのパッケージマネージャです。 mix local.hex 続いてPhoenixをいれます。 mix archive.install hex phx_new このほかにもPhoenixを使う上で必要なパッケージはあるのですが、 それは使っていくうちに Phoenix が親切にも教えてくれるので 取りあえずは置いておきます。 Node.js (nvm) ¶ 続いて、Node.js を入れます。 Node.jsを直接入れるよりも、 nvm(Node Version Manager) を経由した方が良いです。 nvmの入れ方は 公式リポジトリの説明 を読んでいきましょう。 一応この記事を書いたときのリポジトリから抜き書きすると以下のように入れます。 # curlはインストールされていないことがあるのでその

Hyper-V : Ubuntu 18.04.3 LTS Desktop での邪魔なドット / 拡張セッションが動作できない件

イメージ
開発環境の為にUbuntu 18.04.3 LTS Desktop版を公式サイトよりダウンロードし、Hyper-V上で稼働させようと奮闘しておりました。いくつか問題があったので一応共有しておきます。 起動時から表示され続ける邪魔なドット(点々) ¶ Ubuntuを無事にインストールして立ち上げると、起動時のローディングを示すドットがずっと表示されたままになっていた。 中央に鎮座する邪魔な点々 最初はそのうち消えるだろうと思って無視していたのですが、いつまでたっても消える気配がない。何かしらアップデートしたら消えるかなぁと思って sudo apt update && sudo apt upgrade とかやってみても消えることがない。再起動しても消えることがない。いったい何だろうと気になって調べてみた。 結論から言うと、VM環境特有のバグのようで、 grub の設定ファイルからこの点々の表示機能を削除すればよいとのこと。 /etc/default/grub を開く GRUB_CMDLINE_LINUX_DEFAULT という変数に設定されている quiet splash を削除する reboot する これで完了。邪魔な点々を排除することが出来ました。 参考 : https://askubuntu.com/questions/1148998/ubuntu-18-04-qemu-vm-loading-bar-from-start-screen-still-on-desktop 拡張セッションが動作しない ¶ Hyper-V 特有の話になるのですが、VMとホストマシンとの間でクリップボードをやり取りするためには「拡張セッション」という機能を有効にする必要があります。この機能を有効にしようとしたんですが、有効にすることはできませんでしたという話です。 そう、結論から言うと有効にできませんでした。 何でそうなるか、というと、拡張セッション時には xrdp で接続する方式になってしまうというところがミソなんです。なんでだかはよくわかっておりませんが、Ubuntu 18.04.2 から Desktop版のxrpdパッケージがうまいこと動作しないようなんです。 詳しくはググると出てきますが、Ubuntu 18.