Dockerコンテナの時間をHostの時間と合わせる

投稿者: Anonymous Docker for Macを使ってUbuntu 16.10を実行しているのですが、ゲスト側の時間とホスト側の時間が一致しません どうすれば合わせられるのでしょうか? macOSの時間 $ date 2017年 3月14日 火曜日 22時30分27秒 JST Ubuntuの時間 $ date 2017年 3月 14日 火曜日 12:50:06 UTC まず、macOSでdateを実行し、その2~3秒後にubuntuで実行しました そのため数秒のズレはあると思いますが、これほど大きくはならないと思います 解決 本家ドキュメントのKnown issues に載っている問題です。 NTPサーバに接続できない場合、休止状態から戻った時に時刻が同期されないとのことです。 解決策として2つ挙げられていて、 1. 休止状態から復帰した時に docker run –rm –privileged alpine hwclock -s を実行して手動で同期させる 2. 低優先度のNTPサーバとしてlocalclockを参照させる 一時的に使用する分には1.の方法で十分かもですが、常時Dockerを動作させる場合は2.の方がいいかと思います。 回答者: Anonymous

Lubuntuでchromeを既定のブラウザにしたい

投稿者: Anonymous LubuntuにChromeとFirefoxがインストールしてあります。 既定のブラウザをFirefoxからChromeに変更するにはどうしたらよいでしょうか? Thunderbird(メーラー)でメールに記述されているURLをクリックしたら、Chromeが起動するようにしたいです。 以下は、思い当たるところを調査した内容です。 # ブラウザの設定内容 Firefoxの設定を見ると、Firefoxが既定のブラウザになっています。 Chromeの設定を見ると、既定ブラウザの欄に「Google Chrome では既定のブラウザを判断または設定できません。」と表示され、既定のブラウザに変更するボタンは見当たりませんでした。 # LXSession configration の設定内容 メニュー>設定>LXSessionのデフォルトアプリケーション WebbrowserにはChromeが設定されています。 # update-alternatives –config x-www-browser $ sudo update-alternatives –config x-www-browser alternative x-www-browser (/usr/bin/x-www-browser を提供) には 2 個の選択肢があります。 選択肢 パス 優先度 状態 ———————————————————— * 0 /usr/bin/google-chrome-stable 200 自動モード 1 /usr/bin/firefox 40 手動モード 2 /usr/bin/google-chrome-stable 200 手動モード 現在の選択 [*] を保持するには…(Continue Reading)

iptablesでsyn flood対策をしましたが、携帯会社のIPがよく引っかかります。

投稿者: Anonymous iptablesの設定はほぼこちらを参照したものです。 http://qiita.com/suin/items/5c4e21fa284497782f71 以下、SYN_FLOOD抜粋 iptables -N SYN_FLOOD # “SYN_FLOOD” という名前でチェーンを作る iptables -A SYN_FLOOD -p tcp –syn -m hashlimit –hashlimit 200/s –hashlimit-burst 3 –hashlimit-htable-expire 300000 –hashlimit-mode srcip –hashlimit-name t_SYN_FLOOD -j RETURN iptables -A SYN_FLOOD -j LOG –log-prefix “syn_flood_attack: ” iptables -A SYN_FLOOD -j DROP iptables -A INPUT -p tcp –syn -j SYN_FLOOD それなりに外部からアクセスがあるWEBサイトで このような設定を実施した場合、主に携帯会社のIPが引っかかってしまします。 そこでhashlimit-burstを10にしてみましたが、それでもいくらか引っかかりました。…(Continue Reading)

シェルで特定の文字から特定の文字までを抜き出す方法

投稿者: Anonymous 下記のtoken.txtからaccess_tokenの中身(ya〜rJ)だけを標準出力させる方法を教えて下さい。 $ cat token.txt “access_token”: “ya29.GltzBPiM93Gz67sL67VdZfQ5IDySH7iWenpufvl3dAEPnH7DeUxdL45s1pgnl7Ixs2rsj56dXygMkphYuvVxFYGqiz9qfb3IRqqyNqLJjtuIvVfznZBu2KPaLOrJ”, 解決 cat token.txt | tr -d ‘" ‘ | awk -F: ‘{ print $2 }’ trコマンドで不要なクォート(と空白)を予め削除、awkコマンドで2列目の値(=今回必要なaccess_token)を出力しています。 回答者: Anonymous

¿Cómo excluir un directorio con el comando find?

publicado por: Anonymous Estoy buscando archivos de tipo ‘test*’ dentro de un repositorio. Dado que tengo un virtualenv, cada vez que hago find -name ‘test*’ me encuentra muchos archivos de los módulos que tengo instalados. find -name ‘test*’ Devuelve muchas cosas del tipo: ./env/lib/python3.5/site-packages/paquete/utils/tests ¿Cómo puedo excluir un directorio y todo su contenido de los…(Continue Reading)

> /dev/nullと >>/dev/nullの速度の違いについての疑問

投稿者: Anonymous 以下のコードはすべてWindows10のwsl1のUbuntu上で試しています。 私は以下のコードを試しました。(10秒ごとに手動でエンターキー押しています。) $cat /dev/random | pv >a.txt 615MiB 0:00:10 [59.4MiB/s] 1.20GiB 0:00:20 [59.3MiB/s] 1.80GiB 0:00:30 [61.7MiB/s] $cat /dev/random | pv >>a.txt 618MiB 0:00:10 [61.7MiB/s] 1.23GiB 0:00:20 [65.1MiB/s] 1.81GiB 0:00:30 [61.4MiB/s] 若干追記のほうが早いですがあまり変わりません。 また以下のコードを試しました。 $cat /dev/random | pv > /dev/null 740MiB 0:00:10 [70.7MiB/s] 1.41GiB 0:00:20 [70.8MiB/s] 2.11GiB 0:00:30 [70.6MiB/s] $cat /dev/random | pv >> /dev/null…(Continue Reading)

パーティションが見つからない

投稿者: Anonymous Ubuntu 16.04 の入っている HDD が起動しなくなりました。 その原因として、Ubuntu の入っている HDD のパーティションが認識できなくなっていました。 USB メモリから Linux を起動させ parted -l を使った際、次のようなエラーが発生しました エラー:無効な引数です: /dev/sda から読み込み中のシークでエラーが発生しました。 モデル: ATA TOSHIBA DT01ACA3 (scsi) ディスク /dev/sda: 3001GB セクタサイズ (論理/物理): 512B/4096B パーティションテーブル: unknown ディスクデフラグ: 警告:ドライバは物理ブロックサイズが 2048 バイトであると言っていますが、Linux は 512 バイトだと言っています。 解決 TestDiskというパーティション復旧用のユーティリティがあります。 http://www.cgsecurity.org/wiki/TestDisk 確認で使用されたUSB起動のLinuxに含まれている場合もありますし、もし無ければSystemRescueCdなどのLiveCD(USB)がおすすめです。 http://www.system-rescue-cd.org/ コマンドラインから起動するツールですが、基本的には画面の指示に従ってパーティションを検索し、運良く正常なパーティションテーブルが見つかったら実際に書き込む事で復旧の可能性があります。 回答者: Anonymous

端末エミュレータ(konsole)で日本語に使われるフォントの設定方法

投稿者: Anonymous KDE 上で konsole を使っています. “Edit current profile” から設定できるフォントとしてはfantasque sans mono を指定しています. .kde/share/apps/konsole/mydefault.profile は以下のような感じです. [Appearance] ColorScheme=mycolor Font=Fantasque Sans Mono,12,-1,5,50,0,0,0,0,0 さて、このフォントは日本語で使われるグリフはカバーしていないのですが,konsole 上ではきちんと日本語が表示されます.ということは日本語(その他 fantasque sans のカバーしていない)文字の表示に際しては,別のフォントが参照されているということになるのだと思います. このフォントを指定することは出来るでしょうか. これは,gVim でいう guifontwide の設定をしたいというのに近いです. 現在は KDE (Kubuntu) + Konsole という環境ですが,その他の環境についての情報も,僕自身が参考に出来るほか,後から参照する際に有用となりうると思いますので,お寄せいただければと思います. 解決 Konsoleの設定でフォント形状をノーマルやボールドに指定すると、日本語もそれに合わせて変更されると思います。これはLinux(に限りませんが)が指定されたフォント名をそのまま利用するのではなくて、フォント名にマッチしたいくつかのフォントから言語などに応じて最適なフォントを選ぶためのようです。 このフォントの選択ルールは~/.config/fontconfig/fonts.confを修正することで変えることが出来ます。書式については以下のような記事が参考になります。 26.2. フォントのインストールと設定 Ubuntu – gnome-terminalで英語と日本語のフォントを別々に指定する(fonts.conf) – Qiita Fontconfig – Wikipedia また、fc-matchコマンドで、実際にフォント名を与えて、そこから選択されるフォントの一覧(優先順位)を確認することもできます。たとえばserifを指定している場合に日本語のフォントが何になるかは fc-match serif:lang=ja で調べることが出来ます。この例を手元のUbuntu 14.04LTSで確認すると、Takao P明朝と出ました。…(Continue Reading)

.Net CoreにおけるLinuxのメモリ使用量について

投稿者: Anonymous お世話になります。 .Net Core2.1で作ったアプリをAzure AppService on LinuxでWebサービスを運用しているのですが、Azure AppServiceのWindowsサーバーで運用していたときと比べメモリ使用量が平均で10〜20%増加しました。どちらもB1インスタンスなので全く同じスペックですし、サーバーを変えてからアプリケーションの変更は行なっていません。CPUの使用量は全く同じなので変動はありませんでした。 .Net CoreはLinuxサーバーだと若干メモリ使用量が増えるのでしょうか? 解決 使用するライブラリーによりますが、Linuxサーバーだとメモリ使用量が増える場合が多いです。Windowsの方で主に開発されているソフトなので仕方がないと思います。処理速度も.Net Core2.0まではLinuxサーバーの方がはっきり遅かったですが、.Net Core2.1でかなり改善されました。 .NET Core は、windowsとLinuxでは実装に違いがあります。 参考: https://www.slideshare.net/tanakata/20170527-inside-net-core-on-linux 回答者: Anonymous

JavaのFileOutputStream作成後にファイル削除してもwriteでIOException発生しないのはなぜでしょうか

投稿者: Anonymous IA Linuxでファイル出力するJavaプログラムを動かします。(以下デモプログラムはUbuntu 18とJava 1.8で確認。) FileOutputStreamをnewした後に、対象ストリームに書き込みを行いますが、FileOutputStream作成後にOSコマンドで当該ファイルを削除(rm)(もしくはリネーム(mv))しても、その後の書き込み処理でIOExceptionが発生せずに正常終了します。 File#exists()はfalseになります FileDescriptor#valid()はtrueのままです write時にOSとJVMの間で何が起こっているのかを知りたく、コマンドstraceとltraceの出力結果を見てみたのですが、ストリームのオープン/クローズおよび書き込み時には何らトレース出力は得られませんでした。 <確認したコマンド> strace -t java ~ lstrace -t java ~ おそらくJavaプログラムとしてはJVM上のストリームオブジェクトに書いているだけで、JVMとしてはflushもしくはsyncしてもOSのIOバッファに書いているだけで、ファイルシステム上のファイルの状態には影響を受けないため、Java側ではエラーが発生していないのではないかと想像しています。 <質問> ファイルシステム上でファイル削除しても、当該ファイルに対して作成済みストリームを用いた書き込み時に例外発生しないのはなぜでしょうか。 OS側では何等かエラーが発生しているのではないかと思います。これを確認できるトレースコマンドがあれば教えてください。 <追加質問> rmやmvするとunlinkされるだけでファイルシステムからdeleteされるわけではないため、unlink前に作成済みのファイルディスクリプタを用いたIOはエラーにならない旨、承知しました。 上記の通りstraceやltraceではJVMのIOに掛かるシステムコールが得られなかったのですが、これが分かるトレースコマンドはありますでしょうか unlinkされたことをIOしているプロセス側で検知すること(もしくはIOしているプロセス側へOSから通知すること)は可能でしょうか <デモプログラム> import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.Writer; class FileInputDemoStream { private static File file…(Continue Reading)

SDL2 の開発(実行)環境に必要なコンポーネントがOSにインストール済みかを確認する方法は?

投稿者: Anonymous windows10,MacOS,Linuxを対象にしたバイナリをSDL2を用いてwindwos10で制作しようと考えています。 http://sdl2referencejp.osdn.jp/Introduction.html に 1.3 SDLが使える環境は? Windows 表示にWin32 APIとハードウェアアクセラレーションのためにDirect3Dを使用する 音声にDirectSoundとXAudio2を使用する Mac OS X 表示にCocoaとハードウェアアクセラレーションのためにOpenGLを使用する 音声にCore Audioを使用する Linux 表示にX11とハードウェアアクセラレーションのためにOpenGLを使用する 音声にALSA, OSS, PulseAudio APIを使用する と記述されているのですが。 現行のバージョンのwindows,Mac,Linuxで、インストール時にデフォルトで組み込まれていないものはありますでしょうか。 また、組み込まれている or いないの判別手段(コマンド等)ありましたらご教示お願いいたします。 解決 実行環境は以下のような感じになるようです。 Windows10, MacOS X はだいたい標準で入っているでしょう。 Linux系がインストール時の選択に依存するでしょうが、GUIを使うなら何かしらインストールするのでは? なお開発用にはコンパイラ、SDK、フレームワークとかが必須だし、それらがインストールされているか等の確認方法は使うツールセットに依存するでしょう。 Windows10 Win32API : OS標準API Direct3D : ハードウェアとデバイスドライバに依存するが、だいたいインストール済み。dxdiagコマンドで確認 DirectSound : 下記XAudio2でエミュレーション XAudio2 : 標準搭載 PC にインストールされている DirectX バージョンの確認 DirectSound –…(Continue Reading)

Vagrantを使ったCakePHPのローカル開発環境の作業フォルダの場所

投稿者: Anonymous Mac OS X Yosemite Vagrant VirtualBox Bitbucket を使っていてBitbucketのリポジトリには hoge(開発中のcakePHPアプリケーション) composer.json composer.lock 既にVagrantにはApache+php5.5がインストールされています。 ここで $ mkdir hoge $ cd hoge $ git clone ~ してcomposerを使ってインストールすると自動でcakePHPもインストールされてローカルで開発できるのはイメージできるのですが、この場合git cloneするディレクトリは 自分のPC上(Vagrantfileが置いてあるディレクトリ)でしょうか? それともvagrant sshしてログインした/vagrant上なのでしょうか? 上記のうちのどちらかだとした場合、composer自体のインストールもどちらか片方で構わないということになりますか? 解決 Vagrantの共有フォルダ設定が行われていれば、ホスト側でcomposer installしてもゲスト(Virtualbox)側で行っても結果は変わりません。 ホスト側で実行するのであれば、composer.phar自体もディレクトリ内に存在する必要はありません。 ただし、共有フォルダ設定がrsyncタイプの場合は、ホスト側でcomposer install後に、vagrant rsyncでファイルを同期する必要があります。 回答者: Anonymous

bash: &&で実行されるコマンドリストのkill

投稿者: Anonymous 以下のようなシェルスクリプトtest.shがあります。 #!/bin/bash for i in $(seq 10); do echo "i=$i" sleep 1 done それを以下のように実行した場合、 kill $P1 でプロセス./test.shは直ちに終了します。 #!/bin/bash ./test.sh & P1=$! sleep 3 kill $P1 echo "end" i=1 i=2 i=3 end ただし./test.shのあとに&&で後続コマンドを設定した場合、./test.shは kill $P1 で終了しません。 #!/bin/bash ./test.sh && echo "yes" & P1=$! sleep 3 kill $P1 echo "end" i=1 i=2 i=3 end i=4…(Continue Reading)

eclipseでvmlinux-gdb.pyを有効にする方法

投稿者: Anonymous qemuをつかってlinuxカーネルデバッグをします linuxカーネルは4.2.6でconfigにGDB_SCRIPT=yとしています。 GDB_SCRIPT=yとしていますので、vmlinuxと同じディレクトリにvmlinux-gdb.pyへのリンクができます。 これにより、gdb起動時にvmlinux-gdb.pyが自動的に読み込まれ lx-dmesg, lx-lsmod, lx-symbolなどのコマンドが使えるようになります。 linuxの起動はqemuを以下のコマンドで起動しています。 qemu-system-x86_64 -hda Debian-jessie_amd64.qcow -m 4G -net nic,model=e1000 -net tap,ifname=tap-qemu0,script=no -s -sオプションを付けていますので、target remote :1234でgdbに接続できます。 gdbの起動は以下のようにします。 gdb vmlinux target remote :1234 ここでlx-dmesgなどのコマンドが使用出来ています。 問題はここからです これをeclipse CDTのGDB Hardware Debuggingを使用してeclipse上で実行するときです。 breakpointやcontinueなどのデバッグ機能はうまく動きます。 しかしながら、eclipseのgdbコンソールからlx-dmesgと入力しても Undefined commandと言われて使うことができません vmlinux-gdb.pyが自動で読み込まれていないようなのですが これを読み込ませる方法をお教えください。 解決 自己解決です。 EclipseのGDB Heardware DebuggingはGDBの起動の際に-nxオプションをつけて ~/.gdbinitを読み込みません。 ~/.gdbinitにはpythonの自動ロードを許可するために set auto-load safe-path / を含めていました。 しかし~/.gdbinitを読み込まないためset auto-load…(Continue Reading)

さくらのレンタルサーバーにSSHでログインして残り容量を確認する方法

投稿者: Anonymous さくらのレンタルサーバーのスタンダードプランを契約してて、SSHでログイン後にディスク残量を調べようとdf -hすると以下のように共用サーバーなので全容量の残りしか表示されなかったんですが、 % df -h Filesystem Size Used Avail Capacity Mounted on /dev/vtbd0p2 2G 238M 1.6G 13% / devfs 1.0k 1.0k 0B 100% /dev /dev/vtbd0p4 3.9G 1.6G 2G 44% /usr /dev/vtbd0p5 19G 1.9G 16G 10% /var /dev/vtbd1 2T 149G 1.7T 8% /home コマンドライン上から自分が使える残り容量を確認する方法はありますか? もちろんコントロールパネルにログインして確認すればわかるんですが、コマンドライン上から確認できると便利なので方法があるなら知りたいです。 解決 quotaコマンドはどうでしょう? quota -h とか。 回答者: Anonymous

Webサーバー(Apache2.4)でmod_rewrite モジュールを読み込む方法

投稿者: Anonymous 【質問の主旨】 Webサーバー(Apache2.4)でmod_rewrite モジュールを読み込む方法を教えてください。 【質問の補足】 1. 【質問の主旨】に関するサーバーなどの環境は以下の通りです。 サーバー: さくらのVPS OS : CentOS Linux release 7.6.1810 (Core) Webサーバー : Apache/2.4.6 (CentOS) 2. Webサーバーにおいてmod_rewriteを読み込む理由はこちらのサイトでWordPressのREST APIを有効化するためです。先日、WordPressフォーラムで質問をしましたが、mod_rewriteモジュールの読み込む方法については他の質問投稿サイトで行った方が良いと考えて「スタック・オーバーフロー」で質問しました。 解決 CentOS 7 標準の Apache 2.4 のパッケージ httpd に含まれる /etc/httpd/conf.modules.d/00-base.conf で最初から mod_rewrite をロードする設定が記述されています。こんな↓内容の行。 LoadModule rewrite_module modules/mod_rewrite.so この設定ファイルは Apache httpd の設定ファイル /etc/httpd/conf/httpd.conf で読み込むようになっています。こんな↓内容の行。 Include conf.modules.d/*.conf 現在の設定でどのようなモジュールが有効になっているかは、次のように httpd コマンドで確認できます。 # httpd -t -D…(Continue Reading)

linuxでの共有ライブラリのリンクについて

投稿者: Anonymous linuxでmakefileを書く際に、以下のような共有ライブラリのリンクの仕方が分からず、困っています。 【やりたいこと】 [実行ファイル]–>[libA.so]–>[libB.so] という依存関係 libA.soを作るためのMakefileに-lBと記述し、実行ファイル側を作るためのMakefileには-lA とだけ記述したい。 【現状】 私が書いているMakefileだと、実行ファイルを作るためのMakefileに -lA -lBと記述しないとリンクエラーになってしまいます。 シンプルなMakefileのサンプルなどあれば教えていただけないでしょうか。 よろしくお願いします。 解決 ld のエラーメッセージに促されるまま -rpath を付けたら通りました。 こんな感じで。 all: exe exe: main.c liba.so gcc -o exe main.c -L. -la liba.so: a.c libb.so gcc -c -fPIC a.c gcc a.o -shared -o liba.so -L. -Wl,-rpath,. -lb libb.so: b.c gcc -c -fPIC b.c gcc b.o -shared -o libb.so…(Continue Reading)

Linuxでビルドしてインストールしたrubyに関するファイルをすべて削除するには

投稿者: Anonymous Linux環境でrubyをビルドして /usr/local 以下にインストールしました。 その後 rbenv でrubyをインストールしたため /usr/local/bin にあるrubyが不要になりました。 また、gemをインストールしたときに /usr/local/bin に置かれたコマンドも削除したいです。 /usr/local 以下のrubyに関するファイルをすべて削除する方法はありますか。 解決 アーカイブを展開してmakeした後のディレクトリに”.installed.list”という名前のファイルがあると思うので、探してください。その中に、インストールされたファイルのリストが記録されています。各種記録されているファイルの場所が/usr/local下であれば、.install.listに書かれたファイルを消していけば、ご希望のお掃除ができると思います。注意点としては、ディレクトリは消さずに、ファイルのみ削除してください。 gemについては、gemsディレクトリ丸ごとと、gemコマンドを消せば良いと思います。 上記作業によって消してはいけないファイルを消してしまうかも知れないので、削除行為はくれぐれもご注意を・・・(消さずに一旦 ~/tmp とかに移動させてしばらく様子見る、とかがオススメです)。 回答者: Anonymous

ある時刻の、特定の pid のプロセスと、別の時刻における同じ pid のプロセスの同一性の判定はできる?

投稿者: Anonymous ps コマンドなどを実行すると、ある時刻の特定のプロセスに、何の pid が割り振られているかを確認することができます。 別の時刻にもう一回 ps を実行すると、先ほど確認した pid を持つプロセスがあるかどうかを確認することができますが、 linux/unix では pid が使い回されることを考えると、この、別の時刻において取得された pid に紐づいたプロセスは、必ずしも前に取得した際のプロセスとは同一ではないと思っています。 たとえば、 pid を記録しておいて、のちのちにプロセス制御でその pid を利用する場合に、万が一、再利用によって別プロセスになっていた場合に、事故のようなことが起きたら嫌だな、と考えると、以下の疑問が生じました。 質問 ある別々の時刻で特定の pid に対応するプロセスを取得したときに、これらが同一のものであるかを確認するための手段はありますか? 解決 この記事だと、PIDと開始時間を組み合わせるのが良い、という意見ですね。 Uniquely identifying processes in Linux Thankfully, the kernel associates another useful piece of information with a process: it’s start time. The combination of PID and start time…(Continue Reading)

Lighttpd 上で FastCGI の C言語のプログラムから `system()` で外部コマンドを実行したい

投稿者: Anonymous Lighttpd と FastCGI をつかって、 C言語で書いたプログラムの中から、 system() で外部コマンドを実行というのは出来るのでしょうか。 system(“ls”) は実行出来たが、 system(“fswebcam・・・”) はダメです。 実行可能にするために、どこかに設定すべき項目があるのでしょうか。 <<<追補です>>> アドバイスありがとうございます。 下記のようなプログラムでUSBカメラで撮影をしようとしています。 “TEST ABCDE”、”Request number xx”といった printfでのHTML出力は表示されるのでプログラム自体は実行されてるようです。 ただ、system(“fswebcam・・・”)で写真が撮れません。 ./test.fcgiをキーインして実行させると、撮れます。 fcgiから動いてるcのプログラムから、さらにsystem( )で外部のコマンドを実行するときに、セキュリティ対策などで制限があるのか、あるとすれば解除する方法があるのかがわかりません。 実行権、オーナー、グループなど試したのですが解決できませんでした。 #include <fcgi_stdio.h> #include <stdlib.h> int main(int c, char** argv){ int count = 0; while (FCGI_Accept() >= 0){ printf(“Content-type: text/htmlrn” “rn” “<html>n” “<head>n” “<title>FastCGI Test</title>n” “</head>n”); printf(“<body>n”); printf(“<p>TEST ABCDE</p>n”);…(Continue Reading)

YAMAHA RT58i でローカルエリア内の名前解決をする設定方法は?

投稿者: Anonymous 実現したいこと 家庭内(ローカルエリア内)にあるIoTデバイスのIPアドレスを固定してローカルエリア内からホスト名又はFQDNでIoTデバイスに接続できるようにしたいと思っています。 指定したMACアドレスをもとにIoTデバイスのIPアドレスを固定したい。 固定したIPアドレスのデバイスに対してローカルエリア内からホスト名又はFQDNでアクセスしたい。 ※外部(インターネット側)からのアクセスは想定していません。ローカルエリア内(192.168.0.xxx)内での名前解決を想定しています。 ローカルエリア内からアクセスする例) ping pi ping pi.local 現在の環境 回線 : AU光 Modem : NEC Aterm BL172HV Aterm BL172HV Internet —– Modem —– HUB —– TV 192.168.0.1 |- iPhone DHCP on : 変更後の環境 DHCP,DNS 専用 Server : YAMAHA RT58i ※ルーターですが機能を提供する意味でServerと記しています。 HOST-NAME Aterm BL172HV DHCP on Internet —– Modem —– HUB —–…(Continue Reading)

¿Cómo puedo guardar la salida estándar en un fichero y los mensajes de error en otro?

publicado por: Anonymous No logro que me guarde cada una de las salidas en los ficheros. El siguiente comando UNIX busca nombres de ficheros y directorios a partir de un determinado directorio (en el caso del comando indicado el directorio raíz): find / -name passwd -print Como se puede ver al ejecutarlo se mezclan la…(Continue Reading)

¿Cómo puedo modificar el formato de una fecha con shell scripting?

publicado por: Anonymous Tengo una cadena en shell script: FECHA=20171231 ¿Cómo puedo separar el año, mes y el día y volverlo a montar así: 2017/12/31 o dejarlo 31/12/2017? He probado para sacar el días así, pero me he atascado en sacar los demás. DIAS=”${FECHA:(-2)}” Output: 31 solución Sin duda la respuesta de fedorqui es la…(Continue Reading)

Linux におけるデフォルトルートについて

投稿者: Anonymous Container-Linux を KVM 上で運用しようと考えておりますが, 構築時のネットワーク疎通でつまづいています. ゲストである Container-Linux から KVM ホストへの ping 疎通はありますが, KVM ホストから ゲストへの ping 疎通が Destination Host unreachable となってしまいます. また, ゲストから外部セグメントへの疎通も行えませんでした. ゲストのルーティングテーブルを確認(ip route show)したところ, 下記の出力を得ました. default via 192.168.101.126 dev lo proto static default via 192.168.101.126 dev ens2 proto static 192.168.101.0/25 dev ens2 proto kernel scope link src 192.168.101.2 デフォルトルートの出力デバイスに lo が使われていると推測しております.…(Continue Reading)

no puedo abrir puertos en CentOS 7

publicado por: Anonymous tengo un problema, ya que no puedo abrir puertos en CentOS 7. Intento abrir el puerto 80 con la siguiente instrucción: –firewall-cmd –zone=trusted –add-port=80/tcp –permanent Con esto me confirma que el puerto esta abierto, reinicio el comando para aplicar conf. –firewall-cmd –reload Aplico un nmap localhost 80 y este no me aparece…(Continue Reading)

Linuxのキャッシュを削除する方法について

投稿者: Anonymous CentOS7でベンチマークを複数回実行してパフォーマンスを計測したいのですが、sync && echo 3 > /proc/sys/vm/drop_cachesコマンドによってメモリの開放を行ってもキャッシュがほとんど解放されないため、正しくパフォーマンスを計ることができません。 以下、実行例です。 # free -m total used free shared buff/cache available Mem: 64188 529 63358 257 300 63022 Swap: 0 0 0 # free > /dev/null && sync && echo 3 > /proc/sys/vm/drop_caches && free > /dev/null; # free -m total used free shared buff/cache available Mem: 64188…(Continue Reading)

nuttX、Linuxでのシリアル通信の作法について

投稿者: Anonymous spresense SDK(nuttX)にて、ESP8266とシリアル通信する事でwifiに接続しようとしています。 spresenseとESP8266の間の結線には問題なく、見様見真似でやってみた通信の結果、 ttyS2(spresense側のUARTポート)に対して送出した”AT”に対して、”OK”と返答が返ってくる事は確認済みです。 見様見真似とは、以下の様なコードです。 main() { fd = open(“/dev/ttyS2”, O_RDWR); if (fd < 0) { printf(“%s open error.n”, “/dev/ttyS2″); } write_serial(fd); read_serial(fd); …省略 } write_serial(int fd) { char buffer[30]; memset(buffer,0,sizeof(buffer)); sprintf(buffer,”%srn”,”AT”); write(fd,buffer,sizeof(buffer)); printf(“[write_serial]wrote = %sn”, buffer); } void read_serial(int fd) { char buffer[30]; int len; len = read(fd,&buffer,16); if(len > 0) {…(Continue Reading)

Warning: deprecated conversion from string constant

publicado por: Anonymous Tengo un warning que no puedo quitar…el mismo me dice “deprecated conversion from string constant to char*”. El código donde se queja es el siguiente: class THREE_DATA_4_COMPUTE { public: THREE_DATA_4_COMPUTE(const QString &cn, char* umn = “”, const QString &un = (const QString)””) { this->curveName = cn; this->unitModuleName = umn; this->unitName = un;…(Continue Reading)