{ "version": "https://jsonfeed.org/version/1.1", "user_comment": "This feed allows you to read the posts from this site in any feed reader that supports the JSON Feed format. To add this feed to your reader, copy the following URL -- https://matoken.org/blog/category/linux/debian-linux/jessie-debian-linux/feed/json -- and add it your reader.", "home_page_url": "https://matoken.org/blog/category/linux/debian-linux/jessie-debian-linux", "feed_url": "https://matoken.org/blog/category/linux/debian-linux/jessie-debian-linux/feed/json", "language": "ja", "title": "jessie – matoken's blog", "description": "Is there no plan B?", "icon": "https://matoken.org/blog/wp-content/uploads/2025/03/cropped-1865f695c4eecc844385acef2f078255036adccd42c254580ea3844543ab56d9.jpeg", "items": [ { "id": "http://matoken.org/blog/?p=1891", "url": "https://matoken.org/blog/2018/05/21/try-terminal-base-masodon-client-nanotodon/", "title": "terminal\u3067\u52d5\u4f5c\u3059\u308bMastodon client\u306enanotodon\u3092\u8a66\u3057\u3066\u307f\u305f", "content_html": "
mikutodon\u3092Debian jessie armhf\u306b\u5165\u308c\u3066\u307f\u305f\uff0eMakefile\u3092\u4fee\u6b63\u3057\u305f\u3089\u52d5\u3044\u305f\u3051\u3069\u6587\u5b57\u5316\u3051\u3059\u308b\uff0e\u3061\u306a\u307f\u306bDebian sid amd64\u3067\u306f\u554f\u984c\u306a\u304f\u52d5\u4f5c\u3057\u305f\uff0e
\n\n$ cat /etc/debian_version \r\n8.10\r\n$ uname -m\r\narmv7l\r\n\n$ sudo apt install build-essential libcurl4-openssl-dev libjson-c-dev libncurses-dev libncursesw5\r\n$ dpkg-query -W build-essential libcurl4-openssl-dev libjson-c-dev libncurses-dev libncursesw5\r\nbuild-essential 11.7\r\nlibcurl4-openssl-dev:armhf 7.38.0-4+deb8u11\r\nlibjson-c-dev:armhf 0.11-4\r\nlibncurses-dev \r\nlibncursesw5:armhf 5.9+20140913-1+deb8u2\r\n\n\uff1c\u8ffd\u8a18\uff1e
\n\u5165\u3063\u3066\u306a\u3044\u5834\u5408git\u3082\u5fc5\u8981\u3067\u3059\u306d $ sudo apt install git
\n\uff1c\uff0f\u8ffd\u8a18\uff1e
source\u5165\u624b
\n$ git clone https://github.com/taka-tuos/nanotodon\r\n\n\u30b3\u30b1\u305f
\n$ cd nanotodon\r\n$ make\r\nmake -r nanotodon\r\nmake[1]: Entering directory '/home/chip/src/nanotodon'\r\ngcc -c -g -o nanotodon.o nanotodon.c\r\nnanotodon.c: In function 'stream_event_notify':\r\nnanotodon.c:110:12: warning: initialization discards 'const' qualifier from pointer target type\r\n char *t = json_object_get_string(notify_type);\r\n ^\r\nnanotodon.c: At top level:\r\nnanotodon.c:138:6: warning: conflicting types for 'stream_event_update'\r\n void stream_event_update(struct json_object *jobj_from_string)\r\n ^\r\nnanotodon.c:128:3: note: previous implicit declaration of 'stream_event_update' was here\r\n stream_event_update(status);\r\n ^\r\nnanotodon.c: In function 'stream_event_update':\r\nnanotodon.c:180:14: warning: initialization discards 'const' qualifier from pointer target type\r\n char *src = json_object_get_string(content);\r\n ^\r\nnanotodon.c:226:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode\r\n for (int i = 0; i < json_object_array_length(media_attachments); ++i) {\r\n ^\r\nnanotodon.c:226:3: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code\r\nnanotodon.c:245:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode\r\n for(int i = 0; i < term_w - (l + 4); i++) waddstr(scr, " ");\r\n ^\r\nnanotodon.c: At top level:\r\nnanotodon.c:589:6: warning: conflicting types for 'do_htl'\r\n void do_htl()\r\n ^\r\nnanotodon.c:303:2: note: previous implicit declaration of 'do_htl' was here\r\n do_htl();\r\n ^\r\nnanotodon.c: In function 'do_htl':\r\nnanotodon.c:618:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode\r\n for (int i = json_object_array_length(jobj_from_string) - 1; i >= 0; i--) {\r\n ^\r\nnanotodon.c: In function 'main':\r\nnanotodon.c:751:2: error: 'for' loop initial declarations are only allowed in C99 or C11 mode\r\n for(int i = 0; i < term_w; i++) mvaddch(5, i, '-');\r\n ^\r\nnanotodon.c:777:4: error: 'for' loop initial declarations are only allowed in C99 or C11 mode\r\n for(int i = 0; i < term_w; i++) mvaddch(5, i, '-');\r\n ^\r\nnanotodon.c:802:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode\r\n for(int i = 0; i < txt.stringlen; i++) {\r\n ^\r\nMakefile.in:21: recipe for target 'nanotodon.o' failed\r\nmake[1]: *** [nanotodon.o] Error 1\r\nmake[1]: Leaving directory '/home/chip/src/nanotodon'\r\nMakefile.in:11: recipe for target 'default' failed\r\nmake: *** [default] Error 2\r\n\nMakefile\u3092\u4fee\u6b63\u3057\u305f\u3089\u901a\u3063\u305f
\ndiff --git a/Makefile b/Makefile\r\nindex ac1828f..a35ee6a 100644\r\n--- a/Makefile\r\n+++ b/Makefile\r\n@@ -1,7 +1,7 @@\r\n TARGET = nanotodon\r\n OBJS_TARGET = nanotodon.o\r\n \r\n-CFLAGS = -g\r\n+CFLAGS = -g -std=gnu99\r\n LDFLAGS = \r\n LIBS = -lc -lm -lcurl -ljson-c -lncursesw -lpthread\r\n \r\n\n\u6587\u5b57\u5316\u3051><
\n\nDebian sid amd64\u3067\u306fMakefile\u306e\u66f8\u304d\u63db\u3048\u3082\u5fc5\u8981\u306a\u304f\u6587\u5b57\u5316\u3051\u3082\u3057\u306a\u3044\uff0e
\n\n$ cat /etc/debian_version \r\nbuster/sid\r\n$ uname -m\r\nx86_64\r\n$ dpkg-query -W build-essential libcurl4-openssl-dev libjson-c-dev libncurses-dev libncursesw5\r\nbuild-essential 12.5\r\nlibcurl4-openssl-dev:amd64 7.60.0-1\r\nlibjson-c-dev:amd64 0.12.1-1.3\r\nlibncurses-dev:amd64 6.1+20180210-3\r\nlibncursesw5:amd64 6.1+20180210-3\r\n\n",
"content_text": "mikutodon\u3092Debian jessie armhf\u306b\u5165\u308c\u3066\u307f\u305f\uff0eMakefile\u3092\u4fee\u6b63\u3057\u305f\u3089\u52d5\u3044\u305f\u3051\u3069\u6587\u5b57\u5316\u3051\u3059\u308b\uff0e\u3061\u306a\u307f\u306bDebian sid amd64\u3067\u306f\u554f\u984c\u306a\u304f\u52d5\u4f5c\u3057\u305f\uff0e\n\ntaka-tuos/nanotodon: CUI/C99 mastodon\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3000\u203b\u30b3\u30fc\u30c9\u304c\u30ab\u30aa\u30b9\u3067\u3059\n\n$ cat /etc/debian_version \r\n8.10\r\n$ uname -m\r\narmv7l\r\n\n\u30e9\u30a4\u30d6\u30e9\u30ea\u7b49\u5c0e\u5165\n$ sudo apt install build-essential libcurl4-openssl-dev libjson-c-dev libncurses-dev libncursesw5\r\n$ dpkg-query -W build-essential libcurl4-openssl-dev libjson-c-dev libncurses-dev libncursesw5\r\nbuild-essential 11.7\r\nlibcurl4-openssl-dev:armhf 7.38.0-4+deb8u11\r\nlibjson-c-dev:armhf 0.11-4\r\nlibncurses-dev \r\nlibncursesw5:armhf 5.9+20140913-1+deb8u2\r\n\n\uff1c\u8ffd\u8a18\uff1e\n\u5165\u3063\u3066\u306a\u3044\u5834\u5408git\u3082\u5fc5\u8981\u3067\u3059\u306d $ sudo apt install git\n\uff1c\uff0f\u8ffd\u8a18\uff1e\nsource\u5165\u624b\n$ git clone https://github.com/taka-tuos/nanotodon\r\n\nmake\n\u30b3\u30b1\u305f\n$ cd nanotodon\r\n$ make\r\nmake -r nanotodon\r\nmake[1]: Entering directory '/home/chip/src/nanotodon'\r\ngcc -c -g -o nanotodon.o nanotodon.c\r\nnanotodon.c: In function 'stream_event_notify':\r\nnanotodon.c:110:12: warning: initialization discards 'const' qualifier from pointer target type\r\n char *t = json_object_get_string(notify_type);\r\n ^\r\nnanotodon.c: At top level:\r\nnanotodon.c:138:6: warning: conflicting types for 'stream_event_update'\r\n void stream_event_update(struct json_object *jobj_from_string)\r\n ^\r\nnanotodon.c:128:3: note: previous implicit declaration of 'stream_event_update' was here\r\n stream_event_update(status);\r\n ^\r\nnanotodon.c: In function 'stream_event_update':\r\nnanotodon.c:180:14: warning: initialization discards 'const' qualifier from pointer target type\r\n char *src = json_object_get_string(content);\r\n ^\r\nnanotodon.c:226:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode\r\n for (int i = 0; i < json_object_array_length(media_attachments); ++i) {\r\n ^\r\nnanotodon.c:226:3: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code\r\nnanotodon.c:245:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode\r\n for(int i = 0; i < term_w - (l + 4); i++) waddstr(scr, " ");\r\n ^\r\nnanotodon.c: At top level:\r\nnanotodon.c:589:6: warning: conflicting types for 'do_htl'\r\n void do_htl()\r\n ^\r\nnanotodon.c:303:2: note: previous implicit declaration of 'do_htl' was here\r\n do_htl();\r\n ^\r\nnanotodon.c: In function 'do_htl':\r\nnanotodon.c:618:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode\r\n for (int i = json_object_array_length(jobj_from_string) - 1; i >= 0; i--) {\r\n ^\r\nnanotodon.c: In function 'main':\r\nnanotodon.c:751:2: error: 'for' loop initial declarations are only allowed in C99 or C11 mode\r\n for(int i = 0; i < term_w; i++) mvaddch(5, i, '-');\r\n ^\r\nnanotodon.c:777:4: error: 'for' loop initial declarations are only allowed in C99 or C11 mode\r\n for(int i = 0; i < term_w; i++) mvaddch(5, i, '-');\r\n ^\r\nnanotodon.c:802:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode\r\n for(int i = 0; i < txt.stringlen; i++) {\r\n ^\r\nMakefile.in:21: recipe for target 'nanotodon.o' failed\r\nmake[1]: *** [nanotodon.o] Error 1\r\nmake[1]: Leaving directory '/home/chip/src/nanotodon'\r\nMakefile.in:11: recipe for target 'default' failed\r\nmake: *** [default] Error 2\r\n\nMakefile\u3092\u4fee\u6b63\u3057\u305f\u3089\u901a\u3063\u305f\ndiff --git a/Makefile b/Makefile\r\nindex ac1828f..a35ee6a 100644\r\n--- a/Makefile\r\n+++ b/Makefile\r\n@@ -1,7 +1,7 @@\r\n TARGET = nanotodon\r\n OBJS_TARGET = nanotodon.o\r\n \r\n-CFLAGS = -g\r\n+CFLAGS = -g -std=gnu99\r\n LDFLAGS = \r\n LIBS = -lc -lm -lcurl -ljson-c -lncursesw -lpthread\r\n \r\n\n\u6587\u5b57\u5316\u3051><\n\nDebian sid amd64\u3067\u306fMakefile\u306e\u66f8\u304d\u63db\u3048\u3082\u5fc5\u8981\u306a\u304f\u6587\u5b57\u5316\u3051\u3082\u3057\u306a\u3044\uff0e\n\n$ cat /etc/debian_version \r\nbuster/sid\r\n$ uname -m\r\nx86_64\r\n$ dpkg-query -W build-essential libcurl4-openssl-dev libjson-c-dev libncurses-dev libncursesw5\r\nbuild-essential 12.5\r\nlibcurl4-openssl-dev:amd64 7.60.0-1\r\nlibjson-c-dev:amd64 0.12.1-1.3\r\nlibncurses-dev:amd64 6.1+20180210-3\r\nlibncursesw5:amd64 6.1+20180210-3",
"date_published": "2018-05-21T20:15:51+09:00",
"date_modified": "2018-05-22T00:11:57+09:00",
"authors": [
{
"name": "matoken",
"url": "https://matoken.org/blog/author/matoken/",
"avatar": "https://secure.gravatar.com/avatar/1865f695c4eecc844385acef2f078255036adccd42c254580ea3844543ab56d9?s=512&d=mm&r=g"
}
],
"author": {
"name": "matoken",
"url": "https://matoken.org/blog/author/matoken/",
"avatar": "https://secure.gravatar.com/avatar/1865f695c4eecc844385acef2f078255036adccd42c254580ea3844543ab56d9?s=512&d=mm&r=g"
},
"tags": [
"armhf",
"mastodon",
"nanotodon",
"Debian",
"jessie",
"Linux",
"sid"
]
},
{
"id": "http://matoken.org/blog/?p=1721",
"url": "https://matoken.org/blog/2017/12/07/i-put-the-linux-arm-version-vivaldi/",
"title": "Linux ARM\u7248Vivaldi\u3092\u5165\u308c\u3066\u307f\u305f",
"content_html": "\nOpera\u306e\u5171\u540c\u5275\u8a2d\u8005\u3067CEO\u3060\u3063\u305fJon Stephenson von Tetzchner\u306b\u3088\u3063\u3066\u8a2d\u7acb\u3055\u308c\u305fVivaldi Technologies\u306b\u3088\u3063\u3066\u958b\u767a\u3055\u308c\u3066\u3044\u308b\u30a6\u30a7\u30d6\u30d6\u30e9\u30a6\u30b6\u304c\u3042\u308a\u307e\u3059\uff0e
\n\u3053\u308c\u307e\u3067x86/x64\u30d7\u30e9\u30c3\u30c8\u30db\u30fc\u30e0\u306eWindows/macOS/Linux\u7248\u304c\u63d0\u4f9b\u3055\u308c\u3066\u3044\u307e\u3057\u305f\u304c\uff0c2017/12/05\u306bLinux ARM\u7248(armhf)\u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u307e\u3057\u305f\uff0e
Raspberry Pi\u306eRaspbian\u304c\u30e1\u30a4\u30f3\u306e\u3088\u3046\u3067\u3059\u304c\uff0c\u4ed6\u306eARM\u74b0\u5883\u3067\u3082\u8a66\u3057\u305f\u3089\u666e\u901a\u306b\u52d5\u304d\u307e\u3057\u305f :)
\n\u3068\u3044\u3063\u3066\u3082\u3084\u306f\u308aRAM512MB\u306e\u3088\u3046\u306a\u30de\u30b7\u30f3\u3067\u306f\u8f9b\u3044\u3067\u3059\u306d\uff0eRAM2GB\u306e\u30de\u30b7\u30f3\u3060\u3068\u4eca\u306e\u3068\u3053\u308d\u3044\u3044\u611f\u3058\u305d\u3046\u3067\u3059\uff0eMidori\u3084qutebrowser\u3067\u3046\u307e\u304f\u8868\u793a\u3067\u304d\u306a\u3044Mastodon\u3084gmail/Google+\u306a\u3069\u3082\u554f\u984c\u306a\u304f\u8868\u793a\u3067\u304d\u307e\u3059\u3057\uff0cChrome\u306e\u62e1\u5f35\u6a5f\u80fd\u3082\u4f7f\u3048\u307e\u3059\uff0e
\n$ wget https://downloads.vivaldi.com/stable/vivaldi-stable_1.13.1008.34-1_armhf.deb\r\n\n
hash\u3068\u304b\u898b\u5f53\u305f\u3089\u306a\u3044\u3051\u3069\u624b\u5143\u3067\u306f\u3053\u3093\u306a\u611f\u3058\u3060\u3063\u305f
\n$ md5sum vivaldi-stable_1.13.1008.34-1_armhf.deb \r\n7515f51385a9a264ad5bb7612438aeda vivaldi-stable_1.13.1008.34-1_armhf.deb\r\n$ sha1sum vivaldi-stable_1.13.1008.34-1_armhf.deb \r\n6b103d205f6aa7a5f3b394ba8d32dc9ca87bf0cd vivaldi-stable_1.13.1008.34-1_armhf.deb\r\n$ sha256sum vivaldi-stable_1.13.1008.34-1_armhf.deb \r\ne7af5d021bf0c2968fcf0271e8f741552e34bcf2d032318eb8ea95356067297d vivaldi-stable_1.13.1008.34-1_armhf.deb\r\n$ sha512sum vivaldi-stable_1.13.1008.34-1_armhf.deb \r\nf47f2d26e8045af9ba680129feca765cf3f9dc7ea76930071e9688ef50aa78a482b40ba5747fb4470d30520177bda371ec79e5a210a93dcf2e49251425001c6d vivaldi-stable_1.13.1008.34-1_armhf.deb\r\n\n
$ dpkg-deb -I ./vivaldi-stable_1.13.1008.34-1_armhf.deb\r\n \u65b0\u5f62\u5f0f debian \u30d1\u30c3\u30b1\u30fc\u30b8\u3001\u30d0\u30fc\u30b8\u30e7\u30f3 2.0\u3002\r\n \u30b5\u30a4\u30ba 45154158 \u30d0\u30a4\u30c8: \u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u30a2\u30fc\u30ab\u30a4\u30d6 = 9840 \u30d0\u30a4\u30c8\u3002\r\n 1269 \u30d0\u30a4\u30c8\u3001 16 \u884c control \r\n 15872 \u30d0\u30a4\u30c8\u3001 442 \u884c * postinst #!/bin/sh\r\n 12544 \u30d0\u30a4\u30c8\u3001 324 \u884c * postrm #!/bin/sh\r\n 1220 \u30d0\u30a4\u30c8\u3001 42 \u884c * prerm #!/bin/sh\r\n Package: vivaldi-stable\r\n Version: 1.13.1008.34-1\r\n Architecture: armhf\r\n Maintainer: Vivaldi Package Composer <packager@vivaldi.com>\r\n Installed-Size: 131921\r\n Pre-Depends: dpkg (>= 1.14.0)\r\n Depends: gconf-service, libasound2 (>= 1.0.16), libatk1.0-0 (>= 1.12.4), libc6 (>= 2.16), libcairo2 (>= 1.6.0), libcups2 (>= 1.4.0), libdbus-1-3 (>= 1.2.14), libexpat1 (>= 2.0.1), libfontconfig1 (>= 2.8.0), libgcc1 (>= 1:4.4.0), libgconf-2-4 (>= 3.2.5), libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.28.0), libgtk-3-0 (>= 3.9.10), libnspr4 (>= 2:4.9-2~), libpango-1.0-0 (>= 1.14.0), libpangocairo-1.0-0 (>= 1.14.0), libx11-6 (>= 2:1.4.99.1), libx11-xcb1, libxcb1 (>= 1.6), libxcomposite1 (>= 1:0.3-1), libxcursor1 (>> 1.1.2), libxdamage1 (>= 1:1.1), libxext6, libxfixes3, libxi6 (>= 2:1.2.99.4), libxrandr2 (>= 2:1.2.99.3), libxrender1, libxss1, libxtst6, ca-certificates, fonts-liberation, libnss3 (>= 3.26), xdg-utils (>= 1.0.2), wget\r\n Recommends: adobe-flashplugin, chromium-codecs-ffmpeg-extra\r\n Conflicts: vivaldi-beta, vivaldi-preview\r\n Replaces: vivaldi-beta, vivaldi-preview\r\n Provides: www-browser\r\n Section: web\r\n Priority: optional\r\n Homepage: https://vivaldi.com\r\n Description: A new browser for our friends\r\n Vivaldi browser is made with power users in mind by people who love the Web.\r\n\n
\u3068\u308a\u3042\u3048\u305aDebian jessie armhf/Ubuntu 16.04 LTS aarch64\u3067\u52d5\u3044\u3066\u3044\u308b\uff0e
\n$ sudo dpkg -i ./vivaldi-stable_1.13.1008.34-1_armhf.deb\r\n\n
\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u4f9d\u5b58\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u8db3\u308a\u306a\u3044\u5834\u5408\u306f\uff0c
\ndpkg: \u4f9d\u5b58\u95a2\u4fc2\u306e\u554f\u984c\u306b\u3088\u308a vivaldi-stable:armhf \u306e\u8a2d\u5b9a\u304c\u3067\u304d\u307e\u305b\u3093:\r\n vivaldi-stable:armhf \u306f\u4ee5\u4e0b\u306b\u4f9d\u5b58 (depends) \u3057\u307e\u3059: libnss3 (>= 3.26)...\u3057\u304b\u3057:\r\n \u30d1\u30c3\u30b1\u30fc\u30b8 libnss3:armhf \u306f\u307e\u3060\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\r\n\r\ndpkg: \u30d1\u30c3\u30b1\u30fc\u30b8 vivaldi-stable:armhf \u306e\u51e6\u7406\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f (--install):\r\n \u4f9d\u5b58\u95a2\u4fc2\u306e\u554f\u984c - \u8a2d\u5b9a\u3092\u898b\u9001\u308a\u307e\u3059\r\n\n
\u3053\u3093\u306a\u611f\u3058\u3067\u8db3\u308a\u306a\u3044pkg\u304c\u5165\u308b\u306f\u305a\uff0e\u305d\u306e\u5f8c\u898b\u9001\u3089\u308c\u3066\u3044\u305fvivaldi-stable\u306e\u8a2d\u5b9a\u306e\u7d9a\u304d\u3082\u5b9f\u884c\u3055\u308c\u308b\uff0e
\n$ sudo apt install -f\r\n\n
aarch64\u3067\u3082\u8a66\u3057\u305f\uff0e
\n\u65e2\u306badd archtecture armhf\u3057\u3066\u8272\u3005\u5165\u308c\u3066\u3044\u305f\u74b0\u5883\u306b\u5165\u308c\u3066\u30af\u30ea\u30fc\u30f3\u306a\u74b0\u5883\u3067\u691c\u8a3c\u3057\u3066\u3044\u306a\u3044\u3051\u3069\u591a\u5206\u3053\u3093\u306a\u611f\u3058\uff0e
$ sudo dpkg --add-architecture armhf\r\n$ sudo apt update\r\n$ sudo dpkg -i ./vivaldi-stable_1.13.1008.34-1_armhf.deb\r\n$ sudo apt install -f\r\n\n
—-\u8ffd\u8a18—-
\n\u30af\u30ea\u30fc\u30f3\u306aDragonBoard 410c\u306bDebian stretch aarch64(lonaro)\u3092\u5165\u308c\u305f\u74b0\u5883\u3067\u3082\u78ba\u8a8d\u3057\u305f\u304c\u3053\u306e\u624b\u9806\u3067ok\u3060\u3063\u305f :)
\n—-\u8ffd\u8a18\u7d42\u308f\u308a—-
deb\u4ee5\u5916\u306e\u74b0\u5883\u3067\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u9069\u5f53\u306a\u5834\u6240\u306b\u5c55\u958b\u3057\u3066\u52d5\u304b\u305b\u305f\uff0e
\n$ mkdir -p ~/opt/vivaldi\r\n$ ar p vivaldi-stable_1.13.1008.34-1_armhf.deb data.tar.xz | tar xJ -C ~/opt/vivaldi\r\n$ rm vivaldi-stable_1.13.1008.34-1_armhf.deb\r\n$ ~/opt/vivaldi/opt/vivaldi/vivaldi\r\n\nSlackware\u3060\u3068\u4ee5\u4e0b\u306esctipt\u304c\u4f7f\u3048\u305d\u3046(\u672a\u78ba\u8a8d)
\n\n\u3082\u3057\uff0c\u3053\u3093\u306a\u30a8\u30e9\u30fc\u304c\u51fa\u305f\u3089
\n$ ~/opt/vivaldi/opt/vivaldi/vivaldi\r\n[13021:13021:1205/215600.516642:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /home/matoken/opt/vivaldi/opt/vivaldi/vivaldi-sandbox is owned by root and has mode 4755.\r\nAborted[This script will find the latest Vivaldi binary package, download it and repackage it into Slackware format.](https://gist.github.com/ruario/dcbba70da900dac68fcc883542ff7ace "This script will find the latest Vivaldi binary package, download it and repackage it into Slackware format.")\r\n\n
\u3053\u3093\u306a\u611f\u3058\u3067\u30aa\u30fc\u30ca\u30fc\u3068\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\u3092\u8a2d\u5b9a\u3057\u305f\u3089ok.
\n$ chmod 4755 ~/opt/vivaldi/opt/vivaldi/vivaldi-sandbox\r\n$ sudo chown root.root ~/opt/vivaldi/opt/vivaldi/vivaldi-sandbox\r\n\n\u82e5\u3057\u304f\u306f --no-sandbox option
$ ~/opt/vivaldi/opt/vivaldi/vivaldi --no-sandbox\r\n\n
\u3068\u308a\u3042\u3048\u305a\u9069\u5f53\u306a\u65e5\u672c\u8a9e\u30d5\u30a9\u30f3\u30c8(\u4eca\u56de\u306fVL\u30b4\u30b7\u30c3\u30af)\u3092\u5165\u308c\u3066\uff0cVivaldi\u3092\u518d\u8d77\u52d5\u3067\u76f4\u3063\u305f\uff0e(Dejavu\u304c\u5165\u3063\u3066\u3044\u305f\u306e\u3067\u6307\u5b9a\u3057\u3066\u307f\u305f\u3051\u3069\u76f4\u3089\u306a\u304b\u3063\u305f)
\n$ sudo apt install fonts-vlgothic\r\n\n
\n
\n\u3063\u3066\u3053\u3068\u3067Linux\u306ecli\u3067\u52d5\u304fPython\u88fd\u306espeedtest-cli\u3092\u3061\u3087\u3063\u3068\u8a66\u3057\u3066\u307f\u305f\uff0e
\nspeedtest.net\u3067\u306e\u56de\u7dda\u901f\u5ea6\u8a08\u6e2c\u3092cli\u3067\u884c\u3048\u307e\u3059\uff0epython\u88fd\u3067pip\u3068\u304b\u3067\u5404\u7a2e\u74b0\u5883\u306b\u5c0e\u5165\u53ef\u80fd\uff0e
\nDebian\u3060\u3068jessie\u4ee5\u964dall, Ubuntu\u3060\u306816.04LTS\u4ee5\u964dall\u306bpkg\u3082\u3042\u308b\u306e\u3067apt\u4e00\u767a\u3067\u5165\u308b\u3057\uff0cRaspberry Pi\u306a\u3069\u306eARM\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306a\u3093\u304b\u3067\u3082\u554f\u984c\u306a\u304f\u52d5\u304d\u307e\u3057\u305f\uff0e
\n\nDebian — \u30d1\u30c3\u30b1\u30fc\u30b8\u691c\u7d22\u7d50\u679c — speedtest-cli\n
\n\nUbuntu \u2013 \u30d1\u30c3\u30b1\u30fc\u30b8\u691c\u7d22\u7d50\u679c — speedtest-cli\n
\n\u898f\u5b9a\u5024\u306e\u52d5\u4f5c\u306fip\u304b\u3089\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u62fe\u3063\u3066\u305d\u3053\u304b\u3089\u8fd1\u3044\u30b5\u30fc\u30d0\u30fc\u3067\u8a08\u6e2c\u3057\u305f\u7d50\u679c\u3092\u8fd4\u3059\u3088\u3046\u3067\u3059\uff0e
\n\u81ea\u5b85\u306eip\u30a2\u30c9\u30ec\u30b9\u3067\u306e\u81ea\u52d5\u5224\u5b9a\u3067\u306f\u9759\u5ca1\u306b\u306a\u3063\u3066\u305f\u306e\u3067\u624b\u52d5\u3067\u8a08\u6e2c\u30b5\u30fc\u30d0\u3092\u5909\u66f4\u3057\u3066\u9e7f\u5150\u5cf6\u3068\u6771\u4eac\u3092\u8a66\u3057\u307e\u3057\u305f\uff0e
help
\n\n\n | \n
\u898f\u5b9a\u5024\u3067\u306f\u81ea\u5b85\u306f\u9759\u5ca1\u306b\u306a\u3063\u3066\u3044\u3066\u9759\u5ca1\u30b5\u30fc\u30d0\u3067\u8a08\u6e2c\u3059\u308b(\u5b9f\u969b\u306f\u9e7f\u5150\u5cf6)
\n\n\n | \n
\u65e5\u672c\u306e\u30b5\u30fc\u30d0\u3092\u78ba\u8a8d\u3059\u308b
\n\n\n | \n
\u9e7f\u5150\u5cf6\u30b5\u30fc\u30d0\u3067\u8a08\u6e2c\u3057\u3066\u307f\u308b
\n\n\n | \n
\u6771\u4eac\u3092–simple option\u3067\u8a08\u6e2c\u3057\u3066\u307f\u308b
\n\n\n | \n
\u30b5\u30fc\u30d0\u306e\u6570\u3092\u78ba\u8a8d\u3057\u3066\u307f\u308b
\n\n\n | \n
speedtest\u306fJavaScript\u3084Adobe Flash\u304c\u5fc5\u8981\u306a\u3053\u3068\u304c\u591a\u304f\u3066\u30d8\u30c3\u30c9\u30ec\u30b9\u74b0\u5883\u306a\u3069\u3067\u306f\u9762\u5012\u3067\u3057\u305f\uff0e
\niperf\u3084netcat\u306a\u3093\u304b\u306f\u304a\u624b\u8efd\u3067\u3059\u304c\uff0c\u901f\u5ea6\u30c6\u30b9\u30c8\u5148\u306e\u30b5\u30fc\u30d0\u306e\u7528\u610f\u304c\u5fc5\u8981\u3067\u3059\uff0e
\u4eca\u56de\u306espeedtest-cli\u306f\u304a\u624b\u8efd\u306b\u5c0e\u5165\u3067\u304d\u3066\u4e16\u754c\u5404\u5730\u306e\u30b5\u30fc\u30d0\u76f8\u624b\u306bcli\u3067speed test\u3082\u51fa\u6765\u3066\u3044\u3044\u611f\u3058\u3067\u3059\uff0e
\n\nAsciidocFX\u306eLinux\u7248\u306fJRE\u540c\u68b1\u7248(amd64\u306e\u307f)\u3068JRE\u306a\u3057\u7248\u304c\u914d\u5e03\u3055\u308c\u3066\u3044\u307e\u3059\uff0e
\nOpenJDK\u3067\u52d5\u304b\u306a\u3044\u306a\u3068\u601d\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\uff0c\u8abf\u3079\u3066\u307f\u308b\u3068\u4ee5\u4e0b\u306e\u3088\u3046\u306aissue\u304c\uff0e
\u3066\u3053\u3068\u3067OpenJFX\u306e\u5c0e\u5165\u3092\u8a66\u3057\u3066\u307f\u305f\u3089amd64\u3067\u3082arm64\u74b0\u5883\u3067\u3082\u8d77\u52d5\u3057\u307e\u3057\u305f :)
\n\u3057\u304b\u3057\u624b\u5143\u306earm64\u74b0\u5883\u3067\u306f\u30ad\u30fc\u5165\u529b\u3057\u3066\u304b\u3089\u8868\u793a\u3055\u308c\u308b\u307e\u3067\u306e\u30e9\u30b0\u304c\u7d50\u69cb\u6c17\u306b\u306a\u308b\u306e\u3067\u5b9f\u7528\u306b\u306f\u3061\u3087\u3063\u3068\u8f9b\u305d\u3046\u3067\u3057\u305f\uff0e
$ sudo apt install openjfx\n$ java -version\nopenjdk version \"1.8.0_131\"\nOpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-0ubuntu1.16.04.2-b11)\nOpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)\nLinuxBox\u3067\u6587\u7ae0\u3092\u8aad\u3080\u306e\u306bJoypad\u3067\u64cd\u4f5c\u3067\u304d\u306a\u3044\u304b\u306a\u3068\u601d\u3063\u3066\u3061\u3087\u3063\u3068\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e
\n\u306f\u3058\u3081\u306fxev\u30b3\u30de\u30f3\u30c9\u3067Joypad\u306eKeyCode\u3092\u8abf\u3079\u3066xmodmad\u30b3\u30de\u30f3\u30c9\u3067\u66f8\u304d\u63db\u3048\u308c\u3070\u3044\u3044\u3060\u308d\u3046\u3068\u601d\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\uff0cxev\u30b3\u30de\u30f3\u30c9\u3067Joypad\u306f\u53cd\u5fdc\u3057\u306a\u3044\u3088\u3046\u3067\u3057\u305f\uff0e\u4ed6\u306b\u65b9\u6cd5\u306f\u306a\u3044\u304b\u3068\u691c\u7d22\u3059\u308b\u3068joy2key\u3068\u3044\u3046\u3082\u306e\u3092\u898b\u3064\u3051\u305f\u306e\u3067\u3053\u308c\u3092\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e
$ apt show joy2key\r\nPackage: joy2key\r\nVersion: 1.6.3-2\r\nPriority: optional\r\nSection: x11\r\nMaintainer: Debian QA Group <packages@qa.debian.org>\r\nInstalled-Size: 52.2 kB\r\nDepends: libc6 (>= 2.15), libx11-6\r\nHomepage: http://joy2key.sourceforge.net\r\nTag: hardware::input:joystick, hardware::input:keyboard, implemented-in::c,\r\n role::program, use::configuring\r\nDownload-Size: 21.8 kB\r\nAPT-Sources: http://dennou-q.gfd-dennou.org/debian sid/main amd64 Packages\r\nDescription: \u30b8\u30e7\u30a4\u30b9\u30c6\u30a3\u30c3\u30af\u306e\u52d5\u304d\u3092\u540c\u7b49\u306e\u30ad\u30fc\u30b9\u30c8\u30ed\u30fc\u30af\u306b\u5909\u63db\r\n joy2key \u306b\u3088\u308a\u3001\u30b8\u30e7\u30a4\u30b9\u30c6\u30a3\u30c3\u30af\u306e\u8ef8\u3068\u30dc\u30bf\u30f3\u306e\u52d5\u304d\u306b\u5bfe\u3057\u3066\u30ad\u30fc\u30dc\u30fc\u30c9\u30a4\u30d9\u30f3\u30c8\r\n \u3092\u9078\u629e\u3067\u304d\u307e\u3059\u306e\u3067\u3001\u30cd\u30fc\u30c6\u30a3\u30d6\u3067\u30b8\u30e7\u30a4\u30b9\u30c6\u30a3\u30c3\u30af\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u306a\u3044\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\r\n \u3067\u30b8\u30e7\u30a4\u30b9\u30c6\u30a3\u30c3\u30af\u3084\u30b2\u30fc\u30e0\u30d1\u30c3\u30c9\u3092\u5229\u7528\u3067\u304d\u307e\u3059\u3002\r\n\n
Debian\u3060\u3068Wheezy\u4ee5\u964d\uff0cUbuntu\u3060\u3068precise(12.04LTS)\u4ee5\u964d\u306b\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u3042\u308b\u3088\u3046\u3067\u3059\uff0e
\n\u4eca\u56de\u306fDebian sid\u3084jessie\u306a\u306e\u3067\u5c0e\u5165\u306f\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u5165\u308c\u308b\u3060\u3051\u3067\u3057\u305f\uff0e
\n$ sudo apt install joy2key\r\n\n
\u8a2d\u5b9a\u306f\u3088\u304f\u89e3\u3089\u306a\u304b\u3063\u305f\u3051\u3069\u3053\u306e\u8fba\u3092\u53c2\u8003\u306b
\n\u3053\u3093\u306a\u611f\u3058\u3067\u52d5\u304d\u307e\u3057\u305f\uff0e\u30ad\u30fc\u30de\u30c3\u30d7\u306f\u672a\u3060\u8a70\u3081\u308b\u3064\u3082\u308a\u3060\u3051\u3069\u3068\u308a\u3042\u3048\u305a\uff0e
\n$ DISPLAY=:0 joy2key -X -buttons A B X Y L Tab Escape Return KP_9 -axis Left Right Up Down -thresh -16383 16383 -16383 16383\r\n\n
\u30ad\u30fc\u30b3\u30fc\u30c9\u306b\u3064\u3044\u3066\u306fxev\u3084/usr/include/X11/keysymdef.h\u3067\u78ba\u8a8d\u3067\u304d\u307e\u3059\uff0e\u3068\u308a\u3042\u3048\u305a\u3053\u3053\u306b\u3082\u8cbc\u3063\u3066\u304a\u304d\u307e\u3059\uff0e
\u3057\u304b\u3057Shift + Tab\u3082\u4f7f\u3044\u305f\u3044\u306e\u3060\u3051\u3069Shift/Tab\u305d\u308c\u305e\u308c\u5358\u4f53\u306f\u5165\u529b\u3067\u304d\u308b\u3051\u3069\u540c\u6642\u5165\u529b\u304c\u52b9\u304b\u306a\u3044\u3088\u3046\u3067\u3059\uff0e\u901a\u5e38\u306eKBD\u3067\u306f\u52d5\u4f5c\u3059\u308b\u306e\u3067joy2key\u306e\u554f\u984c\u3060\u3068\u601d\u3044\u307e\u3059\uff0e
\n\u8a66\u3057\u305f\u74b0\u5883\u306fDebian sid\u306ejoy2key 1.6.3-2\u3068Debian lenny\u306ejoy2key 1.6.3-2\u3067Joypad\u306f\u30cf\u30fc\u30c9\u30aa\u30d5\u3067\\200\u304f\u3089\u3044\u3060\u3063\u305fBUFFALO\u306e\u30b9\u30fc\u30d1\u30fc\u30d5\u30a1\u30df\u30b3\u30f3\u307f\u305f\u3044\u306a\u898b\u305f\u76ee\u306eBSGP801\u30b7\u30ea\u30fc\u30ba\u3068\u66f8\u304b\u308c\u3066\u3044\u308b\u3082\u306e\uff0e
\n[ 5239.625574] usb 2-1.2: authorized to connect\r\n[ 5263.982357] usb 1-1.2: new low-speed USB device number 6 using ehci-pci\r\n[ 5264.095408] usb 1-1.2: New USB device found, idVendor=0583, idProduct=2060\r\n[ 5264.095410] usb 1-1.2: New USB device strings: Mfr=0, Product=2, SerialNumber=0\r\n[ 5264.095411] usb 1-1.2: Product: USB,2-axis 8-button gamepad \r\n[ 5264.095545] usb 1-1.2: Device is not authorized for usage\r\n[ 5266.168066] usb 1-1.2: authorized to connect\r\n[ 5266.176105] hidraw: raw HID events driver (C) Jiri Kosina\r\n[ 5266.184205] usbcore: registered new interface driver usbhid\r\n[ 5266.184207] usbhid: USB HID core driver\r\n[ 5266.188173] input: USB,2-axis 8-button gamepad as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/0003:0583:2060.0001/input/input19\r\n[ 5266.188377] hid-generic 0003:0583:2060.0001: input,hidraw0: USB HID v1.10 Joystick [USB,2-axis 8-button gamepad ] on usb-0000:00:1a.0-1.2/input0\r\n\n
\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a 2017.01\u306e\u9060\u9694\u3067\u5229\u7528\u3057\u305f\u8a2d\u5b9a\u30e1\u30e2\u3067\u3059\uff0e
\n$ sudo apt install mumble-server\r\n\n$ sudo dpkg-reconfigure mumble-server\r\n\n\u3067\u8a2d\u5b9a\u753b\u9762\u306b\u5165\u308a\uff0c
\nMumble-server (murmurd) can start automatically when the server is booted.\r\n\r\nAutostart mumble-server on server boot?\r\n\n\u3067
\n(/etc/default/mumble-server\u306eMURMUR_DAEMON_START=0\u3067\u3082)
diff --git a/mumble-server.ini b/mumble-server.ini\r\nindex b445d4e..46f1dfd 100644\r\n--- a/mumble-server.ini\r\n+++ b/mumble-server.ini\r\n@@ -12,7 +12,7 @@\r\n # NOT regex = \\w* BUT regex = \\\\w*\r\n\r\n # Path to database. If blank, will search for\r\n-# murmur.sqlite in default locations or create it if not found.\r\n+A\r\n database=/var/lib/mumble-server/mumble-server.sqlite\r\n\r\n # If you wish to use something other than SQLite, you'll need to set the name\r\n@@ -86,7 +86,7 @@ pidfile=/var/run/mumble-server/mumble-server.pid\r\n # configure it here ehan ehrough D-Bus or Ice.\r\n #\r\n # Welcome message sent to clients when they connect.\r\n-welcometext="<br />Welcome to this server running <b>Murmur</b>.<br />Enjoy your stay!<br />"\r\n+welcometext="<br />Welcome to KagoLUG server running <b>Murmur</b>.<br />Enjoy your stay!<br />"\r\n\r\n # Port to bind TCP and UDP sockets to.\r\n port=64738\r\n@@ -144,26 +144,28 @@ users=100\r\n # addresses.\r\n # Only uncomment the 'registerName' parameter if you wish to give your "Root" channel a custom name.\r\n #\r\n-#registerName=Mumble Server\r\n+registerName=KagoLUG Mumble Server\r\n #registerPassword=secret\r\n #registerUrl=http://mumble.sourceforge.net/\r\n-#registerHostname=\r\n+registerHostname=kagolug.org\r\n\r\n # If this option is enabled, the server will announce its presence via the \r\n # bonjour service discovery protocol. To change the name announced by bonjour\r\n # adjust the registerName variable.\r\n # See http://developer.apple.com/networking/bonjour/index.html for more information\r\n # about bonjour.\r\n-#bonjour=True\r\n+bonjour=False\r\n\r\n # If you have a proper SSL certificate, you can provide the filenames here.\r\n # Otherwise, Murmur will create it's own certificate automatically.\r\n-#sslCert=\r\n-#sslKey=\r\n+#sslCert=/etc/letsencrypt/live/kagolug.org/cert.pem\r\n+sslCert=/etc/letsencrypt/live/kagolug.org/fullchain.pem\r\n+sslKey=/etc/letsencrypt/live/kagolug.org/privkey.pem\r\n+#sslCA=/etc/letsencrypt/live/kagolug.org/fullchain.pem\r\n\r\n # If Murmur is started as root, which user should it switch to?\r\n # This option is ignored if Murmur isn't started with root privileges.\r\n-uname=mumble-server\r\n+uname=root\r\n\r\n # If this options is enabled, only clients which have a certificate are allowed\r\n # to connect.\r\n\n$ sudo murmurd -wipessl\r\n$ sudo killall murmurd\r\n\n\u30c7\u30fc\u30e2\u30f3\u306e\u8d77\u52d5\u3068\u30dd\u30fc\u30c8\u958b\u653e\u3092\u884c\u3046
\n$ sudo service mumble-server start\r\n$ sudo iptables -A INPUT -p udp -m udp --dport 64738 -j ACCEPT\r\n$ sudo iptables -A INPUT -p tcp -m tcp --dport 64738 -j ACCEPT\r\n\n\u5229\u7528\u8005\u306b\u306f\u30b5\u30fc\u30d0\u3068\u30dd\u30fc\u30c8\u3092\u4f1d\u3048\u308b
\n– server : kagolug.org
\n– port : 64738
mumble://kagolug.org?title=KagoLUG%20Mumble%20Server&version=1.2.0
\n\u306f\u3058\u3081LBT-SPTR01ECBK\u3067\u30de\u30a4\u30af\u3068\u30b9\u30d4\u30fc\u30ab\u30fc\u4e21\u65b9\u306e\u5f79\u5272\u3092\u3068\u601d\u3063\u3066\u3044\u305f\u304c\uff0c\u3046\u307e\u304f\u97f3\u3092\u62fe\u3048\u306a\u3044&HSP/HFP\u3067\u306f\u97f3\u304c\u60aa\u304f\u805e\u304d\u53d6\u308a\u3065\u3089\u304b\u3063\u305f\u306e\u3067\u5f79\u5272\u3092\u5206\u3051\u305f\uff0e
\n\u30de\u30a4\u30af\u306fPC\u76f4\u4ed8\u3060\u3063\u305f\u306e\u3067\u97f3\u3092\u62fe\u3044\u3065\u3089\u3044&\u30ad\u30fc\u5165\u529b\u306e\u97f3\u306a\u3069\u3092\u62fe\u3063\u3066\u3044\u305f\u306f\u305a\uff0e
\u30c7\u30fc\u30e2\u30f3\u306e\u7d42\u4e86
\n$ sudo service mumble-server start\r\n\niptables\u306emumble\u30eb\u30fc\u30eb\u3092\u9589\u3058\u308b
\n$ sudo iptables -L --line-numbers | grep 64738\r\n23 ACCEPT udp -- anywhere anywhere udp dpt:64738\r\n24 ACCEPT tcp -- anywhere anywhere tcp dpt:64738\r\n$ sudo iptables -D INPUT 23\r\n$ sudo iptables -D INPUT 24\r\n$ sudo iptables -L --line-numbers | grep 64738\r\n\n-uname=mumble-server\r\n+uname=root\r\n\n$ sudo ls -l /etc/letsencrypt/live/kagolug.org/fullchain.pem /etc/letsencrypt/live/kagolug.org/privkey.pem\r\nlrwxrwxrwx 1 root ssl-cert 40 Dec 26 10:30 /etc/letsencrypt/live/kagolug.org/fullchain.pem -> ../../archive/kagolug.org/fullchain9.pem\r\nlrwxrwxrwx 1 root ssl-cert 38 Dec 26 10:30 /etc/letsencrypt/live/kagolug.org/privkey.pem -> ../../archive/kagolug.org/privkey9.pem\r\n\nssl-cert\u30b0\u30eb\u30fc\u30d7\u306bmumble-server\u3092\u767b\u9332\u3067\u884c\u3051\u305d\u3046?
\u4f1a\u8b70\u5411\u3051\u306e\u5168\u65b9\u4f4d\u306e\u30de\u30a4\u30af\u304c\u6b32\u3057\u3044
\n\u4ee5\u4e0b\u306e\u30ac\u30a4\u30c9\u306e\u3068\u304a\u308a\u306a\u3093\u3067\u3059\u304c\u4e00\u5fdc\u30e1\u30e2\u3092\uff0e
\n\nmicroSD Card\u7d4c\u7531\u3068\uff0cFastboot\u7d4c\u7531\u306e2\u7a2e\u985e\u304c\u3042\u308a\u307e\u3059\uff0e
\nmicroSD Card\u7d4c\u7531\u306e\u5834\u5408\u306fDIP switch\u306e\u5909\u66f4\u304c\u5fc5\u8981\u3067\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u3068\u30de\u30a6\u30b9\u304c\u5fc5\u8981\u3067\u3059\uff0e
\nFastboot\u7d4c\u7531\u306e\u5834\u5408\u306fHostPC\u3068microUSB Cable\u304c\u5fc5\u8981\u3067\u3059\uff0eUSB-LAN\u30a2\u30c0\u30d7\u30bf\u3092\u4f7f\u3048\u3070\u30d8\u30c3\u30c9\u30ec\u30b9\u3067\u5168\u3066\u8a2d\u5b9a\u3067\u304d\u307e\u3059\uff0e
\uff03\u3053\u3046\u3044\u3046\u306e\u3092\u4f7f\u3063\u305f\u307b\u3046\u304c\u3044\u3044\u3051\u3069\uff0e
\n\nUSB\u30ad\u30fc\u30dc\u30fc\u30c9\uff0c\u30de\u30a6\u30b9\uff0cHDMI\u30e2\u30cb\u30bf\u30684GB\u4ee5\u4e0a\u306emicroSD\u304c\u5fc5\u8981\u3067\u3059\uff0e
\n\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u540d\u306f\u73fe\u5728\u306e\u6700\u65b0\u3067\u3059\uff0e\u4ee5\u4e0b\u306e\u30da\u30fc\u30b8\u3092\u898b\u3066\u6700\u65b0\u3092\u5165\u624b\u3057\u3066\u304f\u3060\u3055\u3044\uff0e
\n$ wget http://builds.96boards.org/releases/dragonboard410c/linaro/debian/latest/dragonboard410c_sdcard_install_debian-66.zip http://builds.96boards.org/releases/dragonboard410c/linaro/debian/latest/MD5SUMS.txt\r\n$ md5sum -c MD5SUMS.txt 2>&1 | egrep -v 'FAILED|\u3042\u308a\u307e\u305b\u3093'\r\ndragonboard410c_sdcard_install_debian-66.zip: \u5b8c\u4e86\r\nmd5sum: \u8b66\u544a: \u4e00\u89a7\u306b\u3042\u308b 15 \u500b\u306e\u30d5\u30a1\u30a4\u30eb\u304c\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3067\u3057\u305f\r\n$ unzip -l dragonboard410c_sdcard_install_debian-66.zip\r\nArchive: dragonboard410c_sdcard_install_debian-66.zip\r\n Length Date Time Name\r\n--------- ---------- ----- ----\r\n 14022 2016-02-27 14:36 license.txt\r\n2621440000 2016-02-27 14:36 db410c_sd_install_debian.img\r\n--------- -------\r\n2621454022 2 files\r\n$ unzip dragonboard410c_sdcard_install_debian-66.zip\r\n$ cat ./db410c_sd_install_debian.img | pv | sudo dd of=/dev/sdz bs=4M\r\n\n
microSD Card\u3092Dragonboard 410c\u306b\u5dee\u3057\u8fbc\u3093\u3067\uff0c\u57fa\u76e4\u306e\u88cf\u9762\u306eDIP switch(s6)\u3092\u64cd\u4f5c\u3057\u3066SD boot(2)\u3060\u3051\u3092On\u306b\u3057\u307e\u3059\uff0e\u30b7\u30eb\u30af\u304c\u3042\u308b\u306e\u3067\u89e3\u308a\u3084\u3059\u3044\u3067\u3059\uff0e
\nDragonboard 410c\u306bUSB\u30ad\u30fc\u30dc\u30fc\u30c9\uff0c\u30de\u30a6\u30b9\uff0cHDMI\u30e2\u30cb\u30bf\u3092\u63a5\u7d9a\u3057\u3066\u8d77\u52d5\u3059\u308b\u3068\u30b7\u30f3\u30d7\u30eb\u306a\u30a4\u30f3\u30b9\u30c8\u30fc\u30e9\u304c\u8d77\u52d5\u3059\u308b\u306e\u3067\u30dd\u30c1\u30dd\u30c1\u3068\u62bc\u3057\u3066\u3044\u304f\u3068\u5b8c\u4e86\u3067\u3059\uff0e
\u4e00\u65e6\u96fb\u6e90\u3092\u5207\u3063\u3066DIP swatch\u3092\u5143\u306b\u623b\u3057\uff0cmicroSD Card\u3092\u53d6\u308a\u5916\u3057\u3066\u8d77\u52d5\u3059\u308b\u3068LXDE\u304c\u8d77\u52d5\u3057\u3066\u304d\u307e\u3059\uff0e
\n\u3061\u306a\u307f\u306bDIP switch\u306bUSB boot\u3082\u3042\u308b\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\u304c\u672a\u5b9f\u88c5\u5316\u624b\u9806\u304c\u9055\u3046\u306e\u304b\u3046\u307e\u304f\u884c\u304d\u307e\u305b\u3093\u3067\u3057\u305f\uff0e
\nmicroSD\u7d4c\u7531\u3088\u308a\u624b\u9806\u304c\u591a\u3044\u3067\u3059\u304c\u5fc5\u8981\u306a\u3082\u306e\u304c\u5c11\u306a\u3044\uff06DIP swatch\u306e\u64cd\u4f5c\u304c\u5fc5\u8981\u306a\u3044\u306e\u3067\u30b1\u30fc\u30b9\u306b\u5165\u308c\u3066\u3044\u308b\u5834\u5408\u306a\u3069\u3082\u3044\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e
\nmicroUSB Cable\u306f\u5fc5\u8981\u306a\u306e\u3067\u7528\u610f\u3057\u3066\u304f\u3060\u3055\u3044\uff0e
HostPC\u306bfastboot\u3092\u5c0e\u5165\u3057\u307e\u3059\uff0eAndroid\u958b\u767a\u74b0\u5883\u304c\u65e2\u306b\u3042\u308b\u4eba\u306f\u5165\u3063\u3066\u3044\u305d\u3046\u3067\u3059\u306d\uff0e
\n$ sudo apt install android-tools-fastboot\r\n\n
\u6b21\u306esite\u304b\u3089bootloader\u30a4\u30e1\u30fc\u30b8\u3092\u5165\u624b\u3057\u307e\u3059\uff0e\u6700\u65b0\u7248\u3092\u5165\u624b\u3057\u3066\u304f\u3060\u3055\u3044\uff0e
\n– 96Boards Builds for: latest
\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u6398\u3063\u3066\u5c55\u958b\u3057\u3066\u304a\u304d\u307e\u3059\uff0e
\n$ unzip -l dragonboard410c_bootloader_emmc_linux-46.zip \r\nArchive: dragonboard410c_bootloader_emmc_linux-46.zip\r\n Length Date Time Name\r\n--------- ---------- ----- ----\r\n57344 2016-02-10 10:00 hyp.mbn\r\n 744042 2016-02-10 10:00 emmc_appsboot.mbn\r\n14022 2016-02-10 10:00 license.txt\r\n 154980 2016-02-10 10:00 rpm.mbn\r\n 483468 2016-02-10 10:00 tz.mbn\r\n 23102976 2016-02-10 10:00 NON-HLOS.bin\r\n 80 2016-02-10 10:00 sec.dat\r\n 252868 2016-02-10 10:00 sbl1.mbn\r\n34304 2016-02-10 10:00 gpt_both0.bin\r\n 324 2016-02-10 10:00 flashall\r\n--------- -------\r\n 24844408 10 files\r\n$ mkdir dragonboard410c_bootloader_emmc_linux-46\r\n$ unzip dragonboard410c_bootloader_emmc_linux-46.zip\r\n\n
fastboot mode\u306b\u5165\u308b\u305f\u3081\u306b\u57fa\u677f\u4e0a\u306e(-)\u30dc\u30bf\u30f3(s4)\u3092\u62bc\u3057\u306a\u304c\u3089\u96fb\u6e90\u3092\u6295\u5165\u3057\u307e\u3059\uff0e\u3059\u3050\u306bfastboot mode\u306b\u306a\u308b\u306e\u3067fastboot devices\u30b3\u30de\u30f3\u30c9\u3067\u78ba\u8a8d\u3057\u307e\u3059\uff0e\u4f55\u3082\u51fa\u3066\u306a\u3044\u5834\u5408\u306f\u5931\u6557\u3057\u3066\u3044\u308b\u306e\u3067\u96fb\u6e90\u6295\u5165\u3092\u3084\u308a\u76f4\u3057\u307e\u3059\uff0e
$ sudo fastboot devices\r\nb5d12d18 fastboot\r\n\n
\u30c7\u30d0\u30a4\u30b9\u304c\u8a8d\u8b58\u3067\u304d\u3066\u3044\u308b\u306e\u304c\u78ba\u8a8d\u3067\u304d\u305f\u3089flashall script\u3067\u66f8\u304d\u8fbc\u307f\u3092\u958b\u59cb\u3057\u307e\u3059\uff0e\u66f8\u304d\u8fbc\u307f\u3092\u958b\u59cb\u3057\u305f\u5f8c\u306f(-)\u30dc\u30bf\u30f3(s4)\u3092\u96e2\u3057\u3066\u3082\u5927\u4e08\u592b\u305d\u3046\u3067\u3059\uff0e
$ sudo ./flashall\r\ntarget reported max download size of 268435456 bytes\r\nsending 'partition' (33 KB)...\r\nOKAY [ 0.005s]\r\nwriting 'partition'...\r\nOKAY [ 1.451s]\r\nfinished. total time: 1.457s\r\ntarget reported max download size of 268435456 bytes\r\nsending 'hyp' (56 KB)...\r\nOKAY [ 0.005s]\r\nwriting 'hyp'...\r\nOKAY [ 0.011s]\r\nfinished. total time: 0.016s\r\ntarget reported max download size of 268435456 bytes\r\nsending 'modem' (22561 KB)...\r\nOKAY [ 0.732s]\r\nwriting 'modem'...\r\nOKAY [ 0.756s]\r\nfinished. total time: 1.488s\r\ntarget reported max download size of 268435456 bytes\r\nsending 'rpm' (151 KB)...\r\nOKAY [ 0.008s]\r\nwriting 'rpm'...\r\nOKAY [ 0.010s]\r\nfinished. total time: 0.018s\r\ntarget reported max download size of 268435456 bytes\r\nsending 'sbl1' (246 KB)...\r\nOKAY [ 0.011s]\r\nwriting 'sbl1'...\r\nOKAY [ 0.010s]\r\nfinished. total time: 0.021s\r\ntarget reported max download size of 268435456 bytes\r\nsending 'sec' (0 KB)...\r\nOKAY [ 0.004s]\r\nwriting 'sec'...\r\nOKAY [ 0.006s]\r\nfinished. total time: 0.010s\r\ntarget reported max download size of 268435456 bytes\r\nsending 'tz' (472 KB)...\r\nOKAY [ 0.017s]\r\nwriting 'tz'...\r\nOKAY [ 0.015s]\r\nfinished. total time: 0.033s\r\ntarget reported max download size of 268435456 bytes\r\nsending 'aboot' (726 KB)...\r\nOKAY [ 0.026s]\r\nwriting 'aboot'...\r\nOKAY [ 0.025s]\r\nfinished. total time: 0.052s\r\nerasing 'boot'...\r\nOKAY [ 0.036s]\r\nfinished. total time: 0.037s\r\nerasing 'rootfs'...\r\nOKAY [ 0.267s]\r\nfinished. total time: 0.267s\r\nerasing 'devinfo'...\r\nOKAY [ 0.034s]\r\nfinished. total time: 0.034s\r\n\n
OS\u30a4\u30e1\u30fc\u30b8\u306eboot/root\u9818\u57df\u306e\u30c7\u30fc\u30bf\u3092\u5165\u624b\u3057\u3066\u66f8\u304d\u8fbc\u307f\u307e\u3059\uff0e
\n\u66f8\u304d\u8fbc\u307f\u306ffastboot mode\u306b\u3057\u3066\u304b\u3089\u884c\u3063\u3066\u304f\u3060\u3055\u3044\uff0e
$ wget http://builds.96boards.org/releases/dragonboard410c/linaro/debian/latest/linaro-jessie-alip-qcom-snapdragon-arm64-20160227-66.img.gz http://builds.96boards.org/releases/dragonboard410c/linaro/debian/latest/boot-linaro-jessie-qcom-snapdragon-arm64-20160227-66.img.gz http://builds.96boards.org/releases/dragonboard410c/linaro/debian/latest/MD5SUMS.txt\r\n$ md5sum -c MD5SUMS.txt 2&>1 |grep \u5b8c\u4e86\r\nboot-linaro-jessie-qcom-snapdragon-arm64-20160227-66.img.gz: \u5b8c\u4e86\r\nlinaro-jessie-alip-qcom-snapdragon-arm64-20160227-66.img.gz: \u5b8c\u4e86\r\n$ sudo fastboot flash boot ./boot-linaro-jessie-qcom-snapdragon-arm64-20160227-66.img \r\ntarget reported max download size of 268435456 bytes\r\nsending 'boot' (17480 KB)...\r\nOKAY [ 0.562s]\r\nwriting 'boot'...\r\nOKAY [ 0.329s]\r\nfinished. total time: 0.891s\r\n$ sudo fastboot flash rootfs ./linaro-jessie-alip-qcom-snapdragon-arm64-20160227-66.img \r\ntarget reported max download size of 268435456 bytes\r\nsending sparse 'rootfs' (262140 KB)...\r\nOKAY [ 9.309s]\r\nwriting 'rootfs'...\r\nOKAY [ 18.304s]\r\nsending sparse 'rootfs' (262140 KB)...\r\nOKAY [ 9.236s]\r\nwriting 'rootfs'...\r\nOKAY [ 19.888s]\r\nsending sparse 'rootfs' (262140 KB)...\r\nOKAY [ 9.255s]\r\nwriting 'rootfs'...\r\nOKAY [ 19.759s]\r\nsending sparse 'rootfs' (262140 KB)...\r\nOKAY [ 9.295s]\r\nwriting 'rootfs'...\r\nOKAY [ 19.834s]\r\nsending sparse 'rootfs' (262140 KB)...\r\nOKAY [ 9.317s]\r\nwriting 'rootfs'...\r\nOKAY [ 19.828s]\r\nsending sparse 'rootfs' (262140 KB)...\r\nOKAY [ 9.290s]\r\nwriting 'rootfs'...\r\nOKAY [ 19.765s]\r\nsending sparse 'rootfs' (59016 KB)...\r\nOKAY [ 2.118s]\r\nwriting 'rootfs'...\r\nOKAY [ 4.450s]\r\nfinished. total time: 179.649s\r\n\n
\u8d77\u52d5\u3059\u308b\u3068lxde\u304c\u8d77\u52d5\u3057\u3066\u304d\u307e\u3059\uff0esshd\u3082\u8d77\u52d5\u3057\u3066\u304f\u308b\u306e\u3067dhcpd\u306e\u52d5\u3044\u3066\u3044\u308b\u74b0\u5883\u3067USB-LAN\u30a2\u30c0\u30d7\u30bf\u3092\u63a5\u7d9a\u3059\u308c\u3070\u30d8\u30c3\u30c9\u30ec\u30b9\u74b0\u5883\u3067\u8a2d\u5b9a\u304c\u53ef\u80fd\u3067\u3059\uff0eavahi\u306f\u52d5\u3044\u3066\u306a\u3044\u306e\u3067ip\u306f\u30dd\u30fc\u30c8\u30b9\u30ad\u30e3\u30f3\u306a\u308aarp\u306a\u308a\u3067\u63a2\u3057\u3066\u304f\u3060\u3055\u3044\uff0e
\n$ sudo nmap -sP 192.168.2.200-255 --spoof-mac 00:90:cc:e8:0b:db\r\n\r\nStarting Nmap 7.01 ( https://nmap.org ) at 2016-03-11 01:39 JST\r\nSpoofing MAC address 00:90:CC:E8:0B:DB (Planex Communications)\r\nNmap scan report for 192.168.2.203\r\nHost is up.\r\nNmap done: 56 IP addresses (1 host up) scanned in 19.15 seconds\r\n$ sudo arp|grep 00:90:cc\r\n192.168.2.214 ether 00:90:cc:e8:0b:db C wlp3s0\r\n\n
\u30e6\u30fc\u30b6\u540d\u306flinaro\u30d1\u30b9\u30ef\u30fc\u30c9\u3082\u540c\u3058\u3067\u3059\uff0e
$ ssh linaro@192.168.2.202\r\n$ uname -a\r\nLinux linaro-alip 4.4.0-linaro-lt-qcom #1 SMP PREEMPT Sat Feb 27 04:55:16 UTC 2016 aarch64 GNU/Linux\r\n$ lsb_release -a\r\nNo LSB modules are available.\r\nDistributor ID: Debian\r\nDescription: Debian GNU/Linux 8.3 (jessie)\r\nRelease: 8.3\r\nCodename: jessie\r\n\n
\u3061\u306a\u307f\u306b\uff0c\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u7d42\u4e86\u5f8c\u306eeMMC\u306e\u5bb9\u91cf\u306f\u3053\u306e\u304f\u3089\u3044\u3067\u3059\uff0e
\n$ df /\r\nFilesystem 1K-blocks Used Available Use% Mounted on\r\n/dev/mmcblk0p10 7260748 1814312 5120404 27% /\r\n\n
\u5f8c\u306f\u666e\u901a\u306eDebian\u306a\u306e\u3067source list\u3092\u65e5\u672c\u306b\u5411\u3051\u3066Update\u3057\u3066\u307b\u3052\u308a\u307e\u3057\u3087\u3046\uff0e
\n/etc/apt/sources.list.d/\u306e\u4e0b\u306f\u3053\u3093\u306a\u611f\u3058\uff0e\u5f8c\u308d2\u3064\u306f/etc/apt/sources.list\u3068\u91cd\u8907\u3057\u3066\u3044\u308b\u3088\u3046\u306a?
$ find /etc/apt/sources.list.d/ -type f | xargs -n1 -I{} sh -c "echo \\#-- {} ; cat {}"\r\n#-- /etc/apt/sources.list.d/hwpack.qcom.list\r\ndeb http://repo.linaro.org/ubuntu/qcom-overlay jessie main\r\n#-- /etc/apt/sources.list.d/linaro-overlay-repo.list\r\ndeb http://repo.linaro.org/ubuntu/linaro-overlay jessie main\r\ndeb-src http://repo.linaro.org/ubuntu/linaro-overlay jessie main\r\n#-- /etc/apt/sources.list.d/hwpack.debian.list\r\ndeb http://ftp.debian.org/debian/ jessie main contrib non-free\r\n#-- /etc/apt/sources.list.d/hwpack.backports.list\r\ndeb http://ftp.debian.org/debian/ jessie-backports main\r\n\n
Google+\u3067mail\u30b3\u30de\u30f3\u30c9\u3067\u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u4ed8\u304d\u30e1\u30fc\u30eb\u3092\u9001\u308d\u3046\u3068\u3057\u3066\u3044\u308b\u65b9\u306e\u6295\u7a3f\u306e\u30b3\u30e1\u30f3\u30c8\u306bbase64\u3067\u30c7\u30b3\u30fc\u30c9\u3057\u3066\u9001\u308bscript\u3092\u4f7f\u3063\u3066\u307e\u3059\u3068\u304b\u66f8\u3044\u305f\u306e\u3067\u3059\u304c\uff0c\u3053\u308cperl4\u3067cgi\u5168\u76db\u306a\u5927\u6614\u304b\u3089\u3084\u3063\u3066\u308b\u624b\u6cd5\u306a\u306e\u3067\u697d\u306a\u3082\u306e\u304c\u3042\u308b\u306e\u3067\u306f\u3068\u601d\u3044\u63a2\u3057\u3066\u307f\u307e\u3057\u305f\uff0e
\nDebian stretch testing/sid \u3067\u306fmail\u30b3\u30de\u30f3\u30c9\u304cbsd-mailx\u304b\u3089s-nail\u306b\u5909\u308f\u3063\u3066\u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u3042\u308b\u3088\u3046\u3067\u3059\uff0e
\n\n\n
\u3053\u3093\u306a\u611f\u3058\u3067\u4f7f\u3048\u307e\u3057\u305f\uff0e
\n\n
\uff03\u306f\u3058\u3081.zip\u3092\u9001\u308d\u3046\u3068\u3057\u3066gmail\u30b5\u30fc\u30d0\u306b\u5f3e\u304b\u308c\u307e\u3057\u305f\uff0e\u305d\u3046\u3044\u3048\u3070\u305d\u3046\u3060\u3063\u305f\u2026\u2026
\n\uff03\uff03sendmail: 552 5.7.0 content and attachment content guidelines. xu1sm1469539pab.31 - gsmtp
\u666e\u901a\u306b\u30e1\u30fc\u30eb\u9001\u308b\u306e\u306b\u52a0\u3048\u3066-a\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u30d5\u30a1\u30a4\u30eb\u3092\u6307\u5b9a\u3059\u308b\u611f\u3058\u3067\u3059\uff0e
\n\u30aa\u30d7\u30b7\u30e7\u30f3\u3067SMTP\u30b5\u30fc\u30d0\u306e\u6307\u5b9a\u3082\u51fa\u6765\u308b\u3088\u3046\u306a\u306e\u3067MTA\u306e\u8a2d\u5b9a\u3092\u3057\u3066\u3044\u306a\u3044\u3088\u3046\u306a\u5834\u5408\u3067\u3082\u5358\u4f53\u3067\u4f7f\u3048\u305d\u3046\u3067\u3059\uff0e
s-nail\u306fstretch testing\u304b\u3089\u3067jessie\u306b\u306f\u5165\u3063\u3066\u3044\u306a\u3044\u3088\u3046\u3067\u3059\uff0e\u4ee3\u308f\u308a\u306b\u5165\u3063\u3066\u3044\u308b\u306e\u306fbsd-mailx\u3067\u3059\uff0eman\u3092\u3061\u3087\u3063\u3068\u898b\u305f\u611f\u3058\u3067\u306f\u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u306e\u6271\u3044\u306f\u8f09\u3063\u3066\u3044\u306a\u3055\u305d\u3046\uff0e\u3067\u3082\u304d\u3063\u3068\u4fbf\u5229\u306a\u4f55\u304b\u304c\u3042\u308b\u306e\u3067\u306f?\u3068apt-cache search mail attach\u3068\u304b\u3057\u3066\u63a2\u3057\u3066\u307f\u308b\u3068biabam\u3068\u3044\u3046bash script\u88fd\u306e\u3082\u306e\u3092\u767a\u898b\uff0e\u5c0f\u3055\u3044\u3057\u826f\u3055\u305d\u3046\u3068\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e
\n\nbiabam – bash attachment mailer
\n
\u3053\u3093\u306a\u611f\u3058\u3067\u4f7f\u3048\u307e\u3057\u305f\uff0e
\n\n
\u3061\u306a\u307f\u306bmail\u30b3\u30de\u30f3\u30c9\u3067\u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u306e\u65b9\u6cd5\u3092\u691c\u7d22\u3059\u308b\u3068\u5927\u62b5mutt\u4f7f\u3046\u4f8b\u304c\u51fa\u3066\u304d\u307e\u3059\u304c\uff0cmutt\u3092\u65e2\u306b\u8a2d\u5b9a\u6e08\u307f\u306e\u4eba\u3067\u306a\u3044\u3068\u6577\u5c45\u304c\u9ad8\u3044\u3068\u601d\u3044\u307e\u3059\uff0e\u305d\u3046\u3044\u3046\u5834\u5408\u306b\u4eca\u56de\u306e\u65b9\u6cd5\u306f\u3044\u3044\u306e\u3067\u306f\u306a\u3044\u304b\u3068\u601d\u3044\u307e\u3059\uff0e
\n\u3057\u304b\u3057\u6050\u3089\u304f\u591a\u56fd\u8a00\u8a9e\u5bfe\u5fdc\u306f\u3057\u3066\u5c45\u306a\u3055\u305d\u3046\u306a\u306e\u3067\u65e5\u672c\u8a9e\u3092Subject\u3084BODY\u306b\u4f7f\u3046\u5834\u5408\u306f\u7d20\u76f4\u306bScript\u3092\u66f8\u3044\u305f\u307b\u3046\u304c\u3044\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u2026\u2026\uff0e
\n\u5b9a\u5f62\u306a\u3089\u9069\u5f53\u306aMUA\u3067\u30e1\u30fc\u30eb\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u3063\u3066\u304a\u3044\u3066\u6d41\u3057\u8fbc\u3093\u3067mail\u30b3\u30de\u30f3\u30c9\u306b\u6295\u3052\u308b\u3088\u3046\u306b\u3057\u3066\u3082\u3044\u3044\u3067\u3059\u306d\uff0e
\n
\n
Rasbian\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u30b5\u30fc\u30d0\u306bjaist\u3092\u6307\u5b9a\u3057\u3066\u3044\u305f\u306e\u3060\u3051\u3069\u6700\u8fd1\u9045\u3044\u306e\u3067mirror list\u3092\u898b\u3066
\n\n\n
/etc/apt/sources.list\u3092WIDE\u306b\u5909\u66f4\u3057\u305f\uff0e
\n
\u3068\u3053\u308d\u3067apt\u30b3\u30de\u30f3\u30c9\u306eedit-sources\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u4fbf\u5229\u306a\u306e\u3067\u305c\u3072\u4f7f\u3046\u3079\u304d\uff0evisudo\u3068\u304b\u307f\u305f\u3044\u306b\u9593\u9055\u3048\u308b\u3068\u6559\u3048\u3066\u304f\u308c\u308b\uff0e
\n
\u5f15\u6570\u3092\u4ed8\u3051\u3066/etc/apt/sources.list.d/\u4ee5\u4e0b\u306e\u7de8\u96c6\u3082\u51fa\u6765\u308b
\n
Debian jessie\u4ee5\u964d\uff0cRasbian jessie\u4ee5\u964d\uff0cUbuntu vivid(15.04)\u4ee5\u964d\u3067\u305d\u308c\u305e\u308c\u5229\u7528\u53ef\u80fd\u3060\u3068\u601d\u3046\uff0e
\n\n
\n
\u30c7\u30b8\u30e2\u30ce\u30b9\u30c6\u30fc\u30b7\u30e7\u30f3 2016\u5e742\u6708\u53f7\u306b\uff10SIM by So-net \u3068\u3044\u3046\u3082\u306e\u304c\u4ed8\u9332\u3067\u4ed8\u3044\u3066\u304d\u3066\u4e00\u90e8\u3067\u6d41\u884c\u3063\u3066\u3044\u307e\u3059\uff0e
\n– \u96d1\u8a8c\u300c\u30c7\u30b8\u30e2\u30ce\u30b9\u30c6\u30fc\u30b7\u30e7\u30f3\u300d\u6700\u65b0\u53f7 \u2013 DIGIMONO\uff01\uff08\u30c7\u30b8\u30e2\u30ce\uff01\uff09
\u3053\u308c\u306f\u3053\u306e\u96d1\u8a8c\u3092\u8cb7\u3063\u3066\u4ed8\u3044\u3066\u304d\u305f\u4ed8\u9332\u306eSIM\u3092\u4f7f\u3046\u3068\u96d1\u8a8c\u4ee3(620\u5186)\u3060\u3051\u3067\u958b\u901a\u624b\u7d9a\u304d\u624b\u6570\u6599\u7121\u6599\u3067\u6708\u3042\u305f\u308a500MB\u8fc4\u7121\u6599\u3067\u5229\u7528\u3067\u304d\u308b\u3068\u3044\u3046\u3082\u306e\uff0e\u52ff\u8ad6\u4ed6\u306bSIM\u3092\u523a\u3059\u7aef\u672b\u306f\u5fc5\u8981\u3067\u3059\uff0e
\n\n\n\u3010\uff10SIM by So-net\u3011 \u8a73\u7d30
\n
\n\u5f62\u72b6\uff1ananoSIM \u898f\u683c\uff1a\uff10SIM by So-net \u7a2e\u985e\uff1a\u30c7\u30fc\u30bf\u901a\u4fe1\u5c02\u7528
\n\u30c7\u30fc\u30bf\u91cf\u3068\u6599\u91d1\uff08\uff12\u6bb5\u968e\u5b9a\u984d\uff09
\n0MB\uff5e499MB\uff1a0\u5186
\n500MB \uff5e 2047MB\uff1a100\u5186\uff5e1500\u5186
\n2048MB \uff5e\uff1a1600\u5186
\n\u901f\u5ea6\u5236\u9650\uff1a\u306a\u3057\uff08\u305f\u3060\u30575GB\u307e\u3067\uff09/ NTT\u30c9\u30b3\u30e2 4G LTE\uff08\u4e0b\u308a\u6700\u5927225Mbps\uff09
\n\u958b\u901a\u671f\u9650\uff1a2016\u5e742\u670824\u65e5
\u4e0a\u9650\u3082\u3042\u308b\u306e\u3067\u3046\u3063\u304b\u308a\u4f7f\u3044\u3059\u304e\u3066\u3082\u5b89\u5fc3\u611f\u304c\u3042\u308a\u307e\u3059\uff0e\u3061\u306a\u307f\u306b\u4e0a\u9650\u3092\u3088\u304f\u8d85\u3048\u308b\u3088\u3046\u3060\u3068\u5225\u306e\u30d7\u30e9\u30f3\u306b\u3057\u305f\u307b\u3046\u304c\u304a\u5f97\u3067\u3059\uff0e
\n\u4e00\u4eba\u3067\u8907\u6570\u5951\u7d04\u306f\u51fa\u6765\u306a\u3044\u306e\u3067\u305f\u304f\u3055\u3093\u8cb7\u3063\u3066500MB\u3054\u3068\u306b\u5dee\u3057\u66ff\u3048\u3066\u4f7f\u3046\u3068\u8a00\u3063\u305f\u3053\u3068\u306f\u51fa\u6765\u306a\u3044\uff0c3\u30f6\u6708\u5229\u7528\u3057\u306a\u3044\u3068\u81ea\u52d5\u89e3\u7d04\u3055\u308c\u308b\u3088\u3046\u306a\u306e\u3067\u5bdd\u304b\u305b\u3066\u304a\u304f\u3053\u3068\u3082\u51fa\u6765\u306a\u3044\u3088\u3046\uff0e
\n\u666e\u901a\u306b\u4f7f\u3046\u3068\u3042\u3063\u3068\u3044\u3046\u9593\u306b500MB\u8d85\u3048\u3061\u3083\u3046\u3067\u3057\u3087\u3046\u3051\u3069\u4f7f\u3044\u3088\u3046\u306b\u3088\u3063\u3066\u306f\u4fbf\u5229\u306b\u4f7f\u3048\u305d\u3046(\u6c17\u8c61\u30bb\u30f3\u30b5\u306e\u30c7\u30fc\u30bf\u3092\u9001\u308b\u3068\u304b\u306a\u3089\u4f59\u88d5)\uff0e\u3068\u3044\u3046\u3053\u3068\u3067\u8a66\u3057\u3066\u307f\u305f\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3053\u3053\u306f\u9e7f\u5150\u5cf6\uff0e\u90fd\u5185\u304b\u3089\u6700\u4f4e\u3067\u30822\u65e5\u9045\u308c\u306a\u306e\u3067\u8a66\u305b\u306a\u3044\u3067\u3044\u307e\u3057\u305f\uff0e\u6628\u65e5\u3084\u3063\u3068\u30b3\u30f3\u30d3\u30cb\u3067\u5165\u624b\u51fa\u6765\u305f\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e
\u3061\u306a\u307f\u306bAmazon\u3067\u306f\u58f2\u308a\u5207\u308c\u3067\u30de\u30fc\u30b1\u30c3\u30c8\u30d7\u30ec\u30a4\u30b9\u6271\u3044\u306e\u7269\u3057\u304b\u7121\u3044\u3088\u3046\u3067\u3059\uff0e\u305d\u306e\u4e2d\u3067\u5b89\u3044\u3082\u306e\u306fSIM\u306a\u3057\u3068\u66f8\u304b\u308c\u3066\u3044\u308b\u306e\u3067\u6ce8\u610f\u3057\u307e\u3057\u3087\u3046\uff0e
\n
\u4eca\u56de\u306fUSB\u30e2\u30c7\u30e0\u3068\u3057\u3066\u4ee5\u524d500\u5186\u307b\u3069\u3067\u8cb7\u3063\u305f Docomo L-02C \u3092 Rasbian jessie \u3092\u5c0e\u5165\u3057\u305f Raspberry Pi 2B \u306b\u63a5\u7d9a\u3057\u3066 wvdial \u3067\u63a5\u7d9a\u3057\u307e\u3057\u305f\uff0e\u3053\u306e\u30e2\u30c7\u30e0\u306f\u7d50\u69cb\u96fb\u6c17\u3092\u98df\u3046\u3089\u3057\u304f\u96fb\u6e90\u304c\u3042\u308b\u7a0b\u5ea6\u5927\u5bb9\u91cf\u3067\u306a\u3044\u3068\u3068\u3066\u3082\u4e0d\u5b89\u5b9a\u306b\u306a\u308a\u307e\u3059\uff0e\u4eca\u56de\u306f\u79d8\u5bc6\u7d50\u793e\u30aa\u30fc\u30d7\u30f3\u30d5\u30a9\u30fc\u30b9\u6cb3\u91ce\u7dcf\u7d71\u8b39\u88fd\u306e RaspberryPot \u3068\u3044\u3046 GPIO \u7d4c\u7531\u3067\u306e\u96fb\u6e90\u3092\u5229\u7528\u3057\u307e\u3057\u305f\uff0eRaspberryPot \u306f\u73fe\u5728\u6050\u3089\u304f\u5165\u624b\u51fa\u6765\u307e\u305b\u3093\uff0eRaspberry Hubu \u306e\u96fb\u6e90\u90e8\u5206\u3092\u5207\u308a\u51fa\u3057\u305f\u3082\u306e\u306a\u306e\u3067 Raspberry Hubu \u3067\u3082\u540c\u3058\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\uff0e
\n\uff03\u3061\u306a\u307f\u306b Pi \u3067\u52d5\u304b\u3059\u524d\u306b Debian testing stretch amd64 \u306a NotePC \u3067\u3082\u540c\u69d8\u306e\u8a2d\u5b9a\u3067\u52d5\u304f\u306e\u3092\u78ba\u8a8d\u3057\u3066\u3044\u307e\u3059\uff0eDebian oldstable \u4ee5\u964d\u306a\u3089\u5168\u90e8\u540c\u3058\u624b\u9806\u3067\u884c\u3051\u308b\u3068\u601d\u3044\u307e\u3059\uff0e\n
\n– RaspberryHabu – FABLIB Wiki – FABLIB – OSDN
\n– \u79d8\u5bc6\u7d50\u793e\u30aa\u30fc\u30d7\u30f3\u30d5\u30a9\u30fc\u30b9
\u6b21\u306e\u30da\u30fc\u30b8\u304b\u3089\u958b\u901a\u624b\u7d9a\u304d\u3092\u884c\u3044\u307e\u3059\uff0e\u958b\u901a\u624b\u7d9a\u304d\u306e\u671f\u9650\u306f2016\u5e7402\u670824\u65e5\uff0e
\n– http://lte.so-net.ne.jp/r/0sim/a/
\u30ed\u30b0\u30a4\u30f3\u60c5\u5831\u306fSIM\u306e\u53f0\u7d19\u306b\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\uff0e
\n
$ sudo apt update && sudo apt upgrade\r\n$ sudo apt install cu wvdial usb-modeswitch\r\n\n
\uff1c\u8ffd\u8a18\uff1e
\n\u203b\u5fc5\u8981\u306a\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306e\u5c0e\u5165\u306busb-modeswitch\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u8ffd\u52a0
\n\uff1c\uff0f\u8ffd\u8a18\uff1e
pi \u306e dialout \u30b0\u30eb\u30fc\u30d7\u3078\u306e\u767b\u9332\u3053\u306e\u624b\u7d9a\u304d\u3092\u3057\u306a\u3044\u3068\uff0c\u30c0\u30a4\u30e4\u30eb\u6642\u306a\u3069\u6bce\u56de sudo \u3057\u306a\u3044\u3068\u3044\u3051\u307e\u305b\u3093\uff0e
\n$ sudo addgroup pi dialout\r\n\n\u203b\u53cd\u6620\u306b\u306f\u8981\u30ed\u30b0\u30a4\u30f3\u3057\u306a\u304a\u3057
\n/dev/ttyUSB2 \u90e8\u5206\u306f dmesg|tail\u306a\u3069\u3068\u3057\u3066\u78ba\u8a8d\u3057\u3066\u4e0b\u3055\u3044\uff0e\u30e2\u30c7\u30e0\u306e\u4ed6\u306b\u4f55\u3082\u63a5\u7d9a\u3057\u3066\u3044\u306a\u3051\u308c\u3070 ttyUSB0~ttyUSB3 \u306e4\u3064\u306e\u30c7\u30d0\u30a4\u30b9\u304c\u78ba\u8a8d\u3067\u304d\u308b\u306f\u305a\u3067\u3059\uff0e
% cu -l /dev/ttyUSB2 -s 115200\r\nConnected.\r\natz\r\nOK\r\n\n
AT+CGDCONT?\r\n+CGDCONT: 1,"IP","mopera.net",,0,0,0\r\n+CGDCONT: 11,"IP","mopera.net",,0,0,0\r\n\r\nOK\r\n\n
so-net.jp)\u3092\u8a2d\u5b9aAT+CGDCONT=1,"IP","so-net.jp"\r\nOK\r\n\n
\u203b\u6b21\u306e\u3088\u3046\u306b\u3057\u3066\u8907\u6570\u306eAPN\u3092\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u3082\u53ef\u80fd
\nAT+CGDCONT=2,"IP","lte.nttplala.com"\r\nOK\r\nAT+CGDCONT=3,"IP","mineo-d.jp"\r\nOK\r\n\n
AT+CGDCONT?\r\n+CGDCONT: 1,"IP","so-net.jp",,0,0,0\r\n+CGDCONT: 11,"IP","mopera.net",,0,0,0\r\nOK\r\n\n
ATZ0\r\nOK\r\n\n
~.\r\n\r\nDisconnected.\r\n\n
wvdial \u306e\u8a2d\u5b9a/etc/wvdial.conf \u306b\u4ee5\u4e0b\u3092\u8ffd\u8a18\uff0e
[Dialer 0sim]\r\nModem Type = Analog Modem\r\nPhone = *99***1#\r\nCarrier Check = no\r\nAuto Reconnect = yes\r\nStupid Mode = yes\r\n\r\nISDN = 0\r\nInit1 = ATZ\r\nInit2 = ATH\r\nInit3 = AT+CGDCONT?\r\nInit4 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0\r\nDial Command = ATD\r\nModem = /dev/ttyUSB2\r\nBaud = 115200\r\n\r\nUsername = nuro\r\nPassword = nuro\r\n\n
$ wvdial 0sim\r\n\n$ w3m -dump http://ifconfig.me/all\r\nip_addr: 118.241.XXX.XXX\r\nremote_host: XXXXXXXXXX.ap.nuro.jp\r\nuser_agent: w3m/0.5.3+debian-19\r\nport: 44286\r\nlang: ja;q=1.0, en;q=0.5\r\nconnection: \r\nkeep_alive: \r\nencoding: gzip, compress, bzip, bzip2, deflate\r\nmime: text/html, text/*;q=0.5, image/*, application/*, audio/*, video/*, x-scheme-handler/*, x-content/*, inode/*\r\ncharset: \r\nvia: \r\nforwarded: \r\n\n
\u5bfe\u306e\u30da\u30fc\u30b8\u304b\u3089\u30ed\u30b0\u30a4\u30f3\u3057\u3066\u5229\u7528\u72b6\u6cc1\u304c\u78ba\u8a8d\u3067\u304d\u307e\u3059\uff0e\u307e\u305f\uff0c400MB \u3092\u8d85\u3048\u308b\u3068\u30e1\u30fc\u30eb\u3067\u304a\u77e5\u3089\u305b\u3082\u6765\u308b\u3089\u3057\u3044\u3067\u3059\uff0e
\n– \u30e6\u30fc\u30b6Web\u30e1\u30a4\u30f3\u30e1\u30cb\u30e5\u30fc
\u3068\u3044\u3046\u3053\u3068\u3067\u66ab\u304f\u8a66\u3057\u3066\u307f\u305f\u3044\u3068\u601d\u3044\u307e\u3059\uff0e
\n\n\u203bAmazon\u3067\u96d1\u8a8c\u3092\u8cb7\u3046\u5834\u5408\u306fSIM\u306a\u3057\u306e\u3082\u306e\u3082\u3042\u308b\u306e\u3067\u3088\u304f\u78ba\u8a8d\u3057\u3066\u8cfc\u5165\u3057\u307e\u3057\u3087\u3046\uff0e
\n\uff1c\u8ffd\u8a18\uff1e
\nTwitter\u3067/dev/ttyUSBn\u304c\u898b\u3064\u304b\u3089\u306a\u3044\u3068\u3044\u3046\u66f8\u304d\u8fbc\u307f\u3092\u898b\u3066\u5c0e\u5165\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u8db3\u308a\u306a\u304b\u3063\u305f\u306e\u306b\u6c17\u3065\u304d\u307e\u3057\u305f\uff0e\u3053\u308c\u304c\u8db3\u308a\u306a\u3044\u3068USB\u30e2\u30c7\u30e0\u63a5\u7d9a\u6642\u306edmesg\u3067\u4ee5\u4e0b\u306e\u3088\u3046\u306bCD-ROM\u306esr0\u30c7\u30d0\u30a4\u30b9\u304c\u51fa\u3066\u6765\u3066ttyUSBn\u306f\u51fa\u3066\u304d\u307e\u305b\u3093\uff0e
\n
\u3053\u306e\u6642\u306e\u30d9\u30f3\u30c0\u30fcID:\u30d7\u30ed\u30c0\u30af\u30c8ID\u306f1004:61dd\u3067\u3059\uff0e
\n
\u3053\u306e\u5834\u5408usb-modeswitch\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u5c0e\u5165\u3057\u3066\uff0c
\n
USB\u30e2\u30c7\u30e0\u3092\u63a5\u7d9a\u3057\u76f4\u3059\u3068\u51fa\u3066\u304d\u307e\u3059\uff0e
\n\n
\u30d7\u30ed\u30c0\u30af\u30c8ID\u308261dd\u304b\u3089618f\u306b\u5909\u308f\u308a\u307e\u3057\u305f\uff0e
\n
\u4f55\u6545CD-ROM\u30c7\u30d0\u30a4\u30b9\u304c\u51fa\u3066\u304f\u308b\u304b\u3068\u3044\u3046\u3068Windows\u74b0\u5883\u306a\u3069\u3067\u306e\u30c4\u30fc\u30eb\u3084\u30c9\u30e9\u30a4\u30d0\u5c0e\u5165\u306e\u305f\u3081\u3067\u3059\uff0e\u3053\u306eCD-ROM\u30c7\u30d0\u30a4\u30b9\u4e2d\u306b\u30c4\u30fc\u30eb\u3084\u30c9\u30e9\u30a4\u30d0\u304c\u5165\u3063\u3066\u3044\u3066\u7c21\u5358\u306b\u5c0e\u5165\u304c\u51fa\u6765\u308b\u3068\u3044\u3046\u3082\u306e\u306a\u306e\u3067\u3059\u304c\uff0cLinux\u7248\u306e\u30c4\u30fc\u30eb\u3084\u30c9\u30e9\u30a4\u30d0\u306f\u5165\u3063\u3066\u3044\u306a\u3044\u3067\u3059\uff0eusb-modeswitch\u30d1\u30c3\u30b1\u30fc\u30b8\u306fCD-ROM\u304b\u3089USB\u30e2\u30c7\u30e0\u3078\u306e\u30c7\u30d0\u30a4\u30b9\u306e\u5207\u308a\u66ff\u3048\u3092\u3057\u3066\u304f\u308c\u307e\u3059\uff0e
\uff1c\uff0f\u8ffd\u8a18\uff1e
\n", "content_text": "\u30c7\u30b8\u30e2\u30ce\u30b9\u30c6\u30fc\u30b7\u30e7\u30f3 2016\u5e742\u6708\u53f7\u306b\uff10SIM by So-net \u3068\u3044\u3046\u3082\u306e\u304c\u4ed8\u9332\u3067\u4ed8\u3044\u3066\u304d\u3066\u4e00\u90e8\u3067\u6d41\u884c\u3063\u3066\u3044\u307e\u3059\uff0e\n– \u96d1\u8a8c\u300c\u30c7\u30b8\u30e2\u30ce\u30b9\u30c6\u30fc\u30b7\u30e7\u30f3\u300d\u6700\u65b0\u53f7 \u2013 DIGIMONO\uff01\uff08\u30c7\u30b8\u30e2\u30ce\uff01\uff09\n\n\u3053\u308c\u306f\u3053\u306e\u96d1\u8a8c\u3092\u8cb7\u3063\u3066\u4ed8\u3044\u3066\u304d\u305f\u4ed8\u9332\u306eSIM\u3092\u4f7f\u3046\u3068\u96d1\u8a8c\u4ee3(620\u5186)\u3060\u3051\u3067\u958b\u901a\u624b\u7d9a\u304d\u624b\u6570\u6599\u7121\u6599\u3067\u6708\u3042\u305f\u308a500MB\u8fc4\u7121\u6599\u3067\u5229\u7528\u3067\u304d\u308b\u3068\u3044\u3046\u3082\u306e\uff0e\u52ff\u8ad6\u4ed6\u306bSIM\u3092\u523a\u3059\u7aef\u672b\u306f\u5fc5\u8981\u3067\u3059\uff0e\n\n\u3010\uff10SIM by So-net\u3011 \u8a73\u7d30\n\u5f62\u72b6\uff1ananoSIM \u898f\u683c\uff1a\uff10SIM by So-net \u7a2e\u985e\uff1a\u30c7\u30fc\u30bf\u901a\u4fe1\u5c02\u7528\n\u30c7\u30fc\u30bf\u91cf\u3068\u6599\u91d1\uff08\uff12\u6bb5\u968e\u5b9a\u984d\uff09\n0MB\uff5e499MB\uff1a0\u5186\n500MB \uff5e 2047MB\uff1a100\u5186\uff5e1500\u5186\n2048MB \uff5e\uff1a1600\u5186\n\u901f\u5ea6\u5236\u9650\uff1a\u306a\u3057\uff08\u305f\u3060\u30575GB\u307e\u3067\uff09/ NTT\u30c9\u30b3\u30e2 4G LTE\uff08\u4e0b\u308a\u6700\u5927225Mbps\uff09\n\u958b\u901a\u671f\u9650\uff1a2016\u5e742\u670824\u65e5\n\n\u4e0a\u9650\u3082\u3042\u308b\u306e\u3067\u3046\u3063\u304b\u308a\u4f7f\u3044\u3059\u304e\u3066\u3082\u5b89\u5fc3\u611f\u304c\u3042\u308a\u307e\u3059\uff0e\u3061\u306a\u307f\u306b\u4e0a\u9650\u3092\u3088\u304f\u8d85\u3048\u308b\u3088\u3046\u3060\u3068\u5225\u306e\u30d7\u30e9\u30f3\u306b\u3057\u305f\u307b\u3046\u304c\u304a\u5f97\u3067\u3059\uff0e\n\u4e00\u4eba\u3067\u8907\u6570\u5951\u7d04\u306f\u51fa\u6765\u306a\u3044\u306e\u3067\u305f\u304f\u3055\u3093\u8cb7\u3063\u3066500MB\u3054\u3068\u306b\u5dee\u3057\u66ff\u3048\u3066\u4f7f\u3046\u3068\u8a00\u3063\u305f\u3053\u3068\u306f\u51fa\u6765\u306a\u3044\uff0c3\u30f6\u6708\u5229\u7528\u3057\u306a\u3044\u3068\u81ea\u52d5\u89e3\u7d04\u3055\u308c\u308b\u3088\u3046\u306a\u306e\u3067\u5bdd\u304b\u305b\u3066\u304a\u304f\u3053\u3068\u3082\u51fa\u6765\u306a\u3044\u3088\u3046\uff0e\n\u666e\u901a\u306b\u4f7f\u3046\u3068\u3042\u3063\u3068\u3044\u3046\u9593\u306b500MB\u8d85\u3048\u3061\u3083\u3046\u3067\u3057\u3087\u3046\u3051\u3069\u4f7f\u3044\u3088\u3046\u306b\u3088\u3063\u3066\u306f\u4fbf\u5229\u306b\u4f7f\u3048\u305d\u3046(\u6c17\u8c61\u30bb\u30f3\u30b5\u306e\u30c7\u30fc\u30bf\u3092\u9001\u308b\u3068\u304b\u306a\u3089\u4f59\u88d5)\uff0e\u3068\u3044\u3046\u3053\u3068\u3067\u8a66\u3057\u3066\u307f\u305f\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3053\u3053\u306f\u9e7f\u5150\u5cf6\uff0e\u90fd\u5185\u304b\u3089\u6700\u4f4e\u3067\u30822\u65e5\u9045\u308c\u306a\u306e\u3067\u8a66\u305b\u306a\u3044\u3067\u3044\u307e\u3057\u305f\uff0e\u6628\u65e5\u3084\u3063\u3068\u30b3\u30f3\u30d3\u30cb\u3067\u5165\u624b\u51fa\u6765\u305f\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\u3061\u306a\u307f\u306bAmazon\u3067\u306f\u58f2\u308a\u5207\u308c\u3067\u30de\u30fc\u30b1\u30c3\u30c8\u30d7\u30ec\u30a4\u30b9\u6271\u3044\u306e\u7269\u3057\u304b\u7121\u3044\u3088\u3046\u3067\u3059\uff0e\u305d\u306e\u4e2d\u3067\u5b89\u3044\u3082\u306e\u306fSIM\u306a\u3057\u3068\u66f8\u304b\u308c\u3066\u3044\u308b\u306e\u3067\u6ce8\u610f\u3057\u307e\u3057\u3087\u3046\uff0e\n\n\u4eca\u56de\u306fUSB\u30e2\u30c7\u30e0\u3068\u3057\u3066\u4ee5\u524d500\u5186\u307b\u3069\u3067\u8cb7\u3063\u305f Docomo L-02C \u3092 Rasbian jessie \u3092\u5c0e\u5165\u3057\u305f Raspberry Pi 2B \u306b\u63a5\u7d9a\u3057\u3066 wvdial \u3067\u63a5\u7d9a\u3057\u307e\u3057\u305f\uff0e\u3053\u306e\u30e2\u30c7\u30e0\u306f\u7d50\u69cb\u96fb\u6c17\u3092\u98df\u3046\u3089\u3057\u304f\u96fb\u6e90\u304c\u3042\u308b\u7a0b\u5ea6\u5927\u5bb9\u91cf\u3067\u306a\u3044\u3068\u3068\u3066\u3082\u4e0d\u5b89\u5b9a\u306b\u306a\u308a\u307e\u3059\uff0e\u4eca\u56de\u306f\u79d8\u5bc6\u7d50\u793e\u30aa\u30fc\u30d7\u30f3\u30d5\u30a9\u30fc\u30b9\u6cb3\u91ce\u7dcf\u7d71\u8b39\u88fd\u306e RaspberryPot \u3068\u3044\u3046 GPIO \u7d4c\u7531\u3067\u306e\u96fb\u6e90\u3092\u5229\u7528\u3057\u307e\u3057\u305f\uff0eRaspberryPot \u306f\u73fe\u5728\u6050\u3089\u304f\u5165\u624b\u51fa\u6765\u307e\u305b\u3093\uff0eRaspberry Hubu \u306e\u96fb\u6e90\u90e8\u5206\u3092\u5207\u308a\u51fa\u3057\u305f\u3082\u306e\u306a\u306e\u3067 Raspberry Hubu \u3067\u3082\u540c\u3058\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\uff0e\n\uff03\u3061\u306a\u307f\u306b Pi \u3067\u52d5\u304b\u3059\u524d\u306b Debian testing stretch amd64 \u306a NotePC \u3067\u3082\u540c\u69d8\u306e\u8a2d\u5b9a\u3067\u52d5\u304f\u306e\u3092\u78ba\u8a8d\u3057\u3066\u3044\u307e\u3059\uff0eDebian oldstable \u4ee5\u964d\u306a\u3089\u5168\u90e8\u540c\u3058\u624b\u9806\u3067\u884c\u3051\u308b\u3068\u601d\u3044\u307e\u3059\uff0e\n\n\n– RaspberryHabu – FABLIB Wiki – FABLIB – OSDN\n– \u79d8\u5bc6\u7d50\u793e\u30aa\u30fc\u30d7\u30f3\u30d5\u30a9\u30fc\u30b9\n\n\u958b\u901a\u624b\u7d9a\u304d\n\u6b21\u306e\u30da\u30fc\u30b8\u304b\u3089\u958b\u901a\u624b\u7d9a\u304d\u3092\u884c\u3044\u307e\u3059\uff0e\u958b\u901a\u624b\u7d9a\u304d\u306e\u671f\u9650\u306f2016\u5e7402\u670824\u65e5\uff0e\n– http://lte.so-net.ne.jp/r/0sim/a/\n\u30ed\u30b0\u30a4\u30f3\u60c5\u5831\u306fSIM\u306e\u53f0\u7d19\u306b\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\uff0e\n\n\u5fc5\u8981\u306a\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306e\u5c0e\u5165\n\n$ sudo apt update && sudo apt upgrade\r\n$ sudo apt install cu wvdial usb-modeswitch\r\n\n\n\uff1c\u8ffd\u8a18\uff1e\n\u203b\u5fc5\u8981\u306a\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306e\u5c0e\u5165\u306busb-modeswitch\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u8ffd\u52a0\n\uff1c\uff0f\u8ffd\u8a18\uff1e\n\u5229\u7528\u30e6\u30fc\u30b6 pi \u306e dialout \u30b0\u30eb\u30fc\u30d7\u3078\u306e\u767b\u9332\n\u3053\u306e\u624b\u7d9a\u304d\u3092\u3057\u306a\u3044\u3068\uff0c\u30c0\u30a4\u30e4\u30eb\u6642\u306a\u3069\u6bce\u56de sudo \u3057\u306a\u3044\u3068\u3044\u3051\u307e\u305b\u3093\uff0e\n\n$ sudo addgroup pi dialout\r\n\n\n\u203b\u53cd\u6620\u306b\u306f\u8981\u30ed\u30b0\u30a4\u30f3\u3057\u306a\u304a\u3057\nDocomo L-02C \u3078\u306e APN\u767b\u9332\n\u30e2\u30c7\u30e0\u3078\u306e\u63a5\u7d9a\u3068\u52d5\u4f5c\u78ba\u8a8d\n/dev/ttyUSB2 \u90e8\u5206\u306f dmesg|tail\u306a\u3069\u3068\u3057\u3066\u78ba\u8a8d\u3057\u3066\u4e0b\u3055\u3044\uff0e\u30e2\u30c7\u30e0\u306e\u4ed6\u306b\u4f55\u3082\u63a5\u7d9a\u3057\u3066\u3044\u306a\u3051\u308c\u3070 ttyUSB0~ttyUSB3 \u306e4\u3064\u306e\u30c7\u30d0\u30a4\u30b9\u304c\u78ba\u8a8d\u3067\u304d\u308b\u306f\u305a\u3067\u3059\uff0e\n\n% cu -l /dev/ttyUSB2 -s 115200\r\nConnected.\r\natz\r\nOK\r\n\n\n\u73fe\u5728\u306eAPN\u78ba\u8a8d\n\nAT+CGDCONT?\r\n+CGDCONT: 1,"IP","mopera.net",,0,0,0\r\n+CGDCONT: 11,"IP","mopera.net",,0,0,0\r\n\r\nOK\r\n\n\nAPN(so-net.jp)\u3092\u8a2d\u5b9a\n\nAT+CGDCONT=1,"IP","so-net.jp"\r\nOK\r\n\n\n\u203b\u6b21\u306e\u3088\u3046\u306b\u3057\u3066\u8907\u6570\u306eAPN\u3092\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u3082\u53ef\u80fd\n\nAT+CGDCONT=2,"IP","lte.nttplala.com"\r\nOK\r\nAT+CGDCONT=3,"IP","mineo-d.jp"\r\nOK\r\n\n\nAPN\u304c\u767b\u9332\u3067\u304d\u305f\u304b\u78ba\u8a8d\n\nAT+CGDCONT?\r\n+CGDCONT: 1,"IP","so-net.jp",,0,0,0\r\n+CGDCONT: 11,"IP","mopera.net",,0,0,0\r\nOK\r\n\n\n\u8a2d\u5b9a\u306e\u66f8\u304d\u8fbc\u307f\n\nATZ0\r\nOK\r\n\n\n\u30e2\u30c7\u30e0\u304b\u3089\u5207\u65ad\n\n~.\r\n\r\nDisconnected.\r\n\n\n\u30c0\u30a4\u30e4\u30eb\u30a2\u30c3\u30d7\u306e\u305f\u3081\u306b wvdial \u306e\u8a2d\u5b9a\n/etc/wvdial.conf \u306b\u4ee5\u4e0b\u3092\u8ffd\u8a18\uff0e\n\n[Dialer 0sim]\r\nModem Type = Analog Modem\r\nPhone = *99***1#\r\nCarrier Check = no\r\nAuto Reconnect = yes\r\nStupid Mode = yes\r\n\r\nISDN = 0\r\nInit1 = ATZ\r\nInit2 = ATH\r\nInit3 = AT+CGDCONT?\r\nInit4 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0\r\nDial Command = ATD\r\nModem = /dev/ttyUSB2\r\nBaud = 115200\r\n\r\nUsername = nuro\r\nPassword = nuro\r\n\n\n\u63a5\u7d9a\n\n$ wvdial 0sim\r\n\n\n\u63a5\u7d9a\u78ba\u8a8d\n\n$ w3m -dump http://ifconfig.me/all\r\nip_addr: 118.241.XXX.XXX\r\nremote_host: XXXXXXXXXX.ap.nuro.jp\r\nuser_agent: w3m/0.5.3+debian-19\r\nport: 44286\r\nlang: ja;q=1.0, en;q=0.5\r\nconnection: \r\nkeep_alive: \r\nencoding: gzip, compress, bzip, bzip2, deflate\r\nmime: text/html, text/*;q=0.5, image/*, application/*, audio/*, video/*, x-scheme-handler/*, x-content/*, inode/*\r\ncharset: \r\nvia: \r\nforwarded: \r\n\n\n\u5229\u7528\u72b6\u6cc1\u78ba\u8a8d\n\u5bfe\u306e\u30da\u30fc\u30b8\u304b\u3089\u30ed\u30b0\u30a4\u30f3\u3057\u3066\u5229\u7528\u72b6\u6cc1\u304c\u78ba\u8a8d\u3067\u304d\u307e\u3059\uff0e\u307e\u305f\uff0c400MB \u3092\u8d85\u3048\u308b\u3068\u30e1\u30fc\u30eb\u3067\u304a\u77e5\u3089\u305b\u3082\u6765\u308b\u3089\u3057\u3044\u3067\u3059\uff0e\n– \u30e6\u30fc\u30b6Web\u30e1\u30a4\u30f3\u30e1\u30cb\u30e5\u30fc\n\n\u3068\u3044\u3046\u3053\u3068\u3067\u66ab\u304f\u8a66\u3057\u3066\u307f\u305f\u3044\u3068\u601d\u3044\u307e\u3059\uff0e\n\n\u203bAmazon\u3067\u96d1\u8a8c\u3092\u8cb7\u3046\u5834\u5408\u306fSIM\u306a\u3057\u306e\u3082\u306e\u3082\u3042\u308b\u306e\u3067\u3088\u304f\u78ba\u8a8d\u3057\u3066\u8cfc\u5165\u3057\u307e\u3057\u3087\u3046\uff0e\n\u95a2\u9023URL\n\nLinux/Device/Docomo_L-02C – matoken’s wiki.\n\n\uff1c\u8ffd\u8a18\uff1e\nTwitter\u3067/dev/ttyUSBn\u304c\u898b\u3064\u304b\u3089\u306a\u3044\u3068\u3044\u3046\u66f8\u304d\u8fbc\u307f\u3092\u898b\u3066\u5c0e\u5165\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u8db3\u308a\u306a\u304b\u3063\u305f\u306e\u306b\u6c17\u3065\u304d\u307e\u3057\u305f\uff0e\u3053\u308c\u304c\u8db3\u308a\u306a\u3044\u3068USB\u30e2\u30c7\u30e0\u63a5\u7d9a\u6642\u306edmesg\u3067\u4ee5\u4e0b\u306e\u3088\u3046\u306bCD-ROM\u306esr0\u30c7\u30d0\u30a4\u30b9\u304c\u51fa\u3066\u6765\u3066ttyUSBn\u306f\u51fa\u3066\u304d\u307e\u305b\u3093\uff0e\n$ dmesg | tail[417400.989925] usb 2-1.1: Product: docomo L02C[417400.989927] usb 2-1.1: Manufacturer: NTT DOCOMO, INC.[417400.989928] usb 2-1.1: SerialNumber: 353168046719530[417400.990982] usb-storage 2-1.1:1.0: USB Mass Storage device detected[417400.991062] scsi host11: usb-storage 2-1.1:1.0[417401.988387] scsi 11:0:0:0: CD-ROM LG Autorun 2.00 PQ: 0 ANSI: 0[417401.988771] scsi 11:0:0:0: Attached scsi generic sg2 type 5[417401.999991] sr 11:0:0:0: [sr0] scsi-1 drive[417402.000001] cdrom: Uniform CD-ROM driver Revision: 3.20[417402.000257] sr 11:0:0:0: Attached scsi CD-ROM sr0\n\u3053\u306e\u6642\u306e\u30d9\u30f3\u30c0\u30fcID:\u30d7\u30ed\u30c0\u30af\u30c8ID\u306f1004:61dd\u3067\u3059\uff0e\n$ lsusb|grep LGBus 002 Device 027: ID 1004:61dd LG Electronics, Inc. \n\u3053\u306e\u5834\u5408usb-modeswitch\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u5c0e\u5165\u3057\u3066\uff0c\n$ sudo apt install usb-modeswitch\nUSB\u30e2\u30c7\u30e0\u3092\u63a5\u7d9a\u3057\u76f4\u3059\u3068\u51fa\u3066\u304d\u307e\u3059\uff0e\n$ dmesg | tail[417994.525827] usb 2-1.1: Product: docomo L02C[417994.525830] usb 2-1.1: Manufacturer: NTT DOCOMO, INC.[417994.527296] option 2-1.1:1.0: GSM modem (1-port) converter detected[417994.527511] usb 2-1.1: GSM modem (1-port) converter now attached to ttyUSB0[417994.527807] option 2-1.1:1.1: GSM modem (1-port) converter detected[417994.527997] usb 2-1.1: GSM modem (1-port) converter now attached to ttyUSB1[417994.528217] option 2-1.1:1.2: GSM modem (1-port) converter detected[417994.528346] usb 2-1.1: GSM modem (1-port) converter now attached to ttyUSB2[417994.528597] option 2-1.1:1.3: GSM modem (1-port) converter detected[417994.528741] usb 2-1.1: GSM modem (1-port) converter now attached to ttyUSB3\n\u30d7\u30ed\u30c0\u30af\u30c8ID\u308261dd\u304b\u3089618f\u306b\u5909\u308f\u308a\u307e\u3057\u305f\uff0e\n$ lsusb|grep LGBus 002 Device 029: ID 1004:618f LG Electronics, Inc. Ally/Optimus One\n\u4f55\u6545CD-ROM\u30c7\u30d0\u30a4\u30b9\u304c\u51fa\u3066\u304f\u308b\u304b\u3068\u3044\u3046\u3068Windows\u74b0\u5883\u306a\u3069\u3067\u306e\u30c4\u30fc\u30eb\u3084\u30c9\u30e9\u30a4\u30d0\u5c0e\u5165\u306e\u305f\u3081\u3067\u3059\uff0e\u3053\u306eCD-ROM\u30c7\u30d0\u30a4\u30b9\u4e2d\u306b\u30c4\u30fc\u30eb\u3084\u30c9\u30e9\u30a4\u30d0\u304c\u5165\u3063\u3066\u3044\u3066\u7c21\u5358\u306b\u5c0e\u5165\u304c\u51fa\u6765\u308b\u3068\u3044\u3046\u3082\u306e\u306a\u306e\u3067\u3059\u304c\uff0cLinux\u7248\u306e\u30c4\u30fc\u30eb\u3084\u30c9\u30e9\u30a4\u30d0\u306f\u5165\u3063\u3066\u3044\u306a\u3044\u3067\u3059\uff0eusb-modeswitch\u30d1\u30c3\u30b1\u30fc\u30b8\u306fCD-ROM\u304b\u3089USB\u30e2\u30c7\u30e0\u3078\u306e\u30c7\u30d0\u30a4\u30b9\u306e\u5207\u308a\u66ff\u3048\u3092\u3057\u3066\u304f\u308c\u307e\u3059\uff0e\n\uff1c\uff0f\u8ffd\u8a18\uff1e", "date_published": "2015-12-29T08:21:27+09:00", "date_modified": "2016-02-14T20:48:10+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/1865f695c4eecc844385acef2f078255036adccd42c254580ea3844543ab56d9?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/1865f695c4eecc844385acef2f078255036adccd42c254580ea3844543ab56d9?s=512&d=mm&r=g" }, "tags": [ "Jessie", "Rasbian", "RaspberryPi", "SIM", "Debian", "jessie", "Linux", "Raspberry Pi", "\u96fb\u5b50\u5de5\u4f5c" ] }, { "id": "http://matoken.org/blog/?p=1054", "url": "https://matoken.org/blog/2015/12/08/raspberry-pi-for-os-writing-tips-on-linux-environment/", "title": "Linux \u74b0\u5883\u3067\u306e Raspberry Pi \u5411\u3051 OS \u66f8\u304d\u8fbc\u307fTips", "content_html": "\u3053\u306e\u30a8\u30f3\u30c8\u30ea\u306f Raspberry Pi Advent Calendar 2015 \u306e12\u670808\u65e5\u5206\u3067\u3059\uff0e
\n\u6628\u65e5\u306f @2box2bo\u3055\u3093\u306e RaspberryPi\u3068\u516c\u5f0f\u30bf\u30c3\u30c1\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u3067\u30de\u30a4\u30f3\u30af\u30e9\u30d5\u30c8\u3059\u308b\u304a\u8a71 | \u6d41\u9023\u8352\u4ea1 \u3067\u3057\u305f\uff0e\u516c\u5f0f\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u6b32\u3057\u3044\u3067\u3059\u2026\u2026\uff0e
\u6700\u8fd1 Raspberry Pi \u306f\u30b5\u30d6PC \u7684\u306b\u4f7f\u3063\u3066\u3066\u30cd\u30bf\u304c\u306a\u3044(\u666e\u901a\u306b Linux Desktop \u306a\u306e\u3067\u2026\u2026)\u306e\u3067\u7d19\u88fd\u30b1\u30fc\u30b9\u306e\u7d39\u4ecb\u3067\u3082\u3057\u3088\u3046\u304b\u3068\u601d\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\uff0cRaspberry Pi \u306b OS \u3092\u66f8\u304d\u8fbc\u3080\u306e\u306b\u3088\u304f\u4f7f\u3046 dd \u95a2\u9023\u306e\u30cd\u30bf\u304c\u5c11\u3057\u6e9c\u307e\u3063\u3066\u3044\u308b\u306e\u3067\u4eca\u56de\u306f\u3053\u308c\u3092\u7d39\u4ecb\u3057\u3088\u3046\u3068\u601d\u3044\u307e\u3059\uff0e\uff08NOOBS \u3060\u3068\u307b\u307c\u95a2\u4fc2\u306a\u304f\u30b3\u30d4\u30fc\u3059\u308b\u3060\u3051\u3067\u3044\u3044\u3093\u3067\u3059\u304c\u2026\u2026\uff09
\nRasbina jessie / Debian stretch \u3067\u691c\u8a3c\u3057\u3066\u3044\u307e\u3059\u304c\uff0cLinux \u306a\u3089\u5c0e\u5165\u624b\u9806\u4ee5\u5916\u540c\u3058\u3060\u3068\u601d\u3044\u307e\u3059\uff0eMac OS X / UNIX \u7cfb\u306e OS \u3067\u3082\u4f7f\u3048\u308b\u3068\u601d\u3044\u307e\u3059\uff0e
– \u7d19\u30b1\u30fc\u30b9\u306e\u4e00\u4f8b –
\ndd(dataset definition) \u306f GNU Coreutils \u306e\u4e2d\u306b\u5165\u3063\u3066\u3044\u308b\u306e\u3067\u307b\u3068\u3093\u3069\u306e GNU/Linux \u3060\u3068\u6a19\u6e96\u3067\u5c0e\u5165\u3055\u308c\u3066\u3044\u308b\u3068\u601d\u3044\u307e\u3059\uff0e\u3068\u3066\u3082\u4fbf\u5229\u3060\u3051\u3069\u4f7f\u3044\u65b9\u3092\u8aa4\u308b\u3068\u30b7\u30b9\u30c6\u30e0\u3084\u30c7\u30fc\u30bf\u3092\u3044\u3068\u3082\u7c21\u5358\u306b\u58ca\u3057\u3066\u3057\u307e\u3048\u307e\u3059\uff0e\u6ce8\u610f\u3057\u3066\u5b9f\u884c\u3057\u307e\u3057\u3087\u3046\uff0e
\n\ndd \u3067 sd \u66f8\u304d\u8fbc\u307f\u4e2d\u306b\u3069\u306e\u304f\u3089\u3044\u9032\u3093\u3060\u306e\u3060\u308d\u3046\u3068\u78ba\u8a8d\u3057\u305f\u304f\u306a\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\uff0e
\ndd \u306e\u30d7\u30ed\u30bb\u30b9\u306b\u5bfe\u3057\u3066 SIGUSR1 \u30b7\u30b0\u30ca\u30eb\u3092\u6295\u3052\u308b\u3068\u9032\u6357\u304c\u78ba\u8a8d\u3067\u304d\u307e\u3059\uff0e
dd \u306e\u30d7\u30ed\u30bb\u30b9\u756a\u53f7\u3092\u78ba\u8a8d
\n$ ps -ef|grep dd\r\n :\r\nroot 9273 32218 0 17:57 pts/1 00:00:00 sudo dd of=/dev/sdz bs=4M\r\nroot 9276 9273 9 17:57 pts/1 00:00:00 dd of=/dev/sdz bs=4M\r\n\n
9276 \u306a\u306e\u3067\u4ee5\u4e0b\u306e\u3088\u3046\u306b
$ sudo kill -USR1 9276\r\n\n
\u3067\uff0c\u3053\u3093\u306a\u611f\u3058\u306b\u8868\u793a\u3055\u308c\u307e\u3059\uff0e
\n0+243258 \u30ec\u30b3\u30fc\u30c9\u5165\u529b\r\n0+243258 \u30ec\u30b3\u30fc\u30c9\u51fa\u529b\r\n1224679424 \u30d0\u30a4\u30c8 (1.2 GB) \u30b3\u30d4\u30fc\u3055\u308c\u307e\u3057\u305f\u3001 17.2794 \u79d2\u3001 70.9 MB/\u79d2\r\n0+302681 \u30ec\u30b3\u30fc\u30c9\u5165\u529b\r\n0+302681 \u30ec\u30b3\u30fc\u30c9\u51fa\u529b\r\n1532985344 \u30d0\u30a4\u30c8 (1.5 GB) \u30b3\u30d4\u30fc\u3055\u308c\u307e\u3057\u305f\u3001 20.8063 \u79d2\u3001 73.7 MB/\u79d2\r\n\n
\u306a\u306e\u3067\u3053\u3093\u306a\u3068\u304b
\n$ sudo pkill -SIGUSR1 ^dd\r\n\n\u3053\u3093\u306a\u611f\u3058\u3067\u53e9\u304f\u3068\u826f\u3044\u611f\u3058\u3060\u3068\u601d\u3044\u307e\u3059\uff0e
\n% watch -n30 'sudo pkill -SIGUSR1 ^dd`\r\n\npv(Pipe Viewer) \u3068\u3044\u3046\u30d1\u30a4\u30d7\u306e\u72b6\u6cc1\u3092\u78ba\u8a8d\u3067\u304d\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u304c\u3042\u308a\u307e\u3059\uff0edd \u306e\u9593\u306b\u3053\u308c\u3092\u631f\u3093\u3067\u9032\u6357\u72b6\u6cc1\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3059\uff0e
\n\n\u5c0e\u5165
\n$ apt install pv\r\n\n\u5229\u7528\u4f8b
\n% zcat 2015-11-21-raspbian-jessie.zip | pv | sudo dd of=/dev/sdz bs=4M\r\n5.81GB 0:06:12 [15.2MB/s] [ <=> ]\r\n\n
-N \u3067 \u540d\u524d\u306e\uff0c-c \u3067\u30af\u30e9\u30b9\u30bf\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u306a\u308a\u307e\u3059\uff0e\u3053\u308c\u3092\u6d3b\u7528\u3059\u308b\u3068\u8907\u6570\u306e\u30d1\u30a4\u30d7\u306e\u76e3\u8996\u3082\u3067\u304d\u307e\u3059\uff0e
$ zcat ./2015-11-21-raspbian-jessie.zip | pv -cN zcat | xz | pv -cN xz | dd of=./2015-11-21-raspbian-jessie.xz\r\n zcat: 8.41MB 0:00:05 [1.09MB/s] [ <=> ]\r\n xz: 3.96MB 0:00:05 [1.06MB/s] [ <=> ]\r\n\n
dd \u3058\u3083\u306a\u3044\u3051\u3069 dd \u306e\u4ee3\u308f\u308a\u306b GNU ddrescue \u3092\u5229\u7528\u3059\u308b\u3068\u30d7\u30ed\u30b0\u30ec\u30b9\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff0e
$ sudo apt install gddrescue\r\n$ sudo ddrescue /dev/zero /dev/null --force\r\nGNU ddrescue 1.19\r\nPress Ctrl-C to interrupt\r\nrescued: 2969 MB, errsize: 0 B, current rate: 354 MB/s\r\n ipos: 2969 MB, errors: 0, average rate: 742 MB/s\r\n opos: 2969 MB, run time: 4 s, successful read: 0 s ago\r\nCopying non-tried blocks... Pass 1 (forwards)\r\n\n
\u3067\u3082\u6a19\u6e96\u6709\u529b\u5165\u529b\u3092\u53d7\u3051\u4ed8\u3051\u306a\u3044\u3088\u3046\u3067\u3059\uff0e
\n$ zcat ./2015-11-21-raspbian-jessie.zip | sudo ddrescue - /dev/sdz --force\r\nddrescue: Can't open input file: No such file or directory\r\n\n
\u985e\u4f3c\u306e ddrescue \u3060\u3068\u6a19\u6e96\u5165\u529b\u3082OK\u306a\u3088\u3046\u3067\u3059\uff0e\u3053\u3061\u3089\u306e\u5834\u5408\u306e\u30b3\u30de\u30f3\u30c9\u540d\u306f dd_rescue \u3067\u3059\uff0e
$ sudo apt install ddrescue\r\n$ zcat ./2015-11-21-raspbian-jessie.zip | sudo dd_rescue - /dev/sdz\r\ndd_rescue: (warning): input file is not seekable!\r\ndd_rescue: (warning): Illegal seek\r\ndd_rescue: (warning): Don't use sparse writes for non-seekable output\r\ndd_rescue: (info): ipos: 91136.0k, opos: 91136.0k, xferd: 91136.0k\r\n errs: 0, errxfer: 0.0k, succxfer: 91136.0k\r\n +curr.rate: 144981kB/s, avg.rate: 144776kB/s, avg.load: 38.4%\r\n\n
\u74b0\u5883\u306b\u3088\u3063\u3066 dd \u5b9f\u884c\u4e2d\u306b\u3068\u3066\u3082\u91cd\u304f\u306a\u3063\u3066\u30de\u30a6\u30b9\u30ab\u30fc\u30bd\u30eb\u3055\u3048\u30ab\u30af\u30ab\u30af\u52d5\u304f\u3088\u3046\u306b\u306a\u308a\u4e26\u884c\u3057\u3066\u5225\u306e\u4f5c\u696d\u304c\u3067\u304d\u306a\u3044\u3088\u3046\u306b\u307e\u3059\uff0e
\nionice \u3092\u4f7f\u3063\u3066 dd \u306e\u512a\u5148\u5ea6\u3092\u4e0b\u3052\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\uff0e
\n% zcat ./2015-11-21-raspbian-jessie.zip | sudo ionice -c2 -n7 dd of=/dev/sdz\r\n\npv \u30b3\u30de\u30f3\u30c9\u306e -L \u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u30d1\u30a4\u30d7\u306e\u5e2f\u57df\u5236\u9650\u304c\u3067\u304d\u307e\u3059\uff0e
\n\n\n\n\n-L RATE, --rate-limit RATE\r\n Limit the transfer to a maximum of RATE bytes per second. A suffix of "k", "m", "g", or "t" can be\r\n added to denote kilobytes (*1024), megabytes, and so on.\r\n\n
% zcat cros.img.gz | pv -L 8192k | sudo dd of=/dev/sdz\r\n\n\u30ea\u30bd\u30fc\u30b9\u7ba1\u7406\u306e cgroups \u3067\u66f8\u304d\u8fbc\u307f\u5e2f\u57df\u5236\u9650\u3092\u3057\u3066\u307f\u307e\u3059\uff0e\u4ee5\u4e0b\u306f dd \u3068\u3044\u3046\u30b0\u30eb\u30fc\u30d7\u3092\u4f5c\u6210\u3057\uff0c\u81ea\u5206\u306e\u30b7\u30a7\u30eb\u3092\u305d\u3053\u306b\u767b\u9332\uff0eSD Card \u306e\u30c7\u30d0\u30a4\u30b9\u3092\u66f8\u304d\u8fbc\u307f\u5236\u9650 1k \u3067\u8a2d\u5b9a\u3057\uff0cdd \u3067\u52d5\u4f5c\u78ba\u8a8d\u3092\u3057\u307e\u3057\u305f\uff0e\u60f3\u5b9a\u901a\u308a 1kB/s \u3057\u304b\u51fa\u306a\u304b\u3063\u305f\u3088\u3046\u3067\u3059\uff0e
\n$ sudo mkdir /sys/fs/cgroup/blkio/dd\r\n$ echo $$ | sudo tee -a /sys/fs/cgroup/blkio/dd/tasks \r\n26041\r\n$ ls -l /dev/sdz\r\nbrw-rw---- 1 root disk 179, 0 12\u6708 6 18:42 /dev/sdz\r\n$ echo "179:0 1024" | sudo tee -a /sys/fs/cgroup/blkio/dd/blkio.throttle.write_bps_device \r\n179:0 1024\r\n$ sudo dd if=/dev/zero of=/dev/sdz bs=4k count=10\r\n10+0 \u30ec\u30b3\u30fc\u30c9\u5165\u529b\r\n10+0 \u30ec\u30b3\u30fc\u30c9\u51fa\u529b\r\n40960 \u30d0\u30a4\u30c8 (41 kB) \u30b3\u30d4\u30fc\u3055\u308c\u307e\u3057\u305f\u3001 40.0136 \u79d2\u3001 1.0 kB/\u79d2\r\n\n
dd \u30b3\u30de\u30f3\u30c9\u306f\u30d6\u30ed\u30c3\u30af\u30b5\u30a4\u30ba\u304c 512\u30d0\u30a4\u30c8\u3068\u5c0f\u3055\u3044\u3067\u3059\uff0e\u3053\u306e\u30b5\u30a4\u30ba\u3092\u5909\u66f4\u3059\u308b\u3053\u3068\u30671\u5ea6\u306b\u51e6\u7406\u3059\u308b\u5bb9\u91cf\u304c\u591a\u304f\u306a\u308a\u901f\u5ea6\u304c\u6539\u5584\u3055\u308c\u307e\u3059\uff0e\u3053\u306e\u30b5\u30a4\u30ba\u306f bs \u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u8a2d\u5b9a\u3067\u304d\u307e\u3059\uff0e\u898f\u5b9a\u5024\u3068\u540c\u3058 512\u30d0\u30a4\u30c8\u306e\u5834\u5408\u306f\uff0c bs=512\uff0e1MB \u306e\u5834\u5408\u306f bs=1M \u3068\u3044\u3046\u3088\u3046\u306b\u3057\u3066\u5bb9\u91cf\u306e\u5358\u4f4d\uff08Y\u307e\u3067!)\u3082\u6307\u5b9a\u3067\u304d\u307e\u3059\uff0e\u6700\u8fd1\u306e\u79c1\u306f 4~16M \u3092\u6307\u5b9a\u3057\u3066\u3044\u307e\u3059\uff0e
$ zcat 2015-11-21-raspbian-jessie.zip | sudo dd of=/dev/sdz bs=4M\r\n\n
GNU ddrescue \u306f\u52b9\u7387\u306e\u3044\u3044\u51e6\u7406\u3092\u81ea\u52d5\u7684\u306b\u884c\u3046\u305d\u3046\u3067\u3059\uff0e\u52b9\u7387\u306e\u826f\u3044\u30d6\u30ed\u30c3\u30af\u30b5\u30a4\u30ba\u3092\u63a2\u3059\u3088\u308a\u3053\u308c\u3092\u5c0e\u5165\u3057\u305f\u307b\u3046\u304c\u65e9\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e
\nOS \u30a4\u30e1\u30fc\u30b8\u3092\u3053\u308c\u307e\u3067\u4f7f\u3063\u3066\u3044\u305f SD \u306b\u4e0a\u66f8\u304d\u3059\u308b\u3068\u53e4\u3044\u30c7\u30fc\u30bf\u304c\u6b8b\u3063\u3066\u3057\u307e\u3046\u3053\u3068\u304c\u3042\u308a\u307e\u3059\uff0e\u30d1\u30fc\u30c6\u30a3\u30b7\u30e7\u30f3\u60c5\u5831\u3092\u524a\u9664\u3057\u3066\u304b\u3089\u66f8\u304d\u8fbc\u3080\u3068\u7dba\u9e97\u306b\u884c\u304f\u3088\u3046\u3067\u3059\uff0e
\nWindows/Mac OS X \u306e\u5834\u5408\u306f SD Assosietion \u304c\u30d5\u30a9\u30fc\u30de\u30c3\u30bf\u3092\u63d0\u4f9b\u3057\u3066\u3044\u308b\u306e\u3067\u3053\u308c\u3092\u5229\u7528\u3059\u308b\u3068\u826f\u3044\u3068\u601d\u3044\u307e\u3059\uff0e
\n\ndd \u30b3\u30de\u30f3\u30c9\u3067\u30d1\u30fc\u30c6\u30a3\u30b7\u30e7\u30f3\u60c5\u5831\u304c\u5165\u3063\u3066\u3044\u308b\u3067\u3042\u308d\u3046\u5148\u982d\u90e8\u5206\u3092\u6d88\u3057\u307e\u3059\uff0e\u4ee5\u4e0b\u306e\u4f8b\u3067\u306f 1M \u3092 1\u56de\u306a\u306e\u3067\u5148\u982d\u306e 1M \u304c 0 \u3067\u57cb\u3081\u3089\u308c\u307e\u3059\uff0e2\u884c\u76ee\u306e hdparm \u306f\u304a\u307e\u3058\u306a\u3044\u3067 kernel \u306b\u66f8\u304d\u63db\u308f\u3063\u305f\u3088\u3068\u6559\u3048\u3066\u3042\u3052\u3066\u3044\u307e\u3059\uff0e\u6700\u8fd1\u306f\u5373\u6642\u53cd\u6620\u3055\u308c\u308b\u3088\u3046\u306a\u611f\u3058\u3067\u3059\u304c\uff0c\u4ee5\u524d\u306f\u3053\u308c\u3092\u53e9\u304b\u306a\u3044\u3068\u3046\u307e\u304f\u53cd\u6620\u3055\u308c\u306a\u3044\u3053\u3068\u304c\u591a\u304b\u3063\u305f\u3067\u3059\uff0e(\u3044\u3061\u3044\u3061\u629c\u304d\u5dee\u3057\u3057\u3066\u307f\u305f\u308a)
$ sudo dd if=/dev/zero of=/dev/sdz bs=1M count=1\r\n$ sudo hdparm -z /dev/sdz\r\n\n
\u4ee5\u4e0b\u306e\u3088\u3046\u306b count \u3092\u6307\u5b9a\u3057\u306a\u3044\u5834\u5408\u306f\u5168\u9818\u57df\u66f8\u304d\u8fbc\u307f\u307e\u3059\uff0e\u6642\u9593\u306f\u304b\u304b\u308b\u3051\u3069\u78ba\u5b9f?
$ sudo dd of=/dev/zero of=/dev/sdz bs=10M\r\n\n
\u5168\u9818\u57df\u66f8\u304d\u8fbc\u3080\u5834\u5408\u306f shred -z /dev/sdz \u3067\u3082\u826f\u3044\u3067\u3059\u306d\uff0e
wipefs \u306f\u30d1\u30fc\u30c6\u30a3\u30b7\u30e7\u30f3\u60c5\u5831\u306e wipe \u3092\u3057\u3066\u304f\u308c\u308b\u30c4\u30fc\u30eb\u3067\u3059\uff0e\u4e00\u77ac\u3067\u52d5\u4f5c\u3059\u308b\u3057\u4fbf\u5229\u3067\u3059\uff0e
\nutil-linux \u30d1\u30c3\u30b1\u30fc\u30b8\u5185\u306e wipefs \u3067\u3059\uff0e
\u30c7\u30d0\u30a4\u30b9\u3060\u3051\u6307\u5b9a\u3057\u3066\u5b9f\u884c\u3059\u308b\u3068\u73fe\u5728\u306e\u30d1\u30fc\u30c6\u30a3\u30b7\u30e7\u30f3\u306e\u72b6\u6cc1\u304c\u78ba\u8a8d\u3067\u304d\u307e\u3059\uff0e-a \u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u30d1\u30fc\u30c6\u30a3\u30b7\u30e7\u30f3\u60c5\u5831\u304c\u524a\u9664\u3055\u308c\u307e\u3059\uff0e\u4fbf\u5229\uff0e
$ sudo wipefs /dev/sdz\r\noffset type\r\n----------------------------------------------------------------\r\n0x1fe dos [partition table]\r\n\r\n$ sudo wipefs -a /dev/sdz\r\n/dev/sdz: 2 bytes were erased at offset 0x000001fe (dos): 55 aa\r\n/dev/sdz: calling ioctl to re-read partition table: \u6210\u529f\u3067\u3059\r\n$ sudo wipefs /dev/sdz\r\n\n
dd \u306f\u4fbf\u5229\u3067\u3059\u304c\uff0c\u66f8\u304d\u8fbc\u307f\u5148\u3092\u9593\u9055\u3048\u308b\u3068\u30b7\u30b9\u30c6\u30e0\u3084\u30c7\u30fc\u30bf\u3092\u7834\u58ca\u3057\u3066\u3057\u307e\u3044\u307e\u3059\uff0e\u79c1\u3082\u3064\u3044\u4e00\u6628\u65e5\u3084\u3063\u3066\u3057\u307e\u3044\u307e\u3057\u305forz
\n\uff03\u4f55\u6545\u304b /dev/mmcblk0 \u304c /dev/sda \u3078\u306e\u30b7\u30f3\u30dc\u30ea\u30c3\u30af\u30ea\u30f3\u30af\u3068\u306a\u3063\u3066\u3044\u305f\uff0e
\n600GB \u306e \u5148\u982d 1.5GB \u3060\u304b\u3089\u30c7\u30fc\u30bf\u306f\u307b\u3068\u3093\u3069\u6551\u51fa\u3067\u304d\u308b\u3060\u308d\u3046\u3068\u601d\u3063\u305f\u306e\u3067\u3059\u304c\uff0cLUKS \u3067\u6697\u53f7\u5316\u3057\u3066\u3044\u305f\u306e\u3067\u30e1\u30bf\u30c7\u30fc\u30bf\u304c\u7834\u58ca\u3055\u308c\u5fa9\u65e7\u306f\u7121\u7406\u305d\u3046\u3067\u3059\uff0e\u5e78\u3044\u30c7\u30a4\u30ea\u30fc\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u304c\u3042\u308b\u306e\u3067\u305d\u3061\u3089\u304b\u3089\u5fa9\u65e7\u4e2d\u3067\u3059\uff0e
\n\uff08\u5fa9\u65e7\u4e2d\u306a\u306e\u306b\u3069\u3046\u3084\u3063\u3066\u66f8\u3044\u3066\u3044\u308b\u304b\u3068\u3044\u3046\u3068 Raspberry Pi 2 B \u306b\u30ad\u30fc\u30dc\u30fc\u30c9\u30de\u30a6\u30b9\u30e2\u30cb\u30bf\u53d6\u308a\u4ed8\u3051\u3066 ReText \u3067\u66f8\u3044\u3066\u3044\u307e\u3059\uff0eWeb \u306f midori \u3067\u3082\u91cd\u3044\u306e\u3067 ssh -CY \u3057\u3066\u30d5\u30a1\u30a4\u30eb\u30b5\u30fc\u30d0\u306e\u30d6\u30e9\u30a6\u30b6\u3092\u4f7f\u3063\u3066\u3044\u307e\u3059\uff0e\u4f7f\u3044\u6163\u308c\u306a\u3044\u30ad\u30fc\u30dc\u30fc\u30c9\u304c\u4e0d\u4fbf\u3067\u3059><\uff09
\u3053\u3046\u3044\u3046\u60b2\u3057\u3044\u3053\u3068\u304c\u8d77\u3053\u3089\u306a\u3044\u3088\u3046\u306b\u3067\u304d\u306a\u3044\u3082\u306e\u304b\u3068 mount \u4e2d\u306e\u30c7\u30d0\u30a4\u30b9\u306b\u66f8\u304d\u8fbc\u3082\u3046\u3068\u3059\u308b\u3068\u5931\u6557\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u308c\u3070\u3044\u3044\u306e\u3067\u306f?\u3068\u601d\u3063\u305f\u306e\u3067\u3059\u304c\u305d\u3046\u3044\u3063\u305f\u30aa\u30d7\u30b7\u30e7\u30f3\u306a\u3069\u304c\u898b\u5f53\u305f\u308a\u307e\u305b\u3093\u3067\u3057\u305f\uff0e
\n\u305d\u308c\u3063\u307d\u3044script \u3092\u66f8\u3044\u3066\u307f\u307e\u3057\u305f\uff0e
\u5229\u7528\u65b9\u6cd5\u306f\uff0c/usr/local/bin/dd \u3068\u3057\u3066\u3053\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u7528\u610f\u3057\u3066\u5b9f\u884c\u6a29\u3092\u3064\u3051\u3066\u304a\u3044\u3066\u901a\u5e38\u306e dd \u30b3\u30de\u30f3\u30c9\u306e\u3088\u3046\u306b\u4f7f\u3046\u3060\u3051\u3067\u3059\uff0e
$ wget -O - https://gist.githubusercontent.com/matoken/e051cefb78594520038d/raw/9ac20f31c590a043f1774f82068a99846ab7c4bb/dd.sh | sudo tee /usr/local/bin/dd\r\n$ sudo chmod +x /usr/local/bin/dd\r\n$ which dd\r\n/usr/local/bin/dd\r\n$ sudo which dd\r\n/usr/local/bin/dd\r\n\n
\u30de\u30a6\u30f3\u30c8\u72b6\u614b\u3067\u66f8\u304d\u8fbc\u3082\u3046\u3068\u3059\u308b\u3068\u5931\u6557\u3059\u308b\uff0e
\n$ sudo dd if=/dev/zero of=/dev/sdz\r\n/dev/sdz seems to specify the file system in the mount.\r\nForce Quit.\r\n\n
\u30a2\u30f3\u30de\u30a6\u30f3\u30c8\u3057\u3066\u518d\u5b9f\u884c\u3059\u308b\u3068 dd \u304c\u958b\u59cb\u3055\u308c\u308b\uff0e
\n$ sudo umount /dev/sdz1 \r\n$ sudo dd if=/dev/zero of=/dev/sdz1\r\n\n
\u3042\u307e\u308a\u30c6\u30b9\u30c8\u51fa\u6765\u3066\u3044\u306a\u3044\u306e\u3067\u4f55\u304b\u3042\u3063\u305f\u3089\u6559\u3048\u3066\u3082\u3089\u3048\u308b\u3068\u52a9\u304b\u308a\u307e\u3059\uff0e
\n\u3068\u3044\u3046\u3053\u3068\u3067 Raspberry Pi \u3084 kobo \u306e SD Card \u306b\u4f55\u5ea6\u3082\u66f8\u304d\u8fbc\u3093\u3060\u6642\u306e Tips \u307e\u3068\u3081\u307f\u305f\u3044\u306a\u3082\u306e\u3067\u3057\u305f\uff0e\u3053\u3053\u9593\u9055\u3063\u3066\u308b\u3088\u3068\u304b\u3082\u3063\u3068\u3044\u3044\u65b9\u6cd5\u3042\u308b\u3088\u3068\u304b\u304a\u3057\u3048\u3066\u3082\u3089\u3048\u308b\u3068\u52a9\u304b\u308a\u307e\u3059\uff0e\uff08\u7279\u306b\u8aa4\u3063\u3066\u66f8\u304d\u8fbc\u307e\u306a\u3044\u3088\u3046\u306b\u3059\u308b\u65b9\u6cd5\uff09
\n", "content_text": "\u3053\u306e\u30a8\u30f3\u30c8\u30ea\u306f Raspberry Pi Advent Calendar 2015 \u306e12\u670808\u65e5\u5206\u3067\u3059\uff0e\n\u6628\u65e5\u306f @2box2bo\u3055\u3093\u306e RaspberryPi\u3068\u516c\u5f0f\u30bf\u30c3\u30c1\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u3067\u30de\u30a4\u30f3\u30af\u30e9\u30d5\u30c8\u3059\u308b\u304a\u8a71 | \u6d41\u9023\u8352\u4ea1 \u3067\u3057\u305f\uff0e\u516c\u5f0f\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u6b32\u3057\u3044\u3067\u3059\u2026\u2026\uff0e\n\u6700\u8fd1 Raspberry Pi \u306f\u30b5\u30d6PC \u7684\u306b\u4f7f\u3063\u3066\u3066\u30cd\u30bf\u304c\u306a\u3044(\u666e\u901a\u306b Linux Desktop \u306a\u306e\u3067\u2026\u2026)\u306e\u3067\u7d19\u88fd\u30b1\u30fc\u30b9\u306e\u7d39\u4ecb\u3067\u3082\u3057\u3088\u3046\u304b\u3068\u601d\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\uff0cRaspberry Pi \u306b OS \u3092\u66f8\u304d\u8fbc\u3080\u306e\u306b\u3088\u304f\u4f7f\u3046 dd \u95a2\u9023\u306e\u30cd\u30bf\u304c\u5c11\u3057\u6e9c\u307e\u3063\u3066\u3044\u308b\u306e\u3067\u4eca\u56de\u306f\u3053\u308c\u3092\u7d39\u4ecb\u3057\u3088\u3046\u3068\u601d\u3044\u307e\u3059\uff0e\uff08NOOBS \u3060\u3068\u307b\u307c\u95a2\u4fc2\u306a\u304f\u30b3\u30d4\u30fc\u3059\u308b\u3060\u3051\u3067\u3044\u3044\u3093\u3067\u3059\u304c\u2026\u2026\uff09\nRasbina jessie / Debian stretch \u3067\u691c\u8a3c\u3057\u3066\u3044\u307e\u3059\u304c\uff0cLinux \u306a\u3089\u5c0e\u5165\u624b\u9806\u4ee5\u5916\u540c\u3058\u3060\u3068\u601d\u3044\u307e\u3059\uff0eMac OS X / UNIX \u7cfb\u306e OS \u3067\u3082\u4f7f\u3048\u308b\u3068\u601d\u3044\u307e\u3059\uff0e\n\n\n\n\n– \u7d19\u30b1\u30fc\u30b9\u306e\u4e00\u4f8b –\ndd(dataset definition) \u306f GNU Coreutils \u306e\u4e2d\u306b\u5165\u3063\u3066\u3044\u308b\u306e\u3067\u307b\u3068\u3093\u3069\u306e GNU/Linux \u3060\u3068\u6a19\u6e96\u3067\u5c0e\u5165\u3055\u308c\u3066\u3044\u308b\u3068\u601d\u3044\u307e\u3059\uff0e\u3068\u3066\u3082\u4fbf\u5229\u3060\u3051\u3069\u4f7f\u3044\u65b9\u3092\u8aa4\u308b\u3068\u30b7\u30b9\u30c6\u30e0\u3084\u30c7\u30fc\u30bf\u3092\u3044\u3068\u3082\u7c21\u5358\u306b\u58ca\u3057\u3066\u3057\u307e\u3048\u307e\u3059\uff0e\u6ce8\u610f\u3057\u3066\u5b9f\u884c\u3057\u307e\u3057\u3087\u3046\uff0e \n\nCoreutils – GNU core utilities\n\n\u9032\u6357\u72b6\u6cc1\u78ba\u8a8d\ndd \u3067 sd \u66f8\u304d\u8fbc\u307f\u4e2d\u306b\u3069\u306e\u304f\u3089\u3044\u9032\u3093\u3060\u306e\u3060\u308d\u3046\u3068\u78ba\u8a8d\u3057\u305f\u304f\u306a\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\uff0e\nkill -SIGUSR1\ndd \u306e\u30d7\u30ed\u30bb\u30b9\u306b\u5bfe\u3057\u3066 SIGUSR1 \u30b7\u30b0\u30ca\u30eb\u3092\u6295\u3052\u308b\u3068\u9032\u6357\u304c\u78ba\u8a8d\u3067\u304d\u307e\u3059\uff0e\ndd \u306e\u30d7\u30ed\u30bb\u30b9\u756a\u53f7\u3092\u78ba\u8a8d\n\n$ ps -ef|grep dd\r\n :\r\nroot 9273 32218 0 17:57 pts/1 00:00:00 sudo dd of=/dev/sdz bs=4M\r\nroot 9276 9273 9 17:57 pts/1 00:00:00 dd of=/dev/sdz bs=4M\r\n\n\n9276 \u306a\u306e\u3067\u4ee5\u4e0b\u306e\u3088\u3046\u306b\n\n$ sudo kill -USR1 9276\r\n\n\n\u3067\uff0c\u3053\u3093\u306a\u611f\u3058\u306b\u8868\u793a\u3055\u308c\u307e\u3059\uff0e\n\n0+243258 \u30ec\u30b3\u30fc\u30c9\u5165\u529b\r\n0+243258 \u30ec\u30b3\u30fc\u30c9\u51fa\u529b\r\n1224679424 \u30d0\u30a4\u30c8 (1.2 GB) \u30b3\u30d4\u30fc\u3055\u308c\u307e\u3057\u305f\u3001 17.2794 \u79d2\u3001 70.9 MB/\u79d2\r\n0+302681 \u30ec\u30b3\u30fc\u30c9\u5165\u529b\r\n0+302681 \u30ec\u30b3\u30fc\u30c9\u51fa\u529b\r\n1532985344 \u30d0\u30a4\u30c8 (1.5 GB) \u30b3\u30d4\u30fc\u3055\u308c\u307e\u3057\u305f\u3001 20.8063 \u79d2\u3001 73.7 MB/\u79d2\r\n\n\n\u306a\u306e\u3067\u3053\u3093\u306a\u3068\u304b\n\n$ sudo pkill -SIGUSR1 ^dd\r\n\n\n\u3053\u3093\u306a\u611f\u3058\u3067\u53e9\u304f\u3068\u826f\u3044\u611f\u3058\u3060\u3068\u601d\u3044\u307e\u3059\uff0e\n\n% watch -n30 'sudo pkill -SIGUSR1 ^dd`\r\n\n\npv(Pipe Viewer)\npv(Pipe Viewer) \u3068\u3044\u3046\u30d1\u30a4\u30d7\u306e\u72b6\u6cc1\u3092\u78ba\u8a8d\u3067\u304d\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u304c\u3042\u308a\u307e\u3059\uff0edd \u306e\u9593\u306b\u3053\u308c\u3092\u631f\u3093\u3067\u9032\u6357\u72b6\u6cc1\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3059\uff0e\n\nivarch.com: Pipe Viewer\n\n\u5c0e\u5165\n\n$ apt install pv\r\n\n\n\u5229\u7528\u4f8b\n\n% zcat 2015-11-21-raspbian-jessie.zip | pv | sudo dd of=/dev/sdz bs=4M\r\n5.81GB 0:06:12 [15.2MB/s] [ <=> ]\r\n\n\n-N \u3067 \u540d\u524d\u306e\uff0c-c \u3067\u30af\u30e9\u30b9\u30bf\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u306a\u308a\u307e\u3059\uff0e\u3053\u308c\u3092\u6d3b\u7528\u3059\u308b\u3068\u8907\u6570\u306e\u30d1\u30a4\u30d7\u306e\u76e3\u8996\u3082\u3067\u304d\u307e\u3059\uff0e\n\n$ zcat ./2015-11-21-raspbian-jessie.zip | pv -cN zcat | xz | pv -cN xz | dd of=./2015-11-21-raspbian-jessie.xz\r\n zcat: 8.41MB 0:00:05 [1.09MB/s] [ <=> ]\r\n xz: 3.96MB 0:00:05 [1.06MB/s] [ <=> ]\r\n\n\nGNU ddrescue / ddrescue\ndd \u3058\u3083\u306a\u3044\u3051\u3069 dd \u306e\u4ee3\u308f\u308a\u306b GNU ddrescue \u3092\u5229\u7528\u3059\u308b\u3068\u30d7\u30ed\u30b0\u30ec\u30b9\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff0e\n\n$ sudo apt install gddrescue\r\n$ sudo ddrescue /dev/zero /dev/null --force\r\nGNU ddrescue 1.19\r\nPress Ctrl-C to interrupt\r\nrescued: 2969 MB, errsize: 0 B, current rate: 354 MB/s\r\n ipos: 2969 MB, errors: 0, average rate: 742 MB/s\r\n opos: 2969 MB, run time: 4 s, successful read: 0 s ago\r\nCopying non-tried blocks... Pass 1 (forwards)\r\n\n\n\u3067\u3082\u6a19\u6e96\u6709\u529b\u5165\u529b\u3092\u53d7\u3051\u4ed8\u3051\u306a\u3044\u3088\u3046\u3067\u3059\uff0e\n\n$ zcat ./2015-11-21-raspbian-jessie.zip | sudo ddrescue - /dev/sdz --force\r\nddrescue: Can't open input file: No such file or directory\r\n\n\n\u985e\u4f3c\u306e ddrescue \u3060\u3068\u6a19\u6e96\u5165\u529b\u3082OK\u306a\u3088\u3046\u3067\u3059\uff0e\u3053\u3061\u3089\u306e\u5834\u5408\u306e\u30b3\u30de\u30f3\u30c9\u540d\u306f dd_rescue \u3067\u3059\uff0e\n\n$ sudo apt install ddrescue\r\n$ zcat ./2015-11-21-raspbian-jessie.zip | sudo dd_rescue - /dev/sdz\r\ndd_rescue: (warning): input file is not seekable!\r\ndd_rescue: (warning): Illegal seek\r\ndd_rescue: (warning): Don't use sparse writes for non-seekable output\r\ndd_rescue: (info): ipos: 91136.0k, opos: 91136.0k, xferd: 91136.0k\r\n errs: 0, errxfer: 0.0k, succxfer: 91136.0k\r\n +curr.rate: 144981kB/s, avg.rate: 144776kB/s, avg.load: 38.4%\r\n\n\ndd\u3059\u308b\u3068\u91cd\u3044/\u56fa\u307e\u308b\n\u74b0\u5883\u306b\u3088\u3063\u3066 dd \u5b9f\u884c\u4e2d\u306b\u3068\u3066\u3082\u91cd\u304f\u306a\u3063\u3066\u30de\u30a6\u30b9\u30ab\u30fc\u30bd\u30eb\u3055\u3048\u30ab\u30af\u30ab\u30af\u52d5\u304f\u3088\u3046\u306b\u306a\u308a\u4e26\u884c\u3057\u3066\u5225\u306e\u4f5c\u696d\u304c\u3067\u304d\u306a\u3044\u3088\u3046\u306b\u307e\u3059\uff0e\nionice\nionice \u3092\u4f7f\u3063\u3066 dd \u306e\u512a\u5148\u5ea6\u3092\u4e0b\u3052\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\uff0e\n\n% zcat ./2015-11-21-raspbian-jessie.zip | sudo ionice -c2 -n7 dd of=/dev/sdz\r\n\n\npv -L\npv \u30b3\u30de\u30f3\u30c9\u306e -L \u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u30d1\u30a4\u30d7\u306e\u5e2f\u57df\u5236\u9650\u304c\u3067\u304d\u307e\u3059\uff0e\n\n\n -L RATE, --rate-limit RATE\r\n Limit the transfer to a maximum of RATE bytes per second. A suffix of "k", "m", "g", or "t" can be\r\n added to denote kilobytes (*1024), megabytes, and so on.\r\n\n\n\n\n% zcat cros.img.gz | pv -L 8192k | sudo dd of=/dev/sdz\r\n\n\ncgroup\n\u30ea\u30bd\u30fc\u30b9\u7ba1\u7406\u306e cgroups \u3067\u66f8\u304d\u8fbc\u307f\u5e2f\u57df\u5236\u9650\u3092\u3057\u3066\u307f\u307e\u3059\uff0e\u4ee5\u4e0b\u306f dd \u3068\u3044\u3046\u30b0\u30eb\u30fc\u30d7\u3092\u4f5c\u6210\u3057\uff0c\u81ea\u5206\u306e\u30b7\u30a7\u30eb\u3092\u305d\u3053\u306b\u767b\u9332\uff0eSD Card \u306e\u30c7\u30d0\u30a4\u30b9\u3092\u66f8\u304d\u8fbc\u307f\u5236\u9650 1k \u3067\u8a2d\u5b9a\u3057\uff0cdd \u3067\u52d5\u4f5c\u78ba\u8a8d\u3092\u3057\u307e\u3057\u305f\uff0e\u60f3\u5b9a\u901a\u308a 1kB/s \u3057\u304b\u51fa\u306a\u304b\u3063\u305f\u3088\u3046\u3067\u3059\uff0e\n\n$ sudo mkdir /sys/fs/cgroup/blkio/dd\r\n$ echo $$ | sudo tee -a /sys/fs/cgroup/blkio/dd/tasks \r\n26041\r\n$ ls -l /dev/sdz\r\nbrw-rw---- 1 root disk 179, 0 12\u6708 6 18:42 /dev/sdz\r\n$ echo "179:0 1024" | sudo tee -a /sys/fs/cgroup/blkio/dd/blkio.throttle.write_bps_device \r\n179:0 1024\r\n$ sudo dd if=/dev/zero of=/dev/sdz bs=4k count=10\r\n10+0 \u30ec\u30b3\u30fc\u30c9\u5165\u529b\r\n10+0 \u30ec\u30b3\u30fc\u30c9\u51fa\u529b\r\n40960 \u30d0\u30a4\u30c8 (41 kB) \u30b3\u30d4\u30fc\u3055\u308c\u307e\u3057\u305f\u3001 40.0136 \u79d2\u3001 1.0 kB/\u79d2\r\n\n\n\u66f8\u304d\u8fbc\u307f\u901f\u5ea6\u304c\u9045\u3044\n\u30d6\u30ed\u30c3\u30af\u30b5\u30a4\u30ba\u5909\u66f4\ndd \u30b3\u30de\u30f3\u30c9\u306f\u30d6\u30ed\u30c3\u30af\u30b5\u30a4\u30ba\u304c 512\u30d0\u30a4\u30c8\u3068\u5c0f\u3055\u3044\u3067\u3059\uff0e\u3053\u306e\u30b5\u30a4\u30ba\u3092\u5909\u66f4\u3059\u308b\u3053\u3068\u30671\u5ea6\u306b\u51e6\u7406\u3059\u308b\u5bb9\u91cf\u304c\u591a\u304f\u306a\u308a\u901f\u5ea6\u304c\u6539\u5584\u3055\u308c\u307e\u3059\uff0e\u3053\u306e\u30b5\u30a4\u30ba\u306f bs \u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u8a2d\u5b9a\u3067\u304d\u307e\u3059\uff0e\u898f\u5b9a\u5024\u3068\u540c\u3058 512\u30d0\u30a4\u30c8\u306e\u5834\u5408\u306f\uff0c bs=512\uff0e1MB \u306e\u5834\u5408\u306f bs=1M \u3068\u3044\u3046\u3088\u3046\u306b\u3057\u3066\u5bb9\u91cf\u306e\u5358\u4f4d\uff08Y\u307e\u3067!)\u3082\u6307\u5b9a\u3067\u304d\u307e\u3059\uff0e\u6700\u8fd1\u306e\u79c1\u306f 4~16M \u3092\u6307\u5b9a\u3057\u3066\u3044\u307e\u3059\uff0e\n\n$ zcat 2015-11-21-raspbian-jessie.zip | sudo dd of=/dev/sdz bs=4M\r\n\n\nGNU ddrescue\nGNU ddrescue \u306f\u52b9\u7387\u306e\u3044\u3044\u51e6\u7406\u3092\u81ea\u52d5\u7684\u306b\u884c\u3046\u305d\u3046\u3067\u3059\uff0e\u52b9\u7387\u306e\u826f\u3044\u30d6\u30ed\u30c3\u30af\u30b5\u30a4\u30ba\u3092\u63a2\u3059\u3088\u308a\u3053\u308c\u3092\u5c0e\u5165\u3057\u305f\u307b\u3046\u304c\u65e9\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e\n\u30d1\u30fc\u30c6\u30a3\u30b7\u30e7\u30f3\u60c5\u5831\u306e\u524a\u9664\nOS \u30a4\u30e1\u30fc\u30b8\u3092\u3053\u308c\u307e\u3067\u4f7f\u3063\u3066\u3044\u305f SD \u306b\u4e0a\u66f8\u304d\u3059\u308b\u3068\u53e4\u3044\u30c7\u30fc\u30bf\u304c\u6b8b\u3063\u3066\u3057\u307e\u3046\u3053\u3068\u304c\u3042\u308a\u307e\u3059\uff0e\u30d1\u30fc\u30c6\u30a3\u30b7\u30e7\u30f3\u60c5\u5831\u3092\u524a\u9664\u3057\u3066\u304b\u3089\u66f8\u304d\u8fbc\u3080\u3068\u7dba\u9e97\u306b\u884c\u304f\u3088\u3046\u3067\u3059\uff0e\nWindows/Mac OS X \u306e\u5834\u5408\u306f SD Assosietion \u304c\u30d5\u30a9\u30fc\u30de\u30c3\u30bf\u3092\u63d0\u4f9b\u3057\u3066\u3044\u308b\u306e\u3067\u3053\u308c\u3092\u5229\u7528\u3059\u308b\u3068\u826f\u3044\u3068\u601d\u3044\u307e\u3059\uff0e\n\nSD Card Formatter – SD Association\n\ndd\ndd \u30b3\u30de\u30f3\u30c9\u3067\u30d1\u30fc\u30c6\u30a3\u30b7\u30e7\u30f3\u60c5\u5831\u304c\u5165\u3063\u3066\u3044\u308b\u3067\u3042\u308d\u3046\u5148\u982d\u90e8\u5206\u3092\u6d88\u3057\u307e\u3059\uff0e\u4ee5\u4e0b\u306e\u4f8b\u3067\u306f 1M \u3092 1\u56de\u306a\u306e\u3067\u5148\u982d\u306e 1M \u304c 0 \u3067\u57cb\u3081\u3089\u308c\u307e\u3059\uff0e2\u884c\u76ee\u306e hdparm \u306f\u304a\u307e\u3058\u306a\u3044\u3067 kernel \u306b\u66f8\u304d\u63db\u308f\u3063\u305f\u3088\u3068\u6559\u3048\u3066\u3042\u3052\u3066\u3044\u307e\u3059\uff0e\u6700\u8fd1\u306f\u5373\u6642\u53cd\u6620\u3055\u308c\u308b\u3088\u3046\u306a\u611f\u3058\u3067\u3059\u304c\uff0c\u4ee5\u524d\u306f\u3053\u308c\u3092\u53e9\u304b\u306a\u3044\u3068\u3046\u307e\u304f\u53cd\u6620\u3055\u308c\u306a\u3044\u3053\u3068\u304c\u591a\u304b\u3063\u305f\u3067\u3059\uff0e(\u3044\u3061\u3044\u3061\u629c\u304d\u5dee\u3057\u3057\u3066\u307f\u305f\u308a)\n\n$ sudo dd if=/dev/zero of=/dev/sdz bs=1M count=1\r\n$ sudo hdparm -z /dev/sdz\r\n\n\n\u4ee5\u4e0b\u306e\u3088\u3046\u306b count \u3092\u6307\u5b9a\u3057\u306a\u3044\u5834\u5408\u306f\u5168\u9818\u57df\u66f8\u304d\u8fbc\u307f\u307e\u3059\uff0e\u6642\u9593\u306f\u304b\u304b\u308b\u3051\u3069\u78ba\u5b9f?\n\n$ sudo dd of=/dev/zero of=/dev/sdz bs=10M\r\n\n\n\u5168\u9818\u57df\u66f8\u304d\u8fbc\u3080\u5834\u5408\u306f shred -z /dev/sdz \u3067\u3082\u826f\u3044\u3067\u3059\u306d\uff0e\nwipefs\nwipefs \u306f\u30d1\u30fc\u30c6\u30a3\u30b7\u30e7\u30f3\u60c5\u5831\u306e wipe \u3092\u3057\u3066\u304f\u308c\u308b\u30c4\u30fc\u30eb\u3067\u3059\uff0e\u4e00\u77ac\u3067\u52d5\u4f5c\u3059\u308b\u3057\u4fbf\u5229\u3067\u3059\uff0e\nutil-linux \u30d1\u30c3\u30b1\u30fc\u30b8\u5185\u306e wipefs \u3067\u3059\uff0e\n\u30c7\u30d0\u30a4\u30b9\u3060\u3051\u6307\u5b9a\u3057\u3066\u5b9f\u884c\u3059\u308b\u3068\u73fe\u5728\u306e\u30d1\u30fc\u30c6\u30a3\u30b7\u30e7\u30f3\u306e\u72b6\u6cc1\u304c\u78ba\u8a8d\u3067\u304d\u307e\u3059\uff0e-a \u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u30d1\u30fc\u30c6\u30a3\u30b7\u30e7\u30f3\u60c5\u5831\u304c\u524a\u9664\u3055\u308c\u307e\u3059\uff0e\u4fbf\u5229\uff0e\n\n$ sudo wipefs /dev/sdz\r\noffset type\r\n----------------------------------------------------------------\r\n0x1fe dos [partition table]\r\n\r\n$ sudo wipefs -a /dev/sdz\r\n/dev/sdz: 2 bytes were erased at offset 0x000001fe (dos): 55 aa\r\n/dev/sdz: calling ioctl to re-read partition table: \u6210\u529f\u3067\u3059\r\n$ sudo wipefs /dev/sdz\r\n\n\nmount\u4e2d\u306e\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u306b\u66f8\u304d\u8fbc\u3082\u3046\u3068\u3059\u308b\u3068\u7d42\u4e86\u3059\u308bscript\ndd \u306f\u4fbf\u5229\u3067\u3059\u304c\uff0c\u66f8\u304d\u8fbc\u307f\u5148\u3092\u9593\u9055\u3048\u308b\u3068\u30b7\u30b9\u30c6\u30e0\u3084\u30c7\u30fc\u30bf\u3092\u7834\u58ca\u3057\u3066\u3057\u307e\u3044\u307e\u3059\uff0e\u79c1\u3082\u3064\u3044\u4e00\u6628\u65e5\u3084\u3063\u3066\u3057\u307e\u3044\u307e\u3057\u305forz\n\uff03\u4f55\u6545\u304b /dev/mmcblk0 \u304c /dev/sda \u3078\u306e\u30b7\u30f3\u30dc\u30ea\u30c3\u30af\u30ea\u30f3\u30af\u3068\u306a\u3063\u3066\u3044\u305f\uff0e\n600GB \u306e \u5148\u982d 1.5GB \u3060\u304b\u3089\u30c7\u30fc\u30bf\u306f\u307b\u3068\u3093\u3069\u6551\u51fa\u3067\u304d\u308b\u3060\u308d\u3046\u3068\u601d\u3063\u305f\u306e\u3067\u3059\u304c\uff0cLUKS \u3067\u6697\u53f7\u5316\u3057\u3066\u3044\u305f\u306e\u3067\u30e1\u30bf\u30c7\u30fc\u30bf\u304c\u7834\u58ca\u3055\u308c\u5fa9\u65e7\u306f\u7121\u7406\u305d\u3046\u3067\u3059\uff0e\u5e78\u3044\u30c7\u30a4\u30ea\u30fc\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u304c\u3042\u308b\u306e\u3067\u305d\u3061\u3089\u304b\u3089\u5fa9\u65e7\u4e2d\u3067\u3059\uff0e\n\uff08\u5fa9\u65e7\u4e2d\u306a\u306e\u306b\u3069\u3046\u3084\u3063\u3066\u66f8\u3044\u3066\u3044\u308b\u304b\u3068\u3044\u3046\u3068 Raspberry Pi 2 B \u306b\u30ad\u30fc\u30dc\u30fc\u30c9\u30de\u30a6\u30b9\u30e2\u30cb\u30bf\u53d6\u308a\u4ed8\u3051\u3066 ReText \u3067\u66f8\u3044\u3066\u3044\u307e\u3059\uff0eWeb \u306f midori \u3067\u3082\u91cd\u3044\u306e\u3067 ssh -CY \u3057\u3066\u30d5\u30a1\u30a4\u30eb\u30b5\u30fc\u30d0\u306e\u30d6\u30e9\u30a6\u30b6\u3092\u4f7f\u3063\u3066\u3044\u307e\u3059\uff0e\u4f7f\u3044\u6163\u308c\u306a\u3044\u30ad\u30fc\u30dc\u30fc\u30c9\u304c\u4e0d\u4fbf\u3067\u3059><\uff09\n\u3053\u3046\u3044\u3046\u60b2\u3057\u3044\u3053\u3068\u304c\u8d77\u3053\u3089\u306a\u3044\u3088\u3046\u306b\u3067\u304d\u306a\u3044\u3082\u306e\u304b\u3068 mount \u4e2d\u306e\u30c7\u30d0\u30a4\u30b9\u306b\u66f8\u304d\u8fbc\u3082\u3046\u3068\u3059\u308b\u3068\u5931\u6557\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u308c\u3070\u3044\u3044\u306e\u3067\u306f?\u3068\u601d\u3063\u305f\u306e\u3067\u3059\u304c\u305d\u3046\u3044\u3063\u305f\u30aa\u30d7\u30b7\u30e7\u30f3\u306a\u3069\u304c\u898b\u5f53\u305f\u308a\u307e\u305b\u3093\u3067\u3057\u305f\uff0e\n\u305d\u308c\u3063\u307d\u3044script \u3092\u66f8\u3044\u3066\u307f\u307e\u3057\u305f\uff0e\n\n\u5229\u7528\u65b9\u6cd5\u306f\uff0c/usr/local/bin/dd \u3068\u3057\u3066\u3053\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u7528\u610f\u3057\u3066\u5b9f\u884c\u6a29\u3092\u3064\u3051\u3066\u304a\u3044\u3066\u901a\u5e38\u306e dd \u30b3\u30de\u30f3\u30c9\u306e\u3088\u3046\u306b\u4f7f\u3046\u3060\u3051\u3067\u3059\uff0e\n\n$ wget -O - https://gist.githubusercontent.com/matoken/e051cefb78594520038d/raw/9ac20f31c590a043f1774f82068a99846ab7c4bb/dd.sh | sudo tee /usr/local/bin/dd\r\n$ sudo chmod +x /usr/local/bin/dd\r\n$ which dd\r\n/usr/local/bin/dd\r\n$ sudo which dd\r\n/usr/local/bin/dd\r\n\n\n\u30de\u30a6\u30f3\u30c8\u72b6\u614b\u3067\u66f8\u304d\u8fbc\u3082\u3046\u3068\u3059\u308b\u3068\u5931\u6557\u3059\u308b\uff0e\n\n$ sudo dd if=/dev/zero of=/dev/sdz\r\n/dev/sdz seems to specify the file system in the mount.\r\nForce Quit.\r\n\n\n\u30a2\u30f3\u30de\u30a6\u30f3\u30c8\u3057\u3066\u518d\u5b9f\u884c\u3059\u308b\u3068 dd \u304c\u958b\u59cb\u3055\u308c\u308b\uff0e\n\n$ sudo umount /dev/sdz1 \r\n$ sudo dd if=/dev/zero of=/dev/sdz1\r\n\n\n\u3042\u307e\u308a\u30c6\u30b9\u30c8\u51fa\u6765\u3066\u3044\u306a\u3044\u306e\u3067\u4f55\u304b\u3042\u3063\u305f\u3089\u6559\u3048\u3066\u3082\u3089\u3048\u308b\u3068\u52a9\u304b\u308a\u307e\u3059\uff0e\n\u304a\u308f\u308a\n\u3068\u3044\u3046\u3053\u3068\u3067 Raspberry Pi \u3084 kobo \u306e SD Card \u306b\u4f55\u5ea6\u3082\u66f8\u304d\u8fbc\u3093\u3060\u6642\u306e Tips \u307e\u3068\u3081\u307f\u305f\u3044\u306a\u3082\u306e\u3067\u3057\u305f\uff0e\u3053\u3053\u9593\u9055\u3063\u3066\u308b\u3088\u3068\u304b\u3082\u3063\u3068\u3044\u3044\u65b9\u6cd5\u3042\u308b\u3088\u3068\u304b\u304a\u3057\u3048\u3066\u3082\u3089\u3048\u308b\u3068\u52a9\u304b\u308a\u307e\u3059\uff0e\uff08\u7279\u306b\u8aa4\u3063\u3066\u66f8\u304d\u8fbc\u307e\u306a\u3044\u3088\u3046\u306b\u3059\u308b\u65b9\u6cd5\uff09", "date_published": "2015-12-08T09:17:37+09:00", "date_modified": "2015-12-08T09:17:37+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/1865f695c4eecc844385acef2f078255036adccd42c254580ea3844543ab56d9?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/1865f695c4eecc844385acef2f078255036adccd42c254580ea3844543ab56d9?s=512&d=mm&r=g" }, "tags": [ "Debian", "Jessie", "Linux", "Rasbian", "RaspberryPi", "stretch", "jessie", "Raspberry Pi" ] }, { "id": "http://matoken.org/blog/?p=1045", "url": "https://matoken.org/blog/2015/12/05/ahiruyaki-fortune/", "title": "\u3042\u3072\u308b\u713c\u304dfortune", "content_html": "\u3053\u306e\u8a18\u4e8b\u306f \u3042\u3072\u308b\u713c\u304d Advent Calendar 2015 – Adventar \u306e12\u670805\u65e5\u5206\u306e\u8a18\u4e8b\u3067\u3059\uff0e
\n\n\n\u307f\u3093\u306a\u3067\u307e\u3063\u305f\u308a #\u3042\u3072\u308b\u713c\u304d \u3059\u308c\u3070\u3048\u3048\u3093\u3058\u3083\u306a\u3044\u304b\u306a\u3068\u601d\u3044\u307e\u3059\u3002
\n
\u3068\u3044\u3046\u3053\u3068\u3067\u6700\u8fd1\u713c\u3044\u305f\u3042\u3072\u308b\u306e\u8a71\u3092\uff0e
\nfortune \u3068\u3044\u3046\u30d5\u30a9\u30fc\u30c1\u30e5\u30f3\u30af\u30c3\u30ad\u30fc\u306e\u3088\u3046\u306a\u683c\u8a00\u3092\u30e9\u30f3\u30c0\u30e0\u306b\u8868\u793a\u3059\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u304c\u3042\u308a\u307e\u3059\uff0e\u69d8\u3005\u306a\u8f9e\u66f8\u30c7\u30fc\u30bf\u304c\u5b58\u5728\u3057\u3066\u3044\u3066\u81ea\u4f5c\u3082\u51fa\u6765\u307e\u3059\uff0e
\npi@raspberrypi ~ $ sudo apt install fortunes # fortune\u306e\u5c0e\u5165\r\npi@raspberrypi ~ $ fortune # fortune\u306e\u5b9f\u884c\r\nSome of us are becoming the men we wanted to marry.\r\n -- Gloria Steinem\r\npi@raspberrypi /tmp $ cat <<__EOF__> data # fortune\u306e\u30c7\u30fc\u30bf\u4f5c\u6210\r\n\u30c6\u30b9\u30c8\r\n%\r\n1\u884c\u76ee\r\n2\u884c\u76ee\r\n%\r\n__EOF__\r\npi@raspberrypi /tmp $ strfile data # \u30c7\u30fc\u30bf\u5909\u63db\r\n"data.dat" created\r\nThere were 2 strings\r\nLongest string: 16 bytes\r\nShortest string: 10 bytes\r\npi@raspberrypi /tmp $ ls data*\r\ndata data.dat\r\npi@raspberrypi /tmp $ fortune data # \u81ea\u4f5c\u30c7\u30fc\u30bf\u3092\u5229\u7528\r\n1\u884c\u76ee\r\n2\u884c\u76ee\r\npi@raspberrypi /tmp $ fortune data\r\n\u30c6\u30b9\u30c8\r\n\n
\u305d\u306e\u8f9e\u66f8\u30c7\u30fc\u30bf\u306b @ahiru3net\u3055\u3093\u306e\u3042\u3072\u308b\u713c\u304d\u306b\u5bfe\u3059\u308bmention\u3092\u4f7f\u3046\u3068\u697d\u3057\u3044\u304b\u3082\u3057\u308c\u306a\u3044\u3068\u601d\u3044\u307e\u3057\u305f\uff0e\u3067\u3082\u30c7\u30fc\u30bf\u3092\u96c6\u3081\u308b\u306e\u304c\u9762\u5012\u3060\u306a\u3068\u3064\u3076\u3084\u3044\u305f\u3068\u3053\u308d @shimadah\u3055\u3093\u306bGitHub \u3092\u6559\u3048\u3066\u3082\u3089\u3044\u307e\u3057\u305f\uff0e
\n\n\n@matoken source\u306b\u307e\u3068\u307e\u3063\u3066\u307e\u3063\u305b https://t.co/qcEKJRX2yE
\n— Shimada Hirofumi (@shimadah) 2015, 11\u6708 27
\n\n\u305d\u308c\u3092\u5143\u306b\u30b3\u30cd\u30b3\u30cd\u3057\u3066\u2026\u2026\u3046\u307e\u304f\u3044\u304b\u306a\u3044\u3068\u3053\u308d\u306b@ahiru3net\u3055\u3093\u306e\u52a9\u8a00\uff0e
\n\n@matoken \u3069\u3053\u3082
strfile file file.dat
\u3057\u305f\u3042\u3068\u306b
fortune file
\u3063\u3066\u3057\u3066\u307e\u3059\u306d
\n— \u71c3\u713c\u306e\u30e1\u30bf\u30d5\u30a1\u30fc.exe (@ahiru3net) 2015, 11\u6708 27
\n\n\n\u3066\u3053\u3068\u3067 #\u3042\u3072\u308b\u713c\u304d fortune \u3053\u3093\u306a\u611f\u3058\u3067
https://t.co/ygpnzLoLJk
\n— (\u300c\u03a6\u03c9\u03a6)\u300c (@matoken) 2015, 11\u6708 28
\n\n\u3084\u3063\u3066\u308b\u3053\u3068\u306fahiru_yakuna\u30d7\u30e9\u30b0\u30a4\u30f3\u306emention\u306e\u30c7\u30fc\u30bf\u3092\u3082\u3089\u3063\u3066\u304d\u3066\u4e71\u66b4\u306bfortune\u3067\u5229\u7528\u3067\u304d\u308b\u5f62\u5f0f\u306b\u5909\u63db\u3057\u3066~/.zshrc \u306b\u767b\u9332\u3057\u3066\u30ed\u30b0\u30a4\u30f3\u6642\u306b\u53f0\u8a5e\u3092\u51fa\u3059\u3088\u3046\u306b\u3057\u3066\u3044\u307e\u3059\uff0e
\nmkdir ~/.fortune;wget -O - https://github.com/Na0ki/ahiru_yakuna/raw/master/config.yml|grep ^\\-\\ \\" | sed 's/^-\\ \\"//'| sed 's/"$/\\n%/' | sed 's/\\\\n/\\n/g' > ~/.fortune/ahiruyaki && strfile ~/.fortune/ahiruyaki ~/.fortune/ahiruyaki.dat && echo fortune ~/.fortune/ahiruyaki >> ~/.zshrc\r\n\n
\u3053\u308c\u3067\u30ed\u30b0\u30a4\u30f3\u306e\u305f\u3073\u306b\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u8868\u793a\u3055\u308c\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f :)
\n\u713c\u3044\u3061\u3083\u3046\u306e\u304b\uff1f\uff01\u672c\u5f53\u306b\u713c\u3044\u3061\u3083\u3046\u306e\u304b\uff1f\uff01\r\npi@raspberrypi ~ $\r\n\n
\u3067\u3082\u30e1\u30c3\u30bb\u30fc\u30b8\u3060\u3051\u3060\u3068\u3061\u3087\u3063\u3068\u3055\u307f\u3057\u3044\u3067\u3059\uff0e
\n\u305d\u3053\u3067 cowsay \u3092\u4f7f\u3063\u3066\u307f\u307e\u3059\uff0ecowsay \u306f\u30a2\u30b9\u30ad\u30fc\u30a2\u30fc\u30c8\u3067\u66f8\u304b\u308c\u305f\u725b\u306a\u3069\u306e\u30ad\u30e3\u30e9\u30af\u30bf\u306b\u6307\u5b9a\u3057\u305f\u53f0\u8a5e\u3092\u558b\u3089\u305b\u308b\u3053\u3068\u306e\u51fa\u6765\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u3059\uff0e\u90fd\u5408\u306e\u3044\u3044\u3053\u3068\u306b\u9078\u629e\u3067\u304d\u308b\u30ad\u30e3\u30e9\u30af\u30bf\u306e\u4e2d\u306b\u3042\u3072\u308b\u304c\u3044\u307e\u3059\uff0e\u3042\u3072\u308b\u306b\u558b\u3063\u3066\u3082\u3089\u3044\u307e\u3057\u3087\u3046!
pi@raspberrypi ~ $ sudo apt install cowsay # cowsay \u5c0e\u5165\r\npi@raspberrypi ~ $ cowsay hello cow # cowsay \u5b9f\u884c\r\n ___________\r\n< hello cow >\r\n -----------\r\n \\ ^__^\r\n \\ (oo)\\_______\r\n (__)\\ )\\/\\\r\n ||----w |\r\n || ||\r\npi@raspberrypi ~ $ cowsay -f duck hello duck # \u3042\u3072\u308b\u306b\u558b\u3089\u305b\u308b\r\n ____________\r\n< hello duck >\r\n ------------\r\n \\\r\n \\\r\n \\ >()_\r\n (__)__ _\r\npi@raspberrypi ~ $ cowsay -f duck \u3042\u3072\u308b\u713c\u304d # \u65e5\u672c\u8a9e\u3092\u558b\u3089\u305b\u308b\r\n _______\r\n< \u3042\u3072\u308b\u713c\u304d >\r\n -------\r\n \\\r\n \\\r\n \\ >()_\r\n (__)__ _\r\n\n
\u65e5\u672c\u8a9e\u3092\u558b\u3089\u305b\u308b\u3068\u5439\u304d\u51fa\u3057\u304c\u305a\u308c\u3066\u3057\u307e\u3044\u307e\u3059\uff0e\u3042\u3072\u308b\u713c\u304d\u306e\u53f0\u8a5e\u306e\u6b86\u3069\u306f\u65e5\u672c\u8a9e\u306a\u306e\u3067\u3053\u306e\u307e\u307e\u3067\u306f\u307e\u305a\u3044\u3067\u3059\uff0e\u8abf\u3079\u3066\u307f\u308b\u3068\u30d0\u30b0\u30ec\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u3057\u305f\uff0e
\n\n\u4e2d\u56fd\u8a9e?\u3082\u3084\u3063\u3071\u308a\u305a\u308c\u3061\u3083\u3046\u307f\u305f\u3044\u3067\u3059\uff0e
\n\u6587\u5b57\u6570\u3068\u898b\u305f\u76ee\u306e\u30ad\u30e3\u30e9\u30af\u30bf\u306e\u6587\u5b57\u6570\u306e\u30ba\u30ec\u304b\u3089\u8d77\u3053\u3063\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0e\u3068\u308a\u3042\u3048\u305a\u65e5\u672c\u8a9e\u3060\u3051\u3067\u3082\u52d5\u304f\u3088\u3046\u306b\u51fa\u6765\u306a\u3044\u304b\u3068 euc-jp \u306b\u5909\u63db\u3057\u3066\u6587\u5b57\u6570\u3092\u78ba\u8a8d\u3057\u3066\u3068\u3044\u3063\u305f\u30c0\u30e1\u306a\u4fee\u6b63\u3092\u3057\u3066\u3044\u305f\u3068\u3053\u308dGoogle+\u306e\u4ee5\u4e0b\u306e\u6295\u7a3f\u306e\u30b3\u30e1\u30f3\u30c8\u3067 +Masakazu Takahashi\u3055\u3093\u304c\u3055\u304f\u3063\u3068\u30d1\u30c3\u30c1\u3092\u4f5c\u3063\u3066\u304f\u308c\u307e\u3057\u305f!
\u3053\u306e\u30d1\u30c3\u30c1\u306f\u5831\u544a\u3057\u307e\u3057\u305f\u304c\uff0c\u53d6\u308a\u8fbc\u307e\u308c\u3066\u3082stretch\u4ee5\u964d\u3067\u3057\u3087\u3046\uff0e\u3068\u3044\u3046\u3053\u3068\u3067Debian\u3060\u3068\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3057\u3066\u30bd\u30fc\u30b9\u3092\u5165\u624b\u3057\u3066\u30d1\u30c3\u30c1\u3092\u5f53\u3066\u308b\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\uff0e
\npi@raspberrypi ~/src $ sudo apt install libtext-charwidth-perl # \u5fc5\u8981\u306a\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u5c0e\u5165\r\npi@raspberrypi ~/src $ apt-get source cowsay # cowsay \u306e source \u5165\u624b\r\npi@raspberrypi ~/src $ cd cowsay-3.03+dfsg1 # \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u79fb\u52d5\u3068\u30d1\u30c3\u30c1\u9069\u7528\r\npi@raspberrypi ~/src/cowsay-3.03+dfsg1 $ wget -O - https://gist.githubusercontent.com/emasaka/639a9168c6a9ddba044f/raw/1a55ec58ded59b3181f1721dbbe814a38d5ea4cb/cowsay-mbswidth.patch | patch -i -\r\npatching file cowsay\r\npi@raspberrypi ~/src/cowsay-3.03+dfsg1 $ ./cowsay -f duck \u3042\u3072\u308b\u713c\u304d\r\n ____________\r\n< \u3042\u3072\u308b\u713c\u304d >\r\n ------------\r\n \\\r\n \\\r\n \\ >()_\r\n (__)__ _\r\n\n
~/bin \u8fba\u308a\u306b\u30b3\u30d4\u30fc\u3057\u3066\u4f7f\u3063\u305f\u308a\uff0c\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u611f\u3058\u3067\u65e2\u5b58\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u7f6e\u304d\u63db\u3048\u3066\u3057\u307e\u3063\u3066\u3082\u3044\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e
pi@raspberrypi ~/src/cowsay-3.03+dfsg1 $ vi debian/control\r\n- Depends: ${misc:Depends}, ${perl:Depends}\r\n+ Depends: ${misc:Depends}, ${perl:Depends}, libtext-charwidth-perl\r\npi@raspberrypi ~/src/cowsay-3.03+dfsg1 $ dpkg-buildpackage -b\r\npi@raspberrypi ~/src/cowsay-3.03+dfsg1 $ sudo debi\r\n\n
\u3055\u3066\uff0cfortune\u306e\u3053\u3068\u3092\u5fd8\u308c\u3066\u3057\u307e\u3044\u305d\u3046\u3067\u3059\u304c\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3057\u3066\u3042\u3072\u308b\u713c\u304dfortune\u306e\u7d50\u679c\u3092\u3042\u3072\u308b\u306b\u558b\u3089\u305b\u307e\u3059\uff0e
\npi@raspberrypi ~ $ cowsay -f duck `fortune ~/.fortune/ahiruyaki`\r\n ______________\r\n< \u30d2\u30c3\u30d2\u30c3\u30d2\u30c3 >\r\n --------------\r\n \\\r\n \\\r\n \\ >()_\r\n (__)__ _\r\n\n
\u3044\u3044\u611f\u3058\u3067\u3059 :)
\n~/.profile \u8fba\u308a\u306b\u767b\u9332\u3057\u3061\u3083\u3044\u307e\u3057\u3087\u3046\uff0ealias\u3082\u8a2d\u5b9a\u3057\u3066\u307f\u307e\u3059\uff0e
pi@raspberrypi ~ $ echo 'alias a="fortune ~/.fortune/ahiruyaki | cowsay -f duck"' >> ~/.profile \r\npi@raspberrypi ~ $ echo a >> ~/.profile\r\n\n
\u3053\u308c\u3067login\u6642\u3084 a \u3068\u5165\u529b\u3059\u308b\u3053\u3068\u3067\u5b9f\u884c\u3055\u308c\u307e\u3059\uff0e
Last login: Fri Dec 4 23:32:05 2015 from 192.168.2.210\r\n ________________________________________________________________________________\r\n/ \u3042\u3072\u308b\u713c\u304d\u3068\u3044\u3046\u3082\u306e\u306b\u306f\u9bae\u5ea6\u304c\u3042\u308a\u307e\u3059\u3002\u713c\u3051\u3070\u713c\u304f\u307b\u3069\u306b\u3001\u3042\u3072\u308b\u713c\u304d\u3068\u306f\u5ec3\u308c\u3066 \\\r\n\\ \u3044\u304f\u3082\u306e\u306a\u306e\u3067\u3059\u3002 /\r\n --------------------------------------------------------------------------------\r\n \\\r\n \\\r\n \\ >()_\r\n (__)__ _\r\npi@raspberrypi ~ $ a\r\n ________________________\r\n< \u30d0\u30fc\u30cb\u30f3\u30b0\u901a\u5e33\uff01\uff01\uff01\uff01 >\r\n ------------------------\r\n \\\r\n \\\r\n \\ >()_\r\n (__)__ _\r\n\n
GUI \u306e X \u7248\u306ecowsay\u3082\u5b58\u5728\u3057\u307e\u3059\uff0e\u3053\u3044\u3064\u3082\u8a66\u3057\u3066\u307f\u307e\u3057\u3087\u3046\uff0e
\npi@raspberrypi ~ $ sudo apt install xcowsay\r\npi@raspberrypi ~ $ xcowsay `fortune ~/.fortune/ahiruyaki`\r\n\n

\u306a\u304b\u306a\u304b\u7279\u5fb4\u7684\u306acow\u304c\u558b\u308a\u307e\u3057\u305f\uff0e\u305b\u3063\u304b\u304f\u306a\u306e\u3067\u3042\u3072\u308b\u306b\u558b\u3089\u305b\u307e\u3057\u3087\u3046\uff0e\u5439\u304d\u51fa\u3057\u306e\u5411\u304d\u3068\u4f4d\u7f6e\u3092\u5909\u3048\u3066\u3042\u3072\u308b\u753b\u50cf\u3092\u6307\u5b9a\u3057\u3066\u3044\u307e\u3059\uff0e
\npi@raspberrypi ~ $ wget https://github.com/Na0ki/ahiru_yakuna/raw/master/ahiru240.jpg -O ~/.fortune/ahiru240.jpg\r\nfortune ~/.fortune/ahiruyaki | xcowsay -l --bubble-at=0,-60 --image=$HOME/.fortune/ahiru240.jpg\r\n\n

\u80cc\u666f\u304c\u3061\u3087\u3063\u3068\u90aa\u9b54\u306a\u306e\u3067\u900f\u904e\u51e6\u7406\u3092\u3057\u3066\u307f\u307e\u3059\uff0e
\n
\u3044\u3044\u611f\u3058\u3067\u3059 :)
\n\u4f8b\u306b\u3088\u3063\u3066alias\u306b\u3057\u3066\u304a\u304d\u307e\u3059
pi@raspberrypi ~ $ echo alias xa='fortune ~/.fortune/ahiruyaki | xcowsay -l --bubble-at=0,-60 --image=$HOME/.fortune/ahiru240.png' >> ~/.profile\r\n\n
\u305d\u3093\u306a\u3053\u3093\u306a\u3067\u307f\u3093\u306a\u306e\u304a\u304b\u3052\u3067\u3042\u3072\u308b\u304c\u3044\u3044\u611f\u3058\u306b\u713c\u3051\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\uff0e@shimadah\u3055\u3093, @ahiru3net\u3055\u3093, @emasaka\u3055\u3093\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3057\u305f!
\n\uff03\u305d\u3046\u305d\u3046\uff0c\u4ee5\u524d\u306f\u30d5\u30ec\u30fc\u30e0\u30d0\u30c3\u30d5\u30a1\u3067\u3082\u3042\u3072\u308b\u713c\u304d\u3057\u3066\u307e\u3057\u305f\uff0e
\n\n", "content_text": "\u3053\u306e\u8a18\u4e8b\u306f \u3042\u3072\u308b\u713c\u304d Advent Calendar 2015 – Adventar \u306e12\u670805\u65e5\u5206\u306e\u8a18\u4e8b\u3067\u3059\uff0e\n\n\u307f\u3093\u306a\u3067\u307e\u3063\u305f\u308a #\u3042\u3072\u308b\u713c\u304d \u3059\u308c\u3070\u3048\u3048\u3093\u3058\u3083\u306a\u3044\u304b\u306a\u3068\u601d\u3044\u307e\u3059\u3002\n\n\u3068\u3044\u3046\u3053\u3068\u3067\u6700\u8fd1\u713c\u3044\u305f\u3042\u3072\u308b\u306e\u8a71\u3092\uff0e\n\u767a\u7aef\nfortune \u3068\u3044\u3046\u30d5\u30a9\u30fc\u30c1\u30e5\u30f3\u30af\u30c3\u30ad\u30fc\u306e\u3088\u3046\u306a\u683c\u8a00\u3092\u30e9\u30f3\u30c0\u30e0\u306b\u8868\u793a\u3059\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u304c\u3042\u308a\u307e\u3059\uff0e\u69d8\u3005\u306a\u8f9e\u66f8\u30c7\u30fc\u30bf\u304c\u5b58\u5728\u3057\u3066\u3044\u3066\u81ea\u4f5c\u3082\u51fa\u6765\u307e\u3059\uff0e\n\npi@raspberrypi ~ $ sudo apt install fortunes # fortune\u306e\u5c0e\u5165\r\npi@raspberrypi ~ $ fortune # fortune\u306e\u5b9f\u884c\r\nSome of us are becoming the men we wanted to marry.\r\n -- Gloria Steinem\r\npi@raspberrypi /tmp $ cat <<__EOF__> data # fortune\u306e\u30c7\u30fc\u30bf\u4f5c\u6210\r\n\u30c6\u30b9\u30c8\r\n%\r\n1\u884c\u76ee\r\n2\u884c\u76ee\r\n%\r\n__EOF__\r\npi@raspberrypi /tmp $ strfile data # \u30c7\u30fc\u30bf\u5909\u63db\r\n"data.dat" created\r\nThere were 2 strings\r\nLongest string: 16 bytes\r\nShortest string: 10 bytes\r\npi@raspberrypi /tmp $ ls data*\r\ndata data.dat\r\npi@raspberrypi /tmp $ fortune data # \u81ea\u4f5c\u30c7\u30fc\u30bf\u3092\u5229\u7528\r\n1\u884c\u76ee\r\n2\u884c\u76ee\r\npi@raspberrypi /tmp $ fortune data\r\n\u30c6\u30b9\u30c8\r\n\n\n\u305d\u306e\u8f9e\u66f8\u30c7\u30fc\u30bf\u306b @ahiru3net\u3055\u3093\u306e\u3042\u3072\u308b\u713c\u304d\u306b\u5bfe\u3059\u308bmention\u3092\u4f7f\u3046\u3068\u697d\u3057\u3044\u304b\u3082\u3057\u308c\u306a\u3044\u3068\u601d\u3044\u307e\u3057\u305f\uff0e\u3067\u3082\u30c7\u30fc\u30bf\u3092\u96c6\u3081\u308b\u306e\u304c\u9762\u5012\u3060\u306a\u3068\u3064\u3076\u3084\u3044\u305f\u3068\u3053\u308d @shimadah\u3055\u3093\u306bGitHub \u3092\u6559\u3048\u3066\u3082\u3089\u3044\u307e\u3057\u305f\uff0e\n\nNa0ki/ahiru_yakuna\n\n\n@matoken source\u306b\u307e\u3068\u307e\u3063\u3066\u307e\u3063\u305b https://t.co/qcEKJRX2yE\n— Shimada Hirofumi (@shimadah) 2015, 11\u6708 27\n\n\u305d\u308c\u3092\u5143\u306b\u30b3\u30cd\u30b3\u30cd\u3057\u3066\u2026\u2026\u3046\u307e\u304f\u3044\u304b\u306a\u3044\u3068\u3053\u308d\u306b@ahiru3net\u3055\u3093\u306e\u52a9\u8a00\uff0e\n\n@matoken \u3069\u3053\u3082 strfile file file.dat \u3057\u305f\u3042\u3068\u306b fortune file \u3063\u3066\u3057\u3066\u307e\u3059\u306d\n— \u71c3\u713c\u306e\u30e1\u30bf\u30d5\u30a1\u30fc.exe (@ahiru3net) 2015, 11\u6708 27\n\n\u713c\u3051\u305f\n\n\u3066\u3053\u3068\u3067 #\u3042\u3072\u308b\u713c\u304d fortune \u3053\u3093\u306a\u611f\u3058\u3067 https://t.co/ygpnzLoLJk\n— (\u300c\u03a6\u03c9\u03a6)\u300c (@matoken) 2015, 11\u6708 28\n\n\u3084\u3063\u3066\u308b\u3053\u3068\u306fahiru_yakuna\u30d7\u30e9\u30b0\u30a4\u30f3\u306emention\u306e\u30c7\u30fc\u30bf\u3092\u3082\u3089\u3063\u3066\u304d\u3066\u4e71\u66b4\u306bfortune\u3067\u5229\u7528\u3067\u304d\u308b\u5f62\u5f0f\u306b\u5909\u63db\u3057\u3066~/.zshrc \u306b\u767b\u9332\u3057\u3066\u30ed\u30b0\u30a4\u30f3\u6642\u306b\u53f0\u8a5e\u3092\u51fa\u3059\u3088\u3046\u306b\u3057\u3066\u3044\u307e\u3059\uff0e\n\nmkdir ~/.fortune;wget -O - https://github.com/Na0ki/ahiru_yakuna/raw/master/config.yml|grep ^\\-\\ \\" | sed 's/^-\\ \\"//'| sed 's/"$/\\n%/' | sed 's/\\\\n/\\n/g' > ~/.fortune/ahiruyaki && strfile ~/.fortune/ahiruyaki ~/.fortune/ahiruyaki.dat && echo fortune ~/.fortune/ahiruyaki >> ~/.zshrc\r\n\n\n\u3053\u308c\u3067\u30ed\u30b0\u30a4\u30f3\u306e\u305f\u3073\u306b\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u8868\u793a\u3055\u308c\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f :)\n\n\u713c\u3044\u3061\u3083\u3046\u306e\u304b\uff1f\uff01\u672c\u5f53\u306b\u713c\u3044\u3061\u3083\u3046\u306e\u304b\uff1f\uff01\r\npi@raspberrypi ~ $\r\n\n\n\u3082\u3063\u3068\u713c\u304f\n\u3067\u3082\u30e1\u30c3\u30bb\u30fc\u30b8\u3060\u3051\u3060\u3068\u3061\u3087\u3063\u3068\u3055\u307f\u3057\u3044\u3067\u3059\uff0e\n\u305d\u3053\u3067 cowsay \u3092\u4f7f\u3063\u3066\u307f\u307e\u3059\uff0ecowsay \u306f\u30a2\u30b9\u30ad\u30fc\u30a2\u30fc\u30c8\u3067\u66f8\u304b\u308c\u305f\u725b\u306a\u3069\u306e\u30ad\u30e3\u30e9\u30af\u30bf\u306b\u6307\u5b9a\u3057\u305f\u53f0\u8a5e\u3092\u558b\u3089\u305b\u308b\u3053\u3068\u306e\u51fa\u6765\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u3059\uff0e\u90fd\u5408\u306e\u3044\u3044\u3053\u3068\u306b\u9078\u629e\u3067\u304d\u308b\u30ad\u30e3\u30e9\u30af\u30bf\u306e\u4e2d\u306b\u3042\u3072\u308b\u304c\u3044\u307e\u3059\uff0e\u3042\u3072\u308b\u306b\u558b\u3063\u3066\u3082\u3089\u3044\u307e\u3057\u3087\u3046!\n\npi@raspberrypi ~ $ sudo apt install cowsay # cowsay \u5c0e\u5165\r\npi@raspberrypi ~ $ cowsay hello cow # cowsay \u5b9f\u884c\r\n ___________\r\n< hello cow >\r\n -----------\r\n \\ ^__^\r\n \\ (oo)\\_______\r\n (__)\\ )\\/\\\r\n ||----w |\r\n || ||\r\npi@raspberrypi ~ $ cowsay -f duck hello duck # \u3042\u3072\u308b\u306b\u558b\u3089\u305b\u308b\r\n ____________\r\n< hello duck >\r\n ------------\r\n \\\r\n \\\r\n \\ >()_\r\n (__)__ _\r\npi@raspberrypi ~ $ cowsay -f duck \u3042\u3072\u308b\u713c\u304d # \u65e5\u672c\u8a9e\u3092\u558b\u3089\u305b\u308b\r\n _______\r\n< \u3042\u3072\u308b\u713c\u304d >\r\n -------\r\n \\\r\n \\\r\n \\ >()_\r\n (__)__ _\r\n\n\n\u65e5\u672c\u8a9e\u3092\u558b\u3089\u305b\u308b\u3068\u5439\u304d\u51fa\u3057\u304c\u305a\u308c\u3066\u3057\u307e\u3044\u307e\u3059\uff0e\u3042\u3072\u308b\u713c\u304d\u306e\u53f0\u8a5e\u306e\u6b86\u3069\u306f\u65e5\u672c\u8a9e\u306a\u306e\u3067\u3053\u306e\u307e\u307e\u3067\u306f\u307e\u305a\u3044\u3067\u3059\uff0e\u8abf\u3079\u3066\u307f\u308b\u3068\u30d0\u30b0\u30ec\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u3057\u305f\uff0e\n\n#769565 – cowsay: output format with widechar not good – Debian Bug report logs\n\n\u4e2d\u56fd\u8a9e?\u3082\u3084\u3063\u3071\u308a\u305a\u308c\u3061\u3083\u3046\u307f\u305f\u3044\u3067\u3059\uff0e\n\u6587\u5b57\u6570\u3068\u898b\u305f\u76ee\u306e\u30ad\u30e3\u30e9\u30af\u30bf\u306e\u6587\u5b57\u6570\u306e\u30ba\u30ec\u304b\u3089\u8d77\u3053\u3063\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0e\u3068\u308a\u3042\u3048\u305a\u65e5\u672c\u8a9e\u3060\u3051\u3067\u3082\u52d5\u304f\u3088\u3046\u306b\u51fa\u6765\u306a\u3044\u304b\u3068 euc-jp \u306b\u5909\u63db\u3057\u3066\u6587\u5b57\u6570\u3092\u78ba\u8a8d\u3057\u3066\u3068\u3044\u3063\u305f\u30c0\u30e1\u306a\u4fee\u6b63\u3092\u3057\u3066\u3044\u305f\u3068\u3053\u308dGoogle+\u306e\u4ee5\u4e0b\u306e\u6295\u7a3f\u306e\u30b3\u30e1\u30f3\u30c8\u3067 +Masakazu Takahashi\u3055\u3093\u304c\u3055\u304f\u3063\u3068\u30d1\u30c3\u30c1\u3092\u4f5c\u3063\u3066\u304f\u308c\u307e\u3057\u305f!\n\n\ncowsay \u7d50\u69cb\u524d\u306b UTF8 \u5bfe\u5fdc\u3057\u3066\u308b\u307d\u3044\u3051\u3069\u3046\u307e\u304f\u52d5\u304b\u306a\u3044 % cowsay \u3042\u3072\u308b\u3084\u304d _____ < \u3042\u3072\u308b\u3084\u304d > ——- \\ \u2026\n\n\ncowsay: fix width of multibyte characters \n\n\n\u3053\u306e\u30d1\u30c3\u30c1\u306f\u5831\u544a\u3057\u307e\u3057\u305f\u304c\uff0c\u53d6\u308a\u8fbc\u307e\u308c\u3066\u3082stretch\u4ee5\u964d\u3067\u3057\u3087\u3046\uff0e\u3068\u3044\u3046\u3053\u3068\u3067Debian\u3060\u3068\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3057\u3066\u30bd\u30fc\u30b9\u3092\u5165\u624b\u3057\u3066\u30d1\u30c3\u30c1\u3092\u5f53\u3066\u308b\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\uff0e\n\npi@raspberrypi ~/src $ sudo apt install libtext-charwidth-perl # \u5fc5\u8981\u306a\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u5c0e\u5165\r\npi@raspberrypi ~/src $ apt-get source cowsay # cowsay \u306e source \u5165\u624b\r\npi@raspberrypi ~/src $ cd cowsay-3.03+dfsg1 # \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u79fb\u52d5\u3068\u30d1\u30c3\u30c1\u9069\u7528\r\npi@raspberrypi ~/src/cowsay-3.03+dfsg1 $ wget -O - https://gist.githubusercontent.com/emasaka/639a9168c6a9ddba044f/raw/1a55ec58ded59b3181f1721dbbe814a38d5ea4cb/cowsay-mbswidth.patch | patch -i -\r\npatching file cowsay\r\npi@raspberrypi ~/src/cowsay-3.03+dfsg1 $ ./cowsay -f duck \u3042\u3072\u308b\u713c\u304d\r\n ____________\r\n< \u3042\u3072\u308b\u713c\u304d >\r\n ------------\r\n \\\r\n \\\r\n \\ >()_\r\n (__)__ _\r\n\n\n~/bin \u8fba\u308a\u306b\u30b3\u30d4\u30fc\u3057\u3066\u4f7f\u3063\u305f\u308a\uff0c\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u611f\u3058\u3067\u65e2\u5b58\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u7f6e\u304d\u63db\u3048\u3066\u3057\u307e\u3063\u3066\u3082\u3044\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e\n\npi@raspberrypi ~/src/cowsay-3.03+dfsg1 $ vi debian/control\r\n- Depends: ${misc:Depends}, ${perl:Depends}\r\n+ Depends: ${misc:Depends}, ${perl:Depends}, libtext-charwidth-perl\r\npi@raspberrypi ~/src/cowsay-3.03+dfsg1 $ dpkg-buildpackage -b\r\npi@raspberrypi ~/src/cowsay-3.03+dfsg1 $ sudo debi\r\n\n\n\u3055\u3066\uff0cfortune\u306e\u3053\u3068\u3092\u5fd8\u308c\u3066\u3057\u307e\u3044\u305d\u3046\u3067\u3059\u304c\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3057\u3066\u3042\u3072\u308b\u713c\u304dfortune\u306e\u7d50\u679c\u3092\u3042\u3072\u308b\u306b\u558b\u3089\u305b\u307e\u3059\uff0e\n\npi@raspberrypi ~ $ cowsay -f duck `fortune ~/.fortune/ahiruyaki`\r\n ______________\r\n< \u30d2\u30c3\u30d2\u30c3\u30d2\u30c3 >\r\n --------------\r\n \\\r\n \\\r\n \\ >()_\r\n (__)__ _\r\n\n\n\u3044\u3044\u611f\u3058\u3067\u3059 :)\n~/.profile \u8fba\u308a\u306b\u767b\u9332\u3057\u3061\u3083\u3044\u307e\u3057\u3087\u3046\uff0ealias\u3082\u8a2d\u5b9a\u3057\u3066\u307f\u307e\u3059\uff0e\n\npi@raspberrypi ~ $ echo 'alias a="fortune ~/.fortune/ahiruyaki | cowsay -f duck"' >> ~/.profile \r\npi@raspberrypi ~ $ echo a >> ~/.profile\r\n\n\n\u3053\u308c\u3067login\u6642\u3084 a \u3068\u5165\u529b\u3059\u308b\u3053\u3068\u3067\u5b9f\u884c\u3055\u308c\u307e\u3059\uff0e\n\nLast login: Fri Dec 4 23:32:05 2015 from 192.168.2.210\r\n ________________________________________________________________________________\r\n/ \u3042\u3072\u308b\u713c\u304d\u3068\u3044\u3046\u3082\u306e\u306b\u306f\u9bae\u5ea6\u304c\u3042\u308a\u307e\u3059\u3002\u713c\u3051\u3070\u713c\u304f\u307b\u3069\u306b\u3001\u3042\u3072\u308b\u713c\u304d\u3068\u306f\u5ec3\u308c\u3066 \\\r\n\\ \u3044\u304f\u3082\u306e\u306a\u306e\u3067\u3059\u3002 /\r\n --------------------------------------------------------------------------------\r\n \\\r\n \\\r\n \\ >()_\r\n (__)__ _\r\npi@raspberrypi ~ $ a\r\n ________________________\r\n< \u30d0\u30fc\u30cb\u30f3\u30b0\u901a\u5e33\uff01\uff01\uff01\uff01 >\r\n ------------------------\r\n \\\r\n \\\r\n \\ >()_\r\n (__)__ _\r\n\n\nX\u3067\u3082\u713c\u304f\nGUI \u306e X \u7248\u306ecowsay\u3082\u5b58\u5728\u3057\u307e\u3059\uff0e\u3053\u3044\u3064\u3082\u8a66\u3057\u3066\u307f\u307e\u3057\u3087\u3046\uff0e\n\npi@raspberrypi ~ $ sudo apt install xcowsay\r\npi@raspberrypi ~ $ xcowsay `fortune ~/.fortune/ahiruyaki`\r\n\n\n\n\u306a\u304b\u306a\u304b\u7279\u5fb4\u7684\u306acow\u304c\u558b\u308a\u307e\u3057\u305f\uff0e\u305b\u3063\u304b\u304f\u306a\u306e\u3067\u3042\u3072\u308b\u306b\u558b\u3089\u305b\u307e\u3057\u3087\u3046\uff0e\u5439\u304d\u51fa\u3057\u306e\u5411\u304d\u3068\u4f4d\u7f6e\u3092\u5909\u3048\u3066\u3042\u3072\u308b\u753b\u50cf\u3092\u6307\u5b9a\u3057\u3066\u3044\u307e\u3059\uff0e\n\npi@raspberrypi ~ $ wget https://github.com/Na0ki/ahiru_yakuna/raw/master/ahiru240.jpg -O ~/.fortune/ahiru240.jpg\r\nfortune ~/.fortune/ahiruyaki | xcowsay -l --bubble-at=0,-60 --image=$HOME/.fortune/ahiru240.jpg\r\n\n\n\n\u80cc\u666f\u304c\u3061\u3087\u3063\u3068\u90aa\u9b54\u306a\u306e\u3067\u900f\u904e\u51e6\u7406\u3092\u3057\u3066\u307f\u307e\u3059\uff0e\n\n\u3044\u3044\u611f\u3058\u3067\u3059 :)\n\u4f8b\u306b\u3088\u3063\u3066alias\u306b\u3057\u3066\u304a\u304d\u307e\u3059\n\npi@raspberrypi ~ $ echo alias xa='fortune ~/.fortune/ahiruyaki | xcowsay -l --bubble-at=0,-60 --image=$HOME/.fortune/ahiru240.png' >> ~/.profile\r\n\n\n\u305d\u3093\u306a\u3053\u3093\u306a\u3067\u307f\u3093\u306a\u306e\u304a\u304b\u3052\u3067\u3042\u3072\u308b\u304c\u3044\u3044\u611f\u3058\u306b\u713c\u3051\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\uff0e@shimadah\u3055\u3093, @ahiru3net\u3055\u3093, @emasaka\u3055\u3093\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3057\u305f!\n\uff03\u305d\u3046\u305d\u3046\uff0c\u4ee5\u524d\u306f\u30d5\u30ec\u30fc\u30e0\u30d0\u30c3\u30d5\u30a1\u3067\u3082\u3042\u3072\u308b\u713c\u304d\u3057\u3066\u307e\u3057\u305f\uff0e\n\n\u30d5\u30ec\u30fc\u30e0\u30d0\u30c3\u30d5\u30a1\u3067\u3042\u3072\u308b\u713c\u304d(fbterm \u306e \u80cc\u666f\u753b\u50cf\u306e\u8a2d\u5b9a) | matoken’s meme", "date_published": "2015-12-05T01:06:13+09:00", "date_modified": "2015-12-05T01:06:13+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/1865f695c4eecc844385acef2f078255036adccd42c254580ea3844543ab56d9?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/1865f695c4eecc844385acef2f078255036adccd42c254580ea3844543ab56d9?s=512&d=mm&r=g" }, "tags": [ "Debian", "game", "Jessie", "RaspberryPi", "jessie", "Linux" ] } ] }