{ "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/tag/linux/feed/json -- and add it your reader.", "next_url": "https://matoken.org/blog/tag/linux/feed/json?paged=2", "home_page_url": "https://matoken.org/blog/tag/linux", "feed_url": "https://matoken.org/blog/tag/linux/feed/json", "language": "ja", "title": "Linux – matoken's blog", "description": "Is there no plan B?", "icon": "https://matoken.org/blog/wp-content/uploads/2025/03/cropped-1865f695c4eecc844385acef2f078255036adccd42c254580ea3844543ab56d9.jpeg", "items": [ { "id": "https://matoken.org/blog/?p=5055", "url": "https://matoken.org/blog/2025/12/21/kagolug-2025-12/", "title": "\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a2025.12\u306b\u53c2\u52a0", "content_html": "

\n
\n

\u9e7f\u5150\u5cf6\u3089\u3050\u3068\u3044\u3046Linux User Group \u3067\u6708\u4e00\u3092\u76ee\u6a19\u306b\uff0e\u300c\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a\u300d\u3068\u3044\u3046\u52c9\u5f37\u4f1a\u3092\u3057\u3066\u3044\u307e\u3059\uff0e

\n
\n
\n\n
\n
\n

\u6700\u8fd1\u306f\u30bb\u30eb\u30d5\u30db\u30b9\u30c8\u3057\u305f\u30d3\u30c7\u30aa\u30df\u30fc\u30c6\u30a3\u30f3\u30b0\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306a\u3069\u3092\u5229\u7528\u3057\u3066BoF\u3084\u30a2\u30f3\u30ab\u30f3\u30d5\u30a1\u30ec\u30f3\u30b9\u306e\u3088\u3046\u306a\u5f62\u5f0f\u3067\u30cd\u30bf\u306e\u3042\u308b\u4eba\u304c\u767a\u8868\uff0c\u305d\u308c\u306b\u30c4\u30c3\u30b3\u30df\u3092\u5165\u308c\u3066\u3044\u304f\u3088\u3046\u306a\u611f\u3058\u3067\u3059\uff0e

\n
\n

\n
\n

12\u6708\u306e\u300c\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a 2025.12\u300d\u3067\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u8a71\u984c\u3067\u76db\u308a\u4e0a\u304c\u308a\u307e\u3057\u305f\uff0e

\n
\n
\n\n
\n
\n

\u81ea\u5206\u306f\u300cActivityPub Server \u306e snac \u305d\u306e3\u300d\u3068\u3057\u306610\u6708\uff0c11\u6708\u306b\u767a\u8868\u3057\u305fActivityPub Server \u306esnac \u306e\u7d9a\u304d\u306e\u8a71\u3092\u3057\u307e\u3057\u305f\uff0e
\n\u3053\u306e\u3068\u304d\u306e\u8cc7\u6599\u306f\u3053\u3061\u3089

\n
\n
\n\n
\n
\n

\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a\u6b21\u56de\u306f\u90fd\u5e02\u304c\u5909\u308f\u3063\u30662026/01/18(\u65e5)\u306e\u4e88\u5b9a\u3067\u3059\uff0e

\n
\n
\n\n
\n", "content_text": "\u9e7f\u5150\u5cf6\u3089\u3050\u3068\u3044\u3046Linux User Group \u3067\u6708\u4e00\u3092\u76ee\u6a19\u306b\uff0e\u300c\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a\u300d\u3068\u3044\u3046\u52c9\u5f37\u4f1a\u3092\u3057\u3066\u3044\u307e\u3059\uff0e\n\n\n\n\n\u9e7f\u5150\u5cf6\u3089\u3050(Linux User’s Group)\n\n\n\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a 2025.12(\u30aa\u30f3\u30e9\u30a4\u30f3\u958b\u50ac) – connpass\n\n\n\n\n\u6700\u8fd1\u306f\u30bb\u30eb\u30d5\u30db\u30b9\u30c8\u3057\u305f\u30d3\u30c7\u30aa\u30df\u30fc\u30c6\u30a3\u30f3\u30b0\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306a\u3069\u3092\u5229\u7528\u3057\u3066BoF\u3084\u30a2\u30f3\u30ab\u30f3\u30d5\u30a1\u30ec\u30f3\u30b9\u306e\u3088\u3046\u306a\u5f62\u5f0f\u3067\u30cd\u30bf\u306e\u3042\u308b\u4eba\u304c\u767a\u8868\uff0c\u305d\u308c\u306b\u30c4\u30c3\u30b3\u30df\u3092\u5165\u308c\u3066\u3044\u304f\u3088\u3046\u306a\u611f\u3058\u3067\u3059\uff0e\n\n\n\n12\u6708\u306e\u300c\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a 2025.12\u300d\u3067\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u8a71\u984c\u3067\u76db\u308a\u4e0a\u304c\u308a\u307e\u3057\u305f\uff0e\n\n\n\n\nActivityPub Server \u306e snac \u305d\u306e3\n\n\n\u30b3\u30df\u30c3\u30c8\u30b0\u30e9\u30d5\u4f8b(git-log commit limitting)\u306e\u30b3\u30df\u30c3\u30c8\u30b0\u30e9\u30d5\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u30fc\u3092\u4f5c\u6210\u3057\u3066\u307f\u308b\u3002\n\n\n\u521d\u4ee3EchoShow5\u306eTermux\u3092\u4fbf\u5229\u306b\u4f7f\u3046\n\n\nJolla\u306e\u65b0\u7aef\u672b\u3001SailfishOS\u95a2\u9023\u5e74\u8868\u66f4\u65b0\u3001\u30ad\u30fc\u30dc\u30fc\u30c9\u306eCopilot\u30dc\u30bf\u30f3\u3001apt\u30ea\u30dd\u30b8\u30c8\u30ea\u8a2d\u5b9a\u4ed6\n\n\n\u6700\u8fd1\u53c2\u52a0\u3057\u305f\u30a4\u30d9\u30f3\u30c8\u30ec\u30dd\u30fc\u30c8\n\n\n\nUbuntu 25.10\u30ea\u30ea\u30fc\u30b9\u8a18\u5ff5\u30aa\u30d5\u30e9\u30a4\u30f3\u30df\u30fc\u30c6\u30a3\u30f3\u30b025.11 11/24\n\n\nTLUG Technical Meeting – December 2025 12/06\n\n\nGNOME Asia Summit 2025 (13-2025\u5e7412\u670815\u65e5): \u6982\u8981 \u00b7 GNOME Events (Indico) 12/13-15\n\n\nLibreOffice Asia Conf 2025 | LibreOffice Asia Conference 12/13-14\n\n\n\u6771\u6d77\u9053\u3089\u3050 2025\u5e7412\u6708\u30aa\u30d5\u306a\u96c6\u307e\u308a\uff20\u30e1\u30ea\u30fc\u30a2\u30d2\u30eb\u30e4\u30ad\uff08\u5bb6\u9d28\u306f\u7720\u3089\u306a\u3044\uff09 12/20\n\n\n\n\n\n\n\n\u81ea\u5206\u306f\u300cActivityPub Server \u306e snac \u305d\u306e3\u300d\u3068\u3057\u306610\u6708\uff0c11\u6708\u306b\u767a\u8868\u3057\u305fActivityPub Server \u306esnac \u306e\u7d9a\u304d\u306e\u8a71\u3092\u3057\u307e\u3057\u305f\uff0e\n\u3053\u306e\u3068\u304d\u306e\u8cc7\u6599\u306f\u3053\u3061\u3089\n\n\n\n\nhttps://codeberg.org/matoken/kagolug-2025.12/src/branch/main/slide/slide.adoc\n\n\n\n\n\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a\u6b21\u56de\u306f\u90fd\u5e02\u304c\u5909\u308f\u3063\u30662026/01/18(\u65e5)\u306e\u4e88\u5b9a\u3067\u3059\uff0e\n\n\n\n\n\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a 2026.01(\u30aa\u30f3\u30e9\u30a4\u30f3\u958b\u50ac) – connpass", "date_published": "2025-12-21T23:48:03+09:00", "date_modified": "2025-12-21T23:48:04+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "kagolug", "Linux", "VideoMeeting", "\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a", "\u9e7f\u5150\u5cf6\u3089\u3050", "\u52c9\u5f37\u4f1a" ] }, { "id": "https://matoken.org/blog/?p=4422", "url": "https://matoken.org/blog/2025/02/28/kagolug-2025-02/", "title": "\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a2025.02\u306b\u53c2\u52a0", "content_html": "

\n
\n

\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a 2025.02\u306b\u53c2\u52a0\u3057\u307e\u3057\u305f\uff0e

\n
\n
\n\n
\n

\n
\n

\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a\u306f\u6bce\u6708\u96c6\u307e\u3063\u3066\u30a2\u30f3\u30ab\u30f3\u30d5\u30a1\u30ec\u30f3\u30b9\u5f62\u5f0f\u3067\u30cd\u30bf\u306e\u3042\u308b\u4eba\u304c\u767a\u8868\u3057\u3066\u305d\u308c\u306b\u30c4\u30c3\u30b3\u30df\u3092\u5165\u308c\u3066\u3044\u304f\u3088\u3046\u306a\u5f62\u5f0f\u3067\u9032\u3093\u3067\u3044\u304d\u307e\u3059\uff0e
\n\u6700\u8fd1\u306f\u3055\u304f\u3089\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u3055\u3093\u306b\u501f\u308a\u3066\u3044\u308b\u3055\u304f\u3089\u306eVPS\u3067\u30bb\u30eb\u30d5\u30db\u30b9\u30c8\u3057\u305f\u30d3\u30c7\u30aa\u30ab\u30f3\u30d5\u30a1\u30ec\u30f3\u30b9\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306eGal\u00e8ne\u3084Etherpad\u306a\u3069\u3092\u5229\u7528\u3057\u3066\u958b\u50ac\u3057\u3066\u3044\u307e\u3059\uff0e

\n
\n
\n

\u4eca\u56de\u306e\u4e3b\u306a\u8a71\u984c\u3067\u3059\uff0e

\n
\n
\n\n
\n
\n

\u81ea\u5206\u306f\u6614\u3042\u3063\u305fiGoogle\u3092\u601d\u3044\u51fa\u3059\u500b\u4eba\u5411\u3051\u30bb\u30eb\u30d5\u30db\u30b9\u30c8\u30dd\u30fc\u30bf\u30eb\u306eGlance\u306e\u7d39\u4ecb\u3092\u3057\u307e\u3057\u305f\uff0e

\n
\n

\n
\n

https://codeberg.org/matoken/kagolug-2025.02/src/branch/main/slide/slide.adoc

\n
\n
\n

\u6b21\u56de\u306e\u958b\u50ac\u306f2025-03-16(\u65e5)\u306e\u4e88\u5b9a\u3067\u3059\uff0e

\n
\n
\n\n
\n", "content_text": "\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a 2025.02\u306b\u53c2\u52a0\u3057\u307e\u3057\u305f\uff0e\n\n\n\n\n\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a 2025.02(\u30aa\u30f3\u30e9\u30a4\u30f3\u958b\u50ac) – connpass\n\n\n\n\n\n\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a\u306f\u6bce\u6708\u96c6\u307e\u3063\u3066\u30a2\u30f3\u30ab\u30f3\u30d5\u30a1\u30ec\u30f3\u30b9\u5f62\u5f0f\u3067\u30cd\u30bf\u306e\u3042\u308b\u4eba\u304c\u767a\u8868\u3057\u3066\u305d\u308c\u306b\u30c4\u30c3\u30b3\u30df\u3092\u5165\u308c\u3066\u3044\u304f\u3088\u3046\u306a\u5f62\u5f0f\u3067\u9032\u3093\u3067\u3044\u304d\u307e\u3059\uff0e\n\u6700\u8fd1\u306f\u3055\u304f\u3089\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u3055\u3093\u306b\u501f\u308a\u3066\u3044\u308b\u3055\u304f\u3089\u306eVPS\u3067\u30bb\u30eb\u30d5\u30db\u30b9\u30c8\u3057\u305f\u30d3\u30c7\u30aa\u30ab\u30f3\u30d5\u30a1\u30ec\u30f3\u30b9\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306eGal\u00e8ne\u3084Etherpad\u306a\u3069\u3092\u5229\u7528\u3057\u3066\u958b\u50ac\u3057\u3066\u3044\u307e\u3059\uff0e\n\n\n\u4eca\u56de\u306e\u4e3b\u306a\u8a71\u984c\u3067\u3059\uff0e\n\n\n\n\n\u300cGlance\u3067\u500b\u4eba\u5411\u3051\u30dd\u30fc\u30bf\u30eb\u30b5\u30a4\u30c8\u300d https://codeberg.org/matoken/kagolug-2025.02/src/branch/main/slide/slide.adoc\n\n\n\u300cGNU Parallel \u3092\u89e6\u308c\u3066\u307f\u308b\u300d https://blog.yamano.dev/posts/3fa121b4c7a971aacf564509a1077fb7/\n\n\n\u300c\u307e\u305a\u306f\u3001povo2.0\u3068Android\u7aef\u672b\u3067\u5b9a\u70b9\u76e3\u8996\u30ab\u30e1\u30e9\u300d\n\n\n\u300cFOSDEM 2025\u306e\u516c\u958b\u8cc7\u6599\u3092\u898b\u308b\u300d https://fosdem.org/2025/\n\n\n\n\n\u81ea\u5206\u306f\u6614\u3042\u3063\u305fiGoogle\u3092\u601d\u3044\u51fa\u3059\u500b\u4eba\u5411\u3051\u30bb\u30eb\u30d5\u30db\u30b9\u30c8\u30dd\u30fc\u30bf\u30eb\u306eGlance\u306e\u7d39\u4ecb\u3092\u3057\u307e\u3057\u305f\uff0e\n\n\n\nhttps://codeberg.org/matoken/kagolug-2025.02/src/branch/main/slide/slide.adoc\n\n\n\u6b21\u56de\u306e\u958b\u50ac\u306f2025-03-16(\u65e5)\u306e\u4e88\u5b9a\u3067\u3059\uff0e\n\n\n\n\n\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a 2025.03(\u30aa\u30f3\u30e9\u30a4\u30f3\u958b\u50ac) – connpass", "date_published": "2025-02-28T23:09:51+09:00", "date_modified": "2025-02-28T23:10:45+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "kagolug", "Linux", "linuxusersgroup", "meetup", "VideoMeeting", "\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a", "\u52c9\u5f37\u4f1a" ] }, { "id": "https://matoken.org/blog/?p=3809", "url": "https://matoken.org/blog/2023/01/10/try-tilck-apps/", "title": "\u5c0f\u3055\u306aLinux\u4e92\u63db\u30ab\u30fc\u30cd\u30eb\u306eTilck\u3067\u30a2\u30d7\u30ea\u3092\u3044\u304f\u3064\u304b\u8a66\u3059", "content_html": "
\n
\n
\n

\u5c0f\u3055\u306aLinux\u4e92\u63db\u30ab\u30fc\u30cd\u30eb\u306eTilck\u3068\u3044\u3046\u3082\u306e\u3092\u77e5\u3063\u305f\u306e\u3067\u5c11\u3057\u89e6\u3063\u3066\u307f\u307e\u3057\u305f\uff0e\u305d\u306e\u5f8cWiki\u3092\u898b\u306a\u304c\u3089build_toolchain script \u3092\u5229\u7528\u3057\u3066\u3044\u304f\u3064\u304b\u306e\u30e6\u30fc\u30b6\u30b9\u30da\u30fc\u30b9\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

\n
\n\n

\n
\n
\n
\n

fbDOOM

\n
\n
\n

\u307e\u305a\u306f\u697d\u3057\u3052\u306afbDOOM\u3092\u5c0e\u5165

\n
\n
\n
fbDOOM
\n
\n
$ ./scripts/build_toolchain -s build_fbdoom\n$ ./scripts/cmake_run -DEXTRA_FBDOOM=1\n$ make rem
\n
\n
\n
\n

\u30de\u30a6\u30b9\u30c7\u30d0\u30a4\u30b9\u304c\u306a\u3044\u306e\u3067\u30ad\u30fc\u30dc\u30fc\u30c9\u3067\u306e\u64cd\u4f5c\u306e\u307f\u3067\u3059\u304c\u305d\u3053\u305d\u3053\u904a\u3079\u307e\u3059\uff0e

\n
\n
\n

\"tilck

\n
\n
\n
\n
\n

FrameBuffer

\n
\n
\n

\u6b21\u306fFrameBuffer\u306e\u30a2\u30d7\u30ea\u3092

\n
\n
\n
framebuffer
\n
\n
./scripts/build_toolchain -s build_tfblib\n$ ./scripts/cmake_run -DEXTRA_FBDOOM=1\n$ make rem
\n
\n
\n
\n

\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u304c\u4f7f\u3048\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\uff0e

\n
\n
\n
\n
fb_drawing      fb_keyinput     fb_text         fbtest\nfb_hello_world  fb_tetris
\n
\n
\n
\n

\u30de\u30f3\u30c7\u30eb\u30d6\u30ed\u96c6\u5408\u3044\u3044\u3067\u3059\u3088\u306d\uff0efb_drawing \u306e\u4e2d\u306b\u6709\u308a\u307e\u3059\uff0e

\n
\n
\n

\"tilck

\n
\n
\n
\n
\n

TinyCC

\n
\n
\n

TinyCC \u3082\u4f7f\u3048\u307e\u3059\uff0e

\n
\n
\n
\n
$ ./scripts/build_toolchain -s tcc\n$ ./scripts/cmake_run -DEXTRA_TCC=1\n$ make rem
\n
\n
\n
\n

\u305f\u3060\u3057\uff0c\u73fe\u6642\u70b9\u3067\u306f\u9759\u7684\u30ea\u30f3\u30af\u304c\u5fc5\u9808\u3067\u3059\uff0e

\n
\n
\n
\n
root@tilck:/# cat lib/tcc-examples/ex1.c\n#!/usr/local/bin/tcc -run\n#include <tcclib.h>\n\nint main()\n{\n    printf(\"Hello World\\n\");\n    return 0;\n}\nroot@tilck:/# tcc lib/tcc-examples/ex1.c -o ex1\nroot@tilck:/# ./ex1\nKilled\nroot@tilck:/# tcc -static lib/tcc-examples/ex1.c -o ex1\nroot@tilck:/# ./ex1\nHello World
\n
\n
\n
\n\n\n\n\n\n\n\n
\n
Tip
\n
\n
\n

\u3053\u3046\u3044\u3046\u64cd\u4f5c\u6642\u306fqemu\u306eGUI\u30b3\u30f3\u30bd\u30fc\u30eb\u3061\u3087\u3063\u3068\u4f7f\u3044\u3065\u3089\u3044\u306e\u3067 -serial stdio \u3092\u4ed8\u3051\u3066\u30db\u30b9\u30c8\u30de\u30b7\u30f3\u3067\u64cd\u4f5c\u3059\u308b\u3068\u4fbf\u5229\u3067\u3059\uff0e

\n
\n
\n
\n
$ qemu-system-i386 -rtc base=localtime -device sb16 -drive id=img1,format=raw,if=none,file=/home/matoken/src/tilck/build/tilck.img -device ide-hd,drive=img1,cyls=74,heads=16,secs=63 -serial stdio
\n
\n
\n
\n
\n
\n

\u4ed6\u306b\u3082\u3044\u304f\u3064\u304b\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u52d5\u304d\u307e\u3059\uff0eWIki\u3092\u30c1\u30a7\u30c3\u30af\u3057\u3066\u307f\u307e\u3057\u3087\u3046\uff0e
\nbuild_toolchain script \u306b\u8272\u3005\u52a0\u3048\u308b\u3068\u697d\u3057\u305d\u3046\u3067\u3059\uff0e

\n
\n
\n
\u74b0\u5883
\n
\n
[    0.111] Hello from Tilck 0.1.4, commit: 5835b80f\n[    0.111] Build type: Debug, compiler: gcc 8.4.0\n[    0.115] timer_hz: 250; time_slice: 40 ms; in_hypervisor: yes\n\n                    \u2592\u2592\u2592\u2592\u2592\u2592\u2592\u2592\u2510 \u2592\u2592\u2510 \u2592\u2592\u2510       \u2592\u2592\u2592\u2592\u2592\u2592\u2510 \u2592\u2592\u2510  \u2592\u2592\u2510\n                    \u2514\u2500\u2500\u2592\u2592\u250c\u2500\u2500\u2518 \u2592\u2592\u2502 \u2592\u2592\u2502      \u2592\u2592\u250c\u2500\u2500\u2500\u2500\u2518 \u2592\u2592\u2502 \u2592\u2592\u250c\u2518\n                       \u2592\u2592\u2502    \u2592\u2592\u2502 \u2592\u2592\u2502      \u2592\u2592\u2502      \u2592\u2592\u2592\u2592\u2592\u250c\u2518\n                       \u2592\u2592\u2502    \u2592\u2592\u2502 \u2592\u2592\u2502      \u2592\u2592\u2502      \u2592\u2592\u250c\u2500\u2592\u2592\u2510\n                       \u2592\u2592\u2502    \u2592\u2592\u2502 \u2592\u2592\u2592\u2592\u2592\u2592\u2592\u2510 \u2514\u2592\u2592\u2592\u2592\u2592\u2592\u2510 \u2592\u2592\u2502  \u2592\u2592\u2510\n                       \u2514\u2500\u2518    \u2514\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2518  \u2514\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2518  \u2514\u2500\u2518\n\n$ dpkg-query -W qemu-system-x86\nqemu-system-x86 1:7.2+dfsg-1+b2\n$ lsb_release -a\nNo LSB modules are available.\nDistributor ID: Debian\nDescription:    Debian GNU/Linux bookworm/sid\nRelease:        n/a\nCodename:       bookworm\n$ arch\nx86_64
\n
\n
\n
\n
\n", "content_text": "\u5c0f\u3055\u306aLinux\u4e92\u63db\u30ab\u30fc\u30cd\u30eb\u306eTilck\u3068\u3044\u3046\u3082\u306e\u3092\u77e5\u3063\u305f\u306e\u3067\u5c11\u3057\u89e6\u3063\u3066\u307f\u307e\u3057\u305f\uff0e\u305d\u306e\u5f8cWiki\u3092\u898b\u306a\u304c\u3089build_toolchain script \u3092\u5229\u7528\u3057\u3066\u3044\u304f\u3064\u304b\u306e\u30e6\u30fc\u30b6\u30b9\u30da\u30fc\u30b9\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\n\n\nvvaltchev/tilck: A Tiny Linux-Compatible Kernel\n\u5c0f\u3055\u306aLinux\u4e92\u63db\u30ab\u30fc\u30cd\u30eb\u306eTilck\u3092\u5c11\u3057\u8a66\u3059 \u2013 matoken\u2019s meme\nHome \u00b7 vvaltchev/tilck Wiki\n\n\n\n\n\n\nfbDOOM\n\n\n\u307e\u305a\u306f\u697d\u3057\u3052\u306afbDOOM\u3092\u5c0e\u5165\n\n\nfbDOOM\n\n$ ./scripts/build_toolchain -s build_fbdoom\n$ ./scripts/cmake_run -DEXTRA_FBDOOM=1\n$ make rem\n\n\n\n\u30de\u30a6\u30b9\u30c7\u30d0\u30a4\u30b9\u304c\u306a\u3044\u306e\u3067\u30ad\u30fc\u30dc\u30fc\u30c9\u3067\u306e\u64cd\u4f5c\u306e\u307f\u3067\u3059\u304c\u305d\u3053\u305d\u3053\u904a\u3079\u307e\u3059\uff0e\n\n\n\n\n\n\n\nFrameBuffer\n\n\n\u6b21\u306fFrameBuffer\u306e\u30a2\u30d7\u30ea\u3092\n\n\nframebuffer\n\n./scripts/build_toolchain -s build_tfblib\n$ ./scripts/cmake_run -DEXTRA_FBDOOM=1\n$ make rem\n\n\n\n\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u304c\u4f7f\u3048\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\uff0e\n\n\n\nfb_drawing fb_keyinput fb_text fbtest\nfb_hello_world fb_tetris\n\n\n\n\u30de\u30f3\u30c7\u30eb\u30d6\u30ed\u96c6\u5408\u3044\u3044\u3067\u3059\u3088\u306d\uff0efb_drawing \u306e\u4e2d\u306b\u6709\u308a\u307e\u3059\uff0e\n\n\n\n\n\n\n\nTinyCC\n\n\nTinyCC \u3082\u4f7f\u3048\u307e\u3059\uff0e\n\n\n\n$ ./scripts/build_toolchain -s tcc\n$ ./scripts/cmake_run -DEXTRA_TCC=1\n$ make rem\n\n\n\n\u305f\u3060\u3057\uff0c\u73fe\u6642\u70b9\u3067\u306f\u9759\u7684\u30ea\u30f3\u30af\u304c\u5fc5\u9808\u3067\u3059\uff0e\n\n\n\nroot@tilck:/# cat lib/tcc-examples/ex1.c\n#!/usr/local/bin/tcc -run\n#include <tcclib.h>\n\nint main()\n{\n printf(\"Hello World\\n\");\n return 0;\n}\nroot@tilck:/# tcc lib/tcc-examples/ex1.c -o ex1\nroot@tilck:/# ./ex1\nKilled\nroot@tilck:/# tcc -static lib/tcc-examples/ex1.c -o ex1\nroot@tilck:/# ./ex1\nHello World\n\n\n\n\n\n\n\nTip\n\n\n\n\u3053\u3046\u3044\u3046\u64cd\u4f5c\u6642\u306fqemu\u306eGUI\u30b3\u30f3\u30bd\u30fc\u30eb\u3061\u3087\u3063\u3068\u4f7f\u3044\u3065\u3089\u3044\u306e\u3067 -serial stdio \u3092\u4ed8\u3051\u3066\u30db\u30b9\u30c8\u30de\u30b7\u30f3\u3067\u64cd\u4f5c\u3059\u308b\u3068\u4fbf\u5229\u3067\u3059\uff0e\n\n\n\n$ qemu-system-i386 -rtc base=localtime -device sb16 -drive id=img1,format=raw,if=none,file=/home/matoken/src/tilck/build/tilck.img -device ide-hd,drive=img1,cyls=74,heads=16,secs=63 -serial stdio\n\n\n\n\n\n\n\n\n\u4ed6\u306b\u3082\u3044\u304f\u3064\u304b\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u52d5\u304d\u307e\u3059\uff0eWIki\u3092\u30c1\u30a7\u30c3\u30af\u3057\u3066\u307f\u307e\u3057\u3087\u3046\uff0e\nbuild_toolchain script \u306b\u8272\u3005\u52a0\u3048\u308b\u3068\u697d\u3057\u305d\u3046\u3067\u3059\uff0e\n\n\n\u74b0\u5883\n\n[ 0.111] Hello from Tilck 0.1.4, commit: 5835b80f\n[ 0.111] Build type: Debug, compiler: gcc 8.4.0\n[ 0.115] timer_hz: 250; time_slice: 40 ms; in_hypervisor: yes\n\n \u2592\u2592\u2592\u2592\u2592\u2592\u2592\u2592\u2510 \u2592\u2592\u2510 \u2592\u2592\u2510 \u2592\u2592\u2592\u2592\u2592\u2592\u2510 \u2592\u2592\u2510 \u2592\u2592\u2510\n \u2514\u2500\u2500\u2592\u2592\u250c\u2500\u2500\u2518 \u2592\u2592\u2502 \u2592\u2592\u2502 \u2592\u2592\u250c\u2500\u2500\u2500\u2500\u2518 \u2592\u2592\u2502 \u2592\u2592\u250c\u2518\n \u2592\u2592\u2502 \u2592\u2592\u2502 \u2592\u2592\u2502 \u2592\u2592\u2502 \u2592\u2592\u2592\u2592\u2592\u250c\u2518\n \u2592\u2592\u2502 \u2592\u2592\u2502 \u2592\u2592\u2502 \u2592\u2592\u2502 \u2592\u2592\u250c\u2500\u2592\u2592\u2510\n \u2592\u2592\u2502 \u2592\u2592\u2502 \u2592\u2592\u2592\u2592\u2592\u2592\u2592\u2510 \u2514\u2592\u2592\u2592\u2592\u2592\u2592\u2510 \u2592\u2592\u2502 \u2592\u2592\u2510\n \u2514\u2500\u2518 \u2514\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2518 \u2514\u2500\u2518\n\n$ dpkg-query -W qemu-system-x86\nqemu-system-x86 1:7.2+dfsg-1+b2\n$ lsb_release -a\nNo LSB modules are available.\nDistributor ID: Debian\nDescription: Debian GNU/Linux bookworm/sid\nRelease: n/a\nCodename: bookworm\n$ arch\nx86_64", "date_published": "2023-01-10T19:35:54+09:00", "date_modified": "2023-01-10T19:35:55+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "include", "kernel", "Linux", "Tilck", "bookworm", "Debian" ] }, { "id": "https://matoken.org/blog/?p=3807", "url": "https://matoken.org/blog/2023/01/10/try-tilck/", "title": "\u5c0f\u3055\u306aLinux\u4e92\u63db\u30ab\u30fc\u30cd\u30eb\u306eTilck\u3092\u5c11\u3057\u8a66\u3059", "content_html": "
\n

\u5c0f\u3055\u306aLinux\u4e92\u63db\u30ab\u30fc\u30cd\u30eb\u306eTilck\u3068\u3044\u3046\u3082\u306e\u3092\u77e5\u3063\u305f\u306e\u3067\u5c11\u3057\u89e6\u3063\u3066\u307f\u307e\u3057\u305f\uff0e

\n
\n
\n\n
\n

\n
\n

\u5bfe\u5fdc\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306fx86 32bit\u3067\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3057\u3066build, Qemu \u3067\u306e\u5b9f\u884c\u304c\u53ef\u80fd\u3067\u3059\uff0e

\n
\n
\n
build & run
\n
\n
$ git clone https://github.com/vvaltchev/tilck\n$ cd tilck\n$ ./scripts/build_toolchain (1)\n$ make (2)\n$ ls -l build/tilck.img (3)\n-rw-r--r-- 1 matoken matoken 37748736  1\u6708  8 23:25 build/tilck.img\n$ sg kvm -c ./build/run_qemu (4)
\n
\n
\n
\n
    \n
  1. \u30c4\u30fc\u30eb\u30c1\u30a7\u30a4\u30f3\u306e\u5c0e\u5165
  2. \n
  3. build
  4. \n
  5. \u30a4\u30e1\u30fc\u30b8\u306e\u78ba\u8a8d
  6. \n
  7. Qemu\u3067\u8d77\u52d5
  8. \n
\n
\n
\n
Tilck\u30d6\u30fc\u30c8\u30ed\u30fc\u30c0\u30fc\uff0c<b> \u3067\u8d77\u52d5
\n

\"tilck01\"/

\n
\n
\n
\u4e00\u77ac\u3067\u8d77\u52d5
\n

\"tilck02\"/

\n
\n
\n
\u305f\u307e\u306bKernel Panick><
\n

\"tilck03\"/

\n
\n
\n
Tilck \u3092 Qemu \u3067\u8d77\u52d5(\u52d5\u753b)
\n\n
\n
\n

wiki\u3092\u898b\u308b\u3068\u3044\u304f\u3064\u304b\u306e\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u8ffd\u52a0\u3057\u3066\u904a\u3093\u3060\u308a\u3082\u3067\u304d\u308b\u3088\u3046\u3067\u3059\uff0e

\n
\n
\n\n\n\n\n\n\n\n
\n
Note
\n
\n
\n
fbDOOM\u306e\u4f8b
\n
\n
$ ./scripts/build_toolchain -s build_fbdoom\n$ ./scripts/cmake_run -DEXTRA_FBDOOM=1\n$ make rem
\n
\n
\n
\n
\n
\n

Tilck \u306f\u5b66\u7fd2\u5411\u3051\u3068\u306a\u3063\u3066\u3044\u307e\u3059\u304c\uff0c\u7528\u9014\u306b\u3088\u3063\u3066\u306f\u5b9f\u7528\u306b\u3082\u4f7f\u3048\u305d\u3046\u3067\u3059\uff0e
\nFrameBuffer\u3082\u52d5\u3044\u3066\u3044\u308b\u306e\u3067\u65e5\u672c\u8a9e\u8868\u793a\uff0c\u5165\u529b\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u3068\u4fbf\u5229\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e

\n
\n
\n
\u74b0\u5883
\n
\n
[    0.111] Hello from Tilck 0.1.4, commit: 5835b80f\n[    0.111] Build type: Debug, compiler: gcc 8.4.0\n[    0.115] timer_hz: 250; time_slice: 40 ms; in_hypervisor: yes\n\n                    \u2592\u2592\u2592\u2592\u2592\u2592\u2592\u2592\u2510 \u2592\u2592\u2510 \u2592\u2592\u2510       \u2592\u2592\u2592\u2592\u2592\u2592\u2510 \u2592\u2592\u2510  \u2592\u2592\u2510\n                    \u2514\u2500\u2500\u2592\u2592\u250c\u2500\u2500\u2518 \u2592\u2592\u2502 \u2592\u2592\u2502      \u2592\u2592\u250c\u2500\u2500\u2500\u2500\u2518 \u2592\u2592\u2502 \u2592\u2592\u250c\u2518\n                       \u2592\u2592\u2502    \u2592\u2592\u2502 \u2592\u2592\u2502      \u2592\u2592\u2502      \u2592\u2592\u2592\u2592\u2592\u250c\u2518\n                       \u2592\u2592\u2502    \u2592\u2592\u2502 \u2592\u2592\u2502      \u2592\u2592\u2502      \u2592\u2592\u250c\u2500\u2592\u2592\u2510\n                       \u2592\u2592\u2502    \u2592\u2592\u2502 \u2592\u2592\u2592\u2592\u2592\u2592\u2592\u2510 \u2514\u2592\u2592\u2592\u2592\u2592\u2592\u2510 \u2592\u2592\u2502  \u2592\u2592\u2510\n                       \u2514\u2500\u2518    \u2514\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2518  \u2514\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2518  \u2514\u2500\u2518\n\n$ dpkg-query -W qemu-system-x86\nqemu-system-x86 1:7.2+dfsg-1+b2\n$ lsb_release -a\nNo LSB modules are available.\nDistributor ID: Debian\nDescription:    Debian GNU/Linux bookworm/sid\nRelease:        n/a\nCodename:       bookworm\n$ arch\nx86_64
\n
\n
\n", "content_text": "\u5c0f\u3055\u306aLinux\u4e92\u63db\u30ab\u30fc\u30cd\u30eb\u306eTilck\u3068\u3044\u3046\u3082\u306e\u3092\u77e5\u3063\u305f\u306e\u3067\u5c11\u3057\u89e6\u3063\u3066\u307f\u307e\u3057\u305f\uff0e\n\n\n\nvvaltchev/tilck: A Tiny Linux-Compatible Kernel\n\n\n\n\n\u5bfe\u5fdc\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306fx86 32bit\u3067\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3057\u3066build, Qemu \u3067\u306e\u5b9f\u884c\u304c\u53ef\u80fd\u3067\u3059\uff0e\n\n\nbuild & run\n\n$ git clone https://github.com/vvaltchev/tilck\n$ cd tilck\n$ ./scripts/build_toolchain (1)\n$ make (2)\n$ ls -l build/tilck.img (3)\n-rw-r--r-- 1 matoken matoken 37748736 1\u6708 8 23:25 build/tilck.img\n$ sg kvm -c ./build/run_qemu (4)\n\n\n\n\n\u30c4\u30fc\u30eb\u30c1\u30a7\u30a4\u30f3\u306e\u5c0e\u5165\nbuild\n\u30a4\u30e1\u30fc\u30b8\u306e\u78ba\u8a8d\nQemu\u3067\u8d77\u52d5\n\n\n\nTilck\u30d6\u30fc\u30c8\u30ed\u30fc\u30c0\u30fc\uff0c<b> \u3067\u8d77\u52d5\n\n\n\n\u4e00\u77ac\u3067\u8d77\u52d5\n\n\n\n\u305f\u307e\u306bKernel Panick><\n\n\n\nTilck \u3092 Qemu \u3067\u8d77\u52d5(\u52d5\u753b)\n\nhttps://www.youtube.com/watch?v=QtcKJb_qIbA\nhttps://www.bitchute.com/video/qKHUizsILotA/\n\n\n\nwiki\u3092\u898b\u308b\u3068\u3044\u304f\u3064\u304b\u306e\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u8ffd\u52a0\u3057\u3066\u904a\u3093\u3060\u308a\u3082\u3067\u304d\u308b\u3088\u3046\u3067\u3059\uff0e\n\n\n\n\n\n\nNote\n\n\n\nfbDOOM\u306e\u4f8b\n\n$ ./scripts/build_toolchain -s build_fbdoom\n$ ./scripts/cmake_run -DEXTRA_FBDOOM=1\n$ make rem\n\n\n\n\n\n\n\n\nTilck \u306f\u5b66\u7fd2\u5411\u3051\u3068\u306a\u3063\u3066\u3044\u307e\u3059\u304c\uff0c\u7528\u9014\u306b\u3088\u3063\u3066\u306f\u5b9f\u7528\u306b\u3082\u4f7f\u3048\u305d\u3046\u3067\u3059\uff0e\nFrameBuffer\u3082\u52d5\u3044\u3066\u3044\u308b\u306e\u3067\u65e5\u672c\u8a9e\u8868\u793a\uff0c\u5165\u529b\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u3068\u4fbf\u5229\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e\n\n\n\u74b0\u5883\n\n[ 0.111] Hello from Tilck 0.1.4, commit: 5835b80f\n[ 0.111] Build type: Debug, compiler: gcc 8.4.0\n[ 0.115] timer_hz: 250; time_slice: 40 ms; in_hypervisor: yes\n\n \u2592\u2592\u2592\u2592\u2592\u2592\u2592\u2592\u2510 \u2592\u2592\u2510 \u2592\u2592\u2510 \u2592\u2592\u2592\u2592\u2592\u2592\u2510 \u2592\u2592\u2510 \u2592\u2592\u2510\n \u2514\u2500\u2500\u2592\u2592\u250c\u2500\u2500\u2518 \u2592\u2592\u2502 \u2592\u2592\u2502 \u2592\u2592\u250c\u2500\u2500\u2500\u2500\u2518 \u2592\u2592\u2502 \u2592\u2592\u250c\u2518\n \u2592\u2592\u2502 \u2592\u2592\u2502 \u2592\u2592\u2502 \u2592\u2592\u2502 \u2592\u2592\u2592\u2592\u2592\u250c\u2518\n \u2592\u2592\u2502 \u2592\u2592\u2502 \u2592\u2592\u2502 \u2592\u2592\u2502 \u2592\u2592\u250c\u2500\u2592\u2592\u2510\n \u2592\u2592\u2502 \u2592\u2592\u2502 \u2592\u2592\u2592\u2592\u2592\u2592\u2592\u2510 \u2514\u2592\u2592\u2592\u2592\u2592\u2592\u2510 \u2592\u2592\u2502 \u2592\u2592\u2510\n \u2514\u2500\u2518 \u2514\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2518 \u2514\u2500\u2518\n\n$ dpkg-query -W qemu-system-x86\nqemu-system-x86 1:7.2+dfsg-1+b2\n$ lsb_release -a\nNo LSB modules are available.\nDistributor ID: Debian\nDescription: Debian GNU/Linux bookworm/sid\nRelease: n/a\nCodename: bookworm\n$ arch\nx86_64", "date_published": "2023-01-10T00:21:56+09:00", "date_modified": "2023-01-10T00:21:57+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "kernel", "Linux", "Tilck", "bookworm", "Debian" ] }, { "id": "http://matoken.org/blog/?p=3459", "url": "https://matoken.org/blog/2022/03/02/check-the-command-package-at-command-not-found-com/", "title": "command-not-found.com \u3067\u30b3\u30de\u30f3\u30c9\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u8abf\u3079\u308b", "content_html": "

\n

command-not-found.com \u3068\u3044\u3046site\u3092\u898b\u3064\u3051\u307e\u3057\u305f\uff0e

\n\n

\n

\u3053\u306e\u30b3\u30de\u30f3\u30c9\u306f\u4f55\u3068\u3044\u3046\u30d1\u30c3\u30b1\u30fc\u30b8\u306b\u542b\u307e\u308c\u3066\u3044\u308b\u3093\u3060\u308d\u3046\u3068\u3044\u3046\u3068\u304d\u306b\u5404\u7a2e\u30c7\u30a3\u30b9\u30c8\u30ea\u30d3\u30e5\u30fc\u30b7\u30e7\u30f3\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u60c5\u5831\u304b\u3089\u6adb\u5d0e\u691c\u7d22\u3057\u3066\u3044\u308b\u3088\u3046\u3067\u4fbf\u5229\u305d\u3046\u3067\u3059\uff0e

\n

Debian\u306a\u3093\u304b\u3060\u3068\uff0c apt-file search $COMMAND \u3068\u304b\u3057\u3066\u63a2\u3057\u3066\u3044\u307e\u3059\uff0e\u5f53\u305f\u308a\u524d\u3067\u3059\u304c\uff0c\u81ea\u5206\u306e\u74b0\u5883\u306e\u60c5\u5831\u3060\u3051\u3057\u304b\u78ba\u8a8d\u3067\u304d\u307e\u305b\u3093\uff0e

\n\n\n\n\n\n\n
\n
$ apt-file search -x bin/ab$\napache2-utils: /usr/bin/ab
\n
\n

command-not-found.com \u3060\u3068\u4ee5\u4e0b\u306e\u74b0\u5883\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u60c5\u5831\u304c\u78ba\u8a8d\u3067\u304d\u308b\u3088\u3046\u3067\u3059\uff0e

\n\n

\u4e00\u7dd2\u306b\u30b3\u30de\u30f3\u30c9\u306e\u4f7f\u3044\u65b9\u3082\u8868\u793a\u3055\u308c\u3066\u4fbf\u5229\u3067\u3059\uff0e

\n

\u30c7\u30a3\u30b9\u30c8\u30ea\u30d3\u30e5\u30fc\u30b7\u30e7\u30f3\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306a\u3069\u306f\u8b0e\u3067\u3059\u304c\uff0cRaspbian\u3068\u3044\u3046\u30c7\u30a3\u30b9\u30c8\u30ea\u30d3\u30e5\u30fc\u30b7\u30e7\u30f3\u540d\u306a\u3069\u3092\u898b\u308b\u306b\u5c11\u3057\u53e4\u3081\u306a\u306e\u304b\u306a?

\n

\"command-not-found.com.jpg\"

\n", "content_text": "command-not-found.com \u3068\u3044\u3046site\u3092\u898b\u3064\u3051\u307e\u3057\u305f\uff0e\n\n\ncommand-not-found.com\n\n\n\u3053\u306e\u30b3\u30de\u30f3\u30c9\u306f\u4f55\u3068\u3044\u3046\u30d1\u30c3\u30b1\u30fc\u30b8\u306b\u542b\u307e\u308c\u3066\u3044\u308b\u3093\u3060\u308d\u3046\u3068\u3044\u3046\u3068\u304d\u306b\u5404\u7a2e\u30c7\u30a3\u30b9\u30c8\u30ea\u30d3\u30e5\u30fc\u30b7\u30e7\u30f3\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u60c5\u5831\u304b\u3089\u6adb\u5d0e\u691c\u7d22\u3057\u3066\u3044\u308b\u3088\u3046\u3067\u4fbf\u5229\u305d\u3046\u3067\u3059\uff0e\nDebian\u306a\u3093\u304b\u3060\u3068\uff0c apt-file search $COMMAND \u3068\u304b\u3057\u3066\u63a2\u3057\u3066\u3044\u307e\u3059\uff0e\u5f53\u305f\u308a\u524d\u3067\u3059\u304c\uff0c\u81ea\u5206\u306e\u74b0\u5883\u306e\u60c5\u5831\u3060\u3051\u3057\u304b\u78ba\u8a8d\u3067\u304d\u307e\u305b\u3093\uff0e\n\n\n\n\n$ apt-file search -x bin/ab$\napache2-utils: /usr/bin/ab\n\n\n\n\ncommand-not-found.com \u3060\u3068\u4ee5\u4e0b\u306e\u74b0\u5883\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u60c5\u5831\u304c\u78ba\u8a8d\u3067\u304d\u308b\u3088\u3046\u3067\u3059\uff0e\n\n\nDebian\n\nUbuntu\n\nAlpine\n\nArch Linux\n\nKile Linux\n\nCentOS\n\nFedora\n\nRaspbian\n\nDocker\n\n\u4e00\u7dd2\u306b\u30b3\u30de\u30f3\u30c9\u306e\u4f7f\u3044\u65b9\u3082\u8868\u793a\u3055\u308c\u3066\u4fbf\u5229\u3067\u3059\uff0e\n\u30c7\u30a3\u30b9\u30c8\u30ea\u30d3\u30e5\u30fc\u30b7\u30e7\u30f3\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306a\u3069\u306f\u8b0e\u3067\u3059\u304c\uff0cRaspbian\u3068\u3044\u3046\u30c7\u30a3\u30b9\u30c8\u30ea\u30d3\u30e5\u30fc\u30b7\u30e7\u30f3\u540d\u306a\u3069\u3092\u898b\u308b\u306b\u5c11\u3057\u53e4\u3081\u306a\u306e\u304b\u306a?", "date_published": "2022-03-02T23:25:28+09:00", "date_modified": "2022-03-02T23:26:38+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "Linux", "package" ] }, { "id": "http://matoken.org/blog/?p=3310", "url": "https://matoken.org/blog/2021/07/17/linux-ram-limit/", "title": "Linux\u306eRAM\u3092\u5236\u9650\u3059\u308b\u30e1\u30e2", "content_html": "
\n

Linux\u3067RAM\u306e\u5c11\u306a\u3044\u72b6\u614b\u306e\u30c6\u30b9\u30c8\u3092\u3057\u305f\u3044\u306a\u3068\u601d\u3063\u3066\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u30e1\u30e2\u30ea\u5236\u9650\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u3064\u3051\u3066\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

\n
\n
\n
\n
\n

\u7269\u7406RAM\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u5236\u9650\u3057\u305f\u3044\u5bb9\u91cf\u306b\u523a\u3057\u76f4\u3059\u3053\u3068\u304c\u3067\u304d\u308c\u3070\u3044\u3044\u306e\u3067\u3059\u304c\uff0c\u90fd\u5408\u306e\u826f\u3044\u30b5\u30a4\u30ba\u306eRAM\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u3042\u308b\u3068\u306f\u9650\u308a\u307e\u305b\u3093\uff0eLinux\u306e\u8d77\u52d5\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u5236\u9650\u3067\u304d\u305d\u3046\u3060\u3063\u305f\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

\n
\n
\n

Linux\u30de\u30b7\u30f3\u3092\u8d77\u52d5\u3057\u3066\uff0cGRUB\u306e\u30e1\u30cb\u30e5\u30fc\u3067\u7de8\u96c6\u3057\u305f\u3044\u30a8\u30f3\u30c8\u30ea\u3092\u77e2\u5370\u4e0a\u4e0b\u30ad\u30fc\u3067\u9078\u629e\u3057\u3066\uff0c e \u30dc\u30bf\u30f3\u3092\u62bc\u3057\u3066\u7de8\u96c6\u30e1\u30cb\u30e5\u30fc\u306b\u5165\u308a\u307e\u3059\uff0e
\nlinux /vmlinuz\u301c \u3068\u3044\u3063\u305f\u884c\u306b\u79fb\u52d5\u3057\u3066\u672b\u5c3e\u306b\u8ffd\u52a0\u306e\u8d77\u52d5\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u8ffd\u8a18\u3057\u307e\u3059\uff0e\u4eca\u56de\u306f\u30e1\u30e2\u30ea\u30922GB\u306b\u5236\u9650\u3057\u305f\u3044\u306e\u3067\uff0c mem=2048m \u3092\u6307\u5b9a\u3057\u307e\u3059\uff0e(\u5b9f\u30e1\u30e2\u30ea\u4ee5\u4e0a\u306b\u3082\u8a2d\u5b9a\u3067\u304d\u308b\u3088\u3046\u3067\u3059\u304c\u305d\u3053\u3092\u4f7f\u304a\u3046\u3068\u3057\u305f\u3068\u304d\u306b\u30af\u30e9\u30c3\u30b7\u30e5\u3057\u305d\u3046\u3067\u3059\u306d)

\n
\n
\n
\n
\u65e7
\n
linux /vmlinuz-5.13.2-mptcp+le9 root=/dev/mapper/yoga\u2014\u200b260\u2014\u200bvg-root ro
\n
\u65b0
\n
linux /vmlinuz-5.13.2-mptcp+le9 root=/dev/mapper/yoga\u2014\u200b260\u2014\u200bvg-root ro mem=2048m
\n
\n
\n
\n

Ctrl + x \u3092\u62bc\u3057\u3066\u3053\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u8d77\u52d5\u3057\u307e\u3059\uff0e

\n
\n
\n

\u8d77\u52d5\u3057\u305f\u3089\u78ba\u8a8d\u3057\u3066\u307f\u307e\u3059\uff0e

\n
\n
\n
\n
$ cat /proc/cmdline (1)\nBOOT_IMAGE=/vmlinuz-5.13.2-mptcp+le9 root=/dev/mapper/yoga--260--vg-root ro mem=2048m\n$ head -1 /proc/meminfo (2)\nMemTotal:        2032968 kB\n$ free (3)\n               total        used        free      shared  buff/cache   available\nMem:         2032968     1575032       70032      161360      387904      139588\nSwap:              0           0           0
\n
\n
\n
\n
    \n
  1. \u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u78ba\u8a8d
  2. \n
  3. \u30e1\u30e2\u30ea\u306e\u78ba\u8a8d
  4. \n
  5. \u30e1\u30e2\u30ea\u306e\u78ba\u8a8d
  6. \n
\n
\n
\n

2GB\u306b\u5236\u9650\u3067\u304d\u305f\u3088\u3046\u3067\u3059 :)

\n
\n
\n

\u8a73\u7d30\u306fKernel\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092

\n
\n
\n
linux-5.13/Documentation/admin-guide/kernel-parameters.txt
\n
\n
        mem=nn[KMG]     [KNL,BOOT] Force usage of a specific amount of memory\n                        Amount of memory to be used in cases as follows:\n\n                        1 for test;\n                        2 when the kernel is not able to see the whole system memory;\n                        3 memory that lies after 'mem=' boundary is excluded from\n                         the hypervisor, then assigned to KVM guests.\n\n                        [X86] Work as limiting max address. Use together\n                        with memmap= to avoid physical address space collisions.\n                        Without memmap= PCI devices could be placed at addresses\n                        belonging to unused RAM.\n\n                        Note that this only takes effects during boot time since\n                        in above case 3, memory may need be hot added after boot\n                        if system memory of hypervisor is not sufficient.
\n
\n
\n
\n

\u4eca\u56de\u306e\u624b\u9806\u306f\u30a2\u30c9\u30db\u30c3\u30af\u306a\u624b\u9806\u3067\u518d\u8d77\u52d5\u3059\u308c\u3070\u5143\u306b\u623b\u3063\u3066\u3057\u307e\u3044\u307e\u3059\uff0e\u3082\u3057\u6c38\u7d9a\u5316\u3057\u305f\u3044\u306e\u3067\u3042\u308c\u3070\uff0c grub.cfg \u3092\u66f8\u304d\u63db\u3048\u308c\u3070OK\u306a\u306f\u305a\u3067\u3059\uff0e\u4eca\u56de\u306eDebian Bullseye \u306e\u5834\u5408\u306f\uff0c /etc/grub.d/10_linux \u3092\u7de8\u96c6\u3057\u3066 sudo update-grub2 \u306e\u5b9f\u884c\u3067 /boot/grub/grub.cfg \u304c\u66f4\u65b0\u3055\u308c\u307e\u3059\uff0e

\n
\n
\n
\u74b0\u5883
\n
\n
$ dpkg-query -W grub2* linux-image-`uname -r` procps\ngrub2\ngrub2-common    2.04-19\nlinux-image-5.13.2-mptcp+le9    5.13.2-mptcp+le9-3\nprocps  2:3.3.17-5\n$ lsb_release -dr\nDescription:    Debian GNU/Linux 11 (bullseye)\nRelease:        11\n$ arch\nx86_64
\n
\n
\n", "content_text": "Linux\u3067RAM\u306e\u5c11\u306a\u3044\u72b6\u614b\u306e\u30c6\u30b9\u30c8\u3092\u3057\u305f\u3044\u306a\u3068\u601d\u3063\u3066\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u30e1\u30e2\u30ea\u5236\u9650\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u3064\u3051\u3066\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\n\n\n\n\u7269\u7406RAM\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u5236\u9650\u3057\u305f\u3044\u5bb9\u91cf\u306b\u523a\u3057\u76f4\u3059\u3053\u3068\u304c\u3067\u304d\u308c\u3070\u3044\u3044\u306e\u3067\u3059\u304c\uff0c\u90fd\u5408\u306e\u826f\u3044\u30b5\u30a4\u30ba\u306eRAM\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u3042\u308b\u3068\u306f\u9650\u308a\u307e\u305b\u3093\uff0eLinux\u306e\u8d77\u52d5\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u5236\u9650\u3067\u304d\u305d\u3046\u3060\u3063\u305f\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\n\nLinux\u30de\u30b7\u30f3\u3092\u8d77\u52d5\u3057\u3066\uff0cGRUB\u306e\u30e1\u30cb\u30e5\u30fc\u3067\u7de8\u96c6\u3057\u305f\u3044\u30a8\u30f3\u30c8\u30ea\u3092\u77e2\u5370\u4e0a\u4e0b\u30ad\u30fc\u3067\u9078\u629e\u3057\u3066\uff0c e \u30dc\u30bf\u30f3\u3092\u62bc\u3057\u3066\u7de8\u96c6\u30e1\u30cb\u30e5\u30fc\u306b\u5165\u308a\u307e\u3059\uff0e\nlinux /vmlinuz\u301c \u3068\u3044\u3063\u305f\u884c\u306b\u79fb\u52d5\u3057\u3066\u672b\u5c3e\u306b\u8ffd\u52a0\u306e\u8d77\u52d5\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u8ffd\u8a18\u3057\u307e\u3059\uff0e\u4eca\u56de\u306f\u30e1\u30e2\u30ea\u30922GB\u306b\u5236\u9650\u3057\u305f\u3044\u306e\u3067\uff0c mem=2048m \u3092\u6307\u5b9a\u3057\u307e\u3059\uff0e(\u5b9f\u30e1\u30e2\u30ea\u4ee5\u4e0a\u306b\u3082\u8a2d\u5b9a\u3067\u304d\u308b\u3088\u3046\u3067\u3059\u304c\u305d\u3053\u3092\u4f7f\u304a\u3046\u3068\u3057\u305f\u3068\u304d\u306b\u30af\u30e9\u30c3\u30b7\u30e5\u3057\u305d\u3046\u3067\u3059\u306d)\n\n\n\n\u65e7\nlinux /vmlinuz-5.13.2-mptcp+le9 root=/dev/mapper/yoga\u2014\u200b260\u2014\u200bvg-root ro\n\u65b0\nlinux /vmlinuz-5.13.2-mptcp+le9 root=/dev/mapper/yoga\u2014\u200b260\u2014\u200bvg-root ro mem=2048m\n\n\n\nCtrl + x \u3092\u62bc\u3057\u3066\u3053\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u8d77\u52d5\u3057\u307e\u3059\uff0e\n\n\n\u8d77\u52d5\u3057\u305f\u3089\u78ba\u8a8d\u3057\u3066\u307f\u307e\u3059\uff0e\n\n\n\n$ cat /proc/cmdline (1)\nBOOT_IMAGE=/vmlinuz-5.13.2-mptcp+le9 root=/dev/mapper/yoga--260--vg-root ro mem=2048m\n$ head -1 /proc/meminfo (2)\nMemTotal: 2032968 kB\n$ free (3)\n total used free shared buff/cache available\nMem: 2032968 1575032 70032 161360 387904 139588\nSwap: 0 0 0\n\n\n\n\n\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u78ba\u8a8d\n\u30e1\u30e2\u30ea\u306e\u78ba\u8a8d\n\u30e1\u30e2\u30ea\u306e\u78ba\u8a8d\n\n\n\n2GB\u306b\u5236\u9650\u3067\u304d\u305f\u3088\u3046\u3067\u3059 :)\n\n\n\u8a73\u7d30\u306fKernel\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\n\n\nlinux-5.13/Documentation/admin-guide/kernel-parameters.txt\n\n mem=nn[KMG] [KNL,BOOT] Force usage of a specific amount of memory\n Amount of memory to be used in cases as follows:\n\n 1 for test;\n 2 when the kernel is not able to see the whole system memory;\n 3 memory that lies after 'mem=' boundary is excluded from\n the hypervisor, then assigned to KVM guests.\n\n [X86] Work as limiting max address. Use together\n with memmap= to avoid physical address space collisions.\n Without memmap= PCI devices could be placed at addresses\n belonging to unused RAM.\n\n Note that this only takes effects during boot time since\n in above case 3, memory may need be hot added after boot\n if system memory of hypervisor is not sufficient.\n\n\n\n\u4eca\u56de\u306e\u624b\u9806\u306f\u30a2\u30c9\u30db\u30c3\u30af\u306a\u624b\u9806\u3067\u518d\u8d77\u52d5\u3059\u308c\u3070\u5143\u306b\u623b\u3063\u3066\u3057\u307e\u3044\u307e\u3059\uff0e\u3082\u3057\u6c38\u7d9a\u5316\u3057\u305f\u3044\u306e\u3067\u3042\u308c\u3070\uff0c grub.cfg \u3092\u66f8\u304d\u63db\u3048\u308c\u3070OK\u306a\u306f\u305a\u3067\u3059\uff0e\u4eca\u56de\u306eDebian Bullseye \u306e\u5834\u5408\u306f\uff0c /etc/grub.d/10_linux \u3092\u7de8\u96c6\u3057\u3066 sudo update-grub2 \u306e\u5b9f\u884c\u3067 /boot/grub/grub.cfg \u304c\u66f4\u65b0\u3055\u308c\u307e\u3059\uff0e\n\n\n\u74b0\u5883\n\n$ dpkg-query -W grub2* linux-image-`uname -r` procps\ngrub2\ngrub2-common 2.04-19\nlinux-image-5.13.2-mptcp+le9 5.13.2-mptcp+le9-3\nprocps 2:3.3.17-5\n$ lsb_release -dr\nDescription: Debian GNU/Linux 11 (bullseye)\nRelease: 11\n$ arch\nx86_64", "date_published": "2021-07-17T06:25:29+09:00", "date_modified": "2021-07-17T07:12:11+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "kernel", "Linux", "memory", "bullseye", "Debian", "testing" ] }, { "id": "http://matoken.org/blog/?p=3141", "url": "https://matoken.org/blog/2021/03/25/change-the-linux-kernel-initramfs-compression-format-on-debian/", "title": "Debian \u3067 Linux Kernel \u306e initramfs \u306e\u5727\u7e2e\u5f62\u5f0f\u3092\u5909\u66f4\u3059\u308b\ud83d\udc27\ud83d\udddc\ufe0f", "content_html": "
\n
\n
\n

\u5148\u65e5\u300cDebian sid\u3067Linux Kernel(5.11)\u3092build\u3059\u308b\u30e1\u30e2 \u300d\u3092\u66f8\u3044\u305f\u306e\u3067\u3059\u304c\uff0cTwitter\u3067@henrich\u3055\u3093\u304b\u3089\u3053\u3093\u306a\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\uff0e

\n
\n

/boot\u306e\u5bb9\u91cf\u306e\u305f\u3081\u306b\u306finitramfs\u306e\u5727\u7e2e\u3092gzip\u304b\u3089xz\u3084zstd\u306b\u3059\u308b\u306e\u3082\u3042\u308a\u3067\u3059\u306d

\n

\u2014 henrich (@henrich) March 23, 2021

\n

\n
\n
\n

\u305d\u3046\u3044\u3048\u3070\u5727\u7e2e\u5f62\u5f0f\u8272\u3005\u3042\u3063\u305f\u306a\u3068\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

\n
\n
\n
\n
\n

\u73fe\u5728\u306e\u5727\u7e2e\u5f62\u5f0f\u3092\u78ba\u8a8d\u3059\u308b

\n
\n
\n
\n
$ grep COMPRESS /etc/initramfs-tools/initramfs.conf\n# COMPRESS: [ gzip | bzip2 | lz4 | lzma | lzop | xz | zstd ]\nCOMPRESS=gzip
\n
\n
\n
\n
\n
$ file --mime-type /boot/initrd.img-`uname -r`\n/boot/initrd.img-5.11.8+: application/gzip
\n
\n
\n
\n

\u8a2d\u5b9a\u306f gzip \u3067\uff0c\u5b9f\u969b\u306e\u30d5\u30a1\u30a4\u30eb\u3082gzip\u306b\u306a\u3063\u3066\u3044\u307e\u3059\uff0e
\n\u5727\u7e2e\u5f62\u5f0f\u306f gzip \u4ee5\u5916\u306b bzip2, lz4, lzma, lzop, xz, zstd \u304c\u9078\u3079\u308b\u3088\u3046\u3067\u3059\uff0e

\n
\n
\n
\n
\n

\u5727\u7e2e\u5f62\u5f0f\u306e\u6bd4\u8f03

\n
\n
\n
\n
$ ls -1sS --block-size=1 ./initrd.img-5.11.8+.*\n183033856 ./initrd.img-5.11.8+.raw\n 81076224 ./initrd.img-5.11.8+.lz4\n 78315520 ./initrd.img-5.11.8+.lzop\n 54329344 ./initrd.img-5.11.8+.gzip\n 51761152 ./initrd.img-5.11.8+.zstd\n 50081792 ./initrd.img-5.11.8+.bz2\n 36548608 ./initrd.img-5.11.8+.xz\n 36540416 ./initrd.img-5.11.8+.lzma
\n
\n
\n
\n

\u5bb9\u91cf\u304c\u3069\u306e\u304f\u3089\u3044\u306b\u306a\u308b\u306e\u304b\u5404\u30a2\u30fc\u30ab\u30a4\u30d0\u3067\u5727\u7e2e\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

\n
\n
\n
\n
$ \\time -f %e cat ./initrd.img-5.11.8+.raw > /dev/null\n0.03\n$ \\time -f %e lz4cat ./initrd.img-5.11.8+.lz4 > /dev/null\n0.38\n$ \\time -f %e lzop -d -c ./initrd.img-5.11.8+.lzop > /dev/null\n0.42\n$ \\time -f %e zstdcat ./initrd.img-5.11.8+.zstd > /dev/null\n0.44\n$ \\time -f %e zcat ./initrd.img-5.11.8+.gzip > /dev/null\n1.38\n$ \\time -f %e lzma -d -c ./initrd.img-5.11.8+.lzma > /dev/null\n3.22\n$ \\time -f %e xzcat ./initrd.img-5.11.8+.xz > /dev/null\n3.37\n$ \\time -f %e bzcat ./initrd.img-5.11.8+.bz2 > /dev/null\n9.39
\n
\n
\n
\n

\u5c55\u958b\u6642\u9593\u3082\u78ba\u8a8d\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u5727\u7e2e\u5f62\u5f0f\u5727\u7e2e\u30c7\u30fc\u30bf\u91cf(byte)\u5c55\u958b\u6642\u9593(\u79d2)
\n

raw

\n
\n

183033856

\n
\n

0.03

\n
\n

lz4

\n
\n

81076224

\n
\n

0.38

\n
\n

lzop

\n
\n

78315520

\n
\n

0.43

\n
\n

gzip

\n
\n

54329344

\n
\n

1.38

\n
\n

zstd

\n
\n

51761152

\n
\n

0.44

\n
\n

bzip2

\n
\n

50081792

\n
\n

9.39

\n
\n

xz

\n
\n

36548608

\n
\n

3.37

\n
\n

lzma

\n
\n

36540416

\n
\n

3.22

\n
\n
\n

\u5727\u7e2e\u30c7\u30fc\u30bf\u306e\u5727\u7e2e\u7387\u306a\u3069\u306f\u65e2\u5b9a\u5024\u306e\u307e\u307e\u3067\uff0c\u5c55\u958b\u6642\u9593\u306f \\time -f %e zcat ./initrd.img-5.11.8+.gzip > /dev/null \u82e5\u3057\u304f\u306f \\time -f %e lzma -d -c ./initrd.img-5.11.8+.lzma > /dev/null \u306e\u3088\u3046\u306b\u3057\u3066\u6e2c\u308a\u307e\u3057\u305f\uff0e

\n
\n
\n

\u30b5\u30a4\u30ba\u3067\u306f raw > lz4 \u2252 lzop > gzip \u2252 zstd \u2252 bz2 > xz \u2252 lzma \u306a\u611f\u3058\u3067\uff0c
\n\u5c55\u958b\u901f\u5ea6\u306f bz2 > xz \u2252 lzma > gzip > zstd \u2252 lzop \u2252 lz4 > raw \u306a\u611f\u3058\u3067\u3059\uff0e

\n
\n
\n\n\n\n\n\n\n\n
\n
Caution
\n
\n\u6642\u9593\u306b\u3064\u3044\u3066\u306f\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u74b0\u5883\u3067\u8272\u3005\u52d5\u3044\u3066\u3044\u308b\u72b6\u614b\u30671\u56de\u3057\u304b\u6e2c\u3063\u3066\u3044\u306a\u3044\u306e\u3067\u76ee\u5b89\u7a0b\u5ea6\u306b\u3057\u3066\u304f\u3060\u3055\u3044\uff0e
\n
\n
\n\n\n\n\n\n\n\n
\n
Caution
\n
\n\u3053\u3053\u3067\u306f\u65e2\u5b9a\u5024\u3067\u5727\u7e2e\u3057\u307e\u3057\u305f\u304c\uff0czstd, lz4, xz\u306b\u3064\u3044\u3066\u306finitramfs\u4f5c\u6210\u6642\u306b\u5727\u7e2e\u30aa\u30d7\u30b7\u30e7\u30f3\u306a\u3069\u304c\u65e2\u5b9a\u5024\u3068\u9055\u3046\u3088\u3046\u306a\u306e\u3067\u76ee\u5b89\u7a0b\u5ea6\u306b\u3057\u3066\u304f\u3060\u3055\u3044\uff0e
\n
\n
\n

\u5bb9\u91cf\u7684\u306b\u306fxz, lzma\u304c\u826f\u3055\u305d\u3046\u3067\u3059\u304c\u5c55\u958b\u6642\u9593\u304c\u3068\u3066\u3082\u5897\u3048\u305d\u3046\u3067\u3059\uff0ezstd\u306fgzip\u3088\u308a\u901f\u304f\u3066\u5c0f\u3055\u304f\u306a\u3063\u3066\u826f\u3055\u305d\u3046\u3067\u3059\uff0e
\n\u3068\u3044\u3046\u3053\u3068\u3067zstd\u306b\u3057\u3066\u307f\u307e\u3059\uff0e

\n
\n
\n
\n
\n

initramfs\u3092 zstd \u3067\u4f5c\u308a\u76f4\u3059

\n
\n
\n
\n
$ sudo git -C /etc diff HEAD /etc/initramfs-tools/initramfs.conf\ndiff --git a/initramfs-tools/initramfs.conf b/initramfs-tools/initramfs.conf\nindex 01bdd85..a0c051b 100644\n--- a/initramfs-tools/initramfs.conf\n+++ b/initramfs-tools/initramfs.conf\n@@ -41,7 +41,7 @@ KEYMAP=n\n # COMPRESS: [ gzip | bzip2 | lz4 | lzma | lzop | xz | zstd ]\n #\n\n-COMPRESS=gzip\n+COMPRESS=zstd\n\n #\n # DEVICE: ...
\n
\n
\n
\n

/etc/initramfs-tools/initramfs.conf \u3092\u7de8\u96c6\u3057\u3066\uff0c COMPRESS \u3092 zstd \u306b\u5909\u66f4\u3057\u307e\u3059\uff0e

\n
\n
\n
\n
$ update-initramfs -h\n\nUsage: update-initramfs {-c|-d|-u} [-k version] [-v] [-b directory]\n\nOptions:\n -k version     Specify kernel version or 'all'\n -c             Create a new initramfs\n -u             Update an existing initramfs\n -d             Remove an existing initramfs\n -b directory   Set alternate boot directory\n -v             Be verbose\n\nSee update-initramfs(8) for further details.\n\n$ sudo update-initramfs -k `uname -r` -u -v
\n
\n
\n
\n

update-initramfs \u3067\u66f4\u65b0\u3092\u884c\u3044\u307e\u3059\uff0e

\n
\n
\n
\n
$ ls -s --block-size=1 /boot/initrd.img-5.11.8+\n54542336 /boot/initrd.img-5.11.8+\n$ ls -s --block-size=1 /boot/initrd.img-5.11.8+\n41611264 /boot/initrd.img-5.11.8+\n$ file --mime-type /boot/initrd.img-5.11.8+\n/boot/initrd.img-5.11.8+: application/zstd\n$ zstd -lv /boot/initrd.img-5.11.8+\n*** zstd command line interface 64-bits v1.4.8, by Yann Collet ***\n/boot/initrd.img-5.11.8+\n# Zstandard Frames: 1\nWindow Size: 8.00 MB (8388608 B)\nCompressed Size: 39.53 MB (41446437 B)\nDecompressed Size: 174.55 MB (183032320 B)\nRatio: 4.4161\nCheck: XXH64
\n
\n
\n
\n

\u51fa\u6765\u4e0a\u304c\u3063\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u78ba\u8a8d\u3059\u308b\u3068 zstd \u306b\u306a\u3063\u3066\u3044\u307e\u3057\u305f\uff0e
\n\u518d\u8d77\u52d5\u3057\u3066\u3082\u554f\u984c\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f :)
\n\u4e0a\u3067\u78ba\u8a8d\u3057\u305f\u5bb9\u91cf\u3088\u308a\u5927\u5206\u5c0f\u3055\u5538\u3063\u3066\u3044\u308b\u306e\u306f\u5727\u7e2e\u30ec\u30d9\u30eb\u306e\u5dee\u3067\u3057\u3087\u3046\u304b?

\n
\n
\n
\n
\n

initramfs\u5727\u7e2e\u30ec\u30d9\u30eb\u306e\u78ba\u8a8d

\n
\n
\n
\n
$ grep zstd /usr/sbin/mkinitramfs\nzstd)   compress=\"zstd -q -19 -T0\" ;;
\n
\n
\n
\n

update-initramfs \u304b\u3089\u547c\u3070\u308c\u308b mkinitramfs \u3092\u78ba\u8a8d\u3059\u308b\u3068zstd\u306e\u5727\u7e2e\u30ec\u30d9\u30eb\u30aa\u30d7\u30b7\u30e7\u30f3\u306f -19 \u3067\u6700\u9ad8\u5727\u7e2e\u7387\u3067\u3057\u305f\uff0e(\u65e2\u5b9a\u5024\u306f -3 )

\n
\n
\n
\n
$ \\time -f%e zstdcat -T1 /boot/initrd.img-5.11.8+ > /dev/null\n0.50
\n
\n
\n
\n

\u305d\u306e\u5206\u5c55\u958b\u6642\u9593\u3082\u5c11\u3057\u4f38\u3073\u3066\u3044\u305d\u3046\u3067\u3059\uff0e

\n
\n
\n
\n
case \"${compress}\" in\ngzip)   # If we're doing a reproducible build, use gzip -n\n        if [ -n \"${SOURCE_DATE_EPOCH}\" ]; then\n                compress=\"gzip -n\"\n        # Otherwise, substitute pigz if it's available\n        elif command -v pigz >/dev/null; then\n                compress=pigz\n        fi\n        ;;\nlz4)    compress=\"lz4 -9 -l\" ;;\nzstd)   compress=\"zstd -q -19 -T0\" ;;\nxz)     compress=\"xz --check=crc32\"\n        # If we're not doing a reproducible build, enable multithreading\n        test -z \"${SOURCE_DATE_EPOCH}\" && compress=\"$compress --threads=0\"\n        ;;\nbzip2|lzma|lzop)\n        # no parameters needed\n        ;;\n*)      echo \"W: Unknown compression command ${compress}\" >&2 ;;\nesac
\n
\n
\n
\n

\u5468\u308a\u3092\u898b\u3066\u307f\u308b\u3068\uff0c lz4 \u306f -9 \u3067\u6700\u9ad8( -12 )\u3067\u306f\u306a\u3044\u3051\u3069\u65e2\u5b9a\u5024( 1 )\u3088\u308a\u5727\u7e2e\u7387\u3092\u9ad8\u304f\u3057\u3066\u3042\u308a\u307e\u3059\uff0exz\u306b\u306f\u6574\u5408\u6027\u30c1\u30a7\u30c3\u30af\u304c\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u3042\u308b\u3051\u3069\u5bb9\u91cf\u306b\u306f\u3042\u307e\u308a\u95a2\u4fc2\u306a\u3044\u304b\u306a?
\n\u305d\u306e\u4ed6\u306f\u65e2\u5b9a\u5024\u306e\u3088\u3046\u3067\u3059\uff0e

\n
\n
\n
\n
$ count=1;while [[ $count -lt 19 ]];do zstdcat /boot/initrd.img-5.11.8+ | zstd -T0 -$count -c - > /tmp/zstd-$count.zstd;count=$(( $count+1 ));done\n$ ls -1sS --block-size=1 /tmp/zstd-*\n56188928 /tmp/zstd-1.zstd\n53272576 /tmp/zstd-2.zstd\n51761152 /tmp/zstd-3.zstd\n51466240 /tmp/zstd-4.zstd\n50061312 /tmp/zstd-5.zstd\n49614848 /tmp/zstd-6.zstd\n47431680 /tmp/zstd-7.zstd\n46690304 /tmp/zstd-8.zstd\n46424064 /tmp/zstd-9.zstd\n45973504 /tmp/zstd-10.zstd\n45850624 /tmp/zstd-11.zstd\n45686784 /tmp/zstd-12.zstd\n45539328 /tmp/zstd-13.zstd\n45371392 /tmp/zstd-14.zstd\n45309952 /tmp/zstd-15.zstd\n44093440 /tmp/zstd-16.zstd\n42987520 /tmp/zstd-17.zstd\n41705472 /tmp/zstd-18.zstd\n41447424 /tmp/zstd-19.zstd\n$ ls -1S /tmp/zstd-* | xargs -I{} -n1 sh -c \"echo -n \\\"{} \\\"; \\time -f%e zstdcat -T0 {} > /dev/null\"\n/tmp/zstd-1.zstd 0.37\n/tmp/zstd-2.zstd 0.36\n/tmp/zstd-3.zstd 0.40\n/tmp/zstd-4.zstd 0.47\n/tmp/zstd-5.zstd 0.44\n/tmp/zstd-6.zstd 0.42\n/tmp/zstd-7.zstd 0.40\n/tmp/zstd-8.zstd 0.37\n/tmp/zstd-9.zstd 0.35\n/tmp/zstd-10.zstd 0.40\n/tmp/zstd-11.zstd 0.41\n/tmp/zstd-12.zstd 0.38\n/tmp/zstd-13.zstd 0.39\n/tmp/zstd-14.zstd 0.39\n/tmp/zstd-15.zstd 0.43\n/tmp/zstd-16.zstd 0.37\n/tmp/zstd-17.zstd 0.42\n/tmp/zstd-18.zstd 0.53\n/tmp/zstd-19.zstd 0.68
\n
\n
\n
\n

\u5727\u7e2e\u30ec\u30d9\u30eb\u3054\u3068\u306e\u5bb9\u91cf\u3068\u5c55\u958b\u6642\u9593\u306f\u3053\u3093\u306a\u611f\u3058\u306b\u306a\u308a\u307e\u3057\u305f\uff0e\u8272\u3005\u52d5\u3044\u3066\u3044\u308b\u74b0\u5883\u306a\u306e\u3067\u304a\u304b\u3057\u305d\u3046\u306a\u3068\u3053\u308d\u304c\u3042\u308a\u307e\u3059\u304c\u5927\u4f53\u306e\u76ee\u5b89\u3068\u3057\u3066\uff0e

\n
\n
\n
\n
\n

Kernel build\u6642\u306e\u52d5\u4f5c

\n
\n
\n

Kernel 5.11.9 \u304c\u6765\u3066\u3044\u305f\u306e\u3067\u30d3\u30eb\u30c9\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

\n
\n
\n
\n
$ wget https://cdn.kernel.org/pub/linux/kernel/v5.x/incr/patch-5.11.8-9.xz\n$ cd linux-5.11\n$ xzcat ../patch-5.11.8-9.xz | patch -p1\n$ grep ^COMPRESS= /etc/initramfs-tools/initramfs.conf\nCOMPRESS=zstd\n$ time make -j`nproc` bindeb-pkg\n$ ls -1sS ../*5.11.9*\n737300 ../linux-image-5.11.9+-dbg_5.11.9+-5_amd64.deb\n 59584 ../linux-image-5.11.9+_5.11.9+-5_amd64.deb\n  8040 ../linux-headers-5.11.9+_5.11.9+-5_amd64.deb\n  1124 ../linux-libc-dev_5.11.9+-5_amd64.deb\n     8 ../linux-5.11.9+_5.11.9+-5_amd64.buildinfo\n     4 ../linux-5.11.9+_5.11.9+-5_amd64.changes\n$ sudo apt install ../linux-image-5.11.9+_5.11.9+-5_amd64.deb ../linux-headers-5.11.9+_5.11.9+-5_amd64.deb ../linux\n-libc-dev_5.11.9+-5_amd64.deb\n$ file /boot/initrd.img-5.11.9+\n/boot/initrd.img-5.11.9+: Zstandard compressed data (v0.8+), Dictionary ID: None\n$ ls --block-size=1 -s /boot/initrd.img-5.11.9+\n41602048 /boot/initrd.img-5.11.9+\n$ sudo shutdown -r now 'kernel upgrade'
\n
\n
\n
\n

\u554f\u984c\u306a\u304f zstd \u306b\u306a\u308a\u307e\u3057\u305f\uff0e

\n
\n
\n
\n
\n

\u53c2\u8003URL

\n
\n
\n

Debian\u306einitramfs\u306e\u5727\u7e2e\u5f62\u5f0f\u3092zstd\u306b\u3057\u3088\u3046\u3068\u3044\u3046\u30d0\u30b0\u30ec\u30dd\u30fc\u30c8\uff0ebullseye\u306f\u30d5\u30ea\u30fc\u30ba\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u5165\u3089\u306a\u3044\uff0e

\n
\n\n
\n
\n
\n

\u74b0\u5883

\n
\n
\n
\n
$ dpkg-query -W initramfs-tools-core zstd\ninitramfs-tools-core    0.140\nzstd    1.4.8+dfsg-2.1\n$ lsb_release -dr\nDescription:    Debian GNU/Linux bullseye/sid\nRelease:        unstable\n$ uname -srm\nLinux 5.11.9+ x86_64
\n
\n
\n
\n
\n", "content_text": "\u5148\u65e5\u300cDebian sid\u3067Linux Kernel(5.11)\u3092build\u3059\u308b\u30e1\u30e2 \u300d\u3092\u66f8\u3044\u305f\u306e\u3067\u3059\u304c\uff0cTwitter\u3067@henrich\u3055\u3093\u304b\u3089\u3053\u3093\u306a\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\uff0e\n\n/boot\u306e\u5bb9\u91cf\u306e\u305f\u3081\u306b\u306finitramfs\u306e\u5727\u7e2e\u3092gzip\u304b\u3089xz\u3084zstd\u306b\u3059\u308b\u306e\u3082\u3042\u308a\u3067\u3059\u306d\n\u2014 henrich (@henrich) March 23, 2021\n\n\n\n\u305d\u3046\u3044\u3048\u3070\u5727\u7e2e\u5f62\u5f0f\u8272\u3005\u3042\u3063\u305f\u306a\u3068\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\n\n\n\n\u73fe\u5728\u306e\u5727\u7e2e\u5f62\u5f0f\u3092\u78ba\u8a8d\u3059\u308b\n\n\n\n$ grep COMPRESS /etc/initramfs-tools/initramfs.conf\n# COMPRESS: [ gzip | bzip2 | lz4 | lzma | lzop | xz | zstd ]\nCOMPRESS=gzip\n\n\n\n\n$ file --mime-type /boot/initrd.img-`uname -r`\n/boot/initrd.img-5.11.8+: application/gzip\n\n\n\n\u8a2d\u5b9a\u306f gzip \u3067\uff0c\u5b9f\u969b\u306e\u30d5\u30a1\u30a4\u30eb\u3082gzip\u306b\u306a\u3063\u3066\u3044\u307e\u3059\uff0e\n\u5727\u7e2e\u5f62\u5f0f\u306f gzip \u4ee5\u5916\u306b bzip2, lz4, lzma, lzop, xz, zstd \u304c\u9078\u3079\u308b\u3088\u3046\u3067\u3059\uff0e\n\n\n\n\n\u5727\u7e2e\u5f62\u5f0f\u306e\u6bd4\u8f03\n\n\n\n$ ls -1sS --block-size=1 ./initrd.img-5.11.8+.*\n183033856 ./initrd.img-5.11.8+.raw\n 81076224 ./initrd.img-5.11.8+.lz4\n 78315520 ./initrd.img-5.11.8+.lzop\n 54329344 ./initrd.img-5.11.8+.gzip\n 51761152 ./initrd.img-5.11.8+.zstd\n 50081792 ./initrd.img-5.11.8+.bz2\n 36548608 ./initrd.img-5.11.8+.xz\n 36540416 ./initrd.img-5.11.8+.lzma\n\n\n\n\u5bb9\u91cf\u304c\u3069\u306e\u304f\u3089\u3044\u306b\u306a\u308b\u306e\u304b\u5404\u30a2\u30fc\u30ab\u30a4\u30d0\u3067\u5727\u7e2e\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\n\n\n$ \\time -f %e cat ./initrd.img-5.11.8+.raw > /dev/null\n0.03\n$ \\time -f %e lz4cat ./initrd.img-5.11.8+.lz4 > /dev/null\n0.38\n$ \\time -f %e lzop -d -c ./initrd.img-5.11.8+.lzop > /dev/null\n0.42\n$ \\time -f %e zstdcat ./initrd.img-5.11.8+.zstd > /dev/null\n0.44\n$ \\time -f %e zcat ./initrd.img-5.11.8+.gzip > /dev/null\n1.38\n$ \\time -f %e lzma -d -c ./initrd.img-5.11.8+.lzma > /dev/null\n3.22\n$ \\time -f %e xzcat ./initrd.img-5.11.8+.xz > /dev/null\n3.37\n$ \\time -f %e bzcat ./initrd.img-5.11.8+.bz2 > /dev/null\n9.39\n\n\n\n\u5c55\u958b\u6642\u9593\u3082\u78ba\u8a8d\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\n\n\n\n\n\n\n\n\n\u5727\u7e2e\u5f62\u5f0f\n\u5727\u7e2e\u30c7\u30fc\u30bf\u91cf(byte)\n\u5c55\u958b\u6642\u9593(\u79d2)\n\n\n\n\n\nraw\n\n\n183033856\n\n\n0.03\n\n\n\n\nlz4\n\n\n81076224\n\n\n0.38\n\n\n\n\nlzop\n\n\n78315520\n\n\n0.43\n\n\n\n\ngzip\n\n\n54329344\n\n\n1.38\n\n\n\n\nzstd\n\n\n51761152\n\n\n0.44\n\n\n\n\nbzip2\n\n\n50081792\n\n\n9.39\n\n\n\n\nxz\n\n\n36548608\n\n\n3.37\n\n\n\n\nlzma\n\n\n36540416\n\n\n3.22\n\n\n\n\n\n\u5727\u7e2e\u30c7\u30fc\u30bf\u306e\u5727\u7e2e\u7387\u306a\u3069\u306f\u65e2\u5b9a\u5024\u306e\u307e\u307e\u3067\uff0c\u5c55\u958b\u6642\u9593\u306f \\time -f %e zcat ./initrd.img-5.11.8+.gzip > /dev/null \u82e5\u3057\u304f\u306f \\time -f %e lzma -d -c ./initrd.img-5.11.8+.lzma > /dev/null \u306e\u3088\u3046\u306b\u3057\u3066\u6e2c\u308a\u307e\u3057\u305f\uff0e\n\n\n\u30b5\u30a4\u30ba\u3067\u306f raw > lz4 \u2252 lzop > gzip \u2252 zstd \u2252 bz2 > xz \u2252 lzma \u306a\u611f\u3058\u3067\uff0c\n\u5c55\u958b\u901f\u5ea6\u306f bz2 > xz \u2252 lzma > gzip > zstd \u2252 lzop \u2252 lz4 > raw \u306a\u611f\u3058\u3067\u3059\uff0e\n\n\n\n\n\n\nCaution\n\n\n\u6642\u9593\u306b\u3064\u3044\u3066\u306f\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u74b0\u5883\u3067\u8272\u3005\u52d5\u3044\u3066\u3044\u308b\u72b6\u614b\u30671\u56de\u3057\u304b\u6e2c\u3063\u3066\u3044\u306a\u3044\u306e\u3067\u76ee\u5b89\u7a0b\u5ea6\u306b\u3057\u3066\u304f\u3060\u3055\u3044\uff0e\n\n\n\n\n\n\n\n\n\nCaution\n\n\n\u3053\u3053\u3067\u306f\u65e2\u5b9a\u5024\u3067\u5727\u7e2e\u3057\u307e\u3057\u305f\u304c\uff0czstd, lz4, xz\u306b\u3064\u3044\u3066\u306finitramfs\u4f5c\u6210\u6642\u306b\u5727\u7e2e\u30aa\u30d7\u30b7\u30e7\u30f3\u306a\u3069\u304c\u65e2\u5b9a\u5024\u3068\u9055\u3046\u3088\u3046\u306a\u306e\u3067\u76ee\u5b89\u7a0b\u5ea6\u306b\u3057\u3066\u304f\u3060\u3055\u3044\uff0e\n\n\n\n\n\n\u5bb9\u91cf\u7684\u306b\u306fxz, lzma\u304c\u826f\u3055\u305d\u3046\u3067\u3059\u304c\u5c55\u958b\u6642\u9593\u304c\u3068\u3066\u3082\u5897\u3048\u305d\u3046\u3067\u3059\uff0ezstd\u306fgzip\u3088\u308a\u901f\u304f\u3066\u5c0f\u3055\u304f\u306a\u3063\u3066\u826f\u3055\u305d\u3046\u3067\u3059\uff0e\n\u3068\u3044\u3046\u3053\u3068\u3067zstd\u306b\u3057\u3066\u307f\u307e\u3059\uff0e\n\n\n\n\ninitramfs\u3092 zstd \u3067\u4f5c\u308a\u76f4\u3059\n\n\n\n$ sudo git -C /etc diff HEAD /etc/initramfs-tools/initramfs.conf\ndiff --git a/initramfs-tools/initramfs.conf b/initramfs-tools/initramfs.conf\nindex 01bdd85..a0c051b 100644\n--- a/initramfs-tools/initramfs.conf\n+++ b/initramfs-tools/initramfs.conf\n@@ -41,7 +41,7 @@ KEYMAP=n\n # COMPRESS: [ gzip | bzip2 | lz4 | lzma | lzop | xz | zstd ]\n #\n\n-COMPRESS=gzip\n+COMPRESS=zstd\n\n #\n # DEVICE: ...\n\n\n\n/etc/initramfs-tools/initramfs.conf \u3092\u7de8\u96c6\u3057\u3066\uff0c COMPRESS \u3092 zstd \u306b\u5909\u66f4\u3057\u307e\u3059\uff0e\n\n\n\n$ update-initramfs -h\n\nUsage: update-initramfs {-c|-d|-u} [-k version] [-v] [-b directory]\n\nOptions:\n -k version Specify kernel version or 'all'\n -c Create a new initramfs\n -u Update an existing initramfs\n -d Remove an existing initramfs\n -b directory Set alternate boot directory\n -v Be verbose\n\nSee update-initramfs(8) for further details.\n\n$ sudo update-initramfs -k `uname -r` -u -v\n\n\n\nupdate-initramfs \u3067\u66f4\u65b0\u3092\u884c\u3044\u307e\u3059\uff0e\n\n\n\n$ ls -s --block-size=1 /boot/initrd.img-5.11.8+\n54542336 /boot/initrd.img-5.11.8+\n$ ls -s --block-size=1 /boot/initrd.img-5.11.8+\n41611264 /boot/initrd.img-5.11.8+\n$ file --mime-type /boot/initrd.img-5.11.8+\n/boot/initrd.img-5.11.8+: application/zstd\n$ zstd -lv /boot/initrd.img-5.11.8+\n*** zstd command line interface 64-bits v1.4.8, by Yann Collet ***\n/boot/initrd.img-5.11.8+\n# Zstandard Frames: 1\nWindow Size: 8.00 MB (8388608 B)\nCompressed Size: 39.53 MB (41446437 B)\nDecompressed Size: 174.55 MB (183032320 B)\nRatio: 4.4161\nCheck: XXH64\n\n\n\n\u51fa\u6765\u4e0a\u304c\u3063\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u78ba\u8a8d\u3059\u308b\u3068 zstd \u306b\u306a\u3063\u3066\u3044\u307e\u3057\u305f\uff0e\n\u518d\u8d77\u52d5\u3057\u3066\u3082\u554f\u984c\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f :)\n\u4e0a\u3067\u78ba\u8a8d\u3057\u305f\u5bb9\u91cf\u3088\u308a\u5927\u5206\u5c0f\u3055\u5538\u3063\u3066\u3044\u308b\u306e\u306f\u5727\u7e2e\u30ec\u30d9\u30eb\u306e\u5dee\u3067\u3057\u3087\u3046\u304b?\n\n\n\n\ninitramfs\u5727\u7e2e\u30ec\u30d9\u30eb\u306e\u78ba\u8a8d\n\n\n\n$ grep zstd /usr/sbin/mkinitramfs\nzstd) compress=\"zstd -q -19 -T0\" ;;\n\n\n\nupdate-initramfs \u304b\u3089\u547c\u3070\u308c\u308b mkinitramfs \u3092\u78ba\u8a8d\u3059\u308b\u3068zstd\u306e\u5727\u7e2e\u30ec\u30d9\u30eb\u30aa\u30d7\u30b7\u30e7\u30f3\u306f -19 \u3067\u6700\u9ad8\u5727\u7e2e\u7387\u3067\u3057\u305f\uff0e(\u65e2\u5b9a\u5024\u306f -3 )\n\n\n\n$ \\time -f%e zstdcat -T1 /boot/initrd.img-5.11.8+ > /dev/null\n0.50\n\n\n\n\u305d\u306e\u5206\u5c55\u958b\u6642\u9593\u3082\u5c11\u3057\u4f38\u3073\u3066\u3044\u305d\u3046\u3067\u3059\uff0e\n\n\n\ncase \"${compress}\" in\ngzip) # If we're doing a reproducible build, use gzip -n\n if [ -n \"${SOURCE_DATE_EPOCH}\" ]; then\n compress=\"gzip -n\"\n # Otherwise, substitute pigz if it's available\n elif command -v pigz >/dev/null; then\n compress=pigz\n fi\n ;;\nlz4) compress=\"lz4 -9 -l\" ;;\nzstd) compress=\"zstd -q -19 -T0\" ;;\nxz) compress=\"xz --check=crc32\"\n # If we're not doing a reproducible build, enable multithreading\n test -z \"${SOURCE_DATE_EPOCH}\" && compress=\"$compress --threads=0\"\n ;;\nbzip2|lzma|lzop)\n # no parameters needed\n ;;\n*) echo \"W: Unknown compression command ${compress}\" >&2 ;;\nesac\n\n\n\n\u5468\u308a\u3092\u898b\u3066\u307f\u308b\u3068\uff0c lz4 \u306f -9 \u3067\u6700\u9ad8( -12 )\u3067\u306f\u306a\u3044\u3051\u3069\u65e2\u5b9a\u5024( 1 )\u3088\u308a\u5727\u7e2e\u7387\u3092\u9ad8\u304f\u3057\u3066\u3042\u308a\u307e\u3059\uff0exz\u306b\u306f\u6574\u5408\u6027\u30c1\u30a7\u30c3\u30af\u304c\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u3042\u308b\u3051\u3069\u5bb9\u91cf\u306b\u306f\u3042\u307e\u308a\u95a2\u4fc2\u306a\u3044\u304b\u306a?\n\u305d\u306e\u4ed6\u306f\u65e2\u5b9a\u5024\u306e\u3088\u3046\u3067\u3059\uff0e\n\n\n\n$ count=1;while [[ $count -lt 19 ]];do zstdcat /boot/initrd.img-5.11.8+ | zstd -T0 -$count -c - > /tmp/zstd-$count.zstd;count=$(( $count+1 ));done\n$ ls -1sS --block-size=1 /tmp/zstd-*\n56188928 /tmp/zstd-1.zstd\n53272576 /tmp/zstd-2.zstd\n51761152 /tmp/zstd-3.zstd\n51466240 /tmp/zstd-4.zstd\n50061312 /tmp/zstd-5.zstd\n49614848 /tmp/zstd-6.zstd\n47431680 /tmp/zstd-7.zstd\n46690304 /tmp/zstd-8.zstd\n46424064 /tmp/zstd-9.zstd\n45973504 /tmp/zstd-10.zstd\n45850624 /tmp/zstd-11.zstd\n45686784 /tmp/zstd-12.zstd\n45539328 /tmp/zstd-13.zstd\n45371392 /tmp/zstd-14.zstd\n45309952 /tmp/zstd-15.zstd\n44093440 /tmp/zstd-16.zstd\n42987520 /tmp/zstd-17.zstd\n41705472 /tmp/zstd-18.zstd\n41447424 /tmp/zstd-19.zstd\n$ ls -1S /tmp/zstd-* | xargs -I{} -n1 sh -c \"echo -n \\\"{} \\\"; \\time -f%e zstdcat -T0 {} > /dev/null\"\n/tmp/zstd-1.zstd 0.37\n/tmp/zstd-2.zstd 0.36\n/tmp/zstd-3.zstd 0.40\n/tmp/zstd-4.zstd 0.47\n/tmp/zstd-5.zstd 0.44\n/tmp/zstd-6.zstd 0.42\n/tmp/zstd-7.zstd 0.40\n/tmp/zstd-8.zstd 0.37\n/tmp/zstd-9.zstd 0.35\n/tmp/zstd-10.zstd 0.40\n/tmp/zstd-11.zstd 0.41\n/tmp/zstd-12.zstd 0.38\n/tmp/zstd-13.zstd 0.39\n/tmp/zstd-14.zstd 0.39\n/tmp/zstd-15.zstd 0.43\n/tmp/zstd-16.zstd 0.37\n/tmp/zstd-17.zstd 0.42\n/tmp/zstd-18.zstd 0.53\n/tmp/zstd-19.zstd 0.68\n\n\n\n\u5727\u7e2e\u30ec\u30d9\u30eb\u3054\u3068\u306e\u5bb9\u91cf\u3068\u5c55\u958b\u6642\u9593\u306f\u3053\u3093\u306a\u611f\u3058\u306b\u306a\u308a\u307e\u3057\u305f\uff0e\u8272\u3005\u52d5\u3044\u3066\u3044\u308b\u74b0\u5883\u306a\u306e\u3067\u304a\u304b\u3057\u305d\u3046\u306a\u3068\u3053\u308d\u304c\u3042\u308a\u307e\u3059\u304c\u5927\u4f53\u306e\u76ee\u5b89\u3068\u3057\u3066\uff0e\n\n\n\n\nKernel build\u6642\u306e\u52d5\u4f5c\n\n\nKernel 5.11.9 \u304c\u6765\u3066\u3044\u305f\u306e\u3067\u30d3\u30eb\u30c9\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\n\n\n$ wget https://cdn.kernel.org/pub/linux/kernel/v5.x/incr/patch-5.11.8-9.xz\n$ cd linux-5.11\n$ xzcat ../patch-5.11.8-9.xz | patch -p1\n$ grep ^COMPRESS= /etc/initramfs-tools/initramfs.conf\nCOMPRESS=zstd\n$ time make -j`nproc` bindeb-pkg\n$ ls -1sS ../*5.11.9*\n737300 ../linux-image-5.11.9+-dbg_5.11.9+-5_amd64.deb\n 59584 ../linux-image-5.11.9+_5.11.9+-5_amd64.deb\n 8040 ../linux-headers-5.11.9+_5.11.9+-5_amd64.deb\n 1124 ../linux-libc-dev_5.11.9+-5_amd64.deb\n 8 ../linux-5.11.9+_5.11.9+-5_amd64.buildinfo\n 4 ../linux-5.11.9+_5.11.9+-5_amd64.changes\n$ sudo apt install ../linux-image-5.11.9+_5.11.9+-5_amd64.deb ../linux-headers-5.11.9+_5.11.9+-5_amd64.deb ../linux\n-libc-dev_5.11.9+-5_amd64.deb\n$ file /boot/initrd.img-5.11.9+\n/boot/initrd.img-5.11.9+: Zstandard compressed data (v0.8+), Dictionary ID: None\n$ ls --block-size=1 -s /boot/initrd.img-5.11.9+\n41602048 /boot/initrd.img-5.11.9+\n$ sudo shutdown -r now 'kernel upgrade'\n\n\n\n\u554f\u984c\u306a\u304f zstd \u306b\u306a\u308a\u307e\u3057\u305f\uff0e\n\n\n\n\n\u53c2\u8003URL\n\n\nDebian\u306einitramfs\u306e\u5727\u7e2e\u5f62\u5f0f\u3092zstd\u306b\u3057\u3088\u3046\u3068\u3044\u3046\u30d0\u30b0\u30ec\u30dd\u30fc\u30c8\uff0ebullseye\u306f\u30d5\u30ea\u30fc\u30ba\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u5165\u3089\u306a\u3044\uff0e\n\n\n\n#976054 – initramfs-tools: [RFC] Compress initramfs file with zstd – Debian Bug report logs\n\n\n\n\n\n\u74b0\u5883\n\n\n\n$ dpkg-query -W initramfs-tools-core zstd\ninitramfs-tools-core 0.140\nzstd 1.4.8+dfsg-2.1\n$ lsb_release -dr\nDescription: Debian GNU/Linux bullseye/sid\nRelease: unstable\n$ uname -srm\nLinux 5.11.9+ x86_64", "date_published": "2021-03-25T21:19:39+09:00", "date_modified": "2021-03-25T21:41:18+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "initramfs", "kernel", "Linux", "ZSTD", "Debian", "sid" ] }, { "id": "http://matoken.org/blog/?p=3017", "url": "https://matoken.org/blog/2021/02/23/memo-of-self-building-linux-kernel-5-11/", "title": "Linux Kernel 5.11 \u3092\u30bb\u30eb\u30d5\u30d3\u30eb\u30c9\u3057\u305f\u30e1\u30e2", "content_html": "
\n
\n
\n

Linux Kernel 5.11 \u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u307e\u3057\u305f\uff0e

\n
\n\n\n
\n

F2FS\u306e\u5727\u7e2e\u5468\u308a\u3082\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u304c\u3042\u308b\u3088\u3046\u306a\u306e\u3067\u8a66\u3057\u3066\u307f\u305f\u304f\u306a\u308a\u307e\u3057\u305f\uff0e\u3068\u3044\u3046\u3053\u3068\u3067\u30bb\u30eb\u30d5\u30d3\u30eb\u30c9\u3057\u305f\u3089\u3053\u308c\u307e\u3067\u51fa\u306a\u304b\u3063\u305f\u30a8\u30e9\u30fc\u304c\u51fa\u305f\u306e\u3067\u30e1\u30e2\u3057\u3066\u304a\u304d\u307e\u3059\uff0e

\n
\n
\n\n\n\n\n\n\n\n
\n
Warning
\n
\nDebian sid amd64\u306e 5.10.0-3-amd64 \u74b0\u5883\u3067\u30d3\u30eb\u30c9\u3057\u307e\u3057\u305f\uff0eLinux 5.9\u306f\u30d3\u30eb\u30c9\u3057\u305f\u3053\u3068\u304c\u3042\u308b\u3051\u308c\u3069\uff0cLinux 5.10\u306f\u30d3\u30eb\u30c9\u3057\u305f\u3053\u3068\u306e\u306a\u3044\u74b0\u5883\u3067\u3059\uff0e
\n
\n
\n
\n
\n

Linux 5.11 build\u6642\u306b\u30a8\u30e9\u30fc( BTF: .tmp_vmlinux.btf: pahole (pahole) is not available )

\n
\n
\n

\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\uff0e

\n
\n
\n
\n
$ make -j`nproc` bindeb-pkg\n\u301c\u7701\u7565\u301c\nBTF: .tmp_vmlinux.btf: pahole (pahole) is not available\nFailed to generate BTF for vmlinux\nTry to disable CONFIG_DEBUG_INFO_BTF\n\u301c\u7701\u7565\u301c\n$ grep CONFIG_DEBUG_INFO_BTF ./.config\nCONFIG_DEBUG_INFO_BTF=y
\n
\n
\n
\n

CONFIG_DEBUG_INFO_BTF \u3092\u7121\u52b9\u306b\u3059\u308b\u3053\u3068\u3082\u53ef\u80fd\u3067\u3059\u304c\uff0c dwarves \u30d1\u30c3\u30b1\u30fc\u30b8\u3067DWARF utilities\u3092\u5c0e\u5165\u3059\u308b\u3068\u3053\u3067\u89e3\u6c7a\u3057\u307e\u3057\u305f\uff0e

\n
\n
\n
\n
$ sudo apt install dwarves
\n
\n
\n
\n

\u305d\u306e\u4ed6\uff0cDKMS\u3067\u306eVirtualBox module\u306e\u30d3\u30eb\u30c9\u3082\u5931\u6557\u3057\u307e\u3057\u305f\uff0e\u3053\u308c\u306fVirtualBox\u306e\u5bfe\u5fdc\u5f85\u3061\u304b\u306a\u3068\u601d\u3044\u307e\u3059\uff0e

\n
\n
\n

\u3068\u3044\u3046\u3053\u3068\u3067\uff0c\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u611f\u3058\u3067\u5927\u4e08\u592b\u305d\u3046\u3067\u3059\uff0e

\n
\n
\n
\n
\n

Linux 5.11\u306e\u30d3\u30eb\u30c9

\n
\n
\n
\u5fc5\u8981\u306a\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u5c0e\u5165
\n
\n
$ sudo apt install build-essential linux-source bc kmod cpio flex libncurses5-dev libelf-dev libssl-dev dwarves
\n
\n
\n
\n
\u30bd\u30fc\u30b9\u306e\u5165\u624b\uff0c\u78ba\u8a8d\u3068\u5c55\u958b
\n
\n
$ wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.11.tar.xz \\\nhttps://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.11.tar.sign (1)\n$ unxz ./linux-5.11.tar.xz (2)\n$ gpg --verify ./linux-5.11.tar.sign (3)\ngpg: assuming signed data in './linux-5.11.tar'\ngpg: Signature made Mon 15 Feb 2021 06:11:32 PM JST\ngpg:                using RSA key 647F28654894E3BD457199BE38DBBDC86092693E\ngpg: Good signature from \"Greg Kroah-Hartman <gregkh@linuxfoundation.org>\" [unknown]\ngpg:                 aka \"Greg Kroah-Hartman (Linux kernel stable release signing key) <greg@kroah.com>\" [undefined]\ngpg:                 aka \"Greg Kroah-Hartman <gregkh@kernel.org>\" [unknown]\ngpg: WARNING: This key is not certified with a trusted signature!\ngpg:          There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: 647F 2865 4894 E3BD 4571  99BE 38DB BDC8 6092 693E\n$ tar tvf ./linux-5.11.tar | lv (4)\n$ tar xf ./linux-5.11.tar (5)\n$ cd linux-5.11
\n
\n
\n
\n
    \n
  1. source\u3068\u7f72\u540d\u3092\u5165\u624b
  2. \n
  3. \u89e3\u51cd
  4. \n
  5. \u7f72\u540d\u78ba\u8a8d(\u7f72\u540d\u306f\u3053\u3061\u3089\u3067\u78ba\u8a8d)
  6. \n
  7. \u30a2\u30fc\u30ab\u30a4\u30d6\u78ba\u8a8d
  8. \n
  9. \u30a2\u30fc\u30ab\u30a4\u30d6\u5c55\u958b
  10. \n
\n
\n
\n
config\u30d5\u30a1\u30a4\u30eb\u306e\u7528\u610f\u3068\u30d3\u30eb\u30c9
\n
\n
$ cp /boot/config-`uname -r` ./.config (1)\n$ yes \"\" | make oldconfig (2)\n$ tar xf ../linux_5.10.9-1.debian.tar.xz debian/certs/ (3)\n$ time make -j`nproc` bindeb-pkg (4)\n  :\ndpkg-deb: building package 'linux-libc-dev' in '../linux-libc-dev_5.11.0-1_amd64.deb'.\ndpkg-deb: building package 'linux-image-5.11.0' in '../linux-image-5.11.0_5.11.0-1_amd64.deb'.\ndpkg-deb: building package 'linux-image-5.11.0-dbg' in '../linux-image-5.11.0-dbg_5.11.0-1_amd64.deb'.\n dpkg-genbuildinfo --build=binary\n dpkg-genchanges --build=binary >../linux-5.11.0_5.11.0-1_amd64.changes\ndpkg-genchanges: info: binary-only upload (no source code included)\n dpkg-source --after-build .\ndpkg-buildpackage: info: binary-only upload (no source included)\n$ ls -1s ../linux*.deb (5)\n  7932 ../linux-headers-5.11.0_5.11.0-1_amd64.deb\n728724 ../linux-image-5.11.0-dbg_5.11.0-1_amd64.deb\n 52136 ../linux-image-5.11.0_5.11.0-1_amd64.deb\n  1124 ../linux-libc-dev_5.11.0-1_amd64.deb\n$ sudo apt install ../linux-image-5.11.0_5.11.0-1_amd64.deb ../linux-libc-dev_5.11.0-1_amd64.deb ../linux-headers-5.11.0_5.11.0-1_amd64.deb (6)
\n
\n
\n
\n
    \n
  1. \u73fe\u5728\u306ekernel config\u3092\u30b3\u30d4\u30fc\u3059\u308b
  2. \n
  3. \u65b0\u3057\u3044\u8a2d\u5b9a\u3092\u65e2\u5b9a\u5024\u3067\u8a2d\u5b9a
  4. \n
  5. Debian\u306ekernel source\u304b\u3089\u8a3c\u660e\u66f8\u3092\u30b3\u30d4\u30fc(\u82e5\u3057\u304f\u306f CONFIG_SYSTEM_TRUSTED_KEYS=\"\" \u3059\u308b)
  6. \n
  7. cpu\u6570\u3092\u6307\u5b9a\u3057\u3066\u30d3\u30eb\u30c9\u958b\u59cb
  8. \n
  9. \u51fa\u6765\u4e0a\u304c\u3063\u305f\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u78ba\u8a8d
  10. \n
  11. \u51fa\u6765\u4e0a\u304c\u3063\u305f\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u5c0e\u5165
  12. \n
\n
\n
\n
Machine Owner Key(MOK)\u3067\u7f72\u540d\u3059\u308b(\u30bb\u30ad\u30e5\u30a2\u30d6\u30fc\u30c8\u3092\u6709\u52b9\u306b\u3057\u3066\u3044\u308b\u5834\u5408\u306b\u306e\u307f\u5fc5\u8981\u306a\u51e6\u7406)
\n
\n
$ sudo sbsign --key ~/MOK.priv --cert ~/MOK.pem /boot/vmlinuz-5.11.0 --output vmlinuz-5.11.0 (1)\n$ sudo mv ./vmlinuz-5.11.0 /boot/vmlinuz-5.11.0\n$ find /lib/modules/5.11.0/updates/dkms/ -type f | xargs -n1 sudo ./scripts/sign-file sha256 ~/MOK.priv ~/MOK.der (2)
\n
\n
\n
\n
    \n
  1. kernel\u306b\u7f72\u540d
  2. \n
  3. DKMS\u3067\u4f5c\u6210\u3057\u305fmodule\u306b\u7f72\u540d
  4. \n
\n
\n
\n

\u3053\u306e\u3042\u305f\u308a\u306e\u51e6\u7406\u306f\u81ea\u52d5\u5316\u3067\u304d\u308b\u3068\u601d\u3046\u3093\u3060\u3051\u3069\u672a\u78ba\u8a8d\uff0e
\nMOK\u306e\u4f5c\u6210\u3084\uff0c\u30bb\u30ad\u30e5\u30a2\u30d6\u30fc\u30c8\u306b\u3064\u3044\u3066\u306f\u4ee5\u4e0b\u306e\u30da\u30fc\u30b8\u304c\u53c2\u8003\u306b\u306a\u308b\uff0e

\n
\n\n
\n
\n
\n

\u74b0\u5883

\n
\n
\n
\n
$ dpkg-query -W build-essential linux-source bc kmod cpio flex libncurses5-dev libelf-dev libssl-dev dwarves sbsign\ntool\nbc      1.07.1-2+b2\nbuild-essential 12.9\ncpio    2.13+dfsg-4\ndwarves 1.20-1\nflex    2.6.4-8\nkmod    28-1\nlibelf-dev:amd64        0.183-1\nlibncurses5-dev:amd64   6.2+20201114-2\nlibssl-dev:amd64        1.1.1j-1\nlinux-source    5.10.13-1\nsbsigntool      0.9.2-2\n$ lsb_release -dr\nDescription:    Debian GNU/Linux bullseye/sid\nRelease:        unstable\n$ uname -mr\n5.10.0-3-amd64 x86_64
\n
\n
\n
\n
\u518d\u8d77\u52d5\u5f8c
\n
\n
$ uname -mr\n5.11.0 x86_64
\n
\n
\n
\n
\n", "content_text": "Linux Kernel 5.11 \u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u307e\u3057\u305f\uff0e\n\n\n\nLKML: Linus Torvalds: Linux 5.11\n\n\n\n\n\n\n\nNote\n\n\nGNU Linux-libre 5.11 \u3082\u51fa\u3066\u3044\u308b :)\n\n\n\n\n\nF2FS\u306e\u5727\u7e2e\u5468\u308a\u3082\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u304c\u3042\u308b\u3088\u3046\u306a\u306e\u3067\u8a66\u3057\u3066\u307f\u305f\u304f\u306a\u308a\u307e\u3057\u305f\uff0e\u3068\u3044\u3046\u3053\u3068\u3067\u30bb\u30eb\u30d5\u30d3\u30eb\u30c9\u3057\u305f\u3089\u3053\u308c\u307e\u3067\u51fa\u306a\u304b\u3063\u305f\u30a8\u30e9\u30fc\u304c\u51fa\u305f\u306e\u3067\u30e1\u30e2\u3057\u3066\u304a\u304d\u307e\u3059\uff0e\n\n\n\n\n\n\nWarning\n\n\nDebian sid amd64\u306e 5.10.0-3-amd64 \u74b0\u5883\u3067\u30d3\u30eb\u30c9\u3057\u307e\u3057\u305f\uff0eLinux 5.9\u306f\u30d3\u30eb\u30c9\u3057\u305f\u3053\u3068\u304c\u3042\u308b\u3051\u308c\u3069\uff0cLinux 5.10\u306f\u30d3\u30eb\u30c9\u3057\u305f\u3053\u3068\u306e\u306a\u3044\u74b0\u5883\u3067\u3059\uff0e\n\n\n\n\n\n\n\nLinux 5.11 build\u6642\u306b\u30a8\u30e9\u30fc( BTF: .tmp_vmlinux.btf: pahole (pahole) is not available )\n\n\n\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\uff0e\n\n\n\n$ make -j`nproc` bindeb-pkg\n\u301c\u7701\u7565\u301c\nBTF: .tmp_vmlinux.btf: pahole (pahole) is not available\nFailed to generate BTF for vmlinux\nTry to disable CONFIG_DEBUG_INFO_BTF\n\u301c\u7701\u7565\u301c\n$ grep CONFIG_DEBUG_INFO_BTF ./.config\nCONFIG_DEBUG_INFO_BTF=y\n\n\n\nCONFIG_DEBUG_INFO_BTF \u3092\u7121\u52b9\u306b\u3059\u308b\u3053\u3068\u3082\u53ef\u80fd\u3067\u3059\u304c\uff0c dwarves \u30d1\u30c3\u30b1\u30fc\u30b8\u3067DWARF utilities\u3092\u5c0e\u5165\u3059\u308b\u3068\u3053\u3067\u89e3\u6c7a\u3057\u307e\u3057\u305f\uff0e\n\n\n\n$ sudo apt install dwarves\n\n\n\n\u305d\u306e\u4ed6\uff0cDKMS\u3067\u306eVirtualBox module\u306e\u30d3\u30eb\u30c9\u3082\u5931\u6557\u3057\u307e\u3057\u305f\uff0e\u3053\u308c\u306fVirtualBox\u306e\u5bfe\u5fdc\u5f85\u3061\u304b\u306a\u3068\u601d\u3044\u307e\u3059\uff0e\n\n\n\u3068\u3044\u3046\u3053\u3068\u3067\uff0c\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u611f\u3058\u3067\u5927\u4e08\u592b\u305d\u3046\u3067\u3059\uff0e\n\n\n\n\nLinux 5.11\u306e\u30d3\u30eb\u30c9\n\n\n\u5fc5\u8981\u306a\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u5c0e\u5165\n\n$ sudo apt install build-essential linux-source bc kmod cpio flex libncurses5-dev libelf-dev libssl-dev dwarves\n\n\n\n\u30bd\u30fc\u30b9\u306e\u5165\u624b\uff0c\u78ba\u8a8d\u3068\u5c55\u958b\n\n$ wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.11.tar.xz \\\nhttps://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.11.tar.sign (1)\n$ unxz ./linux-5.11.tar.xz (2)\n$ gpg --verify ./linux-5.11.tar.sign (3)\ngpg: assuming signed data in './linux-5.11.tar'\ngpg: Signature made Mon 15 Feb 2021 06:11:32 PM JST\ngpg: using RSA key 647F28654894E3BD457199BE38DBBDC86092693E\ngpg: Good signature from \"Greg Kroah-Hartman <gregkh@linuxfoundation.org>\" [unknown]\ngpg: aka \"Greg Kroah-Hartman (Linux kernel stable release signing key) <greg@kroah.com>\" [undefined]\ngpg: aka \"Greg Kroah-Hartman <gregkh@kernel.org>\" [unknown]\ngpg: WARNING: This key is not certified with a trusted signature!\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: 647F 2865 4894 E3BD 4571 99BE 38DB BDC8 6092 693E\n$ tar tvf ./linux-5.11.tar | lv (4)\n$ tar xf ./linux-5.11.tar (5)\n$ cd linux-5.11\n\n\n\n\nsource\u3068\u7f72\u540d\u3092\u5165\u624b\n\u89e3\u51cd\n\u7f72\u540d\u78ba\u8a8d(\u7f72\u540d\u306f\u3053\u3061\u3089\u3067\u78ba\u8a8d)\n\u30a2\u30fc\u30ab\u30a4\u30d6\u78ba\u8a8d\n\u30a2\u30fc\u30ab\u30a4\u30d6\u5c55\u958b\n\n\n\nconfig\u30d5\u30a1\u30a4\u30eb\u306e\u7528\u610f\u3068\u30d3\u30eb\u30c9\n\n$ cp /boot/config-`uname -r` ./.config (1)\n$ yes \"\" | make oldconfig (2)\n$ tar xf ../linux_5.10.9-1.debian.tar.xz debian/certs/ (3)\n$ time make -j`nproc` bindeb-pkg (4)\n :\ndpkg-deb: building package 'linux-libc-dev' in '../linux-libc-dev_5.11.0-1_amd64.deb'.\ndpkg-deb: building package 'linux-image-5.11.0' in '../linux-image-5.11.0_5.11.0-1_amd64.deb'.\ndpkg-deb: building package 'linux-image-5.11.0-dbg' in '../linux-image-5.11.0-dbg_5.11.0-1_amd64.deb'.\n dpkg-genbuildinfo --build=binary\n dpkg-genchanges --build=binary >../linux-5.11.0_5.11.0-1_amd64.changes\ndpkg-genchanges: info: binary-only upload (no source code included)\n dpkg-source --after-build .\ndpkg-buildpackage: info: binary-only upload (no source included)\n$ ls -1s ../linux*.deb (5)\n 7932 ../linux-headers-5.11.0_5.11.0-1_amd64.deb\n728724 ../linux-image-5.11.0-dbg_5.11.0-1_amd64.deb\n 52136 ../linux-image-5.11.0_5.11.0-1_amd64.deb\n 1124 ../linux-libc-dev_5.11.0-1_amd64.deb\n$ sudo apt install ../linux-image-5.11.0_5.11.0-1_amd64.deb ../linux-libc-dev_5.11.0-1_amd64.deb ../linux-headers-5.11.0_5.11.0-1_amd64.deb (6)\n\n\n\n\n\u73fe\u5728\u306ekernel config\u3092\u30b3\u30d4\u30fc\u3059\u308b\n\u65b0\u3057\u3044\u8a2d\u5b9a\u3092\u65e2\u5b9a\u5024\u3067\u8a2d\u5b9a\nDebian\u306ekernel source\u304b\u3089\u8a3c\u660e\u66f8\u3092\u30b3\u30d4\u30fc(\u82e5\u3057\u304f\u306f CONFIG_SYSTEM_TRUSTED_KEYS=\"\" \u3059\u308b)\ncpu\u6570\u3092\u6307\u5b9a\u3057\u3066\u30d3\u30eb\u30c9\u958b\u59cb\n\u51fa\u6765\u4e0a\u304c\u3063\u305f\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u78ba\u8a8d\n\u51fa\u6765\u4e0a\u304c\u3063\u305f\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u5c0e\u5165\n\n\n\nMachine Owner Key(MOK)\u3067\u7f72\u540d\u3059\u308b(\u30bb\u30ad\u30e5\u30a2\u30d6\u30fc\u30c8\u3092\u6709\u52b9\u306b\u3057\u3066\u3044\u308b\u5834\u5408\u306b\u306e\u307f\u5fc5\u8981\u306a\u51e6\u7406)\n\n$ sudo sbsign --key ~/MOK.priv --cert ~/MOK.pem /boot/vmlinuz-5.11.0 --output vmlinuz-5.11.0 (1)\n$ sudo mv ./vmlinuz-5.11.0 /boot/vmlinuz-5.11.0\n$ find /lib/modules/5.11.0/updates/dkms/ -type f | xargs -n1 sudo ./scripts/sign-file sha256 ~/MOK.priv ~/MOK.der (2)\n\n\n\n\nkernel\u306b\u7f72\u540d\nDKMS\u3067\u4f5c\u6210\u3057\u305fmodule\u306b\u7f72\u540d\n\n\n\n\u3053\u306e\u3042\u305f\u308a\u306e\u51e6\u7406\u306f\u81ea\u52d5\u5316\u3067\u304d\u308b\u3068\u601d\u3046\u3093\u3060\u3051\u3069\u672a\u78ba\u8a8d\uff0e\nMOK\u306e\u4f5c\u6210\u3084\uff0c\u30bb\u30ad\u30e5\u30a2\u30d6\u30fc\u30c8\u306b\u3064\u3044\u3066\u306f\u4ee5\u4e0b\u306e\u30da\u30fc\u30b8\u304c\u53c2\u8003\u306b\u306a\u308b\uff0e\n\n\n\nSecureBoot – Debian Wiki\n\n\n\n\n\n\u74b0\u5883\n\n\n\n$ dpkg-query -W build-essential linux-source bc kmod cpio flex libncurses5-dev libelf-dev libssl-dev dwarves sbsign\ntool\nbc 1.07.1-2+b2\nbuild-essential 12.9\ncpio 2.13+dfsg-4\ndwarves 1.20-1\nflex 2.6.4-8\nkmod 28-1\nlibelf-dev:amd64 0.183-1\nlibncurses5-dev:amd64 6.2+20201114-2\nlibssl-dev:amd64 1.1.1j-1\nlinux-source 5.10.13-1\nsbsigntool 0.9.2-2\n$ lsb_release -dr\nDescription: Debian GNU/Linux bullseye/sid\nRelease: unstable\n$ uname -mr\n5.10.0-3-amd64 x86_64\n\n\n\n\u518d\u8d77\u52d5\u5f8c\n\n$ uname -mr\n5.11.0 x86_64", "date_published": "2021-02-23T07:14:26+09:00", "date_modified": "2021-02-23T07:15:18+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "kernel", "Linux", "Debian", "sid" ] }, { "id": "http://matoken.org/blog/?p=2752", "url": "https://matoken.org/blog/2020/05/26/chromium-risolve-il-problema-che-tutti-gli-schermi-sono-condivisi-quando-si-utilizza-la-condivisione-dello-schermo-in-un-browser-web-su-ambienti-multi-monitor-linux/", "title": "Linux\u30de\u30eb\u30c1\u30e2\u30cb\u30bf\u74b0\u5883\u306e\u30a6\u30a7\u30d6\u30d6\u30e9\u30a6\u30b6\u3067\u30b9\u30af\u30ea\u30fc\u30f3\u5171\u6709\u3092\u884c\u3046\u3068\u3059\u3079\u3066\u306e\u30b9\u30af\u30ea\u30fc\u30f3\u304c\u5171\u6709\u3055\u308c\u3066\u3057\u307e\u3046\u554f\u984c\u304cChromium\u3067\u89e3\u6c7a", "content_html": "
\n

\u4f8b\u3048\u3070\u30e2\u30cb\u30bf\u306e\u8a2d\u5b9a\u304c\u3053\u3046\u306a\u3063\u3066\u3044\u308b\u72b6\u614b\u3067

\n
\n
\n

\"Linux

\n
\n
\n

\u30a6\u30a7\u30d6\u30d6\u30e9\u30a6\u30b6\u3067Jitsi Meet\u3084Zoom\u306a\u3069\u3067\u30b9\u30af\u30ea\u30fc\u30f3\u5171\u6709\u3057\u3088\u3046\u3068\u3059\u308b\u3068\u8907\u6570\u306e\u30b9\u30af\u30ea\u30fc\u30f3\u304c\u3059\u3079\u3066\u4e00\u7dd2\u306b\u306a\u3063\u30661\u3064\u306e\u753b\u9762\u3068\u3057\u3066\u5171\u6709\u3055\u308c\u3066\u3057\u307e\u3044\u307e\u3059\uff0e

\n
\n
\n
Chromium 81.0.4044.92 built on Debian bullseye/sid, running on Debian bullseye/sid
\n

\"Linux

\n
\n
\n
Mozilla Firefox 76.0.1(Debian sid amd64 package\u7248)
\n

\"Linux

\n
\n
\n

\u4f8b\u3048\u3070LibreOffice \u3067\u30d7\u30ec\u30bc\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\u30e2\u30fc\u30c9\u3067\u30bb\u30ab\u30f3\u30c0\u30ea\u30e2\u30cb\u30bf\u306b\u30b9\u30e9\u30a4\u30c9\u3092\u30d5\u30eb\u30b9\u30af\u30ea\u30fc\u30f3\u8868\u793a\u3055\u305b\u3066\u305d\u308c\u3092\u5171\u6709\u3057\u305f\u3044\u3068\u3044\u3063\u305f\u3053\u3068\u304c\u30b9\u30af\u30ea\u30fc\u30f3\u5171\u6709\u3067\u51fa\u6765\u307e\u305b\u3093\u3067\u3057\u305f\uff0e\u30d5\u30eb\u30b9\u30af\u30ea\u30fc\u30f3\u8868\u793a\u306e\u5f8c\u305d\u306e\u30a6\u30a3\u30f3\u30c9\u30a6\u3092\u5171\u6709\u3059\u308b\u3053\u3068\u306f\u51fa\u6765\u307e\u3059\u304c\uff0c\u9014\u4e2d\u3067\u5225\u306e\u30a6\u30a3\u30f3\u30c9\u30a6\u3092\u898b\u305b\u305f\u3044\u5834\u5408\u30a6\u30a3\u30f3\u30c9\u30a6\u5171\u6709\u3092\u3084\u308a\u76f4\u3055\u306a\u3051\u308c\u3070\u3044\u3051\u306a\u3044\u306e\u3067\u3068\u3066\u3082\u9762\u5012\u3067\u3059\uff0e

\n
\n
\n

\u3053\u308c\u306b\u3064\u3044\u3066\u8abf\u3079\u3066\u307f\u308b\u3068Chromium \u3067\u306f\u6700\u8fd1\u4fee\u6b63\u3055\u308c\u305f\u3088\u3046\u3067\u3059 :)

\n
\n
\n\n
\n
\n

\u4ee5\u4e0b\u304b\u3089Chromium \u306esnapshots binary \u3092\u5165\u624b\u3057\u3066\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

\n
\n
\n\n
\n
\n

\u8a66\u3057\u305f\u30d0\u30fc\u30b8\u30e7\u30f3\u306f Chromium 85.0.4157.0 \u3067\u3057\u305f\uff0e

\n
\n
\n
\n
$ wget 'https://download-chromium.appspot.com/dl/Linux_x64?type=snapshots' -O ./chrome-linux.zip\n$ unzip -l ./chrome-linux.zip | lv\n$ unzip ./chrome-linux.zip\n$ $ ./chrome-linux/chrome --version\nChromium 85.0.4157.0\n$ ./chrome-linux/chrome --temp-profile --user-data-dir=`mktemp -d`
\n
\n
\n
\n

\u3053\u306e\u74b0\u5883\u3067 Jitsi Meet \u306b\u63a5\u7d9a\u3057\u3066\u753b\u9762\u5171\u6709\u3092\u8a66\u3057\u3066\u307f\u308b\u3068 Screen 1, Screen 2 \u3068\u30b9\u30af\u30ea\u30fc\u30f3\u3054\u3068\u306b\u5171\u6709\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3057\u305f :)

\n
\n
\n

\"Linux

\n
\n
\n

Stable \u306b\u964d\u308a\u3066\u304f\u308b\u306e\u306f\u66ab\u304f\u5148\u3067\u3057\u3087\u3046\u304c\u4fbf\u5229\u306b\u306a\u308a\u305d\u3046\u3067\u3059\uff0e

\n
\n
\n

\u3061\u306a\u307f\u306bFirefox \u3082\u5c11\u3057\u8abf\u3079\u3066\u307f\u307e\u3057\u305f\u304c\uff0c\u4ee5\u4e0b\u306e\u3042\u305f\u308a\u3067\u3057\u3087\u3046\u304b?\u672a\u3060\u76f4\u3063\u3066\u306a\u3055\u305d\u3046?\u53e4\u3044bug\u306a\u306e\u3067\u4ed6\u306b\u3082\u4e0a\u304c\u3063\u3066\u305d\u3061\u3089\u3067\u8b70\u8ad6\u3055\u308c\u3066\u3044\u305d\u3046\u3067\u3059\uff0e

\n
\n
\n\n
\n
\n
\u53c2\u8003URL
\n\n
\n
\n
\u74b0\u5883
\n
\n
$ dpkg-query -W chromium firefox\nchromium        81.0.4044.92-1\nfirefox 76.0.1-2\n$ lsb_release -dr\nDescription:    Debian GNU/Linux bullseye/sid\nRelease:        unstable\n$ uname -m\nx86_64
\n
\n
\n

\n", "content_text": "\u4f8b\u3048\u3070\u30e2\u30cb\u30bf\u306e\u8a2d\u5b9a\u304c\u3053\u3046\u306a\u3063\u3066\u3044\u308b\u72b6\u614b\u3067\n\n\n\n\n\n\u30a6\u30a7\u30d6\u30d6\u30e9\u30a6\u30b6\u3067Jitsi Meet\u3084Zoom\u306a\u3069\u3067\u30b9\u30af\u30ea\u30fc\u30f3\u5171\u6709\u3057\u3088\u3046\u3068\u3059\u308b\u3068\u8907\u6570\u306e\u30b9\u30af\u30ea\u30fc\u30f3\u304c\u3059\u3079\u3066\u4e00\u7dd2\u306b\u306a\u3063\u30661\u3064\u306e\u753b\u9762\u3068\u3057\u3066\u5171\u6709\u3055\u308c\u3066\u3057\u307e\u3044\u307e\u3059\uff0e\n\n\nChromium 81.0.4044.92 built on Debian bullseye/sid, running on Debian bullseye/sid\n\n\n\nMozilla Firefox 76.0.1(Debian sid amd64 package\u7248)\n\n\n\n\u4f8b\u3048\u3070LibreOffice \u3067\u30d7\u30ec\u30bc\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\u30e2\u30fc\u30c9\u3067\u30bb\u30ab\u30f3\u30c0\u30ea\u30e2\u30cb\u30bf\u306b\u30b9\u30e9\u30a4\u30c9\u3092\u30d5\u30eb\u30b9\u30af\u30ea\u30fc\u30f3\u8868\u793a\u3055\u305b\u3066\u305d\u308c\u3092\u5171\u6709\u3057\u305f\u3044\u3068\u3044\u3063\u305f\u3053\u3068\u304c\u30b9\u30af\u30ea\u30fc\u30f3\u5171\u6709\u3067\u51fa\u6765\u307e\u305b\u3093\u3067\u3057\u305f\uff0e\u30d5\u30eb\u30b9\u30af\u30ea\u30fc\u30f3\u8868\u793a\u306e\u5f8c\u305d\u306e\u30a6\u30a3\u30f3\u30c9\u30a6\u3092\u5171\u6709\u3059\u308b\u3053\u3068\u306f\u51fa\u6765\u307e\u3059\u304c\uff0c\u9014\u4e2d\u3067\u5225\u306e\u30a6\u30a3\u30f3\u30c9\u30a6\u3092\u898b\u305b\u305f\u3044\u5834\u5408\u30a6\u30a3\u30f3\u30c9\u30a6\u5171\u6709\u3092\u3084\u308a\u76f4\u3055\u306a\u3051\u308c\u3070\u3044\u3051\u306a\u3044\u306e\u3067\u3068\u3066\u3082\u9762\u5012\u3067\u3059\uff0e\n\n\n\u3053\u308c\u306b\u3064\u3044\u3066\u8abf\u3079\u3066\u307f\u308b\u3068Chromium \u3067\u306f\u6700\u8fd1\u4fee\u6b63\u3055\u308c\u305f\u3088\u3046\u3067\u3059 :)\n\n\n\n396091 – desktopCapture.chooseDesktopMedia does not support multiple screens on linux – chromium\n\n\n\n\u4ee5\u4e0b\u304b\u3089Chromium \u306esnapshots binary \u3092\u5165\u624b\u3057\u3066\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\n\n\nDownload Chromium\n\n\n\n\u8a66\u3057\u305f\u30d0\u30fc\u30b8\u30e7\u30f3\u306f Chromium 85.0.4157.0 \u3067\u3057\u305f\uff0e\n\n\n\n$ wget 'https://download-chromium.appspot.com/dl/Linux_x64?type=snapshots' -O ./chrome-linux.zip\n$ unzip -l ./chrome-linux.zip | lv\n$ unzip ./chrome-linux.zip\n$ $ ./chrome-linux/chrome --version\nChromium 85.0.4157.0\n$ ./chrome-linux/chrome --temp-profile --user-data-dir=`mktemp -d`\n\n\n\n\u3053\u306e\u74b0\u5883\u3067 Jitsi Meet \u306b\u63a5\u7d9a\u3057\u3066\u753b\u9762\u5171\u6709\u3092\u8a66\u3057\u3066\u307f\u308b\u3068 Screen 1, Screen 2 \u3068\u30b9\u30af\u30ea\u30fc\u30f3\u3054\u3068\u306b\u5171\u6709\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3057\u305f :)\n\n\n\n\n\nStable \u306b\u964d\u308a\u3066\u304f\u308b\u306e\u306f\u66ab\u304f\u5148\u3067\u3057\u3087\u3046\u304c\u4fbf\u5229\u306b\u306a\u308a\u305d\u3046\u3067\u3059\uff0e\n\n\n\u3061\u306a\u307f\u306bFirefox \u3082\u5c11\u3057\u8abf\u3079\u3066\u307f\u307e\u3057\u305f\u304c\uff0c\u4ee5\u4e0b\u306e\u3042\u305f\u308a\u3067\u3057\u3087\u3046\u304b?\u672a\u3060\u76f4\u3063\u3066\u306a\u3055\u305d\u3046?\u53e4\u3044bug\u306a\u306e\u3067\u4ed6\u306b\u3082\u4e0a\u304c\u3063\u3066\u305d\u3061\u3089\u3067\u8b70\u8ad6\u3055\u308c\u3066\u3044\u305d\u3046\u3067\u3059\uff0e\n\n\n\n513506 – Presentation Mode with multiple screens: duplicate/mirror main window to secondary screen-.\n\n\n\n\u53c2\u8003URL\n\nvideomeeting:jitsi [wiki.matoken.org]\n\n\n\n\u74b0\u5883\n\n$ dpkg-query -W chromium firefox\nchromium 81.0.4044.92-1\nfirefox 76.0.1-2\n$ lsb_release -dr\nDescription: Debian GNU/Linux bullseye/sid\nRelease: unstable\n$ uname -m\nx86_64", "date_published": "2020-05-26T23:59:26+09:00", "date_modified": "2020-05-26T23:59:26+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "Chromium", "Firefox", "Linux", "multimonitor", "Debian", "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": "

\"20171207_01:12:04-24154\"/

\n

Opera\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

\n\n

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

Linux ARM\u7248Vivaldi\u306e\u5165\u624b\u3068\u78ba\u8a8d

\n

deb pkg\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9

\n
\n
$ wget https://downloads.vivaldi.com/stable/vivaldi-stable_1.13.1008.34-1_armhf.deb\r\n
\n
\n

hash

\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
\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
\n

\u30d1\u30c3\u30b1\u30fc\u30b8\u60c5\u5831\u78ba\u8a8d

\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
\n

\u5c0e\u5165

\n

\u3068\u308a\u3042\u3048\u305aDebian jessie armhf/Ubuntu 16.04 LTS aarch64\u3067\u52d5\u3044\u3066\u3044\u308b\uff0e

\n

Debian/Ubuntu\u7b49

\n
\n
$ sudo dpkg -i ./vivaldi-stable_1.13.1008.34-1_armhf.deb\r\n
\n
\n

\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u4f9d\u5b58\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u8db3\u308a\u306a\u3044\u5834\u5408\u306f\uff0c

\n
\n
dpkg: \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
\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
\n
$ sudo apt install -f\r\n
\n
\n

64bit ARM\u74b0\u5883

\n

\"\u30d0\u30fc\u30b8\u30e7\u30f3\u60c5\u5831_009\"/

\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

\n
\n
$ 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
\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—-

\n

.deb\u304c\u4f7f\u3048\u306a\u3044\u74b0\u5883

\n

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
\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
\n
\n

Slackware\u3060\u3068\u4ee5\u4e0b\u306esctipt\u304c\u4f7f\u3048\u305d\u3046(\u672a\u78ba\u8a8d)

\n\n

\u554f\u984c

\n

sandbox

\n

\u3082\u3057\uff0c\u3053\u3093\u306a\u30a8\u30e9\u30fc\u304c\u51fa\u305f\u3089

\n
\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
\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
\n
$ chmod 4755 ~/opt/vivaldi/opt/vivaldi/vivaldi-sandbox\r\n$ sudo chown root.root ~/opt/vivaldi/opt/vivaldi/vivaldi-sandbox\r\n
\n
\n

\u82e5\u3057\u304f\u306f --no-sandbox option

\n
\n
$ ~/opt/vivaldi/opt/vivaldi/vivaldi --no-sandbox\r\n
\n
\n

\u65e5\u672c\u8a9e\u8c46\u8150\u554f\u984c

\n

\ufffc\ufffc\ufffc\"20171206_06:12:20-5069\"/\"20171206_07:12:16-6600\"/

\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
\n
$ sudo apt install fonts-vlgothic\r\n
\n
\n

\u95a2\u9023

\n\n
\n

\n

\n
\n", "content_text": "Opera\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\n\nVivaldi for Linux ARM, Raspberry Pi | Vivaldi Browser\nVivaldi on Raspberry Pi | Vivaldi Browser Help\n\nRaspberry 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\nLinux ARM\u7248Vivaldi\u306e\u5165\u624b\u3068\u78ba\u8a8d\ndeb pkg\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\n\n$ wget https://downloads.vivaldi.com/stable/vivaldi-stable_1.13.1008.34-1_armhf.deb\r\n\n\nhash\nhash\u3068\u304b\u898b\u5f53\u305f\u3089\u306a\u3044\u3051\u3069\u624b\u5143\u3067\u306f\u3053\u3093\u306a\u611f\u3058\u3060\u3063\u305f\n\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\n\u30d1\u30c3\u30b1\u30fc\u30b8\u60c5\u5831\u78ba\u8a8d\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\n\u5c0e\u5165\n\u3068\u308a\u3042\u3048\u305aDebian jessie armhf/Ubuntu 16.04 LTS aarch64\u3067\u52d5\u3044\u3066\u3044\u308b\uff0e\nDebian/Ubuntu\u7b49\n\n$ sudo dpkg -i ./vivaldi-stable_1.13.1008.34-1_armhf.deb\r\n\n\n\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u4f9d\u5b58\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u8db3\u308a\u306a\u3044\u5834\u5408\u306f\uff0c\n\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\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\n$ sudo apt install -f\r\n\n\n64bit ARM\u74b0\u5883\n\naarch64\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\n\n$ 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\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—-\n.deb\u304c\u4f7f\u3048\u306a\u3044\u74b0\u5883\ndeb\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\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\n\nSlackware\u3060\u3068\u4ee5\u4e0b\u306esctipt\u304c\u4f7f\u3048\u305d\u3046(\u672a\u78ba\u8a8d)\n\nThis script will find the latest Vivaldi binary package, download it and repackage it into Slackware format.\n\n\u554f\u984c\nsandbox\n\u3082\u3057\uff0c\u3053\u3093\u306a\u30a8\u30e9\u30fc\u304c\u51fa\u305f\u3089\n\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\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\n$ chmod 4755 ~/opt/vivaldi/opt/vivaldi/vivaldi-sandbox\r\n$ sudo chown root.root ~/opt/vivaldi/opt/vivaldi/vivaldi-sandbox\r\n\n\n\u82e5\u3057\u304f\u306f --no-sandbox option\n\n$ ~/opt/vivaldi/opt/vivaldi/vivaldi --no-sandbox\r\n\n\n\u65e5\u672c\u8a9e\u8c46\u8150\u554f\u984c\n\ufffc\ufffc\ufffc\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\n$ sudo apt install fonts-vlgothic\r\n\n\n\u95a2\u9023\n\nARM\u7248Vivaldi\u3068\u308a\u3042\u3048\u305aRaspberry Pi\u3067\u306f\u306a\u3044ARM\u306eDebian\u3067\u52d5\u304b\u3057\u3066\u307f\u305f \u8c46\u8150\u306f\u591a\u5206\u8a2d\u5b9a\u3067\u76f4\u308b\u3093\u3060\u308d\u3046\u3051\u3069\u3069\u3053\u3084\u2026\u2026\n\u3053\u3053\u306b\u3042\u3063\u305f \u3057\u304b\u3057\u3053\u306e\u677f\u306b\u306f\u307e\u3068\u3082\u306a\u30d5\u30a9\u30f3\u30c8\u5165\u3063\u3066\u306a\u304b\u3063\u305f\nDejavu\u304c\u5165\u3063\u3066\u305f\u306e\u3067\u305d\u308c\u6307\u5b9a\u3057\u3066\u307f\u305f\u3089\u5909\u308f\u3089\u305a\naarch64\u3067\u3082\u52d5\u304b\u305d\u3046\u3068\u3057\u3066\u305f\u3093\u3060\u3051\u3069disk full\u3067\u8ae6\u3081\u305f", "date_published": "2017-12-07T06:32:30+09:00", "date_modified": "2017-12-23T17:02:36+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "arm64", "armhf", "Linux", "Web browser", "Debian", "Dragonboard 410c", "jessie", "Rasbian_jessie", "Raspberry Pi", "Ubuntu", "xenial(16.04)" ] }, { "id": "http://matoken.org/blog/?p=1684", "url": "https://matoken.org/blog/2017/10/20/participated-in-the-kagoshima-linux-study-meeting-2017-10/", "title": "\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a 2017.10\u306b\u53c2\u52a0", "content_html": "

\u9e7f\u5150\u5cf6\u3089\u3050\u306e\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a 2017.10\u306b\u53c2\u52a0\u3057\u3066\u304d\u307e\u3057\u305f\uff0e

\n

\u65e5\u6642

\n\n\n\n\n
\n
2017-10-14(\u571f) 14:00-17:00(\u6e96\u5099\u64a4\u53ce\u6642\u9593\u3092\u542b\u3080)
\n
\n

\u4f1a\u5834

\n\n\n\n\n
\n
\u30e2\u30ce\u3065\u304f\u308a\u30b9\u30da\u30fc\u30b9 TUKUDDO\r\nhttp://tukuddo.com/
\n
\n

\u4f8b\u306b\u3088\u3063\u3066\u81ea\u8ee2\u8eca\u3067\u30dd\u30bf\u30dd\u30bf\u3068\u685c\u5cf6\u30d5\u30a7\u30ea\u30fc\u7d4c\u7531\u3067\u79fb\u52d5\uff0e

\n

\n

\u706b\u5c71\u7070\u3084\u96e8\u304c\u5fc3\u914d\u3067\u3057\u305f\u304c\uff0c\u5f80\u8def\u306f\u3069\u3061\u3089\u3082\u554f\u984c\u306a\u304f\u5feb\u9069\u3067\u3057\u305f\uff0e
\n\u30d5\u30a7\u30ea\u30fc\u3067\u30e1\u30fc\u30eb\u30c1\u30a7\u30c3\u30af\u3092\u3059\u308b\u3068\u30d1\u30b1\u30c3\u30c8\u304c250MB\u3092\u5207\u3063\u305f\u3068\u306e\u30e1\u30fc\u30eb\u304c\uff0e\u78ba\u8a8d\u3059\u308b\u3068\u6b8b\u308a54MB!\u60f3\u5b9a\u5916\u306e\u6e1b\u308a\u65b9\u3067\u3059\uff0e
\n\u78ba\u8a8d\u3059\u308b\u3068IFTTT\u306e\u5199\u771f\u9023\u643a\u304cmobile\u3067\u6709\u52b9\u306b\u306a\u3063\u3066\u3044\u305f\u306e\u304c\u539f\u56e0\u3067\u3057\u305f\u2026\u2026\uff0e

\n

\n

\u30d5\u30a7\u30ea\u30fc\u3067\u6e21\u3063\u305f\u5f8c\u306f\u30a4\u30eb\u30ab\u773a\u3081\u3066\u306f\u306a\u307e\u308b\u3046\u3069\u3093\u3067\u304b\u3051\u3046\u3093\u3069\u3093\u98df\u3079\u3066\u4e2d\u753a\u81ea\u8ee2\u8eca\u7b49\u99d0\u8f2a\u5834\u306b\u99d0\u8f2a\uff0e\u30b8\u30e5\u30f3\u30af\u5802\u66f8\u5e97\u306b\u5bc4\u3063\u3066\uff0cAC\u30a2\u30c0\u30d7\u30bf\u3092\u5fd8\u308c\u305f\u306e\u3067\u30c0\u30a4\u30bd\u30fc\u30a2\u30aa\u30e4\u30de\u3067
\n200\u5186\u306eAC-USB\u5909\u63db\u3092\u8cfc\u5165(\u4f1a\u5834\u306e\u96fb\u6e90\u30bf\u30c3\u30d7\u306b\u3064\u3044\u3066\u3044\u305f\u306e\u3067\u3044\u3089\u306a\u304b\u3063\u305f)
\n\u30c0\u30a4\u30bd\u30fc\u30a2\u30aa\u30e4\u30de\u3067\u306f\u5148\u6708\u58f2\u3063\u3066\u3044\u305f500\u5186\u306eLipo\u30e2\u30d0\u30a4\u30eb\u30d0\u30c3\u30c6\u30ea\u30fc\u306f\u58f2\u308a\u5207\u308c\u3066\u3044\u3066\uff0c300\u5186\u306e1860\u5165\u308a\u30e2\u30d0\u30a4\u30eb\u30d0\u30c3\u30c6\u30ea\u30fc\u306f\u5728\u5eab\u8c4a\u5bcc\u3067\u3057\u305f\uff0e
\n\u4e38\u5584\u3068\u30a2\u30cb\u30e1\u30a4\u30c8\u3082\u884c\u304d\u305f\u304b\u3063\u305f\u3051\u3069\u6642\u9593\u304c\u306a\u304f\u3066\u65ad\u5ff5\uff0e\u4f1a\u5834\u306eTUKUDDO\u3078\uff0e

\n

\n

TUKUDDO\u3067\u306f\u96fb\u6e90\u30a2\u30c0\u30d7\u30bf\u3068\u30d7\u30ed\u30b8\u30a7\u30af\u30bf\u306e\u7528\u610f\uff0e\u3053\u3053\u306f\u30d7\u30ed\u30b8\u30a7\u30af\u30bf\u306bChromeCast\u304c\u7e4b\u304c\u3063\u3066\u3044\u308b\u306e\u3067\u767a\u8868\u8005\u304c\u5909\u308f\u308b\u305f\u3073\u306b\u30b1\u30fc\u30d6\u30eb\u3092\u7e4b\u304e\u76f4\u3057\u305f\u308a\u3057\u306a\u304f\u3066\u3044\u3044\u306e\u3067\u4fbf\u5229
\n\u3067\u3059 :)

\n

\u53c2\u52a0\u8005\u306f\u9014\u4e2d\u53c2\u52a0\u8005\u3092\u542b\u3081\u30666\u4eba\uff0e\u5185\u65b0\u898f\u306e\u65b9\u304c1\u540d\u3044\u3089\u3063\u3057\u3083\u3044\u307e\u3057\u305f\uff0e

\n

\u767a\u8868\u5185\u5bb9\u306f\uff0c

\n\n

\u305d\u306e\u4ed6\u76f8\u8ac7\u3068\u3057\u3066\uff0c

\n\n

\u306a\u3069\u304c\u3042\u308a\u307e\u3057\u305f\uff0e

\n

\u81ea\u5206\u306e\u767a\u8868\u3082\u3046\u5c11\u3057\u4f38\u3070\u3057\u305f\u65b9\u304c\u826f\u304b\u3063\u305f\u304b\u3082\u3068\u601d\u3044\u3064\u3064\u8131\u7dda\u3057\u306a\u304c\u3089\u6642\u9593\u6f70\u305b\u307e\u3057\u305f\uff0e
\n\u6b21\u56de\u306e\u65e5\u7a0b\u306e\u5e0c\u671b\u65e5\u306f\u7279\u306b\u51fa\u305a\uff0c\u65e9\u304f\u6c7a\u3081\u3066\u6b32\u3057\u3044\u3068\u3044\u3046\u610f\u898b\u304c\uff0e
\n\u3068\u308a\u3042\u3048\u305aASNARO-2(\u30a4\u30d7\u30b7\u30ed\u30f3)\u6253\u3061\u4e0a\u3052\u304c\u5ef6\u671f\u306b\u306a\u3063\u305f\u306e\u306711/11(Sat)\u304b\u306a\u30fc\u3068\u304b\u8a00\u3044\u3064\u3064\u89e3\u6563\u3067\u3057\u305f\uff0e

\n

\u81ea\u5206\u306f\u81ea\u8ee2\u8eca\u3092\u56de\u53ce\u3057\u3066\u770c\u7acb\u56f3\u66f8\u9928\u3067\u672c\u30922\u518a\u501f\u308a\u3066(\u30ad\u30e3\u30ea\u30a2\u3064\u3051\u5fd8\u308c\u305f\u306e\u3067\u5c11\u306a\u3081\u306b)\u30cb\u30b7\u30e0\u30bf\u306b\u5bc4\u3063\u3066\u5782\u6c34\u30d5\u30a7\u30ea\u30fc\u7d4c\u7531\u3067\u5e30\u5b85\u3057\u307e\u3057\u305f\uff0e
\n\u5782\u6c34\u304b\u3089\u96e8\u3068\u98a8\u304c\u5f37\u304f\u3066\u3061\u3087\u3063\u3068\u96e3\u5100\u3057\u307e\u3057\u305f\uff0e\u96e8\u98a8\u306f\u81ea\u8ee2\u8eca\u306b\u306f\u8f9b\u3044\u3067\u3059\u306d\uff0e

\n

\u6b21\u56de\u306e\u60c5\u5831\u306a\u3069\u306fSite\u3084ML\u3067\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\uff0e

\n\n

\n

Vuls\u306e\u7279\u96c6\u3042\u308a

\n", "content_text": "\u9e7f\u5150\u5cf6\u3089\u3050\u306e\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a 2017.10\u306b\u53c2\u52a0\u3057\u3066\u304d\u307e\u3057\u305f\uff0e\n\u65e5\u6642\n\n\n\n2017-10-14(\u571f) 14:00-17:00(\u6e96\u5099\u64a4\u53ce\u6642\u9593\u3092\u542b\u3080)\n\n\n\n\u4f1a\u5834\n\n\n\n\u30e2\u30ce\u3065\u304f\u308a\u30b9\u30da\u30fc\u30b9 TUKUDDO\r\nhttp://tukuddo.com/\n\n\n\n\u4f8b\u306b\u3088\u3063\u3066\u81ea\u8ee2\u8eca\u3067\u30dd\u30bf\u30dd\u30bf\u3068\u685c\u5cf6\u30d5\u30a7\u30ea\u30fc\u7d4c\u7531\u3067\u79fb\u52d5\uff0e\n\n\u706b\u5c71\u7070\u3084\u96e8\u304c\u5fc3\u914d\u3067\u3057\u305f\u304c\uff0c\u5f80\u8def\u306f\u3069\u3061\u3089\u3082\u554f\u984c\u306a\u304f\u5feb\u9069\u3067\u3057\u305f\uff0e\n\u30d5\u30a7\u30ea\u30fc\u3067\u30e1\u30fc\u30eb\u30c1\u30a7\u30c3\u30af\u3092\u3059\u308b\u3068\u30d1\u30b1\u30c3\u30c8\u304c250MB\u3092\u5207\u3063\u305f\u3068\u306e\u30e1\u30fc\u30eb\u304c\uff0e\u78ba\u8a8d\u3059\u308b\u3068\u6b8b\u308a54MB!\u60f3\u5b9a\u5916\u306e\u6e1b\u308a\u65b9\u3067\u3059\uff0e\n\u78ba\u8a8d\u3059\u308b\u3068IFTTT\u306e\u5199\u771f\u9023\u643a\u304cmobile\u3067\u6709\u52b9\u306b\u306a\u3063\u3066\u3044\u305f\u306e\u304c\u539f\u56e0\u3067\u3057\u305f\u2026\u2026\uff0e\n\n\u30d5\u30a7\u30ea\u30fc\u3067\u6e21\u3063\u305f\u5f8c\u306f\u30a4\u30eb\u30ab\u773a\u3081\u3066\u306f\u306a\u307e\u308b\u3046\u3069\u3093\u3067\u304b\u3051\u3046\u3093\u3069\u3093\u98df\u3079\u3066\u4e2d\u753a\u81ea\u8ee2\u8eca\u7b49\u99d0\u8f2a\u5834\u306b\u99d0\u8f2a\uff0e\u30b8\u30e5\u30f3\u30af\u5802\u66f8\u5e97\u306b\u5bc4\u3063\u3066\uff0cAC\u30a2\u30c0\u30d7\u30bf\u3092\u5fd8\u308c\u305f\u306e\u3067\u30c0\u30a4\u30bd\u30fc\u30a2\u30aa\u30e4\u30de\u3067\n200\u5186\u306eAC-USB\u5909\u63db\u3092\u8cfc\u5165(\u4f1a\u5834\u306e\u96fb\u6e90\u30bf\u30c3\u30d7\u306b\u3064\u3044\u3066\u3044\u305f\u306e\u3067\u3044\u3089\u306a\u304b\u3063\u305f)\n\u30c0\u30a4\u30bd\u30fc\u30a2\u30aa\u30e4\u30de\u3067\u306f\u5148\u6708\u58f2\u3063\u3066\u3044\u305f500\u5186\u306eLipo\u30e2\u30d0\u30a4\u30eb\u30d0\u30c3\u30c6\u30ea\u30fc\u306f\u58f2\u308a\u5207\u308c\u3066\u3044\u3066\uff0c300\u5186\u306e1860\u5165\u308a\u30e2\u30d0\u30a4\u30eb\u30d0\u30c3\u30c6\u30ea\u30fc\u306f\u5728\u5eab\u8c4a\u5bcc\u3067\u3057\u305f\uff0e\n\u4e38\u5584\u3068\u30a2\u30cb\u30e1\u30a4\u30c8\u3082\u884c\u304d\u305f\u304b\u3063\u305f\u3051\u3069\u6642\u9593\u304c\u306a\u304f\u3066\u65ad\u5ff5\uff0e\u4f1a\u5834\u306eTUKUDDO\u3078\uff0e\n\nTUKUDDO\u3067\u306f\u96fb\u6e90\u30a2\u30c0\u30d7\u30bf\u3068\u30d7\u30ed\u30b8\u30a7\u30af\u30bf\u306e\u7528\u610f\uff0e\u3053\u3053\u306f\u30d7\u30ed\u30b8\u30a7\u30af\u30bf\u306bChromeCast\u304c\u7e4b\u304c\u3063\u3066\u3044\u308b\u306e\u3067\u767a\u8868\u8005\u304c\u5909\u308f\u308b\u305f\u3073\u306b\u30b1\u30fc\u30d6\u30eb\u3092\u7e4b\u304e\u76f4\u3057\u305f\u308a\u3057\u306a\u304f\u3066\u3044\u3044\u306e\u3067\u4fbf\u5229\n\u3067\u3059 :)\n\u53c2\u52a0\u8005\u306f\u9014\u4e2d\u53c2\u52a0\u8005\u3092\u542b\u3081\u30666\u4eba\uff0e\u5185\u65b0\u898f\u306e\u65b9\u304c1\u540d\u3044\u3089\u3063\u3057\u3083\u3044\u307e\u3057\u305f\uff0e\n\u767a\u8868\u5185\u5bb9\u306f\uff0c\n\n\n\nZabbix\u3068Vuls\u3092Docker\u4e0a\u3067\u9023\u643a\n\n\n\n\nZabbix3.4\u3092docker\u3067\u904b\u7528\u3057\u3066Vuls\u3068\u9023\u643a\u3055\u305b\u308b\u3000\u301c \u305d\u306e3 \u301c Zabbix\u3068Vuls\u306e\u9023\u643a – Qiita\n\n\n\n\n\n\nCheap Linux VR Desktop\n\n\n\n\n\u8ca7\u8005\u306eHardWare Encode?\n\n\n\n\nKeyboard\u3042\u308c\u3053\u308c\n\n\n\n\nmatoken / \u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a 2017.10 / \u30bd\u30fc\u30b9 / \u2014 Bitbucket\n\n\n\n\n\n\u305d\u306e\u4ed6\u76f8\u8ac7\u3068\u3057\u3066\uff0c\n\n\n\n\u30b7\u30b9\u30c6\u30e0\u306e\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u306e\u76f8\u8ac7\n\n\n\n\n\u30b7\u30b9\u30c6\u30e0\u7b49\u306e\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u306e\u8a71\n\n\n\n\nPython Boot Camp in \u9e7f\u5150\u5cf6\u306e\u544a\u77e5\n\n\n\n\n(TA\u52df\u96c6)\n\n\n\n\n\n\u306a\u3069\u304c\u3042\u308a\u307e\u3057\u305f\uff0e\n\u81ea\u5206\u306e\u767a\u8868\u3082\u3046\u5c11\u3057\u4f38\u3070\u3057\u305f\u65b9\u304c\u826f\u304b\u3063\u305f\u304b\u3082\u3068\u601d\u3044\u3064\u3064\u8131\u7dda\u3057\u306a\u304c\u3089\u6642\u9593\u6f70\u305b\u307e\u3057\u305f\uff0e\n\u6b21\u56de\u306e\u65e5\u7a0b\u306e\u5e0c\u671b\u65e5\u306f\u7279\u306b\u51fa\u305a\uff0c\u65e9\u304f\u6c7a\u3081\u3066\u6b32\u3057\u3044\u3068\u3044\u3046\u610f\u898b\u304c\uff0e\n\u3068\u308a\u3042\u3048\u305aASNARO-2(\u30a4\u30d7\u30b7\u30ed\u30f3)\u6253\u3061\u4e0a\u3052\u304c\u5ef6\u671f\u306b\u306a\u3063\u305f\u306e\u306711/11(Sat)\u304b\u306a\u30fc\u3068\u304b\u8a00\u3044\u3064\u3064\u89e3\u6563\u3067\u3057\u305f\uff0e\n\u81ea\u5206\u306f\u81ea\u8ee2\u8eca\u3092\u56de\u53ce\u3057\u3066\u770c\u7acb\u56f3\u66f8\u9928\u3067\u672c\u30922\u518a\u501f\u308a\u3066(\u30ad\u30e3\u30ea\u30a2\u3064\u3051\u5fd8\u308c\u305f\u306e\u3067\u5c11\u306a\u3081\u306b)\u30cb\u30b7\u30e0\u30bf\u306b\u5bc4\u3063\u3066\u5782\u6c34\u30d5\u30a7\u30ea\u30fc\u7d4c\u7531\u3067\u5e30\u5b85\u3057\u307e\u3057\u305f\uff0e\n\u5782\u6c34\u304b\u3089\u96e8\u3068\u98a8\u304c\u5f37\u304f\u3066\u3061\u3087\u3063\u3068\u96e3\u5100\u3057\u307e\u3057\u305f\uff0e\u96e8\u98a8\u306f\u81ea\u8ee2\u8eca\u306b\u306f\u8f9b\u3044\u3067\u3059\u306d\uff0e\n\u6b21\u56de\u306e\u60c5\u5831\u306a\u3069\u306fSite\u3084ML\u3067\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\uff0e\n\n\n\n\u9e7f\u5150\u5cf6\u3089\u3050(Linux User’s Group)\n\n\n\n\n Vuls\u306e\u7279\u96c6\u3042\u308a", "date_published": "2017-10-20T01:19:14+09:00", "date_modified": "2018-10-12T07:24:33+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "kagolug", "Linux", "\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a", "\u52c9\u5f37\u4f1a" ] }, { "id": "http://matoken.org/blog/?p=1637", "url": "https://matoken.org/blog/2017/08/03/try-asciidocfx-in-the-arm64/", "title": "AsciiDocFX\u3092ARM64\u74b0\u5883\u3068\u304b\u3067\u8a66\u3059", "content_html": "

\n

\u6700\u8fd1\u8efd\u3081\u306e\u30e9\u30a4\u30d6\u30d7\u30ec\u30d3\u30e5\u30fc\u304c\u51fa\u6765\u3066ARM\u74b0\u5883\u3067\u3082\u52d5\u304fAsciiDoc\u74b0\u5883\u304c\u306a\u3044\u304b\u306a\u30fc\u3068\u63a2\u3057\u3066\u3044\u307e\u3059\uff0e\u4eca\u56de\u306fAsciiDocFX\uff0e

\n
\n
\n

Java\u88fd\u306e\u30de\u30eb\u30c1\u30d7\u30e9\u30c3\u30c8\u30db\u30fc\u30e0\u30a8\u30c7\u30a3\u30bf\uff0e\u30e9\u30a4\u30d6\u30d7\u30ec\u30d3\u30e5\u30fc\u6a5f\u80fd\u3082\u3042\u308a\uff0e

\n
\n
\n\n
\n
Asciidoc FX is a book / document editor to build PDF, Epub, Mobi and HTML books, documents and slides. AsciidocFX is also a winner of https://www.oracle.com/corporate/pressrelease/dukes-award-102815.html[Duke\u2019s Choice Award 2015].
\n
\n
\n
\n

\u5c0e\u5165

\n
\n

\u30a2\u30fc\u30ab\u30a4\u30d6\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u5c55\u958b\u3059\u308b\u3060\u3051\uff0e\u30a2\u30fc\u30ab\u30a4\u30d6\u306fOS\u5225\u306bJRE\u540c\u68b1\u7248\u3068JRE\u306a\u3057\u7248\u304c\u3042\u308b\uff0e
\nLinux\u7248JRE\u540c\u68b1\u7248\u306f\u4e2d\u3092\u898b\u308b\u3068amd64\u3060\u3063\u305f\uff0e\u4ed6\u306earchtecture\u3067\u306fNo_JRE\u3092\u9078\u3076\u3057\u304b\u306a\u3055\u305d\u3046\uff0e

\n
\n\n
\n
\u5c0e\u5165\u4f8b
\n
\n
$ wget https://github.com/asciidocfx/AsciidocFX/releases/download/v1.5.5/AsciidocFX_Linux_No_JRE.tar.gz\n$ tar xvf AsciidocFX_Linux_No_JRE.tar.gz\n$ AsciidocFX/bin/AsciidocFX
\n
\n
\n
\n

OpenJDK\u3067\u52d5\u304b\u3059\u5834\u5408\u306f openjfx pkg\u3082\u5fc5\u8981\uff0e

\n
\n
\n
\n
$ sudo apt install openjdk-8-jre openjfx
\n
\n
\n\n
\n

ARM64 + OracleJava\u74b0\u5883\u3067\u306f\u52d5\u4f5c\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u3066\u3044\u306a\u3044\uff0e

\n
\n\n
\n
\n

\u8b66\u544a

\n
\n

\u52d5\u4f5c\u306f\u3057\u305f\u304c\uff0c overlay-scrollbar \u304c\u898b\u3064\u304b\u3089\u306a\u3044\u3068\u3044\u3046\u8b66\u544a\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u51fa\u308b\uff0e

\n
\n
\n
\n
$ ./AsciidocFX\nGtk-Message: Failed to load module \"overlay-scrollbar\"
\n
\n
\n
\n

overlay-scrollbar-gtk2 pkg\u3092\u5c0e\u5165\u3059\u308b\u3053\u3068\u3067\u89e3\u6c7a\uff0e

\n
\n
\n
\n
$ sudo apt install overlay-scrollbar-gtk2
\n
\n
\n
\n
\n

\u4f7f\u3044\u52dd\u624b

\n
\n
    \n
  • \n

    \n\u30e9\u30a4\u30d6\u30d7\u30ec\u30d3\u30e5\u30fc\u304c\u3042\u308b\u306e\u306f\u3084\u306f\u308a\u4fbf\u5229\n

    \n
    \n
      \n
    • \n

      \n\u3088\u304f\u305a\u308c\u308b\u3051\u3069\u3082\u2026\u2026\n

      \n
    • \n
    \n
    \n
  • \n
  • \n

    \n\u52d5\u4f5c\u306fCore2Duo\u30de\u30b7\u30f3\u3067\u3082\u8d77\u52d5\u306b\u306f\u6642\u9593\u304c\u304b\u304b\u308b\u304c\u8d77\u52d5\u3059\u308c\u3070\u554f\u984c\u306a\u304f\u5229\u7528\u3067\u304d\u308b\n

    \n
    \n
      \n
    • \n

      \nARM64(1.2GHz 64-Bit Quad-Core ARM Cortex A54)+OpenJDK\u74b0\u5883\u3067\u306f\u30ad\u30fc\u5165\u529b\u304b\u3089\u306e\u30bf\u30a4\u30e0\u30e9\u30b0\u304c\u6c17\u306b\u306a\u3063\u3066\u8f9b\u3044\n

      \n
    • \n
    \n
    \n
  • \n
  • \n

    \n\u66f8\u304d\u51fa\u3057\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u304cHTML, PDF, Ebook(mobi/Epub), Docbook\u3068\u8c4a\u5bcc\n

    \n
    \n
      \n
    • \n

      \n\u3057\u304b\u3057GUI\u3067\u3057\u304b\u5229\u7528\u3067\u304d\u306a\u3044\u3088\u3046\u3067Marp\u3068\u540c\u3058\u3088\u3046\u306a\u3082\u3069\u304b\u3057\u3055\u304c\u3042\u308b\n

      \n
    • \n
    \n
    \n
  • \n
  • \n

    \n\u57fa\u672c\u7684\u306b3\u30da\u30a4\u30f3\u3067\uff0c\u5de6\u7aef\u306f\u30d5\u30a1\u30a4\u30e9\u30fc\uff0c\u30a2\u30a6\u30c8\u30e9\u30a4\u30f3\uff0c\u6700\u8fd1\u4f7f\u3063\u305f\u30d5\u30a1\u30a4\u30eb\u304c\u5229\u7528\u3067\u304d\u308b\u304c\u9589\u3058\u308b\u3053\u3068\u3082\u51fa\u6765\u308b(\u5de6\u7aef\u306e\u30a2\u30af\u30c6\u30a3\u30d6\u306a\u30bf\u30d6\u3092\u30af\u30ea\u30c3\u30af)\n

    \n
  • \n
  • \n

    \n\u53f3\u7aef\u30da\u30a4\u30f3\u306f\u30d7\u30ec\u30d3\u30e5\u30fc\uff0c\u8a2d\u5b9a\u304c\u53ef\u80fd\u3067\u3053\u308c\u3082\u9589\u3058\u308b\u3053\u3068\u51fa\u6765\u308b(\u53f3\u7aef\u306e\u30a2\u30af\u30c6\u30a3\u30d6\u306a\u30bf\u30d6\u3092\u30af\u30ea\u30c3\u30af)\n

    \n
  • \n
  • \n

    \n\u30de\u30a6\u30b9\u306e\u4e2d\u30dc\u30bf\u30f3\u3084\uff0cshift+Ins\u3067\u306e\u8cbc\u4ed8\u3051\u304c\u3067\u304d\u306a\u3044\n

    \n
  • \n
  • \n

    \n\u901a\u5e38\u306e\u30b3\u30d4\u30fc\uff0c\u30da\u30fc\u30b9\u30c8\u3082\u3067\u304d\u306a\u304f\u306a\u308b\u3053\u3068\u304c\u3042\u308b\n

    \n
  • \n
  • \n

    \n\u5229\u7528\u4e2d\u306b\u30d5\u30a9\u30f3\u30c8\u304c\u6ef2\u3080\u3088\u3046\u306a\u8868\u793a\u306b\u306a\u308b\n

    \n
    \n
      \n
    • \n

      \n\u30a8\u30c7\u30a3\u30bf\u753b\u9762\u3084\u30d7\u30ec\u30d3\u30e5\u30fc\u753b\u9762\u306f\u66f4\u65b0\u3067\u76f4\u308b\u304c\u4ed6\u306e\u90e8\u5206\u306f\u8d77\u52d5\u3057\u76f4\u3055\u306a\u3044\u3068\u76f4\u3089\u306a\u3044\n

      \n
    • \n
    \n
    \n
  • \n
\n
\n
\n

\u3066\u3053\u3068\u3067\u30de\u30a6\u30b9\u4e2d\u30dc\u30bf\u30f3\u8cbc\u308a\u4ed8\u3051\u3084\u624b\u6301\u3061\u306eARM\u3067\u91cd\u3044\u3063\u3066\u3053\u3068\u3067\u9078\u5916\u306b\uff0e

\n
\n
\n
\n", "content_text": "\u6700\u8fd1\u8efd\u3081\u306e\u30e9\u30a4\u30d6\u30d7\u30ec\u30d3\u30e5\u30fc\u304c\u51fa\u6765\u3066ARM\u74b0\u5883\u3067\u3082\u52d5\u304fAsciiDoc\u74b0\u5883\u304c\u306a\u3044\u304b\u306a\u30fc\u3068\u63a2\u3057\u3066\u3044\u307e\u3059\uff0e\u4eca\u56de\u306fAsciiDocFX\uff0e\n\n\nJava\u88fd\u306e\u30de\u30eb\u30c1\u30d7\u30e9\u30c3\u30c8\u30db\u30fc\u30e0\u30a8\u30c7\u30a3\u30bf\uff0e\u30e9\u30a4\u30d6\u30d7\u30ec\u30d3\u30e5\u30fc\u6a5f\u80fd\u3082\u3042\u308a\uff0e\n\n\nAsciidoc Book Editor based on JavaFX 8\n\nAsciidoc FX is a book / document editor to build PDF, Epub, Mobi and HTML books, documents and slides. AsciidocFX is also a winner of https://www.oracle.com/corporate/pressrelease/dukes-award-102815.html[Duke\u2019s Choice Award 2015].\n\n\n\n\u5c0e\u5165\n\n\u30a2\u30fc\u30ab\u30a4\u30d6\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u5c55\u958b\u3059\u308b\u3060\u3051\uff0e\u30a2\u30fc\u30ab\u30a4\u30d6\u306fOS\u5225\u306bJRE\u540c\u68b1\u7248\u3068JRE\u306a\u3057\u7248\u304c\u3042\u308b\uff0e\nLinux\u7248JRE\u540c\u68b1\u7248\u306f\u4e2d\u3092\u898b\u308b\u3068amd64\u3060\u3063\u305f\uff0e\u4ed6\u306earchtecture\u3067\u306fNo_JRE\u3092\u9078\u3076\u3057\u304b\u306a\u3055\u305d\u3046\uff0e\n\n\n\n\n\nHow to Install AsciidocFX \n\n\n\n\n\n\u5c0e\u5165\u4f8b\n\n$ wget https://github.com/asciidocfx/AsciidocFX/releases/download/v1.5.5/AsciidocFX_Linux_No_JRE.tar.gz\n$ tar xvf AsciidocFX_Linux_No_JRE.tar.gz\n$ AsciidocFX/bin/AsciidocFX\n\n\n\nOpenJDK\u3067\u52d5\u304b\u3059\u5834\u5408\u306f openjfx pkg\u3082\u5fc5\u8981\uff0e\n\n\n\n$ sudo apt install openjdk-8-jre openjfx\n\n\n\n\n\n\nOpenJDK\u74b0\u5883\u3067AsciidocFX\u3092\u52d5\u304b\u3059 | matoken’s meme\n\n\n\n\n\nARM64 + OracleJava\u74b0\u5883\u3067\u306f\u52d5\u4f5c\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u3066\u3044\u306a\u3044\uff0e\n\n\n\n\n\nmatoken social:”Debian arm64\u74b0\u5883\u306bOracle Java\u5c0e\u5165\u3081\u3082”\n\n\n\n\n\n\n\u8b66\u544a\n\n\u52d5\u4f5c\u306f\u3057\u305f\u304c\uff0c overlay-scrollbar \u304c\u898b\u3064\u304b\u3089\u306a\u3044\u3068\u3044\u3046\u8b66\u544a\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u51fa\u308b\uff0e\n\n\n\n$ ./AsciidocFX\nGtk-Message: Failed to load module \"overlay-scrollbar\"\n\n\n\noverlay-scrollbar-gtk2 pkg\u3092\u5c0e\u5165\u3059\u308b\u3053\u3068\u3067\u89e3\u6c7a\uff0e\n\n\n\n$ sudo apt install overlay-scrollbar-gtk2\n\n\n\n\n\u4f7f\u3044\u52dd\u624b\n\n\n\n\n\u30e9\u30a4\u30d6\u30d7\u30ec\u30d3\u30e5\u30fc\u304c\u3042\u308b\u306e\u306f\u3084\u306f\u308a\u4fbf\u5229\n\n\n\n\n\n\u3088\u304f\u305a\u308c\u308b\u3051\u3069\u3082\u2026\u2026\n\n\n\n\n\n\n\n\u52d5\u4f5c\u306fCore2Duo\u30de\u30b7\u30f3\u3067\u3082\u8d77\u52d5\u306b\u306f\u6642\u9593\u304c\u304b\u304b\u308b\u304c\u8d77\u52d5\u3059\u308c\u3070\u554f\u984c\u306a\u304f\u5229\u7528\u3067\u304d\u308b\n\n\n\n\n\nARM64(1.2GHz 64-Bit Quad-Core ARM Cortex A54)+OpenJDK\u74b0\u5883\u3067\u306f\u30ad\u30fc\u5165\u529b\u304b\u3089\u306e\u30bf\u30a4\u30e0\u30e9\u30b0\u304c\u6c17\u306b\u306a\u3063\u3066\u8f9b\u3044\n\n\n\n\n\n\n\n\u66f8\u304d\u51fa\u3057\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u304cHTML, PDF, Ebook(mobi/Epub), Docbook\u3068\u8c4a\u5bcc\n\n\n\n\n\n\u3057\u304b\u3057GUI\u3067\u3057\u304b\u5229\u7528\u3067\u304d\u306a\u3044\u3088\u3046\u3067Marp\u3068\u540c\u3058\u3088\u3046\u306a\u3082\u3069\u304b\u3057\u3055\u304c\u3042\u308b\n\n\n\n\n\n\n\n\u57fa\u672c\u7684\u306b3\u30da\u30a4\u30f3\u3067\uff0c\u5de6\u7aef\u306f\u30d5\u30a1\u30a4\u30e9\u30fc\uff0c\u30a2\u30a6\u30c8\u30e9\u30a4\u30f3\uff0c\u6700\u8fd1\u4f7f\u3063\u305f\u30d5\u30a1\u30a4\u30eb\u304c\u5229\u7528\u3067\u304d\u308b\u304c\u9589\u3058\u308b\u3053\u3068\u3082\u51fa\u6765\u308b(\u5de6\u7aef\u306e\u30a2\u30af\u30c6\u30a3\u30d6\u306a\u30bf\u30d6\u3092\u30af\u30ea\u30c3\u30af)\n\n\n\n\n\u53f3\u7aef\u30da\u30a4\u30f3\u306f\u30d7\u30ec\u30d3\u30e5\u30fc\uff0c\u8a2d\u5b9a\u304c\u53ef\u80fd\u3067\u3053\u308c\u3082\u9589\u3058\u308b\u3053\u3068\u51fa\u6765\u308b(\u53f3\u7aef\u306e\u30a2\u30af\u30c6\u30a3\u30d6\u306a\u30bf\u30d6\u3092\u30af\u30ea\u30c3\u30af)\n\n\n\n\n\u30de\u30a6\u30b9\u306e\u4e2d\u30dc\u30bf\u30f3\u3084\uff0cshift+Ins\u3067\u306e\u8cbc\u4ed8\u3051\u304c\u3067\u304d\u306a\u3044\n\n\n\n\n\u901a\u5e38\u306e\u30b3\u30d4\u30fc\uff0c\u30da\u30fc\u30b9\u30c8\u3082\u3067\u304d\u306a\u304f\u306a\u308b\u3053\u3068\u304c\u3042\u308b\n\n\n\n\n\u5229\u7528\u4e2d\u306b\u30d5\u30a9\u30f3\u30c8\u304c\u6ef2\u3080\u3088\u3046\u306a\u8868\u793a\u306b\u306a\u308b\n\n\n\n\n\n\u30a8\u30c7\u30a3\u30bf\u753b\u9762\u3084\u30d7\u30ec\u30d3\u30e5\u30fc\u753b\u9762\u306f\u66f4\u65b0\u3067\u76f4\u308b\u304c\u4ed6\u306e\u90e8\u5206\u306f\u8d77\u52d5\u3057\u76f4\u3055\u306a\u3044\u3068\u76f4\u3089\u306a\u3044\n\n\n\n\n\n\n\n\n\u3066\u3053\u3068\u3067\u30de\u30a6\u30b9\u4e2d\u30dc\u30bf\u30f3\u8cbc\u308a\u4ed8\u3051\u3084\u624b\u6301\u3061\u306eARM\u3067\u91cd\u3044\u3063\u3066\u3053\u3068\u3067\u9078\u5916\u306b\uff0e", "date_published": "2017-08-03T06:14:20+09:00", "date_modified": "2017-08-03T06:14:20+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "AsciiDoc", "AsciidocFX", "Java", "Linux", "Artful(17.10)", "Debian", "stretch", "Ubuntu" ] }, { "id": "http://matoken.org/blog/?p=1628", "url": "https://matoken.org/blog/2017/08/01/apg-command-option/", "title": "\u30d1\u30b9\u30ef\u30fc\u30c9\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30fc\u30b3\u30de\u30f3\u30c9 apg \u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u30e1\u30e2", "content_html": "
\n
\n
\n
\n

\u65b0\u3057\u3044\u30de\u30b7\u30f3\u306e\u8a2d\u5b9a\u3059\u308b\u3068\u304d\u306b\u8abf\u3079\u76f4\u3057\u305f\u30e1\u30e2\uff0e

\n
\n
\n

http://www.adel.nursat.kz/apg/
\nsite\u306b\u306f2017-07-26\u73fe\u5728\u63a5\u7d9a\u3067\u304d\u306a\u3044
\nhttp://web.archive.org/web/20161019161749/http://www.adel.nursat.kz/apg/

\n
\n
\n
\n
\n

\u3088\u304f\u4f7f\u3046\u30aa\u30d7\u30b7\u30e7\u30f3

\n
\n
\n
    \n
  • \n

    \n-a \u30d1\u30b9\u30ef\u30fc\u30c9\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306e\u6307\u5b9a\n

    \n
    \n
      \n
    • \n

      \n0 \u767a\u97f3\u53ef\u80fd\n

      \n
    • \n
    • \n

      \n1 \u30e9\u30f3\u30c0\u30e0\n

      \n
    • \n
    \n
    \n
  • \n
  • \n

    \n-n \u30d1\u30b9\u30ef\u30fc\u30c9\u751f\u6210\u6570\n

    \n
  • \n
  • \n

    \n-m \u30d1\u30b9\u30ef\u30fc\u30c9\u6700\u4f4e\u6587\u5b57\u9577\n

    \n
  • \n
  • \n

    \n-x \u30d1\u30b9\u30ef\u30fc\u30c9\u6700\u5927\u6587\u5b57\u9577\n

    \n
  • \n
  • \n

    \n-M \u6587\u5b57\u306e\u7a2e\u985e\u3092\u6307\u5b9a\n

    \n
    \n
      \n
    • \n

      \nS \u5fc5\u305a\u8a18\u53f7\u3092\u5229\u7528\n

      \n
    • \n
    • \n

      \ns \u8a18\u53f7\u3092\u5229\u7528\n

      \n
    • \n
    • \n

      \nN \u5fc5\u305a\u6570\u5b57\u3092\u5229\u7528\n

      \n
    • \n
    • \n

      \nn \u6570\u5b57\u3092\u5229\u7528\n

      \n
    • \n
    • \n

      \nC \u5fc5\u305a\u82f1\u5927\u6587\u5b57\u3092\u5229\u7528\n

      \n
    • \n
    • \n

      \nc \u82f1\u5927\u6587\u5b57\u3092\u5229\u7528\n

      \n
    • \n
    • \n

      \nL \u5fc5\u305a\u82f1\u5c0f\u6587\u5b57\u3092\u5229\u7528\n

      \n
    • \n
    • \n

      \nl \u82f1\u5c0f\u6587\u5b57\u3092\u5229\u7528\n

      \n
    • \n
    \n
    \n
  • \n
  • \n

    \n-E \u6307\u5b9a\u3057\u305f\u6587\u5b57\u3092\u5229\u7528\u3057\u306a\u3044(\u8907\u6570\u6307\u5b9a\u53ef\u80fd)\n

    \n
  • \n
\n
\n
\n
\n
\n

\u8a18\u53f7\u306e\u307f

\n
\n
\n
\n
$ apg -Ms -a1\n#/^>,\\../\n\\^./\\{~<\n%(_/_%_]]`\n=..,;[$('\n\"$$$\"<!]~\n-%\\?`_++<<\n$ apg -MS -a1\n,/.>[@;%@`\n@,$(_/*_.\n``'\"}=*%#\n[#|,'@?\"-\n,?];\"]]&?@\n[)'$@>'{/}
\n
\n
\n
\n
\n
\n

\u6570\u5b57\u306e\u307f

\n
\n
\n
\n
$ apg -Mn -a1\n14683511\n97138910\n5192942105\n3010244799\n381484337\n493808346\n$ apg -MN -a1\n5426157541\n03163967\n98161665\n369810970\n38523677\n249810992
\n
\n
\n
\n
\n
\n

\u82f1\u5927\u6587\u5b57\u306e\u307f

\n
\n
\n
\n
$ apg -Mc -a1\nGBUDJODXIH\nRMEUJNHKQM\nOJHCTVJR\nHPWKCOLD\nZAPCGYWCNA\nWIOKVXDTZW\n$ apg -MC -a1\nKOQOVOSAJB\nIWWQSBTL\nIPUFNTGP\nGMKFKXIJKT\nOWVNYNFL\nQLVOAUEMSU
\n
\n
\n
\n
\n
\n

\u82f1\u5b50\u6587\u5b57\u306e\u307f

\n
\n
\n
\n
$ apg -Ml -a1\nuviqxdrc\ntukfvlona\nmzmwjjhe\njtssfdla\nqmzjxlet\nrzzxjvnyr\n$ apg -ML -a1\nwivxbkdpe\nxnvdepbhro\nwclwdrofjk\ndorabarzdc\nzedblcjp\nibwmgwwrv
\n
\n
\n
\n
\n
\n

\u8a18\u53f7\u6570\u5b57\u82f1\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3092\u5fc5\u305a\u542b\u3080

\n
\n
\n
\n
$ apg -MSNCL\n8dromKaix\"\nin2OfKain;\n{on1Woan\nPeow9Ot_\n|owpIpVap9\n7OnryubAp`
\n
\n
\n
\n
\n
\n

\u30d1\u30b9\u30ef\u30fc\u30c9\u9577\u6700\u4f4e11\u6587\u5b57

\n
\n
\n
\n
$ apg -MSNCL -m11\nDiOfnu1Miv>\n@okshEcWew0\ncosh1olbIm^\nforkow0Oll^\n'Obpiugtut1\nItEdd`dros0
\n
\n
\n
\n
\n
\n

\u30d1\u30b9\u30ef\u30fc\u30c9\u6587\u5b57\u957711\u301c16\u6587\u5b57

\n
\n
\n
\n
apg -MSNCL -m11 -x16\nbywax|biggIp3\nyik7henvecJavUj\"\n8lawhasBokPyft^\nyijTysFeg5oj%\n8quactArnyobpec?\nabGaj9etsyic)
\n
\n
\n
\n
\n
\n

\u899a\u3048\u65b9\u3082\u4f75\u8a18

\n
\n
\n
\n
$ apg -MSNCL -m11 -l\nrawd9<FriWa romeo-alfa-whiskey-delta-NINE-LESS_THAN-Foxtrot-romeo-india-Whiskey-alfa\n`shnoandOg1 GRAVE-sierra-hotel-november-oscar-alfa-november-delta-Oscar-golf-ONE\nRudwem9Gon! Romeo-uniform-delta-whiskey-echo-mike-NINE-Golf-oscar-november-EXCLAMATION_POINT\n8OjsewJerj, EIGHT-Oscar-juliett-sierra-echo-whiskey-Juliett-echo-romeo-juliett-COMMA\nmayng1WiUb^ mike-alfa-yankee-november-golf-ONE-Whiskey-india-Uniform-bravo-CIRCUMFLEX\nDams9Odcan- Delta-alfa-mike-sierra-NINE-Oscar-delta-charlie-alfa-november-HYPHEN
\n
\n
\n
\n
\n
\n

\u30d1\u30b9\u30ef\u30fc\u30c9\u306e\u751f\u6210\u6570\u309220\u306b

\n
\n
\n
\n
$ apg -MSNCL -m11 -l -n20\n3OcMu7twad` THREE-Oscar-charlie-Mike-uniform-SEVEN-tango-whiskey-alfa-delta-GRAVE\nFed8Twygub; Foxtrot-echo-delta-EIGHT-Tango-whiskey-yankee-golf-uniform-bravo-SEMICOLON\nRe^SwibTim9 Romeo-echo-CIRCUMFLEX-Sierra-whiskey-india-bravo-Tango-india-mike-NINE\n~trirv2Dosh TILDE-tango-romeo-india-romeo-victor-TWO-Delta-oscar-sierra-hotel\nRot%slocOv1 Romeo-oscar-tango-PERCENT_SIGN-sierra-lima-oscar-charlie-Oscar-victor-ONE\n5Knu.BijKue FIVE-Kilo-november-uniform-PERIOD-Bravo-india-juliett-Kilo-uniform-echo\n!olf6Fobviv EXCLAMATION_POINT-oscar-lima-foxtrot-SIX-Foxtrot-oscar-bravo-victor-india-victor\n_HemJefGej4 UNDERSCORE-Hotel-echo-mike-Juliett-echo-foxtrot-Golf-echo-juliett-FOUR\n8drydOdlec| EIGHT-delta-romeo-yankee-delta-Oscar-delta-lima-echo-charlie-VERTICAL_BAR\nmud2FridOn= mike-uniform-delta-TWO-Foxtrot-romeo-india-delta-Oscar-november-EQUAL_SIGN\nic:GrubFek6 india-charlie-COLON-Golf-romeo-uniform-bravo-Foxtrot-echo-kilo-SIX\nplayb(Blos4 papa-lima-alfa-yankee-bravo-LEFT_PARENTHESIS-Bravo-lima-oscar-sierra-FOUR\nKajCedd<od8 Kilo-alfa-juliett-Charlie-echo-delta-delta-LESS_THAN-oscar-delta-EIGHT\nNum>ObAind4 November-uniform-mike-GREATER_THAN-Oscar-bravo-Alfa-india-november-delta-FOUR\n0Quoorc=gro ZERO-Quebec-uniform-oscar-oscar-romeo-charlie-EQUAL_SIGN-golf-romeo-oscar\nOcweecs_El4 Oscar-charlie-whiskey-echo-echo-charlie-sierra-UNDERSCORE-Echo-lima-FOUR\nJirk,Kneip7 Juliett-india-romeo-kilo-COMMA-Kilo-november-echo-india-papa-SEVEN\nMarb?Bluch1 Mike-alfa-romeo-bravo-QUESTION_MARK-Bravo-lima-uniform-charlie-hotel-ONE\ngabGon:Jep9 golf-alfa-bravo-Golf-oscar-november-COLON-Juliett-echo-papa-NINE\n#utvabVert2 CROSSHATCH-uniform-tango-victor-alfa-bravo-Victor-echo-romeo-tango-TWO
\n
\n
\n
\n
\n
\n

\u6307\u5b9a\u3057\u305f\u6587\u5b57\u3092\u542b\u3081\u306a\u3044

\n
\n
\n
\n
$ apg -MSNCL -m11 -E1l!\nMobad3ubUj,\nJi3vin@Oraj\nrap&OnIarb4\nbanip4UvAd(\nDeugh[ixEn8\nmojAw{osev5
\n
\n
\n
\n
\n
\n

alias\u306b\u8a2d\u5b9a

\n
\n
\n

alias\u306b\u8a2d\u5b9a\u3057\u3066\u304a\u304f\u3068\u4fbf\u5229\uff0e

\n
\n
\n
\u4ee5\u4e0b\u306fbash\u306b\u8a2d\u5b9a\u3057\u305f\u4f8b
\n
\n
$ echo 'alias apg=\"apg -MSNCL -m11\"' | tee -a ~/.bashrc\nalias apg=\"apg -MSNCL -m11\"
\n
\n
\n
\n
\u8a2d\u5b9a\u53cd\u6620(\u3082\u3057\u304f\u306f\u30ed\u30b0\u30a4\u30f3\u3057\u76f4\u3057)
\n
\n
$ source ~/.bashrc\n$ alias | grep apg\nalias apg='apg -MSNCL -m11'
\n
\n
\n
\n
\u52d5\u4f5c\u78ba\u8a8d
\n
\n
$ apg\nEcsAr)Gruk9\nToym7Blyft%\nphiet'ijEg4\nwimDu[Neeb4\nniUds/Odav2\nnotCeit!oc6
\n
\n
\n
\n
\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u8ffd\u52a0\u3059\u308b\u3053\u3068\u3082\u51fa\u6765\u308b
\n
\n
$ apg -l\n6Drowm`twup SIX-Delta-romeo-oscar-whiskey-mike-GRAVE-tango-whiskey-uniform-papa\ntwar1mu^Mel tango-whiskey-alfa-romeo-ONE-mike-uniform-CIRCUMFLEX-Mike-echo-lima\nUpumwik?Oc4 Uniform-papa-uniform-mike-whiskey-india-kilo-QUESTION_MARK-Oscar-charlie-FOUR\ncyx4Odcaff) charlie-yankee-x_ray-FOUR-Oscar-delta-charlie-alfa-foxtrot-foxtrot-RIGHT_PARENTHESIS\n6drebIt/quo SIX-delta-romeo-echo-bravo-India-tango-SLASH-quebec-uniform-oscar\n5Ofdiatilg' FIVE-Oscar-foxtrot-delta-india-alfa-tango-india-lima-golf-APOSTROPHE
\n
\n
\n
\n
\u4e00\u6642\u7684\u306balias\u3092\u7121\u52b9\u306b
\n
\n
$ \\apg\nstintun0Oc? (stint-un-ZERO-Oc-QUESTION_MARK)\nFlewUcyibr&Op0 (Flew-Uc-yibr-AMPERSAND-Op-ZERO)\nOnt3okDeadGeg~ (Ont-THREE-ok-Dead-Geg-TILDE)\nreginkAl#twew5 (reg-ink-Al-CROSSHATCH-twew-FIVE)\n\"4KnapavAvTil (QUOTATION_MARK-FOUR-Knap-av-Av-Til)\nFrol9Swec\\ (Frol-NINE-Swec-BACKSLASH)
\n
\n
\n
\n
\n
\n

\u74b0\u5883

\n
\n
\n
\n
$ apg -v\nAPG (Automated Password Generator)\nversion 2.2.3 (PRNG: X9.17/SHA-1)\nCopyright (c) 1999, 2000, 2001, 2002, 2003 Adel I. Mirzazhanov\n$ apt show apg\nPackage: apg\nVersion: 2.2.3.dfsg.1-4\nPriority: optional\nSection: admin\nOrigin: Ubuntu\nMaintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>\nOriginal-Maintainer: Marc Haber <mh+debian-packages@zugschlus.de>\nBugs: https://bugs.launchpad.net/ubuntu/+filebug\nInstalled-Size: 137 kB\nDepends: libc6 (>= 2.14)\nHomepage: http://www.adel.nursat.kz/apg/\nTask: ubuntu-desktop, ubuntu-usb, edubuntu-desktop, edubuntu-usb, ubuntu-gnome-desktop, ubuntu-touch, ubuntukylin-desktop, ubun\ntu-budgie-desktop\nSupported: 9m\nDownload-Size: 50.2 kB\nAPT-Manual-Installed: no\nAPT-Sources: http://jp.archive.ubuntu.com/ubuntu artful/main amd64 Packages\nDescription: \u81ea\u52d5\u30d1\u30b9\u30ef\u30fc\u30c9\u751f\u6210\u5668 - \u30b9\u30bf\u30f3\u30c9\u30a2\u30ed\u30f3\u7248\n APG (Automated Password Generator) is the tool set for random password generation. It generates some random words of required\ntype and prints them to standard output. This binary package contains only the standalone version of apg. Advantages:\n  * Built-in ANSI X9.17 RNG (Random Number Generator)(CAST/SHA1)\n  * Built-in password quality checking system (now it has support for Bloom\n    filter for faster access)\n  * Two Password Generation Algorithms:\n     1. Pronounceable Password Generation Algorithm (according to NIST\n        FIPS 181)\n     2. Random Character Password Generation Algorithm with 35\n        configurable modes of operation\n  * Configurable password length parameters\n  * Configurable amount of generated passwords\n  * Ability to initialize RNG with user string\n  * Support for /dev/random\n  * Ability to crypt() generated passwords and print them as additional output.\n  * Special parameters to use APG in script\n  * Ability to log password generation requests for network version\n  * Ability to control APG service access using tcpd\n  * Ability to use password generation service from any type of box (Mac,\n    WinXX, etc.) that connected to network\n  * Ability to enforce remote users to use only allowed type of password\n    generation\n  The client/server version of apg has been deliberately omitted.\n .\n Please note that there are security flaws in pronounceable password\n generation schemes (see Ganesan / Davis \"A New Attack on Random\n Pronounceable Password Generators\", in \"Proceedings of the 17th National\n Computer Security Conference (NCSC), Oct. 11-14, 1994 (Volume 1)\",\n http://csrc.nist.gov/publications/history/nissc/ 1994-17th-NCSC-\n proceedings-vol-1.pdf, pages 203-216)\n .\n apg has not seen upstream attention since 2003, upstream is not answering\n e-mail, and the upstream web page does not look like it is in good working\n order. The Debian maintainer plans to discontinue apg maintenance as soon\n as an actually maintained software with a compariable feature set becomes\n available.\n\n$ neofetch\n            .-/+oossssoo+/-.              mk@x200\n        `:+ssssssssssssssssss+:`          -------\n      -+ssssssssssssssssssyyssss+-        Model: 74574PJ ThinkPad X200\n    .ossssssssssssssssssdMMMNysssso.      OS: Ubuntu Artful Aardvark (development branch) x86_64\n   /ssssssssssshdmmNNmmyNMMMMhssssss/     Kernel: 4.11.0-10-generic\n  +ssssssssshmydMMMMMMMNddddyssssssss+    Uptime: 2 days, 18 hours, 10 minutes\n /sssssssshNMMMyhhyyyyhmNMMMNhssssssss/   Packages: 4274\n.ssssssssdMMMNhsssssssssshNMMMdssssssss.  Shell: bash 4.4.12\n+sssshhhyNMMNyssssssssssssyNMMMysssssss+  Resolution: 1280x800\nossyNMMMNyMMhsssssssssssssshmmmhssssssso  WM: awesome\nossyNMMMNyMMhsssssssssssssshmmmhssssssso  Theme: Ambiance [GTK3]\n+sssshhhyNMMNyssssssssssssyNMMMysssssss+  Icons: Ubuntu-mono-dark [GTK3]\n.ssssssssdMMMNhsssssssssshNMMMdssssssss.  Terminal: tilix\n /sssssssshNMMMyhhyyyyhdNMMMNhssssssss/   CPU: Intel 2 Duo P8400 (2) @ 2.267GHz\n  +sssssssssdmydMMMMMMMMddddyssssssss+    GPU: Intel\u00ae GM45 Express Chipset\n   /ssssssssssshdmNNNNmyNMMMMhssssss/     GPU: Intel\u00ae GM45 Express Chipset\n    .ossssssssssssssssssdMMMNysssso.      Memory: 7083MiB / 7878MiB\n      -+sssssssssssssssssyyyssss+-\n        `:+ssssssssssssssssss+:`\n            .-/+oossssoo+/-.
\n
\n
\n
\n
\n
\n
\n
\n
\n", "content_text": "\u65b0\u3057\u3044\u30de\u30b7\u30f3\u306e\u8a2d\u5b9a\u3059\u308b\u3068\u304d\u306b\u8abf\u3079\u76f4\u3057\u305f\u30e1\u30e2\uff0e\n\n\nhttp://www.adel.nursat.kz/apg/\nsite\u306b\u306f2017-07-26\u73fe\u5728\u63a5\u7d9a\u3067\u304d\u306a\u3044\nhttp://web.archive.org/web/20161019161749/http://www.adel.nursat.kz/apg/\n\n\n\n\n\u3088\u304f\u4f7f\u3046\u30aa\u30d7\u30b7\u30e7\u30f3\n\n\n\n\n\n-a \u30d1\u30b9\u30ef\u30fc\u30c9\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306e\u6307\u5b9a\n\n\n\n\n\n0 \u767a\u97f3\u53ef\u80fd\n\n\n\n\n1 \u30e9\u30f3\u30c0\u30e0\n\n\n\n\n\n\n\n-n \u30d1\u30b9\u30ef\u30fc\u30c9\u751f\u6210\u6570\n\n\n\n\n-m \u30d1\u30b9\u30ef\u30fc\u30c9\u6700\u4f4e\u6587\u5b57\u9577\n\n\n\n\n-x \u30d1\u30b9\u30ef\u30fc\u30c9\u6700\u5927\u6587\u5b57\u9577\n\n\n\n\n-M \u6587\u5b57\u306e\u7a2e\u985e\u3092\u6307\u5b9a\n\n\n\n\n\nS \u5fc5\u305a\u8a18\u53f7\u3092\u5229\u7528\n\n\n\n\ns \u8a18\u53f7\u3092\u5229\u7528\n\n\n\n\nN \u5fc5\u305a\u6570\u5b57\u3092\u5229\u7528\n\n\n\n\nn \u6570\u5b57\u3092\u5229\u7528\n\n\n\n\nC \u5fc5\u305a\u82f1\u5927\u6587\u5b57\u3092\u5229\u7528\n\n\n\n\nc \u82f1\u5927\u6587\u5b57\u3092\u5229\u7528\n\n\n\n\nL \u5fc5\u305a\u82f1\u5c0f\u6587\u5b57\u3092\u5229\u7528\n\n\n\n\nl \u82f1\u5c0f\u6587\u5b57\u3092\u5229\u7528\n\n\n\n\n\n\n\n-E \u6307\u5b9a\u3057\u305f\u6587\u5b57\u3092\u5229\u7528\u3057\u306a\u3044(\u8907\u6570\u6307\u5b9a\u53ef\u80fd)\n\n\n\n\n\n\n\n\u8a18\u53f7\u306e\u307f\n\n\n\n$ apg -Ms -a1\n#/^>,\\../\n\\^./\\{~<\n%(_/_%_]]`\n=..,;[$('\n\"$$$\"<!]~\n-%\\?`_++<<\n$ apg -MS -a1\n,/.>[@;%@`\n@,$(_/*_.\n``'\"}=*%#\n[#|,'@?\"-\n,?];\"]]&?@\n[)'$@>'{/}\n\n\n\n\n\n\u6570\u5b57\u306e\u307f\n\n\n\n$ apg -Mn -a1\n14683511\n97138910\n5192942105\n3010244799\n381484337\n493808346\n$ apg -MN -a1\n5426157541\n03163967\n98161665\n369810970\n38523677\n249810992\n\n\n\n\n\n\u82f1\u5927\u6587\u5b57\u306e\u307f\n\n\n\n$ apg -Mc -a1\nGBUDJODXIH\nRMEUJNHKQM\nOJHCTVJR\nHPWKCOLD\nZAPCGYWCNA\nWIOKVXDTZW\n$ apg -MC -a1\nKOQOVOSAJB\nIWWQSBTL\nIPUFNTGP\nGMKFKXIJKT\nOWVNYNFL\nQLVOAUEMSU\n\n\n\n\n\n\u82f1\u5b50\u6587\u5b57\u306e\u307f\n\n\n\n$ apg -Ml -a1\nuviqxdrc\ntukfvlona\nmzmwjjhe\njtssfdla\nqmzjxlet\nrzzxjvnyr\n$ apg -ML -a1\nwivxbkdpe\nxnvdepbhro\nwclwdrofjk\ndorabarzdc\nzedblcjp\nibwmgwwrv\n\n\n\n\n\n\u8a18\u53f7\u6570\u5b57\u82f1\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3092\u5fc5\u305a\u542b\u3080\n\n\n\n$ apg -MSNCL\n8dromKaix\"\nin2OfKain;\n{on1Woan\nPeow9Ot_\n|owpIpVap9\n7OnryubAp`\n\n\n\n\n\n\u30d1\u30b9\u30ef\u30fc\u30c9\u9577\u6700\u4f4e11\u6587\u5b57\n\n\n\n$ apg -MSNCL -m11\nDiOfnu1Miv>\n@okshEcWew0\ncosh1olbIm^\nforkow0Oll^\n'Obpiugtut1\nItEdd`dros0\n\n\n\n\n\n\u30d1\u30b9\u30ef\u30fc\u30c9\u6587\u5b57\u957711\u301c16\u6587\u5b57\n\n\n\napg -MSNCL -m11 -x16\nbywax|biggIp3\nyik7henvecJavUj\"\n8lawhasBokPyft^\nyijTysFeg5oj%\n8quactArnyobpec?\nabGaj9etsyic)\n\n\n\n\n\n\u899a\u3048\u65b9\u3082\u4f75\u8a18\n\n\n\n$ apg -MSNCL -m11 -l\nrawd9<FriWa romeo-alfa-whiskey-delta-NINE-LESS_THAN-Foxtrot-romeo-india-Whiskey-alfa\n`shnoandOg1 GRAVE-sierra-hotel-november-oscar-alfa-november-delta-Oscar-golf-ONE\nRudwem9Gon! Romeo-uniform-delta-whiskey-echo-mike-NINE-Golf-oscar-november-EXCLAMATION_POINT\n8OjsewJerj, EIGHT-Oscar-juliett-sierra-echo-whiskey-Juliett-echo-romeo-juliett-COMMA\nmayng1WiUb^ mike-alfa-yankee-november-golf-ONE-Whiskey-india-Uniform-bravo-CIRCUMFLEX\nDams9Odcan- Delta-alfa-mike-sierra-NINE-Oscar-delta-charlie-alfa-november-HYPHEN\n\n\n\n\n\n\u30d1\u30b9\u30ef\u30fc\u30c9\u306e\u751f\u6210\u6570\u309220\u306b\n\n\n\n$ apg -MSNCL -m11 -l -n20\n3OcMu7twad` THREE-Oscar-charlie-Mike-uniform-SEVEN-tango-whiskey-alfa-delta-GRAVE\nFed8Twygub; Foxtrot-echo-delta-EIGHT-Tango-whiskey-yankee-golf-uniform-bravo-SEMICOLON\nRe^SwibTim9 Romeo-echo-CIRCUMFLEX-Sierra-whiskey-india-bravo-Tango-india-mike-NINE\n~trirv2Dosh TILDE-tango-romeo-india-romeo-victor-TWO-Delta-oscar-sierra-hotel\nRot%slocOv1 Romeo-oscar-tango-PERCENT_SIGN-sierra-lima-oscar-charlie-Oscar-victor-ONE\n5Knu.BijKue FIVE-Kilo-november-uniform-PERIOD-Bravo-india-juliett-Kilo-uniform-echo\n!olf6Fobviv EXCLAMATION_POINT-oscar-lima-foxtrot-SIX-Foxtrot-oscar-bravo-victor-india-victor\n_HemJefGej4 UNDERSCORE-Hotel-echo-mike-Juliett-echo-foxtrot-Golf-echo-juliett-FOUR\n8drydOdlec| EIGHT-delta-romeo-yankee-delta-Oscar-delta-lima-echo-charlie-VERTICAL_BAR\nmud2FridOn= mike-uniform-delta-TWO-Foxtrot-romeo-india-delta-Oscar-november-EQUAL_SIGN\nic:GrubFek6 india-charlie-COLON-Golf-romeo-uniform-bravo-Foxtrot-echo-kilo-SIX\nplayb(Blos4 papa-lima-alfa-yankee-bravo-LEFT_PARENTHESIS-Bravo-lima-oscar-sierra-FOUR\nKajCedd<od8 Kilo-alfa-juliett-Charlie-echo-delta-delta-LESS_THAN-oscar-delta-EIGHT\nNum>ObAind4 November-uniform-mike-GREATER_THAN-Oscar-bravo-Alfa-india-november-delta-FOUR\n0Quoorc=gro ZERO-Quebec-uniform-oscar-oscar-romeo-charlie-EQUAL_SIGN-golf-romeo-oscar\nOcweecs_El4 Oscar-charlie-whiskey-echo-echo-charlie-sierra-UNDERSCORE-Echo-lima-FOUR\nJirk,Kneip7 Juliett-india-romeo-kilo-COMMA-Kilo-november-echo-india-papa-SEVEN\nMarb?Bluch1 Mike-alfa-romeo-bravo-QUESTION_MARK-Bravo-lima-uniform-charlie-hotel-ONE\ngabGon:Jep9 golf-alfa-bravo-Golf-oscar-november-COLON-Juliett-echo-papa-NINE\n#utvabVert2 CROSSHATCH-uniform-tango-victor-alfa-bravo-Victor-echo-romeo-tango-TWO\n\n\n\n\n\n\u6307\u5b9a\u3057\u305f\u6587\u5b57\u3092\u542b\u3081\u306a\u3044\n\n\n\n$ apg -MSNCL -m11 -E1l!\nMobad3ubUj,\nJi3vin@Oraj\nrap&OnIarb4\nbanip4UvAd(\nDeugh[ixEn8\nmojAw{osev5\n\n\n\n\n\nalias\u306b\u8a2d\u5b9a\n\n\nalias\u306b\u8a2d\u5b9a\u3057\u3066\u304a\u304f\u3068\u4fbf\u5229\uff0e\n\n\n\u4ee5\u4e0b\u306fbash\u306b\u8a2d\u5b9a\u3057\u305f\u4f8b\n\n$ echo 'alias apg=\"apg -MSNCL -m11\"' | tee -a ~/.bashrc\nalias apg=\"apg -MSNCL -m11\"\n\n\n\n\u8a2d\u5b9a\u53cd\u6620(\u3082\u3057\u304f\u306f\u30ed\u30b0\u30a4\u30f3\u3057\u76f4\u3057)\n\n$ source ~/.bashrc\n$ alias | grep apg\nalias apg='apg -MSNCL -m11'\n\n\n\n\u52d5\u4f5c\u78ba\u8a8d\n\n$ apg\nEcsAr)Gruk9\nToym7Blyft%\nphiet'ijEg4\nwimDu[Neeb4\nniUds/Odav2\nnotCeit!oc6\n\n\n\n\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u8ffd\u52a0\u3059\u308b\u3053\u3068\u3082\u51fa\u6765\u308b\n\n$ apg -l\n6Drowm`twup SIX-Delta-romeo-oscar-whiskey-mike-GRAVE-tango-whiskey-uniform-papa\ntwar1mu^Mel tango-whiskey-alfa-romeo-ONE-mike-uniform-CIRCUMFLEX-Mike-echo-lima\nUpumwik?Oc4 Uniform-papa-uniform-mike-whiskey-india-kilo-QUESTION_MARK-Oscar-charlie-FOUR\ncyx4Odcaff) charlie-yankee-x_ray-FOUR-Oscar-delta-charlie-alfa-foxtrot-foxtrot-RIGHT_PARENTHESIS\n6drebIt/quo SIX-delta-romeo-echo-bravo-India-tango-SLASH-quebec-uniform-oscar\n5Ofdiatilg' FIVE-Oscar-foxtrot-delta-india-alfa-tango-india-lima-golf-APOSTROPHE\n\n\n\n\u4e00\u6642\u7684\u306balias\u3092\u7121\u52b9\u306b\n\n$ \\apg\nstintun0Oc? (stint-un-ZERO-Oc-QUESTION_MARK)\nFlewUcyibr&Op0 (Flew-Uc-yibr-AMPERSAND-Op-ZERO)\nOnt3okDeadGeg~ (Ont-THREE-ok-Dead-Geg-TILDE)\nreginkAl#twew5 (reg-ink-Al-CROSSHATCH-twew-FIVE)\n\"4KnapavAvTil (QUOTATION_MARK-FOUR-Knap-av-Av-Til)\nFrol9Swec\\ (Frol-NINE-Swec-BACKSLASH)\n\n\n\n\n\n\u74b0\u5883\n\n\n\n$ apg -v\nAPG (Automated Password Generator)\nversion 2.2.3 (PRNG: X9.17/SHA-1)\nCopyright (c) 1999, 2000, 2001, 2002, 2003 Adel I. Mirzazhanov\n$ apt show apg\nPackage: apg\nVersion: 2.2.3.dfsg.1-4\nPriority: optional\nSection: admin\nOrigin: Ubuntu\nMaintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>\nOriginal-Maintainer: Marc Haber <mh+debian-packages@zugschlus.de>\nBugs: https://bugs.launchpad.net/ubuntu/+filebug\nInstalled-Size: 137 kB\nDepends: libc6 (>= 2.14)\nHomepage: http://www.adel.nursat.kz/apg/\nTask: ubuntu-desktop, ubuntu-usb, edubuntu-desktop, edubuntu-usb, ubuntu-gnome-desktop, ubuntu-touch, ubuntukylin-desktop, ubun\ntu-budgie-desktop\nSupported: 9m\nDownload-Size: 50.2 kB\nAPT-Manual-Installed: no\nAPT-Sources: http://jp.archive.ubuntu.com/ubuntu artful/main amd64 Packages\nDescription: \u81ea\u52d5\u30d1\u30b9\u30ef\u30fc\u30c9\u751f\u6210\u5668 - \u30b9\u30bf\u30f3\u30c9\u30a2\u30ed\u30f3\u7248\n APG (Automated Password Generator) is the tool set for random password generation. It generates some random words of required\ntype and prints them to standard output. This binary package contains only the standalone version of apg. Advantages:\n * Built-in ANSI X9.17 RNG (Random Number Generator)(CAST/SHA1)\n * Built-in password quality checking system (now it has support for Bloom\n filter for faster access)\n * Two Password Generation Algorithms:\n 1. Pronounceable Password Generation Algorithm (according to NIST\n FIPS 181)\n 2. Random Character Password Generation Algorithm with 35\n configurable modes of operation\n * Configurable password length parameters\n * Configurable amount of generated passwords\n * Ability to initialize RNG with user string\n * Support for /dev/random\n * Ability to crypt() generated passwords and print them as additional output.\n * Special parameters to use APG in script\n * Ability to log password generation requests for network version\n * Ability to control APG service access using tcpd\n * Ability to use password generation service from any type of box (Mac,\n WinXX, etc.) that connected to network\n * Ability to enforce remote users to use only allowed type of password\n generation\n The client/server version of apg has been deliberately omitted.\n .\n Please note that there are security flaws in pronounceable password\n generation schemes (see Ganesan / Davis \"A New Attack on Random\n Pronounceable Password Generators\", in \"Proceedings of the 17th National\n Computer Security Conference (NCSC), Oct. 11-14, 1994 (Volume 1)\",\n http://csrc.nist.gov/publications/history/nissc/ 1994-17th-NCSC-\n proceedings-vol-1.pdf, pages 203-216)\n .\n apg has not seen upstream attention since 2003, upstream is not answering\n e-mail, and the upstream web page does not look like it is in good working\n order. The Debian maintainer plans to discontinue apg maintenance as soon\n as an actually maintained software with a compariable feature set becomes\n available.\n\n$ neofetch\n .-/+oossssoo+/-. mk@x200\n `:+ssssssssssssssssss+:` -------\n -+ssssssssssssssssssyyssss+- Model: 74574PJ ThinkPad X200\n .ossssssssssssssssssdMMMNysssso. OS: Ubuntu Artful Aardvark (development branch) x86_64\n /ssssssssssshdmmNNmmyNMMMMhssssss/ Kernel: 4.11.0-10-generic\n +ssssssssshmydMMMMMMMNddddyssssssss+ Uptime: 2 days, 18 hours, 10 minutes\n /sssssssshNMMMyhhyyyyhmNMMMNhssssssss/ Packages: 4274\n.ssssssssdMMMNhsssssssssshNMMMdssssssss. Shell: bash 4.4.12\n+sssshhhyNMMNyssssssssssssyNMMMysssssss+ Resolution: 1280x800\nossyNMMMNyMMhsssssssssssssshmmmhssssssso WM: awesome\nossyNMMMNyMMhsssssssssssssshmmmhssssssso Theme: Ambiance [GTK3]\n+sssshhhyNMMNyssssssssssssyNMMMysssssss+ Icons: Ubuntu-mono-dark [GTK3]\n.ssssssssdMMMNhsssssssssshNMMMdssssssss. Terminal: tilix\n /sssssssshNMMMyhhyyyyhdNMMMNhssssssss/ CPU: Intel 2 Duo P8400 (2) @ 2.267GHz\n +sssssssssdmydMMMMMMMMddddyssssssss+ GPU: Intel\u00ae GM45 Express Chipset\n /ssssssssssshdmNNNNmyNMMMMhssssss/ GPU: Intel\u00ae GM45 Express Chipset\n .ossssssssssssssssssdMMMNysssso. Memory: 7083MiB / 7878MiB\n -+sssssssssssssssssyyyssss+-\n `:+ssssssssssssssssss+:`\n .-/+oossssoo+/-.", "date_published": "2017-08-01T05:57:12+09:00", "date_modified": "2017-08-01T05:57:12+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "apg", "artful", "Linux", "password", "Ubuntu", "Ubuntu 17.04", "Artful(17.10)" ] }, { "id": "http://matoken.org/blog/?p=1579", "url": "https://matoken.org/blog/2017/04/02/try-ext4-encryption-file-system/", "title": "ext4\u306e\u6697\u53f7\u5316fs\u3092\u8a66\u3057\u3066\u307f\u308b", "content_html": "

Linux 4.1\u3067ext4\u306e\u6697\u53f7\u5316\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u304c\u53d6\u308a\u8fbc\u307e\u308c\u3066\u3044\u308b\u306e\u306b\u6c17\u3065\u3044\u305f\u306e\u3067\u5c11\u3057\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e
\ncCryptFS\u3084EncFS\u306a\u3069\u3068\u540c\u3058\u3088\u3046\u306b\u30d5\u30a1\u30a4\u30eb\u5358\u4f4d\u3067\u306e\u6697\u53f7\u5316\u3067\u3059\uff0e\u524d\u3082\u3063\u3066\u6697\u53f7\u5316\u30d5\u30e9\u30b0\u3092\u8a2d\u5b9a\u3057\u3066\u3042\u308c\u3070\u4e00\u822c\u30e6\u30fc\u30b6\u304c\u52dd\u624b\u306b\u6697\u53f7\u9818\u57df\u3092\u4f5c\u308b\u3053\u3068\u3082\u53ef\u80fd\u3067\u3057\u305f\uff0eeCryptFS\u3084EncFS\u306e\u3088\u3046\u306a\u4f7f\u3044\u65b9\u3082\u53ef\u80fd\u305d\u3046\u3067\u3059\uff0e\u6050\u3089\u304f\u901f\u5ea6\u306f\u3053\u3061\u3089\u306e\u307b\u3046\u304c\u901f\u3044\u3067\u3057\u3087\u3046(\u672a\u78ba\u8a8d)\uff0e\u305f\u3060\uff0c\u30d1\u30b9\u30d5\u30ec\u30fc\u30ba\u304c\u308f\u304b\u3063\u3066\u3057\u307e\u3046\u3068\u5225\u306e\u30e6\u30fc\u30b6\u304b\u3089\u3082\u30de\u30a6\u30f3\u30c8\u53ef\u80fd\u3060\u3057\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\u304c\u3042\u308c\u3070\u8aad\u307f\u66f8\u304d\u3082\u51fa\u6765\u308b\u306e\u3067\u901a\u5e38\u306e\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u3068\u540c\u69d8\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\u306e\u8a2d\u5b9a\u306f\u5fc5\u9808\u3067\u3059\u306d\uff0e
\n\u30d1\u30fc\u30c6\u30a3\u30b7\u30e7\u30f3\u5185\u5168\u3066\u3092\u6697\u53f7\u5316\u3059\u308b\u3053\u3068\u306f\u51fa\u6765\u306a\u3044\u3088\u3046\u306a\u306e\u3067LUKS(dm-crypt)\u3068\u306f\u5358\u7d14\u306b\u7a7a\u304d\u304b\u3048\u308b\u3053\u3068\u306f\u3067\u304d\u306a\u3055\u305d\u3046\u3067\u3059\uff0e

\n

\u305d\u3093\u306a\u3053\u3093\u306a\u3067\u3082\u3068\u3082\u3068Android\u5411\u3051\u3068\u3044\u3046\u3053\u3068\u3082\u3042\u3063\u3066PC/Server\u3067\u306f\u3042\u307e\u308a\u4f7f\u3044\u307f\u3061\u304c\u601d\u3044\u3064\u304b\u306a\u3044\u611f\u3058\u3067\u3059\uff0e(\u4f55\u304b\u3044\u3044\u4f7f\u3044\u65b9\u3042\u308a\u305d\u3046\u3060\u3051\u3069\u2026\u2026\uff0e)

\n

\u5fc5\u8981\u6761\u4ef6\u78ba\u8a8d

\n\n
\n
$ uname -r\r\n4.9.0-2-amd64\r\n
\n
\n\n
\n
$ grep CONFIG_EXT4_ENCRYPTION /boot/config-`uname -r`\r\nCONFIG_EXT4_ENCRYPTION=y\r\n
\n
\n\n
\n
$ dpkg-query -W e2fsprogs\r\ne2fsprogs       1.43.4-2\r\n
\n
\n\n
\n
$ sudo dumpe2fs /dev/loop0 | grep -i 'block size'\r\ndumpe2fs 1.43.4 (31-Jan-2017)\r\nBlock size:               4096\r\n
\n
\n

\u5fc5\u8981\u306a\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u5c0e\u5165

\n
\n
$ sudo apt install e2fsprogs keyutils util-linux coreutils mount\r\n
\n
\n

\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u306e\u7528\u610f

\n

\u4eca\u56de\u306f\u65e2\u5b58\u306e\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u5185\u306b\u30c7\u30a3\u30b9\u30af\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u3066\u305d\u308c\u3092\u5229\u7528

\n\n
\n
$ dd if=/dev/zero of=ext4-crypt.img seek=1073741824 bs=1 count=1\r\n1+0 \u30ec\u30b3\u30fc\u30c9\u5165\u529b\r\n1+0 \u30ec\u30b3\u30fc\u30c9\u51fa\u529b\r\n1 byte copied, 0.000118528 s, 8.4 kB/s\r\n
\n
\n\n
\n
$ /sbin/fdisk ext4-crypt.img\r\n\r\nWelcome to fdisk (util-linux 2.29.2).\r\nChanges will remain in memory only, until you decide to write them.\r\nBe careful before using the write command.\r\n\r\nDevice does not contain a recognized partition table.\r\nCreated a new DOS disklabel with disk identifier 0xa25a3988.\r\n\r\nCommand (m for help): n\r\nPartition type\r\n   p   primary (0 primary, 0 extended, 4 free)\r\n   e   extended (container for logical partitions)\r\nSelect (default p): p\r\nPartition number (1-4, default 1): \r\nFirst sector (2048-2097151, default 2048): \r\nLast sector, +sectors or +size{K,M,G,T,P} (2048-2097151, default 2097151): \r\n\r\nCreated a new partition 1 of type 'Linux' and of size 1023 MiB.\r\n\r\nCommand (m for help): w\r\nThe partition table has been altered.\r\nSyncing disks.\r\n
\n
\n\n
\n
$ /sbin/mkfs.ext4 ./ext4-crypt.img \r\nmke2fs 1.43.4 (31-Jan-2017)\r\nFound a dos partition table in ./ext4-crypt.img\r\nProceed anyway? (y,N) y\r\nDiscarding device blocks: done                            \r\nCreating filesystem with 262144 4k blocks and 65536 inodes\r\nFilesystem UUID: dc44fd43-7d7a-4dfc-87f1-dc52410e2dd1\r\nSuperblock backups stored on blocks: \r\n        32768, 98304, 163840, 229376\r\n\r\nAllocating group tables: done                            \r\nWriting inode tables: done                            \r\nCreating journal (8192 blocks): done\r\nWriting superblocks and filesystem accounting information: done\r\n
\n
\n\n
\n
$ sudo mount -o loop ./ext4-crypt.img /mnt\r\n$ grep /mnt /etc/mtab \r\n/dev/loop0 /mnt ext4 rw,relatime,data=ordered 0 0\r\n
\n
\n\n
\n
$ sudo chown `id -u`.`id -g` /mnt\r\n$ ls -la /mnt\r\n\u5408\u8a08 36\r\ndrwxr-xr-x 3 mk   mk    4096  4\u6708  2 04:58 .\r\ndrwxr-xr-x 1 root root   248  3\u6708 28 02:19 ..\r\ndrwx------ 2 root root 16384  4\u6708  2 04:58 lost+found\r\n
\n
\n

ext4\u6697\u53f7\u5316\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u306e\u5229\u7528

\n\n
\n
$ sudo tune2fs -O encrypt /dev/loop0\r\n$ sudo dumpe2fs /dev/loop0 | grep -io encrypt\r\ndumpe2fs 1.43.4 (31-Jan-2017)\r\nencrypt\r\n
\n
\n\n
\n
$ /usr/sbin/e4crypt add_key\r\nEnter passphrase (echo disabled): \r\nAdded key with descriptor [07a3ce5a6ebf0396]\r\n$ keyctl show\r\nSession Keyring\r\n1048296028 --alswrv   1000  1000  keyring: _ses\r\n 615559430 --alsw-v   1000  1000   \\_ logon: ext4:07a3ce5a6ebf0396\r\n
\n
\n

\u203b\u30d1\u30b9\u30d5\u30ec\u30fc\u30ba\u306e\u5165\u529b\u306f1\u56de\u3060\u3051\u3067\u78ba\u8a8d\u3055\u308c\u306a\u3044\u306e\u3067\u521d\u56de\u306f\u7279\u306b\u6ce8\u610f\uff0e\u5229\u7528\u3057\u306f\u3058\u3081\u308b\u524d\u306b\u30ad\u30fc\u30ea\u30f3\u30b0\u3092\u30af\u30ea\u30a2\u3057\u3066\u767b\u9332\u3057\u76f4\u3057\u3066\u30d1\u30b9\u30d5\u30ec\u30fc\u30ba\u304c\u6b63\u3057\u3044\u304b\u78ba\u8a8d\u3057\u3066\u304a\u304f\uff0e

\n\n

\u3053\u306e\u3068\u304d\u5bfe\u8c61\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304c\u7a7a\u3067\u306f\u306a\u3044\u5834\u5408\u30a8\u30e9\u30fc\u3068\u306a\u308b( Error [Directory not empty] setting policy. )\u306e\u3067\u6ce8\u610f\uff0e

\n

\u30de\u30a6\u30f3\u30c8\u30dd\u30a4\u30f3\u30c8\u306b\u306flost+found\u304c\u5b58\u5728\u3059\u308b\u306e\u3067\u5fc5\u305a\u30b5\u30d6\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u4ee5\u4e0b\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308b\uff0e

\n
\n
$ mkdir /mnt/encryption\r\n$ /usr/sbin/e4crypt set_policy 07a3ce5a6ebf0396 /mnt/encryption\r\nKey with descriptor [07a3ce5a6ebf0396] applied to /mnt/encryption.\r\n
\n
\n

\u203b\u9375\u306e\u751f\u6210\u3068\u30ad\u30fc\u30ea\u30f3\u30b0\u3078\u306e\u8ffd\u52a0\u3068\u6697\u53f7\u5316\u30dd\u30ea\u30b7\u30fc\u306e\u8a2d\u5b9a\u306f\u6b21\u306e\u3088\u3046\u306b\u3059\u308b\u3053\u3068\u3067\u4e00\u5ea6\u306b\u8a2d\u5b9a\u53ef\u80fd

\n
\n
$ /usr/sbin/e4crypt add_key /mnt/encryption\r\n
\n
\n\n
\n
$ echo 'hello' > /mnt/encryption/test.txt\r\n$ ls -la /mnt/encryption\r\n\u5408\u8a08 12\r\ndrwxr-xr-x 2 mk mk 4096  4\u6708  2 05:07 .\r\ndrwxr-xr-x 4 mk mk 4096  4\u6708  2 05:06 ..\r\n-rw-r--r-- 1 mk mk    6  4\u6708  2 05:07 test.txt\r\n
\n
\n\n
\n
$ sudo keyctl clear @s\r\n$ sudo keyctl show\r\nSession Keyring\r\n1048296028 --alswrv   1000  1000  keyring: _ses\r\n
\n
\n

\u30ad\u30fc\u30ea\u30f3\u30b0\u3092\u30af\u30ea\u30a2\u3057\u305f\u3060\u3051\u3067\u306f\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b

\n
\n
$ ls -lA /mnt/encryption\r\n\u5408\u8a08 12\r\n-rw-r--r-- 1 mk mk    6  4\u6708  2 05:07 test.txt\r\n
\n
\n\n

\u30ad\u30fc\u30ea\u30f3\u30b0\u3092\u30af\u30ea\u30a2\u3057\u305f\u72b6\u614b\u3067\u30a2\u30f3\u30de\u30a6\u30f3\u30c8\u3059\u308b\u3068\u6697\u53f7\u5316\u3055\u308c\u305f\u72b6\u614b\u306b\u623b\u308b

\n
\n
$ sudo umount /mnt\r\n$ sudo mount -o loop ./ext4-crypt.img /mnt\r\n$ ls -la /mnt/encryption\r\n\u5408\u8a08 12\r\ndrwxr-xr-x 2 mk mk 4096  4\u6708  2 05:42 .\r\ndrwxr-xr-x 4 mk mk 4096  4\u6708  2 05:06 ..\r\n-rw-r--r-- 1 mk mk    6  4\u6708  2 05:42 uzUlJZQfaxMx,7cC63,53A\r\n$ cat /mnt/encryption/uzUlJZQfaxMx,7cC63,53A \r\ncat: /mnt/encryption/uzUlJZQfaxMx,7cC63,53A: \u8981\u6c42\u3055\u308c\u305f\u30ad\u30fc\u304c\u5229\u7528\u3067\u304d\u307e\u305b\u3093\r\n
\n
\n

\u30e6\u30fc\u30b6\uff0c\u30b0\u30eb\u30fc\u30d7\uff0c\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\u306a\u3069\u306f\u898b\u3048\u308b\uff0e\u5185\u5bb9\u306b\u306f\u30a2\u30af\u30bb\u30b9\u3067\u304d\u306a\u3044\uff0e

\n\n

\u9375\u306e\u751f\u6210\u3068\u30ad\u30fc\u30ea\u30f3\u30b0\u3078\u306e\u8ffd\u52a0\u3068\u6697\u53f7\u5316\u30dd\u30ea\u30b7\u30fc\u306e\u8a2d\u5b9a\u3092\u3057\u76f4\u3059\u3068\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308b

\n
\n
$ /usr/sbin/e4crypt add_key /mnt/encryption\r\nEnter passphrase (echo disabled): \r\nAdded key with descriptor [07a3ce5a6ebf0396]\r\n$ ls -la /mnt/encryption\r\n\u5408\u8a08 12\r\ndrwxr-xr-x 2 mk mk 4096  4\u6708  2 05:42 .\r\ndrwxr-xr-x 4 mk mk 4096  4\u6708  2 05:06 ..\r\n-rw-r--r-- 1 mk mk    6  4\u6708  2 05:42 test.txt\r\n
\n
\n

\u30d5\u30a1\u30a4\u30eb\u540d\u9577\u306e\u78ba\u8a8d

\n

EncFS\u306a\u3069\u306f\u30d5\u30a1\u30a4\u30eb\u540d\u306e\u30e1\u30bf\u30c7\u30fc\u30bf\u304c\u30d5\u30a1\u30a4\u30eb\u540d\u5185\u306b\u3042\u308b\u306e\u3067\u5229\u7528\u3067\u304d\u308b\u30d5\u30a1\u30a4\u30eb\u540d\u9577\u304c\u77ed\u304f\u306a\u3063\u3066\u3057\u307e\u3046\uff0eext4\u3067\u306f\u3069\u3046\u304b\u8a66\u3059\uff0e

\n\n
\n
$ touch /mnt/1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456\r\ntouch: '/mnt/1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456' \u306b touch \u3067\u304d\u307e\u305b\u3093: \u30d5\u30a1\u30a4\u30eb\u540d\u304c\u9577\u3059\u304e\u307e\u3059\r\n$ touch /mnt/123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345\r\n
\n
\n\n
\n
$ touch /mnt/encryption/123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345\r\n$ ls -lA /mnt/encryption/\r\n\u5408\u8a08 4\r\n-rw-r--r-- 1 mk mk 0  4\u6708  2 07:14 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345\r\n-rw-r--r-- 1 mk mk 6  4\u6708  2 05:42 test.txt\r\n
\n
\n\n
\n
-rw-r--r-- 1 mk mk    0  4\u6708  2 07:14 _OsoePJvc3qPQCPHbUMtjSynszcHig3BL\r\n-rw-r--r-- 1 mk mk    6  4\u6708  2 05:42 uzUlJZQfaxMx,7cC63,53A\r\n
\n
\n

\u5fa9\u53f7\u72b6\u614b\u306e\u30d5\u30a1\u30a4\u30eb\u540d\u306f\u5225\u306e\u5834\u6240\u306b\u8a18\u9332\u3055\u308c\u3066\u3044\u308b\u3088\u3046\uff0e

\n

\u8907\u6570\u306e\u6697\u53f7\u5316\u9818\u57df\u3092\u4f5c\u3063\u3066\u307f\u308b

\n\n
\n
$ mkdir /mnt/encryption2\r\n$ ls -la /mnt/encryption2\r\n\u5408\u8a08 8\r\ndrwxr-xr-x 2 mk mk 4096  4\u6708  2 06:49 .\r\ndrwxr-xr-x 5 mk mk 4096  4\u6708  2 06:49 ..\r\n
\n
\n\n
\n
$ sudo e4crypt add_key /mnt/encryption2\r\nEnter passphrase (echo disabled):\r\nKey with descriptor [9640dd016062b432] already exists\r\nKey with descriptor [9640dd016062b432] applied to /mnt/encryption2.\r\n$ keyctl show\r\nSession Keyring   \r\n1048296028 --alswrv   1000  1000  keyring: _ses\r\n  94779002 --alsw-v      0     0   \\_ logon: ext4:69ca01e214957173\r\n 219437542 --alsw-v      0     0   \\_ logon: ext4:07a3ce5a6ebf0396\r\n1025344233 --alsw-v      0     0   \\_ logon: ext4:9640dd016062b432\r\n$ touch /mnt/encryption2/hoge\r\n
\n
\n\n
\n
$ keyctl clear @s\r\n$ keyctl show\r\nSession Keyring   \r\n1048296028 --alswrv   1000  1000  keyring: _ses\r\n$ sudo umount /mnt\r\n$ sudo mount -o loop ./ext4-crypt.img /mnt\r\n
\n
\n\n
\n
$ sudo e4crypt add_key /mnt/encryption2\r\nEnter passphrase (echo disabled):\r\nAdded key with descriptor [9640dd016062b432]\r\nKey with descriptor [9640dd016062b432] applied to /mnt/encryption2.\r\n$ ls -la /mnt/encryption*\r\n/mnt/encryption:  \r\n\u5408\u8a08 12\r\ndrwxr-xr-x 2 mk mk 4096  4\u6708  2 06:11 .\r\ndrwxr-xr-x 5 mk mk 4096  4\u6708  2 06:49 ..\r\n-rw-r--r-- 1 mk mk    0  4\u6708  2 06:11 _OsoePJvc3qPQCPHbUMtjSynszcHig3BL\r\n-rw-r--r-- 1 mk mk    6  4\u6708  2 05:42 uzUlJZQfaxMx,7cC63,53A\r\n\r\n/mnt/encryption2: \r\n\u5408\u8a08 8\r\ndrwxr-xr-x 2 mk mk 4096  4\u6708  2 06:51 .\r\ndrwxr-xr-x 5 mk mk 4096  4\u6708  2 06:49 ..\r\n-rw-r--r-- 1 mk mk    0  4\u6708  2 06:51 hoge\r\n
\n
\n

\u6697\u53f7\u5316\u9818\u57df\u306b\u9375\u304c\u767b\u9332\u3055\u308c\u3066\u306a\u3044\u72b6\u614b\u3067\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u3063\u3066\u307f\u308b

\n

\u6697\u53f7\u5316\u9818\u57df\u306b\u9375\u304c\u767b\u9332\u3055\u308c\u3066\u306a\u3044\u72b6\u614b\u3067\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u308b\u3068\u3069\u3046\u306a\u308b\u304b\u3092\u78ba\u8a8d\uff0e

\n
\n
$ ls -lA /mnt/encryption\r\n\u5408\u8a08 4\r\n-rw-r--r-- 1 mk mk 0  4\u6708  2 07:14 _OsoePJvc3qPQCPHbUMtjSynszcHig3BL\r\n-rw-r--r-- 1 mk mk 6  4\u6708  2 05:42 uzUlJZQfaxMx,7cC63,53A\r\nmk@x220:~ (1180)$ touch /mnt/encryption/test\r\ntouch: '/mnt/encryption/test' \u306e\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u3092\u8a2d\u5b9a\u4e2d\u3067\u3059: \u305d\u306e\u3088\u3046\u306a\u30d5\u30a1\u30a4\u30eb\u3084\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306f\u3042\u308a\u307e\u305b\u3093\r\nmk@x220:~ (1181)$ ls -lA /mnt/encryption\r\n\u5408\u8a08 4\r\n-rw-r--r-- 1 mk mk 0  4\u6708  2 07:14 _OsoePJvc3qPQCPHbUMtjSynszcHig3BL\r\n-rw-r--r-- 1 mk mk 6  4\u6708  2 05:42 uzUlJZQfaxMx,7cC63,53A\r\n
\n
\n

\u30a8\u30e9\u30fc\u3068\u306a\u3063\u3066\u4f5c\u308c\u306a\u3044\uff0e

\n

\u5225\u306e\u30e6\u30fc\u30b6\u3067\u5229\u7528

\n\n
\n
$ id\r\nuid=1001(gm) gid=1001(gm) groups=1001(gm),20(dialout),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),107(netdev)\r\n$ ls -la /mnt/encryption\r\n\u5408\u8a08 12\r\ndrwxr-xr-x 2 mk mk 4096  4\u6708  2 06:11 .\r\ndrwxr-xr-x 7 mk mk 4096  4\u6708  2 07:48 ..\r\n-rw-r--r-- 1 mk mk    0  4\u6708  2 07:14 _OsoePJvc3qPQCPHbUMtjSynszcHig3BL\r\n-rw-r--r-- 1 mk mk    6  4\u6708  2 05:42 uzUlJZQfaxMx,7cC63,53A\r\n$ ls -la /mnt/encryption\r\n\u5408\u8a08 12\r\ndrwxrwxrwx 2 mk mk 4096  4\u6708  2 06:11 .\r\ndrwxr-xr-x 7 mk mk 4096  4\u6708  2 07:48 ..\r\n-rw-r--r-- 1 mk mk    0  4\u6708  2 07:14 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345\r\n-rw-r--r-- 1 mk mk    6  4\u6708  2 05:42 test.txt\r\n
\n
\n\n
\n
$ touch /mnt/encryption/other_user\r\n$ ls -lA /mnt/encryption\r\n\u5408\u8a08 4\r\n-rw-r--r-- 1 mk mk 0  4\u6708  2 07:14 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345\r\n-rw-r--r-- 1 gm gm 0  4\u6708  2 07:55 other_user\r\n-rw-r--r-- 1 mk mk 6  4\u6708  2 05:42 test.txt\r\n
\n
\n\n
\n
$ /usr/sbin/e4crypt add_key /mnt/encryption\r\n/mnt/encryption: Permission denied\r\n
\n
\n\n
\n
$ ls -la /mnt/encryption\r\n\u5408\u8a08 12\r\ndrwxrwxrwx 2 mk mk 4096  4\u6708  2 07:55 .\r\ndrwxr-xr-x 7 mk mk 4096  4\u6708  2 07:48 ..\r\n-rw-r--r-- 1 gm gm    0  4\u6708  2 07:55 97NmIBETx,1q9US96etRsA\r\n-rw-r--r-- 1 mk mk    0  4\u6708  2 07:14 _OsoePJvc3qPQCPHbUMtjSynszcHig3BL\r\n-rw-r--r-- 1 mk mk    6  4\u6708  2 05:42 uzUlJZQfaxMx,7cC63,53A\r\n$ /usr/sbin/e4crypt add_key /mnt/encryption\r\nEnter passphrase (echo disabled): \r\nAdded key with descriptor [07a3ce5a6ebf0396]\r\nError [Permission denied] setting policy.\r\nThe key descriptor [07a3ce5a6ebf0396] may not match the existing encryption context for directory [/mnt/encryption].\r\n$ ls -lA /mnt/encryption\r\n\u5408\u8a08 4\r\n-rw-r--r-- 1 mk mk 0  4\u6708  2 07:14 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345\r\n-rw-r--r-- 1 gm gm 0  4\u6708  2 07:55 other_user\r\n-rw-r--r-- 1 mk mk 6  4\u6708  2 05:42 test.txt\r\n
\n
\n
\n

\n\n

\n
\n", "content_text": "Linux 4.1\u3067ext4\u306e\u6697\u53f7\u5316\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u304c\u53d6\u308a\u8fbc\u307e\u308c\u3066\u3044\u308b\u306e\u306b\u6c17\u3065\u3044\u305f\u306e\u3067\u5c11\u3057\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\ncCryptFS\u3084EncFS\u306a\u3069\u3068\u540c\u3058\u3088\u3046\u306b\u30d5\u30a1\u30a4\u30eb\u5358\u4f4d\u3067\u306e\u6697\u53f7\u5316\u3067\u3059\uff0e\u524d\u3082\u3063\u3066\u6697\u53f7\u5316\u30d5\u30e9\u30b0\u3092\u8a2d\u5b9a\u3057\u3066\u3042\u308c\u3070\u4e00\u822c\u30e6\u30fc\u30b6\u304c\u52dd\u624b\u306b\u6697\u53f7\u9818\u57df\u3092\u4f5c\u308b\u3053\u3068\u3082\u53ef\u80fd\u3067\u3057\u305f\uff0eeCryptFS\u3084EncFS\u306e\u3088\u3046\u306a\u4f7f\u3044\u65b9\u3082\u53ef\u80fd\u305d\u3046\u3067\u3059\uff0e\u6050\u3089\u304f\u901f\u5ea6\u306f\u3053\u3061\u3089\u306e\u307b\u3046\u304c\u901f\u3044\u3067\u3057\u3087\u3046(\u672a\u78ba\u8a8d)\uff0e\u305f\u3060\uff0c\u30d1\u30b9\u30d5\u30ec\u30fc\u30ba\u304c\u308f\u304b\u3063\u3066\u3057\u307e\u3046\u3068\u5225\u306e\u30e6\u30fc\u30b6\u304b\u3089\u3082\u30de\u30a6\u30f3\u30c8\u53ef\u80fd\u3060\u3057\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\u304c\u3042\u308c\u3070\u8aad\u307f\u66f8\u304d\u3082\u51fa\u6765\u308b\u306e\u3067\u901a\u5e38\u306e\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u3068\u540c\u69d8\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\u306e\u8a2d\u5b9a\u306f\u5fc5\u9808\u3067\u3059\u306d\uff0e\n\u30d1\u30fc\u30c6\u30a3\u30b7\u30e7\u30f3\u5185\u5168\u3066\u3092\u6697\u53f7\u5316\u3059\u308b\u3053\u3068\u306f\u51fa\u6765\u306a\u3044\u3088\u3046\u306a\u306e\u3067LUKS(dm-crypt)\u3068\u306f\u5358\u7d14\u306b\u7a7a\u304d\u304b\u3048\u308b\u3053\u3068\u306f\u3067\u304d\u306a\u3055\u305d\u3046\u3067\u3059\uff0e\n\u305d\u3093\u306a\u3053\u3093\u306a\u3067\u3082\u3068\u3082\u3068Android\u5411\u3051\u3068\u3044\u3046\u3053\u3068\u3082\u3042\u3063\u3066PC/Server\u3067\u306f\u3042\u307e\u308a\u4f7f\u3044\u307f\u3061\u304c\u601d\u3044\u3064\u304b\u306a\u3044\u611f\u3058\u3067\u3059\uff0e(\u4f55\u304b\u3044\u3044\u4f7f\u3044\u65b9\u3042\u308a\u305d\u3046\u3060\u3051\u3069\u2026\u2026\uff0e)\n\u5fc5\u8981\u6761\u4ef6\u78ba\u8a8d\n\nLinux 4.1\u4ee5\u4e0a\n\n\n$ uname -r\r\n4.9.0-2-amd64\r\n\n\n\nCONFIG_EXT4_ENCRYPTION\u304c\u6709\u52b9\n\n\n$ grep CONFIG_EXT4_ENCRYPTION /boot/config-`uname -r`\r\nCONFIG_EXT4_ENCRYPTION=y\r\n\n\n\ne2fsprogs 1.43\u4ee5\u4e0a\n\n\n$ dpkg-query -W e2fsprogs\r\ne2fsprogs 1.43.4-2\r\n\n\n\n\u30d6\u30ed\u30c3\u30af\u30b5\u30a4\u30ba\u304c4k\n\n\n$ sudo dumpe2fs /dev/loop0 | grep -i 'block size'\r\ndumpe2fs 1.43.4 (31-Jan-2017)\r\nBlock size: 4096\r\n\n\n\u5fc5\u8981\u306a\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u5c0e\u5165\n\n$ sudo apt install e2fsprogs keyutils util-linux coreutils mount\r\n\n\n\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u306e\u7528\u610f\n\u4eca\u56de\u306f\u65e2\u5b58\u306e\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u5185\u306b\u30c7\u30a3\u30b9\u30af\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u3066\u305d\u308c\u3092\u5229\u7528\n\n1GB\u306e\u30c7\u30a3\u30b9\u30af\u30a4\u30e1\u30fc\u30b8\u306e\u4f5c\u6210\n\n\n$ dd if=/dev/zero of=ext4-crypt.img seek=1073741824 bs=1 count=1\r\n1+0 \u30ec\u30b3\u30fc\u30c9\u5165\u529b\r\n1+0 \u30ec\u30b3\u30fc\u30c9\u51fa\u529b\r\n1 byte copied, 0.000118528 s, 8.4 kB/s\r\n\n\n\n\u30d1\u30fc\u30c6\u30a3\u30b7\u30e7\u30f3\u306e\u4f5c\u6210\nprimary\u30921\u3064\u4f5c\u6210\n\n\n$ /sbin/fdisk ext4-crypt.img\r\n\r\nWelcome to fdisk (util-linux 2.29.2).\r\nChanges will remain in memory only, until you decide to write them.\r\nBe careful before using the write command.\r\n\r\nDevice does not contain a recognized partition table.\r\nCreated a new DOS disklabel with disk identifier 0xa25a3988.\r\n\r\nCommand (m for help): n\r\nPartition type\r\n p primary (0 primary, 0 extended, 4 free)\r\n e extended (container for logical partitions)\r\nSelect (default p): p\r\nPartition number (1-4, default 1): \r\nFirst sector (2048-2097151, default 2048): \r\nLast sector, +sectors or +size{K,M,G,T,P} (2048-2097151, default 2097151): \r\n\r\nCreated a new partition 1 of type 'Linux' and of size 1023 MiB.\r\n\r\nCommand (m for help): w\r\nThe partition table has been altered.\r\nSyncing disks.\r\n\n\n\next4\u3067\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\n\n\n$ /sbin/mkfs.ext4 ./ext4-crypt.img \r\nmke2fs 1.43.4 (31-Jan-2017)\r\nFound a dos partition table in ./ext4-crypt.img\r\nProceed anyway? (y,N) y\r\nDiscarding device blocks: done \r\nCreating filesystem with 262144 4k blocks and 65536 inodes\r\nFilesystem UUID: dc44fd43-7d7a-4dfc-87f1-dc52410e2dd1\r\nSuperblock backups stored on blocks: \r\n 32768, 98304, 163840, 229376\r\n\r\nAllocating group tables: done \r\nWriting inode tables: done \r\nCreating journal (8192 blocks): done\r\nWriting superblocks and filesystem accounting information: done\r\n\n\n\n\u30de\u30a6\u30f3\u30c8\n\n\n$ sudo mount -o loop ./ext4-crypt.img /mnt\r\n$ grep /mnt /etc/mtab \r\n/dev/loop0 /mnt ext4 rw,relatime,data=ordered 0 0\r\n\n\n\n\u30aa\u30fc\u30ca\u30fc\uff0c\u30b0\u30eb\u30fc\u30d7\u306e\u5909\u66f4\n\n\n$ sudo chown `id -u`.`id -g` /mnt\r\n$ ls -la /mnt\r\n\u5408\u8a08 36\r\ndrwxr-xr-x 3 mk mk 4096 4\u6708 2 04:58 .\r\ndrwxr-xr-x 1 root root 248 3\u6708 28 02:19 ..\r\ndrwx------ 2 root root 16384 4\u6708 2 04:58 lost+found\r\n\n\next4\u6697\u53f7\u5316\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u306e\u5229\u7528\n\next4\u306e\u6697\u53f7\u5316\u30d5\u30e9\u30b0\u3092\u8a2d\u5b9a\n\n\n$ sudo tune2fs -O encrypt /dev/loop0\r\n$ sudo dumpe2fs /dev/loop0 | grep -io encrypt\r\ndumpe2fs 1.43.4 (31-Jan-2017)\r\nencrypt\r\n\n\n\n\u9375\u306e\u751f\u6210\u3068\u30ad\u30fc\u30ea\u30f3\u30b0\u3078\u306e\u8ffd\u52a0\n\n\n$ /usr/sbin/e4crypt add_key\r\nEnter passphrase (echo disabled): \r\nAdded key with descriptor [07a3ce5a6ebf0396]\r\n$ keyctl show\r\nSession Keyring\r\n1048296028 --alswrv 1000 1000 keyring: _ses\r\n 615559430 --alsw-v 1000 1000 \\_ logon: ext4:07a3ce5a6ebf0396\r\n\n\n\u203b\u30d1\u30b9\u30d5\u30ec\u30fc\u30ba\u306e\u5165\u529b\u306f1\u56de\u3060\u3051\u3067\u78ba\u8a8d\u3055\u308c\u306a\u3044\u306e\u3067\u521d\u56de\u306f\u7279\u306b\u6ce8\u610f\uff0e\u5229\u7528\u3057\u306f\u3058\u3081\u308b\u524d\u306b\u30ad\u30fc\u30ea\u30f3\u30b0\u3092\u30af\u30ea\u30a2\u3057\u3066\u767b\u9332\u3057\u76f4\u3057\u3066\u30d1\u30b9\u30d5\u30ec\u30fc\u30ba\u304c\u6b63\u3057\u3044\u304b\u78ba\u8a8d\u3057\u3066\u304a\u304f\uff0e\n\n\u6697\u53f7\u5316\u30dd\u30ea\u30b7\u30fc\u306e\u8a2d\u5b9a\n\n\u3053\u306e\u3068\u304d\u5bfe\u8c61\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304c\u7a7a\u3067\u306f\u306a\u3044\u5834\u5408\u30a8\u30e9\u30fc\u3068\u306a\u308b( Error [Directory not empty] setting policy. )\u306e\u3067\u6ce8\u610f\uff0e\n\u30de\u30a6\u30f3\u30c8\u30dd\u30a4\u30f3\u30c8\u306b\u306flost+found\u304c\u5b58\u5728\u3059\u308b\u306e\u3067\u5fc5\u305a\u30b5\u30d6\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u4ee5\u4e0b\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308b\uff0e\n\n$ mkdir /mnt/encryption\r\n$ /usr/sbin/e4crypt set_policy 07a3ce5a6ebf0396 /mnt/encryption\r\nKey with descriptor [07a3ce5a6ebf0396] applied to /mnt/encryption.\r\n\n\n\u203b\u9375\u306e\u751f\u6210\u3068\u30ad\u30fc\u30ea\u30f3\u30b0\u3078\u306e\u8ffd\u52a0\u3068\u6697\u53f7\u5316\u30dd\u30ea\u30b7\u30fc\u306e\u8a2d\u5b9a\u306f\u6b21\u306e\u3088\u3046\u306b\u3059\u308b\u3053\u3068\u3067\u4e00\u5ea6\u306b\u8a2d\u5b9a\u53ef\u80fd\n\n$ /usr/sbin/e4crypt add_key /mnt/encryption\r\n\n\n\n\u6697\u53f7\u5316\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u9818\u57df\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\n\n\n$ echo 'hello' > /mnt/encryption/test.txt\r\n$ ls -la /mnt/encryption\r\n\u5408\u8a08 12\r\ndrwxr-xr-x 2 mk mk 4096 4\u6708 2 05:07 .\r\ndrwxr-xr-x 4 mk mk 4096 4\u6708 2 05:06 ..\r\n-rw-r--r-- 1 mk mk 6 4\u6708 2 05:07 test.txt\r\n\n\n\n\u30ad\u30fc\u30ea\u30f3\u30b0\u306e\u30af\u30ea\u30a2\n\n\n$ sudo keyctl clear @s\r\n$ sudo keyctl show\r\nSession Keyring\r\n1048296028 --alswrv 1000 1000 keyring: _ses\r\n\n\n\u30ad\u30fc\u30ea\u30f3\u30b0\u3092\u30af\u30ea\u30a2\u3057\u305f\u3060\u3051\u3067\u306f\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\n\n$ ls -lA /mnt/encryption\r\n\u5408\u8a08 12\r\n-rw-r--r-- 1 mk mk 6 4\u6708 2 05:07 test.txt\r\n\n\n\n\u30a2\u30f3\u30de\u30a6\u30f3\u30c8\u3068\u30de\u30a6\u30f3\u30c8\u3057\u76f4\u3057\n\n\u30ad\u30fc\u30ea\u30f3\u30b0\u3092\u30af\u30ea\u30a2\u3057\u305f\u72b6\u614b\u3067\u30a2\u30f3\u30de\u30a6\u30f3\u30c8\u3059\u308b\u3068\u6697\u53f7\u5316\u3055\u308c\u305f\u72b6\u614b\u306b\u623b\u308b\n\n$ sudo umount /mnt\r\n$ sudo mount -o loop ./ext4-crypt.img /mnt\r\n$ ls -la /mnt/encryption\r\n\u5408\u8a08 12\r\ndrwxr-xr-x 2 mk mk 4096 4\u6708 2 05:42 .\r\ndrwxr-xr-x 4 mk mk 4096 4\u6708 2 05:06 ..\r\n-rw-r--r-- 1 mk mk 6 4\u6708 2 05:42 uzUlJZQfaxMx,7cC63,53A\r\n$ cat /mnt/encryption/uzUlJZQfaxMx,7cC63,53A \r\ncat: /mnt/encryption/uzUlJZQfaxMx,7cC63,53A: \u8981\u6c42\u3055\u308c\u305f\u30ad\u30fc\u304c\u5229\u7528\u3067\u304d\u307e\u305b\u3093\r\n\n\n\u30e6\u30fc\u30b6\uff0c\u30b0\u30eb\u30fc\u30d7\uff0c\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\u306a\u3069\u306f\u898b\u3048\u308b\uff0e\u5185\u5bb9\u306b\u306f\u30a2\u30af\u30bb\u30b9\u3067\u304d\u306a\u3044\uff0e\n\n\u518d\u5ea6\u6697\u53f7\u5316\u9818\u57df\u3092\u5229\u7528\u51fa\u6765\u308b\u3088\u3046\u306b\u3059\u308b\n\n\u9375\u306e\u751f\u6210\u3068\u30ad\u30fc\u30ea\u30f3\u30b0\u3078\u306e\u8ffd\u52a0\u3068\u6697\u53f7\u5316\u30dd\u30ea\u30b7\u30fc\u306e\u8a2d\u5b9a\u3092\u3057\u76f4\u3059\u3068\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308b\n\n$ /usr/sbin/e4crypt add_key /mnt/encryption\r\nEnter passphrase (echo disabled): \r\nAdded key with descriptor [07a3ce5a6ebf0396]\r\n$ ls -la /mnt/encryption\r\n\u5408\u8a08 12\r\ndrwxr-xr-x 2 mk mk 4096 4\u6708 2 05:42 .\r\ndrwxr-xr-x 4 mk mk 4096 4\u6708 2 05:06 ..\r\n-rw-r--r-- 1 mk mk 6 4\u6708 2 05:42 test.txt\r\n\n\n\u30d5\u30a1\u30a4\u30eb\u540d\u9577\u306e\u78ba\u8a8d\nEncFS\u306a\u3069\u306f\u30d5\u30a1\u30a4\u30eb\u540d\u306e\u30e1\u30bf\u30c7\u30fc\u30bf\u304c\u30d5\u30a1\u30a4\u30eb\u540d\u5185\u306b\u3042\u308b\u306e\u3067\u5229\u7528\u3067\u304d\u308b\u30d5\u30a1\u30a4\u30eb\u540d\u9577\u304c\u77ed\u304f\u306a\u3063\u3066\u3057\u307e\u3046\uff0eext4\u3067\u306f\u3069\u3046\u304b\u8a66\u3059\uff0e\n\n\u901a\u5e38\u306eext4\u9818\u57df\u3067\u306f256\u6587\u5b57\n\n\n$ touch /mnt/1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456\r\ntouch: '/mnt/1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456' \u306b touch \u3067\u304d\u307e\u305b\u3093: \u30d5\u30a1\u30a4\u30eb\u540d\u304c\u9577\u3059\u304e\u307e\u3059\r\n$ touch /mnt/123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345\r\n\n\n\n\u6697\u53f7\u5316\u9818\u57df\u3082\u540c\u69d8\u3060\u3063\u305f\n\n\n$ touch /mnt/encryption/123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345\r\n$ ls -lA /mnt/encryption/\r\n\u5408\u8a08 4\r\n-rw-r--r-- 1 mk mk 0 4\u6708 2 07:14 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345\r\n-rw-r--r-- 1 mk mk 6 4\u6708 2 05:42 test.txt\r\n\n\n\n\u975e\u6697\u53f7\u5316\u72b6\u614b\u3067\u306f\u3053\u3093\u306a\u72b6\u614b\n\n\n-rw-r--r-- 1 mk mk 0 4\u6708 2 07:14 _OsoePJvc3qPQCPHbUMtjSynszcHig3BL\r\n-rw-r--r-- 1 mk mk 6 4\u6708 2 05:42 uzUlJZQfaxMx,7cC63,53A\r\n\n\n\u5fa9\u53f7\u72b6\u614b\u306e\u30d5\u30a1\u30a4\u30eb\u540d\u306f\u5225\u306e\u5834\u6240\u306b\u8a18\u9332\u3055\u308c\u3066\u3044\u308b\u3088\u3046\uff0e\n\u8907\u6570\u306e\u6697\u53f7\u5316\u9818\u57df\u3092\u4f5c\u3063\u3066\u307f\u308b\n\n\u65b0\u3057\u3044\u6697\u53f7\u5316\u9818\u57df\u306e\u305f\u3081\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210\n\n\n$ mkdir /mnt/encryption2\r\n$ ls -la /mnt/encryption2\r\n\u5408\u8a08 8\r\ndrwxr-xr-x 2 mk mk 4096 4\u6708 2 06:49 .\r\ndrwxr-xr-x 5 mk mk 4096 4\u6708 2 06:49 ..\r\n\n\n\n\u6697\u53f7\u5316\u8a2d\u5b9a\n\n\n$ sudo e4crypt add_key /mnt/encryption2\r\nEnter passphrase (echo disabled):\r\nKey with descriptor [9640dd016062b432] already exists\r\nKey with descriptor [9640dd016062b432] applied to /mnt/encryption2.\r\n$ keyctl show\r\nSession Keyring \r\n1048296028 --alswrv 1000 1000 keyring: _ses\r\n 94779002 --alsw-v 0 0 \\_ logon: ext4:69ca01e214957173\r\n 219437542 --alsw-v 0 0 \\_ logon: ext4:07a3ce5a6ebf0396\r\n1025344233 --alsw-v 0 0 \\_ logon: ext4:9640dd016062b432\r\n$ touch /mnt/encryption2/hoge\r\n\n\n\n\u4e00\u56de\u6697\u53f7\u5316\u3092\u89e3\u9664\u3057\u3066\u30de\u30a6\u30f3\u30c8\u3057\u76f4\u3059\n\n\n$ keyctl clear @s\r\n$ keyctl show\r\nSession Keyring \r\n1048296028 --alswrv 1000 1000 keyring: _ses\r\n$ sudo umount /mnt\r\n$ sudo mount -o loop ./ext4-crypt.img /mnt\r\n\n\n\n\u7247\u65b9\u3060\u3051\u9375\u3092\u767b\u9332\u3057\u3066\u6697\u53f7\u5316\u9818\u57df\u3092\u5229\u7528\n\n\n$ sudo e4crypt add_key /mnt/encryption2\r\nEnter passphrase (echo disabled):\r\nAdded key with descriptor [9640dd016062b432]\r\nKey with descriptor [9640dd016062b432] applied to /mnt/encryption2.\r\n$ ls -la /mnt/encryption*\r\n/mnt/encryption: \r\n\u5408\u8a08 12\r\ndrwxr-xr-x 2 mk mk 4096 4\u6708 2 06:11 .\r\ndrwxr-xr-x 5 mk mk 4096 4\u6708 2 06:49 ..\r\n-rw-r--r-- 1 mk mk 0 4\u6708 2 06:11 _OsoePJvc3qPQCPHbUMtjSynszcHig3BL\r\n-rw-r--r-- 1 mk mk 6 4\u6708 2 05:42 uzUlJZQfaxMx,7cC63,53A\r\n\r\n/mnt/encryption2: \r\n\u5408\u8a08 8\r\ndrwxr-xr-x 2 mk mk 4096 4\u6708 2 06:51 .\r\ndrwxr-xr-x 5 mk mk 4096 4\u6708 2 06:49 ..\r\n-rw-r--r-- 1 mk mk 0 4\u6708 2 06:51 hoge\r\n\n\n\u6697\u53f7\u5316\u9818\u57df\u306b\u9375\u304c\u767b\u9332\u3055\u308c\u3066\u306a\u3044\u72b6\u614b\u3067\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u3063\u3066\u307f\u308b\n\u6697\u53f7\u5316\u9818\u57df\u306b\u9375\u304c\u767b\u9332\u3055\u308c\u3066\u306a\u3044\u72b6\u614b\u3067\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u308b\u3068\u3069\u3046\u306a\u308b\u304b\u3092\u78ba\u8a8d\uff0e\n\n$ ls -lA /mnt/encryption\r\n\u5408\u8a08 4\r\n-rw-r--r-- 1 mk mk 0 4\u6708 2 07:14 _OsoePJvc3qPQCPHbUMtjSynszcHig3BL\r\n-rw-r--r-- 1 mk mk 6 4\u6708 2 05:42 uzUlJZQfaxMx,7cC63,53A\r\nmk@x220:~ (1180)$ touch /mnt/encryption/test\r\ntouch: '/mnt/encryption/test' \u306e\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u3092\u8a2d\u5b9a\u4e2d\u3067\u3059: \u305d\u306e\u3088\u3046\u306a\u30d5\u30a1\u30a4\u30eb\u3084\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306f\u3042\u308a\u307e\u305b\u3093\r\nmk@x220:~ (1181)$ ls -lA /mnt/encryption\r\n\u5408\u8a08 4\r\n-rw-r--r-- 1 mk mk 0 4\u6708 2 07:14 _OsoePJvc3qPQCPHbUMtjSynszcHig3BL\r\n-rw-r--r-- 1 mk mk 6 4\u6708 2 05:42 uzUlJZQfaxMx,7cC63,53A\r\n\n\n\u30a8\u30e9\u30fc\u3068\u306a\u3063\u3066\u4f5c\u308c\u306a\u3044\uff0e\n\u5225\u306e\u30e6\u30fc\u30b6\u3067\u5229\u7528\n\n\u5225\u306e\u30e6\u30fc\u30b6\u3067\u4e2d\u304c\u898b\u3048\u308b\u304b\u78ba\u8a8d\n\n\n$ id\r\nuid=1001(gm) gid=1001(gm) groups=1001(gm),20(dialout),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),107(netdev)\r\n$ ls -la /mnt/encryption\r\n\u5408\u8a08 12\r\ndrwxr-xr-x 2 mk mk 4096 4\u6708 2 06:11 .\r\ndrwxr-xr-x 7 mk mk 4096 4\u6708 2 07:48 ..\r\n-rw-r--r-- 1 mk mk 0 4\u6708 2 07:14 _OsoePJvc3qPQCPHbUMtjSynszcHig3BL\r\n-rw-r--r-- 1 mk mk 6 4\u6708 2 05:42 uzUlJZQfaxMx,7cC63,53A\r\n$ ls -la /mnt/encryption\r\n\u5408\u8a08 12\r\ndrwxrwxrwx 2 mk mk 4096 4\u6708 2 06:11 .\r\ndrwxr-xr-x 7 mk mk 4096 4\u6708 2 07:48 ..\r\n-rw-r--r-- 1 mk mk 0 4\u6708 2 07:14 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345\r\n-rw-r--r-- 1 mk mk 6 4\u6708 2 05:42 test.txt\r\n\n\n\n\u6a29\u9650\u304c\u3042\u308c\u3070\u30d5\u30a1\u30a4\u30eb\u4f5c\u6210\u3082\u3067\u304d\u308b\n\n\n$ touch /mnt/encryption/other_user\r\n$ ls -lA /mnt/encryption\r\n\u5408\u8a08 4\r\n-rw-r--r-- 1 mk mk 0 4\u6708 2 07:14 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345\r\n-rw-r--r-- 1 gm gm 0 4\u6708 2 07:55 other_user\r\n-rw-r--r-- 1 mk mk 6 4\u6708 2 05:42 test.txt\r\n\n\n\n\u6697\u53f7\u5316\u89e3\u9664\u306f\u51fa\u6765\u306a\u3044\u3068\u601d\u3063\u305f\u304c\uff0c\n\n\n$ /usr/sbin/e4crypt add_key /mnt/encryption\r\n/mnt/encryption: Permission denied\r\n\n\n\n\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\u3092\u3086\u308b\u304f\u3057\u3066\u3084\u308b\u3068\u51fa\u6765\u3066\u3057\u307e\u3046\uff0e\n\n\n$ ls -la /mnt/encryption\r\n\u5408\u8a08 12\r\ndrwxrwxrwx 2 mk mk 4096 4\u6708 2 07:55 .\r\ndrwxr-xr-x 7 mk mk 4096 4\u6708 2 07:48 ..\r\n-rw-r--r-- 1 gm gm 0 4\u6708 2 07:55 97NmIBETx,1q9US96etRsA\r\n-rw-r--r-- 1 mk mk 0 4\u6708 2 07:14 _OsoePJvc3qPQCPHbUMtjSynszcHig3BL\r\n-rw-r--r-- 1 mk mk 6 4\u6708 2 05:42 uzUlJZQfaxMx,7cC63,53A\r\n$ /usr/sbin/e4crypt add_key /mnt/encryption\r\nEnter passphrase (echo disabled): \r\nAdded key with descriptor [07a3ce5a6ebf0396]\r\nError [Permission denied] setting policy.\r\nThe key descriptor [07a3ce5a6ebf0396] may not match the existing encryption context for directory [/mnt/encryption].\r\n$ ls -lA /mnt/encryption\r\n\u5408\u8a08 4\r\n-rw-r--r-- 1 mk mk 0 4\u6708 2 07:14 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345\r\n-rw-r--r-- 1 gm gm 0 4\u6708 2 07:55 other_user\r\n-rw-r--r-- 1 mk mk 6 4\u6708 2 05:42 test.txt", "date_published": "2017-04-02T08:20:44+09:00", "date_modified": "2017-04-02T08:47:16+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "Debian", "Debian sid", "encryption", "encryption file system", "ext4", "Linux", "sid" ] }, { "id": "http://matoken.org/blog/?p=1507", "url": "https://matoken.org/blog/2017/01/26/mumble-server-setting-note/", "title": "Mumble server\u8a2d\u5b9a\u30e1\u30e2", "content_html": "

\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a 2017.01\u306e\u9060\u9694\u3067\u5229\u7528\u3057\u305f\u8a2d\u5b9a\u30e1\u30e2\u3067\u3059\uff0e

\n\n

pkg\u306e\u5c0e\u5165

\n
$ sudo apt install mumble-server\r\n
\n

\u81ea\u52d5\u8d77\u52d5\u3092\u7121\u52b9\u306b\u3059\u308b

\n
$ sudo dpkg-reconfigure mumble-server\r\n
\n

\u3067\u8a2d\u5b9a\u753b\u9762\u306b\u5165\u308a\uff0c

\n
Mumble-server (murmurd) can start automatically when the server is booted.\r\n\r\nAutostart mumble-server on server boot?\r\n
\n

\u3067\u3092\u9078\u629e\u3059\u308b\uff0e
\n(/etc/default/mumble-server\u306eMURMUR_DAEMON_START=0\u3067\u3082)

\n

\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u7de8\u96c6

\n
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

ssl\u8a3c\u660e\u66f8\u3092\u30af\u30ea\u30a2

\n
$ sudo murmurd -wipessl\r\n$ sudo killall murmurd\r\n
\n

\u5229\u7528\u6642

\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

\n

mumble://kagolug.org?title=KagoLUG%20Mumble%20Server&version=1.2.0

\n

\u5229\u7528\u74b0\u5883

\n\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

\n

\u5229\u7528\u5b8c\u4e86\u6642

\n

\u30c7\u30fc\u30e2\u30f3\u306e\u7d42\u4e86

\n
$ sudo service mumble-server start\r\n
\n

iptables\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

\u8ab2\u984c

\n

ssl\u8a3c\u660e\u66f8\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u3080\u305f\u3081\u306bdaemon\u3092root\u3067\u52d5\u304b\u3057\u3066\u3044\u308b\u306e\u3092mumble-server\u30e6\u30fc\u30b6\u306b\u623b\u3057\u305f\u3044\uff0e

\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
\n

ssl-cert\u30b0\u30eb\u30fc\u30d7\u306bmumble-server\u3092\u767b\u9332\u3067\u884c\u3051\u305d\u3046?

\n

\u30de\u30a4\u30af

\n

\u4f1a\u8b70\u5411\u3051\u306e\u5168\u65b9\u4f4d\u306e\u30de\u30a4\u30af\u304c\u6b32\u3057\u3044

\n
\n\n
\n", "content_text": "\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a 2017.01\u306e\u9060\u9694\u3067\u5229\u7528\u3057\u305f\u8a2d\u5b9a\u30e1\u30e2\u3067\u3059\uff0e\n\n\u30b5\u30fc\u30d0\u306eOS\u306fDebian jessie amd64\n\u81ea\u52d5\u8d77\u52d5\u305b\u305a\u5229\u7528\u6642\u306b\u624b\u52d5\u3067\u8d77\u52d5\u3059\u308b\nfw\u3082\u90fd\u5ea6\u624b\u52d5\n\u30b5\u30d6\u30c1\u30e3\u30f3\u30cd\u30eb\u306f\u306a\u3057\nssl\u8a3c\u660e\u66f8\u306f\u65e2\u5b58\u306estartssl\u3092\u5229\u7528\n\npkg\u306e\u5c0e\u5165\n$ sudo apt install mumble-server\r\n\n\u81ea\u52d5\u8d77\u52d5\u3092\u7121\u52b9\u306b\u3059\u308b\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\u3092\u9078\u629e\u3059\u308b\uff0e\n(/etc/default/mumble-server\u306eMURMUR_DAEMON_START=0\u3067\u3082)\n\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u7de8\u96c6\ndiff --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\nssl\u8a3c\u660e\u66f8\u3092\u30af\u30ea\u30a2\n$ sudo murmurd -wipessl\r\n$ sudo killall murmurd\r\n\n\u5229\u7528\u6642\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\nmumble://kagolug.org?title=KagoLUG%20Mumble%20Server&version=1.2.0\n\u5229\u7528\u74b0\u5883\n\nPC : ThinkPad X200(Ubuntu 16.10 amd64)\n\u30de\u30a4\u30af : elecom\u88fd\u306e\u6570\u767e\u5186\u306e\u3082\u306e\n\u30b9\u30d4\u30fc\u30ab\u30fc : Elecom LBT-SPTR01ECBK\n\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\n\u5229\u7528\u5b8c\u4e86\u6642\n\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\u8ab2\u984c\nssl\u8a3c\u660e\u66f8\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u3080\u305f\u3081\u306bdaemon\u3092root\u3067\u52d5\u304b\u3057\u3066\u3044\u308b\u306e\u3092mumble-server\u30e6\u30fc\u30b6\u306b\u623b\u3057\u305f\u3044\uff0e\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?\n\u30de\u30a4\u30af\n\u4f1a\u8b70\u5411\u3051\u306e\u5168\u65b9\u4f4d\u306e\u30de\u30a4\u30af\u304c\u6b32\u3057\u3044", "date_published": "2017-01-26T02:42:07+09:00", "date_modified": "2017-01-31T15:19:21+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "Debian", "Jessie", "Linux", "Mumble", "jessie", "\u52c9\u5f37\u4f1a" ] }, { "id": "http://matoken.org/blog/?p=1505", "url": "https://matoken.org/blog/2017/01/26/participated-in-the-kagoshima-linux-study-meeting-2017-01/", "title": "\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a 2017.01\u306b\u53c2\u52a0", "content_html": "\n

\u4eca\u56de\u306f\u9060\u9694\u53c2\u52a0\u3092\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0eBigBluebutton\u306a\u3069\u306e\u4f1a\u8b70\u30b7\u30b9\u30c6\u30e0\u306f\u6620\u50cf\u3082\u53cc\u65b9\u5411\u306b\u9001\u308c\u3066\u3044\u3044\u611f\u3058\u306a\u306e\u3067\u3059\u304c\uff0c\u91ce\u826f\u52c9\u5f37\u4f1a\u3067\u306f\u56de\u7dda\u304c\u7121\u304b\u3063\u305f\u308a\u4eca\u4f7f\u3063\u3066\u3044\u308bPC\u3067\u306f\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30a8\u30f3\u30b3\u30fc\u30c9\u304c\u96e3\u3057\u3044\u3068\u3044\u3046\u554f\u984c\u304c\u3042\u308a\u307e\u3059\uff0e\u305d\u3053\u3067\u97f3\u58f0\u306e\u307f\u306eMumble\u3092\u5229\u7528\u3057\u307e\u3057\u305f\uff0e

\n

\u30b5\u30fc\u30d0\u306f\u3055\u304f\u3089\u306eVPS\u306b\u8a2d\u5b9a\uff0c\u4f1a\u5834\u3067\u306fBluetooth\u30de\u30a4\u30af\u517c\u30b9\u30d4\u30fc\u30ab\u30fc\u3067\u2026\u2026\u3068\u601d\u3063\u305f\u306e\u3067\u3059\u304c\uff0c\u3053\u306e\u30de\u30a4\u30af\u3067\u306f\u3046\u307e\u304f\u97f3\u3092\u62fe\u308f\u306a\u3044&\u30d8\u30c3\u30c9\u30db\u30f3\u306e\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u3067\u306f\u97f3\u8cea\u3082\u60aa\u3044\u306e\u3067A2DP\u306b\u3057\u3066\u30b9\u30d4\u30fc\u30ab\u30fc\u306e\u307f\u306e\u5229\u7528\u3068\u3057\u3066\uff0c\u30de\u30a4\u30af\u306fPC\u76f4\u4ed8\u306b\u3057\u307e\u3057\u305f\uff0e
\n\u3053\u306e\u30de\u30a4\u30af\u306f\u4e00\u5fdc\u524d\u6307\u5411\u6027\u3067\u3059\u304c\u6570\u767e\u5186\u306e\u5b89\u7269\u306a\u306e\u3067\u97f3\u8cea\u306f\u60aa\u304b\u3063\u305f\u3068\u601d\u3044\u307e\u3059\uff0e
\n\u3067\u3082\u53cc\u65b9\u5411\u3067\u306e\u3084\u308a\u53d6\u308a\u304c\u51fa\u6765\u308b\u306e\u306f\u826f\u304b\u3063\u305f\u3067\u3059\uff0e\u4f1a\u8b70\u5ba4\u5229\u7528\u306e\u969b\u306f\u826f\u3055\u305d\u3046\u3067\u3059\uff0e

\n

\u4eca\u56de\u306f\u8cc7\u6599\u304c\u4e8b\u524d\u306b\u5171\u6709\u3067\u304d\u3066\u3044\u305f\u306e\u3067\u826f\u304b\u3063\u305f\u3067\u3059\u304c\uff0c\u8cc7\u6599\u304c\u4e8b\u524d\u306b\u5171\u6709\u3067\u304d\u306a\u3044\u5834\u5408\u306f\u3084\u306f\u308a\u3069\u3046\u306b\u304b\u6620\u50cf\u3092\u5171\u6709\u3059\u308b\u65b9\u6cd5\u3092\u8003\u3048\u306a\u3044\u3068\u3044\u3051\u306a\u3044\u3067\u3057\u3087\u3046\u306d\uff0e
\n\u305d\u3046\u3059\u308b\u3068\u3084\u306f\u308aBBB\u3084YoutubeLive\u7b49\u304c\u5fc5\u8981\u306b\u2026\u2026\uff0e(\u5e2f\u57df\u3092\u306a\u308b\u3079\u304f\u7d5e\u3063\u3066\u6620\u50cf\u306e\u307fRaspberry Pi\u3067YoutubeLive\u914d\u4fe1\u3068\u3044\u3046\u306e\u304c\u73fe\u5b9f\u7684\u304b\u306a?)

\n

\u79c1\u306e\u767a\u8868\u3057\u305f\u5185\u5bb9\u306f\u4ee5\u4e0b\u306e\uff13\u672c\u3067\u3057\u305f\uff0e

\n

\n

Raspberry Pi\u306eUSB OTG\u3092\u8a66\u3059 // Speaker Deck

\n

\n

USB\u3092\u4fdd\u8b77\u3059\u308bUSBGuard // Speaker Deck

\n

\n

\u30b2\u30fc\u30df\u30f3\u30b0\u30d7\u30e9\u30c3\u30c8\u30db\u30fc\u30e0\u306eLutris\u7d39\u4ecb // Speaker Deck

\n

\u30c7\u30fc\u30bf\u306f\u3053\u3061\u3089\uff0e
\n– matoken / \u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a2017.01 / \u30bd\u30fc\u30b9 / \u2014 Bitbucket

\n

Raspberry Pi\u306eUSB OTG\u306f\u3055\u308f\u308a\u3060\u3051\u3067\u3061\u3087\u3063\u3068\u3042\u308c\u3067\u3057\u305f\uff0e\u6b21\u56de\u307e\u3067\u306b\u3082\u3046\u3061\u3087\u3063\u3068\u2026\u2026\uff0e

\n

\u6b21\u56de\u306f2\u6708\u4e0a\u65ec\u306e\u571f\u65e5\u306b\u3068\u601d\u3063\u3066\u3044\u307e\u3059\uff0e\u4eca\u5e74\u306f\u6708\u4e00\u30da\u30fc\u30b9\u958b\u50ac\u3092\u76ee\u6a19\u306b\u3068\u601d\u3063\u3066\u3044\u307e\u3059\uff0e
\n\u6700\u8fd1\u306f\u958b\u50ac\u5834\u6240\u3069\u3046\u3057\u3088\u3046\u2026\u2026\u3068\u306a\u3063\u3066\u65e5\u304c\u904e\u304e\u3066\u3044\u304f\u30d1\u30bf\u30fc\u30f3\u306a\u306e\u3067\u3068\u308a\u3042\u3048\u305a\u65e5\u7a0b\u30a2\u30ca\u30a6\u30f3\u30b9\u306f\u3057\u3066\u4f1a\u5834\u898b\u3064\u304b\u3089\u306a\u304b\u3063\u305f\u3089\u30de\u30af\u30c9\u30ca\u30eb\u30c9\u3068\u304b\u3067\u958b\u50ac\u3068\u3044\u3046\u611f\u3058\u3067\u8003\u3048\u3066\u3044\u307e\u3059\uff0e

\n
\n
\n", "content_text": "\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a 2017.01 – connpass\n\n\u958b\u50ac\u65e5\u6642 : 2017/01/04(\u6c34)\n13:00 \u301c 17:00\n\u4f1a\u5834 : \u30b5\u30f3\u30a8\u30fc\u30eb\u304b\u3054\u3057\u307e \u4e2d\u7814\u4fee\u5ba41\n\u53c2\u52a0\u8005 : \u73fe\u57303\u4eba + \u9060\u96941\u4eba = \u8a084\u4eba\n\n\n\nTitanPad: \u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a 2017.01 (\u52c9\u5f37\u4f1a\u30ce\u30fc\u30c8)\n\n\n\u4eca\u56de\u306f\u9060\u9694\u53c2\u52a0\u3092\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0eBigBluebutton\u306a\u3069\u306e\u4f1a\u8b70\u30b7\u30b9\u30c6\u30e0\u306f\u6620\u50cf\u3082\u53cc\u65b9\u5411\u306b\u9001\u308c\u3066\u3044\u3044\u611f\u3058\u306a\u306e\u3067\u3059\u304c\uff0c\u91ce\u826f\u52c9\u5f37\u4f1a\u3067\u306f\u56de\u7dda\u304c\u7121\u304b\u3063\u305f\u308a\u4eca\u4f7f\u3063\u3066\u3044\u308bPC\u3067\u306f\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30a8\u30f3\u30b3\u30fc\u30c9\u304c\u96e3\u3057\u3044\u3068\u3044\u3046\u554f\u984c\u304c\u3042\u308a\u307e\u3059\uff0e\u305d\u3053\u3067\u97f3\u58f0\u306e\u307f\u306eMumble\u3092\u5229\u7528\u3057\u307e\u3057\u305f\uff0e\n\u30b5\u30fc\u30d0\u306f\u3055\u304f\u3089\u306eVPS\u306b\u8a2d\u5b9a\uff0c\u4f1a\u5834\u3067\u306fBluetooth\u30de\u30a4\u30af\u517c\u30b9\u30d4\u30fc\u30ab\u30fc\u3067\u2026\u2026\u3068\u601d\u3063\u305f\u306e\u3067\u3059\u304c\uff0c\u3053\u306e\u30de\u30a4\u30af\u3067\u306f\u3046\u307e\u304f\u97f3\u3092\u62fe\u308f\u306a\u3044&\u30d8\u30c3\u30c9\u30db\u30f3\u306e\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u3067\u306f\u97f3\u8cea\u3082\u60aa\u3044\u306e\u3067A2DP\u306b\u3057\u3066\u30b9\u30d4\u30fc\u30ab\u30fc\u306e\u307f\u306e\u5229\u7528\u3068\u3057\u3066\uff0c\u30de\u30a4\u30af\u306fPC\u76f4\u4ed8\u306b\u3057\u307e\u3057\u305f\uff0e\n\u3053\u306e\u30de\u30a4\u30af\u306f\u4e00\u5fdc\u524d\u6307\u5411\u6027\u3067\u3059\u304c\u6570\u767e\u5186\u306e\u5b89\u7269\u306a\u306e\u3067\u97f3\u8cea\u306f\u60aa\u304b\u3063\u305f\u3068\u601d\u3044\u307e\u3059\uff0e\n\u3067\u3082\u53cc\u65b9\u5411\u3067\u306e\u3084\u308a\u53d6\u308a\u304c\u51fa\u6765\u308b\u306e\u306f\u826f\u304b\u3063\u305f\u3067\u3059\uff0e\u4f1a\u8b70\u5ba4\u5229\u7528\u306e\u969b\u306f\u826f\u3055\u305d\u3046\u3067\u3059\uff0e\n\u4eca\u56de\u306f\u8cc7\u6599\u304c\u4e8b\u524d\u306b\u5171\u6709\u3067\u304d\u3066\u3044\u305f\u306e\u3067\u826f\u304b\u3063\u305f\u3067\u3059\u304c\uff0c\u8cc7\u6599\u304c\u4e8b\u524d\u306b\u5171\u6709\u3067\u304d\u306a\u3044\u5834\u5408\u306f\u3084\u306f\u308a\u3069\u3046\u306b\u304b\u6620\u50cf\u3092\u5171\u6709\u3059\u308b\u65b9\u6cd5\u3092\u8003\u3048\u306a\u3044\u3068\u3044\u3051\u306a\u3044\u3067\u3057\u3087\u3046\u306d\uff0e\n\u305d\u3046\u3059\u308b\u3068\u3084\u306f\u308aBBB\u3084YoutubeLive\u7b49\u304c\u5fc5\u8981\u306b\u2026\u2026\uff0e(\u5e2f\u57df\u3092\u306a\u308b\u3079\u304f\u7d5e\u3063\u3066\u6620\u50cf\u306e\u307fRaspberry Pi\u3067YoutubeLive\u914d\u4fe1\u3068\u3044\u3046\u306e\u304c\u73fe\u5b9f\u7684\u304b\u306a?)\n\u79c1\u306e\u767a\u8868\u3057\u305f\u5185\u5bb9\u306f\u4ee5\u4e0b\u306e\uff13\u672c\u3067\u3057\u305f\uff0e\n\nRaspberry Pi\u306eUSB OTG\u3092\u8a66\u3059 // Speaker Deck\n\nUSB\u3092\u4fdd\u8b77\u3059\u308bUSBGuard // Speaker Deck\n\n\u30b2\u30fc\u30df\u30f3\u30b0\u30d7\u30e9\u30c3\u30c8\u30db\u30fc\u30e0\u306eLutris\u7d39\u4ecb // Speaker Deck\n\u30c7\u30fc\u30bf\u306f\u3053\u3061\u3089\uff0e\n– matoken / \u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a2017.01 / \u30bd\u30fc\u30b9 / \u2014 Bitbucket\nRaspberry Pi\u306eUSB OTG\u306f\u3055\u308f\u308a\u3060\u3051\u3067\u3061\u3087\u3063\u3068\u3042\u308c\u3067\u3057\u305f\uff0e\u6b21\u56de\u307e\u3067\u306b\u3082\u3046\u3061\u3087\u3063\u3068\u2026\u2026\uff0e\n\u6b21\u56de\u306f2\u6708\u4e0a\u65ec\u306e\u571f\u65e5\u306b\u3068\u601d\u3063\u3066\u3044\u307e\u3059\uff0e\u4eca\u5e74\u306f\u6708\u4e00\u30da\u30fc\u30b9\u958b\u50ac\u3092\u76ee\u6a19\u306b\u3068\u601d\u3063\u3066\u3044\u307e\u3059\uff0e\n\u6700\u8fd1\u306f\u958b\u50ac\u5834\u6240\u3069\u3046\u3057\u3088\u3046\u2026\u2026\u3068\u306a\u3063\u3066\u65e5\u304c\u904e\u304e\u3066\u3044\u304f\u30d1\u30bf\u30fc\u30f3\u306a\u306e\u3067\u3068\u308a\u3042\u3048\u305a\u65e5\u7a0b\u30a2\u30ca\u30a6\u30f3\u30b9\u306f\u3057\u3066\u4f1a\u5834\u898b\u3064\u304b\u3089\u306a\u304b\u3063\u305f\u3089\u30de\u30af\u30c9\u30ca\u30eb\u30c9\u3068\u304b\u3067\u958b\u50ac\u3068\u3044\u3046\u611f\u3058\u3067\u8003\u3048\u3066\u3044\u307e\u3059\uff0e", "date_published": "2017-01-26T02:37:04+09:00", "date_modified": "2017-01-31T15:24:22+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "kagolug", "Linux", "\u9e7f\u5150\u5cf6Linux\u52c9\u5f37\u4f1a", "\u52c9\u5f37\u4f1a" ] }, { "id": "http://matoken.org/blog/?p=1497", "url": "https://matoken.org/blog/2016/12/11/command-border-for-command-snippet-can-be-easily-examined/", "title": "\u30b3\u30de\u30f3\u30c9\u30b9\u30cb\u30da\u30c3\u30c8\u3092\u624b\u8efd\u306b\u8abf\u3079\u3089\u308c\u308b\u30b3\u30de\u30f3\u30c9\u306eborg", "content_html": "

\n

borg\u306fOK borg\u3068\u3044\u3046site\u306e\u30b9\u30cb\u30da\u30c3\u30c8\u3092\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u4e0a\u304b\u3089\u691c\u7d22\u3057\u305f\u308a\u7de8\u96c6\u3067\u304d\u308b\u30b3\u30de\u30f3\u30c9\u306e\u3088\u3046\u3067\u3059\uff0eborg\u306fgo\u88fd\u3067Apache License Version 2.0\u306e\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3067\u3059\uff0e

\n\n

\u5c0e\u5165

\n

\u5c0e\u5165\u65b9\u6cd5\u306f\u5982\u4f55\u304b\u3089\u5bfe\u5fdc\u30d0\u30a4\u30ca\u30ea\u3092\u5165\u624b\u3057\u3066\u9069\u5f53\u306a\u5834\u6240\u306b\u7f6e\u304d\uff0c\u5b9f\u884c\u6a29\u3092\u3064\u3051\u308b\u3060\u3051\u3067\u3059\uff0earm linux\u3068\u304b*BSD\u3068\u304b\u7d50\u69cb\u3044\u308d\u3044\u308d\u305d\u308d\u3063\u3066\u3044\u307e\u3059\uff0e

\n\n

\u4eca\u56de\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u5c0e\u5165\u3057\u307e\u3057\u305f\uff0e

\n
$ wget https://github.com/ok-borg/borg/releases/download/v0.0.1/borg_linux_amd64 -O ~/usr/local/bin/borg && chmod +x ~/usr/local/bin/borg
\n

\u5229\u7528\u65b9\u6cd5

\n

\u57fa\u672c\u7684\u306b\u30b3\u30de\u30f3\u30c9\u306e\u5f8c\u308d\u306b\u8abf\u3079\u305f\u3044\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u3064\u3051\u308b\u3060\u3051\u3067\u3059\uff0e\u898f\u5b9a\u5024\u3067\u306f5\u3064\u306e\u4f8b\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff0e bash\u3067loop\u3069\u3046\u66f8\u304f\u3093\u3060\u3063\u3051?

\n
$ borg "bash loop"\r\n(1) Bash Shell Do While Loop Infinite loop?\r\n         [11] while [ `prog -some flags` = "Another instance of this program is running, please exit it first" ]\r\n              -\r\n              bay=$(prog -some flags)\r\n              while [ $bay = "Another instance of this program is running, please exit it first" ]\r\n              do\r\n              echo "Awaiting Access to program"\r\n              bay=$(prog -some flags)\r\n              done\r\n              .....\r\n         [12] while true\r\n              do\r\n         ...  \r\n\r\n(2) Bash foreach loop\r\n         [21] xargs cat <filenames.txt\r\n              -\r\n              for fn in `cat filenames.txt`; do\r\n                  echo "the next file is $fn"\r\n                  cat $fn\r\n              done\r\n         [22] for fn in `cat filenames.txt`; do cat "$fn"; done\r\n         [23] while read filename\r\n              do\r\n                  echo "Printing: $filename"\r\n                  cat "$filename"\r\n         ...\r\n\r\n(3) Bash loop ping successful\r\n         [31] ((count = 100))                            # Maximum number to try.\r\n              while [[ $count -ne 0 ]] ; do\r\n                  ping -c 1 8.8.8.8                      # Try once.\r\n                  rc=$?\r\n                  if [[ $rc -eq 0 ]] ; then\r\n                      ((count = 1))                      # If okay, flag to exit loop.\r\n                  fi\r\n                  ((count = count - 1))                  # So we don't go forever.\r\n              done\r\n              if [[ $rc -eq 0 ]] ; then                  # Make final determination.\r\n         ...\r\n\r\n(4) Limit for bash loop\r\n        [41] for(( i=1; i <= 1000; i++ )); do\r\n                 name=$(date --date="$i day ago" +%Y%m%d%H%M%S)\r\n                 mkdir -p "$name" &&\r\n                 touch "$name/${name}_file" ||\r\n                 break\r\n             done\r\n\r\n(5) Bash 'for' loop syntax?\r\n         [51] for (($i=0...\r\n              -\r\n              for ((i=0;i<10;i++))\r\n         [52] for i in `seq 0 9`\r\n              do\r\n                  echo "the i is $i"\r\n              done\r\n         [53] for i in {0..9}\r\n                do\r\n                  echo $i\r\n                done\r\n         ...
\n

\u753b\u50cf\u3092\u30bf\u30a4\u30eb\u306b\u7d50\u5408\u3063\u3066?

\n
$ borg "image tile"\r\n(1) ImageMagick crop huge image\r\n         [11] $ time convert -crop 512x512 +repage huge.tif x/image_out_%d.tif\r\n              real    0m5.623s\r\n              user    0m2.060s\r\n              sys     0m2.148s\r\n              $ time vips dzsave huge.tif x --depth 1 --tile-size 512 --overlap 0 --suffix .tif\r\n              real    0m1.643s\r\n              user    0m1.668s\r\n              sys     0m1.000s\r\n         [12]  convert -monitor -limit area 2mb myLargeImg.tif myLargeImg.mpc\r\n              -\r\n               #!/bin/bash\r\n         ...\r\n\r\n(2) Set clipboard to image - pbcopy\r\n        [21] cat image.png | impbcopy -\r\n        [22] # Copy image to clipboard\r\n             uuencode SomeFile.jpg - | pbcopy\r\n             -\r\n             # Paste from clipboard to image file\r\n             pbpaste | uudecode -o AnotherFile.jpg\r\n\r\n\r\n(3) Using Amazon MapReduce/Hadoop for Image Processing\r\n         [31] and should be able to be done using Bash\r\n         [32] #!/usr/bin/env bash\r\n              # NLineInputFormat gives a single line: key is offset, value is Isotropic Url\r\n              read offset isofile\r\n              # Retrieve file from Isotropic server to local disk\r\n              echo "reporter:status:Retrieving $isofile" >&2\r\n              target=`echo $isofile | awk '{split($0,a,"/");print a[5] a[6]}'`\r\n              filename=$target.tar.bz2\r\n              #$HADOOP_INSTALL/bin/hadoop fs -get $isofile ./$filename\r\n              curl  $isofile -o $filename\r\n         ...\r\n\r\n(4) Convert multipage PDF to a single image\r\n        [41] convert in.pdf -append out%d.png\r\n             -\r\n             convert *.png output.pdf\r\n             -\r\n             convert foo?.png output.pdf\r\n        [42] convert in.pdf +append out%d.png\r\n\r\n(5) bash cgi won't return image\r\n        [51] echo -ne "Content-type: image/png\\n\\n"\r\n             -\r\n             echo -e "Content-type: image/png\\n"\r\n             -\r\n               -n     do not output the trailing newline
\n

\u3068\u304b\u3068\u304b\uff0e

\n

\u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u3053\u3093\u306a\u611f\u3058\u3068\u308a\u3042\u3048\u305a\u7701\u7565\u3055\u308c\u306a\u3044\u3088\u3046\u306b-f\u3092\u3064\u3051\u3066\u30da\u30fc\u30b8\u30e3\u306b\u6e21\u3059\u3068\u826f\u3055\u305d\u3046\uff0e

\n
$ borg --help\r\nUsage of borg:\r\n-f  (= false)\r\n    Print full results, ie. no more '...'\r\n-h (= "borg.crufter.com")\r\n    Server to connect to\r\n-l  (= 5)\r\n    Result list limit. Defaults to 5\r\n-p  (= false)\r\n    Private search. Your search won't leave a trace. Pinky promise. Don't use this all the time if you want to see the search result relevancy improved
\n

\u691c\u7d22\u3060\u3051\u3067\u306a\u304f\u30b9\u30cb\u30da\u30c3\u30c8\u306e\u8ffd\u52a0\u3084\u7de8\u96c6\u3082\u3067\u304d\u308b\u3088\u3046\u3067\u3059\uff0e

\n\n

\u30b5\u30fc\u30d0\u3082\u9078\u3079\u308b\u306e\u3067\u81ea\u5206\u7528\u306e\u30e1\u30e2\u3092\u84c4\u7a4d\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u306d\uff0e \u3061\u3087\u3063\u3068\u60dc\u3057\u3044\u306e\u306f\u30b5\u30fc\u30d0\u3068\u901a\u4fe1\u3057\u3066\u7d50\u679c\u3092\u8868\u793a\u3059\u308b\u306e\u3067\u30aa\u30d5\u30e9\u30a4\u30f3\u3067\u306f\u4f7f\u3048\u306a\u3044\u3068\u3044\u3046\u3068\u3053\u308d\uff0e \u30aa\u30d5\u30e9\u30a4\u30f3\u3067\u4f7f\u3044\u305f\u3044\u5834\u5408\u306f\u30ed\u30fc\u30ab\u30eb\u306b\u30b5\u30fc\u30d0\u3092\u7acb\u3066\u308b\u304b\u5225\u306e\u65b9\u6cd5\u3092\u4f7f\u3046\u3057\u304b\u306a\u3055\u305d\u3046\u3067\u3059\uff0e

\n", "content_text": "borg\u306fOK borg\u3068\u3044\u3046site\u306e\u30b9\u30cb\u30da\u30c3\u30c8\u3092\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u4e0a\u304b\u3089\u691c\u7d22\u3057\u305f\u308a\u7de8\u96c6\u3067\u304d\u308b\u30b3\u30de\u30f3\u30c9\u306e\u3088\u3046\u3067\u3059\uff0eborg\u306fgo\u88fd\u3067Apache License Version 2.0\u306e\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3067\u3059\uff0e\n\nborg/docs at master \u00b7 ok-borg/borg \u00b7 GitHub\nOK borg – the quickest solution to your bash woes\n\n\u5c0e\u5165\n\u5c0e\u5165\u65b9\u6cd5\u306f\u5982\u4f55\u304b\u3089\u5bfe\u5fdc\u30d0\u30a4\u30ca\u30ea\u3092\u5165\u624b\u3057\u3066\u9069\u5f53\u306a\u5834\u6240\u306b\u7f6e\u304d\uff0c\u5b9f\u884c\u6a29\u3092\u3064\u3051\u308b\u3060\u3051\u3067\u3059\uff0earm linux\u3068\u304b*BSD\u3068\u304b\u7d50\u69cb\u3044\u308d\u3044\u308d\u305d\u308d\u3063\u3066\u3044\u307e\u3059\uff0e\n\nReleases \u00b7 ok-borg/borg \u00b7 GitHub\n\n\u4eca\u56de\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u5c0e\u5165\u3057\u307e\u3057\u305f\uff0e\n$ wget https://github.com/ok-borg/borg/releases/download/v0.0.1/borg_linux_amd64 -O ~/usr/local/bin/borg && chmod +x ~/usr/local/bin/borg\n\u5229\u7528\u65b9\u6cd5\n\u57fa\u672c\u7684\u306b\u30b3\u30de\u30f3\u30c9\u306e\u5f8c\u308d\u306b\u8abf\u3079\u305f\u3044\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u3064\u3051\u308b\u3060\u3051\u3067\u3059\uff0e\u898f\u5b9a\u5024\u3067\u306f5\u3064\u306e\u4f8b\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff0e bash\u3067loop\u3069\u3046\u66f8\u304f\u3093\u3060\u3063\u3051?\n$ borg "bash loop"\r\n(1) Bash Shell Do While Loop Infinite loop?\r\n [11] while [ `prog -some flags` = "Another instance of this program is running, please exit it first" ]\r\n -\r\n bay=$(prog -some flags)\r\n while [ $bay = "Another instance of this program is running, please exit it first" ]\r\n do\r\n echo "Awaiting Access to program"\r\n bay=$(prog -some flags)\r\n done\r\n .....\r\n [12] while true\r\n do\r\n ... \r\n\r\n(2) Bash foreach loop\r\n [21] xargs cat <filenames.txt\r\n -\r\n for fn in `cat filenames.txt`; do\r\n echo "the next file is $fn"\r\n cat $fn\r\n done\r\n [22] for fn in `cat filenames.txt`; do cat "$fn"; done\r\n [23] while read filename\r\n do\r\n echo "Printing: $filename"\r\n cat "$filename"\r\n ...\r\n\r\n(3) Bash loop ping successful\r\n [31] ((count = 100)) # Maximum number to try.\r\n while [[ $count -ne 0 ]] ; do\r\n ping -c 1 8.8.8.8 # Try once.\r\n rc=$?\r\n if [[ $rc -eq 0 ]] ; then\r\n ((count = 1)) # If okay, flag to exit loop.\r\n fi\r\n ((count = count - 1)) # So we don't go forever.\r\n done\r\n if [[ $rc -eq 0 ]] ; then # Make final determination.\r\n ...\r\n\r\n(4) Limit for bash loop\r\n [41] for(( i=1; i <= 1000; i++ )); do\r\n name=$(date --date="$i day ago" +%Y%m%d%H%M%S)\r\n mkdir -p "$name" &&\r\n touch "$name/${name}_file" ||\r\n break\r\n done\r\n\r\n(5) Bash 'for' loop syntax?\r\n [51] for (($i=0...\r\n -\r\n for ((i=0;i<10;i++))\r\n [52] for i in `seq 0 9`\r\n do\r\n echo "the i is $i"\r\n done\r\n [53] for i in {0..9}\r\n do\r\n echo $i\r\n done\r\n ...\n\u753b\u50cf\u3092\u30bf\u30a4\u30eb\u306b\u7d50\u5408\u3063\u3066?\n$ borg "image tile"\r\n(1) ImageMagick crop huge image\r\n [11] $ time convert -crop 512x512 +repage huge.tif x/image_out_%d.tif\r\n real 0m5.623s\r\n user 0m2.060s\r\n sys 0m2.148s\r\n $ time vips dzsave huge.tif x --depth 1 --tile-size 512 --overlap 0 --suffix .tif\r\n real 0m1.643s\r\n user 0m1.668s\r\n sys 0m1.000s\r\n [12] convert -monitor -limit area 2mb myLargeImg.tif myLargeImg.mpc\r\n -\r\n #!/bin/bash\r\n ...\r\n\r\n(2) Set clipboard to image - pbcopy\r\n [21] cat image.png | impbcopy -\r\n [22] # Copy image to clipboard\r\n uuencode SomeFile.jpg - | pbcopy\r\n -\r\n # Paste from clipboard to image file\r\n pbpaste | uudecode -o AnotherFile.jpg\r\n\r\n\r\n(3) Using Amazon MapReduce/Hadoop for Image Processing\r\n [31] and should be able to be done using Bash\r\n [32] #!/usr/bin/env bash\r\n # NLineInputFormat gives a single line: key is offset, value is Isotropic Url\r\n read offset isofile\r\n # Retrieve file from Isotropic server to local disk\r\n echo "reporter:status:Retrieving $isofile" >&2\r\n target=`echo $isofile | awk '{split($0,a,"/");print a[5] a[6]}'`\r\n filename=$target.tar.bz2\r\n #$HADOOP_INSTALL/bin/hadoop fs -get $isofile ./$filename\r\n curl $isofile -o $filename\r\n ...\r\n\r\n(4) Convert multipage PDF to a single image\r\n [41] convert in.pdf -append out%d.png\r\n -\r\n convert *.png output.pdf\r\n -\r\n convert foo?.png output.pdf\r\n [42] convert in.pdf +append out%d.png\r\n\r\n(5) bash cgi won't return image\r\n [51] echo -ne "Content-type: image/png\\n\\n"\r\n -\r\n echo -e "Content-type: image/png\\n"\r\n -\r\n -n do not output the trailing newline\n\u3068\u304b\u3068\u304b\uff0e\n\u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u3053\u3093\u306a\u611f\u3058\u3068\u308a\u3042\u3048\u305a\u7701\u7565\u3055\u308c\u306a\u3044\u3088\u3046\u306b-f\u3092\u3064\u3051\u3066\u30da\u30fc\u30b8\u30e3\u306b\u6e21\u3059\u3068\u826f\u3055\u305d\u3046\uff0e\n$ borg --help\r\nUsage of borg:\r\n-f (= false)\r\n Print full results, ie. no more '...'\r\n-h (= "borg.crufter.com")\r\n Server to connect to\r\n-l (= 5)\r\n Result list limit. Defaults to 5\r\n-p (= false)\r\n Private search. Your search won't leave a trace. Pinky promise. Don't use this all the time if you want to see the search result relevancy improved\n\u691c\u7d22\u3060\u3051\u3067\u306a\u304f\u30b9\u30cb\u30da\u30c3\u30c8\u306e\u8ffd\u52a0\u3084\u7de8\u96c6\u3082\u3067\u304d\u308b\u3088\u3046\u3067\u3059\uff0e\n\nborg/docs at master \u00b7 ok-borg/borg \u00b7 GitHub\n\n\u30b5\u30fc\u30d0\u3082\u9078\u3079\u308b\u306e\u3067\u81ea\u5206\u7528\u306e\u30e1\u30e2\u3092\u84c4\u7a4d\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u306d\uff0e \u3061\u3087\u3063\u3068\u60dc\u3057\u3044\u306e\u306f\u30b5\u30fc\u30d0\u3068\u901a\u4fe1\u3057\u3066\u7d50\u679c\u3092\u8868\u793a\u3059\u308b\u306e\u3067\u30aa\u30d5\u30e9\u30a4\u30f3\u3067\u306f\u4f7f\u3048\u306a\u3044\u3068\u3044\u3046\u3068\u3053\u308d\uff0e \u30aa\u30d5\u30e9\u30a4\u30f3\u3067\u4f7f\u3044\u305f\u3044\u5834\u5408\u306f\u30ed\u30fc\u30ab\u30eb\u306b\u30b5\u30fc\u30d0\u3092\u7acb\u3066\u308b\u304b\u5225\u306e\u65b9\u6cd5\u3092\u4f7f\u3046\u3057\u304b\u306a\u3055\u305d\u3046\u3067\u3059\uff0e", "date_published": "2016-12-11T23:56:28+09:00", "date_modified": "2016-12-11T23:56:28+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "Linux", "Debian", "stretch", "testing", "Ubuntu", "yakkety(16.10)" ] }, { "id": "http://matoken.org/blog/?p=1485", "url": "https://matoken.org/blog/2016/12/09/ttyd-which-can-share-the-terminal-on-the-web/", "title": "\u7aef\u672b\u3092Web\u5171\u6709\u3067\u304d\u308bttyd", "content_html": "

\n

\u7aef\u672b\u3092Web\u30d6\u30e9\u30a6\u30b6\u3067\u5171\u6709\u3067\u304d\u308b\u30bd\u30d5\u30c8\u30a6\u30a7\u30a8\u30a2\u3067\u3059\uff0e \u4ee5\u524d\u4f3c\u305f\u3082\u306e\u3067GoTTY\u3092\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\u304c\uff0cttyd\u306fGoTTY\u30a4\u30f3\u30b9\u30d1\u30a4\u30a2\u3089\u3057\u3044\u3067\u3059\uff0e ttyd\u306fc\u88fd\u3067MIT\u30e9\u30a4\u30bb\u30f3\u30b9\u3067\u3059\uff0e

\n\n

\u5c0e\u5165

\n

\u4eca\u56de\u306fDebian stretch amd64(testing)\u306b\u5c0e\u5165\u3057\u307e\u3057\u305f\uff0e README.md\u3067\u306fUbuntu 16.04\u3067\u306e\u624b\u9806\u304c\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\u304c\u305d\u306e\u307e\u307e\u4f7f\u3048\u307e\u3057\u305f\uff0e

\n
$ sudo apt install cmake g++ pkg-config git vim-common libwebsockets-dev libjson-c-dev libssl-dev\r\n$ git clone https://github.com/tsl0922/ttyd.git\r\n$ cd ttyd\r\n$ mkdir build\r\n$ cd build\r\n$ cmake ..\r\n$ make
\n

\u52d5\u304b\u3057\u3066\u307f\u308b

\n
$ ./ttyd -p 8080 bash
\n

\u3068\u3057\u3066\u30a6\u30a7\u30d6\u30d6\u30e9\u30a6\u30b6\u3067 http://localhost:8080/ \u306b\u7e4b\u3050\u3068\u5229\u7528\u3067\u304d\u307e\u3059\uff0e tmux\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u5171\u6709\u3057\u3066\u8907\u6570\u306e\u30d6\u30e9\u30a6\u30b6\u30671\u3064\u306e\u7aef\u672b\u306e\u64cd\u4f5c\u3068\u304bdocker\u5229\u7528\u3068\u304bGoTTY\u3068\u540c\u3058\u3088\u3046\u306b\u5229\u7528\u3067\u304d\u307e\u3059\uff0e

\n
$ ./ttyd -p 8080 tmux new -A -s ttyd\r\n[2016/12/09 18:54:25:5954] NOTICE: Initial logging level 7\r\n[2016/12/09 18:54:25:5954] NOTICE: Libwebsockets version: 2.0.3 unknown-build-hash\r\n[2016/12/09 18:54:25:5954] NOTICE: IPV6 not compiled in\r\n[2016/12/09 18:54:25:5954] NOTICE: libev support compiled in but disabled\r\n[2016/12/09 18:54:25:5954] NOTICE: libuv support compiled in but disabled\r\n[2016/12/09 18:54:25:5955] NOTICE:  Threads: 1 each 1024 fds\r\n[2016/12/09 18:54:25:5955] NOTICE:  mem: platform fd map:  8192 bytes\r\n[2016/12/09 18:54:25:5955] NOTICE:  Compiled with OpenSSL support\r\n[2016/12/09 18:54:25:5955] NOTICE:  SSL disabled: no LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT\r\n[2016/12/09 18:54:25:5955] NOTICE: Creating Vhost 'default' port 8080, 2 protocols\r\n[2016/12/09 18:54:25:5955] NOTICE:  Listening on port 8080\r\n[2016/12/09 18:54:25:5955] NOTICE:  mem: per-conn:          920 bytes + protocol rx buf\r\n[2016/12/09 18:54:25:5956] NOTICE:  canonical_hostname = x220\r\n[2016/12/09 18:54:25:5956] NOTICE: TTY configuration:\r\n[2016/12/09 18:54:25:5956] NOTICE:   start command: tmux new -A -s ttyd\r\n[2016/12/09 18:54:25:5956] NOTICE:   reconnect timeout: 10s\r\n[2016/12/09 18:54:25:5956] NOTICE:   close signal: SIGHUP (1)\r\n[2016/12/09 18:54:25:6057] NOTICE: lws_protocol_init\r\n[2016/12/09 18:54:25:9806] NOTICE: HTTP connect from localhost (127.0.0.1), path: /\r\n[2016/12/09 18:54:25:0015] NOTICE: HTTP connect from localhost (127.0.0.1), path: /auth_token.js\r\n[2016/12/09 18:54:26:3474] NOTICE: client connected from localhost (127.0.0.1), total: 1\r\n[2016/12/09 18:54:26:3548] NOTICE: started process, pid: 30365\r\n[2016/12/09 18:54:34:2928] NOTICE: HTTP connect from localhost (127.0.0.1), path: /\r\n[2016/12/09 18:54:34:3132] NOTICE: error on reading from skt : 104\r\n[2016/12/09 18:54:34:3132] NOTICE: sending SIGHUP to process 30365\r\n[2016/12/09 18:54:34:3138] NOTICE: process exited with code 256, pid: 30365\r\n[2016/12/09 18:54:34:3138] NOTICE: client disconnected from localhost (127.0.0.1), total: 0\r\n[2016/12/09 18:54:34:5554] NOTICE: HTTP connect from localhost (127.0.0.1), path: /auth_token.js\r\n[2016/12/09 18:54:34:5732] NOTICE: client connected from localhost (127.0.0.1), total: 1\r\n[2016/12/09 18:54:34:5811] NOTICE: started process, pid: 30505\r\n[2016/12/09 18:54:40:0073] NOTICE: wsi 0x556bcbc34500: TIMEDOUT WAITING on 3 (did hdr 0, ah 0x556bcbbc0c50, wl 0, pfd events 0)\r\n[2016/12/09 18:54:40:0074] NOTICE: lws_header_table_detach: wsi 0x556bcbc34500: ah held 6s, ah.rxpos 0, ah.rxlen 0, mode/state 0 4,wsi->more_rx_waiting 0
\n

\"20161209_18:12:56-1180\"

\n

GoTTY\u306b\u3064\u3044\u3066\u306f\u3053\u3061\u3089\u3092\uff0e

\n\n


\n \u52c9\u5f37\u4f1a\u5411\u3051\u30b5\u30fc\u30d0\u3092\u4f5c\u3063\u3066\u307f\u308b2 / Rasbian jessie\u3092\u8a66\u3059/ Google Authenticator\u306e\u30d1\u30b9\u30b3\u30fc\u30c9\u3092\u4f5c\u308b from Kenichiro MATOHARA

\n

\n", "content_text": "\u7aef\u672b\u3092Web\u30d6\u30e9\u30a6\u30b6\u3067\u5171\u6709\u3067\u304d\u308b\u30bd\u30d5\u30c8\u30a6\u30a7\u30a8\u30a2\u3067\u3059\uff0e \u4ee5\u524d\u4f3c\u305f\u3082\u306e\u3067GoTTY\u3092\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\u304c\uff0cttyd\u306fGoTTY\u30a4\u30f3\u30b9\u30d1\u30a4\u30a2\u3089\u3057\u3044\u3067\u3059\uff0e ttyd\u306fc\u88fd\u3067MIT\u30e9\u30a4\u30bb\u30f3\u30b9\u3067\u3059\uff0e\n\nttyd – Share your terminal over the web\n\n\u5c0e\u5165\n\u4eca\u56de\u306fDebian stretch amd64(testing)\u306b\u5c0e\u5165\u3057\u307e\u3057\u305f\uff0e README.md\u3067\u306fUbuntu 16.04\u3067\u306e\u624b\u9806\u304c\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\u304c\u305d\u306e\u307e\u307e\u4f7f\u3048\u307e\u3057\u305f\uff0e\n$ sudo apt install cmake g++ pkg-config git vim-common libwebsockets-dev libjson-c-dev libssl-dev\r\n$ git clone https://github.com/tsl0922/ttyd.git\r\n$ cd ttyd\r\n$ mkdir build\r\n$ cd build\r\n$ cmake ..\r\n$ make\n\u52d5\u304b\u3057\u3066\u307f\u308b\n$ ./ttyd -p 8080 bash\n\u3068\u3057\u3066\u30a6\u30a7\u30d6\u30d6\u30e9\u30a6\u30b6\u3067 http://localhost:8080/ \u306b\u7e4b\u3050\u3068\u5229\u7528\u3067\u304d\u307e\u3059\uff0e tmux\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u5171\u6709\u3057\u3066\u8907\u6570\u306e\u30d6\u30e9\u30a6\u30b6\u30671\u3064\u306e\u7aef\u672b\u306e\u64cd\u4f5c\u3068\u304bdocker\u5229\u7528\u3068\u304bGoTTY\u3068\u540c\u3058\u3088\u3046\u306b\u5229\u7528\u3067\u304d\u307e\u3059\uff0e\n$ ./ttyd -p 8080 tmux new -A -s ttyd\r\n[2016/12/09 18:54:25:5954] NOTICE: Initial logging level 7\r\n[2016/12/09 18:54:25:5954] NOTICE: Libwebsockets version: 2.0.3 unknown-build-hash\r\n[2016/12/09 18:54:25:5954] NOTICE: IPV6 not compiled in\r\n[2016/12/09 18:54:25:5954] NOTICE: libev support compiled in but disabled\r\n[2016/12/09 18:54:25:5954] NOTICE: libuv support compiled in but disabled\r\n[2016/12/09 18:54:25:5955] NOTICE: Threads: 1 each 1024 fds\r\n[2016/12/09 18:54:25:5955] NOTICE: mem: platform fd map: 8192 bytes\r\n[2016/12/09 18:54:25:5955] NOTICE: Compiled with OpenSSL support\r\n[2016/12/09 18:54:25:5955] NOTICE: SSL disabled: no LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT\r\n[2016/12/09 18:54:25:5955] NOTICE: Creating Vhost 'default' port 8080, 2 protocols\r\n[2016/12/09 18:54:25:5955] NOTICE: Listening on port 8080\r\n[2016/12/09 18:54:25:5955] NOTICE: mem: per-conn: 920 bytes + protocol rx buf\r\n[2016/12/09 18:54:25:5956] NOTICE: canonical_hostname = x220\r\n[2016/12/09 18:54:25:5956] NOTICE: TTY configuration:\r\n[2016/12/09 18:54:25:5956] NOTICE: start command: tmux new -A -s ttyd\r\n[2016/12/09 18:54:25:5956] NOTICE: reconnect timeout: 10s\r\n[2016/12/09 18:54:25:5956] NOTICE: close signal: SIGHUP (1)\r\n[2016/12/09 18:54:25:6057] NOTICE: lws_protocol_init\r\n[2016/12/09 18:54:25:9806] NOTICE: HTTP connect from localhost (127.0.0.1), path: /\r\n[2016/12/09 18:54:25:0015] NOTICE: HTTP connect from localhost (127.0.0.1), path: /auth_token.js\r\n[2016/12/09 18:54:26:3474] NOTICE: client connected from localhost (127.0.0.1), total: 1\r\n[2016/12/09 18:54:26:3548] NOTICE: started process, pid: 30365\r\n[2016/12/09 18:54:34:2928] NOTICE: HTTP connect from localhost (127.0.0.1), path: /\r\n[2016/12/09 18:54:34:3132] NOTICE: error on reading from skt : 104\r\n[2016/12/09 18:54:34:3132] NOTICE: sending SIGHUP to process 30365\r\n[2016/12/09 18:54:34:3138] NOTICE: process exited with code 256, pid: 30365\r\n[2016/12/09 18:54:34:3138] NOTICE: client disconnected from localhost (127.0.0.1), total: 0\r\n[2016/12/09 18:54:34:5554] NOTICE: HTTP connect from localhost (127.0.0.1), path: /auth_token.js\r\n[2016/12/09 18:54:34:5732] NOTICE: client connected from localhost (127.0.0.1), total: 1\r\n[2016/12/09 18:54:34:5811] NOTICE: started process, pid: 30505\r\n[2016/12/09 18:54:40:0073] NOTICE: wsi 0x556bcbc34500: TIMEDOUT WAITING on 3 (did hdr 0, ah 0x556bcbbc0c50, wl 0, pfd events 0)\r\n[2016/12/09 18:54:40:0074] NOTICE: lws_header_table_detach: wsi 0x556bcbc34500: ah held 6s, ah.rxpos 0, ah.rxlen 0, mode/state 0 4,wsi->more_rx_waiting 0\n\nGoTTY\u306b\u3064\u3044\u3066\u306f\u3053\u3061\u3089\u3092\uff0e\n\n\u7aef\u672b\u3092\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u306b Web \u3067\u5171\u6709\u3067\u304d\u308b GoTTY | matoken’s meme\n\n\n\n \u52c9\u5f37\u4f1a\u5411\u3051\u30b5\u30fc\u30d0\u3092\u4f5c\u3063\u3066\u307f\u308b2 / Rasbian jessie\u3092\u8a66\u3059/ Google Authenticator\u306e\u30d1\u30b9\u30b3\u30fc\u30c9\u3092\u4f5c\u308b from Kenichiro MATOHARA", "date_published": "2016-12-09T19:07:01+09:00", "date_modified": "2016-12-09T19:07:01+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "gotty", "Linux", "ttyd", "Debian", "stretch", "testing" ] }, { "id": "http://matoken.org/blog/?p=1481", "url": "https://matoken.org/blog/2016/12/08/wget-like-bittorrent-client-tget/", "title": "wget\u30e9\u30a4\u30af\u306bbittorrent\u3092\u53d6\u5f97\u3059\u308btget", "content_html": "

wget\u30b3\u30de\u30f3\u30c9\u306e\u3088\u3046\u306a\u4f7f\u3044\u52dd\u624b\u306eBittorrent\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306etget\u3092\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e node\u88fdMIT\u30e9\u30a4\u30bb\u30f3\u30b9\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u3059\uff0e

\n\n

\u5c0e\u5165\u306fnpm\u3067\uff0etget\u3067\u306f\u306a\u304ft-get\u306a\u306e\u3067\u6ce8\u610f\uff0e

\n
$ npm install -g t-get
\n

torrent\u30d5\u30a1\u30a4\u30eb\uff0c\u30de\u30b0\u30cd\u30c3\u30c8\u30ea\u30f3\u30af\u306e\u4ed6torrent URL\u3067\u3082\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3067\u304d\u308b\u3088\u3046\u3067\u3059\uff0e \u5b9f\u884c\u3059\u308b\u3068\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30d7\u30ed\u30b0\u30ec\u30b9\u304c\u8868\u793a\u3055\u308c\u3066\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u304c\u59cb\u307e\u308a\u307e\u3059\uff0e\u884c\u5e45\u306f\u30cf\u30fc\u30c9\u30b3\u30fc\u30c9\u3055\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0e

\n
$ tget https://downloads.raspberrypi.org/raspbian_latest.torrent\r\n downloading 1 files (1.4GB) [============================= ] 97% 64.0s 588.8KB/s 99 peers
\n

\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u5b8c\u4e86\u6642\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u611f\u3058\uff0e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u5b8c\u4e86\u5f8c\u76f4\u3061\u306b\u7d42\u4e86\u3057\u307e\u3059\uff0e

\n
$ tget https://downloads.raspberrypi.org/raspbian_latest.torrent\r\n------------------\r\n2016-11-25-raspbian-jessie.zip 1.4GB\r\n------------------\r\n downloaded 1 files (1.4GB)
\n

\u30d5\u30a1\u30a4\u30eb\u306e\u4fdd\u5b58\u5148\u306f\u30ab\u30ec\u30f3\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3067\uff0c\u30ab\u30ec\u30f3\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u66f8\u304d\u8fbc\u3081\u306a\u3044\u5834\u5408\u306f\u30a8\u30e9\u30fc\u306b\u306a\u3089\u305a\u30d5\u30a1\u30a4\u30eb\u304c\u6d88\u3048\u3066\u3057\u307e\u3046\u3088\u3046\u3067\u3059\uff0e

\n

\u4fbf\u5229\u3060\u3051\u3069\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u95a2\u4fc2\u306a\u304f\u7d42\u4e86\u3057\u3066\u3057\u307e\u3046\u306e\u3067Bittorrent\u3078\u306e\u8ca2\u732e\u5ea6\u306f\u4f4e\u305d\u3046\u3067\u3059\uff0e \u3061\u306a\u307f\u306b\u6700\u8fd1\u306f\u30ea\u30e2\u30fc\u30c8\u306eTransmission\u3092file server\u3067\u52d5\u4f5c\u3055\u305b\u3066\uff0cTransmission-remote-gtk\u3067\u64cd\u4f5c\u3057\u3066\u3044\u307e\u3059\uff0e

\n

\n", "content_text": "wget\u30b3\u30de\u30f3\u30c9\u306e\u3088\u3046\u306a\u4f7f\u3044\u52dd\u624b\u306eBittorrent\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306etget\u3092\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e node\u88fdMIT\u30e9\u30a4\u30bb\u30f3\u30b9\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u3059\uff0e\n\njeffjose/tget: tget is wget for torrents\n\n\u5c0e\u5165\u306fnpm\u3067\uff0etget\u3067\u306f\u306a\u304ft-get\u306a\u306e\u3067\u6ce8\u610f\uff0e\n$ npm install -g t-get\ntorrent\u30d5\u30a1\u30a4\u30eb\uff0c\u30de\u30b0\u30cd\u30c3\u30c8\u30ea\u30f3\u30af\u306e\u4ed6torrent URL\u3067\u3082\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3067\u304d\u308b\u3088\u3046\u3067\u3059\uff0e \u5b9f\u884c\u3059\u308b\u3068\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30d7\u30ed\u30b0\u30ec\u30b9\u304c\u8868\u793a\u3055\u308c\u3066\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u304c\u59cb\u307e\u308a\u307e\u3059\uff0e\u884c\u5e45\u306f\u30cf\u30fc\u30c9\u30b3\u30fc\u30c9\u3055\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0e\n$ tget https://downloads.raspberrypi.org/raspbian_latest.torrent\r\n downloading 1 files (1.4GB) [============================= ] 97% 64.0s 588.8KB/s 99 peers\n\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u5b8c\u4e86\u6642\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u611f\u3058\uff0e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u5b8c\u4e86\u5f8c\u76f4\u3061\u306b\u7d42\u4e86\u3057\u307e\u3059\uff0e\n$ tget https://downloads.raspberrypi.org/raspbian_latest.torrent\r\n------------------\r\n2016-11-25-raspbian-jessie.zip 1.4GB\r\n------------------\r\n downloaded 1 files (1.4GB)\n\u30d5\u30a1\u30a4\u30eb\u306e\u4fdd\u5b58\u5148\u306f\u30ab\u30ec\u30f3\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3067\uff0c\u30ab\u30ec\u30f3\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u66f8\u304d\u8fbc\u3081\u306a\u3044\u5834\u5408\u306f\u30a8\u30e9\u30fc\u306b\u306a\u3089\u305a\u30d5\u30a1\u30a4\u30eb\u304c\u6d88\u3048\u3066\u3057\u307e\u3046\u3088\u3046\u3067\u3059\uff0e\n\u4fbf\u5229\u3060\u3051\u3069\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u95a2\u4fc2\u306a\u304f\u7d42\u4e86\u3057\u3066\u3057\u307e\u3046\u306e\u3067Bittorrent\u3078\u306e\u8ca2\u732e\u5ea6\u306f\u4f4e\u305d\u3046\u3067\u3059\uff0e \u3061\u306a\u307f\u306b\u6700\u8fd1\u306f\u30ea\u30e2\u30fc\u30c8\u306eTransmission\u3092file server\u3067\u52d5\u4f5c\u3055\u305b\u3066\uff0cTransmission-remote-gtk\u3067\u64cd\u4f5c\u3057\u3066\u3044\u307e\u3059\uff0e", "date_published": "2016-12-08T17:27:02+09:00", "date_modified": "2016-12-08T20:03:23+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "bittorrent", "Linux", "tget", "Debian", "stretch", "testing" ] }, { "id": "http://matoken.org/blog/?p=1476", "url": "https://matoken.org/blog/2016/12/07/screenfetch-like-information-display-command-neofetch/", "title": "Screenfetch\u7684\u306a\u60c5\u5831\u8868\u793a\u30b3\u30de\u30f3\u30c9\u306eNeofetch", "content_html": "

Screenfetch\u7684\u306a\u60c5\u5831\u8868\u793a\u30b3\u30de\u30f3\u30c9\u306eNeofetch

\n

\u3088\u304f\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u306e\u30ad\u30e3\u30d7\u30c1\u30e3\u3092\u53d6\u5f97\u3059\u308b\u3068\u304d\u306b\u8868\u793a\u3055\u308c\u3066\u3044\u308bScreenfetch\u30b3\u30de\u30f3\u30c9\u3068\u3044\u3046\u3082\u306e\u304c\u3042\u308a\u307e\u3059\uff0e\u30b7\u30b9\u30c6\u30e0\u306e\u60c5\u5831\u3068\u30a2\u30b9\u30ad\u30fc\u30a2\u30fc\u30c8\u3092\u7d20\u6575\u306b\u8868\u793a\u3057\u3066\u304f\u308c\u307e\u3059\uff0e \u3053\u308c\u306b\u306b\u305f\u3082\u306e\u3067Netfetch\u3068\u3044\u3046\u3082\u306e\u3092\u898b\u304b\u3051\u305f\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\u3053\u3061\u3089\u306f\u753b\u50cf\u3082\u6271\u3048\u308b\u3088\u3046\u3067\u3059\uff0e

\n\n

\u5c0e\u5165

\n

\u4ee5\u4e0b\u306e\u30da\u30fc\u30b8\u306b\u5404\u7a2e\u74b0\u5883\u3078\u306e\u5c0e\u5165\u65b9\u6cd5\u304c\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\uff0e

\n\n

Debian sid/stretch\u306b\u306f\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u3042\u308b\u3088\u3046\u306a\u3053\u3068\u304c\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\u304c\uff0c

\n
Neofetch is in Debian Unstable/Stretch's official repositories.
\n

\u4eca\u306fsid\u306e\u307f\u306e\u3088\u3046\u3067\u3059\uff0e

\n\n

\u3068\u3044\u3046\u3053\u3068\u3067\u3072\u3068\u307e\u305astretch\u3067\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u5c0e\u5165\u3057\u307e\u3057\u305f\uff0e

\n
$ #-- /etc/apt/sources.list.d/neofetch \u3092\u4f5c\u308b\r\n$ sudo apt edit-sources neofetch\r\n$ cat /etc/apt/sources.list.d/neofetch.list\r\ndeb http://dl.bintray.com/dawidd6/neofetch jessie main\r\n$ #-- \u9375\u306e\u30a4\u30f3\u30dd\u30fc\u30c8\r\n$ wget "https://bintray.com/user/downloadSubjectPublicKey?username=bintray" -O Release-neofetch.key\r\n$ gpg Release-neofetch.key\r\npub   rsa4096 2015-02-17 [SC]\r\n      8756C4F765C9AC3CB6B85D62379CE192D401AB61\r\nuid           Bintray (by JFrog) <bintray@bintray.com>\r\nsub   rsa4096 2015-02-17 [E]\r\n$ sudo apt-key add Release-neofetch.key\r\n$ rm Release-neofetch.key\r\n$ #-- pkg\u60c5\u5831\u66f4\u65b0&pkg\u5c0e\u5165\r\n$ sudo apt update\r\n$ sudo apt install neofetch
\n

\u65e9\u901f\u5b9f\u884c

\n
$ neofetch --help\r\n\r\n    NEOFETCH\r\n\r\n    USAGE: neofetch --option "value" --option "value"\r\n\r\n    NOTE: There's also a config option for each flag below.\r\n\r\n    Info:\r\n    --disable infoname          Allows you to disable an info line from appearing\r\n                                in the output.\r\n                                NOTE: You can supply multiple args. eg.\r\n                                'neofetch --disable cpu gpu disk shell'\r\n                                NOTE: The arguments must all be lowercase.\r\n    --os_arch on/off            Hide/Show OS architecture.\r\n    --speed_type type           Change the type of cpu speed to display.\r\n                                Possible values: current, min, max, bios,\r\n                                scaling_current, scaling_min, scaling_max\r\n                                NOTE: This only support Linux with cpufreq.\r\n    --cpu_shorthand type        Shorten the output of CPU\r\n                                Possible values: name, speed, tiny, on, off\r\n    --cpu_cores type            Whether or not to display the number of CPU cores\r\n                                Takes: logical, physical, off\r\n                                NOTE: 'physical' doesn't work on BSD.\r\n    --cpu_speed on/off          Hide/Show cpu speed.\r\n    --cpu_temp on/off           Hide/Show cpu temperature.\r\n                                NOTE: This only works on Linux and BSD.\r\n                                NOTE: For FreeBSD-based systems, you need to enable coretemp\r\n                                      kernel module.\r\n    --distro_shorthand on/off   Shorten the output of distro (tiny, on, off)\r\n                                NOTE: This option won't work in Windows (Cygwin)\r\n    --kernel_shorthand on/off   Shorten the output of kernel\r\n                                NOTE: This option won't work in BSDs (except PacBSD and PC-BSD)\r\n    --uptime_shorthand on/off   Shorten the output of uptime (tiny, on, off)\r\n    --refresh_rate on/off       Whether to display the refresh rate of each monitor\r\n                                Unsupported on Windows\r\n    --gpu_brand on/off          Enable/Disable GPU brand in output. (AMD/NVIDIA/Intel)\r\n    --gtk_shorthand on/off      Shorten output of gtk theme/icons\r\n    --gtk2 on/off               Enable/Disable gtk2 theme/icons output\r\n    --gtk3 on/off               Enable/Disable gtk3 theme/icons output\r\n    --shell_path on/off         Enable/Disable showing $SHELL path\r\n    --shell_version on/off      Enable/Disable showing $SHELL version\r\n    --ip_host url               Url to query for public IP\r\n    --song_shorthand on/off     Print the Artist/Title on seperate lines\r\n    --birthday_shorthand on/off Shorten the output of birthday\r\n    --birthday_time on/off      Enable/Disable showing the time in birthday output\r\n    --birthday_format format    Format the birthday output. (Uses 'date' cmd format)\r\n\r\n    Text Formatting:\r\n    --colors x x x x x x        Changes the text colors in this order:\r\n                                title, @, underline, subtitle, colon, info\r\n    --underline on/off          Enable/Disable the underline.\r\n    --underline_char char       Character to use when underlining title\r\n    --bold on/off               Enable/Disable bold text\r\n\r\n    Color Blocks:\r\n    --color_blocks on/off       Enable/Disable the color blocks\r\n    --block_width num           Width of color blocks in spaces\r\n    --block_height num          Height of color blocks in lines\r\n    --block_range start end     Range of colors to print as blocks\r\n\r\n    Bars:\r\n    --bar_char 'elapsed char' 'total char'\r\n                                Characters to use when drawing bars.\r\n    --bar_border on/off         Whether or not to surround the bar with '[]'\r\n    --bar_length num            Length in spaces to make the bars.\r\n    --bar_colors num num        Colors to make the bar.\r\n                                Set in this order: elapsed, total\r\n    --cpu_display mode          Bar mode.\r\n                                Takes: bar, infobar, barinfo, off\r\n    --memory_display mode       Bar mode.\r\n                                Takes: bar, infobar, barinfo, off\r\n    --battery_display mode      Bar mode.\r\n                                Takes: bar, infobar, barinfo, off\r\n    --disk_display mode         Bar mode.\r\n                                Takes: bar, infobar, barinfo, off\r\n\r\n    Image:\r\n    --image type                Image source. Where and what image we display.\r\n                                Possible values: wall, ascii,\r\n                                /path/to/img, /path/to/dir/, off\r\n    --size 00px | --size 00%    How to size the image.\r\n                                Possible values: auto, 00px, 00%, none\r\n    --crop_mode mode            Which crop mode to use\r\n                                Takes the values: normal, fit, fill\r\n    --crop_offset value         Change the crop offset for normal mode.\r\n                                Possible values: northwest, north, northeast,\r\n                                west, center, east, southwest, south, southeast\r\n\r\n    --xoffset px                How close the image will be to the left edge of the\r\n                                window. This only works with w3m.\r\n    --yoffset px                How close the image will be to the top edge of the\r\n                                window. This only works with w3m.\r\n    --bg_color color            Background color to display behind transparent image.\r\n                                This only works with w3m.\r\n    --gap num                   Gap between image and text.\r\n                                NOTE: --gap can take a negative value which will\r\n                                move the text closer to the left side.\r\n    --clean                     Delete cached files and thumbnails.\r\n\r\n    Ascii:\r\n    --ascii value               Where to get the ascii from, Possible values:\r\n                                distro, /path/to/ascii\r\n    --ascii_colors x x x x x x  Colors to print the ascii art\r\n    --ascii_distro distro       Which Distro's ascii art to print\r\n                                NOTE: Arch and Ubuntu have 'old' logo varients.\r\n                                NOTE: Use 'arch_old' or 'ubuntu_old' to use the old logos.\r\n                                NOTE: Ubuntu has flavor varients.\r\n                                NOTE: Change this to 'Lubuntu', 'Xubuntu', 'Ubuntu-GNOME'\r\n                                or 'Ubuntu-Budgie' to use the flavors.\r\n    --ascii_logo_size           Size of ascii logo.\r\n                                Supported distros: Arch, Gentoo, Crux, OpenBSD.\r\n    --ascii_bold on/off         Whether or not to bold the ascii logo.\r\n    --logo | -L                 Hide the info text and only show the ascii logo.\r\n\r\n    Screenshot:\r\n    --scrot | -s /path/to/img   Take a screenshot, if path is left empty the screen-\r\n                                shot function will use $scrot_dir and $scrot_name.\r\n    --upload | -su /pth/t/img   Same as --scrot but uploads the scrot to a website.\r\n    --image_host                Website to upload scrots to. Takes: imgur, teknik\r\n    --scrot_cmd cmd             Screenshot program to launch\r\n\r\n    Other:\r\n    --config /path/to/config    Specify a path to a custom config file\r\n    --config none               Launch the script without a config file\r\n    --help                      Print this text and exit\r\n    --version                   Show neofetch version\r\n    -v                          Display error messages.\r\n    -vv                         Display a verbose log for error reporting.
\n

\u30aa\u30d7\u30b7\u30e7\u30f3\u7d50\u69cb\u591a\u3044\u3067\u3059\uff0e \u3068\u308a\u3042\u3048\u305a\u7d20\u3067\u5b9f\u884c\uff0e

\n

\"20161207_05:12:12-5188\"
\n

\n

\u60c5\u5831\u3082Screenfetch\u3088\u308a\u5897\u3048\u3066\u3044\u307e\u3059\uff0e

\n

\"20161207_05:12:20-9093\"
\n

\n

\u6b21\u306f\u753b\u50cf\u3092\u6307\u5b9a\u3057\u3066\u307f\u307e\u3059\uff0e\u753b\u50cf\u30b5\u30a4\u30ba\u304c\u5927\u304d\u304b\u3063\u305f\u306e\u306725%\u306b\u7e2e\u5c0f\u3082\u3057\u3066\u3044\u307e\u3059\uff0e \u697d\u3057\u3044 :)

\n

\"20161207_05:12:35-3963\"
\n
\n\"20161207_06:12:30-16979\"
\n

\n

\u753b\u50cf\u306e\u8868\u793a\u306b\u3064\u3044\u3066\u306f\u74b0\u5883\u306b\u3088\u3063\u3066\u3046\u307e\u304f\u884c\u304f\u884c\u304b\u306a\u3044\u304c\u3042\u308b\u3088\u3046\u3067\u3059\uff0e\u3046\u307e\u304f\u8868\u793a\u3055\u308c\u306a\u3044\u5834\u5408\u306f\u4ee5\u4e0b\u306eWiki\u3092\u53c2\u7167\u3059\u308b\u3068\u826f\u3055\u305d\u3046\u3067\u3059\uff0e

\n\n

\n", "content_text": "Screenfetch\u7684\u306a\u60c5\u5831\u8868\u793a\u30b3\u30de\u30f3\u30c9\u306eNeofetch\n\u3088\u304f\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u306e\u30ad\u30e3\u30d7\u30c1\u30e3\u3092\u53d6\u5f97\u3059\u308b\u3068\u304d\u306b\u8868\u793a\u3055\u308c\u3066\u3044\u308bScreenfetch\u30b3\u30de\u30f3\u30c9\u3068\u3044\u3046\u3082\u306e\u304c\u3042\u308a\u307e\u3059\uff0e\u30b7\u30b9\u30c6\u30e0\u306e\u60c5\u5831\u3068\u30a2\u30b9\u30ad\u30fc\u30a2\u30fc\u30c8\u3092\u7d20\u6575\u306b\u8868\u793a\u3057\u3066\u304f\u308c\u307e\u3059\uff0e \u3053\u308c\u306b\u306b\u305f\u3082\u306e\u3067Netfetch\u3068\u3044\u3046\u3082\u306e\u3092\u898b\u304b\u3051\u305f\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\u3053\u3061\u3089\u306f\u753b\u50cf\u3082\u6271\u3048\u308b\u3088\u3046\u3067\u3059\uff0e\n\ndylanaraps/neofetch: A fast, highly customizable system info script that supports Linux, MacOS, iOS, BSD, Solaris, Android, Haiku, GNU Hurd and Windows (Cygwin/Windows 10 Linux subsystem)\n\n\u5c0e\u5165\n\u4ee5\u4e0b\u306e\u30da\u30fc\u30b8\u306b\u5404\u7a2e\u74b0\u5883\u3078\u306e\u5c0e\u5165\u65b9\u6cd5\u304c\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\uff0e\n\nInstallation \u00b7 dylanaraps/neofetch Wiki\n\nDebian sid/stretch\u306b\u306f\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u3042\u308b\u3088\u3046\u306a\u3053\u3068\u304c\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\u304c\uff0c\nNeofetch is in Debian Unstable/Stretch's official repositories.\n\u4eca\u306fsid\u306e\u307f\u306e\u3088\u3046\u3067\u3059\uff0e\n\nDebian — \u30d1\u30c3\u30b1\u30fc\u30b8\u691c\u7d22\u7d50\u679c — neofetch\n\n\u3068\u3044\u3046\u3053\u3068\u3067\u3072\u3068\u307e\u305astretch\u3067\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u5c0e\u5165\u3057\u307e\u3057\u305f\uff0e\n$ #-- /etc/apt/sources.list.d/neofetch \u3092\u4f5c\u308b\r\n$ sudo apt edit-sources neofetch\r\n$ cat /etc/apt/sources.list.d/neofetch.list\r\ndeb http://dl.bintray.com/dawidd6/neofetch jessie main\r\n$ #-- \u9375\u306e\u30a4\u30f3\u30dd\u30fc\u30c8\r\n$ wget "https://bintray.com/user/downloadSubjectPublicKey?username=bintray" -O Release-neofetch.key\r\n$ gpg Release-neofetch.key\r\npub rsa4096 2015-02-17 [SC]\r\n 8756C4F765C9AC3CB6B85D62379CE192D401AB61\r\nuid Bintray (by JFrog) <bintray@bintray.com>\r\nsub rsa4096 2015-02-17 [E]\r\n$ sudo apt-key add Release-neofetch.key\r\n$ rm Release-neofetch.key\r\n$ #-- pkg\u60c5\u5831\u66f4\u65b0&pkg\u5c0e\u5165\r\n$ sudo apt update\r\n$ sudo apt install neofetch\n\u65e9\u901f\u5b9f\u884c\n$ neofetch --help\r\n\r\n NEOFETCH\r\n\r\n USAGE: neofetch --option "value" --option "value"\r\n\r\n NOTE: There's also a config option for each flag below.\r\n\r\n Info:\r\n --disable infoname Allows you to disable an info line from appearing\r\n in the output.\r\n NOTE: You can supply multiple args. eg.\r\n 'neofetch --disable cpu gpu disk shell'\r\n NOTE: The arguments must all be lowercase.\r\n --os_arch on/off Hide/Show OS architecture.\r\n --speed_type type Change the type of cpu speed to display.\r\n Possible values: current, min, max, bios,\r\n scaling_current, scaling_min, scaling_max\r\n NOTE: This only support Linux with cpufreq.\r\n --cpu_shorthand type Shorten the output of CPU\r\n Possible values: name, speed, tiny, on, off\r\n --cpu_cores type Whether or not to display the number of CPU cores\r\n Takes: logical, physical, off\r\n NOTE: 'physical' doesn't work on BSD.\r\n --cpu_speed on/off Hide/Show cpu speed.\r\n --cpu_temp on/off Hide/Show cpu temperature.\r\n NOTE: This only works on Linux and BSD.\r\n NOTE: For FreeBSD-based systems, you need to enable coretemp\r\n kernel module.\r\n --distro_shorthand on/off Shorten the output of distro (tiny, on, off)\r\n NOTE: This option won't work in Windows (Cygwin)\r\n --kernel_shorthand on/off Shorten the output of kernel\r\n NOTE: This option won't work in BSDs (except PacBSD and PC-BSD)\r\n --uptime_shorthand on/off Shorten the output of uptime (tiny, on, off)\r\n --refresh_rate on/off Whether to display the refresh rate of each monitor\r\n Unsupported on Windows\r\n --gpu_brand on/off Enable/Disable GPU brand in output. (AMD/NVIDIA/Intel)\r\n --gtk_shorthand on/off Shorten output of gtk theme/icons\r\n --gtk2 on/off Enable/Disable gtk2 theme/icons output\r\n --gtk3 on/off Enable/Disable gtk3 theme/icons output\r\n --shell_path on/off Enable/Disable showing $SHELL path\r\n --shell_version on/off Enable/Disable showing $SHELL version\r\n --ip_host url Url to query for public IP\r\n --song_shorthand on/off Print the Artist/Title on seperate lines\r\n --birthday_shorthand on/off Shorten the output of birthday\r\n --birthday_time on/off Enable/Disable showing the time in birthday output\r\n --birthday_format format Format the birthday output. (Uses 'date' cmd format)\r\n\r\n Text Formatting:\r\n --colors x x x x x x Changes the text colors in this order:\r\n title, @, underline, subtitle, colon, info\r\n --underline on/off Enable/Disable the underline.\r\n --underline_char char Character to use when underlining title\r\n --bold on/off Enable/Disable bold text\r\n\r\n Color Blocks:\r\n --color_blocks on/off Enable/Disable the color blocks\r\n --block_width num Width of color blocks in spaces\r\n --block_height num Height of color blocks in lines\r\n --block_range start end Range of colors to print as blocks\r\n\r\n Bars:\r\n --bar_char 'elapsed char' 'total char'\r\n Characters to use when drawing bars.\r\n --bar_border on/off Whether or not to surround the bar with '[]'\r\n --bar_length num Length in spaces to make the bars.\r\n --bar_colors num num Colors to make the bar.\r\n Set in this order: elapsed, total\r\n --cpu_display mode Bar mode.\r\n Takes: bar, infobar, barinfo, off\r\n --memory_display mode Bar mode.\r\n Takes: bar, infobar, barinfo, off\r\n --battery_display mode Bar mode.\r\n Takes: bar, infobar, barinfo, off\r\n --disk_display mode Bar mode.\r\n Takes: bar, infobar, barinfo, off\r\n\r\n Image:\r\n --image type Image source. Where and what image we display.\r\n Possible values: wall, ascii,\r\n /path/to/img, /path/to/dir/, off\r\n --size 00px | --size 00% How to size the image.\r\n Possible values: auto, 00px, 00%, none\r\n --crop_mode mode Which crop mode to use\r\n Takes the values: normal, fit, fill\r\n --crop_offset value Change the crop offset for normal mode.\r\n Possible values: northwest, north, northeast,\r\n west, center, east, southwest, south, southeast\r\n\r\n --xoffset px How close the image will be to the left edge of the\r\n window. This only works with w3m.\r\n --yoffset px How close the image will be to the top edge of the\r\n window. This only works with w3m.\r\n --bg_color color Background color to display behind transparent image.\r\n This only works with w3m.\r\n --gap num Gap between image and text.\r\n NOTE: --gap can take a negative value which will\r\n move the text closer to the left side.\r\n --clean Delete cached files and thumbnails.\r\n\r\n Ascii:\r\n --ascii value Where to get the ascii from, Possible values:\r\n distro, /path/to/ascii\r\n --ascii_colors x x x x x x Colors to print the ascii art\r\n --ascii_distro distro Which Distro's ascii art to print\r\n NOTE: Arch and Ubuntu have 'old' logo varients.\r\n NOTE: Use 'arch_old' or 'ubuntu_old' to use the old logos.\r\n NOTE: Ubuntu has flavor varients.\r\n NOTE: Change this to 'Lubuntu', 'Xubuntu', 'Ubuntu-GNOME'\r\n or 'Ubuntu-Budgie' to use the flavors.\r\n --ascii_logo_size Size of ascii logo.\r\n Supported distros: Arch, Gentoo, Crux, OpenBSD.\r\n --ascii_bold on/off Whether or not to bold the ascii logo.\r\n --logo | -L Hide the info text and only show the ascii logo.\r\n\r\n Screenshot:\r\n --scrot | -s /path/to/img Take a screenshot, if path is left empty the screen-\r\n shot function will use $scrot_dir and $scrot_name.\r\n --upload | -su /pth/t/img Same as --scrot but uploads the scrot to a website.\r\n --image_host Website to upload scrots to. Takes: imgur, teknik\r\n --scrot_cmd cmd Screenshot program to launch\r\n\r\n Other:\r\n --config /path/to/config Specify a path to a custom config file\r\n --config none Launch the script without a config file\r\n --help Print this text and exit\r\n --version Show neofetch version\r\n -v Display error messages.\r\n -vv Display a verbose log for error reporting.\n\u30aa\u30d7\u30b7\u30e7\u30f3\u7d50\u69cb\u591a\u3044\u3067\u3059\uff0e \u3068\u308a\u3042\u3048\u305a\u7d20\u3067\u5b9f\u884c\uff0e\n\n\n\u60c5\u5831\u3082Screenfetch\u3088\u308a\u5897\u3048\u3066\u3044\u307e\u3059\uff0e\n\n\n\u6b21\u306f\u753b\u50cf\u3092\u6307\u5b9a\u3057\u3066\u307f\u307e\u3059\uff0e\u753b\u50cf\u30b5\u30a4\u30ba\u304c\u5927\u304d\u304b\u3063\u305f\u306e\u306725%\u306b\u7e2e\u5c0f\u3082\u3057\u3066\u3044\u307e\u3059\uff0e \u697d\u3057\u3044 :)\n\n\n\n\n\u753b\u50cf\u306e\u8868\u793a\u306b\u3064\u3044\u3066\u306f\u74b0\u5883\u306b\u3088\u3063\u3066\u3046\u307e\u304f\u884c\u304f\u884c\u304b\u306a\u3044\u304c\u3042\u308b\u3088\u3046\u3067\u3059\uff0e\u3046\u307e\u304f\u8868\u793a\u3055\u308c\u306a\u3044\u5834\u5408\u306f\u4ee5\u4e0b\u306eWiki\u3092\u53c2\u7167\u3059\u308b\u3068\u826f\u3055\u305d\u3046\u3067\u3059\uff0e\n\nImages in the terminal \u00b7 dylanaraps/neofetch Wiki", "date_published": "2016-12-07T06:27:09+09:00", "date_modified": "2016-12-07T06:27:09+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "Debian", "Linux", "neofetch", "screenfetch", "stretch", "testing" ] }, { "id": "http://matoken.org/blog/?p=1474", "url": "https://matoken.org/blog/2016/12/06/emoj-pictogram-search-software-that-runs-on-the-command-line/", "title": "\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u3067\u52d5\u4f5c\u3059\u308b\u7d75\u6587\u5b57\u691c\u7d22\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306eemoj", "content_html": "

PC\u3067\u7d75\u6587\u5b57\u3092\u5165\u529b\u3059\u308b\u3068\u304d\u65e5\u672c\u8a9e\u5165\u529b\u30b7\u30b9\u30c6\u30e0\u304c\u3042\u308c\u3070\u305d\u308c\u3067\u5165\u529b\u3067\u304d\u307e\u3059\u304c\uff0c\u82f1\u8a9e\u570f\u3067\u306f\u6050\u3089\u304f\u7121\u7406\uff0e\u3066\u3053\u3068\u3067\u3044\u304f\u3064\u304b\u30c4\u30fc\u30eb\u304c\u3042\u308b\u306e\u3067\u3059\u304c\uff0c\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u3067\u52d5\u4f5c\u3059\u308bemoj\u3092\u898b\u3064\u3051\u305f\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

\n\n

\u5c0e\u5165\u306fnpm\u304b\uff0c

\n
npm install emoj
\n

snap\u3067\uff0e

\n
$ sudo snap install emoj
\n

\u5f8c\u306femoj\u30b3\u30de\u30f3\u30c9\u306b\u5f15\u6570\u3092\u4e0e\u3048\u308b\u304b\uff0cemoj\u30b3\u30de\u30f3\u30c9\u3092\u5f15\u6570\u7121\u3057\u3067\u5b9f\u884c\u3057\u3066\u30e9\u30a4\u30d6\u30e2\u30fc\u30c9\u3067\u5229\u7528\u3057\u307e\u3059\uff0e \u5f15\u6570\u3084\u30e9\u30a4\u30d6\u30e2\u30fc\u30c9\u3067\u5165\u529b\u3059\u308b\u6587\u5b57\u5217\u306f\u8868\u793a\u3057\u305f\u3044\u7d75\u6587\u5b57\u306b\u95a2\u9023\u3059\u308b\u5358\u8a9e\u3092\u5165\u529b\u3057\u307e\u3059\uff0e\u30e9\u30a4\u30d6\u30e2\u30fc\u30c9\u306fEnter\u3067\u30af\u30ea\u30a2\u3055\u308c\uff0cCtrl + c\u3067exit\u3067\u304d\u307e\u3059\uff0e\u8868\u793a\u3055\u308c\u305f\u7d75\u6587\u5b57\u3092\u30b3\u30d4\u30fc&\u30da\u30fc\u30b9\u30c8\u3057\u3066\u5229\u7528\u3059\u308b\u3088\u3046\u3067\u3059\uff0e1\u3064\u76ee\u306b\u51fa\u3066\u304f\u308b\u7d75\u6587\u5b57\u3092\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u306b\u30af\u30ea\u30c3\u30d7\u3059\u308b--copy/-c\u3068\u3044\u3046\u30aa\u30d7\u30b7\u30e7\u30f3\u3082\u3042\u308b\u3088\u3046\u3067\u3059\u304c\u624b\u5143\u3067\u306f\u3046\u307e\u304f\u52d5\u3044\u3066\u3044\u307e\u305b\u3093\uff0e

\n
$ emoj neko\r\n🐱  👥  \u21aa  😻  \u2194  🐈\r\n$ emoj cat\r\n🐱  🐈  😺  😻  😸  😼  😽\r\n$ emoj\r\n\r\n\u203a sushi\r\n🍣  🍱  🍙  🍤  😋  🍚  😍\r\n
\n

\"asciicast\"

\n

\u7d75\u6587\u5b57\u306e\u30d5\u30a9\u30f3\u30c8\u304c\u306a\u3044\u5834\u5408\u306fNoto Fonts\u3092\u5229\u7528\u3059\u308b\u306e\u304c\u624b\u3063\u53d6\u308a\u65e9\u3044\u3068\u601d\u3044\u307e\u3059\uff0e

\n\n

\u65e5\u672c\u8a9e\u5165\u529b\u30b7\u30b9\u30c6\u30e0\u3092\u4f7f\u3046\u4eba\u3084GUI\u3092\u5229\u7528\u3059\u308b\u4eba\u306f\u65e5\u672c\u8a9e\u5165\u529b\u30b7\u30b9\u30c6\u30e0\u3084emojione-picker\u3092\u4f7f\u3063\u305f\u307b\u3046\u304c\u4fbf\u5229\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e

\n\n

\n", "content_text": "PC\u3067\u7d75\u6587\u5b57\u3092\u5165\u529b\u3059\u308b\u3068\u304d\u65e5\u672c\u8a9e\u5165\u529b\u30b7\u30b9\u30c6\u30e0\u304c\u3042\u308c\u3070\u305d\u308c\u3067\u5165\u529b\u3067\u304d\u307e\u3059\u304c\uff0c\u82f1\u8a9e\u570f\u3067\u306f\u6050\u3089\u304f\u7121\u7406\uff0e\u3066\u3053\u3068\u3067\u3044\u304f\u3064\u304b\u30c4\u30fc\u30eb\u304c\u3042\u308b\u306e\u3067\u3059\u304c\uff0c\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u3067\u52d5\u4f5c\u3059\u308bemoj\u3092\u898b\u3064\u3051\u305f\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\nGitHub – sindresorhus/emoj: Find relevant emoji from text on the command-line\n\n\u5c0e\u5165\u306fnpm\u304b\uff0c\nnpm install emoj\nsnap\u3067\uff0e\n$ sudo snap install emoj\n\u5f8c\u306femoj\u30b3\u30de\u30f3\u30c9\u306b\u5f15\u6570\u3092\u4e0e\u3048\u308b\u304b\uff0cemoj\u30b3\u30de\u30f3\u30c9\u3092\u5f15\u6570\u7121\u3057\u3067\u5b9f\u884c\u3057\u3066\u30e9\u30a4\u30d6\u30e2\u30fc\u30c9\u3067\u5229\u7528\u3057\u307e\u3059\uff0e \u5f15\u6570\u3084\u30e9\u30a4\u30d6\u30e2\u30fc\u30c9\u3067\u5165\u529b\u3059\u308b\u6587\u5b57\u5217\u306f\u8868\u793a\u3057\u305f\u3044\u7d75\u6587\u5b57\u306b\u95a2\u9023\u3059\u308b\u5358\u8a9e\u3092\u5165\u529b\u3057\u307e\u3059\uff0e\u30e9\u30a4\u30d6\u30e2\u30fc\u30c9\u306fEnter\u3067\u30af\u30ea\u30a2\u3055\u308c\uff0cCtrl + c\u3067exit\u3067\u304d\u307e\u3059\uff0e\u8868\u793a\u3055\u308c\u305f\u7d75\u6587\u5b57\u3092\u30b3\u30d4\u30fc&\u30da\u30fc\u30b9\u30c8\u3057\u3066\u5229\u7528\u3059\u308b\u3088\u3046\u3067\u3059\uff0e1\u3064\u76ee\u306b\u51fa\u3066\u304f\u308b\u7d75\u6587\u5b57\u3092\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u306b\u30af\u30ea\u30c3\u30d7\u3059\u308b--copy/-c\u3068\u3044\u3046\u30aa\u30d7\u30b7\u30e7\u30f3\u3082\u3042\u308b\u3088\u3046\u3067\u3059\u304c\u624b\u5143\u3067\u306f\u3046\u307e\u304f\u52d5\u3044\u3066\u3044\u307e\u305b\u3093\uff0e\n$ emoj neko\r\n🐱 👥 \u21aa 😻 \u2194 🐈\r\n$ emoj cat\r\n🐱 🐈 😺 😻 😸 😼 😽\r\n$ emoj\r\n\r\n\u203a sushi\r\n🍣 🍱 🍙 🍤 😋 🍚 😍\r\n\n\n\u7d75\u6587\u5b57\u306e\u30d5\u30a9\u30f3\u30c8\u304c\u306a\u3044\u5834\u5408\u306fNoto Fonts\u3092\u5229\u7528\u3059\u308b\u306e\u304c\u624b\u3063\u53d6\u308a\u65e9\u3044\u3068\u601d\u3044\u307e\u3059\uff0e\n\nGoogle Noto Fonts\n\n\u65e5\u672c\u8a9e\u5165\u529b\u30b7\u30b9\u30c6\u30e0\u3092\u4f7f\u3046\u4eba\u3084GUI\u3092\u5229\u7528\u3059\u308b\u4eba\u306f\u65e5\u672c\u8a9e\u5165\u529b\u30b7\u30b9\u30c6\u30e0\u3084emojione-picker\u3092\u4f7f\u3063\u305f\u307b\u3046\u304c\u4fbf\u5229\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e\n\n\u7d75\u6587\u5b57\u3092\u5165\u529b\u3059\u308b-Mozc&emojione-picker- | matoken’s meme", "date_published": "2016-12-06T06:44:13+09:00", "date_modified": "2016-12-06T05:51:05+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "emoji", "Linux", "Ubuntu", "yakkety(16.10)" ] }, { "id": "http://matoken.org/blog/?p=1471", "url": "https://matoken.org/blog/2016/12/04/with-blueman-alone-use-bluetooth-tethering-without-using-networkmanager/", "title": "Blueman\u3060\u3051\u3067NetworkManager\u3092\u4f7f\u308f\u305aBluetooth tethering\u3092\u4f7f\u3046", "content_html": "

\u6700\u8fd1\u306e\u81ea\u8ee2\u8eca\u79fb\u52d5\u3067Thinkpad X200\u3092\u904b\u3093\u3067\u3044\u308b\u306e\u3067\u3059\u304c\u3061\u3087\u3063\u3068\u91cd\u3044\uff0e PC\u4f7f\u3046\u304b\u308f\u304b\u3089\u306a\u3044\u3088\u3046\u306a\u3068\u304d\u3082\u6301\u3061\u904b\u3093\u3067\u3044\u308b\u306e\u3067\u3059\u304c\u91cd\u3044\u3057\u58ca\u3057\u305d\u3046\u3060\u3057\u3067\u3042\u307e\u308a\u826f\u304f\u306a\u3044\uff0e \u6700\u8fd1\u5024\u5d29\u308c\u3057\u305fKINGJIM PORTABOOK(XMC10)\u3084\u5c0f\u3055\u304f\u3066\u53ef\u611b\u3044GPD-WIN\u3068\u304b\u307b\u3057\u3044\u306e\u3067\u3059\u304c\u304a\u91d1\u306a\u3044\uff0e\u3066\u3053\u3068\u3067\u6614\u8cb7\u3063\u3066\u3042\u307e\u308a\u4f7f\u3063\u3066\u3044\u306a\u3044Fujitsu FMV-U8250 + \u5916\u90e8\u30ad\u30fc\u30dc\u30fc\u30c9\u3067\u8377\u7269\u306e\u8efd\u91cf\u5316\u51fa\u6765\u306a\u3044\u304b\u306a\u3068\uff0e

\n

\n

\u3061\u306a\u307f\u306bGPD-WIN\u3092\u65e5\u672c\u3067\u5229\u7528\u3059\u308b\u4eba\u306e\u6280\u9069\u554f\u984c\u306f\u4ee5\u4e0b\u306e\u8fba\u308a\u304b\u3089\u8cb7\u3046\u3068\u5927\u4e08\u592b\u306e\u3088\u3046\uff0e(\u4ed6\u306f\u591a\u5206NG)

\n\n

\u3068\u3044\u3046\u3053\u3068\u3067\u3068\u308a\u3042\u3048\u305aFujitsu FMV-U8250\u306bUSB-Bluetooth\u30a2\u30c0\u30d7\u30bf\u3092\u63a5\u7d9a\u3057\u3066Bluetooth\u5916\u90e8\u30ad\u30fc\u30dc\u30fc\u30c9\u3068Bluetooth tethering\u306a\u74b0\u5883\u3092\u6574\u3048\u3088\u3046\u3068\u601d\u3063\u305f\u306e\u3067\u3059\u304c\uff0cOS\u3092Devuan jessie\u306b\u3057\u3066Blueman\u3067\u7e4b\u3054\u3046\u3068\u3059\u308b\u3068\uff0c

\n
Connection Failed: the name org.freedesktop.NetworkManager was not provided by ant .service files
\n

\u3068\u3044\u3046\u30a8\u30e9\u30fc\u3067\u63a5\u7d9a\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\uff0e NetworkManager\u306b\u4f9d\u5b58\u3057\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0e

\n

\u3057\u304b\u3057\u3044\u307e\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30de\u30cd\u30fc\u30b8\u30e3\u30fc\u306fWicd\u3067NetworkManager\u306f\u5165\u3063\u3066\u3044\u307e\u305b\u3093\uff0e\u3069\u3046\u306b\u304b\u306a\u3089\u306a\u3044\u304b\u306a\u30fc\u3068Blueman\u306e\u8a2d\u5b9a\u3092\u898b\u308b\u3068\u305d\u308c\u3089\u3057\u3044\u3082\u306e\u3092\u767a\u898b\uff0e

\n\n

\"blueman01\"
\n
\n\"blueman02\"
\n

\n

\u3053\u308c\u3067NetworkManager\u306e\u306a\u3044\u74b0\u5883\u3067\u3082Bluetooth tethering\u3067\u7e4b\u304c\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f :)

\n

\u3061\u306a\u307f\u306bX200(9\u30bb\u30eb\u30d0\u30c3\u30c6\u30ea)\u306e\u91cd\u91cf\u306f1.7kg\u8fd1\u304f\uff0cFMV-U8250(\u5927\u5bb9\u91cf\u30d0\u30c3\u30c6\u30ea)\u306f\u3067700g\u8fd1\u304f+\u30ad\u30fc\u30dc\u30fc\u30c9420g\u2026\u2026\uff0e\u4f53\u7a4d\u306f\u7d50\u69cb\u6e1b\u3063\u3066\u308b\u3051\u3069\u6848\u5916\u8efd\u304f\u306a\u3063\u3066\u307e\u305b\u3093\u306d\uff0e\u30ad\u30fc\u30dc\u30fc\u30c9\u304c\u6848\u5916\u91cd\u3044\u3067\u3059\uff0e\u4f7f\u3044\u52dd\u624b\u3082\u5927\u5206\u843d\u3061\u308b\u3057\u5fae\u5999?

\n

\n", "content_text": "\u6700\u8fd1\u306e\u81ea\u8ee2\u8eca\u79fb\u52d5\u3067Thinkpad X200\u3092\u904b\u3093\u3067\u3044\u308b\u306e\u3067\u3059\u304c\u3061\u3087\u3063\u3068\u91cd\u3044\uff0e PC\u4f7f\u3046\u304b\u308f\u304b\u3089\u306a\u3044\u3088\u3046\u306a\u3068\u304d\u3082\u6301\u3061\u904b\u3093\u3067\u3044\u308b\u306e\u3067\u3059\u304c\u91cd\u3044\u3057\u58ca\u3057\u305d\u3046\u3060\u3057\u3067\u3042\u307e\u308a\u826f\u304f\u306a\u3044\uff0e \u6700\u8fd1\u5024\u5d29\u308c\u3057\u305fKINGJIM PORTABOOK(XMC10)\u3084\u5c0f\u3055\u304f\u3066\u53ef\u611b\u3044GPD-WIN\u3068\u304b\u307b\u3057\u3044\u306e\u3067\u3059\u304c\u304a\u91d1\u306a\u3044\uff0e\u3066\u3053\u3068\u3067\u6614\u8cb7\u3063\u3066\u3042\u307e\u308a\u4f7f\u3063\u3066\u3044\u306a\u3044Fujitsu FMV-U8250 + \u5916\u90e8\u30ad\u30fc\u30dc\u30fc\u30c9\u3067\u8377\u7269\u306e\u8efd\u91cf\u5316\u51fa\u6765\u306a\u3044\u304b\u306a\u3068\uff0e\n\n\n\u3061\u306a\u307f\u306bGPD-WIN\u3092\u65e5\u672c\u3067\u5229\u7528\u3059\u308b\u4eba\u306e\u6280\u9069\u554f\u984c\u306f\u4ee5\u4e0b\u306e\u8fba\u308a\u304b\u3089\u8cb7\u3046\u3068\u5927\u4e08\u592b\u306e\u3088\u3046\uff0e(\u4ed6\u306f\u591a\u5206NG)\n\nPC\u30b2\u30fc\u30de\u30fc\u3078\u6717\u5831\uff01\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u4ed8\u30b2\u30fc\u30e0\u5c02\u7528\u30e2\u30d0\u30a4\u30ebPC\uff1cGPD WIN\uff1e\u4e0a\u9678\uff01 \u30b3\u30df\u30e5\u30cb\u30b1\u30fc\u30b7\u30e7\u30f3 | \u30af\u30e9\u30a6\u30c9\u30d5\u30a1\u30f3\u30c7\u30a3\u30f3\u30b0 – Makuake\uff08\u30de\u30af\u30a2\u30b1\uff09\n\n\u3068\u3044\u3046\u3053\u3068\u3067\u3068\u308a\u3042\u3048\u305aFujitsu FMV-U8250\u306bUSB-Bluetooth\u30a2\u30c0\u30d7\u30bf\u3092\u63a5\u7d9a\u3057\u3066Bluetooth\u5916\u90e8\u30ad\u30fc\u30dc\u30fc\u30c9\u3068Bluetooth tethering\u306a\u74b0\u5883\u3092\u6574\u3048\u3088\u3046\u3068\u601d\u3063\u305f\u306e\u3067\u3059\u304c\uff0cOS\u3092Devuan jessie\u306b\u3057\u3066Blueman\u3067\u7e4b\u3054\u3046\u3068\u3059\u308b\u3068\uff0c\nConnection Failed: the name org.freedesktop.NetworkManager was not provided by ant .service files\n\u3068\u3044\u3046\u30a8\u30e9\u30fc\u3067\u63a5\u7d9a\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\uff0e NetworkManager\u306b\u4f9d\u5b58\u3057\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0e\n\u3057\u304b\u3057\u3044\u307e\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30de\u30cd\u30fc\u30b8\u30e3\u30fc\u306fWicd\u3067NetworkManager\u306f\u5165\u3063\u3066\u3044\u307e\u305b\u3093\uff0e\u3069\u3046\u306b\u304b\u306a\u3089\u306a\u3044\u304b\u306a\u30fc\u3068Blueman\u306e\u8a2d\u5b9a\u3092\u898b\u308b\u3068\u305d\u308c\u3089\u3057\u3044\u3082\u306e\u3092\u767a\u898b\uff0e\n\nView -> Local Service\nNetwork\u306ePAN Support\u3068DUN Support\u3092\u305d\u308c\u305e\u308cBlueman\u306b\n\n\n\n\n\n\u3053\u308c\u3067NetworkManager\u306e\u306a\u3044\u74b0\u5883\u3067\u3082Bluetooth tethering\u3067\u7e4b\u304c\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f :)\n\u3061\u306a\u307f\u306bX200(9\u30bb\u30eb\u30d0\u30c3\u30c6\u30ea)\u306e\u91cd\u91cf\u306f1.7kg\u8fd1\u304f\uff0cFMV-U8250(\u5927\u5bb9\u91cf\u30d0\u30c3\u30c6\u30ea)\u306f\u3067700g\u8fd1\u304f+\u30ad\u30fc\u30dc\u30fc\u30c9420g\u2026\u2026\uff0e\u4f53\u7a4d\u306f\u7d50\u69cb\u6e1b\u3063\u3066\u308b\u3051\u3069\u6848\u5916\u8efd\u304f\u306a\u3063\u3066\u307e\u305b\u3093\u306d\uff0e\u30ad\u30fc\u30dc\u30fc\u30c9\u304c\u6848\u5916\u91cd\u3044\u3067\u3059\uff0e\u4f7f\u3044\u52dd\u624b\u3082\u5927\u5206\u843d\u3061\u308b\u3057\u5fae\u5999?", "date_published": "2016-12-04T23:33:26+09:00", "date_modified": "2016-12-04T23:35:48+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "blueman", "bluetooth", "Linux", "Devuan", "jessie" ] }, { "id": "http://matoken.org/blog/?p=1466", "url": "https://matoken.org/blog/2016/12/03/markdown-writer-marp-specialized-for-multi-platform-slide-2/", "title": "\u30de\u30eb\u30c1\u30d7\u30e9\u30c3\u30c8\u30db\u30fc\u30e0&\u30b9\u30e9\u30a4\u30c9\u306b\u7279\u5316\u3057\u305fMarkdown Writer\u306eMarp\u3092\u8a66\u3059", "content_html": "

\n

\u6700\u8fd1\u52c9\u5f37\u4f1a\u306e\u767a\u8868\u8cc7\u6599\u306f\u30b9\u30e9\u30a4\u30c9\u306b\u305b\u305a\u306bMarkdown\u3084Asciidoc\u3067\u66f8\u3044\u3066html\u3084pdf\u306b\u66f8\u304d\u51fa\u3057\u3066\u307e\u3057\u305f\uff0e\u3053\u308c\u3092Slideshare\u3068\u304b\u306b\u7f6e\u3044\u3066\u3044\u308b\u306e\u3067\u3059\u304c\uff0c\u30b9\u30e9\u30a4\u30c9\u5f62\u5f0f\u306b\u6bd4\u3079\u3066\u30a2\u30af\u30bb\u30b9\u304c1\u6841\u5c11\u306a\u3044\u3067\u3059\uff0e Markdown\u3067\u30b9\u30e9\u30a4\u30c9\u306b\u3059\u308b\u65b9\u6cd5\u306f\u3044\u308d\u3044\u308d\u3042\u308b\u306e\u3067\u3059\u304c\uff0c1\u30da\u30fc\u30b8\u306e\u5206\u91cf\u304c\u307e\u3061\u307e\u3061\u306b\u306a\u3063\u3066\u306f\u307f\u51fa\u3057\u305f\u308a\u3068\u8a00\u3063\u305f\u3053\u3068\u3092\u3088\u304f\u3084\u3063\u3066\u3057\u307e\u3044\u3042\u307e\u308a\u3064\u304b\u3063\u3066\u3044\u307e\u305b\u3093\u3067\u3057\u305f\uff0e

\n

\u305d\u3093\u306a\u3068\u3053\u308d\u306b\u30d7\u30ec\u30bc\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\u5411\u3051\u306eMarkdown Writer\u304c\u3042\u3063\u305f\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

\n\n

\u30de\u30eb\u30c1\u30d7\u30e9\u30c3\u30c8\u30db\u30fc\u30e0\u3067Electron\u88fd\u3067\u3059\uff0ePDF\u30d5\u30a1\u30a4\u30eb\u3078\u306e\u66f8\u304d\u51fa\u3057\u3082\u53ef\u80fd\u3067\u3059\uff0e

\n

\u96f0\u56f2\u6c17\u306f\u4ee5\u4e0b\u306e\u753b\u50cf\u3067\u3060\u3044\u305f\u3044\u308f\u304b\u308b\u3093\u3058\u3083\u306a\u3044\u304b\u3068\u601d\u3044\u307e\u3059\uff0e

\n
\n\"https://yhatt.github.io/marp/images/marp-cast.gif\"

\n

https://yhatt.github.io/marp/images/marp-cast.gif

\n
\n

\u5de6\u30da\u30a4\u30f3\u3067Markdown\u3092\u66f8\u3044\u3066\u53f3\u30da\u30fc\u30b8\u306b\u30d7\u30ec\u30d3\u30e5\u30fc\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff0e \u30d7\u30ec\u30d3\u30e5\u30fc\u306f3\u7a2e\u985e\u9078\u3079\u307e\u3059\u304c\uff0c"1:1 slide/Slide List"\u306e\u3069\u3061\u3089\u304b\u3060\u3068\u30b9\u30e9\u30a4\u30c9\u5f62\u5f0f\u3067\u30d7\u30ec\u30d3\u30e5\u30fc\u304c\u8868\u793a\u3055\u308c\u308b\u306e\u3067\u30ec\u30a4\u30a2\u30a6\u30c8\u3092\u78ba\u8a8d\u3057\u306a\u304c\u3089\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u3059\uff0e

\n

\u8a66\u3057\u306b\u3061\u3087\u3063\u3068\u66f8\u3044\u3066\u307f\u307e\u3057\u305f\uff0e \u3059\u308b\u3068Marp\u306e\u30d7\u30ec\u30d3\u30e5\u30fc\uff0cEvince\u3067\u306f\u554f\u984c\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\uff0cSlideshare\u306bPDF\u3092\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3059\u308b\u3068\u80cc\u666f\u753b\u50cf\u3084\u30d5\u30c3\u30bf\u30fc\u304c\u4e0a\u4e0b\u53cd\u8ee2\u3057\u3066\u3044\u307e\u3059\u2026\u2026\uff0e \u8a66\u3057\u306bSpekerdeck\u306b\u3082\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u3066\u307f\u307e\u3057\u305f\u304c\u3053\u3061\u3089\u306f\u554f\u984c\u306a\u3057\uff0e \u6050\u3089\u304fSlideshare\u306e\u554f\u984c\u3067\u306f\u306a\u3044\u304b\u3068\u601d\u3044\u307e\u3059\uff0e

\n
\n \u30b9\u30e9\u30a4\u30c9\u7279\u5316\u306eMarkdown writer\u306eMarp\u3092\u8a66\u3059 from Kenichiro MATOHARA\n
\n

Electron\u88fd\u3068\u3044\u3046\u3053\u3068\u3067\u964d\u308bm\u306e\u30de\u30b7\u30f3\u3067\u306f\u91cd\u3044\u304b\u306a\u3068\u601d\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\uff0cCore2Duo\u306e\u30de\u30b7\u30f3\u3067\u3082\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\u304c\u4e00\u6c17\u306b\u30b9\u30af\u30ed\u30fc\u30eb\u3068\u304b\u3057\u306a\u3051\u308c\u3070\u91cd\u304f\u611f\u3058\u308b\u3068\u3053\u308d\u306f\u306a\u304f\u5b9f\u7528\u7bc4\u56f2\u5185\u306b\u611f\u3058\u307e\u3057\u305f\uff0e

\n", "content_text": "\u6700\u8fd1\u52c9\u5f37\u4f1a\u306e\u767a\u8868\u8cc7\u6599\u306f\u30b9\u30e9\u30a4\u30c9\u306b\u305b\u305a\u306bMarkdown\u3084Asciidoc\u3067\u66f8\u3044\u3066html\u3084pdf\u306b\u66f8\u304d\u51fa\u3057\u3066\u307e\u3057\u305f\uff0e\u3053\u308c\u3092Slideshare\u3068\u304b\u306b\u7f6e\u3044\u3066\u3044\u308b\u306e\u3067\u3059\u304c\uff0c\u30b9\u30e9\u30a4\u30c9\u5f62\u5f0f\u306b\u6bd4\u3079\u3066\u30a2\u30af\u30bb\u30b9\u304c1\u6841\u5c11\u306a\u3044\u3067\u3059\uff0e Markdown\u3067\u30b9\u30e9\u30a4\u30c9\u306b\u3059\u308b\u65b9\u6cd5\u306f\u3044\u308d\u3044\u308d\u3042\u308b\u306e\u3067\u3059\u304c\uff0c1\u30da\u30fc\u30b8\u306e\u5206\u91cf\u304c\u307e\u3061\u307e\u3061\u306b\u306a\u3063\u3066\u306f\u307f\u51fa\u3057\u305f\u308a\u3068\u8a00\u3063\u305f\u3053\u3068\u3092\u3088\u304f\u3084\u3063\u3066\u3057\u307e\u3044\u3042\u307e\u308a\u3064\u304b\u3063\u3066\u3044\u307e\u305b\u3093\u3067\u3057\u305f\uff0e\n\u305d\u3093\u306a\u3068\u3053\u308d\u306b\u30d7\u30ec\u30bc\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\u5411\u3051\u306eMarkdown Writer\u304c\u3042\u3063\u305f\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\nMarp – Markdown Presentation Writer\n\n\u30de\u30eb\u30c1\u30d7\u30e9\u30c3\u30c8\u30db\u30fc\u30e0\u3067Electron\u88fd\u3067\u3059\uff0ePDF\u30d5\u30a1\u30a4\u30eb\u3078\u306e\u66f8\u304d\u51fa\u3057\u3082\u53ef\u80fd\u3067\u3059\uff0e\n\u96f0\u56f2\u6c17\u306f\u4ee5\u4e0b\u306e\u753b\u50cf\u3067\u3060\u3044\u305f\u3044\u308f\u304b\u308b\u3093\u3058\u3083\u306a\u3044\u304b\u3068\u601d\u3044\u307e\u3059\uff0e\n\n\nhttps://yhatt.github.io/marp/images/marp-cast.gif\n\n\u5de6\u30da\u30a4\u30f3\u3067Markdown\u3092\u66f8\u3044\u3066\u53f3\u30da\u30fc\u30b8\u306b\u30d7\u30ec\u30d3\u30e5\u30fc\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff0e \u30d7\u30ec\u30d3\u30e5\u30fc\u306f3\u7a2e\u985e\u9078\u3079\u307e\u3059\u304c\uff0c"1:1 slide/Slide List"\u306e\u3069\u3061\u3089\u304b\u3060\u3068\u30b9\u30e9\u30a4\u30c9\u5f62\u5f0f\u3067\u30d7\u30ec\u30d3\u30e5\u30fc\u304c\u8868\u793a\u3055\u308c\u308b\u306e\u3067\u30ec\u30a4\u30a2\u30a6\u30c8\u3092\u78ba\u8a8d\u3057\u306a\u304c\u3089\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u3059\uff0e\n\u8a66\u3057\u306b\u3061\u3087\u3063\u3068\u66f8\u3044\u3066\u307f\u307e\u3057\u305f\uff0e \u3059\u308b\u3068Marp\u306e\u30d7\u30ec\u30d3\u30e5\u30fc\uff0cEvince\u3067\u306f\u554f\u984c\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\uff0cSlideshare\u306bPDF\u3092\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3059\u308b\u3068\u80cc\u666f\u753b\u50cf\u3084\u30d5\u30c3\u30bf\u30fc\u304c\u4e0a\u4e0b\u53cd\u8ee2\u3057\u3066\u3044\u307e\u3059\u2026\u2026\uff0e \u8a66\u3057\u306bSpekerdeck\u306b\u3082\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u3066\u307f\u307e\u3057\u305f\u304c\u3053\u3061\u3089\u306f\u554f\u984c\u306a\u3057\uff0e \u6050\u3089\u304fSlideshare\u306e\u554f\u984c\u3067\u306f\u306a\u3044\u304b\u3068\u601d\u3044\u307e\u3059\uff0e\n\n \u30b9\u30e9\u30a4\u30c9\u7279\u5316\u306eMarkdown writer\u306eMarp\u3092\u8a66\u3059 from Kenichiro MATOHARA\n\nElectron\u88fd\u3068\u3044\u3046\u3053\u3068\u3067\u964d\u308bm\u306e\u30de\u30b7\u30f3\u3067\u306f\u91cd\u3044\u304b\u306a\u3068\u601d\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\uff0cCore2Duo\u306e\u30de\u30b7\u30f3\u3067\u3082\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\u304c\u4e00\u6c17\u306b\u30b9\u30af\u30ed\u30fc\u30eb\u3068\u304b\u3057\u306a\u3051\u308c\u3070\u91cd\u304f\u611f\u3058\u308b\u3068\u3053\u308d\u306f\u306a\u304f\u5b9f\u7528\u7bc4\u56f2\u5185\u306b\u611f\u3058\u307e\u3057\u305f\uff0e", "date_published": "2016-12-03T02:55:22+09:00", "date_modified": "2016-12-03T02:55:22+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "Linux", "Markdown", "Marp", "Debian", "stretch", "testing", "\u52c9\u5f37\u4f1a" ] }, { "id": "http://matoken.org/blog/?p=1466", "url": "https://matoken.org/blog/2016/12/03/markdown-writer-marp-specialized-for-multi-platform-slide/", "title": "\u30de\u30eb\u30c1\u30d7\u30e9\u30c3\u30c8\u30db\u30fc\u30e0&\u30b9\u30e9\u30a4\u30c9\u306b\u7279\u5316\u3057\u305fMarkdown Writer\u306eMarp\u3092\u8a66\u3059", "content_html": "

\n

\u6700\u8fd1\u52c9\u5f37\u4f1a\u306e\u767a\u8868\u8cc7\u6599\u306f\u30b9\u30e9\u30a4\u30c9\u306b\u305b\u305a\u306bMarkdown\u3084Asciidoc\u3067\u66f8\u3044\u3066html\u3084pdf\u306b\u66f8\u304d\u51fa\u3057\u3066\u307e\u3057\u305f\uff0e\u3053\u308c\u3092Slideshare\u3068\u304b\u306b\u7f6e\u3044\u3066\u3044\u308b\u306e\u3067\u3059\u304c\uff0c\u30b9\u30e9\u30a4\u30c9\u5f62\u5f0f\u306b\u6bd4\u3079\u3066\u30a2\u30af\u30bb\u30b9\u304c1\u6841\u5c11\u306a\u3044\u3067\u3059\uff0e Markdown\u3067\u30b9\u30e9\u30a4\u30c9\u306b\u3059\u308b\u65b9\u6cd5\u306f\u3044\u308d\u3044\u308d\u3042\u308b\u306e\u3067\u3059\u304c\uff0c1\u30da\u30fc\u30b8\u306e\u5206\u91cf\u304c\u307e\u3061\u307e\u3061\u306b\u306a\u3063\u3066\u306f\u307f\u51fa\u3057\u305f\u308a\u3068\u8a00\u3063\u305f\u3053\u3068\u3092\u3088\u304f\u3084\u3063\u3066\u3057\u307e\u3044\u3042\u307e\u308a\u3064\u304b\u3063\u3066\u3044\u307e\u305b\u3093\u3067\u3057\u305f\uff0e

\n

\u305d\u3093\u306a\u3068\u3053\u308d\u306b\u30d7\u30ec\u30bc\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\u5411\u3051\u306eMarkdown Writer\u304c\u3042\u3063\u305f\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

\n\n

\u30de\u30eb\u30c1\u30d7\u30e9\u30c3\u30c8\u30db\u30fc\u30e0\u3067Electron\u88fd\u3067\u3059\uff0ePDF\u30d5\u30a1\u30a4\u30eb\u3078\u306e\u66f8\u304d\u51fa\u3057\u3082\u53ef\u80fd\u3067\u3059\uff0e

\n

\u96f0\u56f2\u6c17\u306f\u4ee5\u4e0b\u306e\u753b\u50cf\u3067\u3060\u3044\u305f\u3044\u308f\u304b\u308b\u3093\u3058\u3083\u306a\u3044\u304b\u3068\u601d\u3044\u307e\u3059\uff0e

\n
\n\"https://yhatt.github.io/marp/images/marp-cast.gif\"

\n

https://yhatt.github.io/marp/images/marp-cast.gif

\n
\n

\u5de6\u30da\u30a4\u30f3\u3067Markdown\u3092\u66f8\u3044\u3066\u53f3\u30da\u30fc\u30b8\u306b\u30d7\u30ec\u30d3\u30e5\u30fc\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff0e \u30d7\u30ec\u30d3\u30e5\u30fc\u306f3\u7a2e\u985e\u9078\u3079\u307e\u3059\u304c\uff0c"1:1 slide/Slide List"\u306e\u3069\u3061\u3089\u304b\u3060\u3068\u30b9\u30e9\u30a4\u30c9\u5f62\u5f0f\u3067\u30d7\u30ec\u30d3\u30e5\u30fc\u304c\u8868\u793a\u3055\u308c\u308b\u306e\u3067\u30ec\u30a4\u30a2\u30a6\u30c8\u3092\u78ba\u8a8d\u3057\u306a\u304c\u3089\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u3059\uff0e

\n

\u8a66\u3057\u306b\u3061\u3087\u3063\u3068\u66f8\u3044\u3066\u307f\u307e\u3057\u305f\uff0e \u3059\u308b\u3068Marp\u306e\u30d7\u30ec\u30d3\u30e5\u30fc\uff0cEvince\u3067\u306f\u554f\u984c\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\uff0cSlideshare\u306bPDF\u3092\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3059\u308b\u3068\u80cc\u666f\u753b\u50cf\u3084\u30d5\u30c3\u30bf\u30fc\u304c\u4e0a\u4e0b\u53cd\u8ee2\u3057\u3066\u3044\u307e\u3059\u2026\u2026\uff0e \u8a66\u3057\u306bSpekerdeck\u306b\u3082\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u3066\u307f\u307e\u3057\u305f\u304c\u3053\u3061\u3089\u306f\u554f\u984c\u306a\u3057\uff0e \u6050\u3089\u304fSlideshare\u306e\u554f\u984c\u3067\u306f\u306a\u3044\u304b\u3068\u601d\u3044\u307e\u3059\uff0e

\n

\n
\n \u30b9\u30e9\u30a4\u30c9\u7279\u5316\u306eMarkdown writer\u306eMarp\u3092\u8a66\u3059 from Kenichiro MATOHARA\n
\n

Electron\u88fd\u3068\u3044\u3046\u3053\u3068\u3067\u964d\u308bm\u306e\u30de\u30b7\u30f3\u3067\u306f\u91cd\u3044\u304b\u306a\u3068\u601d\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\uff0cCore2Duo\u306e\u30de\u30b7\u30f3\u3067\u3082\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\u304c\u4e00\u6c17\u306b\u30b9\u30af\u30ed\u30fc\u30eb\u3068\u304b\u3057\u306a\u3051\u308c\u3070\u91cd\u304f\u611f\u3058\u308b\u3068\u3053\u308d\u306f\u306a\u304f\u5b9f\u7528\u7bc4\u56f2\u5185\u306b\u611f\u3058\u307e\u3057\u305f\uff0e

\n", "content_text": "\u6700\u8fd1\u52c9\u5f37\u4f1a\u306e\u767a\u8868\u8cc7\u6599\u306f\u30b9\u30e9\u30a4\u30c9\u306b\u305b\u305a\u306bMarkdown\u3084Asciidoc\u3067\u66f8\u3044\u3066html\u3084pdf\u306b\u66f8\u304d\u51fa\u3057\u3066\u307e\u3057\u305f\uff0e\u3053\u308c\u3092Slideshare\u3068\u304b\u306b\u7f6e\u3044\u3066\u3044\u308b\u306e\u3067\u3059\u304c\uff0c\u30b9\u30e9\u30a4\u30c9\u5f62\u5f0f\u306b\u6bd4\u3079\u3066\u30a2\u30af\u30bb\u30b9\u304c1\u6841\u5c11\u306a\u3044\u3067\u3059\uff0e Markdown\u3067\u30b9\u30e9\u30a4\u30c9\u306b\u3059\u308b\u65b9\u6cd5\u306f\u3044\u308d\u3044\u308d\u3042\u308b\u306e\u3067\u3059\u304c\uff0c1\u30da\u30fc\u30b8\u306e\u5206\u91cf\u304c\u307e\u3061\u307e\u3061\u306b\u306a\u3063\u3066\u306f\u307f\u51fa\u3057\u305f\u308a\u3068\u8a00\u3063\u305f\u3053\u3068\u3092\u3088\u304f\u3084\u3063\u3066\u3057\u307e\u3044\u3042\u307e\u308a\u3064\u304b\u3063\u3066\u3044\u307e\u305b\u3093\u3067\u3057\u305f\uff0e\n\u305d\u3093\u306a\u3068\u3053\u308d\u306b\u30d7\u30ec\u30bc\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\u5411\u3051\u306eMarkdown Writer\u304c\u3042\u3063\u305f\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\nMarp – Markdown Presentation Writer\n\n\u30de\u30eb\u30c1\u30d7\u30e9\u30c3\u30c8\u30db\u30fc\u30e0\u3067Electron\u88fd\u3067\u3059\uff0ePDF\u30d5\u30a1\u30a4\u30eb\u3078\u306e\u66f8\u304d\u51fa\u3057\u3082\u53ef\u80fd\u3067\u3059\uff0e\n\u96f0\u56f2\u6c17\u306f\u4ee5\u4e0b\u306e\u753b\u50cf\u3067\u3060\u3044\u305f\u3044\u308f\u304b\u308b\u3093\u3058\u3083\u306a\u3044\u304b\u3068\u601d\u3044\u307e\u3059\uff0e\n\n\nhttps://yhatt.github.io/marp/images/marp-cast.gif\n\n\u5de6\u30da\u30a4\u30f3\u3067Markdown\u3092\u66f8\u3044\u3066\u53f3\u30da\u30fc\u30b8\u306b\u30d7\u30ec\u30d3\u30e5\u30fc\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff0e \u30d7\u30ec\u30d3\u30e5\u30fc\u306f3\u7a2e\u985e\u9078\u3079\u307e\u3059\u304c\uff0c"1:1 slide/Slide List"\u306e\u3069\u3061\u3089\u304b\u3060\u3068\u30b9\u30e9\u30a4\u30c9\u5f62\u5f0f\u3067\u30d7\u30ec\u30d3\u30e5\u30fc\u304c\u8868\u793a\u3055\u308c\u308b\u306e\u3067\u30ec\u30a4\u30a2\u30a6\u30c8\u3092\u78ba\u8a8d\u3057\u306a\u304c\u3089\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u3059\uff0e\n\u8a66\u3057\u306b\u3061\u3087\u3063\u3068\u66f8\u3044\u3066\u307f\u307e\u3057\u305f\uff0e \u3059\u308b\u3068Marp\u306e\u30d7\u30ec\u30d3\u30e5\u30fc\uff0cEvince\u3067\u306f\u554f\u984c\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\uff0cSlideshare\u306bPDF\u3092\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3059\u308b\u3068\u80cc\u666f\u753b\u50cf\u3084\u30d5\u30c3\u30bf\u30fc\u304c\u4e0a\u4e0b\u53cd\u8ee2\u3057\u3066\u3044\u307e\u3059\u2026\u2026\uff0e \u8a66\u3057\u306bSpekerdeck\u306b\u3082\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u3066\u307f\u307e\u3057\u305f\u304c\u3053\u3061\u3089\u306f\u554f\u984c\u306a\u3057\uff0e \u6050\u3089\u304fSlideshare\u306e\u554f\u984c\u3067\u306f\u306a\u3044\u304b\u3068\u601d\u3044\u307e\u3059\uff0e\n\n\n\n \u30b9\u30e9\u30a4\u30c9\u7279\u5316\u306eMarkdown writer\u306eMarp\u3092\u8a66\u3059 from Kenichiro MATOHARA\n\nElectron\u88fd\u3068\u3044\u3046\u3053\u3068\u3067\u964d\u308bm\u306e\u30de\u30b7\u30f3\u3067\u306f\u91cd\u3044\u304b\u306a\u3068\u601d\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\uff0cCore2Duo\u306e\u30de\u30b7\u30f3\u3067\u3082\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\u304c\u4e00\u6c17\u306b\u30b9\u30af\u30ed\u30fc\u30eb\u3068\u304b\u3057\u306a\u3051\u308c\u3070\u91cd\u304f\u611f\u3058\u308b\u3068\u3053\u308d\u306f\u306a\u304f\u5b9f\u7528\u7bc4\u56f2\u5185\u306b\u611f\u3058\u307e\u3057\u305f\uff0e", "date_published": "2016-12-03T02:55:22+09:00", "date_modified": "2016-12-12T00:38:41+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "Linux", "Markdown", "Marp", "Debian", "stretch", "testing", "\u52c9\u5f37\u4f1a" ] }, { "id": "http://matoken.org/blog/?p=1461", "url": "https://matoken.org/blog/2016/12/03/remote-conference-with-mumble/", "title": "Mumble\u3067\u30ea\u30e2\u30fc\u30c8\u4f1a\u8b70", "content_html": "

\n

\u5148\u9031\u3067\u3059\u304c\uff0cFSIJ \u6708\u4f8b\u4f1a\u306b\u53c2\u52a0\u3057\u3066\u3044\u307e\u3057\u305f\uff0e \u3068\u3044\u3063\u3066\u3082\u6771\u4eac\u306b\u51fa\u3066\u884c\u3063\u305f\u308f\u3051\u3067\u306f\u306a\u304f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u958b\u50ac\u3060\u3063\u305f\u306e\u3067\u5bb6\u304b\u3089\u306e\u53c2\u52a0\u3067\u3059\uff0e

\n\n

\u3068\u3044\u3046\u3053\u3068\u3067Mumble\u3068\u3044\u3046\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3067\u97f3\u58f0\u30c1\u30e3\u30c3\u30c8 + Etherpad(\u30a6\u30a7\u30d6\u30d6\u30e9\u30a6\u30b6\u30d9\u30fc\u30b9)\u3067\u30c6\u30ad\u30b9\u30c8\u4ea4\u63db\u3068\u3044\u3046\u74b0\u5883\u3067\u3057\u305f\uff0e Mumble\u3092\u524d\u3082\u3063\u3066\u8a66\u3057\u3066\u3044\u308c\u3070\u3088\u304b\u3063\u305f\u306e\u3060\u3051\u3069\u76f4\u524d\u306b\u5165\u308c\u3066\u306a\u304b\u306a\u304b\u53c2\u52a0\u3067\u304d\u305a\u9014\u4e2d\u304b\u3089\u306e\u53c2\u52a0\u306b\u306a\u308a\u307e\u3057\u305forz~

\n

Mumble\u306fDebian stretch amd64\u74b0\u5883\u3067\u306f\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u5b58\u5728\u3059\u308b( mumble )\u306e\u3067\u3053\u308c\u3092\u5c0e\u5165\u3059\u308b\u3060\u3051\u3067\u3057\u305f\uff0e\u30de\u30eb\u30c1\u30d7\u30e9\u30c3\u30c8\u30db\u30fc\u30e0\u3067\u5404\u7a2e\u74b0\u5883\u5411\u3051\u306b\u3082\u5b58\u5728\u3057\u3066\uff0cAndroid\u306a\u3069\u3067\u3082\u5229\u7528\u3067\u304d\u308b\u3088\u3046\u3067\u3059\uff0e – Mumble, the open source VoIP solutionPlumble – Mumble VOIP (Free) – Google Play \u306e Android \u30a2\u30d7\u30eaPlumble – Mumble VOIP – Google Play \u306e Android \u30a2\u30d7\u30ea

\n

\u4eca\u56de\u4f7f\u7528\u6a5f\u5668\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u611f\u3058\uff0e\u3067\u3057\u305f\u304c\uff0c\u30b9\u30d4\u30fc\u30ab\u30fc\u306f\u8a66\u884c\u932f\u8aa4\u3057\u3066\u3044\u308b\u6642\u306b\u7e4b\u3044\u3060\u3082\u306e\u3067\u5f8c\u3067\u8a66\u3059\u3068\u672c\u4f53\u306e\u30b9\u30d4\u30fc\u30ab\u30fc\u3067\u5927\u4e08\u592b\u3067\u3057\u305f\uff0e

\n\n

\u3053\u306e\u3068\u304dMumble\u5229\u7528\u6642\u306b\u5d4c\u3063\u305f\u3068\u3053\u308d\u3092\u30e1\u30e2\u3057\u3066\u304a\u304d\u307e\u3059\uff0e – \u30d8\u30c3\u30c9\u30db\u30f3\u3068\u30de\u30a4\u30af\u304c1\u3064\u306e\u7aef\u5b50\u306e\u7aef\u672b\u3067\u30de\u30a4\u30af\u3092\u7e4b\u3050\u3068\u30d8\u30c3\u30c9\u30db\u30f3\u3082\u305d\u3061\u3089\u3092\u5411\u3044\u3066\u3057\u307e\u3063\u3066\u97f3\u304c\u51fa\u306a\u304b\u3063\u305f – Bluetoth\u30d8\u30c3\u30c9\u30bb\u30c3\u30c8\u3092\u7e4b\u3050\u3068\u305d\u3061\u3089\u304b\u3089\u97f3\u304c\u51fa\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u304c\u30de\u30a4\u30af\u304c\u3046\u307e\u304f\u50cd\u304b\u306a\u3044 – PulseAudio Volume Control (pavucontrol)\u3067\u898b\u308b\u3068\u30de\u30a4\u30af\u304c\u30df\u30e5\u30fc\u30c8\u306b\u306a\u3063\u3066\u3044\u305f\u306e\u3067\u89e3\u9664\u3057\u3066Mumble\u306b\u5272\u308a\u5f53\u3066 – \u4f1d\u9001\u65b9\u5f0f\u3092"push to talk"\u306b\u3057\u305f\u304cpush\u304c\u308f\u304b\u3089\u306a\u304b\u3063\u305f -> \u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8\u3067\u9069\u5f53\u306a\u30ad\u30fc\u306b\u5272\u308a\u5f53\u3066(Mumble\u975e\u30a2\u30af\u30c6\u30a3\u30d6\u6642\u3082\u6709\u52b9)

\n\n

\u6700\u8fd1\u306fUstream.tv/Youtube Live\u306a\u3069\u306e\u52d5\u753b\u914d\u4fe1\u3084\ufeffBBB(BigBlueButton)\u306a\u3069\u306e\u52d5\u753b\u3092\u4f7f\u3063\u305f\u30aa\u30f3\u30e9\u30a4\u30f3\u4f1a\u8b70\u30b7\u30b9\u30c6\u30e0\u306a\u3069\u3067\u4e2d\u7d99\u3068\u3044\u3046\u3053\u3068\u304c\u591a\u3044\u3067\u3059\u304c\uff0c\u624b\u5f01\u5f53\u306e\u52c9\u5f37\u4f1a\u306a\u3093\u304b\u3060\u3068\u56de\u7dda\u306a\u3069\u306e\u554f\u984c\u3067\u3046\u307e\u304f\u884c\u304b\u306a\u304b\u3063\u305f\u308a\u3059\u308b\u3053\u3068\u304c\u591a\u3044\u3067\u3059\u304c\u5272\u308a\u5207\u3063\u3066\u97f3\u58f0\u306e\u307f\u306e\u4e2d\u7d99\u306b\u3057\u3066\u3057\u307e\u3046\u306e\u3082\u3042\u308a\u3060\u306a\u3068\u611f\u3058\u307e\u3057\u305f\uff0e

\n

\u6700\u8fd1\u30ea\u30e2\u30fc\u30c8\u53c2\u52a0\u3057\u305f\u52c9\u5f37\u4f1a

\n\n", "content_text": "\u5148\u9031\u3067\u3059\u304c\uff0cFSIJ \u6708\u4f8b\u4f1a\u306b\u53c2\u52a0\u3057\u3066\u3044\u307e\u3057\u305f\uff0e \u3068\u3044\u3063\u3066\u3082\u6771\u4eac\u306b\u51fa\u3066\u884c\u3063\u305f\u308f\u3051\u3067\u306f\u306a\u304f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u958b\u50ac\u3060\u3063\u305f\u306e\u3067\u5bb6\u304b\u3089\u306e\u53c2\u52a0\u3067\u3059\uff0e\n\n11\u6708\u306e\u6280\u8853\u8b1b\u5ea7\n\n"\u30c6\u30fc\u30de: Mumble \u3068 Etherpad \u3067\u4f1a\u8b70\u3092\u3057\u3088\u3046"\n\n\n\n\u3068\u3044\u3046\u3053\u3068\u3067Mumble\u3068\u3044\u3046\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3067\u97f3\u58f0\u30c1\u30e3\u30c3\u30c8 + Etherpad(\u30a6\u30a7\u30d6\u30d6\u30e9\u30a6\u30b6\u30d9\u30fc\u30b9)\u3067\u30c6\u30ad\u30b9\u30c8\u4ea4\u63db\u3068\u3044\u3046\u74b0\u5883\u3067\u3057\u305f\uff0e Mumble\u3092\u524d\u3082\u3063\u3066\u8a66\u3057\u3066\u3044\u308c\u3070\u3088\u304b\u3063\u305f\u306e\u3060\u3051\u3069\u76f4\u524d\u306b\u5165\u308c\u3066\u306a\u304b\u306a\u304b\u53c2\u52a0\u3067\u304d\u305a\u9014\u4e2d\u304b\u3089\u306e\u53c2\u52a0\u306b\u306a\u308a\u307e\u3057\u305forz~\nMumble\u306fDebian stretch amd64\u74b0\u5883\u3067\u306f\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u5b58\u5728\u3059\u308b( mumble )\u306e\u3067\u3053\u308c\u3092\u5c0e\u5165\u3059\u308b\u3060\u3051\u3067\u3057\u305f\uff0e\u30de\u30eb\u30c1\u30d7\u30e9\u30c3\u30c8\u30db\u30fc\u30e0\u3067\u5404\u7a2e\u74b0\u5883\u5411\u3051\u306b\u3082\u5b58\u5728\u3057\u3066\uff0cAndroid\u306a\u3069\u3067\u3082\u5229\u7528\u3067\u304d\u308b\u3088\u3046\u3067\u3059\uff0e – Mumble, the open source VoIP solution – Plumble – Mumble VOIP (Free) – Google Play \u306e Android \u30a2\u30d7\u30ea – Plumble – Mumble VOIP – Google Play \u306e Android \u30a2\u30d7\u30ea\n\u4eca\u56de\u4f7f\u7528\u6a5f\u5668\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u611f\u3058\uff0e\u3067\u3057\u305f\u304c\uff0c\u30b9\u30d4\u30fc\u30ab\u30fc\u306f\u8a66\u884c\u932f\u8aa4\u3057\u3066\u3044\u308b\u6642\u306b\u7e4b\u3044\u3060\u3082\u306e\u3067\u5f8c\u3067\u8a66\u3059\u3068\u672c\u4f53\u306e\u30b9\u30d4\u30fc\u30ab\u30fc\u3067\u5927\u4e08\u592b\u3067\u3057\u305f\uff0e\n\nPC : Thinkpad X220(Debian stretch amd64)\n\u30de\u30a4\u30af : 3.5mm\u30b8\u30e3\u30c3\u30af\u306b\u76f4\u63a5\u633f\u305b\u308b\u3082\u306e(\u578b\u756a\u4e0d\u660e)\n\u30b9\u30d4\u30fc\u30ab\u30fc : ELECOM LBT-SPTR01AV(Bluetooth)\n\n\u3053\u306e\u3068\u304dMumble\u5229\u7528\u6642\u306b\u5d4c\u3063\u305f\u3068\u3053\u308d\u3092\u30e1\u30e2\u3057\u3066\u304a\u304d\u307e\u3059\uff0e – \u30d8\u30c3\u30c9\u30db\u30f3\u3068\u30de\u30a4\u30af\u304c1\u3064\u306e\u7aef\u5b50\u306e\u7aef\u672b\u3067\u30de\u30a4\u30af\u3092\u7e4b\u3050\u3068\u30d8\u30c3\u30c9\u30db\u30f3\u3082\u305d\u3061\u3089\u3092\u5411\u3044\u3066\u3057\u307e\u3063\u3066\u97f3\u304c\u51fa\u306a\u304b\u3063\u305f – Bluetoth\u30d8\u30c3\u30c9\u30bb\u30c3\u30c8\u3092\u7e4b\u3050\u3068\u305d\u3061\u3089\u304b\u3089\u97f3\u304c\u51fa\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u304c\u30de\u30a4\u30af\u304c\u3046\u307e\u304f\u50cd\u304b\u306a\u3044 – PulseAudio Volume Control (pavucontrol)\u3067\u898b\u308b\u3068\u30de\u30a4\u30af\u304c\u30df\u30e5\u30fc\u30c8\u306b\u306a\u3063\u3066\u3044\u305f\u306e\u3067\u89e3\u9664\u3057\u3066Mumble\u306b\u5272\u308a\u5f53\u3066 – \u4f1d\u9001\u65b9\u5f0f\u3092"push to talk"\u306b\u3057\u305f\u304cpush\u304c\u308f\u304b\u3089\u306a\u304b\u3063\u305f -> \u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8\u3067\u9069\u5f53\u306a\u30ad\u30fc\u306b\u5272\u308a\u5f53\u3066(Mumble\u975e\u30a2\u30af\u30c6\u30a3\u30d6\u6642\u3082\u6709\u52b9)\n\n\u305d\u306e\u4ed6\n\nAwesome WM\u74b0\u5883\u3067\u306fMumble\u304c\u6700\u5c0f\u5316\u3057\u3066\u3057\u307e\u3046\u3068\u7a93\u3092\u5fa9\u5e30\u3055\u305b\u308b\u65b9\u6cd5\u304c\u4eca\u306e\u3068\u3053\u308d\u308f\u304b\u3089\u306a\u3044\uff0e\u30bf\u30b9\u30af\u30c8\u30ec\u30a4\u306e\u30a2\u30a4\u30b3\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u3082\u51fa\u3066\u3053\u306a\u3044\uff0e(Xfce4\u306f\u30a2\u30a4\u30b3\u30f3\u30af\u30ea\u30c3\u30af\u3067\u51fa\u3066\u304f\u308b\u3088\u3046)\n\u4e00\u56de\u8a2d\u5b9a\u3067\u304d\u308c\u3070\u30d5\u30a9\u30fc\u30ab\u30b9\u304c\u306a\u304f\u3066\u3082\u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8\u304c\u52b9\u3044\u3066\u8a71\u305b\u308b\u306e\u3067\u3068\u308a\u3042\u3048\u305a\u4f7f\u3048\u308b\u3051\u3069\u30c1\u30e3\u30c3\u30c8\u3068\u8ab0\u304c\u8a71\u3057\u3066\u3044\u308b\u304b\u306e\u30a2\u30a4\u30b3\u30f3\u306e\u78ba\u8a8d(\u5507\u30a2\u30a4\u30b3\u30f3\u304c\u8d64\u304f\u306a\u308b)\u304c\u51fa\u6765\u306a\u3044(\u30aa\u30fc\u30d0\u30fc\u30ec\u30a4\u306e\u8a2d\u5b9a\u3067\u3069\u3046\u306b\u304b\u306a\u308a\u305d\u3046?)\n\u30a2\u30a4\u30b3\u30f3\u3092\u53f3\u30af\u30ea\u30c3\u30af\u3057\u3066\u305d\u306e\u307e\u307e\u96e2\u3059\u3068\u4e01\u5ea6\u7d42\u4e86\u306b\u306a\u3063\u3066\u3057\u307e\u3046\u2026\u2026\uff0e\nMumble\u306e\u97f3\u58f0\u54c1\u8cea\u306f16kbps/40kbps/72kbps\u304b\u3089\u9078\u629e\u53ef\u80fd(\u898f\u5b9a\u5024\u306f40k)\npush to talk\u3092\u4f7f\u3046\u3068\u305d\u306e\u6642\u3057\u304b\u97f3\u58f0\u304c\u98db\u3070\u306a\u3044\u306e\u3067\u5468\u308a\u306e\u74b0\u5883\u306b\u5de6\u53f3\u3055\u308c\u306b\u304f\u304f\u3066\u826f\u3044(\u30ad\u30fc\u5165\u529b\u306e\u97f3\u3084\u74b0\u5883\u97f3\u304c\u5165\u308a\u306b\u304f\u3044)\n\n\n\n\u6700\u8fd1\u306fUstream.tv/Youtube Live\u306a\u3069\u306e\u52d5\u753b\u914d\u4fe1\u3084\ufeffBBB(BigBlueButton)\u306a\u3069\u306e\u52d5\u753b\u3092\u4f7f\u3063\u305f\u30aa\u30f3\u30e9\u30a4\u30f3\u4f1a\u8b70\u30b7\u30b9\u30c6\u30e0\u306a\u3069\u3067\u4e2d\u7d99\u3068\u3044\u3046\u3053\u3068\u304c\u591a\u3044\u3067\u3059\u304c\uff0c\u624b\u5f01\u5f53\u306e\u52c9\u5f37\u4f1a\u306a\u3093\u304b\u3060\u3068\u56de\u7dda\u306a\u3069\u306e\u554f\u984c\u3067\u3046\u307e\u304f\u884c\u304b\u306a\u304b\u3063\u305f\u308a\u3059\u308b\u3053\u3068\u304c\u591a\u3044\u3067\u3059\u304c\u5272\u308a\u5207\u3063\u3066\u97f3\u58f0\u306e\u307f\u306e\u4e2d\u7d99\u306b\u3057\u3066\u3057\u307e\u3046\u306e\u3082\u3042\u308a\u3060\u306a\u3068\u611f\u3058\u307e\u3057\u305f\uff0e\n\u6700\u8fd1\u30ea\u30e2\u30fc\u30c8\u53c2\u52a0\u3057\u305f\u52c9\u5f37\u4f1a\n\nFreeBSD\u30ef\u30fc\u30af\u30b7\u30e7\u30c3\u30d7 – connpass\n\n\u30e9\u30a4\u30d6\u52d5\u753b\u3067\u53c2\u52a0\u53ef\u80fd\uff0c\u30b3\u30e1\u30f3\u30c8\u306fTwitter\u7d4c\u7531\n\n\n\u65e5\u672cAndroid\u306e\u4f1a\u79cb\u8449\u539f\u652f\u90e8\u30ed\u30dc\u30c3\u30c8\u90e8\n\n\ufeffBBB(BigBlueButton)\u3067\u9060\u9694\u53c2\u52a0\u3067\u304d\u308b\u3053\u3068\u304c\u3042\u308b(site\u306f\u30e1\u30f3\u30c6\u3055\u308c\u3066\u3044\u306a\u3044\u3051\u3069ML\u3067\u30a2\u30ca\u30a6\u30f3\u30b9\u3055\u308c\u3066\u3044\u308b)", "date_published": "2016-12-03T01:53:14+09:00", "date_modified": "2016-12-03T03:25:34+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "Debian", "Linux", "Mumble", "stretch", "testing" ] } ] }