{ "version": "https://jsonfeed.org/version/1.1", "user_comment": "This feed allows you to read the posts from this site in any feed reader that supports the JSON Feed format. To add this feed to your reader, copy the following URL -- https://matoken.org/blog/category/%e9%9b%bb%e5%ad%90%e5%b7%a5%e4%bd%9c/raspberry-pi/feed/json/ -- and add it your reader.", "next_url": "https://matoken.org/blog/category/%e9%9b%bb%e5%ad%90%e5%b7%a5%e4%bd%9c/raspberry-pi/feed/json/?paged=2", "home_page_url": "https://matoken.org/blog/category/%e9%9b%bb%e5%ad%90%e5%b7%a5%e4%bd%9c/raspberry-pi/", "feed_url": "https://matoken.org/blog/category/%e9%9b%bb%e5%ad%90%e5%b7%a5%e4%bd%9c/raspberry-pi/feed/json/", "language": "ja", "title": "Raspberry Pi – 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=5067", "url": "https://matoken.org/blog/2025/12/22/flyover/", "title": "bash script\u306eflyover\u3067\u6307\u5b9a\u7b87\u6240\u306e\u822a\u7a7a\u6a5f\u60c5\u5831\u3092\u8868\u793a", "content_html": "

\n
\n

flyover \u306f\u5f15\u6570\u3067\u6307\u5b9a\u3057\u305f\u5834\u6240(\u5730\u540d\u3084\u5ea7\u6a19\u3067\u6307\u5b9a\u53ef\u80fd)\u306e(\u4e3b\u306b)\u822a\u7a7a\u6a5f\u306e\u60c5\u5831\u3092flightradar24 \u304b\u3089\u53d6\u5f97\u3057\u3066\u8868\u793a\u3057\u3066\u304f\u308c\u308bbash script \u3067\u3059\uff0e

\n
\n
\n\n
\n

\n
\n

\u307e\u305a\u306f\u4f9d\u5b58\u95a2\u4fc2\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u5c0e\u5165\u3057\u307e\u3059\uff0e

\n
\n
\n
\n
\n

## Dependencies
\n– curl jq
\n– notify-send: (optional)

\n
\n
\n

In a Debian-like distro, these can be installed with:

\n
\n
\n
\n
sudo apt install curl jq libnotify-bin
\n
\n
\n
\n
\n— README.md\u3088\u308a\n
\n
\n
\n
\n
$ sudo apt install curl jq libnotify-bin
\n
\n
\n
\n\n\n\n\n\n
\n
Note
\n
\n\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u901a\u77e5\u3092\u5229\u7528\u3057\u306a\u3044\u5834\u5408\u306f libnotify-bin \u306f\u4e0d\u8981\n
\n
\n
\n

bash script \u306a\u306e\u3067script \u3092\u8cb0\u3063\u3066\u304d\u3066bash \u306b\u6e21\u305b\u3070\u52d5\u304d\u307e\u3059\uff0e

\n
\n
\n
\n
$ wget https://github.com/pvonmoradi/flyover-bash/raw/refs/heads/master/flyover\n$ bash ./flyover -h\nDESCRIPTION\n    A simple client for flightradar24.com. Shows info of aircrafts flying\n    overhead in a [latitude \u00b1 \u03b4, longitude \u00b1 \u03b4] vicinity\n\nUSAGE: flyover [OPTIONS]\nOPTIONS\n      [-s search_str]\n        Search for city/region/place\n        Use quotes for multi-word queries\n      [-y latitude]\n        Negative for south of equator and positive for north of equator\n        Range: -90 <= latitude[float] <= +90\n      [-x longitude]\n        Negative for west of Prime Meridian and positive for east of Prime Meridian\n        Range: -180 <= longitude[float] <= +180\n      [-b bounds]\n        Geographic bounds of the region of interest\n        Format (comma-separated): \"lat1,lon1,lat2,lon2\"\n      [-i flight_ids]\n        flightradar24 flight_ids as a comma-separated list\n        In this mode, only the corresponding flight details are queried\n        Note: id is flightradar24's internal id (not ICAO or other standards)\n        Format example: \"id1,id2,id3\"\n      [-r delta_deg]\n        \u03b4 in degrees in scan square : [latitude \u00b1 \u03b4, longitude \u00b1 \u03b4]\n        Note: 1\u00b0 of latitude \u2248 111 km\n        Range: r[float] > 0\n      [-o /path/to/detailed_flights]\n        Set output path for detailed info of flights (json array)\n        (implies 'detailed' mode)\n      [-n]\n        Use notification (implies 'detailed' mode)\n      [-f]\n        Set mode to 'brief', only print an augmented json\n      [-v log_level]\n        v = 0 : No logs. Equivalent to -q\n        v = 1 : Set level to error\n        v = 2 : Set level to warn\n        v = 3 : Set level to info (default)\n        v = 4 : Set level to debug\n      [-q]\n        Set log level to v = 0\n      [-V]\n        Print version\n      [-h]\n        Print help message\n\nNOTES\n    - latitude/longitude should be input in decimal degrees (not DMS)\n    - Either use -s (geolocation service) OR (-y,-x) but NOT both\n    - Default mode of operation is 'detailed'\n\nEXAMPLES\n    flyover -s \"deylaman\" -r 2\n    flyover -s \"\u0642\u0644\u0639\u0647 \u06af\u0628\u0631\u06cc\" -r 0.5 -n -v4\n    flyover -y \"-27.115\" -x \"-109.395\" -r 24.15 -o /tmp/detailed.json\n    flyover -s \"\u6df1\u5733\" -qf\n    flyover -i \"2b1abd2f,2b1cae23\"\n    flyover -b \"43.58,58.72,46.58,61.72\"
\n
\n
\n
\n

\u3068\u308a\u3042\u3048\u305ahelp \u306e\u4e0b\u90e8\u306b\u66f8\u304b\u308c\u3066\u3044\u308bEXAMPLES \u3092\u771f\u4f3c\u3057\u3066\u307f\u307e\u3059\uff0e

\n
\n
\n
\n
$ bash ./flyover -s \"tokyo\" -r 2\n[info ] Match found: \"\u6771\u4eac\u90fd, \u65e5\u672c\"\n[info ] 'tokyo' WGS84 coordinates at latitude=35.6768601, longitude=139.7638947\n./flyover: line 264: bc: command not found\n[error] Problem in generating bounds. Check -h
\n
\n
\n
\n

\u304c\uff0c\u5931\u6557\u3057\u307e\u3057\u305f\uff0e bc \u30b3\u30de\u30f3\u30c9\u304c\u8db3\u308a\u306a\u3044\u3088\u3046\u3067\u3059\uff0e
\nbc \u30b3\u30de\u30f3\u30c9\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u63a2\u3057\u3066\u5c0e\u5165\u3057\u305f\u3089\u52d5\u304f\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\uff0e

\n
\n
\n
\n
$ apt-file search -x bin/bc$\n9base: /usr/lib/plan9/bin/bc\nbc: /usr/bin/bc\n$ sudo apt install bc\n$ bash ./flyover -s \"tokyo\" -r 2\n[info ] Match found: \"\u6771\u4eac\u90fd, \u65e5\u672c\"\n[info ] 'tokyo' WGS84 coordinates at latitude=35.6768601, longitude=139.7638947\n[info ] Scan region for \u03b4=2\u00b0: 37.676860,33.676860,137.763895,141.763895\n\u2014\u2014\u2014\u2014\u2014\u2014\u2014\nAir Canada, AC1/ACA1\n✈ Boeing 777-333(ER)\n↗ Canada, Toronto\n↘ Japan, Tokyo\n📅 Landed 20:29\n📏 0km, 9km/h\nhttps://www.flightradar24.com/ACA1/3d9afc99\n\u2014\u2014\u2014\u2014\u2014\u2014\u2014\nChina Airlines, CI35/CAL035\n✈ Airbus A350-941\n↗ United States, Phoenix\n↘ Taiwan, Taipei\n📅 Delayed 22:47\n📏 12km, 664km/h\nhttps://www.flightradar24.com/CAL035/3d9b45e8\n\u2014\u2014\u2014\u2014\u2014\u2014\u2014\nQantas, QF59/QFA59\n✈ Airbus A330-303\n↗ Australia, Sydney\n↘ Japan, Tokyo\n📅 Delayed 20:41\n📏 1km, 494km/h\nhttps://www.flightradar24.com/QFA59/3d9b996e\n^C
\n
\n
\n
\n

README.md \u3092\u4fee\u6b63\u3057\u305f\u307b\u3046\u304c\u826f\u3055\u305d\u3046\uff0e

\n
\n
\n
\n
$ git diff\ndiff --git a/README.md b/README.md\nindex cf34873..1847e02 100644\n--- a/README.md\n+++ b/README.md\n@@ -16,13 +16,13 @@ latitude/longitude and \u03b4.\n\n\n ## Dependencies\n-- `curl jq`\n+- `curl jq bc`\n - `notify-send`: (optional)\n\n In a Debian-like distro, these can be installed with:\n\n ``` shell\n-sudo apt install curl jq libnotify-bin\n+sudo apt install curl jq bc libnotify-bin\n ```\n\n ## Usage
\n
\n
\n
\n

-n \u306e\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u901a\u77e5\u3082\u8a66\u3057\u3066\u307f\u308b\u3068\u3053\u3093\u306a\u611f\u3058\u3067\u51fa\u3066\u304d\u307e\u3059\uff0e

\n
\n
\n

\"flyover

\n
\n
\n

\u5e38\u99d0\u3057\u3066\u6307\u5b9a\u7bc4\u56f2\u5185\u306b\u822a\u7a7a\u6a5f\u304c\u73fe\u308c\u305f\u3089notify \u304c\u51fa\u305b\u305f\u308a\u3059\u308b\u3068\u4fbf\u5229\u305d\u3046\u3067\u3059\u304c\u305d\u3046\u3044\u3046\u6a5f\u80fd\u306f\u7121\u3055\u305d\u3046\u3067\u3059\uff0e

\n
\n
\n

\u81ea\u5206\u306e\u5bb6\u306e\u3042\u305f\u308a\u306f\u4e0a\u7a7a\u3092\u305f\u304f\u3055\u3093\u306e\u98db\u884c\u6a5f\u304c\u901a\u308a\uff0c\u591c\u9593\u5e2f\u306a\u3069\u306f\u822a\u7a7a\u6a5f\u304c\u901a\u308b\u97f3\u304c\u3088\u304f\u805e\u3053\u3048\u307e\u3059\uff0e\u305d\u3046\u3044\u3046\u3068\u304d\u306b\u3053\u306e\u30b3\u30de\u30f3\u30c9\u3092\u53e9\u304f\u3068\u4f55\u304c\u98db\u3093\u3067\u3044\u308b\u304b\u308f\u304b\u3063\u3066\u697d\u3057\u305d\u3046\u3067\u3059\uff0e(\u81ea\u885b\u968a\u6a5f\u3082\u3088\u304f\u901a\u308a\u307e\u3059\u304c\u3053\u308c\u3089\u306ffr24\u306b\u8f09\u3089\u306a\u3044\u306e\u3067\u3042\u307e\u308a\u9762\u767d\u304f\u306a\u3044\u2026\u2026)

\n
\n
\n
\u74b0\u5883
\n
\n
$ dpkg-query -W bash curl jq bc libnotify-bin\nbash    5.2.15-2+b9\nbc      1.07.1-3\ncurl    7.88.1-10+rpi1+deb12u14\njq      1.6-2.1+deb12u1\nlibnotify-bin   0.8.1-1\n$ lsb_release -dr\nNo LSB modules are available.\nDescription:    Raspbian GNU/Linux 12 (bookworm)\nRelease:        12\n$ arch\narmv7l
\n
\n
\n

\n
Post by @matoken
\n
View on Mastodon
\n

\n

\n", "content_text": "flyover \u306f\u5f15\u6570\u3067\u6307\u5b9a\u3057\u305f\u5834\u6240(\u5730\u540d\u3084\u5ea7\u6a19\u3067\u6307\u5b9a\u53ef\u80fd)\u306e(\u4e3b\u306b)\u822a\u7a7a\u6a5f\u306e\u60c5\u5831\u3092flightradar24 \u304b\u3089\u53d6\u5f97\u3057\u3066\u8868\u793a\u3057\u3066\u304f\u308c\u308bbash script \u3067\u3059\uff0e\n\n\n\n\npvonmoradi/flyover-bash: A shell-script client for flightradar24.com, showing info of aircrafts flying overhead in a [latitude \u00b1 \u03b4, longitude \u00b1 \u03b4] vicinity\n\n\n\n\n\n\u307e\u305a\u306f\u4f9d\u5b58\u95a2\u4fc2\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u5c0e\u5165\u3057\u307e\u3059\uff0e\n\n\n\n\n## Dependencies\n– curl jq\n– notify-send: (optional)\n\n\nIn a Debian-like distro, these can be installed with:\n\n\n\nsudo apt install curl jq libnotify-bin\n\n\n\n\n— README.md\u3088\u308a\n\n\n\n\n$ sudo apt install curl jq libnotify-bin\n\n\n\n\n\n\nNote\n\n\n\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u901a\u77e5\u3092\u5229\u7528\u3057\u306a\u3044\u5834\u5408\u306f libnotify-bin \u306f\u4e0d\u8981\n\n\n\n\n\nbash script \u306a\u306e\u3067script \u3092\u8cb0\u3063\u3066\u304d\u3066bash \u306b\u6e21\u305b\u3070\u52d5\u304d\u307e\u3059\uff0e\n\n\n\n$ wget https://github.com/pvonmoradi/flyover-bash/raw/refs/heads/master/flyover\n$ bash ./flyover -h\nDESCRIPTION\n A simple client for flightradar24.com. Shows info of aircrafts flying\n overhead in a [latitude \u00b1 \u03b4, longitude \u00b1 \u03b4] vicinity\n\nUSAGE: flyover [OPTIONS]\nOPTIONS\n [-s search_str]\n Search for city/region/place\n Use quotes for multi-word queries\n [-y latitude]\n Negative for south of equator and positive for north of equator\n Range: -90 <= latitude[float] <= +90\n [-x longitude]\n Negative for west of Prime Meridian and positive for east of Prime Meridian\n Range: -180 <= longitude[float] <= +180\n [-b bounds]\n Geographic bounds of the region of interest\n Format (comma-separated): \"lat1,lon1,lat2,lon2\"\n [-i flight_ids]\n flightradar24 flight_ids as a comma-separated list\n In this mode, only the corresponding flight details are queried\n Note: id is flightradar24's internal id (not ICAO or other standards)\n Format example: \"id1,id2,id3\"\n [-r delta_deg]\n \u03b4 in degrees in scan square : [latitude \u00b1 \u03b4, longitude \u00b1 \u03b4]\n Note: 1\u00b0 of latitude \u2248 111 km\n Range: r[float] > 0\n [-o /path/to/detailed_flights]\n Set output path for detailed info of flights (json array)\n (implies 'detailed' mode)\n [-n]\n Use notification (implies 'detailed' mode)\n [-f]\n Set mode to 'brief', only print an augmented json\n [-v log_level]\n v = 0 : No logs. Equivalent to -q\n v = 1 : Set level to error\n v = 2 : Set level to warn\n v = 3 : Set level to info (default)\n v = 4 : Set level to debug\n [-q]\n Set log level to v = 0\n [-V]\n Print version\n [-h]\n Print help message\n\nNOTES\n - latitude/longitude should be input in decimal degrees (not DMS)\n - Either use -s (geolocation service) OR (-y,-x) but NOT both\n - Default mode of operation is 'detailed'\n\nEXAMPLES\n flyover -s \"deylaman\" -r 2\n flyover -s \"\u0642\u0644\u0639\u0647 \u06af\u0628\u0631\u06cc\" -r 0.5 -n -v4\n flyover -y \"-27.115\" -x \"-109.395\" -r 24.15 -o /tmp/detailed.json\n flyover -s \"\u6df1\u5733\" -qf\n flyover -i \"2b1abd2f,2b1cae23\"\n flyover -b \"43.58,58.72,46.58,61.72\"\n\n\n\n\u3068\u308a\u3042\u3048\u305ahelp \u306e\u4e0b\u90e8\u306b\u66f8\u304b\u308c\u3066\u3044\u308bEXAMPLES \u3092\u771f\u4f3c\u3057\u3066\u307f\u307e\u3059\uff0e\n\n\n\n$ bash ./flyover -s \"tokyo\" -r 2\n[info ] Match found: \"\u6771\u4eac\u90fd, \u65e5\u672c\"\n[info ] 'tokyo' WGS84 coordinates at latitude=35.6768601, longitude=139.7638947\n./flyover: line 264: bc: command not found\n[error] Problem in generating bounds. Check -h\n\n\n\n\u304c\uff0c\u5931\u6557\u3057\u307e\u3057\u305f\uff0e bc \u30b3\u30de\u30f3\u30c9\u304c\u8db3\u308a\u306a\u3044\u3088\u3046\u3067\u3059\uff0e\nbc \u30b3\u30de\u30f3\u30c9\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u63a2\u3057\u3066\u5c0e\u5165\u3057\u305f\u3089\u52d5\u304f\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\uff0e\n\n\n\n$ apt-file search -x bin/bc$\n9base: /usr/lib/plan9/bin/bc\nbc: /usr/bin/bc\n$ sudo apt install bc\n$ bash ./flyover -s \"tokyo\" -r 2\n[info ] Match found: \"\u6771\u4eac\u90fd, \u65e5\u672c\"\n[info ] 'tokyo' WGS84 coordinates at latitude=35.6768601, longitude=139.7638947\n[info ] Scan region for \u03b4=2\u00b0: 37.676860,33.676860,137.763895,141.763895\n\u2014\u2014\u2014\u2014\u2014\u2014\u2014\nAir Canada, AC1/ACA1\n✈ Boeing 777-333(ER)\n↗ Canada, Toronto\n↘ Japan, Tokyo\n📅 Landed 20:29\n📏 0km, 9km/h\nhttps://www.flightradar24.com/ACA1/3d9afc99\n\u2014\u2014\u2014\u2014\u2014\u2014\u2014\nChina Airlines, CI35/CAL035\n✈ Airbus A350-941\n↗ United States, Phoenix\n↘ Taiwan, Taipei\n📅 Delayed 22:47\n📏 12km, 664km/h\nhttps://www.flightradar24.com/CAL035/3d9b45e8\n\u2014\u2014\u2014\u2014\u2014\u2014\u2014\nQantas, QF59/QFA59\n✈ Airbus A330-303\n↗ Australia, Sydney\n↘ Japan, Tokyo\n📅 Delayed 20:41\n📏 1km, 494km/h\nhttps://www.flightradar24.com/QFA59/3d9b996e\n^C\n\n\n\nREADME.md \u3092\u4fee\u6b63\u3057\u305f\u307b\u3046\u304c\u826f\u3055\u305d\u3046\uff0e\n\n\n\n$ git diff\ndiff --git a/README.md b/README.md\nindex cf34873..1847e02 100644\n--- a/README.md\n+++ b/README.md\n@@ -16,13 +16,13 @@ latitude/longitude and \u03b4.\n\n\n ## Dependencies\n-- `curl jq`\n+- `curl jq bc`\n - `notify-send`: (optional)\n\n In a Debian-like distro, these can be installed with:\n\n ``` shell\n-sudo apt install curl jq libnotify-bin\n+sudo apt install curl jq bc libnotify-bin\n ```\n\n ## Usage\n\n\n\n-n \u306e\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u901a\u77e5\u3082\u8a66\u3057\u3066\u307f\u308b\u3068\u3053\u3093\u306a\u611f\u3058\u3067\u51fa\u3066\u304d\u307e\u3059\uff0e\n\n\n\n\n\n\u5e38\u99d0\u3057\u3066\u6307\u5b9a\u7bc4\u56f2\u5185\u306b\u822a\u7a7a\u6a5f\u304c\u73fe\u308c\u305f\u3089notify \u304c\u51fa\u305b\u305f\u308a\u3059\u308b\u3068\u4fbf\u5229\u305d\u3046\u3067\u3059\u304c\u305d\u3046\u3044\u3046\u6a5f\u80fd\u306f\u7121\u3055\u305d\u3046\u3067\u3059\uff0e\n\n\n\u81ea\u5206\u306e\u5bb6\u306e\u3042\u305f\u308a\u306f\u4e0a\u7a7a\u3092\u305f\u304f\u3055\u3093\u306e\u98db\u884c\u6a5f\u304c\u901a\u308a\uff0c\u591c\u9593\u5e2f\u306a\u3069\u306f\u822a\u7a7a\u6a5f\u304c\u901a\u308b\u97f3\u304c\u3088\u304f\u805e\u3053\u3048\u307e\u3059\uff0e\u305d\u3046\u3044\u3046\u3068\u304d\u306b\u3053\u306e\u30b3\u30de\u30f3\u30c9\u3092\u53e9\u304f\u3068\u4f55\u304c\u98db\u3093\u3067\u3044\u308b\u304b\u308f\u304b\u3063\u3066\u697d\u3057\u305d\u3046\u3067\u3059\uff0e(\u81ea\u885b\u968a\u6a5f\u3082\u3088\u304f\u901a\u308a\u307e\u3059\u304c\u3053\u308c\u3089\u306ffr24\u306b\u8f09\u3089\u306a\u3044\u306e\u3067\u3042\u307e\u308a\u9762\u767d\u304f\u306a\u3044\u2026\u2026)\n\n\n\u74b0\u5883\n\n$ dpkg-query -W bash curl jq bc libnotify-bin\nbash 5.2.15-2+b9\nbc 1.07.1-3\ncurl 7.88.1-10+rpi1+deb12u14\njq 1.6-2.1+deb12u1\nlibnotify-bin 0.8.1-1\n$ lsb_release -dr\nNo LSB modules are available.\nDescription: Raspbian GNU/Linux 12 (bookworm)\nRelease: 12\n$ arch\narmv7l\n\n\n \nPost by @matoken\nView on Mastodon", "date_published": "2025-12-22T20:57:20+09:00", "date_modified": "2025-12-22T22:59: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": [ "bash", "flightradar24", "Linux", "Raspberry Pi", "RaspberryPi_OS_Bookworm" ] }, { "id": "https://matoken.org/blog/?p=3868", "url": "https://matoken.org/blog/2023/03/02/dollar-store-daisos-microsd-card/", "title": "100\u5186\u30b7\u30e7\u30c3\u30d7\u30c0\u30a4\u30bd\u30fc\u306emicriSD\u3092\u8cfc\u5165", "content_html": "
\n
\n
\n

\u5148\u65e5100\u5186\u30b7\u30e7\u30c3\u30d7\u306e\u30c0\u30a4\u30bd\u30fc\u306b\u6570\u30ab\u6708\u3076\u308a\u306b\u884c\u3063\u305f\u3068\u3053\u308d550\u5186\u306732G\u306emicroSD\u3068USB\u30e1\u30e2\u30ea\u304c\u58f2\u3089\u308c\u3066\u3044\u307e\u3057\u305f\uff0e
\n\u79cb\u8449\u539f\u3084\u901a\u4fe1\u8ca9\u58f2\u3067\u3042\u308c\u3070\u8457\u540d\u30e1\u30fc\u30ab\u30fc\u306e\u540c\u7b49\u4ee5\u4e0a\u306e\u3082\u306e\u304c\u5909\u3048\u308b\u5024\u6bb5\u3067\u3059\u304c\uff0c\u4eca\u65e5\u5fc5\u8981\u3068\u884c\u3063\u305f\u5834\u5408\u306b\u306f\u5bb6\u96fb\u91cf\u8ca9\u5e97\u3084\u30b3\u30f3\u30d3\u30cb\u30a8\u30f3\u30b9\u30b9\u30c8\u30a2\u3067\u3082\u3063\u3068\u9ad8\u3044\u5024\u6bb5\u3067\u58f2\u3089\u308c\u3066\u3044\u307e\u3059\uff0e(\u672a\u3060\u306bclass 4\u306a\u3093\u304b\u3082\u58f2\u3063\u3066\u3044\u305f\u308a\u2026\u2026)
\n\u30e1\u30fc\u30ab\u30fc\u306f\u78c1\u6c17\u7814\u7a76\u6240\u3067\u8b0e\u30e1\u30fc\u30ab\u30fc\u3088\u308a\u306f\u826f\u3055\u305d\u3046\u3060\u3057\u4fdd\u8a3c\u671f\u9593\u30821\u5e74\u3042\u308b\u306e\u3067\u666e\u901a\u306b\u4f7f\u3048\u308b\u3088\u3046\u306a\u3089\u6025\u306b\u5fc5\u8981\u306b\u306a\u3063\u305f\u3068\u304d\u306b\u4fbf\u5229\u304b\u3082\u3068microSD \u30921\u679a\u8cb7\u3063\u3066\u5c11\u3057\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

\n
\n
\n
\n\"daisos
\n
\n

\n
\n
\n
\u30e1\u30fc\u30ab\u30fc
\n
\u78c1\u6c17\u7814\u7a76\u6240
\n
\u578b\u756a
\n
HDMCSDH32GCL10UIJP3
\n
JAN
\n
4984279232446\uff0e
\n
\u5bb9\u91cf
\n
32GB
\n
\u30b9\u30d4\u30fc\u30c9\u30af\u30e9\u30b9
\n
class10, UHS-1
\n
\u4fdd\u8a3c\u671f\u9593
\n
1\u5e74
\n
\u5546\u54c1URL
\n
https://jp.daisonet.com/products/4984279232446
\n
\n
\n
\n
\n\"daisos
\n
\n
\n
\n\"daisos
\n
\n
\n
\n
\n

\u5bb9\u91cf\u3068\u901f\u5ea6\u306e\u78ba\u8a8d

\n
\n
\n

\u6d41\u77f3\u306b\u5bb9\u91cf\u507d\u88c5\u3068\u304b\u306f\u306a\u3044\u3067\u3057\u3087\u3046\u304c\u4e00\u5fdc\u78ba\u8a8d\u3057\u307e\u3059\uff0e

\n
\n
\n

\u4ee5\u524d\u3082\u5229\u7528\u3057\u305f f3(Fight Flash Fraud) \u3092\u5229\u7528\u3057\u307e\u3057\u305f\uff0e

\n
\n\n
\n
f3\u3067\u5bb9\u91cf\u78ba\u8a8d
\n
\n
$ time sudo f3probe /dev/mmcblk0\nF3 probe 8.0\nCopyright (C) 2010 Digirati Internet LTDA.\nThis is free software; see the source for copying conditions.\n\nWARNING: Probing normally takes from a few seconds to 15 minutes, but\n         it can take longer. Please be patient.\n\nProbe finished, recovering blocks... Done\n\nGood news: The device `/dev/mmcblk0' is the real thing\n\nDevice geometry:\n                 *Usable* size: 29.12 GB (61067264 blocks)\n                Announced size: 29.12 GB (61067264 blocks)\n                        Module: 32.00 GB (2^35 Bytes)\n        Approximate cache size: 0.00 Byte (0 blocks), need-reset=no\n           Physical block size: 512.00 Byte (2^9 Bytes)\n\nProbe time: 2'52\"\n\nreal    5m12.221s\nuser    0m0.004s\nsys     0m0.027s
\n
\n
\n
\n

\u5bb9\u91cf\u306f\u554f\u984c\u306a\u3055\u305d\u3046\u3067\u3059\uff0e

\n
\n
\n
f3\u3067\u5168\u9818\u57df\u66f8\u304d\u8fbc\u307f
\n
\n
$ time f3write /media/matoken/0403-0201/\nF3 write 8.0\nCopyright (C) 2010 Digirati Internet LTDA.\nThis is free software; see the source for copying conditions.\n\nFree space: 29.11 GB\nCreating file 1.h2w ... OK!\nCreating file 2.h2w ... OK!\nCreating file 3.h2w ... OK!\nCreating file 4.h2w ... OK!\nCreating file 5.h2w ... OK!\nCreating file 6.h2w ... OK!\nCreating file 7.h2w ... OK!\nCreating file 8.h2w ... OK!\nCreating file 9.h2w ... OK!\nCreating file 10.h2w ... OK!\nCreating file 11.h2w ... OK!\nCreating file 12.h2w ... OK!\nCreating file 13.h2w ... OK!\nCreating file 14.h2w ... OK!\nCreating file 15.h2w ... OK!\nCreating file 16.h2w ... OK!\nCreating file 17.h2w ... OK!\nCreating file 18.h2w ... OK!\nCreating file 19.h2w ... OK!\nCreating file 20.h2w ... OK!\nCreating file 21.h2w ... OK!\nCreating file 22.h2w ... OK!\nCreating file 23.h2w ... OK!\nCreating file 24.h2w ... OK!\nCreating file 25.h2w ... OK!\nCreating file 26.h2w ... OK!\nCreating file 27.h2w ... OK!\nCreating file 28.h2w ... OK!\nCreating file 29.h2w ... OK!\nCreating file 30.h2w ... OK!\nFree space: 0.00 Byte\nAverage writing speed: 13.55 MB/s\n\nreal    36m43.319s\nuser    0m9.836s\nsys     1m47.578s
\n
\n
\n
\n
\n
\u66f8\u304d\u8fbc\u307f\u901f\u5ea6
\n
13.55 MB/s
\n
\n
\n
\n
f3\u3067\u8aad\u307f\u8fbc\u307f
\n
\n
$ time f3read /media/matoken/0403-0201/\nF3 read 8.0\nCopyright (C) 2010 Digirati Internet LTDA.\nThis is free software; see the source for copying conditions.\n\n                  SECTORS      ok/corrupted/changed/overwritten\nValidating file 1.h2w ... 2097152/        0/      0/      0\nValidating file 2.h2w ... 2097152/        0/      0/      0\nValidating file 3.h2w ... 2097152/        0/      0/      0\nValidating file 4.h2w ... 2097152/        0/      0/      0\nValidating file 5.h2w ... 2097152/        0/      0/      0\nValidating file 6.h2w ... 2097152/        0/      0/      0\nValidating file 7.h2w ... 2097152/        0/      0/      0\nValidating file 8.h2w ... 2097152/        0/      0/      0\nValidating file 9.h2w ... 2097152/        0/      0/      0\nValidating file 10.h2w ... 2097152/        0/      0/      0\nValidating file 11.h2w ... 2097152/        0/      0/      0\nValidating file 12.h2w ... 2097152/        0/      0/      0\nValidating file 13.h2w ... 2097152/        0/      0/      0\nValidating file 14.h2w ... 2097152/        0/      0/      0\nValidating file 15.h2w ... 2097152/        0/      0/      0\nValidating file 16.h2w ... 2097152/        0/      0/      0\nValidating file 17.h2w ... 2097152/        0/      0/      0\nValidating file 18.h2w ... 2097152/        0/      0/      0\nValidating file 19.h2w ... 2097152/        0/      0/      0\nValidating file 20.h2w ... 2097152/        0/      0/      0\nValidating file 21.h2w ... 2097152/        0/      0/      0\nValidating file 22.h2w ... 2097152/        0/      0/      0\nValidating file 23.h2w ... 2097152/        0/      0/      0\nValidating file 24.h2w ... 2097152/        0/      0/      0\nValidating file 25.h2w ... 2097152/        0/      0/      0\nValidating file 26.h2w ... 2097152/        0/      0/      0\nValidating file 27.h2w ... 2097152/        0/      0/      0\nValidating file 28.h2w ... 2097152/        0/      0/      0\nValidating file 29.h2w ... 2097152/        0/      0/      0\nValidating file 30.h2w ...  225216/        0/      0/      0\n\n  Data OK: 29.11 GB (61042624 sectors)\nData LOST: 0.00 Byte (0 sectors)\n               Corrupted: 0.00 Byte (0 sectors)\n        Slightly changed: 0.00 Byte (0 sectors)\n             Overwritten: 0.00 Byte (0 sectors)\nAverage reading speed: 79.21 MB/s\n\nreal    6m16.566s\nuser    0m28.029s\nsys     0m45.020s
\n
\n
\n
\n
\n
\u8aad\u307f\u8fbc\u307f\u901f\u5ea6
\n
79.21 MB/s
\n
\n
\n
\n

\u305d\u3053\u307e\u3067\u901f\u304f\u306a\u3044\u3051\u3069class10 \u306e\u8981\u4ef6\u306f\u6e80\u305f\u3057\u3066\u3044\u305d\u3046\u3067\u3059\uff0e

\n
\n
\n
\n
\n

Raspberry Pi OS \u306e\u5c0e\u5165

\n
\n
\n

\u7d9a\u3044\u3066Raspberry Pi OS \u3092\u66f8\u304d\u8fbc\u3093\u3067Raspberry Pi \u306e\u8d77\u52d5\u306b\u4f7f\u3063\u3066\u307f\u307e\u3059\uff0e

\n
\n
\n
\n
$ sudo wipefs -a /dev/mmcblk0\n$ xzcat ./2022-09-22-raspios-bullseye-arm64-lite.img.xz | pv | sudo dd of=/dev/mmcblk0 bs=4M conv=fsync && sudo sync
\n
\n
\n
\n

Raspberry Pi OS Lite amd64 \u3092\u5165\u308c\u3066RaspberryPi 3 B \u3067\u8d77\u52d5\uff0e apt update && apt upgrade \u3057\u3066\u518d\u8d77\u52d5\u6642\u306e\u8d77\u52d5\u6642\u9593\uff0e

\n
\n
\n
\n
matoken@raspberrypi:~ $ systemd-analyze\nStartup finished in 3.896s (kernel) + 16.606s (userspace) = 20.503s\nmulti-user.target reached after 16.541s in userspace\nmatoken@raspberrypi:~ $ systemd-analyze blame | head\n8.800s dhcpcd.service\n5.981s hciuart.service\n5.133s console-setup.service\n2.508s dev-mmcblk0p2.device\n1.860s raspi-config.service\n1.273s avahi-daemon.service\n1.244s polkit.service\n1.007s systemd-udev-trigger.service\n 989ms keyboard-setup.service\n 989ms rng-tools-debian.service\nmatoken@raspberrypi:~ $ lsb_release -a\nNo LSB modules are available.\nDistributor ID: Debian\nDescription:    Debian GNU/Linux 11 (bullseye)\nRelease:        11\nCodename:       bullseye\nmatoken@raspberrypi:~ $ uname -a\nLinux raspberrypi 5.15.84-v8+ #1613 SMP PREEMPT Thu Jan 5 12:03:08 GMT 2023 aarch64 GNU/Linux
\n
\n
\n
\n

\u3055\u3066\uff0c\u3068\u308a\u3042\u3048\u305a\u4f7f\u3048\u305d\u3046\u3067\u3059\uff0e\u3066\u3053\u3068\u3067vim\u3084tailscale\u3092\u5165\u308c\u3066\u518d\u8d77\u52d5\u2026\u2026\uff0e\u8d77\u52d5\u3057\u3066\u3053\u306a\u304f\u306a\u308a\u307e\u3057\u305f\uff0e
\n\u306a\u306b\u304b\u30df\u30b9\u3063\u305f\u304b\u306a?\u3068\u601d\u3044\u306a\u304c\u3089PC \u306b\u63a5\u7d9a\u3059\u308b\u3068\u8a8d\u8b58\u3057\u307e\u305b\u3093\uff0e

\n
\n
\n
dmesg
\n
\n
[  +2.168700] Bluetooth: hci0: Hardware error 0x0c\n[  +0.012982] Bluetooth: hci0: Opcode 0x c1a failed: -110\n[  +0.000048] Bluetooth: hci0: command 0x0c1a tx timeout\n[  +0.009918] Bluetooth: hci0: Exception info size mismatch\n[  +0.001989] Bluetooth: hci0: Opcode 0x200b failed: -16
\n
\n
\n
\n

\u30c7\u30d0\u30a4\u30b9\u3092\u3046\u307e\u304f\u8a8d\u8b58\u3057\u3066\u3044\u306a\u3044\u3088\u3046\u3067\u3059\uff0eUSB\u30ea\u30fc\u30c0\u30fc\u3067\u8a66\u3057\u3066\u3082\u540c\u3058\u3067\u3059\uff0e\u6570\u65e5\uff0c\u5b9f\u8cea\u6570\u6642\u9593\u3067\u58ca\u308c\u3066\u3057\u307e\u3063\u305f\u3088\u3046\u3067\u3059\uff0e

\n
\n
\n

\u4e00\u5fdc1\u5e74\u4fdd\u8a3c\u306b\u306a\u3063\u3066\u3044\u308b\u3057\uff0c\u30ec\u30b7\u30fc\u30c8\u306f\u6b8b\u3063\u3066\u3044\u305f\u306e\u3067\u8cfc\u5165\u3057\u305f\u30c0\u30a4\u30bd\u30fc\u306b\u6301\u3063\u3066\u3044\u3063\u305f\u3068\u3053\u308d\u5e97\u982d\u3067\u306f\u78ba\u8a8d\u306f\u3067\u304d\u306a\u3044\u3051\u3069\u4ea4\u63db\u3059\u308b\u306e\u3067\u8a66\u3057\u3066\u307b\u3057\u3044\u3068\u306e\u3053\u3068\u3067\u65b0\u3057\u3044\u3082\u306e\u3068\u4ea4\u63db\u3057\u3066\u3082\u3089\u3048\u307e\u3057\u305f\uff0e
\n1\u679a\u3081\u304c\u521d\u671f\u4e0d\u826f\u3067\u65b0\u3057\u3044\u3082\u306e\u304c\u666e\u901a\u306b\u4f7f\u3048\u308b\u3068\u3088\u3044\u306e\u3067\u3059\u304c\u2026\u2026\uff0e

\n
\n
\n

\u3068\u308a\u3042\u3048\u305a\u65b0\u3057\u3044card \u306e\u8aad\u307f\u66f8\u304d\u6642\u9593\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u66f8\u304d\u8fbc\u307f\u306f\u540c\u3058\u304f\u3089\u3044\u3067\u3059\u304c\u8aad\u307f\u8fbc\u307f\u901f\u5ea6\u306f\u524d\u306e\u3082\u306e\u3088\u308a\u9045\u3044\u3067\u3059\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
\u66f8\u304d\u8fbc\u307f\u901f\u5ea6\u8aad\u307f\u8fbc\u307f\u901f\u5ea6
\n

1\u679a\u76ee

\n
\n

13.55 MB/s

\n
\n

79.21 MB/s

\n
\n

2\u679a\u76ee

\n
\n

13.20 MB/s

\n
\n

51.94 MB/s

\n
\n
\n

\u307e\u305f\u58ca\u308c\u305f\u3089\u8ffd\u8a18\u3057\u3088\u3046\u3068\u601d\u3044\u307e\u3059\uff0e

\n
\n
\n
\n", "content_text": "\u5148\u65e5100\u5186\u30b7\u30e7\u30c3\u30d7\u306e\u30c0\u30a4\u30bd\u30fc\u306b\u6570\u30ab\u6708\u3076\u308a\u306b\u884c\u3063\u305f\u3068\u3053\u308d550\u5186\u306732G\u306emicroSD\u3068USB\u30e1\u30e2\u30ea\u304c\u58f2\u3089\u308c\u3066\u3044\u307e\u3057\u305f\uff0e\n\u79cb\u8449\u539f\u3084\u901a\u4fe1\u8ca9\u58f2\u3067\u3042\u308c\u3070\u8457\u540d\u30e1\u30fc\u30ab\u30fc\u306e\u540c\u7b49\u4ee5\u4e0a\u306e\u3082\u306e\u304c\u5909\u3048\u308b\u5024\u6bb5\u3067\u3059\u304c\uff0c\u4eca\u65e5\u5fc5\u8981\u3068\u884c\u3063\u305f\u5834\u5408\u306b\u306f\u5bb6\u96fb\u91cf\u8ca9\u5e97\u3084\u30b3\u30f3\u30d3\u30cb\u30a8\u30f3\u30b9\u30b9\u30c8\u30a2\u3067\u3082\u3063\u3068\u9ad8\u3044\u5024\u6bb5\u3067\u58f2\u3089\u308c\u3066\u3044\u307e\u3059\uff0e(\u672a\u3060\u306bclass 4\u306a\u3093\u304b\u3082\u58f2\u3063\u3066\u3044\u305f\u308a\u2026\u2026)\n\u30e1\u30fc\u30ab\u30fc\u306f\u78c1\u6c17\u7814\u7a76\u6240\u3067\u8b0e\u30e1\u30fc\u30ab\u30fc\u3088\u308a\u306f\u826f\u3055\u305d\u3046\u3060\u3057\u4fdd\u8a3c\u671f\u9593\u30821\u5e74\u3042\u308b\u306e\u3067\u666e\u901a\u306b\u4f7f\u3048\u308b\u3088\u3046\u306a\u3089\u6025\u306b\u5fc5\u8981\u306b\u306a\u3063\u305f\u3068\u304d\u306b\u4fbf\u5229\u304b\u3082\u3068microSD \u30921\u679a\u8cb7\u3063\u3066\u5c11\u3057\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\n\n\n\n\n\n\n\n\u30e1\u30fc\u30ab\u30fc\n\u78c1\u6c17\u7814\u7a76\u6240\n\u578b\u756a\nHDMCSDH32GCL10UIJP3\nJAN\n4984279232446\uff0e\n\u5bb9\u91cf\n32GB\n\u30b9\u30d4\u30fc\u30c9\u30af\u30e9\u30b9\nclass10, UHS-1\n\u4fdd\u8a3c\u671f\u9593\n1\u5e74\n\u5546\u54c1URL\nhttps://jp.daisonet.com/products/4984279232446\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u5bb9\u91cf\u3068\u901f\u5ea6\u306e\u78ba\u8a8d\n\n\n\u6d41\u77f3\u306b\u5bb9\u91cf\u507d\u88c5\u3068\u304b\u306f\u306a\u3044\u3067\u3057\u3087\u3046\u304c\u4e00\u5fdc\u78ba\u8a8d\u3057\u307e\u3059\uff0e\n\n\n\u4ee5\u524d\u3082\u5229\u7528\u3057\u305f f3(Fight Flash Fraud) \u3092\u5229\u7528\u3057\u307e\u3057\u305f\uff0e\n\n\n\nf3 – Fight Flash Fraud \u2014 f3 8.0 documentation\n\u901f\u5ea6\u3084\u5bb9\u91cf\u306e\u507d\u88c5\u3055\u308c\u305f\u30d5\u30e9\u30c3\u30b7\u30e5\u30b9\u30c8\u30ec\u30fc\u30b8\u306e\u78ba\u8a8d\u304c\u3067\u304d\u308bf3(Fight Flash Fraud)\u3092\u5c11\u3057\u8a66\u3059 \u2013 matoken\u2019s meme\n\n\n\nf3\u3067\u5bb9\u91cf\u78ba\u8a8d\n\n$ time sudo f3probe /dev/mmcblk0\nF3 probe 8.0\nCopyright (C) 2010 Digirati Internet LTDA.\nThis is free software; see the source for copying conditions.\n\nWARNING: Probing normally takes from a few seconds to 15 minutes, but\n it can take longer. Please be patient.\n\nProbe finished, recovering blocks... Done\n\nGood news: The device `/dev/mmcblk0' is the real thing\n\nDevice geometry:\n *Usable* size: 29.12 GB (61067264 blocks)\n Announced size: 29.12 GB (61067264 blocks)\n Module: 32.00 GB (2^35 Bytes)\n Approximate cache size: 0.00 Byte (0 blocks), need-reset=no\n Physical block size: 512.00 Byte (2^9 Bytes)\n\nProbe time: 2'52\"\n\nreal 5m12.221s\nuser 0m0.004s\nsys 0m0.027s\n\n\n\n\u5bb9\u91cf\u306f\u554f\u984c\u306a\u3055\u305d\u3046\u3067\u3059\uff0e\n\n\nf3\u3067\u5168\u9818\u57df\u66f8\u304d\u8fbc\u307f\n\n$ time f3write /media/matoken/0403-0201/\nF3 write 8.0\nCopyright (C) 2010 Digirati Internet LTDA.\nThis is free software; see the source for copying conditions.\n\nFree space: 29.11 GB\nCreating file 1.h2w ... OK!\nCreating file 2.h2w ... OK!\nCreating file 3.h2w ... OK!\nCreating file 4.h2w ... OK!\nCreating file 5.h2w ... OK!\nCreating file 6.h2w ... OK!\nCreating file 7.h2w ... OK!\nCreating file 8.h2w ... OK!\nCreating file 9.h2w ... OK!\nCreating file 10.h2w ... OK!\nCreating file 11.h2w ... OK!\nCreating file 12.h2w ... OK!\nCreating file 13.h2w ... OK!\nCreating file 14.h2w ... OK!\nCreating file 15.h2w ... OK!\nCreating file 16.h2w ... OK!\nCreating file 17.h2w ... OK!\nCreating file 18.h2w ... OK!\nCreating file 19.h2w ... OK!\nCreating file 20.h2w ... OK!\nCreating file 21.h2w ... OK!\nCreating file 22.h2w ... OK!\nCreating file 23.h2w ... OK!\nCreating file 24.h2w ... OK!\nCreating file 25.h2w ... OK!\nCreating file 26.h2w ... OK!\nCreating file 27.h2w ... OK!\nCreating file 28.h2w ... OK!\nCreating file 29.h2w ... OK!\nCreating file 30.h2w ... OK!\nFree space: 0.00 Byte\nAverage writing speed: 13.55 MB/s\n\nreal 36m43.319s\nuser 0m9.836s\nsys 1m47.578s\n\n\n\n\n\u66f8\u304d\u8fbc\u307f\u901f\u5ea6\n13.55 MB/s\n\n\n\nf3\u3067\u8aad\u307f\u8fbc\u307f\n\n$ time f3read /media/matoken/0403-0201/\nF3 read 8.0\nCopyright (C) 2010 Digirati Internet LTDA.\nThis is free software; see the source for copying conditions.\n\n SECTORS ok/corrupted/changed/overwritten\nValidating file 1.h2w ... 2097152/ 0/ 0/ 0\nValidating file 2.h2w ... 2097152/ 0/ 0/ 0\nValidating file 3.h2w ... 2097152/ 0/ 0/ 0\nValidating file 4.h2w ... 2097152/ 0/ 0/ 0\nValidating file 5.h2w ... 2097152/ 0/ 0/ 0\nValidating file 6.h2w ... 2097152/ 0/ 0/ 0\nValidating file 7.h2w ... 2097152/ 0/ 0/ 0\nValidating file 8.h2w ... 2097152/ 0/ 0/ 0\nValidating file 9.h2w ... 2097152/ 0/ 0/ 0\nValidating file 10.h2w ... 2097152/ 0/ 0/ 0\nValidating file 11.h2w ... 2097152/ 0/ 0/ 0\nValidating file 12.h2w ... 2097152/ 0/ 0/ 0\nValidating file 13.h2w ... 2097152/ 0/ 0/ 0\nValidating file 14.h2w ... 2097152/ 0/ 0/ 0\nValidating file 15.h2w ... 2097152/ 0/ 0/ 0\nValidating file 16.h2w ... 2097152/ 0/ 0/ 0\nValidating file 17.h2w ... 2097152/ 0/ 0/ 0\nValidating file 18.h2w ... 2097152/ 0/ 0/ 0\nValidating file 19.h2w ... 2097152/ 0/ 0/ 0\nValidating file 20.h2w ... 2097152/ 0/ 0/ 0\nValidating file 21.h2w ... 2097152/ 0/ 0/ 0\nValidating file 22.h2w ... 2097152/ 0/ 0/ 0\nValidating file 23.h2w ... 2097152/ 0/ 0/ 0\nValidating file 24.h2w ... 2097152/ 0/ 0/ 0\nValidating file 25.h2w ... 2097152/ 0/ 0/ 0\nValidating file 26.h2w ... 2097152/ 0/ 0/ 0\nValidating file 27.h2w ... 2097152/ 0/ 0/ 0\nValidating file 28.h2w ... 2097152/ 0/ 0/ 0\nValidating file 29.h2w ... 2097152/ 0/ 0/ 0\nValidating file 30.h2w ... 225216/ 0/ 0/ 0\n\n Data OK: 29.11 GB (61042624 sectors)\nData LOST: 0.00 Byte (0 sectors)\n Corrupted: 0.00 Byte (0 sectors)\n Slightly changed: 0.00 Byte (0 sectors)\n Overwritten: 0.00 Byte (0 sectors)\nAverage reading speed: 79.21 MB/s\n\nreal 6m16.566s\nuser 0m28.029s\nsys 0m45.020s\n\n\n\n\n\u8aad\u307f\u8fbc\u307f\u901f\u5ea6\n79.21 MB/s\n\n\n\n\u305d\u3053\u307e\u3067\u901f\u304f\u306a\u3044\u3051\u3069class10 \u306e\u8981\u4ef6\u306f\u6e80\u305f\u3057\u3066\u3044\u305d\u3046\u3067\u3059\uff0e\n\n\n\n\nRaspberry Pi OS \u306e\u5c0e\u5165\n\n\n\u7d9a\u3044\u3066Raspberry Pi OS \u3092\u66f8\u304d\u8fbc\u3093\u3067Raspberry Pi \u306e\u8d77\u52d5\u306b\u4f7f\u3063\u3066\u307f\u307e\u3059\uff0e\n\n\n\n$ sudo wipefs -a /dev/mmcblk0\n$ xzcat ./2022-09-22-raspios-bullseye-arm64-lite.img.xz | pv | sudo dd of=/dev/mmcblk0 bs=4M conv=fsync && sudo sync\n\n\n\nRaspberry Pi OS Lite amd64 \u3092\u5165\u308c\u3066RaspberryPi 3 B \u3067\u8d77\u52d5\uff0e apt update && apt upgrade \u3057\u3066\u518d\u8d77\u52d5\u6642\u306e\u8d77\u52d5\u6642\u9593\uff0e\n\n\n\nmatoken@raspberrypi:~ $ systemd-analyze\nStartup finished in 3.896s (kernel) + 16.606s (userspace) = 20.503s\nmulti-user.target reached after 16.541s in userspace\nmatoken@raspberrypi:~ $ systemd-analyze blame | head\n8.800s dhcpcd.service\n5.981s hciuart.service\n5.133s console-setup.service\n2.508s dev-mmcblk0p2.device\n1.860s raspi-config.service\n1.273s avahi-daemon.service\n1.244s polkit.service\n1.007s systemd-udev-trigger.service\n 989ms keyboard-setup.service\n 989ms rng-tools-debian.service\nmatoken@raspberrypi:~ $ lsb_release -a\nNo LSB modules are available.\nDistributor ID: Debian\nDescription: Debian GNU/Linux 11 (bullseye)\nRelease: 11\nCodename: bullseye\nmatoken@raspberrypi:~ $ uname -a\nLinux raspberrypi 5.15.84-v8+ #1613 SMP PREEMPT Thu Jan 5 12:03:08 GMT 2023 aarch64 GNU/Linux\n\n\n\n\u3055\u3066\uff0c\u3068\u308a\u3042\u3048\u305a\u4f7f\u3048\u305d\u3046\u3067\u3059\uff0e\u3066\u3053\u3068\u3067vim\u3084tailscale\u3092\u5165\u308c\u3066\u518d\u8d77\u52d5\u2026\u2026\uff0e\u8d77\u52d5\u3057\u3066\u3053\u306a\u304f\u306a\u308a\u307e\u3057\u305f\uff0e\n\u306a\u306b\u304b\u30df\u30b9\u3063\u305f\u304b\u306a?\u3068\u601d\u3044\u306a\u304c\u3089PC \u306b\u63a5\u7d9a\u3059\u308b\u3068\u8a8d\u8b58\u3057\u307e\u305b\u3093\uff0e\n\n\ndmesg\n\n[ +2.168700] Bluetooth: hci0: Hardware error 0x0c\n[ +0.012982] Bluetooth: hci0: Opcode 0x c1a failed: -110\n[ +0.000048] Bluetooth: hci0: command 0x0c1a tx timeout\n[ +0.009918] Bluetooth: hci0: Exception info size mismatch\n[ +0.001989] Bluetooth: hci0: Opcode 0x200b failed: -16\n\n\n\n\u30c7\u30d0\u30a4\u30b9\u3092\u3046\u307e\u304f\u8a8d\u8b58\u3057\u3066\u3044\u306a\u3044\u3088\u3046\u3067\u3059\uff0eUSB\u30ea\u30fc\u30c0\u30fc\u3067\u8a66\u3057\u3066\u3082\u540c\u3058\u3067\u3059\uff0e\u6570\u65e5\uff0c\u5b9f\u8cea\u6570\u6642\u9593\u3067\u58ca\u308c\u3066\u3057\u307e\u3063\u305f\u3088\u3046\u3067\u3059\uff0e\n\n\n\u4e00\u5fdc1\u5e74\u4fdd\u8a3c\u306b\u306a\u3063\u3066\u3044\u308b\u3057\uff0c\u30ec\u30b7\u30fc\u30c8\u306f\u6b8b\u3063\u3066\u3044\u305f\u306e\u3067\u8cfc\u5165\u3057\u305f\u30c0\u30a4\u30bd\u30fc\u306b\u6301\u3063\u3066\u3044\u3063\u305f\u3068\u3053\u308d\u5e97\u982d\u3067\u306f\u78ba\u8a8d\u306f\u3067\u304d\u306a\u3044\u3051\u3069\u4ea4\u63db\u3059\u308b\u306e\u3067\u8a66\u3057\u3066\u307b\u3057\u3044\u3068\u306e\u3053\u3068\u3067\u65b0\u3057\u3044\u3082\u306e\u3068\u4ea4\u63db\u3057\u3066\u3082\u3089\u3048\u307e\u3057\u305f\uff0e\n1\u679a\u3081\u304c\u521d\u671f\u4e0d\u826f\u3067\u65b0\u3057\u3044\u3082\u306e\u304c\u666e\u901a\u306b\u4f7f\u3048\u308b\u3068\u3088\u3044\u306e\u3067\u3059\u304c\u2026\u2026\uff0e\n\n\n\u3068\u308a\u3042\u3048\u305a\u65b0\u3057\u3044card \u306e\u8aad\u307f\u66f8\u304d\u6642\u9593\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u66f8\u304d\u8fbc\u307f\u306f\u540c\u3058\u304f\u3089\u3044\u3067\u3059\u304c\u8aad\u307f\u8fbc\u307f\u901f\u5ea6\u306f\u524d\u306e\u3082\u306e\u3088\u308a\u9045\u3044\u3067\u3059\uff0e\n\n\n\n\n\n\n\n\n\n\n\u66f8\u304d\u8fbc\u307f\u901f\u5ea6\n\u8aad\u307f\u8fbc\u307f\u901f\u5ea6\n\n\n\n\n\n1\u679a\u76ee\n\n\n13.55 MB/s\n\n\n79.21 MB/s\n\n\n\n\n2\u679a\u76ee\n\n\n13.20 MB/s\n\n\n51.94 MB/s\n\n\n\n\n\n\u307e\u305f\u58ca\u308c\u305f\u3089\u8ffd\u8a18\u3057\u3088\u3046\u3068\u601d\u3044\u307e\u3059\uff0e", "date_published": "2023-03-02T07:05:00+09:00", "date_modified": "2023-03-02T06:37:39+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": [ "1613", "DAISO", "Dollar shop", "microSD", "Raspberry Pi", "\u672a\u5206\u985e", "\u96fb\u5b50\u5de5\u4f5c" ] }, { "id": "http://matoken.org/blog/?p=3265", "url": "https://matoken.org/blog/2021/06/14/termmaze3d/", "title": "AWK\u88fdFPS\u30b2\u30fc\u30e0\u306e\u300cTERMMAZE3D\u300d", "content_html": "
\n

TERMMAZE3D \u3068\u3044\u3046\u7aef\u672b\u4e0a\u3067\u52d5\u4f5c\u3059\u308bAWK\u88fd\u306eFPS\u30b2\u30fc\u30e0\u3092\u898b\u3064\u3051\u305f\u306e\u3067\u904a\u3093\u3067\u307f\u307e\u3057\u305f\uff0e

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

\n
\n
\n

\u307e\u305a\u306f\u4f9d\u5b58\u30b3\u30de\u30f3\u30c9\u3092\u5c0e\u5165\u3057\u307e\u3059\uff0e

\n
\n
\n
\n
\n

Requirements
\ngawk or awk (except mawk)
\nGNU coreutils or equivalent BSD command (dd, echo, sleep, stty)

\n
\n
\n
\n
\n

Linux\u74b0\u5883\u3067\u306fGNU Coreutils + GNU awk\uff0c*bsd\u74b0\u5883\u3067\u306fdd, echo, sleep, stty + nawk \u3042\u305f\u308a\u3067\u3057\u3087\u3046\u304b\uff0e\u4eca\u56de\u306fDebian bullseye \u74b0\u5883\u306a\u306e\u3067\u3053\u3093\u306a\u611f\u3058\u3067\uff0eGNU Coreutils, GNU awk \u3068\u30ea\u30dd\u30b8\u30c8\u30ea\u3092clone \u3059\u308b\u305f\u3081\u306bgit \u3092\u5c0e\u5165\u3057\u307e\u3059\uff0e

\n
\n
\n
\n
$ sudo apt install coreutils gawk git
\n
\n
\n
\n

source \u3092clone \u3057\u307e\u3059\uff0e

\n
\n
\n
\n
$ git clone https://github.com/mikkun/termmaze3d (1)\n$ cd termmaze3d\n$ ./termmaze3d.awk (2)
\n
\n
\n
\n
    \n
  1. TERMMAZE3D\u3092clone
  2. \n
  3. \u5b9f\u884c
  4. \n
\n
\n
\n

\u3082\u3057\uff0c\u5b9f\u884c\u6642\u306b\u771f\u3063\u9ed2\u306a\u753b\u9762\u306b\u306a\u3063\u3066\u3057\u307e\u3046\u5834\u5408\u306fawk\u304c mawk \u306b\u5411\u3044\u3066\u3044\u308b\u3068\u601d\u3046\u306e\u3067\u6b21\u306e\u30da\u30fc\u30b8\u3092\u53c2\u8003\u306bgawk\u306b\u5207\u308a\u66ff\u3048\u308b\u304b\uff0c $ gawk -f ./termmaze3d.awk \u306e\u3088\u3046\u306b gawk \u30b3\u30de\u30f3\u30c9\u3092\u76f4\u306b\u53e9\u304f\u3068\u3044\u3044\u3067\u3059\uff0e
\n\u7aef\u672b\u30b5\u30a4\u30ba\u306f80×22\u3068\u6bd4\u8f03\u7684\u5c0f\u3055\u3044\u306e\u3067\u30d5\u30a9\u30f3\u30c8\u30b5\u30a4\u30ba\u3092\u8abf\u6574\u3059\u308b\u3068\u3044\u3044\u611f\u3058\u306b\u306a\u308a\u307e\u3059\uff0e

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

\u30b2\u30fc\u30e0\u306f\u6bce\u56de\u81ea\u52d5\u751f\u6210\u3055\u308c\u308b\u30de\u30c3\u30d7\u306e\u4e2d\u3092\u6b69\u304d\u56de\u3063\u3066\u30bf\u30a4\u30e0\u30a2\u30c3\u30d7\u3059\u308b\u524d\u306b\u5b9d\u7269\u30925\u3064\u96c6\u3081\u308b\u3068\u30af\u30ea\u30a2\u3067\u3059\uff0e\u8d64\u3044\u6575\u304c\u51fa\u3066\u304d\u307e\u3059\u304c\u5f53\u305f\u308b\u3068\u30bf\u30a4\u30e0\u304c\u6e1b\u3063\u3066\u3044\u304d\u307e\u3059\uff0e k key\u3067\u653b\u6483\u3057\u305f\u308a\u9003\u3052\u307e\u3057\u3087\u3046\uff0e

\n
\n
\n

\u4ee5\u4e0b\u30d7\u30ec\u30a4\u52d5\u753b\u3067\u3059\uff0e

\n
\n
\n


\n(backup)

\n
\n
\n

awk\u3067\u3067\u304d\u305f\u30b2\u30fc\u30e0\u3068\u3044\u3048\u3070\u4ee5\u524d awkaster \u3068\u3044\u3046\u3082\u306e\u3082\u3042\u308a\u307e\u3057\u305f\uff0e\u540c\u4f5c\u8005\u306e\u30c6\u30c8\u30ea\u30b9\u30e9\u30a4\u30af\u306aAWKTC\u3082AWK\u88fd\u3067\u3059\uff0e\u8208\u5473\u306e\u3042\u308b\u65b9\u306f\u3053\u308c\u3089\u3082\u904a\u3093\u3067\u307f\u308b\u3068\u3044\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e

\n
\n
\n\n
\n
\n
\u74b0\u58831
\n
\n
$ git log --oneline\n16e844a (HEAD -> main, tag: v1.0.0, origin/main, origin/HEAD) :tada: Initial co\n$ dpkg-query -W gawk coreutils git\ncoreutils       8.32-4+b1\ngawk    1:5.1.0-1\ngit     1:2.30.2-1\n$ lsb_release -dr\nDescription:    Debian GNU/Linux 11 (bullseye)\nRelease:        11\n$ arch\nx86_64
\n
\n
\n
\n
\u74b0\u58832
\n
\n
$ git log --oneline\n16e844a (HEAD -> main, tag: v1.0.0, origin/main, origin/HEAD) :tada: Initial co\n$ dpkg-query -W gawk coreutils git\ncoreutils       8.30-3\ngawk    1:4.2.1+dfsg-1\ngit     1:2.20.1-2+deb10u3\n$ lsb_release -dr\nDescription:    Raspbian GNU/Linux 10 (buster)\nRelease:        10\n$ arch\narmv7l
\n
\n
\n", "content_text": "TERMMAZE3D \u3068\u3044\u3046\u7aef\u672b\u4e0a\u3067\u52d5\u4f5c\u3059\u308bAWK\u88fd\u306eFPS\u30b2\u30fc\u30e0\u3092\u898b\u3064\u3051\u305f\u306e\u3067\u904a\u3093\u3067\u307f\u307e\u3057\u305f\uff0e\n\n\n\nmikkun/termmaze3d: Pseudo-3D first-person shooter written in AWK\n\n\n\n\n\n\n\u307e\u305a\u306f\u4f9d\u5b58\u30b3\u30de\u30f3\u30c9\u3092\u5c0e\u5165\u3057\u307e\u3059\uff0e\n\n\n\n\nRequirements\ngawk or awk (except mawk)\nGNU coreutils or equivalent BSD command (dd, echo, sleep, stty)\n\n\n\n\nLinux\u74b0\u5883\u3067\u306fGNU Coreutils + GNU awk\uff0c*bsd\u74b0\u5883\u3067\u306fdd, echo, sleep, stty + nawk \u3042\u305f\u308a\u3067\u3057\u3087\u3046\u304b\uff0e\u4eca\u56de\u306fDebian bullseye \u74b0\u5883\u306a\u306e\u3067\u3053\u3093\u306a\u611f\u3058\u3067\uff0eGNU Coreutils, GNU awk \u3068\u30ea\u30dd\u30b8\u30c8\u30ea\u3092clone \u3059\u308b\u305f\u3081\u306bgit \u3092\u5c0e\u5165\u3057\u307e\u3059\uff0e\n\n\n\n$ sudo apt install coreutils gawk git\n\n\n\nsource \u3092clone \u3057\u307e\u3059\uff0e\n\n\n\n$ git clone https://github.com/mikkun/termmaze3d (1)\n$ cd termmaze3d\n$ ./termmaze3d.awk (2)\n\n\n\n\nTERMMAZE3D\u3092clone\n\u5b9f\u884c\n\n\n\n\u3082\u3057\uff0c\u5b9f\u884c\u6642\u306b\u771f\u3063\u9ed2\u306a\u753b\u9762\u306b\u306a\u3063\u3066\u3057\u307e\u3046\u5834\u5408\u306fawk\u304c mawk \u306b\u5411\u3044\u3066\u3044\u308b\u3068\u601d\u3046\u306e\u3067\u6b21\u306e\u30da\u30fc\u30b8\u3092\u53c2\u8003\u306bgawk\u306b\u5207\u308a\u66ff\u3048\u308b\u304b\uff0c $ gawk -f ./termmaze3d.awk \u306e\u3088\u3046\u306b gawk \u30b3\u30de\u30f3\u30c9\u3092\u76f4\u306b\u53e9\u304f\u3068\u3044\u3044\u3067\u3059\uff0e\n\u7aef\u672b\u30b5\u30a4\u30ba\u306f80×22\u3068\u6bd4\u8f03\u7684\u5c0f\u3055\u3044\u306e\u3067\u30d5\u30a9\u30f3\u30c8\u30b5\u30a4\u30ba\u3092\u8abf\u6574\u3059\u308b\u3068\u3044\u3044\u611f\u3058\u306b\u306a\u308a\u307e\u3059\uff0e\n\n\n\nDebian/Ubuntu\u3067awk\u3092\u5207\u308a\u66ff\u3048\u308b \u2013 matoken\u2019s meme\n\n\n\n\u30b2\u30fc\u30e0\u306f\u6bce\u56de\u81ea\u52d5\u751f\u6210\u3055\u308c\u308b\u30de\u30c3\u30d7\u306e\u4e2d\u3092\u6b69\u304d\u56de\u3063\u3066\u30bf\u30a4\u30e0\u30a2\u30c3\u30d7\u3059\u308b\u524d\u306b\u5b9d\u7269\u30925\u3064\u96c6\u3081\u308b\u3068\u30af\u30ea\u30a2\u3067\u3059\uff0e\u8d64\u3044\u6575\u304c\u51fa\u3066\u304d\u307e\u3059\u304c\u5f53\u305f\u308b\u3068\u30bf\u30a4\u30e0\u304c\u6e1b\u3063\u3066\u3044\u304d\u307e\u3059\uff0e k key\u3067\u653b\u6483\u3057\u305f\u308a\u9003\u3052\u307e\u3057\u3087\u3046\uff0e\n\n\n\u4ee5\u4e0b\u30d7\u30ec\u30a4\u52d5\u753b\u3067\u3059\uff0e\n\n\n\n(backup)\n\n\nawk\u3067\u3067\u304d\u305f\u30b2\u30fc\u30e0\u3068\u3044\u3048\u3070\u4ee5\u524d awkaster \u3068\u3044\u3046\u3082\u306e\u3082\u3042\u308a\u307e\u3057\u305f\uff0e\u540c\u4f5c\u8005\u306e\u30c6\u30c8\u30ea\u30b9\u30e9\u30a4\u30af\u306aAWKTC\u3082AWK\u88fd\u3067\u3059\uff0e\u8208\u5473\u306e\u3042\u308b\u65b9\u306f\u3053\u308c\u3089\u3082\u904a\u3093\u3067\u307f\u308b\u3068\u3044\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e\n\n\n\nawk \u88fd 3D\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u30b2\u30fc\u30e0 awkaster \u3067\u904a\u3093\u3067\u307f\u305f \u2013 matoken\u2019s meme\nmikkun/AWKTC: AWKTC is Workable Klutzy Time-wasting Command\n\n\n\n\u74b0\u58831\n\n$ git log --oneline\n16e844a (HEAD -> main, tag: v1.0.0, origin/main, origin/HEAD) :tada: Initial co\n$ dpkg-query -W gawk coreutils git\ncoreutils 8.32-4+b1\ngawk 1:5.1.0-1\ngit 1:2.30.2-1\n$ lsb_release -dr\nDescription: Debian GNU/Linux 11 (bullseye)\nRelease: 11\n$ arch\nx86_64\n\n\n\n\u74b0\u58832\n\n$ git log --oneline\n16e844a (HEAD -> main, tag: v1.0.0, origin/main, origin/HEAD) :tada: Initial co\n$ dpkg-query -W gawk coreutils git\ncoreutils 8.30-3\ngawk 1:4.2.1+dfsg-1\ngit 1:2.20.1-2+deb10u3\n$ lsb_release -dr\nDescription: Raspbian GNU/Linux 10 (buster)\nRelease: 10\n$ arch\narmv7l", "date_published": "2021-06-14T00:20:14+09:00", "date_modified": "2021-06-14T00:25:56+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": [ "awk", "game", "gawk", "terminal", "bullseye", "Debian", "Linux", "Raspberry Pi", "Raspbian Buster" ] }, { "id": "http://matoken.org/blog/?p=3174", "url": "https://matoken.org/blog/2021/04/01/colorful-and-cute-prettyping/", "title": "\u30ab\u30e9\u30d5\u30eb\u3067\u304b\u308f\u3044\u3044 prettyping", "content_html": "
\n

ping\u306e\u30ab\u30e9\u30d5\u30eb\u306a\u30e9\u30c3\u30d1\u30fc\u306e prettyping \u3068\u3044\u3046\u3082\u306e\u3092\u77e5\u308a\u307e\u3057\u305f\uff0e

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

\u5c11\u3057\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

\n
\n
\n
\n
$ curl -O https://raw.githubusercontent.com/denilsonsa/prettyping/master/prettyping\n$ install -m 755 ./prettyping ~/bin/\n$ ls -l ~/bin/prettyping\n-rwxr-xr-x 1 pi pi 23396 Apr  1 22:08 /home/pi/bin/prettyping\n$ ~/bin/prettyping 1.1.1.1\n0 \u2581 10 \u2582 20 \u2583 30 \u2584 40 \u2585 50 \u2586 60 \u2587 70 \u2588 80 \u2581 90 \u2582 100 \u2583 110 \u2584 120 \u2585 130 \u2586 140 \u2587 150 \u2588 160 \u2581 170 \u2582\n180 \u2583 190 \u2584 200 \u2585 210 \u2586 220 \u2587 230 \u2588 \u221e\nPING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.\n\u2582\u2585\u2588\u2581\u2584\u2582\u2588\n 0/  7 ( 0%) lost;   76/ 107/ 178ms; last:   76ms\n 0/  7 ( 0%) lost;   76/ 107/ 178/  27ms (last 7)
\n
\n
\n
\n

\u30ab\u30e9\u30fc\u3067\u898b\u308b\u3068\u304d\u308c\u3044\u3067\u3059\uff0e

\n
\n
\n

\"prettyping\"/

\n
\n
\n

\u5b89\u5b9a\u3057\u305f\u56de\u7dda\u3060\u3068\u7dd1\u3067\u9762\u767d\u304f\u306a\u3044\u306e\u3067\u4e0d\u5b89\u5b9a\u306a\u56de\u7dda\u3084\u9060\u304f\u306e\u30a2\u30c9\u30ec\u30b9\u3092\u6307\u5b9a\u3059\u308b\u3068\u3044\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e\u4eca\u56de\u306f\u96fb\u6ce2\u72b6\u6cc1\u306e\u60aa\u3044\u643a\u5e2f\u56de\u7dda\u3067\u8a66\u3057\u307e\u3057\u305f\uff0e(-120dBM\u524d\u5f8c\u306e\u570f\u5916\u306b\u306a\u3063\u305f\u308a\u623b\u3063\u305f\u308a\u306a\u5834\u6240)

\n
\n
\n
\nhttps://www.youtube.com/watch?v=gL87DBohRaQ
\n
\n
\u74b0\u5883
\n
\n
$ dpkg-query -W iputils-ping curl coreutils\ncoreutils\t8.30-3\ncurl\t7.64.0-4+deb10u1\niputils-ping\t3:20180629-2+deb10u2\n$ lsb_release -dr\nDescription:\tRaspbian GNU/Linux 10 (buster)\nRelease:\t10\n$ arch\narmv7l\n$ cat /proc/device-tree/model ;echo\nRaspberry Pi 3 Model B Rev 1.2
\n
\n
\n", "content_text": "ping\u306e\u30ab\u30e9\u30d5\u30eb\u306a\u30e9\u30c3\u30d1\u30fc\u306e prettyping \u3068\u3044\u3046\u3082\u306e\u3092\u77e5\u308a\u307e\u3057\u305f\uff0e\n\n\n\nprettyping\n\n\nprettyping: the htop of the ping command : commandline\n\n\n\n\n\n\n\u5c11\u3057\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\n\n\n$ curl -O https://raw.githubusercontent.com/denilsonsa/prettyping/master/prettyping\n$ install -m 755 ./prettyping ~/bin/\n$ ls -l ~/bin/prettyping\n-rwxr-xr-x 1 pi pi 23396 Apr 1 22:08 /home/pi/bin/prettyping\n$ ~/bin/prettyping 1.1.1.1\n0 \u2581 10 \u2582 20 \u2583 30 \u2584 40 \u2585 50 \u2586 60 \u2587 70 \u2588 80 \u2581 90 \u2582 100 \u2583 110 \u2584 120 \u2585 130 \u2586 140 \u2587 150 \u2588 160 \u2581 170 \u2582\n180 \u2583 190 \u2584 200 \u2585 210 \u2586 220 \u2587 230 \u2588 \u221e\nPING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.\n\u2582\u2585\u2588\u2581\u2584\u2582\u2588\n 0/ 7 ( 0%) lost; 76/ 107/ 178ms; last: 76ms\n 0/ 7 ( 0%) lost; 76/ 107/ 178/ 27ms (last 7)\n\n\n\n\u30ab\u30e9\u30fc\u3067\u898b\u308b\u3068\u304d\u308c\u3044\u3067\u3059\uff0e\n\n\n\n\n\n\u5b89\u5b9a\u3057\u305f\u56de\u7dda\u3060\u3068\u7dd1\u3067\u9762\u767d\u304f\u306a\u3044\u306e\u3067\u4e0d\u5b89\u5b9a\u306a\u56de\u7dda\u3084\u9060\u304f\u306e\u30a2\u30c9\u30ec\u30b9\u3092\u6307\u5b9a\u3059\u308b\u3068\u3044\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e\u4eca\u56de\u306f\u96fb\u6ce2\u72b6\u6cc1\u306e\u60aa\u3044\u643a\u5e2f\u56de\u7dda\u3067\u8a66\u3057\u307e\u3057\u305f\uff0e(-120dBM\u524d\u5f8c\u306e\u570f\u5916\u306b\u306a\u3063\u305f\u308a\u623b\u3063\u305f\u308a\u306a\u5834\u6240)\n\n\n\nhttps://www.youtube.com/watch?v=gL87DBohRaQ\n\n\u74b0\u5883\n\n$ dpkg-query -W iputils-ping curl coreutils\ncoreutils\t8.30-3\ncurl\t7.64.0-4+deb10u1\niputils-ping\t3:20180629-2+deb10u2\n$ lsb_release -dr\nDescription:\tRaspbian GNU/Linux 10 (buster)\nRelease:\t10\n$ arch\narmv7l\n$ cat /proc/device-tree/model ;echo\nRaspberry Pi 3 Model B Rev 1.2", "date_published": "2021-04-01T22:24:54+09:00", "date_modified": "2021-04-01T22:29:07+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": [ "ping", "Linux", "Raspberry Pi", "Raspbian Buster" ] }, { "id": "http://matoken.org/blog/?p=3155", "url": "https://matoken.org/blog/2021/03/30/yank-to-seamlessly-select-the-result-of-standard-input-and-copy-it-to-the-clipboard/", "title": "\u6a19\u6e96\u5165\u529b\u306e\u7d50\u679c\u3092\u30b7\u30fc\u30e0\u30ec\u30b9\u306b\u9078\u629e\u3057\u3066\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u306b\u30b3\u30d4\u30fc\u3059\u308b\u300cyank\u300d", "content_html": "
\n

\u30bf\u30fc\u30df\u30ca\u30eb\u304b\u3089\u306e\u6a19\u6e96\u5165\u529b\u306e\u7d50\u679c\u3092\u30b7\u30fc\u30e0\u30ec\u30b9\u306b\u9078\u629e\u3057\u3066\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u306b\u30b3\u30d4\u30fc\u3057\u3066\u304f\u308c\u308b yank \u3068\u3044\u3046\u30b3\u30de\u30f3\u30c9\u3092\u77e5\u308a\u307e\u3057\u305f\uff0e

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

yank\u306f\u5404\u7a2e\u74b0\u5883\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u7528\u610f\u3055\u308c\u3066\u3044\u307e\u3059\uff0e
\nDebian sid amd64 / Ubuntu 21,04 amd64 / Raspberry Pi OS buster armhf \u3067\u306f yank \u3068\u3044\u3046\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u63d0\u4f9b\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u3053\u308c\u3092\u5c0e\u5165\u3057\u307e\u3059\uff0e

\n
\n
\n
\n
$ sudo apt install yank (1)\n$ yank (2)\nbash: yank: command not found\n$ dpkg -L yank | grep bin/ (3)\n/usr/bin/yank-cli
\n
\n
\n
\n
    \n
  1. yank \u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u5c0e\u5165
  2. \n
  3. yank\u30b3\u30de\u30f3\u30c9\u304c\u898b\u3064\u304b\u3089\u306a\u3044
  4. \n
  5. Debian\u7cfb\u3067\u306f\u540d\u524d\u7a7a\u9593\u306e\u885d\u7a81\u306e\u305f\u3081\u306b\u30b3\u30de\u30f3\u30c9\u540d\u304c yank-cli \u306b\u306a\u3063\u3066\u3044\u308b\uff0e
  6. \n
\n
\n
\n

\u3068\u308a\u3042\u3048\u305a\u5c0e\u5165\u3067\u304d\u307e\u3057\u305f\u304c\uff0cDebian\u74b0\u5883\u3060\u3068 yank \u30b3\u30de\u30f3\u30c9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\uff0e\u4ed6\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3068\u540d\u524d\u304c\u7af6\u5408\u3057\u3066\u3057\u307e\u3063\u3066\u3044\u308b\u306e\u3067 yank-cli \u3068\u3057\u3066\u63d0\u4f9b\u3055\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0e

\n
\n
\n
\n
\n

The binary is installed at /usr/bin/yank-cli due to a naming conflict.

\n
\n
\n
\n\u2014 ‘https://github.com/mptre/yank
\n
\n
\n
\n
\n
\n
$ apt-file search /bin/yank\nemboss: /usr/bin/yank\nyank: /usr/bin/yank-cli
\n
\n
\n
\n

\u7af6\u5408\u3057\u3066\u3044\u308b\u306e\u306f\u306a\u3093ds\u697c\u3068\u691c\u7d22\u3057\u3066\u307f\u308b\u3068 emboss \u3068\u3044\u3046\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u3088\u3046\u3067\u3059\uff0e

\n
\n
\n
\n
\n

\u30e8\u30fc\u30ed\u30c3\u30d1\u5206\u5b50\u751f\u7269\u5b66\u30aa\u30fc\u30d7\u30f3\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u30b9\u30a4\u30fc\u30c8
\nEMBOSS \u306f\u3001\u5206\u5b50\u751f\u7269\u5b66\u306e\u30e6\u30fc\u30b6\u30b3\u30df\u30e5\u30cb\u30c6\u30a3 (\u4f8b: EMBnet) \u306e\u305f\u3081\u306b\u958b\u767a\u3055\u308c\u305f \u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u306a\u89e3\u6790\u7528\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u3059\u3002\u3053\u306e\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3092 \u4f7f\u3046\u3053\u3068\u3067\u3001\u69d8\u3005\u306a\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3067\u66f8\u304b\u308c\u305f\u30c7\u30fc\u30bf\u3092\u81ea\u52d5\u7684\u306b\u51e6\u7406\u3057\u305f\u308a\u3001 \u30a6\u30a7\u30d6\u304b\u3089\u914d\u5217\u30c7\u30fc\u30bf\u3092\u900f\u904e\u7684\u306b\u53d6\u5f97\u3057\u305f\u308a\u3082\u3067\u304d\u307e\u3059\u3002\u307e\u305f\u3001\u3053\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u306b\u306f \u62e1\u5f35\u30e9\u30a4\u30d6\u30e9\u30ea\u304c\u542b\u307e\u308c\u3066\u3044\u308b\u306e\u3067\u3001\u771f\u306e\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u7cbe\u795e\u306b\u5247\u3063\u3066 \u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3092\u958b\u767a\u3057\u30ea\u30ea\u30fc\u30b9\u3067\u304d\u308b\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3067\u3059\u3002 \u3055\u3089\u306b\u3001EMBOSS \u306f\u69d8\u3005\u306a\u914d\u5217\u89e3\u6790\u7528\u30d1\u30c3\u30b1\u30fc\u30b8\u3084\u30c4\u30fc\u30eb\u3068\u30b7\u30fc\u30e0\u30ec\u30b9\u306b \u7d71\u5408\u3055\u308c\u3066\u3044\u307e\u3059\u3002EMBOSS \u306f\u3001\u9577\u304f\u7d9a\u3044\u305f\u5546\u7528\u30d1\u30c3\u30b1\u30fc\u30b8\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3078\u306e\u6d41\u308c\u3092 \u65ad\u3061\u5207\u3063\u305f\u306e\u3067\u3059\u3002

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

\u306a\u304b\u306a\u304b\u71b1\u305d\u3046\u306a\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u3088\u3046\u3067\u3059\uff0e

\n
\n
\n
\n
\n

\u4f7f\u308f\u306a\u3044\u306a\u3089alias\u7b49\u3067yank\u306b\u5411\u3051\u3066\u3082\u3044\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e

\n
\n
\n

\u3068\u308a\u3042\u3048\u305a\u5c0e\u5165\u51fa\u6765\u305f\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3059\uff0e

\n
\n
\n

\"yank

\n
\n
\n
\n
$ apt-cache search yank | yank-cli\nelpa-csv-mode - Emacs major mode for editing comma/char separated values\npython3-readlike - GNU Readline-like line editing module\nyank - interactively select and yank terminal output to stdout or xsel
\n
\n
\n
\n

apt-cache search \u306e\u7d50\u679c\u3092 yank \u3067\u53d7\u3051\u3066\u30ab\u30fc\u30bd\u30eb\u306a\u3069\u3067\u5358\u8a9e\u5358\u4f4d\u3067\u79fb\u52d5\u3057\u3066Enter\u3067\u9078\u629e\u3057\u305f\u90e8\u5206\u3092\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u306b\u30b3\u30d4\u30fc\u3057\u307e\u3059\uff0e
\n\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u8cbc\u4ed8\u3051\u3092\u3059\u308b\u3068\u305f\u3057\u304b\u306b\u30b3\u30d4\u30fc\u3055\u308c\u3066\u3044\u307e\u3057\u305f\uff0e
\n\u4f8b\u3048\u3070\u30d1\u30c3\u30b1\u30fc\u30b8\u540d\u3092\u30b3\u30d4\u30fc\u3057\u3066\uff0c $ sudo apt install \\`xsel\\` \u306e\u3088\u3046\u306b\u3057\u3066\u4f7f\u3046\u3068\u4fbf\u5229\u305d\u3046\u3067\u3059\uff0e

\n
\n
\n

\u305d\u306e\u4ed6\u4fbf\u5229\u305d\u3046\u306a\u30aa\u30d7\u30b7\u30e7\u30f3\u3068\u3057\u3066\uff0c -d \u304c\u3042\u308a\u307e\u3059\uff0ecut\u30b3\u30de\u30f3\u30c9\u306e-d\u3068\u540c\u3058\u3088\u3046\u306b\u30c7\u30ea\u30df\u30bf\u304c\u6307\u5b9a\u3067\u304d\u307e\u3059\uff0e

\n
\n
\n

$ nkf -w mntemsadext00_rct.csv | yank-cli -d,

\n
\n
\n

\u3053\u3093\u306a\u611f\u3058\u3067csv\u30d5\u30a1\u30a4\u30eb\u306b , \u3092\u6307\u5b9a\u3057\u3066\u3042\u3052\u308b\u3068\uff0c\u5404\u9805\u76ee\u304c\u30b3\u30d4\u30fc\u3067\u304d\u307e\u3059\uff0e

\n
\n
\n

\u3057\u304b\u3057\uff0cyank\u306f\u30da\u30fc\u30b8\u8de8\u304e\u304c\u51fa\u6765\u306a\u3044\u3088\u3046\u3067\u3059\uff0e\uff11\u30da\u30fc\u30b8\u76ee\u306e\u3082\u306e\u3057\u304b\u30b3\u30d4\u30fc\u3067\u304d\u307e\u305b\u3093\uff0e\u3053\u3046\u3044\u3046\u5834\u5408\u306fyank\u306b\u6e21\u3059\u524d\u306b\u30d5\u30a3\u30eb\u30bf\u3057\u3066\u3042\u3052\u308b\u3068\u3044\u3044\u3088\u3046\u3067\u3059\uff0egrep\u3084\uff0c\u6628\u65e5\u3053\u306eblog\u3067\u7d39\u4ecb\u3057\u305fyank\u3068\u540c\u3058\u4f5c\u8005\u306e\u300cpick\u300d\u3082\u3053\u3046\u3044\u3046\u3068\u304d\u306b\u4fbf\u5229\u3067\u3059\uff0e

\n
\n
\n
\n
$ nkf -w mntemsadext00_rct.csv | grep \u7530\u4ee3 | yank-cli -d,`\n$ nkf -w mntemsadext00_rct.csv | pick | yank-cli -d,`
\n
\n
\n
\n\n
\n
\n

\u306a\u306b\u304b\u306e\u7d50\u679c\u306e\u4e00\u90e8\u304c\u6b32\u3057\u3044\u3068\u304d\u306b\u4fbf\u5229\u305d\u3046\u3067\u3059\uff0e

\n
\n
\n

\n
\n
\n
\u74b0\u58831
\n
\n
$ dpkg-query -W yank pick\npick\t2.0.2-1\nyank\t1.1.0-2\n$ lsb_release -dr\nDescription:\tRaspbian GNU/Linux 10 (buster)\nRelease:\t10\n$ uname -m\narmv7l\n$ cat /proc/device-tree/model ;echo\nRaspberry Pi 3 Model B Rev 1.2
\n
\n
\n
\n
\u74b0\u58832
\n
\n
$ dpkg-query -W yank pick\npick\t2.0.2-1.1\nyank\t1.2.0-1\n$ lsb_release -dr\nDescription:\tDebian GNU/Linux bullseye/sid\nRelease:\tunstable\n$ uname -m\nx86_64
\n
\n
\n", "content_text": "\u30bf\u30fc\u30df\u30ca\u30eb\u304b\u3089\u306e\u6a19\u6e96\u5165\u529b\u306e\u7d50\u679c\u3092\u30b7\u30fc\u30e0\u30ec\u30b9\u306b\u9078\u629e\u3057\u3066\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u306b\u30b3\u30d4\u30fc\u3057\u3066\u304f\u308c\u308b yank \u3068\u3044\u3046\u30b3\u30de\u30f3\u30c9\u3092\u77e5\u308a\u307e\u3057\u305f\uff0e\n\n\n\nmptre/yank: Yank terminal output to clipboard\n\n\n\nyank\u306f\u5404\u7a2e\u74b0\u5883\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u7528\u610f\u3055\u308c\u3066\u3044\u307e\u3059\uff0e\nDebian sid amd64 / Ubuntu 21,04 amd64 / Raspberry Pi OS buster armhf \u3067\u306f yank \u3068\u3044\u3046\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u63d0\u4f9b\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u3053\u308c\u3092\u5c0e\u5165\u3057\u307e\u3059\uff0e\n\n\n\n$ sudo apt install yank (1)\n$ yank (2)\nbash: yank: command not found\n$ dpkg -L yank | grep bin/ (3)\n/usr/bin/yank-cli\n\n\n\n\nyank \u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u5c0e\u5165\nyank\u30b3\u30de\u30f3\u30c9\u304c\u898b\u3064\u304b\u3089\u306a\u3044\nDebian\u7cfb\u3067\u306f\u540d\u524d\u7a7a\u9593\u306e\u885d\u7a81\u306e\u305f\u3081\u306b\u30b3\u30de\u30f3\u30c9\u540d\u304c yank-cli \u306b\u306a\u3063\u3066\u3044\u308b\uff0e\n\n\n\n\u3068\u308a\u3042\u3048\u305a\u5c0e\u5165\u3067\u304d\u307e\u3057\u305f\u304c\uff0cDebian\u74b0\u5883\u3060\u3068 yank \u30b3\u30de\u30f3\u30c9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\uff0e\u4ed6\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3068\u540d\u524d\u304c\u7af6\u5408\u3057\u3066\u3057\u307e\u3063\u3066\u3044\u308b\u306e\u3067 yank-cli \u3068\u3057\u3066\u63d0\u4f9b\u3055\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0e\n\n\n\n\nThe binary is installed at /usr/bin/yank-cli due to a naming conflict.\n\n\n\n\u2014 ‘https://github.com/mptre/yank\n\n\n\n\n\n$ apt-file search /bin/yank\nemboss: /usr/bin/yank\nyank: /usr/bin/yank-cli\n\n\n\n\u7af6\u5408\u3057\u3066\u3044\u308b\u306e\u306f\u306a\u3093ds\u697c\u3068\u691c\u7d22\u3057\u3066\u307f\u308b\u3068 emboss \u3068\u3044\u3046\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u3088\u3046\u3067\u3059\uff0e\n\n\n\n\n\u30e8\u30fc\u30ed\u30c3\u30d1\u5206\u5b50\u751f\u7269\u5b66\u30aa\u30fc\u30d7\u30f3\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u30b9\u30a4\u30fc\u30c8\nEMBOSS \u306f\u3001\u5206\u5b50\u751f\u7269\u5b66\u306e\u30e6\u30fc\u30b6\u30b3\u30df\u30e5\u30cb\u30c6\u30a3 (\u4f8b: EMBnet) \u306e\u305f\u3081\u306b\u958b\u767a\u3055\u308c\u305f \u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u306a\u89e3\u6790\u7528\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u3059\u3002\u3053\u306e\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3092 \u4f7f\u3046\u3053\u3068\u3067\u3001\u69d8\u3005\u306a\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3067\u66f8\u304b\u308c\u305f\u30c7\u30fc\u30bf\u3092\u81ea\u52d5\u7684\u306b\u51e6\u7406\u3057\u305f\u308a\u3001 \u30a6\u30a7\u30d6\u304b\u3089\u914d\u5217\u30c7\u30fc\u30bf\u3092\u900f\u904e\u7684\u306b\u53d6\u5f97\u3057\u305f\u308a\u3082\u3067\u304d\u307e\u3059\u3002\u307e\u305f\u3001\u3053\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u306b\u306f \u62e1\u5f35\u30e9\u30a4\u30d6\u30e9\u30ea\u304c\u542b\u307e\u308c\u3066\u3044\u308b\u306e\u3067\u3001\u771f\u306e\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u7cbe\u795e\u306b\u5247\u3063\u3066 \u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3092\u958b\u767a\u3057\u30ea\u30ea\u30fc\u30b9\u3067\u304d\u308b\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3067\u3059\u3002 \u3055\u3089\u306b\u3001EMBOSS \u306f\u69d8\u3005\u306a\u914d\u5217\u89e3\u6790\u7528\u30d1\u30c3\u30b1\u30fc\u30b8\u3084\u30c4\u30fc\u30eb\u3068\u30b7\u30fc\u30e0\u30ec\u30b9\u306b \u7d71\u5408\u3055\u308c\u3066\u3044\u307e\u3059\u3002EMBOSS \u306f\u3001\u9577\u304f\u7d9a\u3044\u305f\u5546\u7528\u30d1\u30c3\u30b1\u30fc\u30b8\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3078\u306e\u6d41\u308c\u3092 \u65ad\u3061\u5207\u3063\u305f\u306e\u3067\u3059\u3002\n\n\n\n\u2014 Debian\u2009\u2014\u2009sid \u306e emboss \u30d1\u30c3\u30b1\u30fc\u30b8\u306b\u95a2\u3059\u308b\u8a73\u7d30\n\n\n\u306a\u304b\u306a\u304b\u71b1\u305d\u3046\u306a\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u3088\u3046\u3067\u3059\uff0e\n\n\n\n\n\u4f7f\u308f\u306a\u3044\u306a\u3089alias\u7b49\u3067yank\u306b\u5411\u3051\u3066\u3082\u3044\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e\n\n\n\u3068\u308a\u3042\u3048\u305a\u5c0e\u5165\u51fa\u6765\u305f\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3059\uff0e\n\n\n\n\n\n\n$ apt-cache search yank | yank-cli\nelpa-csv-mode - Emacs major mode for editing comma/char separated values\npython3-readlike - GNU Readline-like line editing module\nyank - interactively select and yank terminal output to stdout or xsel\n\n\n\napt-cache search \u306e\u7d50\u679c\u3092 yank \u3067\u53d7\u3051\u3066\u30ab\u30fc\u30bd\u30eb\u306a\u3069\u3067\u5358\u8a9e\u5358\u4f4d\u3067\u79fb\u52d5\u3057\u3066Enter\u3067\u9078\u629e\u3057\u305f\u90e8\u5206\u3092\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u306b\u30b3\u30d4\u30fc\u3057\u307e\u3059\uff0e\n\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u8cbc\u4ed8\u3051\u3092\u3059\u308b\u3068\u305f\u3057\u304b\u306b\u30b3\u30d4\u30fc\u3055\u308c\u3066\u3044\u307e\u3057\u305f\uff0e\n\u4f8b\u3048\u3070\u30d1\u30c3\u30b1\u30fc\u30b8\u540d\u3092\u30b3\u30d4\u30fc\u3057\u3066\uff0c $ sudo apt install \\`xsel\\` \u306e\u3088\u3046\u306b\u3057\u3066\u4f7f\u3046\u3068\u4fbf\u5229\u305d\u3046\u3067\u3059\uff0e\n\n\n\u305d\u306e\u4ed6\u4fbf\u5229\u305d\u3046\u306a\u30aa\u30d7\u30b7\u30e7\u30f3\u3068\u3057\u3066\uff0c -d \u304c\u3042\u308a\u307e\u3059\uff0ecut\u30b3\u30de\u30f3\u30c9\u306e-d\u3068\u540c\u3058\u3088\u3046\u306b\u30c7\u30ea\u30df\u30bf\u304c\u6307\u5b9a\u3067\u304d\u307e\u3059\uff0e\n\n\n$ nkf -w mntemsadext00_rct.csv | yank-cli -d,\n\n\n\u3053\u3093\u306a\u611f\u3058\u3067csv\u30d5\u30a1\u30a4\u30eb\u306b , \u3092\u6307\u5b9a\u3057\u3066\u3042\u3052\u308b\u3068\uff0c\u5404\u9805\u76ee\u304c\u30b3\u30d4\u30fc\u3067\u304d\u307e\u3059\uff0e\n\n\n\u3057\u304b\u3057\uff0cyank\u306f\u30da\u30fc\u30b8\u8de8\u304e\u304c\u51fa\u6765\u306a\u3044\u3088\u3046\u3067\u3059\uff0e\uff11\u30da\u30fc\u30b8\u76ee\u306e\u3082\u306e\u3057\u304b\u30b3\u30d4\u30fc\u3067\u304d\u307e\u305b\u3093\uff0e\u3053\u3046\u3044\u3046\u5834\u5408\u306fyank\u306b\u6e21\u3059\u524d\u306b\u30d5\u30a3\u30eb\u30bf\u3057\u3066\u3042\u3052\u308b\u3068\u3044\u3044\u3088\u3046\u3067\u3059\uff0egrep\u3084\uff0c\u6628\u65e5\u3053\u306eblog\u3067\u7d39\u4ecb\u3057\u305fyank\u3068\u540c\u3058\u4f5c\u8005\u306e\u300cpick\u300d\u3082\u3053\u3046\u3044\u3046\u3068\u304d\u306b\u4fbf\u5229\u3067\u3059\uff0e\n\n\n\n$ nkf -w mntemsadext00_rct.csv | grep \u7530\u4ee3 | yank-cli -d,`\n$ nkf -w mntemsadext00_rct.csv | pick | yank-cli -d,`\n\n\n\n\nyank only sees the first page \u00b7 Issue #41 \u00b7 mptre/yank\n\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u6a19\u6e96\u5165\u529b\u304b\u3089\u3042\u3044\u307e\u3044\u691c\u7d22\u304c\u51fa\u6765\u308b\u300cpick\u300d \u2013 matoken\u2019s meme\n\n\n\n\u306a\u306b\u304b\u306e\u7d50\u679c\u306e\u4e00\u90e8\u304c\u6b32\u3057\u3044\u3068\u304d\u306b\u4fbf\u5229\u305d\u3046\u3067\u3059\uff0e\n\n\n\n\n\n\u74b0\u58831\n\n$ dpkg-query -W yank pick\npick\t2.0.2-1\nyank\t1.1.0-2\n$ lsb_release -dr\nDescription:\tRaspbian GNU/Linux 10 (buster)\nRelease:\t10\n$ uname -m\narmv7l\n$ cat /proc/device-tree/model ;echo\nRaspberry Pi 3 Model B Rev 1.2\n\n\n\n\u74b0\u58832\n\n$ dpkg-query -W yank pick\npick\t2.0.2-1.1\nyank\t1.2.0-1\n$ lsb_release -dr\nDescription:\tDebian GNU/Linux bullseye/sid\nRelease:\tunstable\n$ uname -m\nx86_64", "date_published": "2021-03-30T00:03:15+09:00", "date_modified": "2021-03-30T00:48: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": [ "clipboard", "pick", "yank", "Debian", "Linux", "Raspberry Pi", "Raspbian Buster", "sid" ] }, { "id": "http://matoken.org/blog/?p=3149", "url": "https://matoken.org/blog/2021/03/27/try-terminal-dashboard-wtf/", "title": "\u30bf\u30fc\u30df\u30ca\u30eb\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u306eWTF\u3092\u5c11\u3057\u8a66\u3059", "content_html": "
\n

WTF\u3068\u3044\u3046Go\u88fd\u306e\u30bf\u30fc\u30df\u30ca\u30eb\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u3092\u898b\u304b\u3051\u305f\u306e\u3067\u5c11\u3057\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

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

\u5c0e\u5165\u306fLinux\u306eamd64/armv6/arm64\uff0cmacOS\u306eamd64/arm64\u306fGitHub release\u30da\u30fc\u30b8\u306b\u3042\u308b\u306e\u3067\u305d\u308c\u3092\u4f7f\u3046\u306e\u304c\u624b\u3063\u53d6\u308a\u65e9\u3044\u3067\u3059\uff0e
\n\u4eca\u56de\u306farmv6\u3092Raspberry Pi 3 Model B\u306eRaspberry Pi OS armhf\u3067\u8a66\u3057\u307e\u3057\u305f\uff0e

\n
\n
\n
\n
$ wget https://github.com/wtfutil/wtf/releases/download/v0.36.0/wtf_0.36.0_linux_armv6.tar.gz https://github.com/wtfutil/wtf/releases/download/v0.36.0/wtf_0.36.0_checksums.txt (1)\n$ sha256sum -c ./wtf_0.36.0_checksums.txt 2>&1 | grep wtf_0.36.0_linux_armv6.tar.gz: (2)\nwtf_0.36.0_linux_armv6.tar.gz: OK\n$ tar tvf ./wtf_0.36.0_linux_armv6.tar.gz (3)\n-rw-r--r-- ccummer/staff 34534 2021-03-23 19:20 wtf_0.36.0_linux_armv6/CHANGELOG.md\n-rw-r--r-- ccummer/staff 14878 2018-12-01 01:13 wtf_0.36.0_linux_armv6/LICENSE.md\n-rw-r--r-- ccummer/staff 39700 2021-03-20 13:46 wtf_0.36.0_linux_armv6/README.md\n-rwxr-xr-x ccummer/staff 41615360 2021-03-23 19:35 wtf_0.36.0_linux_armv6/wtfutil\n$ tar xf ./wtf_0.36.0_linux_armv6.tar.gz (4)\n$ wtf_0.36.0_linux_armv6/wtfutil (5)
\n
\n
\n
\n
    \n
  1. Releases \u30da\u30fc\u30b8\u304b\u3089\u6700\u65b0\u306e\u30d0\u30a4\u30ca\u30ea\u3068\u30c1\u30a7\u30c3\u30af\u30b5\u30e0\u30d5\u30a1\u30a4\u30eb\u3092\u5165\u624b
  2. \n
  3. \u30c1\u30a7\u30c3\u30af\u30b5\u30e0\u30d5\u30a1\u30a4\u30eb\u306e\u4e2d\u3092\u898b\u308b\u3068\u6841\u6570\u7684\u306bsha256\u306e\u3088\u3046\u3060\u3063\u305f\u306e\u3067\uff0csha256sum\u3067\u30c1\u30a7\u30c3\u30af\u30b5\u30e0\u3092\u78ba\u8a8d
  4. \n
  5. \u30a2\u30fc\u30ab\u30a4\u30d6\u306e\u78ba\u8a8d
  6. \n
  7. \u30a2\u30fc\u30ab\u30a4\u30d6\u306e\u5c55\u958b
  8. \n
  9. WTF\u8d77\u52d5
  10. \n
\n
\n
\n

\u30d0\u30a4\u30ca\u30ea\u30a2\u30fc\u30ab\u30a4\u30d6\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u5c55\u958b\u3057\u307e\u3057\u305f\uff0e
\nwtf_0.36.0_linux_armv6/wtfutil \u3092\u5b9f\u884c\u3059\u308b\u3068\u65e2\u5b9a\u5024\u3067\u8d77\u52d5\u3057\u307e\u3059\uff0e\u3057\u304b\u3057\u5a18\u306e\u8a2d\u5b9a\u3060\u3068\u30bf\u30fc\u30df\u30ca\u30eb\u30b5\u30a4\u30ba\u56fa\u5b9a\u3060\u3063\u305f\u308a\u3042\u307e\u308a\u5b09\u3057\u304f\u3042\u308a\u307e\u305b\u3093\uff0e

\n
\n
\n

\u30ea\u30dd\u30b8\u30c8\u30ea\u306e _sample_configs \u4ee5\u4e0b\u306b\u30b5\u30f3\u30d7\u30eb\u304c\u3042\u308b\u306e\u3067\u3053\u308c\u3092\u6307\u5b9a\u3057\u3066\u8d77\u52d5\u3057\u3066\u307f\u307e\u3059\uff0e

\n
\n
\n

\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306f\u65e2\u5b9a\u5024\u306f ~/.config/wtf/config.yml \u3092\u4f7f\u3044\u307e\u3059\uff0e\u5b58\u5728\u3057\u306a\u3044\u5834\u5408\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u3082\u306e\u304c\u751f\u6210\u3055\u308c\u307e\u3059\uff0e\u82e5\u3057\u304f\u306f wtf \u306e -c, --config= \u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u6307\u5b9a\u3057\u305f\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u6307\u5b9a\u3067\u304d\u307e\u3059\uff0e

\n
\n
\n
\n
$ wtf_0.36.0_linux_armv6/wtfutil --config=../src/wtf/_sample_configs/sample_config.yml
\n
\n
\n
\n

\"wtf

\n
\n
\n

wtf\u30ea\u30dd\u30b8\u30c8\u30ea\u306e _sample_configs/sample_config.yml \u3092\u6307\u5b9a\u3057\u3066\u8d77\u52d5\u3059\u308b\u3068\u3053\u3093\u306a\u611f\u3058\u3067\u30bf\u30fc\u30df\u30ca\u30eb\u30b5\u30a4\u30ba\u306b\u3082\u8ffd\u5f93\u3057\u3066\u3044\u3044\u611f\u3058\u3067\u3059\uff0e

\n
\n
\n

\"wtf

\n
\n
\n
\n
diff --git a/_sample_configs/sample_config.yml b/_sample_configs/sample_config.yml\nindex e16690a0..fa3bf5c0 100644\n--- a/_sample_configs/sample_config.yml\n+++ b/_sample_configs/sample_config.yml\n@@ -73,10 +73,21 @@ wtf:\n         width: 1\n       refreshInterval: 15\n       sort: \"alphabetical\"\n+    feedreader:\n+      enabled: true\n+      feeds:\n+        - https://nitter.matoken.org/matoken1/rss\n+      feedLimit: 10\n+      position:\n+        top: 1\n+        left: 3\n+        height: 1\n+        width: 1\n+      updateInterval: 14400\n     battery:\n       type: power\n       title: \"\"\u26a1\"\"\n-      enabled: true\n+      enabled: false\n       position:\n         top: 1\n         left: 3
\n
\n
\n
\n

Raspberry Pi\u306f\u96fb\u6e90\u30b9\u30c6\u30fc\u30bf\u30b9\u306f\u898b\u3048\u306a\u3044\u306e\u3067\u7121\u52b9\u306b\u3057\u3066\u4ee3\u308f\u308a\u306bfeedreader\u3092\u6709\u52b9\u306b\u3057\u3066Nitter\u7d4c\u7531\u3067Twitter\u306eRSS\u30d5\u30a3\u30fc\u30c9\u3092\u8868\u793a\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

\n
\n
\n

\u65e5\u672c\u8a9e\u3084\u7d75\u6587\u5b57\u3082\u5d29\u308c\u305a\u8868\u793a\u3067\u304d\u3066\u826f\u3055\u305d\u3046\u3067\u3059\u306d\uff0e

\n
\n
\n

\u305d\u306e\u4ed6\u306b\u3082\u305f\u304f\u3055\u3093\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u3042\u308b\u3088\u3046\u3067\u3059\uff0e\u3053\u3061\u3089\u306e\u30da\u30fc\u30b8\u304b\u3089\u78ba\u8a8d\u3067\u304d\u307e\u3059\uff0e(Nitter\u3092\u901a\u3055\u306a\u304f\u3066\u3082Twitter\u30e2\u30b8\u30e5\u30fc\u30eb\u3082\u3042\u3063\u305f)

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

\u81ea\u5206\u306e\u7528\u9014\u306b\u5408\u308f\u305b\u3066\u8a2d\u5b9a\u3057\u3066\u3044\u304f\u3068\u4fbf\u5229\u305d\u3046\u3067\u3059\uff0e

\n
\n
\n
\u74b0\u5883
\n
\n
$ wtf_0.36.0_linux_armv6/wtfutil --version\n0.36.0 (2021-03-23T10:33:30Z)\n$ lsb_release -dr\nDescription:    Raspbian GNU/Linux 10 (buster)\nRelease:        10\n$ uname -m\narmv7l\n$ cat /proc/device-tree/model ;echo\nRaspberry Pi 3 Model B Rev 1.2
\n
\n
\n", "content_text": "WTF\u3068\u3044\u3046Go\u88fd\u306e\u30bf\u30fc\u30df\u30ca\u30eb\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u3092\u898b\u304b\u3051\u305f\u306e\u3067\u5c11\u3057\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\n\n\nWTF – the terminal dashboard – WTF – the terminal dashboard\nReleases \u00b7 wtfutil/wtf\n\n\n\n\u5c0e\u5165\u306fLinux\u306eamd64/armv6/arm64\uff0cmacOS\u306eamd64/arm64\u306fGitHub release\u30da\u30fc\u30b8\u306b\u3042\u308b\u306e\u3067\u305d\u308c\u3092\u4f7f\u3046\u306e\u304c\u624b\u3063\u53d6\u308a\u65e9\u3044\u3067\u3059\uff0e\n\u4eca\u56de\u306farmv6\u3092Raspberry Pi 3 Model B\u306eRaspberry Pi OS armhf\u3067\u8a66\u3057\u307e\u3057\u305f\uff0e\n\n\n\n$ wget https://github.com/wtfutil/wtf/releases/download/v0.36.0/wtf_0.36.0_linux_armv6.tar.gz https://github.com/wtfutil/wtf/releases/download/v0.36.0/wtf_0.36.0_checksums.txt (1)\n$ sha256sum -c ./wtf_0.36.0_checksums.txt 2>&1 | grep wtf_0.36.0_linux_armv6.tar.gz: (2)\nwtf_0.36.0_linux_armv6.tar.gz: OK\n$ tar tvf ./wtf_0.36.0_linux_armv6.tar.gz (3)\n-rw-r--r-- ccummer/staff 34534 2021-03-23 19:20 wtf_0.36.0_linux_armv6/CHANGELOG.md\n-rw-r--r-- ccummer/staff 14878 2018-12-01 01:13 wtf_0.36.0_linux_armv6/LICENSE.md\n-rw-r--r-- ccummer/staff 39700 2021-03-20 13:46 wtf_0.36.0_linux_armv6/README.md\n-rwxr-xr-x ccummer/staff 41615360 2021-03-23 19:35 wtf_0.36.0_linux_armv6/wtfutil\n$ tar xf ./wtf_0.36.0_linux_armv6.tar.gz (4)\n$ wtf_0.36.0_linux_armv6/wtfutil (5)\n\n\n\n\nReleases \u30da\u30fc\u30b8\u304b\u3089\u6700\u65b0\u306e\u30d0\u30a4\u30ca\u30ea\u3068\u30c1\u30a7\u30c3\u30af\u30b5\u30e0\u30d5\u30a1\u30a4\u30eb\u3092\u5165\u624b\n\u30c1\u30a7\u30c3\u30af\u30b5\u30e0\u30d5\u30a1\u30a4\u30eb\u306e\u4e2d\u3092\u898b\u308b\u3068\u6841\u6570\u7684\u306bsha256\u306e\u3088\u3046\u3060\u3063\u305f\u306e\u3067\uff0csha256sum\u3067\u30c1\u30a7\u30c3\u30af\u30b5\u30e0\u3092\u78ba\u8a8d\n\u30a2\u30fc\u30ab\u30a4\u30d6\u306e\u78ba\u8a8d\n\u30a2\u30fc\u30ab\u30a4\u30d6\u306e\u5c55\u958b\nWTF\u8d77\u52d5\n\n\n\n\u30d0\u30a4\u30ca\u30ea\u30a2\u30fc\u30ab\u30a4\u30d6\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u5c55\u958b\u3057\u307e\u3057\u305f\uff0e\nwtf_0.36.0_linux_armv6/wtfutil \u3092\u5b9f\u884c\u3059\u308b\u3068\u65e2\u5b9a\u5024\u3067\u8d77\u52d5\u3057\u307e\u3059\uff0e\u3057\u304b\u3057\u5a18\u306e\u8a2d\u5b9a\u3060\u3068\u30bf\u30fc\u30df\u30ca\u30eb\u30b5\u30a4\u30ba\u56fa\u5b9a\u3060\u3063\u305f\u308a\u3042\u307e\u308a\u5b09\u3057\u304f\u3042\u308a\u307e\u305b\u3093\uff0e\n\n\n\u30ea\u30dd\u30b8\u30c8\u30ea\u306e _sample_configs \u4ee5\u4e0b\u306b\u30b5\u30f3\u30d7\u30eb\u304c\u3042\u308b\u306e\u3067\u3053\u308c\u3092\u6307\u5b9a\u3057\u3066\u8d77\u52d5\u3057\u3066\u307f\u307e\u3059\uff0e\n\n\n\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306f\u65e2\u5b9a\u5024\u306f ~/.config/wtf/config.yml \u3092\u4f7f\u3044\u307e\u3059\uff0e\u5b58\u5728\u3057\u306a\u3044\u5834\u5408\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u3082\u306e\u304c\u751f\u6210\u3055\u308c\u307e\u3059\uff0e\u82e5\u3057\u304f\u306f wtf \u306e -c, --config= \u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u6307\u5b9a\u3057\u305f\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u6307\u5b9a\u3067\u304d\u307e\u3059\uff0e\n\n\n\n$ wtf_0.36.0_linux_armv6/wtfutil --config=../src/wtf/_sample_configs/sample_config.yml\n\n\n\n\n\n\nwtf\u30ea\u30dd\u30b8\u30c8\u30ea\u306e _sample_configs/sample_config.yml \u3092\u6307\u5b9a\u3057\u3066\u8d77\u52d5\u3059\u308b\u3068\u3053\u3093\u306a\u611f\u3058\u3067\u30bf\u30fc\u30df\u30ca\u30eb\u30b5\u30a4\u30ba\u306b\u3082\u8ffd\u5f93\u3057\u3066\u3044\u3044\u611f\u3058\u3067\u3059\uff0e\n\n\n\n\n\n\ndiff --git a/_sample_configs/sample_config.yml b/_sample_configs/sample_config.yml\nindex e16690a0..fa3bf5c0 100644\n--- a/_sample_configs/sample_config.yml\n+++ b/_sample_configs/sample_config.yml\n@@ -73,10 +73,21 @@ wtf:\n width: 1\n refreshInterval: 15\n sort: \"alphabetical\"\n+ feedreader:\n+ enabled: true\n+ feeds:\n+ - https://nitter.matoken.org/matoken1/rss\n+ feedLimit: 10\n+ position:\n+ top: 1\n+ left: 3\n+ height: 1\n+ width: 1\n+ updateInterval: 14400\n battery:\n type: power\n title: \"\"\n- enabled: true\n+ enabled: false\n position:\n top: 1\n left: 3\n\n\n\nRaspberry Pi\u306f\u96fb\u6e90\u30b9\u30c6\u30fc\u30bf\u30b9\u306f\u898b\u3048\u306a\u3044\u306e\u3067\u7121\u52b9\u306b\u3057\u3066\u4ee3\u308f\u308a\u306bfeedreader\u3092\u6709\u52b9\u306b\u3057\u3066Nitter\u7d4c\u7531\u3067Twitter\u306eRSS\u30d5\u30a3\u30fc\u30c9\u3092\u8868\u793a\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\n\n\u65e5\u672c\u8a9e\u3084\u7d75\u6587\u5b57\u3082\u5d29\u308c\u305a\u8868\u793a\u3067\u304d\u3066\u826f\u3055\u305d\u3046\u3067\u3059\u306d\uff0e\n\n\n\u305d\u306e\u4ed6\u306b\u3082\u305f\u304f\u3055\u3093\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u3042\u308b\u3088\u3046\u3067\u3059\uff0e\u3053\u3061\u3089\u306e\u30da\u30fc\u30b8\u304b\u3089\u78ba\u8a8d\u3067\u304d\u307e\u3059\uff0e(Nitter\u3092\u901a\u3055\u306a\u304f\u3066\u3082Twitter\u30e2\u30b8\u30e5\u30fc\u30eb\u3082\u3042\u3063\u305f)\n\n\n\nHome – WTF – the terminal dashboard\n\n\n\n\u81ea\u5206\u306e\u7528\u9014\u306b\u5408\u308f\u305b\u3066\u8a2d\u5b9a\u3057\u3066\u3044\u304f\u3068\u4fbf\u5229\u305d\u3046\u3067\u3059\uff0e\n\n\n\u74b0\u5883\n\n$ wtf_0.36.0_linux_armv6/wtfutil --version\n0.36.0 (2021-03-23T10:33:30Z)\n$ lsb_release -dr\nDescription: Raspbian GNU/Linux 10 (buster)\nRelease: 10\n$ uname -m\narmv7l\n$ cat /proc/device-tree/model ;echo\nRaspberry Pi 3 Model B Rev 1.2", "date_published": "2021-03-27T23:13:52+09:00", "date_modified": "2021-03-27T23:13:52+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": [ "dashboard", "terminal", "WTF", "Linux", "Raspberry Pi", "Raspbian Buster" ] }, { "id": "http://matoken.org/blog/?p=3147", "url": "https://matoken.org/blog/2021/03/26/burn-os-image-of-raspberry-pi-customize-when-writing-with-new-features-of-raspberry-pi-imager-v1-6/", "title": "Raspberry Pi \u306e OS\u30a4\u30e1\u30fc\u30b8\u3092\u66f8\u304d\u8fbc\u3080 Raspberry Pi Imager v1.6 \u306e\u65b0\u6a5f\u80fd\u3067\u66f8\u304d\u8fbc\u307f\u6642\u306b\u30ab\u30b9\u30bf\u30de\u30a4\u30ba", "content_html": "
\n
\n
\n

Raspberry Pi \u3067\u5229\u7528\u3059\u308b\u30b9\u30c8\u30ec\u30fc\u30b8\u3078\u306eOS\u30a4\u30e1\u30fc\u30b8\u66f8\u304d\u8fbc\u307f\u30c4\u30fc\u30eb\u306eRaspberry Pi Imager\u306e\u6700\u65b0\u7248\u306ev1.6\u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u305f\u3088\u3046\u3067\u3059\uff0e

\n
\n\n
\n

\u81ea\u5206\u306f\u51fa\u305f\u5f53\u521d\u5c11\u3057\u8a66\u3057\u305f\u3060\u3051\u3067\u4ed6\u306e\u30c4\u30fc\u30eb\u306b\u6bd4\u3079\u3066\u5b09\u3057\u3044\u3053\u3068\u304c\u3042\u307e\u308a\u306a\u3044\u3068\u611f\u3058\u305f\u306e\u3067\u4f7f\u3063\u3066\u3044\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\uff0c\u3053\u306ev1.6\u3067\u306f\u30a4\u30e1\u30fc\u30b8\u306e\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u6a5f\u80fd\u304c\u5165\u3063\u305f\u3088\u3046\u306a\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

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

Raspberry Pi Imager\u306e\u5c0e\u5165

\n
\n
\n
\n
$ sudo apt install rpi-imager
\n
\n
\n
\n

Raspberry Pi OS\u3067\u3042\u308c\u3070\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u5b58\u5728\u3059\u308b\u306e\u3067\u3053\u308c\u3092\u5c0e\u5165\u3059\u308c\u3070ok\u3067\u3059\uff0e

\n
\n
\n

Linux/Windows/macOS\u306fGitHub\u306erelease\u30da\u30fc\u30b8\u304b\u3089\u5165\u624b\u3067\u304d\u307e\u3059\uff0e
\n\u82e5\u3057\u304f\u306f\uff0cRaspberry Pi downloads\u30da\u30fc\u30b8\u306b\u3082\u3042\u308a\u307e\u3059\uff0e\u3053\u3061\u3089\u3060\u3068GutHub\u3068\u30d5\u30a1\u30a4\u30eb\u540d\u304c\u9055\u3044\u307e\u3059\u304camd64\u306e.deb\u3092diff\u3057\u3066\u307f\u308b\u3068\u540c\u3058\u3082\u306e\u3067\u7f72\u540d\u30d5\u30a1\u30a4\u30eb\u3082\u3042\u308a\u307e\u3059\uff0e.AppImage\u3082\u3042\u308a\u307e\u3059\u304c\u8a66\u3057\u3066\u307f\u308b\u3068\u6700\u65b0\u3067\u306f\u306a\u3044\u3088\u3046\u3067\u3057\u305f\uff0e

\n
\n
\n
\n
$ wget https://github.com/raspberrypi/rpi-imager/releases/download/v1.6/rpi-imager_1.6_amd64.deb (1)\n$ wget https://downloads.raspberrypi.org/imager/imager_1.6_amd64.deb https://downloads.raspberrypi.org/imager/imager_1.6_amd64.deb.sig (2)\n$ diff ./imager_1.6_amd64.deb ./rpi-imager_1.6_amd64.deb (3)\n$ gpg2 --verify ./imager_1.6_amd64.deb.sig (4)\ngpg: assuming signed data in './imager_1.6_amd64.deb'\ngpg: Signature made Tue 16 Mar 2021 08:56:51 PM JST\ngpg:                using RSA key 54C3DD610D9D1B4AF82A37758738CD6B956F460C\ngpg: Good signature from \"Raspberry Pi Downloads Signing Key\" [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: 54C3 DD61 0D9D 1B4A F82A  3775 8738 CD6B 956F 460C\n$ gpg2 --verify ./imager_1.6_amd64.deb.sig ./rpi-imager_1.6_amd64.deb\ngpg: Signature made Tue 16 Mar 2021 08:56:51 PM JST\ngpg:                using RSA key 54C3DD610D9D1B4AF82A37758738CD6B956F460C\ngpg: Good signature from \"Raspberry Pi Downloads Signing Key\" [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: 54C3 DD61 0D9D 1B4A F82A  3775 8738 CD6B 956F 460C\n$ sudo apt install ././imager_1.6_amd64.deb (5)
\n
\n
\n
\n
    \n
  1. GitHub\u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9
  2. \n
  3. downloads.raspberrypi.org\u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9
  4. \n
  5. \u30d5\u30a1\u30a4\u30eb\u540d\u306f\u9055\u3046\u3051\u3069\u540c\u3058\u5185\u5bb9\u306a\u306e\u3092\u78ba\u8a8d
  6. \n
  7. \u7f72\u540d\u78ba\u8a8d
  8. \n
  9. \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb
  10. \n
\n
\n
\n

Debian sid amd64\u74b0\u5883\u3067\u306fAppImage\u304c\u53e4\u3044\u306e\u3067.deb\u3092\u5c0e\u5165\u3057\u307e\u3057\u305f\uff0e

\n
\n
\n
\n
\n

Imager\u306e\u8d77\u52d5\u3068\u66f8\u304d\u8fbc\u307f\u8a2d\u5b9a

\n
\n
\n

Raspberry Pi \u30ed\u30b4\u306e\u30a2\u30a4\u30b3\u30f3\u306e\u300cImager\u300d\u3084\uff0c rpi-imager \u3092\u5b9f\u884c\u3059\u308b\u3068\u8d77\u52d5\u3057\u307e\u3059\uff0e

\n
\n
\n

\u3053\u3053\u3067\uff0c\u300cctrl + shift + x\u300d\u3092\u62bc\u3059\u3053\u3068\u3067\u4eca\u56de\u306e\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u7528\u306e\u62e1\u5f35\u30aa\u30d7\u30b7\u30e7\u30f3\u753b\u9762\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff0e

\n
\n
\n

\"rpi
\n\"rpi
\n\"rpi
\n\"rpi

\n
\n
\n

\u4eca\u56de\u306fhostname\u306e\u4fee\u6b63\uff0cSSH\u306e\u6709\u52b9\u5316\uff0cssh\u516c\u958b\u9375\u306e\u767b\u9332\uff0cWi-Fi \u8a2d\u5b9a\uff0c\u30bf\u30a4\u30e0\u30be\u30fc\u30f3\u306e\u8a2d\u5b9a\u3092\u884c\u3044\u307e\u3057\u305f\uff0e

\n
\n
\n

\u300cSAVE\u300d\u3057\u3066\u300cRASPBERRY PI OS LITE (32-BIT)\u300d\u3092\u66f8\u304d\u8fbc\u3093\u3067\u307f\u307e\u3057\u305f\uff0e

\n
\n
\n

\u66f8\u304d\u8fbc\u307f\u304c\u7d42\u4e86\u3057\u3066\u30821\u3064\u76ee\u306e\u30d1\u30fc\u30c6\u30a3\u30b7\u30e7\u30f3(/boot)\u304c\u30de\u30a6\u30f3\u30c8\u3055\u308c\u305f\u307e\u307e\u3067\u3057\u305f\uff0e\u3053\u308c\u306f\u30d0\u30b0\u304b\u306a?(1\u56de\u3057\u304b\u8a66\u3057\u3066\u3044\u306a\u3044\u306e\u3067\u52d8\u9055\u3044\u304b\u3082\u3057\u308c\u306a\u3044)

\n
\n
\n
\n
$ mount | grep /dev/mmcblk0p1 (1)\n/dev/mmcblk0p1 on /media/matoken/boot type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)\n$ sudo umount /dev/mmcblk0p1 (2)
\n
\n
\n
\n
    \n
  1. 1\u3064\u76ee\u306e\u30d1\u30fc\u30c6\u30a3\u30b7\u30e7\u30f3\u304c\u30de\u30a6\u30f3\u30c8\u3055\u308c\u305f\u307e\u307e
  2. \n
  3. \u30a2\u30f3\u30de\u30a6\u30f3\u30c8\u3059\u308b
  4. \n
\n
\n
\n
\n
\n

\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u5185\u5bb9\u78ba\u8a8d

\n
\n
\n

\u66f8\u304d\u8fbc\u307e\u308c\u305f\u30e1\u30c7\u30a3\u30a2\u306e\u4e2d\u3092\u898b\u308b\u3068 /boot/firstrun.sh \u304c\u4f5c\u6210\u3055\u308c\u3066\u3044\u307e\u3057\u305f\uff0eRaspberry Pi Imager\u306f\u76f4\u63a5\u8a2d\u5b9a\u3092\u66f8\u304d\u63db\u3048\u308b\u308f\u3051\u3067\u306f\u306a\u304f\uff0cOS\u30a4\u30e1\u30fc\u30b8\u3092\u66f8\u304d\u8fbc\u3093\u3060\u3042\u3068\u5b50\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u3063\u3066\uff0cRaspberry Pi OS\u306e\u521d\u56de\u8d77\u52d5\u6642\u306b\u3053\u306escript\u3092\u5b9f\u884c\u3057\u3066\u8a2d\u5b9a\u3092\u53cd\u6620\u3057\u3066\u3044\u304f\u3088\u3046\u3067\u3059\uff0e

\n
\n
\n
/boot/firstrun.sh
\n
\n
#!/bin/bash\n\nset +e\n\nCURRENT_HOSTNAME=`cat /etc/hostname | tr -d \" \\t\\n\\r\"`\necho raspberrypi-custom >/etc/hostname\nsed -i \"s/127.0.1.1.*$CURRENT_HOSTNAME/127.0.1.1\\traspberrypi-custom/g\" /etc/hosts\nFIRSTUSER=`getent passwd 1000 | cut -d: -f1`\nFIRSTUSERHOME=`getent passwd 1000 | cut -d: -f6`\ninstall -o \"$FIRSTUSER\" -m 700 -d \"$FIRSTUSERHOME/.ssh\"\ninstall -o \"$FIRSTUSER\" -m 600 <(echo \"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPgwY9aZPxN/YoBBzd7TOcCk7EuGO0E9PuUjCHPtTuHP mk@x220\") \"$FIRSTUSERHOME/.ssh/authorized_keys\"\necho 'PasswordAuthentication no' >>/etc/ssh/sshd_config\nsystemctl enable ssh\ncat >/etc/wpa_supplicant/wpa_supplicant.conf <<WPAEOF\ncountry=JP\nctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev\nap_scan=1\n\nupdate_config=1\nnetwork={\n\tssid=\"matoken\"\n\tpsk=\"\u25cb\u25cb\u25cb\u25cb\u25cb\u25cb\u25cb\u25cb\u25cb\u25cb\u25cb\u25cb\"\n}\n\nWPAEOF\nchmod 600 /etc/wpa_supplicant/wpa_supplicant.conf\nrfkill unblock wifi\nfor filename in /var/lib/systemd/rfkill/*:wlan ; do\n  echo 0 > $filename\ndone\nrm -f /etc/xdg/autostart/piwiz.desktop\nrm -f /etc/localtime\necho \"Asia/Tokyo\" >/etc/timezone\ndpkg-reconfigure -f noninteractive tzdata\ncat >/etc/default/keyboard <<KBEOF\nXKBMODEL=\"pc105\"\nXKBLAYOUT=\"us\"\nXKBVARIANT=\"\"\nXKBOPTIONS=\"\"\nKBEOF\ndpkg-reconfigure -f noninteractive keyboard-configuration\nrm -f /boot/firstrun.sh\nsed -i 's| systemd.run.*||g' /boot/cmdline.txt\nexit 0
\n
\n
\n
\n

\u3061\u3087\u3063\u3068\u96d1\u304b\u306a\u3068\u611f\u3058\u308b\u3068\u3053\u308d\u3082\u3042\u308a\u307e\u3059\u304c\u4fbf\u5229\u306a\u611f\u3058\u3067\u3059\uff0e
\n( /etc/wpa_supplicant/wpa_supplicant.conf \u306f wpa_passphrase \u30b3\u30de\u30f3\u30c9\u3092\u901a\u3057\u3066psk\u306b\u3057\u3066\u304a\u304d\u305f\u3044\u3068\u304b)

\n
\n
\n

\u81ea\u5206\u306fsd card\u66f8\u304d\u8fbc\u307f\u524d\u306bPC\u3067\u30de\u30a6\u30f3\u30c8\u3057\u3066\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u6700\u65b0\u306b\u3057\u305f\u308a\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305f\u308a\u3068\u3044\u3063\u305f\u3053\u3068\u3092\u3057\u3066\u3044\u308b\u306e\u3067\uff0csd card\u66f8\u304d\u8fbc\u307f\u3092\u3057\u306a\u304f\u3066\u3082\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u66f8\u304d\u51fa\u3057\u3066\u304f\u308c\u308b\u3068\u5b09\u3057\u3044\u304b\u306a\u3068\u601d\u3044\u307e\u3057\u305f\uff0e

\n
\n
\n
\n
\n

\u30a2\u30f3\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb

\n
\n
\n
\n
$ sudo apt purge rpi-imager\n$ rm -r ~/.config/Raspberry\\ Pi/Imager.conf ~/.cache/Raspberry\\ Pi/Imager
\n
\n
\n
\n

\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u524a\u9664\u3057\u3066\uff0c\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3068\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u524a\u9664\u3057\u307e\u3057\u305f\uff0e

\n
\n
\n
\n
\n

\u74b0\u5883

\n
\n
\n
\n
$ dpkg-query -W rpi-imager\nrpi-imager      1.6\n$ lsb_release -dr\nDescription:    Debian GNU/Linux bullseye/sid\nRelease:        unstable\n$ uname -m\nx86_64
\n
\n
\n
\n
\n", "content_text": "Raspberry Pi \u3067\u5229\u7528\u3059\u308b\u30b9\u30c8\u30ec\u30fc\u30b8\u3078\u306eOS\u30a4\u30e1\u30fc\u30b8\u66f8\u304d\u8fbc\u307f\u30c4\u30fc\u30eb\u306eRaspberry Pi Imager\u306e\u6700\u65b0\u7248\u306ev1.6\u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u305f\u3088\u3046\u3067\u3059\uff0e\n\n\n\nRaspberry Pi Imager update to v1.6 – Raspberry Pi\n\n\n\n\u81ea\u5206\u306f\u51fa\u305f\u5f53\u521d\u5c11\u3057\u8a66\u3057\u305f\u3060\u3051\u3067\u4ed6\u306e\u30c4\u30fc\u30eb\u306b\u6bd4\u3079\u3066\u5b09\u3057\u3044\u3053\u3068\u304c\u3042\u307e\u308a\u306a\u3044\u3068\u611f\u3058\u305f\u306e\u3067\u4f7f\u3063\u3066\u3044\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\uff0c\u3053\u306ev1.6\u3067\u306f\u30a4\u30e1\u30fc\u30b8\u306e\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u6a5f\u80fd\u304c\u5165\u3063\u305f\u3088\u3046\u306a\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\n\n\nRaspberry Pi\u516c\u5f0f\u306eOS\u66f8\u304d\u8fbc\u307f\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306e Raspberry Pi Imager \u3092\u5c11\u3057\u8a66\u3059 \u2013 matoken\u2019s meme\n\n\n\n\n\nRaspberry Pi Imager\u306e\u5c0e\u5165\n\n\n\n$ sudo apt install rpi-imager\n\n\n\nRaspberry Pi OS\u3067\u3042\u308c\u3070\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u5b58\u5728\u3059\u308b\u306e\u3067\u3053\u308c\u3092\u5c0e\u5165\u3059\u308c\u3070ok\u3067\u3059\uff0e\n\n\nLinux/Windows/macOS\u306fGitHub\u306erelease\u30da\u30fc\u30b8\u304b\u3089\u5165\u624b\u3067\u304d\u307e\u3059\uff0e\n\u82e5\u3057\u304f\u306f\uff0cRaspberry Pi downloads\u30da\u30fc\u30b8\u306b\u3082\u3042\u308a\u307e\u3059\uff0e\u3053\u3061\u3089\u3060\u3068GutHub\u3068\u30d5\u30a1\u30a4\u30eb\u540d\u304c\u9055\u3044\u307e\u3059\u304camd64\u306e.deb\u3092diff\u3057\u3066\u307f\u308b\u3068\u540c\u3058\u3082\u306e\u3067\u7f72\u540d\u30d5\u30a1\u30a4\u30eb\u3082\u3042\u308a\u307e\u3059\uff0e.AppImage\u3082\u3042\u308a\u307e\u3059\u304c\u8a66\u3057\u3066\u307f\u308b\u3068\u6700\u65b0\u3067\u306f\u306a\u3044\u3088\u3046\u3067\u3057\u305f\uff0e\n\n\n\n$ wget https://github.com/raspberrypi/rpi-imager/releases/download/v1.6/rpi-imager_1.6_amd64.deb (1)\n$ wget https://downloads.raspberrypi.org/imager/imager_1.6_amd64.deb https://downloads.raspberrypi.org/imager/imager_1.6_amd64.deb.sig (2)\n$ diff ./imager_1.6_amd64.deb ./rpi-imager_1.6_amd64.deb (3)\n$ gpg2 --verify ./imager_1.6_amd64.deb.sig (4)\ngpg: assuming signed data in './imager_1.6_amd64.deb'\ngpg: Signature made Tue 16 Mar 2021 08:56:51 PM JST\ngpg: using RSA key 54C3DD610D9D1B4AF82A37758738CD6B956F460C\ngpg: Good signature from \"Raspberry Pi Downloads Signing Key\" [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: 54C3 DD61 0D9D 1B4A F82A 3775 8738 CD6B 956F 460C\n$ gpg2 --verify ./imager_1.6_amd64.deb.sig ./rpi-imager_1.6_amd64.deb\ngpg: Signature made Tue 16 Mar 2021 08:56:51 PM JST\ngpg: using RSA key 54C3DD610D9D1B4AF82A37758738CD6B956F460C\ngpg: Good signature from \"Raspberry Pi Downloads Signing Key\" [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: 54C3 DD61 0D9D 1B4A F82A 3775 8738 CD6B 956F 460C\n$ sudo apt install ././imager_1.6_amd64.deb (5)\n\n\n\n\nGitHub\u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\ndownloads.raspberrypi.org\u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\n\u30d5\u30a1\u30a4\u30eb\u540d\u306f\u9055\u3046\u3051\u3069\u540c\u3058\u5185\u5bb9\u306a\u306e\u3092\u78ba\u8a8d\n\u7f72\u540d\u78ba\u8a8d\n\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\n\n\n\nDebian sid amd64\u74b0\u5883\u3067\u306fAppImage\u304c\u53e4\u3044\u306e\u3067.deb\u3092\u5c0e\u5165\u3057\u307e\u3057\u305f\uff0e\n\n\n\n\nImager\u306e\u8d77\u52d5\u3068\u66f8\u304d\u8fbc\u307f\u8a2d\u5b9a\n\n\nRaspberry Pi \u30ed\u30b4\u306e\u30a2\u30a4\u30b3\u30f3\u306e\u300cImager\u300d\u3084\uff0c rpi-imager \u3092\u5b9f\u884c\u3059\u308b\u3068\u8d77\u52d5\u3057\u307e\u3059\uff0e\n\n\n\u3053\u3053\u3067\uff0c\u300cctrl + shift + x\u300d\u3092\u62bc\u3059\u3053\u3068\u3067\u4eca\u56de\u306e\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u7528\u306e\u62e1\u5f35\u30aa\u30d7\u30b7\u30e7\u30f3\u753b\u9762\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff0e\n\n\n\n\n\n\n\n\n\u4eca\u56de\u306fhostname\u306e\u4fee\u6b63\uff0cSSH\u306e\u6709\u52b9\u5316\uff0cssh\u516c\u958b\u9375\u306e\u767b\u9332\uff0cWi-Fi \u8a2d\u5b9a\uff0c\u30bf\u30a4\u30e0\u30be\u30fc\u30f3\u306e\u8a2d\u5b9a\u3092\u884c\u3044\u307e\u3057\u305f\uff0e\n\n\n\u300cSAVE\u300d\u3057\u3066\u300cRASPBERRY PI OS LITE (32-BIT)\u300d\u3092\u66f8\u304d\u8fbc\u3093\u3067\u307f\u307e\u3057\u305f\uff0e\n\n\n\u66f8\u304d\u8fbc\u307f\u304c\u7d42\u4e86\u3057\u3066\u30821\u3064\u76ee\u306e\u30d1\u30fc\u30c6\u30a3\u30b7\u30e7\u30f3(/boot)\u304c\u30de\u30a6\u30f3\u30c8\u3055\u308c\u305f\u307e\u307e\u3067\u3057\u305f\uff0e\u3053\u308c\u306f\u30d0\u30b0\u304b\u306a?(1\u56de\u3057\u304b\u8a66\u3057\u3066\u3044\u306a\u3044\u306e\u3067\u52d8\u9055\u3044\u304b\u3082\u3057\u308c\u306a\u3044)\n\n\n\n$ mount | grep /dev/mmcblk0p1 (1)\n/dev/mmcblk0p1 on /media/matoken/boot type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)\n$ sudo umount /dev/mmcblk0p1 (2)\n\n\n\n\n1\u3064\u76ee\u306e\u30d1\u30fc\u30c6\u30a3\u30b7\u30e7\u30f3\u304c\u30de\u30a6\u30f3\u30c8\u3055\u308c\u305f\u307e\u307e\n\u30a2\u30f3\u30de\u30a6\u30f3\u30c8\u3059\u308b\n\n\n\n\n\n\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u5185\u5bb9\u78ba\u8a8d\n\n\n\u66f8\u304d\u8fbc\u307e\u308c\u305f\u30e1\u30c7\u30a3\u30a2\u306e\u4e2d\u3092\u898b\u308b\u3068 /boot/firstrun.sh \u304c\u4f5c\u6210\u3055\u308c\u3066\u3044\u307e\u3057\u305f\uff0eRaspberry Pi Imager\u306f\u76f4\u63a5\u8a2d\u5b9a\u3092\u66f8\u304d\u63db\u3048\u308b\u308f\u3051\u3067\u306f\u306a\u304f\uff0cOS\u30a4\u30e1\u30fc\u30b8\u3092\u66f8\u304d\u8fbc\u3093\u3060\u3042\u3068\u5b50\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u3063\u3066\uff0cRaspberry Pi OS\u306e\u521d\u56de\u8d77\u52d5\u6642\u306b\u3053\u306escript\u3092\u5b9f\u884c\u3057\u3066\u8a2d\u5b9a\u3092\u53cd\u6620\u3057\u3066\u3044\u304f\u3088\u3046\u3067\u3059\uff0e\n\n\n/boot/firstrun.sh\n\n#!/bin/bash\n\nset +e\n\nCURRENT_HOSTNAME=`cat /etc/hostname | tr -d \" \\t\\n\\r\"`\necho raspberrypi-custom >/etc/hostname\nsed -i \"s/127.0.1.1.*$CURRENT_HOSTNAME/127.0.1.1\\traspberrypi-custom/g\" /etc/hosts\nFIRSTUSER=`getent passwd 1000 | cut -d: -f1`\nFIRSTUSERHOME=`getent passwd 1000 | cut -d: -f6`\ninstall -o \"$FIRSTUSER\" -m 700 -d \"$FIRSTUSERHOME/.ssh\"\ninstall -o \"$FIRSTUSER\" -m 600 <(echo \"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPgwY9aZPxN/YoBBzd7TOcCk7EuGO0E9PuUjCHPtTuHP mk@x220\") \"$FIRSTUSERHOME/.ssh/authorized_keys\"\necho 'PasswordAuthentication no' >>/etc/ssh/sshd_config\nsystemctl enable ssh\ncat >/etc/wpa_supplicant/wpa_supplicant.conf <<WPAEOF\ncountry=JP\nctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev\nap_scan=1\n\nupdate_config=1\nnetwork={\n\tssid=\"matoken\"\n\tpsk=\"\u25cb\u25cb\u25cb\u25cb\u25cb\u25cb\u25cb\u25cb\u25cb\u25cb\u25cb\u25cb\"\n}\n\nWPAEOF\nchmod 600 /etc/wpa_supplicant/wpa_supplicant.conf\nrfkill unblock wifi\nfor filename in /var/lib/systemd/rfkill/*:wlan ; do\n echo 0 > $filename\ndone\nrm -f /etc/xdg/autostart/piwiz.desktop\nrm -f /etc/localtime\necho \"Asia/Tokyo\" >/etc/timezone\ndpkg-reconfigure -f noninteractive tzdata\ncat >/etc/default/keyboard <<KBEOF\nXKBMODEL=\"pc105\"\nXKBLAYOUT=\"us\"\nXKBVARIANT=\"\"\nXKBOPTIONS=\"\"\nKBEOF\ndpkg-reconfigure -f noninteractive keyboard-configuration\nrm -f /boot/firstrun.sh\nsed -i 's| systemd.run.*||g' /boot/cmdline.txt\nexit 0\n\n\n\n\u3061\u3087\u3063\u3068\u96d1\u304b\u306a\u3068\u611f\u3058\u308b\u3068\u3053\u308d\u3082\u3042\u308a\u307e\u3059\u304c\u4fbf\u5229\u306a\u611f\u3058\u3067\u3059\uff0e\n( /etc/wpa_supplicant/wpa_supplicant.conf \u306f wpa_passphrase \u30b3\u30de\u30f3\u30c9\u3092\u901a\u3057\u3066psk\u306b\u3057\u3066\u304a\u304d\u305f\u3044\u3068\u304b)\n\n\n\u81ea\u5206\u306fsd card\u66f8\u304d\u8fbc\u307f\u524d\u306bPC\u3067\u30de\u30a6\u30f3\u30c8\u3057\u3066\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u6700\u65b0\u306b\u3057\u305f\u308a\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305f\u308a\u3068\u3044\u3063\u305f\u3053\u3068\u3092\u3057\u3066\u3044\u308b\u306e\u3067\uff0csd card\u66f8\u304d\u8fbc\u307f\u3092\u3057\u306a\u304f\u3066\u3082\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u66f8\u304d\u51fa\u3057\u3066\u304f\u308c\u308b\u3068\u5b09\u3057\u3044\u304b\u306a\u3068\u601d\u3044\u307e\u3057\u305f\uff0e\n\n\n\n\n\u30a2\u30f3\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\n\n\n\n$ sudo apt purge rpi-imager\n$ rm -r ~/.config/Raspberry\\ Pi/Imager.conf ~/.cache/Raspberry\\ Pi/Imager\n\n\n\n\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u524a\u9664\u3057\u3066\uff0c\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3068\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u524a\u9664\u3057\u307e\u3057\u305f\uff0e\n\n\n\n\n\u74b0\u5883\n\n\n\n$ dpkg-query -W rpi-imager\nrpi-imager 1.6\n$ lsb_release -dr\nDescription: Debian GNU/Linux bullseye/sid\nRelease: unstable\n$ uname -m\nx86_64", "date_published": "2021-03-26T22:40:51+09:00", "date_modified": "2021-03-26T22:40:51+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": [ "Imager", "RaspberryPi", "Debian", "Linux", "Raspberry Pi", "Raspbian Buster", "sid" ] }, { "id": "http://matoken.org/blog/?p=3124", "url": "https://matoken.org/blog/2021/03/21/watch-widevine-drm-video-on-raspberry-pi-os-armhf/", "title": "Raspberry Pi OS armhf\u3067WidevineDRM\u30d3\u30c7\u30aa\u3092\u89b3\u3089\u308c\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u306e\u3067\u8a66\u3059", "content_html": "
\n

Raspberry Pi OS armhf\u306b libwidevinecdm0 \u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u5165\u3063\u305f\u3088\u3046\u3067\u3059\uff0eRaspberry Pi 3 Model B\u3067\u3082\u52d5\u4f5c\u3057\u305f\u306e\u3067\u30e1\u30e2\u3057\u3066\u304a\u304d\u307e\u3059\uff0e

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

libwidevinecdm0 \u30d1\u30c3\u30b1\u30fc\u30b8\u306fWidevine\u3068\u3044\u3046DRM\u4ed8\u304d\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u95b2\u89a7\u3059\u308b\u305f\u3081\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u3059\uff0e

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

Widevine\u306f\u7d50\u69cb\u3042\u3061\u3053\u3061\u3067\u898b\u304b\u3051\u307e\u3059\uff0esite\u306b\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30b5\u30fc\u30d3\u30b9\u304c\u8f09\u3063\u3066\u3044\u307e\u3057\u305f\uff0e

\n
\n
\n

\"libwidevinecdm0

\n
\n
\n

\u307e\u305aWidevine\u306b\u975e\u5bfe\u5fdc\u306a\u72b6\u614b\u3067Netflix\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u95b2\u89a7\u3057\u3088\u3046\u3068\u3059\u308b\u3068\u3053\u306e\u3088\u3046\u306a\u30a8\u30e9\u30fc\u306b\u306a\u308a\u307e\u3059\uff0e

\n
\n
\n

\"libwidevinecdm0

\n
\n
\n\n\n\n\n\n\n\n
\n
Note
\n
\nNetflix\u306e\u4f1a\u54e1\u3058\u3083\u306a\u304f\u3066\u3082\u6b21\u3067\u8a66\u305b\u307e\u3059\uff0e
\nTV\u756a\u7d44\u30fb\u30c9\u30e9\u30de\u3092\u7121\u6599\u3067\u8996\u8074 | Netflix \u304a\u8a66\u3057\u7121\u6599\u914d\u4fe1
\n
\n
\n

\u3053\u3053\u3067 libwidevinecdm0 \u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u5c0e\u5165\u3057\u3066Chromium\u3092\u8d77\u52d5\u3057\u306a\u304a\u305b\u3070OK\u306a\u306f\u305a\u3067\u3059\u304c\u3046\u307e\u304f\u884c\u304d\u307e\u305b\u3093\uff0e
\nchrome://components/ \u3092\u898b\u3066\u3082 Widevine \u304c\u51fa\u3066\u304d\u307e\u305b\u3093\uff0e

\n
\n
\n

https://bitmovin.com/demos/drm \u306b\u30a2\u30af\u30bb\u30b9\u3057\u3066\u307f\u308b\u3068\uff0c Detected , using No DRM \u3068\u8868\u793a\u3055\u308cDRM\u304c\u4f7f\u3048\u306a\u3044\u3088\u3046\u3067\u3059\uff0e

\n
\n
\n

Raspberry Pi 4 Model B/400\u4ee5\u5916\u306e\u4e8b\u4f8b\u304c\u898b\u5f53\u305f\u3089\u306a\u3044\u306e\u3067\u3082\u3057\u304b\u3057\u3066\u4f55\u3089\u304b\u306e\u8981\u4ef6\u304c\u8db3\u308a\u306a\u304f\u3066Raspberry Pi 4 \u3088\u308a\u524d\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u306f\u52d5\u304b\u306a\u3044\u306e\u304b\u306a?\u3068\u304b\u601d\u3063\u305f\u306e\u3067\u3059\u304c\uff0c\u3082\u3046\u5c11\u3057\u8abf\u3079\u308b\u3068Raspberry Pi OS\u306eChromium\u306b\u306f\u3000chromium \u3068 chromium-browser \u306e2\u3064\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u3042\u308b\u3088\u3046\u3067\u3059\uff0e

\n
\n
\n
chromium
\n
\n
$ apt show chromium\nPackage: chromium\nVersion: 88.0.4324.146-1~deb10u1\nPriority: optional\nSection: web\nMaintainer: Debian Chromium Team <chromium@packages.debian.org>\nInstalled-Size: 114 MB\nProvides: gnome-www-browser, www-browser\nDepends: libasound2 (>= 1.0.16), libatk-bridge2.0-0 (>= 2.5.3), libatk1.0-0 (>= 2.2.0), libatomic1 (>= 4.8), libatspi2.0-0 (>= 2.9.90), libavcode\nc58 (>= 7:4.0), libavformat58 (>= 7:4.1), libavutil56 (>= 7:4.0), libc6 (>= 2.28), libcairo2 (>= 1.6.0), libcups2 (>= 1.7.0), libdbus-1-3 (>= 1.9\n.14), libdrm2 (>= 2.4.38), libevent-2.1-6 (>= 2.1.8-stable), libexpat1 (>= 2.0.1), libflac8 (>= 1.3.0), libfontconfig1 (>= 2.12.6), libfreetype6\n(>= 2.3.9), libgbm1 (>= 17.1.0~rc2), libgcc1 (>= 1:4.0), libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.39.4), libgtk-3-0 (>= 3.19.12), libha\nrfbuzz0b (>= 2.2.0), libicu63 (>= 63.1-1~), libjpeg62-turbo (>= 1.5.0), libjsoncpp1 (>= 1.7.4), liblcms2-2 (>= 2.2+git20110628), libminizip1 (>=\n1.1), libnspr4 (>= 2:4.9-2~), libnss3 (>= 2:3.22), libopenjp2-7 (>= 2.2.0), libopus0 (>= 1.1), libpango-1.0-0 (>= 1.14.0), libpng16-16 (>= 1.6.2-\n1), libpulse0 (>= 0.99.1), libre2-5 (>= 20160901), libsnappy1v5, libstdc++6 (>= 7), libvpx5 (>= 1.6.0), libwebp6 (>= 0.5.1), libwebpdemux2 (>= 0.\n5.1), libwebpmux3 (>= 0.6.1-2), libx11-6 (>= 2:1.4.99.1), libxcb1 (>= 1.9.2), libxcomposite1 (>= 1:0.3-1), libxdamage1 (>= 1:1.1), libxext6, libx\nfixes3, libxml2 (>= 2.7.4), libxrandr2, libxslt1.1 (>= 1.1.25), zlib1g (>= 1:1.2.2), chromium-common (= 88.0.4324.146-1~deb10u1)\nRecommends: chromium-sandbox\nSuggests: chromium-l10n, chromium-shell, chromium-driver\nConflicts: libgl1-mesa-swx11, libnettle4, libsecret-1-0 (<< 0.18)\nBreaks: chromium-lwn4chrome (<= 1.0-2), chromium-tt-rss-notifier (<= 0.5.2-2)\nHomepage: http://www.chromium.org/Home\nDownload-Size: 48.9 MB\nAPT-Sources: http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages\nDescription: web browser\n Web browser that aims to build a safer, faster, and more stable internet\n browsing experience.\n .\n This package contains the web browser component.
\n
\n
\n
\n
chromium-browser
\n
\n
$ apt show chromium-browser\nPackage: chromium-browser\nVersion: 88.0.4324.187-rpt1\nPriority: optional\nSection: web\nMaintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>\nInstalled-Size: 329 MB\nProvides: chromium, chromium-browser-inspector, www-browser\nPre-Depends: dpkg (>= 1.15.6)\nDepends: libasound2 (>= 1.0.16), libatk-bridge2.0-0 (>= 2.5.3), libatk1.0-0 (>= 2.2.0), libatspi2.0-0 (>= 2.9.90), libc6 (>= 2.18), libcairo2 (>=\n 1.6.0), libcups2 (>= 1.7.0), libdbus-1-3 (>= 1.9.14), libdrm2 (>= 2.4.38), libexpat1 (>= 2.0.1), libgbm1 (>= 17.1.0~rc2), libgcc1 (>= 1:4.3), li\nbgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.39.4), libgtk-3-0 (>= 3.21.5), libnspr4 (>= 2:4.9-2~), libnss3 (>= 2:3.22), libpango-1.0-0 (>= 1\n.14.0), libx11-6 (>= 2:1.4.99.1), libxcb1 (>= 1.9.2), libxcomposite1 (>= 1:0.3-1), libxdamage1 (>= 1:1.1), libxext6, libxfixes3, libxkbcommon0 (>\n= 0.5.0), libxrandr2, libxtst6, bash (>= 4), xdg-utils, chromium-codecs-ffmpeg-extra (= 88.0.4324.187-rpt1) | chromium-codecs-ffmpeg (= 88.0.4324\n.187-rpt1), libraspberrypi0, libgl1-mesa-dri\nRecommends: chromium-browser-l10n\nSuggests: webaccounts-chromium-extension, unity-chromium-extension, adobe-flashplugin\nConflicts: chromium, chromium-browser-inspector\nReplaces: chromium, chromium-browser-inspector\nHomepage: https://chromium.googlesource.com/chromium/src/\nDownload-Size: 103 MB\nAPT-Manual-Installed: no\nAPT-Sources: http://archive.raspberrypi.org/debian buster/main armhf Packages\nDescription: Chromium web browser, open-source version of Chrome\n An open-source browser project that aims to build a safer, faster, and more\n stable way for all Internet users to experience the web.
\n
\n
\n
\n

\u305d\u3057\u3066\u3046\u307e\u304f\u884c\u304b\u306a\u304b\u3063\u305f\u306e\u306f chromium \u3067\u3057\u305f\uff0e
\nchromium-browser \u3092\u5165\u308c\u3066(\u6392\u4ed6\u306a\u306e\u3067 chromim \u30d1\u30c3\u30b1\u30fc\u30b8\u306f\u524a\u9664\u3055\u308c\u308b)\u518d\u5ea6\u8a66\u3059\u3068\uff0cchrome://components/ \u306b Widevine \u304c\u73fe\u308c\u3066\uff0c

\n
\n
\n

\"libwidevinecdm0

\n
\n
\n

https://bitmovin.com/demos/drm \u306b\u30a2\u30af\u30bb\u30b9\u3057\u3066\u307f\u308b\u3068\uff0c Detected , using widevine \u3068\u8868\u793a\u3055\u308c\u308b\u3088\u3046\u306b\u306a\u308aNetflix\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u3082\u95b2\u89a7\u3067\u304d\u307e\u3057\u305f\uff0e

\n
\n
\n

\"libwidevinecdm0

\n
\n
\n\n\n\n\n\n\n\n
\n
Note
\n
\n\u653b\u6bbb\u6a5f\u52d5\u968a SAC_2045 \u3088\u308a\uff0e\u306a\u3093\u3060\u304bOP\u304cPortal\u611f
\n
\n
\n

\u3068\u3044\u3046\u3053\u3068\u3067\uff0cRaspberry Pi 3 Model B + Raspberry Pi OS armhf \u3067\u3082 libwidevinecdm0 \u30d1\u30c3\u30b1\u30fc\u30b8\u3068 chromium-browser \u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u5c0e\u5165\u3059\u308b\u3053\u3068\u3067Widevine\u306eDRM\u30b3\u30f3\u30c6\u30f3\u30c4\u304c\u89b3\u3089\u308c\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f :)
\n(DRM\u306a\u3057\u3067\u95b2\u89a7\u3067\u304d\u305f\u307b\u3046\u304c\u5b09\u3057\u3044\u3067\u3059\u304c)

\n
\n
\n
\n
$ sudo apt update\n$ sudo apt install chromium-browser libwidevinecdm0\n$ chromium-browser &
\n
\n
\n
\n
\u74b0\u5883
\n
\n
$ dpkg-query -W chromium-browser* libwidevinecdm0\nchromium-browser        88.0.4324.187-rpt1\nchromium-browser-inspector\nchromium-browser-l10n   88.0.4324.187-rpt1\nlibwidevinecdm0 4.10.1679.0-1\n$ lsb_release -dr\nDescription:    Raspbian GNU/Linux 10 (buster)\nRelease:        10\n$ uname -m\narmv7l\n$ cat /proc/device-tree/model ;echo\nRaspberry Pi 3 Model B Rev 1.2
\n
\n
\n", "content_text": "Raspberry Pi OS armhf\u306b libwidevinecdm0 \u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u5165\u3063\u305f\u3088\u3046\u3067\u3059\uff0eRaspberry Pi 3 Model B\u3067\u3082\u52d5\u4f5c\u3057\u305f\u306e\u3067\u30e1\u30e2\u3057\u3066\u304a\u304d\u307e\u3059\uff0e\n\n\n\nRaspberry Pi OS Gets Official Widevine Support (Allowing You To Play Netflix, Amazon Prime, Hulu, Etc.) – Linux Uprising Blog\n\n\n\nlibwidevinecdm0 \u30d1\u30c3\u30b1\u30fc\u30b8\u306fWidevine\u3068\u3044\u3046DRM\u4ed8\u304d\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u95b2\u89a7\u3059\u308b\u305f\u3081\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u3059\uff0e\n\n\n\nWidevine\n\n\n\nWidevine\u306f\u7d50\u69cb\u3042\u3061\u3053\u3061\u3067\u898b\u304b\u3051\u307e\u3059\uff0esite\u306b\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30b5\u30fc\u30d3\u30b9\u304c\u8f09\u3063\u3066\u3044\u307e\u3057\u305f\uff0e\n\n\n\n\n\n\u307e\u305aWidevine\u306b\u975e\u5bfe\u5fdc\u306a\u72b6\u614b\u3067Netflix\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u95b2\u89a7\u3057\u3088\u3046\u3068\u3059\u308b\u3068\u3053\u306e\u3088\u3046\u306a\u30a8\u30e9\u30fc\u306b\u306a\u308a\u307e\u3059\uff0e\n\n\n\n\n\n\n\n\n\nNote\n\n\nNetflix\u306e\u4f1a\u54e1\u3058\u3083\u306a\u304f\u3066\u3082\u6b21\u3067\u8a66\u305b\u307e\u3059\uff0e\nTV\u756a\u7d44\u30fb\u30c9\u30e9\u30de\u3092\u7121\u6599\u3067\u8996\u8074 | Netflix \u304a\u8a66\u3057\u7121\u6599\u914d\u4fe1\n\n\n\n\n\n\u3053\u3053\u3067 libwidevinecdm0 \u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u5c0e\u5165\u3057\u3066Chromium\u3092\u8d77\u52d5\u3057\u306a\u304a\u305b\u3070OK\u306a\u306f\u305a\u3067\u3059\u304c\u3046\u307e\u304f\u884c\u304d\u307e\u305b\u3093\uff0e\nchrome://components/ \u3092\u898b\u3066\u3082 Widevine \u304c\u51fa\u3066\u304d\u307e\u305b\u3093\uff0e\n\n\nhttps://bitmovin.com/demos/drm \u306b\u30a2\u30af\u30bb\u30b9\u3057\u3066\u307f\u308b\u3068\uff0c Detected , using No DRM \u3068\u8868\u793a\u3055\u308cDRM\u304c\u4f7f\u3048\u306a\u3044\u3088\u3046\u3067\u3059\uff0e\n\n\nRaspberry Pi 4 Model B/400\u4ee5\u5916\u306e\u4e8b\u4f8b\u304c\u898b\u5f53\u305f\u3089\u306a\u3044\u306e\u3067\u3082\u3057\u304b\u3057\u3066\u4f55\u3089\u304b\u306e\u8981\u4ef6\u304c\u8db3\u308a\u306a\u304f\u3066Raspberry Pi 4 \u3088\u308a\u524d\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u306f\u52d5\u304b\u306a\u3044\u306e\u304b\u306a?\u3068\u304b\u601d\u3063\u305f\u306e\u3067\u3059\u304c\uff0c\u3082\u3046\u5c11\u3057\u8abf\u3079\u308b\u3068Raspberry Pi OS\u306eChromium\u306b\u306f\u3000chromium \u3068 chromium-browser \u306e2\u3064\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u3042\u308b\u3088\u3046\u3067\u3059\uff0e\n\n\nchromium\n\n$ apt show chromium\nPackage: chromium\nVersion: 88.0.4324.146-1~deb10u1\nPriority: optional\nSection: web\nMaintainer: Debian Chromium Team <chromium@packages.debian.org>\nInstalled-Size: 114 MB\nProvides: gnome-www-browser, www-browser\nDepends: libasound2 (>= 1.0.16), libatk-bridge2.0-0 (>= 2.5.3), libatk1.0-0 (>= 2.2.0), libatomic1 (>= 4.8), libatspi2.0-0 (>= 2.9.90), libavcode\nc58 (>= 7:4.0), libavformat58 (>= 7:4.1), libavutil56 (>= 7:4.0), libc6 (>= 2.28), libcairo2 (>= 1.6.0), libcups2 (>= 1.7.0), libdbus-1-3 (>= 1.9\n.14), libdrm2 (>= 2.4.38), libevent-2.1-6 (>= 2.1.8-stable), libexpat1 (>= 2.0.1), libflac8 (>= 1.3.0), libfontconfig1 (>= 2.12.6), libfreetype6\n(>= 2.3.9), libgbm1 (>= 17.1.0~rc2), libgcc1 (>= 1:4.0), libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.39.4), libgtk-3-0 (>= 3.19.12), libha\nrfbuzz0b (>= 2.2.0), libicu63 (>= 63.1-1~), libjpeg62-turbo (>= 1.5.0), libjsoncpp1 (>= 1.7.4), liblcms2-2 (>= 2.2+git20110628), libminizip1 (>=\n1.1), libnspr4 (>= 2:4.9-2~), libnss3 (>= 2:3.22), libopenjp2-7 (>= 2.2.0), libopus0 (>= 1.1), libpango-1.0-0 (>= 1.14.0), libpng16-16 (>= 1.6.2-\n1), libpulse0 (>= 0.99.1), libre2-5 (>= 20160901), libsnappy1v5, libstdc++6 (>= 7), libvpx5 (>= 1.6.0), libwebp6 (>= 0.5.1), libwebpdemux2 (>= 0.\n5.1), libwebpmux3 (>= 0.6.1-2), libx11-6 (>= 2:1.4.99.1), libxcb1 (>= 1.9.2), libxcomposite1 (>= 1:0.3-1), libxdamage1 (>= 1:1.1), libxext6, libx\nfixes3, libxml2 (>= 2.7.4), libxrandr2, libxslt1.1 (>= 1.1.25), zlib1g (>= 1:1.2.2), chromium-common (= 88.0.4324.146-1~deb10u1)\nRecommends: chromium-sandbox\nSuggests: chromium-l10n, chromium-shell, chromium-driver\nConflicts: libgl1-mesa-swx11, libnettle4, libsecret-1-0 (<< 0.18)\nBreaks: chromium-lwn4chrome (<= 1.0-2), chromium-tt-rss-notifier (<= 0.5.2-2)\nHomepage: http://www.chromium.org/Home\nDownload-Size: 48.9 MB\nAPT-Sources: http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages\nDescription: web browser\n Web browser that aims to build a safer, faster, and more stable internet\n browsing experience.\n .\n This package contains the web browser component.\n\n\n\nchromium-browser\n\n$ apt show chromium-browser\nPackage: chromium-browser\nVersion: 88.0.4324.187-rpt1\nPriority: optional\nSection: web\nMaintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>\nInstalled-Size: 329 MB\nProvides: chromium, chromium-browser-inspector, www-browser\nPre-Depends: dpkg (>= 1.15.6)\nDepends: libasound2 (>= 1.0.16), libatk-bridge2.0-0 (>= 2.5.3), libatk1.0-0 (>= 2.2.0), libatspi2.0-0 (>= 2.9.90), libc6 (>= 2.18), libcairo2 (>=\n 1.6.0), libcups2 (>= 1.7.0), libdbus-1-3 (>= 1.9.14), libdrm2 (>= 2.4.38), libexpat1 (>= 2.0.1), libgbm1 (>= 17.1.0~rc2), libgcc1 (>= 1:4.3), li\nbgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.39.4), libgtk-3-0 (>= 3.21.5), libnspr4 (>= 2:4.9-2~), libnss3 (>= 2:3.22), libpango-1.0-0 (>= 1\n.14.0), libx11-6 (>= 2:1.4.99.1), libxcb1 (>= 1.9.2), libxcomposite1 (>= 1:0.3-1), libxdamage1 (>= 1:1.1), libxext6, libxfixes3, libxkbcommon0 (>\n= 0.5.0), libxrandr2, libxtst6, bash (>= 4), xdg-utils, chromium-codecs-ffmpeg-extra (= 88.0.4324.187-rpt1) | chromium-codecs-ffmpeg (= 88.0.4324\n.187-rpt1), libraspberrypi0, libgl1-mesa-dri\nRecommends: chromium-browser-l10n\nSuggests: webaccounts-chromium-extension, unity-chromium-extension, adobe-flashplugin\nConflicts: chromium, chromium-browser-inspector\nReplaces: chromium, chromium-browser-inspector\nHomepage: https://chromium.googlesource.com/chromium/src/\nDownload-Size: 103 MB\nAPT-Manual-Installed: no\nAPT-Sources: http://archive.raspberrypi.org/debian buster/main armhf Packages\nDescription: Chromium web browser, open-source version of Chrome\n An open-source browser project that aims to build a safer, faster, and more\n stable way for all Internet users to experience the web.\n\n\n\n\u305d\u3057\u3066\u3046\u307e\u304f\u884c\u304b\u306a\u304b\u3063\u305f\u306e\u306f chromium \u3067\u3057\u305f\uff0e\nchromium-browser \u3092\u5165\u308c\u3066(\u6392\u4ed6\u306a\u306e\u3067 chromim \u30d1\u30c3\u30b1\u30fc\u30b8\u306f\u524a\u9664\u3055\u308c\u308b)\u518d\u5ea6\u8a66\u3059\u3068\uff0cchrome://components/ \u306b Widevine \u304c\u73fe\u308c\u3066\uff0c\n\n\n\n\n\nhttps://bitmovin.com/demos/drm \u306b\u30a2\u30af\u30bb\u30b9\u3057\u3066\u307f\u308b\u3068\uff0c Detected , using widevine \u3068\u8868\u793a\u3055\u308c\u308b\u3088\u3046\u306b\u306a\u308aNetflix\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u3082\u95b2\u89a7\u3067\u304d\u307e\u3057\u305f\uff0e\n\n\n\n\n\n\n\n\n\nNote\n\n\n\u653b\u6bbb\u6a5f\u52d5\u968a SAC_2045 \u3088\u308a\uff0e\u306a\u3093\u3060\u304bOP\u304cPortal\u611f\n\n\n\n\n\n\u3068\u3044\u3046\u3053\u3068\u3067\uff0cRaspberry Pi 3 Model B + Raspberry Pi OS armhf \u3067\u3082 libwidevinecdm0 \u30d1\u30c3\u30b1\u30fc\u30b8\u3068 chromium-browser \u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u5c0e\u5165\u3059\u308b\u3053\u3068\u3067Widevine\u306eDRM\u30b3\u30f3\u30c6\u30f3\u30c4\u304c\u89b3\u3089\u308c\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f :)\n(DRM\u306a\u3057\u3067\u95b2\u89a7\u3067\u304d\u305f\u307b\u3046\u304c\u5b09\u3057\u3044\u3067\u3059\u304c)\n\n\n\n$ sudo apt update\n$ sudo apt install chromium-browser libwidevinecdm0\n$ chromium-browser &\n\n\n\n\u74b0\u5883\n\n$ dpkg-query -W chromium-browser* libwidevinecdm0\nchromium-browser 88.0.4324.187-rpt1\nchromium-browser-inspector\nchromium-browser-l10n 88.0.4324.187-rpt1\nlibwidevinecdm0 4.10.1679.0-1\n$ lsb_release -dr\nDescription: Raspbian GNU/Linux 10 (buster)\nRelease: 10\n$ uname -m\narmv7l\n$ cat /proc/device-tree/model ;echo\nRaspberry Pi 3 Model B Rev 1.2", "date_published": "2021-03-21T07:05:39+09:00", "date_modified": "2021-03-21T07:05:39+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", "DRM", "Raspberry Pi 3 B", "Raspberry Pi OS", "RaspberryPi", "Linux", "Raspberry Pi", "Raspbian Buster" ] }, { "id": "http://matoken.org/blog/?p=2881", "url": "https://matoken.org/blog/2020/12/07/do-your-best-to-control-the-temperature-of-raspberry-pi-with-softwar/", "title": "Raspberry Pi \u306e\u6e29\u5ea6\u7ba1\u7406\u3092\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3067\u9811\u5f35\u308b", "content_html": "
\n
\n
\n

\u3053\u306e\u8a18\u4e8b\u306f\u65e5\u672cAndroid\u306e\u4f1a\u79cb\u8449\u539f\u652f\u90e8\u30ed\u30dc\u30c3\u30c8\u90e8 Advent Calendar 2020 \u306e12/07\u5206\u306e\u8a18\u4e8b\u3067\u3059\uff0e

\n
\n
\n

\u5185\u5bb9\u306f \u65e5\u672cAndroid\u306e\u4f1a\u79cb\u8449\u539f\u652f\u90e8\u30ed\u30dc\u30c3\u30c8\u90e8 \u7b2c96\u56de\u52c9\u5f37\u4f1a \u3067\u767a\u8868\u3057\u305f\u5185\u5bb9\u3092\u52a0\u7b46\u4fee\u6b63\u3057\u305f\u3082\u306e\u3067\u3059\uff0e

\n
\n
\n
\n
\n

\u306f\u3058\u3081\u306b

\n
\n
\n

Raspberry Pi \u3068\u3044\u3046\u82f1\u56fd\u767a\u306e\u6559\u80b2\u5411\u3051\u3068\u3057\u30662012\u5e74\u306b\u767a\u58f2\u3055\u308c\u305f\u5b89\u4fa1\u306a\u30b7\u30f3\u30b0\u30eb\u30dc\u30fc\u30c9\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\u304c\u3042\u308a\u307e\u3059\uff0e\u6559\u80b2\u5411\u3051\u3068\u3057\u3066\u767a\u58f2\u3055\u308c\u307e\u3057\u305f\u304c\u8da3\u5473\u306b\u3082\u3088\u304f\u4f7f\u308f\u308c\u3066\u3044\u307e\u3059\uff0eOS\u306f\u6a19\u6e96\u3067\u306fLinux(Debian\u30d9\u30fc\u30b9\u306eRaspberry Pi OS)\u304c\u63a1\u7528\u3055\u308c\u3066\u3044\u307e\u3059\uff0e

\n
\n\n
\n

\u79c1\u306f\u3082\u3063\u3071\u3089\u7701\u96fb\u529b\u306eLinux\u30de\u30b7\u30f3\u3068\u3057\u3066\u4f7f\u3046\u3053\u3068\u304c\u591a\u3044\u3067\u3059\uff0e

\n
\n
\n
\n
\n

\u30c8\u30e9\u30d6\u30eb

\n
\n
\n

\u4eca\u590f\u7a7a\u8abf\u306e\u306a\u3044\u90e8\u5c4b\u306e\u81ea\u5b85\u30b5\u30fc\u30d0\u306e\u6a2a\u3067Raspberry Pi 3 model B + Raspberry Pi OS arm64(\u03b2)\u3067\u8a08\u7b97\u3092\u3055\u305b\u3066\u3044\u305f\u306e\u3067\u3059\u304c\uff0c\u3057\u3070\u3089\u304f\u52d5\u304b\u3057\u3066\u3044\u308b\u3068\u56fa\u307e\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\uff0e

\n
\n\n
\n

\u518d\u8d77\u52d5\u3059\u308c\u3070\u3057\u3070\u3089\u304f\u52d5\u304d\u307e\u3059\u304c\u3057\u3070\u3089\u304f\u3059\u308b\u3068\u3084\u306f\u308a\u56fa\u307e\u308a\u307e\u3059\uff0e\u3053\u308c\u3092\u3069\u3046\u306b\u304b\u51fa\u6765\u306a\u3044\u304b\u3068\u8abf\u3079\u3066\u307f\u307e\u3057\u305f\uff0e

\n
\n
\n
\n
\n

\u30ed\u30b0\u306e\u53d6\u5f97

\n
\n
\n

\u307e\u305a\u306f\u30ed\u30b0\u3092\u9332\u3063\u3066\u307f\u307e\u3059\uff0e

\n
\n
\n
crontab\u30671\u5206\u6bce\u306b\u60c5\u5831\u3092\u8a18\u9332
\n
\n
* * * * *       printf \"`date +\\%s`,`cat /sys/class/thermal/thermal_zone0/temp`,`echo \"obase=2; ibase=16; \\`vcgencmd get_throttled | cut -f2 -dx\\`\" | bc`,`vcgencmd measure_clock arm|cut -f2 -d=`\\n\" >> ~/.temp.log
\n
\n
\n
\n

\u5185\u5bb9\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u3059\uff0e(\u5916\u6c17\u6e29\u5ea6\u3082\u9332\u308c\u3070\u3088\u304b\u3063\u305f)

\n
\n
\n
\n
UNIX Time
\n
date +%s
\n
SoC\u6e29\u5ea6
\n
/sys/class/thermal/thermal_zone0/temp
\n
\u30b9\u30ed\u30c3\u30c8\u30ea\u30f3\u30b0\u5468\u308a\u306e\u30d5\u30e9\u30b0
\n
vcgencmd get_throttled
\n
arm\u5468\u6ce2\u6570
\n
vcgencmd measure_clock arm
\n
\n
\n
\n

\u30ed\u30b0\u304c\u30d5\u30a1\u30a4\u30eb\u306b\u66f8\u304b\u308c\u308b\u9593\u306b\u30d5\u30ea\u30fc\u30ba\u3057\u3066\u30c7\u30fc\u30bf\u304c\u5931\u308f\u308c\u308b\u306e\u3092\u9632\u3050\u305f\u3081\u306b /etc/fstab \u306e\u30de\u30a6\u30f3\u30c8\u30aa\u30d7\u30b7\u30e7\u30f3\u306b sync \u30aa\u30d7\u30b7\u30e7\u30f3\u3082\u4ed8\u3051\u3066\u304a\u304d\u307e\u3059\uff0e(\u518d\u8d77\u52d5\u304bremount\u3067\u53cd\u6620)

\n
\n
\n

\u30ed\u30b0\u3092\u53d6\u5f97\u3057\u3066\u3044\u308b\u72b6\u614b\u3067\u8ca0\u8377\u3092\u639b\u3051\u307e\u3059\uff0e\u4eca\u56de\u306f /dev/urandom \u3092cat\u3059\u308b\u3053\u3068\u3067\u8a08\u7b97\u3055\u305b\u307e\u3057\u305f\uff0e\u4eca\u56de\u306eRaspberry Pi 3 model B\u306f4core\u3042\u308b\u306e\u30674\u3064\u52d5\u304b\u3057\u3066\u3044\u307e\u3059\uff0e

\n
\n
\n
\u4eca\u56de\u306e\u30c6\u30b9\u30c8\u3067\u4f7f\u3063\u305f\u8ca0\u8377(\u3044\u3064\u3082\u306fvanity address/vtt\u3068\u304b\u3068\u304b)
\n
\n
$ cat /dev/urandom > /dev/null &\n$ cat /dev/urandom > /dev/null &\n$ cat /dev/urandom > /dev/null &\n$ cat /dev/urandom > /dev/null &
\n
\n
\n
\n
\n
\n

\u71b1\u304c\u539f\u56e0?

\n
\n
\n

\u3057\u3070\u3089\u304f\u52d5\u304b\u3057\u3066Raspberry Pi\u304c\u56fa\u307e\u3063\u305f\u5f8c\u306b\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u307f\u307e\u3059\uff0e
\nSoC\u306e\u6e29\u5ea6\u304c85\u5ea6\u3092\u4f55\u5ea6\u304b\u8a18\u9332\u3057\u305f\u5f8c\u306b\u56fa\u307e\u3063\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0e
\n85\u5ea6\u3068\u3044\u3046\u306e\u306fRaspberry Pi OS\u3067\u306e\u6a19\u6e96\u306eSoC\u5236\u9650\u6e29\u5ea6\u306e\u3088\u3046\u3067\u3059\uff0e\u3053\u306e\u6e29\u5ea6\u306e5\u5ea6\u524d(\u6a19\u6e96\u3067\u306f80\u5ea6)\u304b\u3089\u30b5\u30fc\u30de\u30eb\u30b9\u30ed\u30c3\u30c8\u30ea\u30f3\u30b0\u304c\u59cb\u307e\u308b\u3088\u3046\u3067\u3059\uff0e

\n
\n
\n

\u30b5\u30fc\u30de\u30eb\u30b9\u30ed\u30c3\u30c8\u30ea\u30f3\u30b0\u3067\u30af\u30ed\u30c3\u30af\u304c\u4e0b\u304c\u3063\u3066\u6e29\u5ea6\u304c\u4e0b\u304c\u308c\u3070\u554f\u984c\u7121\u3055\u305d\u3046\u3060\u3051\u306980\u5ea6\u304b\u3089\u30af\u30ed\u30c3\u30af\u304c\u4e0b\u304c\u3063\u3066\u308285\u5ea6\u3092\u8d85\u3048\u3066\u56fa\u307e\u3063\u3066\u3057\u307e\u3063\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0e
\n\u30d9\u30fc\u30bf\u7248\u306eRaspberry Pi OS amd64\u3092\u4f7f\u3063\u3066\u3044\u308b\u305b\u3044\u304b\u3082\u3057\u308c\u306a\u3044\u3068\u601d\u3044\uff0c\u6a19\u6e96\u306eRaspberry Pi OS armhf(32bit)\u7248\u306b\u5909\u66f4\u3057\u3066\u540c\u69d8\u306b\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\u304c\u540c\u69d8\u306e\u52d5\u304d\u306e\u3088\u3046\u3067\u3059\uff0e

\n
\n
\n

\u6b63\u653b\u6cd5\u3068\u3057\u3066\u306f\u30d2\u30fc\u30c8\u30b7\u30f3\u30af\uff0c\u30d5\u30a1\u30f3\u306e\u5897\u8a2d\u3084\u7a7a\u8abf\u3092\u5165\u308c\u308b\u3068\u3088\u3055\u305d\u3046\u3067\u3059\u304c\uff0c\u91d1\u6b20\u306a\u306e\u3067\u3068\u308a\u3042\u3048\u305a\u30bd\u30d5\u30c8\u3060\u3051\u3067\u3069\u3046\u306b\u304b\u51fa\u6765\u306a\u3044\u304b\u3068\u8a66\u3057\u307e\u3057\u305f\uff0e

\n
\n
\n
\n
\n

SoC\u5236\u9650\u6e29\u5ea6\u3092\u4e0b\u3052\u308b

\n
\n
\n

\u307e\u305aSoC\u306e\u5236\u9650\u6e29\u5ea6\u3067\u3059\u304c\uff0c\u516c\u5f0f\u30d5\u30a9\u30fc\u30e9\u30e0\u306770\u5ea6\u4ee5\u4e0b\u306b\u3057\u305f\u307b\u3046\u304c\u3044\u3044\u3068\u3044\u3046\u66f8\u304d\u8fbc\u307f\u3092\u898b\u304b\u3051\u307e\u3057\u305f\uff0e\u9006\u306b100\u5ea6\u3067\u3082\u5927\u4e08\u592b\u3068\u3044\u3046\u4eba\u3082\u5c45\u308b\u306e\u3067\u3059\u304c\u5b89\u5168\u5074\u306e70\u5ea6\u306b\u3057\u3066\u307f\u307e\u3059\uff0e

\n
\n
\n

\u3053\u306e\u8a2d\u5b9a\u306f /boot/config.txt \u3067\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u8a2d\u5b9a\u3067\u304d\u307e\u3059\uff0e\u4ee5\u4e0b\u306f70\u5ea6\u306b\u8a2d\u5b9a\u305f\u3068\u304d\u306e\u4f8b\u3067\u3059\uff0e\u3053\u306e\u72b6\u614b\u3067\u518d\u8d77\u52d5\u3059\u308b\u3068\u53cd\u6620\u3055\u308c\u307e\u3059\uff0e

\n
\n
\n
\n
temp_limit=70
\n
\n
\n
\n

\u518d\u8d77\u52d5\u5f8c\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067\u8a2d\u5b9a\u304c\u53cd\u6620\u3055\u308c\u3066\u3044\u308b\u304b\u78ba\u8a8d\u304c\u51fa\u6765\u307e\u3059\uff0e

\n
\n
\n
\n
$ vcgencmd get_config int | grep ^temp_limit=\ntemp_limit=70
\n
\n
\n
\n

\u3053\u306e\u72b6\u614b\u3067\u8ca0\u8377\u3092\u639b\u3051\u308b\u306870\u5ea6\u3092\u8d8a\u3048\u308b\u304f\u3089\u3044\u3067\u56fa\u307e\u308a\u307e\u3057\u305f\uff0e\u3084\u306f\u308a\u5236\u9650\u6e29\u5ea6\u3092\u8d8a\u3048\u308b\u3068\u56fa\u307e\u3063\u3066\u3044\u821e\u3046\u3088\u3046\u3067\u3059\uff0e

\n
\n
\n
\n
\n

SoC\u306e\u6700\u5927\u5468\u6ce2\u6570\u3092\u4e0b\u3052\u3066\u307f\u308b

\n
\n
\n

Raspberry Pi 3 model B \u306eSoC\u306f\u6700\u5927\u5468\u6ce2\u65701.2GHz\u3067\u3059\uff0e\u3053\u308c\u3092\u4e0b\u3052\u3066\u307f\u307e\u3059\uff0e

\n
\n
\n

/boot/config.txt \u306e arm_freq= \u3067\u8a2d\u5b9a\u3067\u304d\u307e\u3059\uff0e\u4ee5\u4e0b\u306f800MHz\u306b\u8a2d\u5b9a\u3057\u305f\u3068\u304d\u306e\u4f8b\u3067\u3059\uff0e\u518d\u8d77\u52d5\u3067\u53cd\u6620\u3055\u308c\u307e\u3059\uff0e

\n
\n
\n
\n
arm_freq=800
\n
\n
\n
\n

\u518d\u8d77\u52d5\u5f8c\u306b\u8a2d\u5b9a\u304c\u53cd\u6620\u3055\u308c\u3066\u3044\u308b\u304b\u78ba\u8a8d\u3057\u307e\u3059\uff0e

\n
\n
\n
\n
$ vcgencmd get_config int | grep ^arm_freq=\narm_freq=800
\n
\n
\n
\n

\u3053\u306e\u72b6\u614b\u3067\u8ca0\u8377\u3092\u639b\u3051\u308b\u3068\u3084\u306f\u308a\u56fa\u307e\u308a\u307e\u3059\uff0e\u307e\u3042\u30b5\u30fc\u30de\u30eb\u30b9\u30ed\u30c3\u30c8\u30ea\u30f3\u30b0\u304c\u52b9\u3044\u3066\u3082\u56fa\u307e\u308b\u306e\u3067\u4ed5\u65b9\u304c\u306a\u3044\u611f\u3058\u3067\u3059\uff0e

\n
\n
\n
\n
\n

SoC\u306e\u6700\u5c0f\u5468\u6ce2\u6570\u3092\u4e0b\u3052\u3066\u307f\u308b(\u3053\u308c\u304c\u52b9\u304f\u306e\u3067\u306f?)

\n
\n
\n

\u6b21\u306bSoC\u6700\u5c0f\u5468\u6ce2\u6570\u3092\u4e0b\u3052\u3066\u307f\u307e\u3059\uff0e\u65e2\u5b9a\u5024\u306f600MHz\u3067\uff0c\u30b5\u30fc\u30de\u30eb\u30b9\u30ed\u30c3\u30c8\u30ea\u30f3\u30b0\u3067\u3082\u3053\u3053\u307e\u3067\u4e0b\u304c\u3063\u3066\u3044\u308b\u306e\u3067\u3053\u308c\u3092\u66f4\u306b\u4e0b\u3052\u308b\u3068\u6e29\u5ea6\u304c\u4e0b\u304c\u308a\u305d\u3046\u306a\u6c17\u304c\u3057\u307e\u3059\uff0e

\n
\n
\n

/boot/config.txt \u306e arm_freq_min= \u3067\u8a2d\u5b9a\u3067\u304d\u307e\u3059\uff0e\u4ee5\u4e0b\u306f400MHz\u306b\u8a2d\u5b9a\u3057\u305f\u3068\u304d\u306e\u4f8b\u3067\u3059\uff0e\u518d\u8d77\u52d5\u3067\u53cd\u6620\u3055\u308c\u307e\u3059\uff0e

\n
\n
\n
\n
arm_freq_min=400
\n
\n
\n
\n

\u3057\u304b\u3057\u518d\u8d77\u52d5\u5f8c\u306b\u78ba\u8a8d\u3057\u3066\u307f\u308b\u3068600MHz\u3088\u308a\u4e0b\u306b\u306f\u8a2d\u5b9a\u3067\u304d\u306a\u3044\u307f\u305f\u3044\u3067600MHz\u306b\u306a\u3063\u3066\u3057\u307e\u3044\u307e\u3059\uff0e

\n
\n
\n
\n
$ vcgencmd get_config int | grep ^arm_freq_min=\narm_freq_min=600
\n
\n
\n
\n

\u3053\u306e\u72b6\u614b\u3067\u8ca0\u8377\u3092\u639b\u3051\u308b\u3068\u3084\u306f\u308a600Mhz\u307e\u3067\u3057\u304b\u4e0b\u304c\u3089\u305a\u56fa\u307e\u308a\u307e\u3059\uff0e

\n
\n
\n

\u6b8b\u5ff5\u306a\u304c\u3089Raspberry Pi \u306e\u30b9\u30ed\u30c3\u30c8\u30ea\u30f3\u30b0\u3067\u306f\u7121\u7406\u305d\u3046\u3067\u3059\uff0e

\n
\n
\n
\n
\n

maxcpus\u3067\u30b3\u30a2\u3092\u5236\u9650\u3057\u3066\u307f\u308b

\n
\n
\n

Linux\u306e\u30d6\u30fc\u30c8\u30d1\u30e9\u30e1\u30fc\u30bf\u3067 maxcpus \u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u3067\u30b3\u30a2\u3092\u5236\u9650\u3067\u304d\u307e\u3059\uff0eRaspberry Pi \u306e\u5834\u5408\u306f /boot/cmdline.txt \u3067\u8a2d\u5b9a\u3067\u304d\u307e\u3059\uff0e

\n
\n
\n

\u8a2d\u5b9a\u5f8c\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067\u78ba\u8a8d\u3067\u304d\u307e\u3059\uff0e

\n
\n
\n
\n
$ grep -o -E 'maxcpus=.{0,9} ' /proc/cmdline\nmaxcpus=1\n$ grep ^processor /proc/cpuinfo | wc -l\n1
\n
\n
\n
\n

\u3053\u308c\u3067CPU core1\u6d25\u3067\u52d5\u4f5c\u3057\u3066\u3044\u307e\u3059\uff0e\u3057\u304b\u3057\u6700\u5927\u5468\u6ce2\u6570\u3092600MHz\u304b\u30641core\u3067\u3082\u540c\u69d8\u306b\u30d5\u30ea\u30fc\u30ba\u3057\u3066\u3057\u307e\u3044\u307e\u3057\u305f\uff0e

\n
\n
\n
\n
\n

cpufreq\u3067\u30af\u30ed\u30c3\u30af\u5236\u5fa1

\n
\n
\n

IntelCPU\u306eNotePC\u306a\u3069\u3067\u306fcoufreq\u3092\u4f7f\u3063\u3066\u3053\u306e\u3042\u305f\u308a\u306e\u5236\u5fa1\u3092\u3059\u308b\u306e\u3067\u3059\u304c\uff0c\u3053\u308c\u3067\u3082600mHz\u3088\u308a\u4e0b\u306b\u306f\u4e0b\u3052\u3089\u308c\u306a\u3044\u3088\u3046\u3067\u99c4\u76ee\u3067\u3057\u305f\uff0e

\n
\n
\n
\n
\n

LimitCPU\u3067\u6307\u5b9a\u30d7\u30ed\u30bb\u30b9\u306e\u5236\u9650\u3092\u884c\u3046

\n
\n
\n

LimitCPU\u306f\u6307\u5b9a\u30d7\u30ed\u30bb\u30b9\u3092\u76e3\u8996\u3057\uff0cCPU\u5229\u7528\u7387\u3084%\u3067\u5236\u9650\u3059\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u3059\uff0eLinux, MacOS, *BSD\u306a\u3069\u306eUNIX-Likesystem\u3067\u5229\u7528\u3067\u304d\u307e\u3059\uff0e
\nRaspberry Pi OS\u3067\u306fcpulimit\u30d1\u30c3\u30b1\u30fc\u30b8\u3068\u3057\u3066\u30d1\u30c3\u30b1\u30fc\u30b8\u30f3\u30b0\u3055\u308c\u3066\u304a\u308a\uff0c\u30b3\u30de\u30f3\u30c9\u3082coulimit\u3067\u3059\uff0e

\n
\n
\n
cpulimit\u306e\u5c0e\u5165
\n
\n
$ sudo apt install cpulimit
\n
\n
\n
\n

cpulimit\u30b3\u30de\u30f3\u30c9\u306b\u5236\u9650\u3057\u305f\u3044\u30d7\u30ed\u30bb\u30b9ID\u3084\u30d7\u30ed\u30bb\u30b9\u540d\u3068\u5236\u9650\u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u3067\u52d5\u4f5c\u3057\u307e\u3059\uff0e

\n
\n
\n
cat \u304b\u3089\u306f\u3058\u307e\u308b\u30d7\u30ed\u30bb\u30b9\u309250%\u306b\u5236\u9650
\n
\n
$ pgrep ^cat | xargs -n1 -I{} sh -c \"cpulimit -p {} -l 50 -v &\"
\n
\n
\n
\n

cpulimit\u306750%\u306b\u5236\u9650\u3057\u3066\u307f\u305ft\u9803\u6e29\u5ea6\u304c\u4e0b\u304c\u308b\u306e\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3057\u305f\uff0e\u6570\u65e5\u52d5\u304b\u3057\u3066\u3082\u56fa\u307e\u3089\u306a\u304f\u306a\u3063\u305f\u3088\u3046\u3067\u3059\uff0e
\n\u5b9a\u671f\u7684\u306bSoC\u306e\u6e29\u5ea6\u3092\u78ba\u8a8d\u3057\u3066\u5236\u9650\u3092\u5909\u66f4\u3057\u3066\u3044\u304f\u3068\u826f\u3055\u305d\u3046\u3067\u3046s\uff0e

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

LimitCPU\u306fCPUlimit\u306e\u958b\u767a\u304c\u6b62\u307e\u3063\u305f\u5f8c\u306e\u30d5\u30a9\u30fc\u30af\u3067\u3059\u304c\uff0c\u305d\u306e\u5f8cCPUlimit\u304c\u65b0\u3057\u304f\u958b\u767a\u304c\u59cb\u307e\u3063\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0e\u8a73\u7d30\u306f\u4ee5\u4e0b\u306e\u30da\u30fc\u30b8\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\uff0e

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

cgroup\u3067CPU\u30ea\u30bd\u30fc\u30b9\u5236\u9650(\u672a\u78ba\u8a8d)

\n
\n
\n

LimitCPU\u304c\u52b9\u3044\u305f\u306e\u3067\u6050\u3089\u304fcgroup\u3067\u306eCPU\u30ea\u30bd\u30fc\u30b9\u5236\u9650\u3067\u3082\u5927\u4e08\u592b\u305d\u3046\u3067\u3059\uff0e(\u672a\u78ba\u8a8d)

\n
\n
\n
\n
\n

\u304a\u308f\u308a\u306b

\n
\n
\n

\u73fe\u5728\u306f\u6c17\u6e29\u3082\u4e0b\u304c\u308a\u5236\u9650\u306a\u3069\u3057\u306a\u304f\u3066\u3082\u554f\u984c\u3042\u308a\u307e\u305b\u3093\uff0e\u3067\u3082\u304d\u3063\u3068\u6765\u590f\u306b\u307e\u305f\u8d77\u3053\u308b\u3068\u601d\u3046\u306e\u3067\u305d\u3053\u3067\u307e\u305f\u78ba\u8a8d\u3059\u308b\u3064\u3082\u308a\u3067\u3059\uff0e

\n
\n
\n

\u3057\u304b\u3057\uff0c\u4eca\u56de\u306e\u89e3\u6c7a\u65b9\u6cd5\u306fCPU\u306e\u30ea\u30bd\u30fc\u30b9\u3092\u5236\u9650\u3057\u3066\u6e29\u5ea6\u3092\u4e0b\u3052\u3066\u5c45\u308b\u306e\u3067\u8a08\u7b97\u91cf\u306f\u6e1b\u3063\u3066\u3044\u307e\u3059\uff0e\u7a7a\u8abf\u3092\u5165\u308c\u305f\u308aCPU\u30d5\u30a1\u30f3\u3092\u5c0e\u5165\u3059\u308b\u306e\u304c\u6b63\u653b\u6cd5\u306b\u306a\u308b\u306e\u304b\u306a\u3068\u601d\u3044\u307e\u3059\uff0e
\nCPU\u30d5\u30a1\u30f3\u306f\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u30fc\u304b\u3089\u5404\u7a2e\u767a\u58f2\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u305d\u308c\u3089\u3092\u4f7f\u3046\u304bDIY\u3059\u308b\u611f\u3058\u306b\u306a\u308b\u3068\u601d\u3044\u307e\u3059\uff0e

\n
\n
\n

\u305d\u3046\u3044\u3048\u3070\u6700\u8fd1Raspberry Pi OS\u306e\u8a2d\u5b9a\u30b3\u30de\u30f3\u30c9\u306e raspi-config \u306e\u4e2d\u306b Set behaviour of GPIO fan \u3068\u3044\u3046\u30e1\u30cb\u30e5\u30fc\u304c\u51fa\u6765\u305f\u308a\uff0cRaspberry Pi 4\u306b\u306f\u516c\u5f0f\u306eCPU\u30d5\u30a1\u30f3\u304c\u767a\u58f2\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u3053\u308c\u3089\u3092\u4f7f\u3046\u306e\u304c\u826f\u3055\u305d\u3046\u3067\u3059\uff0e

\n
\n\n
\n
\n

\n", "content_text": "\u3053\u306e\u8a18\u4e8b\u306f\u65e5\u672cAndroid\u306e\u4f1a\u79cb\u8449\u539f\u652f\u90e8\u30ed\u30dc\u30c3\u30c8\u90e8 Advent Calendar 2020 \u306e12/07\u5206\u306e\u8a18\u4e8b\u3067\u3059\uff0e\n\n\n\u5185\u5bb9\u306f \u65e5\u672cAndroid\u306e\u4f1a\u79cb\u8449\u539f\u652f\u90e8\u30ed\u30dc\u30c3\u30c8\u90e8 \u7b2c96\u56de\u52c9\u5f37\u4f1a \u3067\u767a\u8868\u3057\u305f\u5185\u5bb9\u3092\u52a0\u7b46\u4fee\u6b63\u3057\u305f\u3082\u306e\u3067\u3059\uff0e\n\n\n\n\n\u306f\u3058\u3081\u306b\n\n\nRaspberry Pi \u3068\u3044\u3046\u82f1\u56fd\u767a\u306e\u6559\u80b2\u5411\u3051\u3068\u3057\u30662012\u5e74\u306b\u767a\u58f2\u3055\u308c\u305f\u5b89\u4fa1\u306a\u30b7\u30f3\u30b0\u30eb\u30dc\u30fc\u30c9\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\u304c\u3042\u308a\u307e\u3059\uff0e\u6559\u80b2\u5411\u3051\u3068\u3057\u3066\u767a\u58f2\u3055\u308c\u307e\u3057\u305f\u304c\u8da3\u5473\u306b\u3082\u3088\u304f\u4f7f\u308f\u308c\u3066\u3044\u307e\u3059\uff0eOS\u306f\u6a19\u6e96\u3067\u306fLinux(Debian\u30d9\u30fc\u30b9\u306eRaspberry Pi OS)\u304c\u63a1\u7528\u3055\u308c\u3066\u3044\u307e\u3059\uff0e\n\n\n\nTeach, Learn, and Make with Raspberry Pi\n\n\n\n\u79c1\u306f\u3082\u3063\u3071\u3089\u7701\u96fb\u529b\u306eLinux\u30de\u30b7\u30f3\u3068\u3057\u3066\u4f7f\u3046\u3053\u3068\u304c\u591a\u3044\u3067\u3059\uff0e\n\n\n\n\n\u30c8\u30e9\u30d6\u30eb\n\n\n\u4eca\u590f\u7a7a\u8abf\u306e\u306a\u3044\u90e8\u5c4b\u306e\u81ea\u5b85\u30b5\u30fc\u30d0\u306e\u6a2a\u3067Raspberry Pi 3 model B + Raspberry Pi OS arm64(\u03b2)\u3067\u8a08\u7b97\u3092\u3055\u305b\u3066\u3044\u305f\u306e\u3067\u3059\u304c\uff0c\u3057\u3070\u3089\u304f\u52d5\u304b\u3057\u3066\u3044\u308b\u3068\u56fa\u307e\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\uff0e\n\n\n\nBuy a Raspberry Pi 3 Model B \u2013 Raspberry Pi\n\n\n\n\u518d\u8d77\u52d5\u3059\u308c\u3070\u3057\u3070\u3089\u304f\u52d5\u304d\u307e\u3059\u304c\u3057\u3070\u3089\u304f\u3059\u308b\u3068\u3084\u306f\u308a\u56fa\u307e\u308a\u307e\u3059\uff0e\u3053\u308c\u3092\u3069\u3046\u306b\u304b\u51fa\u6765\u306a\u3044\u304b\u3068\u8abf\u3079\u3066\u307f\u307e\u3057\u305f\uff0e\n\n\n\n\n\u30ed\u30b0\u306e\u53d6\u5f97\n\n\n\u307e\u305a\u306f\u30ed\u30b0\u3092\u9332\u3063\u3066\u307f\u307e\u3059\uff0e\n\n\ncrontab\u30671\u5206\u6bce\u306b\u60c5\u5831\u3092\u8a18\u9332\n\n* * * * * printf \"`date +\\%s`,`cat /sys/class/thermal/thermal_zone0/temp`,`echo \"obase=2; ibase=16; \\`vcgencmd get_throttled | cut -f2 -dx\\`\" | bc`,`vcgencmd measure_clock arm|cut -f2 -d=`\\n\" >> ~/.temp.log\n\n\n\n\u5185\u5bb9\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u3059\uff0e(\u5916\u6c17\u6e29\u5ea6\u3082\u9332\u308c\u3070\u3088\u304b\u3063\u305f)\n\n\n\nUNIX Time\ndate +%s\nSoC\u6e29\u5ea6\n/sys/class/thermal/thermal_zone0/temp\n\u30b9\u30ed\u30c3\u30c8\u30ea\u30f3\u30b0\u5468\u308a\u306e\u30d5\u30e9\u30b0\nvcgencmd get_throttled\narm\u5468\u6ce2\u6570\nvcgencmd measure_clock arm\n\n\n\n\u30ed\u30b0\u304c\u30d5\u30a1\u30a4\u30eb\u306b\u66f8\u304b\u308c\u308b\u9593\u306b\u30d5\u30ea\u30fc\u30ba\u3057\u3066\u30c7\u30fc\u30bf\u304c\u5931\u308f\u308c\u308b\u306e\u3092\u9632\u3050\u305f\u3081\u306b /etc/fstab \u306e\u30de\u30a6\u30f3\u30c8\u30aa\u30d7\u30b7\u30e7\u30f3\u306b sync \u30aa\u30d7\u30b7\u30e7\u30f3\u3082\u4ed8\u3051\u3066\u304a\u304d\u307e\u3059\uff0e(\u518d\u8d77\u52d5\u304bremount\u3067\u53cd\u6620)\n\n\n\u30ed\u30b0\u3092\u53d6\u5f97\u3057\u3066\u3044\u308b\u72b6\u614b\u3067\u8ca0\u8377\u3092\u639b\u3051\u307e\u3059\uff0e\u4eca\u56de\u306f /dev/urandom \u3092cat\u3059\u308b\u3053\u3068\u3067\u8a08\u7b97\u3055\u305b\u307e\u3057\u305f\uff0e\u4eca\u56de\u306eRaspberry Pi 3 model B\u306f4core\u3042\u308b\u306e\u30674\u3064\u52d5\u304b\u3057\u3066\u3044\u307e\u3059\uff0e\n\n\n\u4eca\u56de\u306e\u30c6\u30b9\u30c8\u3067\u4f7f\u3063\u305f\u8ca0\u8377(\u3044\u3064\u3082\u306fvanity address/vtt\u3068\u304b\u3068\u304b)\n\n$ cat /dev/urandom > /dev/null &\n$ cat /dev/urandom > /dev/null &\n$ cat /dev/urandom > /dev/null &\n$ cat /dev/urandom > /dev/null &\n\n\n\n\n\n\u71b1\u304c\u539f\u56e0?\n\n\n\u3057\u3070\u3089\u304f\u52d5\u304b\u3057\u3066Raspberry Pi\u304c\u56fa\u307e\u3063\u305f\u5f8c\u306b\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u307f\u307e\u3059\uff0e\nSoC\u306e\u6e29\u5ea6\u304c85\u5ea6\u3092\u4f55\u5ea6\u304b\u8a18\u9332\u3057\u305f\u5f8c\u306b\u56fa\u307e\u3063\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0e\n85\u5ea6\u3068\u3044\u3046\u306e\u306fRaspberry Pi OS\u3067\u306e\u6a19\u6e96\u306eSoC\u5236\u9650\u6e29\u5ea6\u306e\u3088\u3046\u3067\u3059\uff0e\u3053\u306e\u6e29\u5ea6\u306e5\u5ea6\u524d(\u6a19\u6e96\u3067\u306f80\u5ea6)\u304b\u3089\u30b5\u30fc\u30de\u30eb\u30b9\u30ed\u30c3\u30c8\u30ea\u30f3\u30b0\u304c\u59cb\u307e\u308b\u3088\u3046\u3067\u3059\uff0e\n\n\n\u30b5\u30fc\u30de\u30eb\u30b9\u30ed\u30c3\u30c8\u30ea\u30f3\u30b0\u3067\u30af\u30ed\u30c3\u30af\u304c\u4e0b\u304c\u3063\u3066\u6e29\u5ea6\u304c\u4e0b\u304c\u308c\u3070\u554f\u984c\u7121\u3055\u305d\u3046\u3060\u3051\u306980\u5ea6\u304b\u3089\u30af\u30ed\u30c3\u30af\u304c\u4e0b\u304c\u3063\u3066\u308285\u5ea6\u3092\u8d85\u3048\u3066\u56fa\u307e\u3063\u3066\u3057\u307e\u3063\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0e\n\u30d9\u30fc\u30bf\u7248\u306eRaspberry Pi OS amd64\u3092\u4f7f\u3063\u3066\u3044\u308b\u305b\u3044\u304b\u3082\u3057\u308c\u306a\u3044\u3068\u601d\u3044\uff0c\u6a19\u6e96\u306eRaspberry Pi OS armhf(32bit)\u7248\u306b\u5909\u66f4\u3057\u3066\u540c\u69d8\u306b\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\u304c\u540c\u69d8\u306e\u52d5\u304d\u306e\u3088\u3046\u3067\u3059\uff0e\n\n\n\u6b63\u653b\u6cd5\u3068\u3057\u3066\u306f\u30d2\u30fc\u30c8\u30b7\u30f3\u30af\uff0c\u30d5\u30a1\u30f3\u306e\u5897\u8a2d\u3084\u7a7a\u8abf\u3092\u5165\u308c\u308b\u3068\u3088\u3055\u305d\u3046\u3067\u3059\u304c\uff0c\u91d1\u6b20\u306a\u306e\u3067\u3068\u308a\u3042\u3048\u305a\u30bd\u30d5\u30c8\u3060\u3051\u3067\u3069\u3046\u306b\u304b\u51fa\u6765\u306a\u3044\u304b\u3068\u8a66\u3057\u307e\u3057\u305f\uff0e\n\n\n\n\nSoC\u5236\u9650\u6e29\u5ea6\u3092\u4e0b\u3052\u308b\n\n\n\u307e\u305aSoC\u306e\u5236\u9650\u6e29\u5ea6\u3067\u3059\u304c\uff0c\u516c\u5f0f\u30d5\u30a9\u30fc\u30e9\u30e0\u306770\u5ea6\u4ee5\u4e0b\u306b\u3057\u305f\u307b\u3046\u304c\u3044\u3044\u3068\u3044\u3046\u66f8\u304d\u8fbc\u307f\u3092\u898b\u304b\u3051\u307e\u3057\u305f\uff0e\u9006\u306b100\u5ea6\u3067\u3082\u5927\u4e08\u592b\u3068\u3044\u3046\u4eba\u3082\u5c45\u308b\u306e\u3067\u3059\u304c\u5b89\u5168\u5074\u306e70\u5ea6\u306b\u3057\u3066\u307f\u307e\u3059\uff0e\n\n\n\u3053\u306e\u8a2d\u5b9a\u306f /boot/config.txt \u3067\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u8a2d\u5b9a\u3067\u304d\u307e\u3059\uff0e\u4ee5\u4e0b\u306f70\u5ea6\u306b\u8a2d\u5b9a\u305f\u3068\u304d\u306e\u4f8b\u3067\u3059\uff0e\u3053\u306e\u72b6\u614b\u3067\u518d\u8d77\u52d5\u3059\u308b\u3068\u53cd\u6620\u3055\u308c\u307e\u3059\uff0e\n\n\n\ntemp_limit=70\n\n\n\n\u518d\u8d77\u52d5\u5f8c\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067\u8a2d\u5b9a\u304c\u53cd\u6620\u3055\u308c\u3066\u3044\u308b\u304b\u78ba\u8a8d\u304c\u51fa\u6765\u307e\u3059\uff0e\n\n\n\n$ vcgencmd get_config int | grep ^temp_limit=\ntemp_limit=70\n\n\n\n\u3053\u306e\u72b6\u614b\u3067\u8ca0\u8377\u3092\u639b\u3051\u308b\u306870\u5ea6\u3092\u8d8a\u3048\u308b\u304f\u3089\u3044\u3067\u56fa\u307e\u308a\u307e\u3057\u305f\uff0e\u3084\u306f\u308a\u5236\u9650\u6e29\u5ea6\u3092\u8d8a\u3048\u308b\u3068\u56fa\u307e\u3063\u3066\u3044\u821e\u3046\u3088\u3046\u3067\u3059\uff0e\n\n\n\n\nSoC\u306e\u6700\u5927\u5468\u6ce2\u6570\u3092\u4e0b\u3052\u3066\u307f\u308b\n\n\nRaspberry Pi 3 model B \u306eSoC\u306f\u6700\u5927\u5468\u6ce2\u65701.2GHz\u3067\u3059\uff0e\u3053\u308c\u3092\u4e0b\u3052\u3066\u307f\u307e\u3059\uff0e\n\n\n/boot/config.txt \u306e arm_freq= \u3067\u8a2d\u5b9a\u3067\u304d\u307e\u3059\uff0e\u4ee5\u4e0b\u306f800MHz\u306b\u8a2d\u5b9a\u3057\u305f\u3068\u304d\u306e\u4f8b\u3067\u3059\uff0e\u518d\u8d77\u52d5\u3067\u53cd\u6620\u3055\u308c\u307e\u3059\uff0e\n\n\n\narm_freq=800\n\n\n\n\u518d\u8d77\u52d5\u5f8c\u306b\u8a2d\u5b9a\u304c\u53cd\u6620\u3055\u308c\u3066\u3044\u308b\u304b\u78ba\u8a8d\u3057\u307e\u3059\uff0e\n\n\n\n$ vcgencmd get_config int | grep ^arm_freq=\narm_freq=800\n\n\n\n\u3053\u306e\u72b6\u614b\u3067\u8ca0\u8377\u3092\u639b\u3051\u308b\u3068\u3084\u306f\u308a\u56fa\u307e\u308a\u307e\u3059\uff0e\u307e\u3042\u30b5\u30fc\u30de\u30eb\u30b9\u30ed\u30c3\u30c8\u30ea\u30f3\u30b0\u304c\u52b9\u3044\u3066\u3082\u56fa\u307e\u308b\u306e\u3067\u4ed5\u65b9\u304c\u306a\u3044\u611f\u3058\u3067\u3059\uff0e\n\n\n\n\nSoC\u306e\u6700\u5c0f\u5468\u6ce2\u6570\u3092\u4e0b\u3052\u3066\u307f\u308b(\u3053\u308c\u304c\u52b9\u304f\u306e\u3067\u306f?)\n\n\n\u6b21\u306bSoC\u6700\u5c0f\u5468\u6ce2\u6570\u3092\u4e0b\u3052\u3066\u307f\u307e\u3059\uff0e\u65e2\u5b9a\u5024\u306f600MHz\u3067\uff0c\u30b5\u30fc\u30de\u30eb\u30b9\u30ed\u30c3\u30c8\u30ea\u30f3\u30b0\u3067\u3082\u3053\u3053\u307e\u3067\u4e0b\u304c\u3063\u3066\u3044\u308b\u306e\u3067\u3053\u308c\u3092\u66f4\u306b\u4e0b\u3052\u308b\u3068\u6e29\u5ea6\u304c\u4e0b\u304c\u308a\u305d\u3046\u306a\u6c17\u304c\u3057\u307e\u3059\uff0e\n\n\n/boot/config.txt \u306e arm_freq_min= \u3067\u8a2d\u5b9a\u3067\u304d\u307e\u3059\uff0e\u4ee5\u4e0b\u306f400MHz\u306b\u8a2d\u5b9a\u3057\u305f\u3068\u304d\u306e\u4f8b\u3067\u3059\uff0e\u518d\u8d77\u52d5\u3067\u53cd\u6620\u3055\u308c\u307e\u3059\uff0e\n\n\n\narm_freq_min=400\n\n\n\n\u3057\u304b\u3057\u518d\u8d77\u52d5\u5f8c\u306b\u78ba\u8a8d\u3057\u3066\u307f\u308b\u3068600MHz\u3088\u308a\u4e0b\u306b\u306f\u8a2d\u5b9a\u3067\u304d\u306a\u3044\u307f\u305f\u3044\u3067600MHz\u306b\u306a\u3063\u3066\u3057\u307e\u3044\u307e\u3059\uff0e\n\n\n\n$ vcgencmd get_config int | grep ^arm_freq_min=\narm_freq_min=600\n\n\n\n\u3053\u306e\u72b6\u614b\u3067\u8ca0\u8377\u3092\u639b\u3051\u308b\u3068\u3084\u306f\u308a600Mhz\u307e\u3067\u3057\u304b\u4e0b\u304c\u3089\u305a\u56fa\u307e\u308a\u307e\u3059\uff0e\n\n\n\u6b8b\u5ff5\u306a\u304c\u3089Raspberry Pi \u306e\u30b9\u30ed\u30c3\u30c8\u30ea\u30f3\u30b0\u3067\u306f\u7121\u7406\u305d\u3046\u3067\u3059\uff0e\n\n\n\n\nmaxcpus\u3067\u30b3\u30a2\u3092\u5236\u9650\u3057\u3066\u307f\u308b\n\n\nLinux\u306e\u30d6\u30fc\u30c8\u30d1\u30e9\u30e1\u30fc\u30bf\u3067 maxcpus \u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u3067\u30b3\u30a2\u3092\u5236\u9650\u3067\u304d\u307e\u3059\uff0eRaspberry Pi \u306e\u5834\u5408\u306f /boot/cmdline.txt \u3067\u8a2d\u5b9a\u3067\u304d\u307e\u3059\uff0e\n\n\n\u8a2d\u5b9a\u5f8c\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067\u78ba\u8a8d\u3067\u304d\u307e\u3059\uff0e\n\n\n\n$ grep -o -E 'maxcpus=.{0,9} ' /proc/cmdline\nmaxcpus=1\n$ grep ^processor /proc/cpuinfo | wc -l\n1\n\n\n\n\u3053\u308c\u3067CPU core1\u6d25\u3067\u52d5\u4f5c\u3057\u3066\u3044\u307e\u3059\uff0e\u3057\u304b\u3057\u6700\u5927\u5468\u6ce2\u6570\u3092600MHz\u304b\u30641core\u3067\u3082\u540c\u69d8\u306b\u30d5\u30ea\u30fc\u30ba\u3057\u3066\u3057\u307e\u3044\u307e\u3057\u305f\uff0e\n\n\n\n\ncpufreq\u3067\u30af\u30ed\u30c3\u30af\u5236\u5fa1\n\n\nIntelCPU\u306eNotePC\u306a\u3069\u3067\u306fcoufreq\u3092\u4f7f\u3063\u3066\u3053\u306e\u3042\u305f\u308a\u306e\u5236\u5fa1\u3092\u3059\u308b\u306e\u3067\u3059\u304c\uff0c\u3053\u308c\u3067\u3082600mHz\u3088\u308a\u4e0b\u306b\u306f\u4e0b\u3052\u3089\u308c\u306a\u3044\u3088\u3046\u3067\u99c4\u76ee\u3067\u3057\u305f\uff0e\n\n\n\n\nLimitCPU\u3067\u6307\u5b9a\u30d7\u30ed\u30bb\u30b9\u306e\u5236\u9650\u3092\u884c\u3046\n\n\nLimitCPU\u306f\u6307\u5b9a\u30d7\u30ed\u30bb\u30b9\u3092\u76e3\u8996\u3057\uff0cCPU\u5229\u7528\u7387\u3084%\u3067\u5236\u9650\u3059\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u3059\uff0eLinux, MacOS, *BSD\u306a\u3069\u306eUNIX-Likesystem\u3067\u5229\u7528\u3067\u304d\u307e\u3059\uff0e\nRaspberry Pi OS\u3067\u306fcpulimit\u30d1\u30c3\u30b1\u30fc\u30b8\u3068\u3057\u3066\u30d1\u30c3\u30b1\u30fc\u30b8\u30f3\u30b0\u3055\u308c\u3066\u304a\u308a\uff0c\u30b3\u30de\u30f3\u30c9\u3082coulimit\u3067\u3059\uff0e\n\n\ncpulimit\u306e\u5c0e\u5165\n\n$ sudo apt install cpulimit\n\n\n\ncpulimit\u30b3\u30de\u30f3\u30c9\u306b\u5236\u9650\u3057\u305f\u3044\u30d7\u30ed\u30bb\u30b9ID\u3084\u30d7\u30ed\u30bb\u30b9\u540d\u3068\u5236\u9650\u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u3067\u52d5\u4f5c\u3057\u307e\u3059\uff0e\n\n\ncat \u304b\u3089\u306f\u3058\u307e\u308b\u30d7\u30ed\u30bb\u30b9\u309250%\u306b\u5236\u9650\n\n$ pgrep ^cat | xargs -n1 -I{} sh -c \"cpulimit -p {} -l 50 -v &\"\n\n\n\ncpulimit\u306750%\u306b\u5236\u9650\u3057\u3066\u307f\u305ft\u9803\u6e29\u5ea6\u304c\u4e0b\u304c\u308b\u306e\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3057\u305f\uff0e\u6570\u65e5\u52d5\u304b\u3057\u3066\u3082\u56fa\u307e\u3089\u306a\u304f\u306a\u3063\u305f\u3088\u3046\u3067\u3059\uff0e\n\u5b9a\u671f\u7684\u306bSoC\u306e\u6e29\u5ea6\u3092\u78ba\u8a8d\u3057\u3066\u5236\u9650\u3092\u5909\u66f4\u3057\u3066\u3044\u304f\u3068\u826f\u3055\u305d\u3046\u3067\u3046s\uff0e\n\n\n\u53c2\u8003URL\n\n\u7279\u5b9a\u30d7\u30ed\u30bb\u30b9\u306ecpu\u5229\u7528\u7387\u3092\u5236\u9650\u3059\u308bcpulimit\u3092\u8a66\u3059 \u2013 matoken\u2019s meme\n\n\n\n\n\nLimitCPU\u306fCPUlimit\u306e\u958b\u767a\u304c\u6b62\u307e\u3063\u305f\u5f8c\u306e\u30d5\u30a9\u30fc\u30af\u3067\u3059\u304c\uff0c\u305d\u306e\u5f8cCPUlimit\u304c\u65b0\u3057\u304f\u958b\u767a\u304c\u59cb\u307e\u3063\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0e\u8a73\u7d30\u306f\u4ee5\u4e0b\u306e\u30da\u30fc\u30b8\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\uff0e\n\n\n\nLimitCPU\n\n\n\n\n\n\n\ncgroup\u3067CPU\u30ea\u30bd\u30fc\u30b9\u5236\u9650(\u672a\u78ba\u8a8d)\n\n\nLimitCPU\u304c\u52b9\u3044\u305f\u306e\u3067\u6050\u3089\u304fcgroup\u3067\u306eCPU\u30ea\u30bd\u30fc\u30b9\u5236\u9650\u3067\u3082\u5927\u4e08\u592b\u305d\u3046\u3067\u3059\uff0e(\u672a\u78ba\u8a8d)\n\n\n\n\n\u304a\u308f\u308a\u306b\n\n\n\u73fe\u5728\u306f\u6c17\u6e29\u3082\u4e0b\u304c\u308a\u5236\u9650\u306a\u3069\u3057\u306a\u304f\u3066\u3082\u554f\u984c\u3042\u308a\u307e\u305b\u3093\uff0e\u3067\u3082\u304d\u3063\u3068\u6765\u590f\u306b\u307e\u305f\u8d77\u3053\u308b\u3068\u601d\u3046\u306e\u3067\u305d\u3053\u3067\u307e\u305f\u78ba\u8a8d\u3059\u308b\u3064\u3082\u308a\u3067\u3059\uff0e\n\n\n\u3057\u304b\u3057\uff0c\u4eca\u56de\u306e\u89e3\u6c7a\u65b9\u6cd5\u306fCPU\u306e\u30ea\u30bd\u30fc\u30b9\u3092\u5236\u9650\u3057\u3066\u6e29\u5ea6\u3092\u4e0b\u3052\u3066\u5c45\u308b\u306e\u3067\u8a08\u7b97\u91cf\u306f\u6e1b\u3063\u3066\u3044\u307e\u3059\uff0e\u7a7a\u8abf\u3092\u5165\u308c\u305f\u308aCPU\u30d5\u30a1\u30f3\u3092\u5c0e\u5165\u3059\u308b\u306e\u304c\u6b63\u653b\u6cd5\u306b\u306a\u308b\u306e\u304b\u306a\u3068\u601d\u3044\u307e\u3059\uff0e\nCPU\u30d5\u30a1\u30f3\u306f\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u30fc\u304b\u3089\u5404\u7a2e\u767a\u58f2\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u305d\u308c\u3089\u3092\u4f7f\u3046\u304bDIY\u3059\u308b\u611f\u3058\u306b\u306a\u308b\u3068\u601d\u3044\u307e\u3059\uff0e\n\n\n\u305d\u3046\u3044\u3048\u3070\u6700\u8fd1Raspberry Pi OS\u306e\u8a2d\u5b9a\u30b3\u30de\u30f3\u30c9\u306e raspi-config \u306e\u4e2d\u306b Set behaviour of GPIO fan \u3068\u3044\u3046\u30e1\u30cb\u30e5\u30fc\u304c\u51fa\u6765\u305f\u308a\uff0cRaspberry Pi 4\u306b\u306f\u516c\u5f0f\u306eCPU\u30d5\u30a1\u30f3\u304c\u767a\u58f2\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u3053\u308c\u3089\u3092\u4f7f\u3046\u306e\u304c\u826f\u3055\u305d\u3046\u3067\u3059\uff0e\n\n\n\nBuy a Raspberry Pi 4 Case Fan \u2013 Raspberry Pi", "date_published": "2020-12-07T00:02:07+09:00", "date_modified": "2020-12-07T00:59: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": [ "cpulimit", "limitcpu", "Raspberry Pi 3 B", "Raspberry Pi OS", "RaspberryPi", "Buster", "Linux", "Raspberry Pi" ] }, { "id": "http://matoken.org/blog/?p=2704", "url": "https://matoken.org/blog/2020/03/08/try-raspberry-pi-imager-the-official-os-writing-software-for-raspberry-pi/", "title": "Raspberry Pi\u516c\u5f0f\u306eOS\u66f8\u304d\u8fbc\u307f\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306e Raspberry Pi Imager \u3092\u5c11\u3057\u8a66\u3059", "content_html": "
\n
\n\n
\n

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\u3053\u306e\u6295\u7a3f\u3092Instagram\u3067\u898b\u308b
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n

\n

Raspberry Pi(@raspberrypifoundation)\u304c\u30b7\u30a7\u30a2\u3057\u305f\u6295\u7a3f

\n
\n
\n

\n
\n

Instagram \u306e\u52d5\u753b\u304c\u308f\u304b\u308a\u3084\u3059\u3044\u3067\u3059\u306d\uff0e
\nRaspberry Pi\u516c\u5f0f\u306eOS\u30a4\u30e1\u30fc\u30b8\u66f8\u304d\u8fbc\u307f\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3067\u3059\uff0e\u5c11\u3057\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

\n
\n
\n
\n
\n

\u5c0e\u5165

\n
\n
\n

\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u30da\u30fc\u30b8\u306b\u306fWindows/macOS\u306e\u4ed6 Ubuntu amd64 \u5411\u3051\u306e.deb\u3078\u306e\u30ea\u30f3\u30af\u3057\u304b\u7121\u3044\u306e\u3067\u3059\u304c\uff0c https://downloads.raspberrypi.org/imager/ \u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3068 AppImage \u3068 .sig \u304c\u3042\u308a\u307e\u3057\u305f\uff0e
\n\u3069\u3061\u3089\u3082 amd64 \u306a\u306e\u3067\u4ed6\u306eArchtecture\u3058\u3083\u4f7f\u3048\u306a\u3044\u3088\u3046\u3067\u3059\uff0eRaspbian\u306earmhf\u7248\u304f\u3089\u3044\u306f\u6b32\u3057\u3044\u3067\u3059\u306d\uff0e

\n
\n\n
\n

\u3068\u308a\u3042\u3048\u305a Ubuntu 20.04 amd64 \u3067\u306f .deb \u3092\uff0cDebian sid amd64 \u3067\u306f AppImage \u3092\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

\n
\n
\n
deb\u306e\u5834\u5408
\n

\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u7f72\u540d\u691c\u8a3c\u3057\u3066 dpkg -i \u3067\u5c0e\u5165\u3057\u305f\u306e\u3067\u3059\u304cpkg\u304c\u8db3\u308a\u306a\u304f\u3066\u30a8\u30e9\u30fc\u304c\u51fa\u529b\u3055\u308c\u307e\u3057\u305f\uff0e\u8db3\u308a\u306a\u3044\u30d1\u30c3\u30b1\u30fc\u30b8\u306f apt install -f \u3067\u5c0e\u5165\u3057\u307e\u3057\u305f\uff0e\u8db3\u308a\u306a\u304b\u3063\u305f\u30d1\u30c3\u30b1\u30fc\u30b8\u306f qml-module-qt-labs-settings \u3068 libdleyna-core-1.0-5 \u3067\u3057\u305f\uff0e(\u74b0\u5883\u306b\u3088\u308a\u5909\u308f\u308b\u306f\u305a)

\n
\n
\n
\n
$ wget https://downloads.raspberrypi.org/imager/imager_amd64.deb https://downloads.raspberrypi.org/imager/imager_amd64.deb.sig\n$ gpg --verify ./imager_amd64.deb.sig\ngpg: assuming signed data in './imager_amd64.deb'\ngpg: Signature made Fri Mar  6 20:49:08 2020 JST\ngpg:                using RSA key 54C3DD610D9D1B4AF82A37758738CD6B956F460C\ngpg: Good signature from \"Raspberry Pi Downloads Signing Key\" [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: 54C3 DD61 0D9D 1B4A F82A  3775 8738 CD6B 956F 460C\n$ sudo dpkg -i ./imager_amd64.deb\n$ sudo apt install -f\n$ sudo rpi-imager
\n
\n
\n
\n
AppImage \u306e\u5834\u5408
\n

\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u7f72\u540d\u691c\u8a3c\u3057\u3066\u5b9f\u884c\u6a29\u3092\u4ed8\u3051\u308b\u3060\u3051\u3067\u3059\uff0e

\n
\n
\n
\n
$ wget https://downloads.raspberrypi.org/imager/imager_amd64.AppImage https://downloads.raspberrypi.org/imager/imager_amd64.AppImage.sig\n$ gpg --verify ./imager_amd64.AppImage.sig\ngpg: assuming signed data in './imager_amd64.AppImage'\ngpg: Signature made Fri 06 Mar 2020 10:34:08 PM JST\ngpg:                using RSA key 54C3DD610D9D1B4AF82A37758738CD6B956F460C\ngpg: Good signature from \"Raspberry Pi Downloads Signing Key\" [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: 54C3 DD61 0D9D 1B4A F82A  3775 8738 CD6B 956F 460C\n$ chmod +x ./imager_amd64.AppImage\n$ sudo ./imager_amd64.AppImage
\n
\n
\n
\n
\u4f59\u9332).deb\u3092\u5c55\u958b\u3057\u3066\u3068\u308a\u3042\u3048\u305a\u5b9f\u884c
\n
\n
$ ar x ./imager_amd64.deb\n$ tar xf data.tar.xz\n$ sudo ./usr/bin/rpi-imager
\n
\n
\n
\n
\n
\n

\u8d77\u52d5

\n
\n
\n

root\u6a29\u304c\u5fc5\u8981\u3067\u3059\uff0e\u4e00\u822c\u30e6\u30fc\u30b6\u3067\u3082\u8d77\u52d5\u3067\u304d\u308b\u306e\u3067\u3059\u304c\uff0c\u66f8\u304d\u8fbc\u307f\u6642\u306bSD card\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u306a\u3044\u30a8\u30e9\u30fc\u304c\u51fa\u3066\u3057\u307e\u3044\u307e\u3059\uff0e

\n
\n
\n

\"20200308

\n
\n
\n
\n
\n

OS list \u53d6\u5f97\u30a8\u30e9\u30fc(\u4e00\u6642\u7684\u306a\u30b5\u30fc\u30d0\u5074\u306e\u554f\u984c)

\n
\n
\n

\u73fe\u5728\u30b5\u30fc\u30d0\u5074\u3067SSL\u306e\u554f\u984c\u304c\u3042\u308a\u5927\u62b5\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30a8\u30e9\u30fc\u306b\u306a\u308a\u307e\u3059\uff0e9\u56de\u306b1\u56de\u306e\u5272\u5408\u3067\u6210\u529f\u3059\u308b\u3089\u3057\u3044\u3067\u3059\u304c\uff0c\u79c1\u306f30\u56de\u307b\u3069\u8a66\u3057\u3066\u3084\u3063\u3068\u3046\u307e\u304f\u884c\u304d\u307e\u3057\u305f\uff0e\u6570\u65e5\u5f85\u3066\u3070\u6cbb\u308b\u305d\u3046\u306a\u306e\u3067\u3057\u3070\u3089\u304f\u5f85\u3063\u3066\u304b\u3089\u8a66\u3059\u65b9\u304c\u3044\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e

\n
\n
\n

\"20200307

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

Caleb says:5th Mar 2020 at 3:32 pm
\nCurrently giving me a \u201cError downloading OS list from Internet\u201d when running it on a raspberry pi 4b

\n
\n
\n

Avatar Gordon Hollingworth says:5th Mar 2020 at 5:05 pm
\nYes, that\u2019s because downloads.raspberrypi.org needs its SSL stuff updated. It should happen in the next few days!

\n
\n
\n

Otherwise keep loading it, there\u2019s a 1 in 9 chance you\u2019ll get through to the server that does work!

\n
\n
\n

Gordon

\n
\n
\n
\n
\n

\u3061\u306a\u307f\u306bOS list\u304c\u53d6\u5f97\u3067\u304d\u306a\u304f\u3066\u3082\u81ea\u5206\u3067\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u305f\u30a4\u30e1\u30fc\u30b8\u306e\u66f8\u304d\u8fbc\u307f\u3084SD card\u306e\u6d88\u53bb\u306f\u51fa\u6765\u307e\u3059\uff0e

\n
\n
\n

\"20200307

\n
\n
\n
\n
\n

Imager\u306e\u8d77\u52d5

\n
\n
\n

\u8d77\u52d5\u3059\u308b\u3068\u3053\u3093\u306a\u753b\u9762\u3067\u3059\uff0e\u300cCHOOSE OS\u300d\u3067OS\u30a4\u30e1\u30fc\u30b8\u306e\u9078\u629e(Raspbian\u5404\u7a2e\u3068LibreELEC)\uff0c\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\uff0c\u6d88\u53bb\uff0c\u30ab\u30b9\u30bf\u30e0\u304c\u9078\u629e\u3067\u304d\u307e\u3059\uff0e
\n\u300cCHOOSE SD CARD\u300d\u3067SD card\u3084USB\u30e1\u30e2\u30ea\u306a\u3069\u304c\u9078\u629e\u3067\u304d\u307e\u3059\uff0e

\n
\n
\n

\"20200307

\n
\n
\n
\n
\n

OS\u30a4\u30e1\u30fc\u30b8\u306e\u9078\u629e

\n
\n
\n

\"20200308
\n\"20200308

\n
\n
\n
\n
\n

SD card\u7b49\u306e\u9078\u629e\u300cCHOOSE SD CARD\u300d

\n
\n
\n

\u3053\u306e\u753b\u9762\u3092\u8868\u793a\u3057\u3066\u304b\u3089SD card\u3084USB\u30e1\u30e2\u30ea\u7b49\u3092\u633f\u5165\u3059\u308b\u3068\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u306b\u8868\u793a\u3055\u308b\u306e\u3067\u308f\u304b\u308a\u3084\u3059\u3044\u3067\u3059\uff0e\u5185\u8535disk\u306f\u51fa\u3066\u304d\u307e\u305b\u3093\u304c\uff0c\u30de\u30a6\u30f3\u30c8\u4e2d\u306eHDD\u306a\u3069\u306f\u51fa\u3066\u304f\u308b\u306e\u3067\u9593\u9055\u3048\u306a\u3044\u3088\u3046\u306b\u6ce8\u610f\u3057\u307e\u3057\u3087\u3046\uff0e
\n\u9078\u629e\u3067\u304d\u308b\u30b9\u30c8\u30ec\u30fc\u30b8\u306f1\u5ea6\u306b1\u3064\u3060\u3051\u306e\u3088\u3046\u3067\u3059\uff0e\u8907\u6570\u306e\u30e1\u30c7\u30a3\u30a2\u306b\u66f8\u304d\u8fbc\u3080\u5834\u5408\u306f\u8907\u6570\u56de\u306e\u5b9f\u884c\u304c\u5fc5\u8981\u3067\u3059\uff0e

\n
\n
\n

\"20200308

\n
\n
\n
\n
\n

OS\u30a4\u30e1\u30fc\u30b8\u66f8\u304d\u8fbc\u307f

\n
\n
\n

\u300cWRITE\u300d\u30dc\u30bf\u30f3\u3092\u62bc\u3059\u3053\u3068\u3067\u66f8\u304d\u8fbc\u307f\u304c\u958b\u59cb\u3055\u308c\u307e\u3059\uff0eSecureErase\u3092\u8a66\u307f\u3066\u30a4\u30e1\u30fc\u30b8\u66f8\u304d\u8fbc\u307f\uff0c\u30d9\u30ea\u30d5\u30a1\u30a4\u3092\u884c\u3044\u307e\u3059\uff0e\u7d42\u308f\u308b\u307e\u3067\u3057\u3070\u3089\u304f\u5f85\u3061\u307e\u3057\u3087\u3046\uff0e

\n
\n
\n

\"20200308
\n\"20200308
\n\"20200308

\n
\n
\n
\n
\n

\u81ea\u52d5\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u305f\u30a4\u30e1\u30fc\u30b8

\n
\n
\n

deb\u7248\u306e\u65b9\u306f ~root/.cache/Raspberry Pi/Imager/lastdownload.cache \u3068\u3057\u3066 \u6700\u5f8c\u306b\u5229\u7528\u3057\u305f\u3082\u306e\u3060\u3051 \u304c\u6b8b\u308b\u3088\u3046\u3067\u3059\uff0e\u306a\u306e\u3067\u540c\u3058\u30a4\u30e1\u30fc\u30b8\u3067\u3042\u308c\u30702\u56de\u76ee\u306f\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u305b\u305a\u306b\u6e08\u307f\u307e\u3059\uff0e
\n\u5225\u306e\u30a4\u30e1\u30fc\u30b8\u3092\u5229\u7528\u3059\u308b\u3068\u4e0a\u66f8\u304d\u3055\u308c\u3066\u305d\u306e\u30a4\u30e1\u30fc\u30b8\u306b\u306a\u308a\u307e\u3059\uff0e

\n
\n
\n

AppImage \u306f /tmp/runtime-root \u4ee5\u4e0b\u306e\u3088\u3046\u306a\u306e\u3067\u518d\u8d77\u52d5\u3057\u305f\u3089\u6d88\u3048\u3066\u3057\u307e\u3044\u307e\u3059\u306d\uff0e

\n
\n
\n
\n
\n

QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to ‘/tmp/runtime-root’

\n
\n
\n
\n
\n
rpi-imager\u3067LibreELEC RPi1\u3092\u66f8\u304d\u8fbc\u3093\u3060\u5f8c\u51fa\u6765\u305f\u30ad\u30e3\u30c3\u30b7\u30e5\u30d5\u30a1\u30a4\u30eb\u3068 LibreELEC \u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u6bd4\u8f03
\n
\n
# sha256sum ./lastdownload.cache\n80cd38e0a576f75caaecf511970ae563c5b605896074809643aecfdc91344bcf  ./lastdownload.cache\n# wget http://releases.libreelec.tv/LibreELEC-RPi.arm-9.2.0.img.gz\n# sha256sum LibreELEC-RPi.arm-9.2.0.img.gz\n80cd38e0a576f75caaecf511970ae563c5b605896074809643aecfdc91344bcf  LibreELEC-RPi.arm-9.2.0.img.gz\n# diff -as lastdownload.cache LibreELEC-RPi.arm-9.2.0.img.gz\nFiles lastdownload.cache and LibreELEC-RPi.arm-9.2.0.img.gz are identical
\n
\n
\n
\n
\n
\n

\u304a\u308f\u308a\u306b

\n
\n
\n

\u3066\u3053\u3068\u3067\u5fdc\u7528\u304c\u805e\u304b\u306a\u3044\u611f\u3058\u306a\u306e\u3067Raspberry Pi\u3092\u521d\u3081\u3066\u4f7f\u3046\u4eba\u5411\u3051\u304b\u306a\u30fc\u3068\u611f\u3058\u307e\u3057\u305f\uff0eLibreELEC\u306a\u3093\u304b\u3082\u540c\u3058\u3088\u3046\u306a\u30c4\u30fc\u30eb\u3092\u7528\u610f\u3057\u3066\u3044\u308b\u3057OS\u30a4\u30e1\u30fc\u30b8\u66f8\u304d\u8fbc\u307f\u3067\u8e93\u304f\u4eba\u304c\u591a\u3044\u306e\u3067\u30c4\u30fc\u30eb\u304c\u7528\u610f\u3055\u308c\u3066\u3044\u308b\u306e\u304b\u3082\u3057\u308c\u306a\u3044\u3067\u3059\u306d\uff0e
\n\u66f4\u306b\u9762\u5012\u3060\u3068\u3044\u3046\u4eba\u306fOS\u30a4\u30e1\u30fc\u30b8\u5165\u308a\u306e\u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u8cfc\u5165\u3059\u308b\u3068\u826f\u3055\u305d\u3046\u3067\u3059\uff0e

\n
\n
\n

\u500b\u4eba\u7684\u306a\u304a\u3059\u3059\u3081\u306f\u73fe\u5728\u3060\u3068\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u306f\u624b\u52d5\u3067\u66f8\u304d\u8fbc\u307f\u306b\u306f balenaEtcher \u304c\u3044\u3044\u304b\u306a\u3068\u601d\u3044\u307e\u3059\uff0e\u3053\u308c\u3082\u30de\u30eb\u30c1\u30d7\u30e9\u30c3\u30c8\u30db\u30fc\u30e0\u5bfe\u5fdc\u3067\u66f4\u306b\u540c\u6642\u306b\u8907\u6570\u306e\u30b9\u30c8\u30ec\u30fc\u30b8\u306b\u66f8\u304d\u8fbc\u307f\u3082\u53ef\u80fd\u3067\u3059\uff0e

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

\u8a66\u3057\u305f\u74b0\u5883

\n
\n
\n
deb\u7248\u3092\u8a66\u3057\u305fUbuntu\u74b0\u5883
\n
\n
$ dpkg-query -W rpi-imager qml-module-qt-labs-settings libdleyna-core-1.0-5\nlibdleyna-core-1.0-5:amd64\nqml-module-qt-labs-settings:amd64       5.12.5-5\nrpi-imager      1.0\n$ lsb_release -dr\nDescription:    Ubuntu Focal Fossa (development branch)\nRelease:        20.04\n$ uname -m\nx86_64
\n
\n
\n
\n
AppImage\u7248\u3092\u8a66\u3057\u305fDebian\u74b0\u5883
\n
\n
$ lsb_release -dr\nDescription:    Debian GNU/Linux bullseye/sid\nRelease:        unstable\n$ uname -m\nx86_64
\n
\n
\n
\n
\n", "content_text": "Raspberry Pi Blog – News, Announcements, and Ideas\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n \u3053\u306e\u6295\u7a3f\u3092Instagram\u3067\u898b\u308b\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nRaspberry Pi(@raspberrypifoundation)\u304c\u30b7\u30a7\u30a2\u3057\u305f\u6295\u7a3f – 2020\u5e74 3\u6708\u67085\u65e5\u5348\u524d6\u664256\u5206PST\n\n\n\n\nInstagram \u306e\u52d5\u753b\u304c\u308f\u304b\u308a\u3084\u3059\u3044\u3067\u3059\u306d\uff0e\nRaspberry Pi\u516c\u5f0f\u306eOS\u30a4\u30e1\u30fc\u30b8\u66f8\u304d\u8fbc\u307f\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3067\u3059\uff0e\u5c11\u3057\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\n\n\n\n\u5c0e\u5165\n\n\n\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u30da\u30fc\u30b8\u306b\u306fWindows/macOS\u306e\u4ed6 Ubuntu amd64 \u5411\u3051\u306e.deb\u3078\u306e\u30ea\u30f3\u30af\u3057\u304b\u7121\u3044\u306e\u3067\u3059\u304c\uff0c https://downloads.raspberrypi.org/imager/ \u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3068 AppImage \u3068 .sig \u304c\u3042\u308a\u307e\u3057\u305f\uff0e\n\u3069\u3061\u3089\u3082 amd64 \u306a\u306e\u3067\u4ed6\u306eArchtecture\u3058\u3083\u4f7f\u3048\u306a\u3044\u3088\u3046\u3067\u3059\uff0eRaspbian\u306earmhf\u7248\u304f\u3089\u3044\u306f\u6b32\u3057\u3044\u3067\u3059\u306d\uff0e\n\n\n\nRaspberry Pi Downloads – Software for the Raspberry Pi\nIndex of /imager\n\n\n\n\u3068\u308a\u3042\u3048\u305a Ubuntu 20.04 amd64 \u3067\u306f .deb \u3092\uff0cDebian sid amd64 \u3067\u306f AppImage \u3092\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\n\ndeb\u306e\u5834\u5408\n\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u7f72\u540d\u691c\u8a3c\u3057\u3066 dpkg -i \u3067\u5c0e\u5165\u3057\u305f\u306e\u3067\u3059\u304cpkg\u304c\u8db3\u308a\u306a\u304f\u3066\u30a8\u30e9\u30fc\u304c\u51fa\u529b\u3055\u308c\u307e\u3057\u305f\uff0e\u8db3\u308a\u306a\u3044\u30d1\u30c3\u30b1\u30fc\u30b8\u306f apt install -f \u3067\u5c0e\u5165\u3057\u307e\u3057\u305f\uff0e\u8db3\u308a\u306a\u304b\u3063\u305f\u30d1\u30c3\u30b1\u30fc\u30b8\u306f qml-module-qt-labs-settings \u3068 libdleyna-core-1.0-5 \u3067\u3057\u305f\uff0e(\u74b0\u5883\u306b\u3088\u308a\u5909\u308f\u308b\u306f\u305a)\n\n\n\n$ wget https://downloads.raspberrypi.org/imager/imager_amd64.deb https://downloads.raspberrypi.org/imager/imager_amd64.deb.sig\n$ gpg --verify ./imager_amd64.deb.sig\ngpg: assuming signed data in './imager_amd64.deb'\ngpg: Signature made Fri Mar 6 20:49:08 2020 JST\ngpg: using RSA key 54C3DD610D9D1B4AF82A37758738CD6B956F460C\ngpg: Good signature from \"Raspberry Pi Downloads Signing Key\" [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: 54C3 DD61 0D9D 1B4A F82A 3775 8738 CD6B 956F 460C\n$ sudo dpkg -i ./imager_amd64.deb\n$ sudo apt install -f\n$ sudo rpi-imager\n\n\n\nAppImage \u306e\u5834\u5408\n\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u7f72\u540d\u691c\u8a3c\u3057\u3066\u5b9f\u884c\u6a29\u3092\u4ed8\u3051\u308b\u3060\u3051\u3067\u3059\uff0e\n\n\n\n$ wget https://downloads.raspberrypi.org/imager/imager_amd64.AppImage https://downloads.raspberrypi.org/imager/imager_amd64.AppImage.sig\n$ gpg --verify ./imager_amd64.AppImage.sig\ngpg: assuming signed data in './imager_amd64.AppImage'\ngpg: Signature made Fri 06 Mar 2020 10:34:08 PM JST\ngpg: using RSA key 54C3DD610D9D1B4AF82A37758738CD6B956F460C\ngpg: Good signature from \"Raspberry Pi Downloads Signing Key\" [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: 54C3 DD61 0D9D 1B4A F82A 3775 8738 CD6B 956F 460C\n$ chmod +x ./imager_amd64.AppImage\n$ sudo ./imager_amd64.AppImage\n\n\n\n\u4f59\u9332).deb\u3092\u5c55\u958b\u3057\u3066\u3068\u308a\u3042\u3048\u305a\u5b9f\u884c\n\n$ ar x ./imager_amd64.deb\n$ tar xf data.tar.xz\n$ sudo ./usr/bin/rpi-imager\n\n\n\n\n\n\u8d77\u52d5\n\n\nroot\u6a29\u304c\u5fc5\u8981\u3067\u3059\uff0e\u4e00\u822c\u30e6\u30fc\u30b6\u3067\u3082\u8d77\u52d5\u3067\u304d\u308b\u306e\u3067\u3059\u304c\uff0c\u66f8\u304d\u8fbc\u307f\u6642\u306bSD card\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u306a\u3044\u30a8\u30e9\u30fc\u304c\u51fa\u3066\u3057\u307e\u3044\u307e\u3059\uff0e\n\n\n\n\n\n\n\nOS list \u53d6\u5f97\u30a8\u30e9\u30fc(\u4e00\u6642\u7684\u306a\u30b5\u30fc\u30d0\u5074\u306e\u554f\u984c)\n\n\n\u73fe\u5728\u30b5\u30fc\u30d0\u5074\u3067SSL\u306e\u554f\u984c\u304c\u3042\u308a\u5927\u62b5\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30a8\u30e9\u30fc\u306b\u306a\u308a\u307e\u3059\uff0e9\u56de\u306b1\u56de\u306e\u5272\u5408\u3067\u6210\u529f\u3059\u308b\u3089\u3057\u3044\u3067\u3059\u304c\uff0c\u79c1\u306f30\u56de\u307b\u3069\u8a66\u3057\u3066\u3084\u3063\u3068\u3046\u307e\u304f\u884c\u304d\u307e\u3057\u305f\uff0e\u6570\u65e5\u5f85\u3066\u3070\u6cbb\u308b\u305d\u3046\u306a\u306e\u3067\u3057\u3070\u3089\u304f\u5f85\u3063\u3066\u304b\u3089\u8a66\u3059\u65b9\u304c\u3044\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e\n\n\n\n\n\nhttps://www.raspberrypi.org/blog/raspberry-pi-imager-imaging-utility/#comments\n\n\nCaleb says:5th Mar 2020 at 3:32 pm\nCurrently giving me a \u201cError downloading OS list from Internet\u201d when running it on a raspberry pi 4b\n\n\nAvatar Gordon Hollingworth says:5th Mar 2020 at 5:05 pm\nYes, that\u2019s because downloads.raspberrypi.org needs its SSL stuff updated. It should happen in the next few days!\n\n\nOtherwise keep loading it, there\u2019s a 1 in 9 chance you\u2019ll get through to the server that does work!\n\n\nGordon\n\n\n\n\n\u3061\u306a\u307f\u306bOS list\u304c\u53d6\u5f97\u3067\u304d\u306a\u304f\u3066\u3082\u81ea\u5206\u3067\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u305f\u30a4\u30e1\u30fc\u30b8\u306e\u66f8\u304d\u8fbc\u307f\u3084SD card\u306e\u6d88\u53bb\u306f\u51fa\u6765\u307e\u3059\uff0e\n\n\n\n\n\n\n\nImager\u306e\u8d77\u52d5\n\n\n\u8d77\u52d5\u3059\u308b\u3068\u3053\u3093\u306a\u753b\u9762\u3067\u3059\uff0e\u300cCHOOSE OS\u300d\u3067OS\u30a4\u30e1\u30fc\u30b8\u306e\u9078\u629e(Raspbian\u5404\u7a2e\u3068LibreELEC)\uff0c\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\uff0c\u6d88\u53bb\uff0c\u30ab\u30b9\u30bf\u30e0\u304c\u9078\u629e\u3067\u304d\u307e\u3059\uff0e\n\u300cCHOOSE SD CARD\u300d\u3067SD card\u3084USB\u30e1\u30e2\u30ea\u306a\u3069\u304c\u9078\u629e\u3067\u304d\u307e\u3059\uff0e\n\n\n\n\n\n\n\nOS\u30a4\u30e1\u30fc\u30b8\u306e\u9078\u629e\n\n\n\n\n\n\n\n\nSD card\u7b49\u306e\u9078\u629e\u300cCHOOSE SD CARD\u300d\n\n\n\u3053\u306e\u753b\u9762\u3092\u8868\u793a\u3057\u3066\u304b\u3089SD card\u3084USB\u30e1\u30e2\u30ea\u7b49\u3092\u633f\u5165\u3059\u308b\u3068\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u306b\u8868\u793a\u3055\u308b\u306e\u3067\u308f\u304b\u308a\u3084\u3059\u3044\u3067\u3059\uff0e\u5185\u8535disk\u306f\u51fa\u3066\u304d\u307e\u305b\u3093\u304c\uff0c\u30de\u30a6\u30f3\u30c8\u4e2d\u306eHDD\u306a\u3069\u306f\u51fa\u3066\u304f\u308b\u306e\u3067\u9593\u9055\u3048\u306a\u3044\u3088\u3046\u306b\u6ce8\u610f\u3057\u307e\u3057\u3087\u3046\uff0e\n\u9078\u629e\u3067\u304d\u308b\u30b9\u30c8\u30ec\u30fc\u30b8\u306f1\u5ea6\u306b1\u3064\u3060\u3051\u306e\u3088\u3046\u3067\u3059\uff0e\u8907\u6570\u306e\u30e1\u30c7\u30a3\u30a2\u306b\u66f8\u304d\u8fbc\u3080\u5834\u5408\u306f\u8907\u6570\u56de\u306e\u5b9f\u884c\u304c\u5fc5\u8981\u3067\u3059\uff0e\n\n\n\n\n\n\n\nOS\u30a4\u30e1\u30fc\u30b8\u66f8\u304d\u8fbc\u307f\n\n\n\u300cWRITE\u300d\u30dc\u30bf\u30f3\u3092\u62bc\u3059\u3053\u3068\u3067\u66f8\u304d\u8fbc\u307f\u304c\u958b\u59cb\u3055\u308c\u307e\u3059\uff0eSecureErase\u3092\u8a66\u307f\u3066\u30a4\u30e1\u30fc\u30b8\u66f8\u304d\u8fbc\u307f\uff0c\u30d9\u30ea\u30d5\u30a1\u30a4\u3092\u884c\u3044\u307e\u3059\uff0e\u7d42\u308f\u308b\u307e\u3067\u3057\u3070\u3089\u304f\u5f85\u3061\u307e\u3057\u3087\u3046\uff0e\n\n\n\n\n\n\n\n\n\n\u81ea\u52d5\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u305f\u30a4\u30e1\u30fc\u30b8\n\n\ndeb\u7248\u306e\u65b9\u306f ~root/.cache/Raspberry Pi/Imager/lastdownload.cache \u3068\u3057\u3066 \u6700\u5f8c\u306b\u5229\u7528\u3057\u305f\u3082\u306e\u3060\u3051 \u304c\u6b8b\u308b\u3088\u3046\u3067\u3059\uff0e\u306a\u306e\u3067\u540c\u3058\u30a4\u30e1\u30fc\u30b8\u3067\u3042\u308c\u30702\u56de\u76ee\u306f\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u305b\u305a\u306b\u6e08\u307f\u307e\u3059\uff0e\n\u5225\u306e\u30a4\u30e1\u30fc\u30b8\u3092\u5229\u7528\u3059\u308b\u3068\u4e0a\u66f8\u304d\u3055\u308c\u3066\u305d\u306e\u30a4\u30e1\u30fc\u30b8\u306b\u306a\u308a\u307e\u3059\uff0e\n\n\nAppImage \u306f /tmp/runtime-root \u4ee5\u4e0b\u306e\u3088\u3046\u306a\u306e\u3067\u518d\u8d77\u52d5\u3057\u305f\u3089\u6d88\u3048\u3066\u3057\u307e\u3044\u307e\u3059\u306d\uff0e\n\n\n\n\nQStandardPaths: XDG_RUNTIME_DIR not set, defaulting to ‘/tmp/runtime-root’\n\n\n\n\nrpi-imager\u3067LibreELEC RPi1\u3092\u66f8\u304d\u8fbc\u3093\u3060\u5f8c\u51fa\u6765\u305f\u30ad\u30e3\u30c3\u30b7\u30e5\u30d5\u30a1\u30a4\u30eb\u3068 LibreELEC \u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u6bd4\u8f03\n\n# sha256sum ./lastdownload.cache\n80cd38e0a576f75caaecf511970ae563c5b605896074809643aecfdc91344bcf ./lastdownload.cache\n# wget http://releases.libreelec.tv/LibreELEC-RPi.arm-9.2.0.img.gz\n# sha256sum LibreELEC-RPi.arm-9.2.0.img.gz\n80cd38e0a576f75caaecf511970ae563c5b605896074809643aecfdc91344bcf LibreELEC-RPi.arm-9.2.0.img.gz\n# diff -as lastdownload.cache LibreELEC-RPi.arm-9.2.0.img.gz\nFiles lastdownload.cache and LibreELEC-RPi.arm-9.2.0.img.gz are identical\n\n\n\n\n\n\u304a\u308f\u308a\u306b\n\n\n\u3066\u3053\u3068\u3067\u5fdc\u7528\u304c\u805e\u304b\u306a\u3044\u611f\u3058\u306a\u306e\u3067Raspberry Pi\u3092\u521d\u3081\u3066\u4f7f\u3046\u4eba\u5411\u3051\u304b\u306a\u30fc\u3068\u611f\u3058\u307e\u3057\u305f\uff0eLibreELEC\u306a\u3093\u304b\u3082\u540c\u3058\u3088\u3046\u306a\u30c4\u30fc\u30eb\u3092\u7528\u610f\u3057\u3066\u3044\u308b\u3057OS\u30a4\u30e1\u30fc\u30b8\u66f8\u304d\u8fbc\u307f\u3067\u8e93\u304f\u4eba\u304c\u591a\u3044\u306e\u3067\u30c4\u30fc\u30eb\u304c\u7528\u610f\u3055\u308c\u3066\u3044\u308b\u306e\u304b\u3082\u3057\u308c\u306a\u3044\u3067\u3059\u306d\uff0e\n\u66f4\u306b\u9762\u5012\u3060\u3068\u3044\u3046\u4eba\u306fOS\u30a4\u30e1\u30fc\u30b8\u5165\u308a\u306e\u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u8cfc\u5165\u3059\u308b\u3068\u826f\u3055\u305d\u3046\u3067\u3059\uff0e\n\n\n\u500b\u4eba\u7684\u306a\u304a\u3059\u3059\u3081\u306f\u73fe\u5728\u3060\u3068\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u306f\u624b\u52d5\u3067\u66f8\u304d\u8fbc\u307f\u306b\u306f balenaEtcher \u304c\u3044\u3044\u304b\u306a\u3068\u601d\u3044\u307e\u3059\uff0e\u3053\u308c\u3082\u30de\u30eb\u30c1\u30d7\u30e9\u30c3\u30c8\u30db\u30fc\u30e0\u5bfe\u5fdc\u3067\u66f4\u306b\u540c\u6642\u306b\u8907\u6570\u306e\u30b9\u30c8\u30ec\u30fc\u30b8\u306b\u66f8\u304d\u8fbc\u307f\u3082\u53ef\u80fd\u3067\u3059\uff0e\n\n\n\nbalenaEtcher – Flash OS images to SD cards & USB drives\n\n\n\n\n\n\u8a66\u3057\u305f\u74b0\u5883\n\n\ndeb\u7248\u3092\u8a66\u3057\u305fUbuntu\u74b0\u5883\n\n$ dpkg-query -W rpi-imager qml-module-qt-labs-settings libdleyna-core-1.0-5\nlibdleyna-core-1.0-5:amd64\nqml-module-qt-labs-settings:amd64 5.12.5-5\nrpi-imager 1.0\n$ lsb_release -dr\nDescription: Ubuntu Focal Fossa (development branch)\nRelease: 20.04\n$ uname -m\nx86_64\n\n\n\nAppImage\u7248\u3092\u8a66\u3057\u305fDebian\u74b0\u5883\n\n$ lsb_release -dr\nDescription: Debian GNU/Linux bullseye/sid\nRelease: unstable\n$ uname -m\nx86_64", "date_published": "2020-03-08T23:37:48+09:00", "date_modified": "2020-03-08T23:39: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": [ "Etcher", "Imager", "RaspberryPi", "Debian", "Focal Fossa(20.04)", "Linux", "Raspberry Pi", "sid", "Ubuntu" ] }, { "id": "http://matoken.org/blog/?p=2696", "url": "https://matoken.org/blog/2019/12/28/error-when-trying-to-use-megatools-with-a-new-account/", "title": "Megatools\u3092\u65b0\u898f\u30a2\u30ab\u30a6\u30f3\u30c8\u3067\u5229\u7528\u3057\u3088\u3046\u3068\u3059\u308b\u3068\u30a8\u30e9\u30fc\u3068\u306a\u308b( ERROR: Can\u2019t login to mega.nz: API call \u2018us\u2019 failed: Server returned error ENOENT )", "content_html": "
\n

Mega.nz \u306e\u30b5\u30fc\u30d3\u30b9\u3092\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u3067\u884c\u3046\u305f\u3081\u306e\u30c4\u30fc\u30eb\u7fa4\u306e Megatools \u3068\u3044\u3046\u3082\u306e\u304c\u3042\u308a\u307e\u3059\uff0e

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

\u3053\u308c\u3092\u65b0\u898f\u30a2\u30ab\u30a6\u30f3\u30c8\u3067\u5229\u7528\u3057\u3088\u3046\u3068\u3059\u308b\u3068\u3053\u306e\u3088\u3046\u306a\u30a8\u30e9\u30fc\u306b\u306a\u308a\u307e\u3059\uff0e

\n
\n
\n
\n
$ megadf\nERROR: Can't login to mega.nz: API call 'us' failed: Server returned error ENOENT
\n
\n
\n
\n

\u3053\u308c\u306f Mega.nz \u306e\u30e6\u30fc\u30b6\u767b\u9332\u306e\u4ed5\u69d8\u304c\u5909\u308f\u3063\u305f\u305b\u3044\u306a\u3088\u3046\u3067\u65b0\u898f\u306b Mega.nz \u306e\u30a6\u30a7\u30d6\u304b\u3089\u767b\u9332\u3057\u305f\u30a2\u30ab\u30a6\u30f3\u30c8\u3067\u8d77\u3053\u308b\u3089\u3057\u3044\u3067\u3059\uff0e

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

\u4ed5\u69d8\u5909\u66f4\u524d\u306b\u767b\u9332\u3057\u305f\u30a2\u30ab\u30a6\u30f3\u30c8\u3084\uff0c\u73fe\u5728\u3067\u3082 Megatools \u306e megareg \u30b3\u30de\u30f3\u30c9\u3067\u767b\u9332\u3057\u305f\u30a2\u30ab\u30a6\u30f3\u30c8\u306a\u3089Megatools \u304c\u5229\u7528\u3067\u304d\u308b\u3088\u3046\u3067\u3059\uff0e

\n
\n
\n

\u3068\u3044\u3046\u3053\u3068\u3067 megareg \u30b3\u30de\u30f3\u30c9\u3067\u30a2\u30ab\u30f3\u30c8\u3092\u767b\u9332\u3057\u76f4\u3057\u3066\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

\n
\n
\n

megareg \u30b3\u30de\u30f3\u30c9\u306b\u30e6\u30fc\u30b6\u30fc\u540d\u3001\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3001\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u6307\u5b9a\u3059\u308b

\n
\n
\n
\n
$ megareg --register -n 'REALNAME' -e 'EMAIL' -p 'PASSWORD'\nRegistration email was sent to EMAIL. To complete registration, you must run:\n\n  megareg --verify 7e2c96BDD0DFnrlfo2hXmg==:/Lw2hwBBBBBBBBBBF2Lk1B==:5ceaxAEvkXQ @LINK@\n\n(Where @LINK@ is registration link from the 'MEGA Signup' email)
\n
\n
\n
\n

\u767b\u9332\u78ba\u8a8d\u30e1\u30fc\u30eb\u304c\u5c4a\u304f\u306e\u3067\u3001\u4e0a\u306e\u4f8b\u306e @LINK@ \u90e8\u5206\u3092\u305d\u306e\u30e1\u30fc\u30eb\u306b\u66f8\u304b\u308c\u3066\u3044\u308bURL\u306b\u66f8\u304d\u63db\u3048\u3066 megareg --verify \u3092\u5b9f\u884c\u3059\u308b

\n
\n
\n
\n
$ megareg --verify 7e2c96BDD0DFnrlfo2hXmg==:/Lw2hwBBBBBBBBBBF2Lk1B==:5ceaxAEvkXQ 'https://mega.nz/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\nAccount registered successfully!
\n
\n
\n
\n

\u5229\u7528\u3067\u304d\u308b\u304b\u8a66\u3057\u3066\u307f\u308b

\n
\n
\n
\n
$ megadf -u 'EMAIL' -p 'PASSWORD'\nTotal: 53687091200\nUsed:  0\nFree:  53687091200
\n
\n
\n
\n

\u3046\u307e\u304f\u884c\u304d\u307e\u3057\u305f\uff0e

\n
\n
\n

\u6bce\u56de\u30b3\u30de\u30f3\u30c9\u306e\u5f15\u6570\u306b\u30a2\u30ab\u30a6\u30f3\u30c8\u60c5\u5831\u306f\u66f8\u304d\u305f\u304f\u306a\u3044\u306e\u3067\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u7528\u610f\u3057\u3066\u4f7f\u3044\u307e\u3059\uff0e

\n
\n
\n

\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306f\uff0c ~/.megarc, ./.megarc \u82e5\u3057\u304f\u306f --config $CONFIGFILE \u3067\u6307\u5b9a\u3057\u307e\u3059\uff0e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306e\u5185\u5bb9\u306f\u6700\u4f4e\u9650\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u611f\u3058\u3067\u8a73\u7d30\u306f man megarc \u3092\u53c2\u7167\uff0e

\n
\n
\n
\n
[Login]\nUsername = your@email\nPassword = yourpassword
\n
\n
\n
\n
\u53c2\u8003URL
\n\n
\n
\n
\u74b0\u58831
\n
\n
$ dpkg-query -W megatools\nmegatools       1.10.2-1\n$ lsb_release -dr\nDescription:    Raspbian GNU/Linux 10 (buster)\nRelease:        10\n$ uname -m\narmv7l
\n
\n
\n
\n
\u74b0\u58832
\n
\n
$ dpkg-query -W megatools\nmegatools       1.10.2-1\n$ lsb_release -dr\nDescription:    Debian GNU/Linux bullseye/sid\nRelease:        unstable\n$ uname -m\nx86_64
\n
\n
\n", "content_text": "Mega.nz \u306e\u30b5\u30fc\u30d3\u30b9\u3092\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u3067\u884c\u3046\u305f\u3081\u306e\u30c4\u30fc\u30eb\u7fa4\u306e Megatools \u3068\u3044\u3046\u3082\u306e\u304c\u3042\u308a\u307e\u3059\uff0e\n\n\n\nMegatools – command line client for Mega.nz\n\n\n\n\u3053\u308c\u3092\u65b0\u898f\u30a2\u30ab\u30a6\u30f3\u30c8\u3067\u5229\u7528\u3057\u3088\u3046\u3068\u3059\u308b\u3068\u3053\u306e\u3088\u3046\u306a\u30a8\u30e9\u30fc\u306b\u306a\u308a\u307e\u3059\uff0e\n\n\n\n$ megadf\nERROR: Can't login to mega.nz: API call 'us' failed: Server returned error ENOENT\n\n\n\n\u3053\u308c\u306f Mega.nz \u306e\u30e6\u30fc\u30b6\u767b\u9332\u306e\u4ed5\u69d8\u304c\u5909\u308f\u3063\u305f\u305b\u3044\u306a\u3088\u3046\u3067\u65b0\u898f\u306b Mega.nz \u306e\u30a6\u30a7\u30d6\u304b\u3089\u767b\u9332\u3057\u305f\u30a2\u30ab\u30a6\u30f3\u30c8\u3067\u8d77\u3053\u308b\u3089\u3057\u3044\u3067\u3059\uff0e\n\n\n\nServer returned error EEXPIRED \u00b7 Issue #411 \u00b7 megous/megatools\n\n\n\n\u4ed5\u69d8\u5909\u66f4\u524d\u306b\u767b\u9332\u3057\u305f\u30a2\u30ab\u30a6\u30f3\u30c8\u3084\uff0c\u73fe\u5728\u3067\u3082 Megatools \u306e megareg \u30b3\u30de\u30f3\u30c9\u3067\u767b\u9332\u3057\u305f\u30a2\u30ab\u30a6\u30f3\u30c8\u306a\u3089Megatools \u304c\u5229\u7528\u3067\u304d\u308b\u3088\u3046\u3067\u3059\uff0e\n\n\n\u3068\u3044\u3046\u3053\u3068\u3067 megareg \u30b3\u30de\u30f3\u30c9\u3067\u30a2\u30ab\u30f3\u30c8\u3092\u767b\u9332\u3057\u76f4\u3057\u3066\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\n\nmegareg \u30b3\u30de\u30f3\u30c9\u306b\u30e6\u30fc\u30b6\u30fc\u540d\u3001\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3001\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u6307\u5b9a\u3059\u308b\n\n\n\n$ megareg --register -n 'REALNAME' -e 'EMAIL' -p 'PASSWORD'\nRegistration email was sent to EMAIL. To complete registration, you must run:\n\n megareg --verify 7e2c96BDD0DFnrlfo2hXmg==:/Lw2hwBBBBBBBBBBF2Lk1B==:5ceaxAEvkXQ @LINK@\n\n(Where @LINK@ is registration link from the 'MEGA Signup' email)\n\n\n\n\u767b\u9332\u78ba\u8a8d\u30e1\u30fc\u30eb\u304c\u5c4a\u304f\u306e\u3067\u3001\u4e0a\u306e\u4f8b\u306e @LINK@ \u90e8\u5206\u3092\u305d\u306e\u30e1\u30fc\u30eb\u306b\u66f8\u304b\u308c\u3066\u3044\u308bURL\u306b\u66f8\u304d\u63db\u3048\u3066 megareg --verify \u3092\u5b9f\u884c\u3059\u308b\n\n\n\n$ megareg --verify 7e2c96BDD0DFnrlfo2hXmg==:/Lw2hwBBBBBBBBBBF2Lk1B==:5ceaxAEvkXQ 'https://mega.nz/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\nAccount registered successfully!\n\n\n\n\u5229\u7528\u3067\u304d\u308b\u304b\u8a66\u3057\u3066\u307f\u308b\n\n\n\n$ megadf -u 'EMAIL' -p 'PASSWORD'\nTotal: 53687091200\nUsed: 0\nFree: 53687091200\n\n\n\n\u3046\u307e\u304f\u884c\u304d\u307e\u3057\u305f\uff0e\n\n\n\u6bce\u56de\u30b3\u30de\u30f3\u30c9\u306e\u5f15\u6570\u306b\u30a2\u30ab\u30a6\u30f3\u30c8\u60c5\u5831\u306f\u66f8\u304d\u305f\u304f\u306a\u3044\u306e\u3067\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u7528\u610f\u3057\u3066\u4f7f\u3044\u307e\u3059\uff0e\n\n\n\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306f\uff0c ~/.megarc, ./.megarc \u82e5\u3057\u304f\u306f --config $CONFIGFILE \u3067\u6307\u5b9a\u3057\u307e\u3059\uff0e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306e\u5185\u5bb9\u306f\u6700\u4f4e\u9650\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u611f\u3058\u3067\u8a73\u7d30\u306f man megarc \u3092\u53c2\u7167\uff0e\n\n\n\n[Login]\nUsername = your@email\nPassword = yourpassword\n\n\n\n\u53c2\u8003URL\n\nlinux:megatools [wiki.matoken.org]\n\n\n\n\u74b0\u58831\n\n$ dpkg-query -W megatools\nmegatools 1.10.2-1\n$ lsb_release -dr\nDescription: Raspbian GNU/Linux 10 (buster)\nRelease: 10\n$ uname -m\narmv7l\n\n\n\n\u74b0\u58832\n\n$ dpkg-query -W megatools\nmegatools 1.10.2-1\n$ lsb_release -dr\nDescription: Debian GNU/Linux bullseye/sid\nRelease: unstable\n$ uname -m\nx86_64", "date_published": "2019-12-28T01:24:16+09:00", "date_modified": "2019-12-28T01:24: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": [ "Mega.nz", "Megatools", "Debian", "Linux", "Raspberry Pi", "Raspbian Buster", "sid" ] }, { "id": "http://matoken.org/blog/?p=2667", "url": "https://matoken.org/blog/2019/11/18/raspberry-pi-wont-start-up-unresolved-microsd-defective/", "title": "Raspberry Pi \u304c\u8d77\u52d5\u3057\u306a\u304f\u3066\u56f0\u308b(\u672a\u89e3\u6c7a\u30fbmicroSD\u4e0d\u826f?)", "content_html": "
\n
\n
\n

\u5148\u65e5Amazon\u3067microSD card\u3092\u8cfc\u5165\u3057\u307e\u3057\u305f\uff0eSamsung \u30c9\u30e9\u30a4\u30d6\u30ec\u30b3\u30fc\u30c0\u30fc\u5411\u3051 microSD\u30ab\u30fc\u30c932GB \u6b63\u898f\u4ee3\u7406\u5e97\u4fdd\u8a3c\u54c1 MB-MJ32GA/EC\u3068\u3044\u3046\u3082\u306e\u3067\u3059\uff0e

\n
\n\n
\n

\u3053\u308c\u306bRaspberry Pi\u5411\u3051\u306e\u30a4\u30e1\u30fc\u30b8\u3092\u66f8\u304d\u8fbc\u3093\u3067\u8d77\u52d5\u3057\u3088\u3046\u3068\u3059\u308b\u3068\uff0cRaspberryPi\u3067LED\u304c\u30d4\u30ab\u30c3\u30d4\u30ab\u30fc\uff0e\u3063\u3066\u611f\u3058\u30672\u56de\u5149\u3063\u3066\u6d88\u3048\u307e\u3059\uff0e\u305d\u3057\u3066Serial\u306b\u306f\u4ee5\u4e0b\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u8868\u793a\u3055\u308c\u8d77\u52d5\u3057\u307e\u305b\u3093\uff0e

\n
\n
\n
\n
Error: invalid dtb and unrecognized/unsupported machine ID\n  r1=0x00000c42, r2=0x00000000\nAvailable machine support:\n\nID (hex)        NAME\nffffffff        Generic DT based system\nffffffff        BCM2835\nPlease check your kernel config and/or bootloader.
\n
\n

\n
\n
\n

\u306f\u3058\u3081\u306b\u8a66\u3057\u305f\u30a4\u30e1\u30fc\u30b8\u306f\u81ea\u4f5c\u306e\u3082\u306e\u3060\u3063\u305f\u306e\u3067\u305d\u306e\u305b\u3044\u304b\u3068\u601d\u3063\u305f\u306e\u3067\u3059\u304c\uff0cRaspbian Buster Lite 2019-09-26 \u3067\u3082\u540c\u69d8\u306e\u52d5\u304d\u306b\u306a\u308a\u307e\u3059\uff0e
\n\u30dc\u30fc\u30c9\u5074\u3092Raspberry Pi Zero/ZeroW/A+\u3068\u8a66\u3057\u307e\u3057\u305f\u304c\u3069\u308c\u3067\u3082\u540c\u3058\u52d5\u4f5c\u3067\u3059\uff0e

\n
\n
\n

\u3067\u3082microSD\u3092\u4ea4\u63db\u3059\u308b\u3068\u8d77\u52d5\u3057\u307e\u3059\uff0emicroSD\u304c\u602a\u3057\u305d\u3046\u3067\u3059\uff0e
\nf3\u3067\u901f\u5ea6\u3084\u5bb9\u91cf\u3092\u78ba\u8a8d\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

\n
\n\n
\n

\u5bb9\u91cf\u306f\u554f\u984c\u7121\u3055\u305d\u3046\u306a\u306e\u3067\u3059\u304c\uff0c

\n
\n
\n
\n
\n

\u6700\u5927\u8aad\u307f\u51fa\u3057\u901f\u5ea6100MB/s\u3001\u6700\u5927\u66f8\u304d\u8fbc\u307f\u901f\u5ea630MB/s

\n
\n
\n
\n
\n

\u3068\u306e\u3053\u3068\u3067\u3059\u304c\u5b9f\u969b\u306f\u8aad\u307f\u8fbc\u307f20MB/s\u524d\u5f8c\uff0c\u66f8\u304d\u8fbc\u307f\u901f\u5ea6\u306f10MB/s\u524d\u5f8c\u304f\u3089\u3044\u306a\u306e\u3067\u9045\u3059\u304e\u308b\u611f\u3058\u304c\u3057\u307e\u3059\uff0e
\n\u3068\u3044\u3046\u3053\u3068\u3067microSD\u304c\u602a\u3057\u3044\u306e\u3067\u3068\u308a\u3042\u3048\u305a\u8fd4\u54c1\u3057\u3088\u3046\u304b\u3068\u601d\u3044\u307e\u3059\u2026\u2026\uff0e

\n
\n
\n
\n", "content_text": "\u5148\u65e5Amazon\u3067microSD card\u3092\u8cfc\u5165\u3057\u307e\u3057\u305f\uff0eSamsung \u30c9\u30e9\u30a4\u30d6\u30ec\u30b3\u30fc\u30c0\u30fc\u5411\u3051 microSD\u30ab\u30fc\u30c932GB \u6b63\u898f\u4ee3\u7406\u5e97\u4fdd\u8a3c\u54c1 MB-MJ32GA/EC\u3068\u3044\u3046\u3082\u306e\u3067\u3059\uff0e\n\n\n\nAmazon | Samsung \u30c9\u30e9\u30a4\u30d6\u30ec\u30b3\u30fc\u30c0\u30fc\u5411\u3051 microSD\u30ab\u30fc\u30c932GB \u6b63\u898f\u4ee3\u7406\u5e97\u4fdd\u8a3c\u54c1 MB-MJ32GA/EC | \u65e5\u672c\u30b5\u30e0\u30b9\u30f3 | \u30d1\u30bd\u30b3\u30f3\u30fb\u5468\u8fba\u6a5f\u5668 \u901a\u8ca9\n\n\n\n\n\u3053\u308c\u306bRaspberry Pi\u5411\u3051\u306e\u30a4\u30e1\u30fc\u30b8\u3092\u66f8\u304d\u8fbc\u3093\u3067\u8d77\u52d5\u3057\u3088\u3046\u3068\u3059\u308b\u3068\uff0cRaspberryPi\u3067LED\u304c\u30d4\u30ab\u30c3\u30d4\u30ab\u30fc\uff0e\u3063\u3066\u611f\u3058\u30672\u56de\u5149\u3063\u3066\u6d88\u3048\u307e\u3059\uff0e\u305d\u3057\u3066Serial\u306b\u306f\u4ee5\u4e0b\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u8868\u793a\u3055\u308c\u8d77\u52d5\u3057\u307e\u305b\u3093\uff0e\n\n\n\nError: invalid dtb and unrecognized/unsupported machine ID\n r1=0x00000c42, r2=0x00000000\nAvailable machine support:\n\nID (hex) NAME\nffffffff Generic DT based system\nffffffff BCM2835\nPlease check your kernel config and/or bootloader.\n\n\n\n\n\u306f\u3058\u3081\u306b\u8a66\u3057\u305f\u30a4\u30e1\u30fc\u30b8\u306f\u81ea\u4f5c\u306e\u3082\u306e\u3060\u3063\u305f\u306e\u3067\u305d\u306e\u305b\u3044\u304b\u3068\u601d\u3063\u305f\u306e\u3067\u3059\u304c\uff0cRaspbian Buster Lite 2019-09-26 \u3067\u3082\u540c\u69d8\u306e\u52d5\u304d\u306b\u306a\u308a\u307e\u3059\uff0e\n\u30dc\u30fc\u30c9\u5074\u3092Raspberry Pi Zero/ZeroW/A+\u3068\u8a66\u3057\u307e\u3057\u305f\u304c\u3069\u308c\u3067\u3082\u540c\u3058\u52d5\u4f5c\u3067\u3059\uff0e\n\n\n\u3067\u3082microSD\u3092\u4ea4\u63db\u3059\u308b\u3068\u8d77\u52d5\u3057\u307e\u3059\uff0emicroSD\u304c\u602a\u3057\u305d\u3046\u3067\u3059\uff0e\nf3\u3067\u901f\u5ea6\u3084\u5bb9\u91cf\u3092\u78ba\u8a8d\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\n\n\n\u901f\u5ea6\u3084\u5bb9\u91cf\u306e\u507d\u88c5\u3055\u308c\u305f\u30d5\u30e9\u30c3\u30b7\u30e5\u30b9\u30c8\u30ec\u30fc\u30b8\u306e\u78ba\u8a8d\u304c\u3067\u304d\u308bf3(Fight Flash Fraud)\u3092\u5c11\u3057\u8a66\u3059 \u2013 matoken\u2019s meme\n\n\n\n\u5bb9\u91cf\u306f\u554f\u984c\u7121\u3055\u305d\u3046\u306a\u306e\u3067\u3059\u304c\uff0c\n\n\n\n\n\u6700\u5927\u8aad\u307f\u51fa\u3057\u901f\u5ea6100MB/s\u3001\u6700\u5927\u66f8\u304d\u8fbc\u307f\u901f\u5ea630MB/s\n\n\n\n\n\u3068\u306e\u3053\u3068\u3067\u3059\u304c\u5b9f\u969b\u306f\u8aad\u307f\u8fbc\u307f20MB/s\u524d\u5f8c\uff0c\u66f8\u304d\u8fbc\u307f\u901f\u5ea6\u306f10MB/s\u524d\u5f8c\u304f\u3089\u3044\u306a\u306e\u3067\u9045\u3059\u304e\u308b\u611f\u3058\u304c\u3057\u307e\u3059\uff0e\n\u3068\u3044\u3046\u3053\u3068\u3067microSD\u304c\u602a\u3057\u3044\u306e\u3067\u3068\u308a\u3042\u3048\u305a\u8fd4\u54c1\u3057\u3088\u3046\u304b\u3068\u601d\u3044\u307e\u3059\u2026\u2026\uff0e", "date_published": "2019-11-18T14:59:36+09:00", "date_modified": "2019-11-18T14:59: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": [ "microSD", "RaspberryPi", "Raspberry Pi" ] }, { "id": "http://matoken.org/blog/?p=2642", "url": "https://matoken.org/blog/2019/11/14/error-when-trying-to-embed-geotags-with-raspberry-pis-raspistil-command/", "title": "Raspberry Pi\u306eraspistil\u30b3\u30de\u30f3\u30c9\u3067\u30b8\u30aa\u30bf\u30b0\u57cb\u3081\u8fbc\u307f\u3092\u8a66\u3059\u3068\u30a8\u30e9\u30fc\u306b\u306a\u308b", "content_html": "
\n
\n
\n

Raspberry Pi \u306e\u5c02\u7528\u30b3\u30de\u30f3\u30c9\u306e\u4e2d\u306b raspistil \u30b3\u30de\u30f3\u30c9\u3068\u3044\u3046\u3082\u306e\u304c\u3042\u308a\u307e\u3059\uff0e
\n(Raspbian\u306e libraspberrypi-bin \u30d1\u30c3\u30b1\u30fc\u30b8\u5185\u306b\u3042\u308a\u307e\u3059\uff0e)

\n
\n
\n

\u3053\u306e\u30b3\u30de\u30f3\u30c9\u3067\u5c02\u7528\u30ab\u30e1\u30e9\u3067\u306e\u64ae\u5f71\u304c\u51fa\u6765\u307e\u3059\uff0e
\n\u30a4\u30f3\u30bf\u30fc\u30d0\u30eb\u64ae\u5f71\u3057\u3066Mapillary\u306b\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u3066\u30de\u30c3\u30d4\u30f3\u30b0\u306e\u8db3\u3057\u306b\u51fa\u6765\u306a\u3044\u304b\u306a\u3068\u5c11\u3057\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

\n
\n
\n

\u4f55\u6642\u3082\u306f\u64ae\u5f71\u3057\u305f\u753b\u50cf\u306b\u5225\u64ae\u308a\u3057\u305fGPS\u30c7\u30fc\u30bf\u3092\u57cb\u3081\u8fbc\u3080\u306e\u3067\u3059\u304c\uff0craspistill\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u78ba\u8a8d\u3059\u308b\u3068\u6700\u8fd1\u306fgpsd\u304b\u3089\u4f4d\u7f6e\u60c5\u5831\u898b\u3066\u57cb\u3081\u8fbc\u3080\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u3042\u3063\u3066\u4fbf\u5229\u305d\u3046\u3067\u3059\uff0e

\n
\n
\n

\u3057\u304b\u3057\uff0c\u305d\u306e -gps \u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u5229\u7528\u3059\u308b\u3068\u30a8\u30e9\u30fc\u306b\u306a\u308a\u307e\u3059\uff0e

\n
\n
\n
\n
$ raspistill -gps -o test2.jpg\nlibgps.so.22: cannot open shared object file: No such file or directory\nUnable to load the libGPS library
\n
\n
\n
\n

\u3068\u308a\u3042\u3048\u305a\u30ea\u30f3\u30af\u5f35\u3063\u305f\u3089\u52d5\u304d\u307e\u3057\u305f\uff0e

\n
\n
\n
\n
$ sudo ln -s /usr/lib/arm-linux-gnueabihf/libgps.so.23.0.0 /usr/lib/arm-linux-gnueabihf/libgps.so.22
\n
\n
\n
\n
\n

add)
\n\u30d0\u30b0\u5831\u544a\u3057\u305f\u3089\u3059\u3050\u4fee\u6b63\u3055\u308c\u307e\u3057\u305f\uff0e\u3057\u3070\u3089\u304f\u3057\u305f\u3089\u53cd\u6620\u3055\u308c\u308b\u3067\u3057\u3087\u3046 :)

\n
\n\n
\n
\n

\u3057\u304b\u3057exif\u3092\u78ba\u8a8d\u3057\u3066\u3082\u4f4d\u7f6e\u60c5\u5831\u306f\u57cb\u3081\u8fbc\u307e\u308c\u3066\u3044\u307e\u305b\u3093\uff0e\u5ba4\u5185\u3067GPS\u5f31\u3044\u306e\u3067\u307e\u305f\u5f8c\u3067\u5c4b\u5916\u3067\u8a66\u3057\u3066\u307f\u307e\u3059\uff0e

\n
\n
\n
\n
\n

\u3057\u304b\u3057\uff0c8MP\u306eimx219\u3067\u306f\u30d4\u30f3\u30c8\u304c\u7121\u9650\u9060\u3067\u306f\u306a\u304f\u8fd1\u304f\u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u305d\u306e\u307e\u307e\u3067\u306f\u3061\u3087\u3063\u3068\u30c0\u30e1\u305d\u3046\uff0e\u305d\u3057\u3066\u753b\u89d2\u306f\u3082\u3063\u3068\u5e83\u89d2\u306a\u306e\u304c\u6b32\u3057\u3044\u3067\u3059\uff0e

\n
\n
\n

\"raspistil01\"/
\n\"raspistil02\"/

\n
\n
\n

\u30d4\u30f3\u30c8\u306e\u65b9\u306f\u4ee5\u4e0b\u306e\u30da\u30fc\u30b8\u3092\u53c2\u8003\u306b\u5c11\u3057\u8abf\u6574\u3057\u3066\u307f\u308b\u3068\u3053\u3093\u306a\u611f\u3058\u306b\uff0e\u3082\u3046\u5c11\u3057\u884c\u3051\u305d\u3046\u3060\u3051\u3069\u58ca\u3057\u305d\u3046\u3067\u6016\u3044\uff0e

\n
\n\n
\n

\"raspistil03\"/

\n
\n
\n

\u753b\u89d2\u3082\u72ed\u3044\u3057\u3053\u3046\u3044\u3046\u3082\u306e\u3092\u8cb7\u3046\u3068\u826f\u3055\u305d\u3046\uff0e\u8ab0\u304b\u8cb7\u3063\u3066\u8a66\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\uff0e(\u305d\u3057\u3066\u98fd\u304d\u305f\u3089\u5b89\u304f\u8b72\u3063\u3066\"\ud83d\ude0f\")

\n
\n\n
\n
\n
\n
\u74b0\u5883(Raspbian Buster Lite 2019-09-26\u30922019-11-12\u306bapt update && apt upgrade\u3057\u305f\u74b0\u5883)
\n
\n
$ dpkg-query -W gpsd libgps23 libraspberrypi-bin\ngpsd 3.17-7\nlibgps23:armhf 3.17-7\nlibraspberrypi-bin 1.20190925+1-1\n$ lsb_release -dr\nDescription: Raspbian GNU/Linux 10 (buster)\nRelease: 10\n$ uname -a\nLinux raspberrypi 4.19.75+ #1270 Tue Sep 24 18:38:54 BST 2019 armv6l GNU/Linux\n$ cat /proc/device-tree/model ;echo\nRaspberry Pi Model B Plus Rev 1.2
\n
\n
\n
\n
\n
\n
log
\n\n
\n", "content_text": "Raspberry Pi \u306e\u5c02\u7528\u30b3\u30de\u30f3\u30c9\u306e\u4e2d\u306b raspistil \u30b3\u30de\u30f3\u30c9\u3068\u3044\u3046\u3082\u306e\u304c\u3042\u308a\u307e\u3059\uff0e\n(Raspbian\u306e libraspberrypi-bin \u30d1\u30c3\u30b1\u30fc\u30b8\u5185\u306b\u3042\u308a\u307e\u3059\uff0e)\n\n\n\u3053\u306e\u30b3\u30de\u30f3\u30c9\u3067\u5c02\u7528\u30ab\u30e1\u30e9\u3067\u306e\u64ae\u5f71\u304c\u51fa\u6765\u307e\u3059\uff0e\n\u30a4\u30f3\u30bf\u30fc\u30d0\u30eb\u64ae\u5f71\u3057\u3066Mapillary\u306b\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u3066\u30de\u30c3\u30d4\u30f3\u30b0\u306e\u8db3\u3057\u306b\u51fa\u6765\u306a\u3044\u304b\u306a\u3068\u5c11\u3057\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\n\n\u4f55\u6642\u3082\u306f\u64ae\u5f71\u3057\u305f\u753b\u50cf\u306b\u5225\u64ae\u308a\u3057\u305fGPS\u30c7\u30fc\u30bf\u3092\u57cb\u3081\u8fbc\u3080\u306e\u3067\u3059\u304c\uff0craspistill\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u78ba\u8a8d\u3059\u308b\u3068\u6700\u8fd1\u306fgpsd\u304b\u3089\u4f4d\u7f6e\u60c5\u5831\u898b\u3066\u57cb\u3081\u8fbc\u3080\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u3042\u3063\u3066\u4fbf\u5229\u305d\u3046\u3067\u3059\uff0e\n\n\n\u3057\u304b\u3057\uff0c\u305d\u306e -gps \u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u5229\u7528\u3059\u308b\u3068\u30a8\u30e9\u30fc\u306b\u306a\u308a\u307e\u3059\uff0e\n\n\n\n$ raspistill -gps -o test2.jpg\nlibgps.so.22: cannot open shared object file: No such file or directory\nUnable to load the libGPS library\n\n\n\n\u3068\u308a\u3042\u3048\u305a\u30ea\u30f3\u30af\u5f35\u3063\u305f\u3089\u52d5\u304d\u307e\u3057\u305f\uff0e\n\n\n\n$ sudo ln -s /usr/lib/arm-linux-gnueabihf/libgps.so.23.0.0 /usr/lib/arm-linux-gnueabihf/libgps.so.22\n\n\n\n\nadd)\n\u30d0\u30b0\u5831\u544a\u3057\u305f\u3089\u3059\u3050\u4fee\u6b63\u3055\u308c\u307e\u3057\u305f\uff0e\u3057\u3070\u3089\u304f\u3057\u305f\u3089\u53cd\u6620\u3055\u308c\u308b\u3067\u3057\u3087\u3046 :)\n\n\n\nUsing the -gps option with the raspistil command will fail to load libGPS. \u00b7 Issue #593 \u00b7 raspberrypi/userland\nUpdate the GPS version to 23 by JamesH65 \u00b7 Pull Request #594 \u00b7 raspberrypi/userland\n\n\n\n\n\u3057\u304b\u3057exif\u3092\u78ba\u8a8d\u3057\u3066\u3082\u4f4d\u7f6e\u60c5\u5831\u306f\u57cb\u3081\u8fbc\u307e\u308c\u3066\u3044\u307e\u305b\u3093\uff0e\u5ba4\u5185\u3067GPS\u5f31\u3044\u306e\u3067\u307e\u305f\u5f8c\u3067\u5c4b\u5916\u3067\u8a66\u3057\u3066\u307f\u307e\u3059\uff0e\n\n\n\n\n\u3057\u304b\u3057\uff0c8MP\u306eimx219\u3067\u306f\u30d4\u30f3\u30c8\u304c\u7121\u9650\u9060\u3067\u306f\u306a\u304f\u8fd1\u304f\u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u305d\u306e\u307e\u307e\u3067\u306f\u3061\u3087\u3063\u3068\u30c0\u30e1\u305d\u3046\uff0e\u305d\u3057\u3066\u753b\u89d2\u306f\u3082\u3063\u3068\u5e83\u89d2\u306a\u306e\u304c\u6b32\u3057\u3044\u3067\u3059\uff0e\n\n\n\n\n\n\n\u30d4\u30f3\u30c8\u306e\u65b9\u306f\u4ee5\u4e0b\u306e\u30da\u30fc\u30b8\u3092\u53c2\u8003\u306b\u5c11\u3057\u8abf\u6574\u3057\u3066\u307f\u308b\u3068\u3053\u3093\u306a\u611f\u3058\u306b\uff0e\u3082\u3046\u5c11\u3057\u884c\u3051\u305d\u3046\u3060\u3051\u3069\u58ca\u3057\u305d\u3046\u3067\u6016\u3044\uff0e\n\n\n\nNew 8MP Camera – Q&A thread – Page 9 – Raspberry Pi Forums\n\n\n\n\n\n\n\u753b\u89d2\u3082\u72ed\u3044\u3057\u3053\u3046\u3044\u3046\u3082\u306e\u3092\u8cb7\u3046\u3068\u826f\u3055\u305d\u3046\uff0e\u8ab0\u304b\u8cb7\u3063\u3066\u8a66\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\uff0e(\u305d\u3057\u3066\u98fd\u304d\u305f\u3089\u5b89\u304f\u8b72\u3063\u3066)\n\n\n\n\nSainSmart IMX219 AI\u30ab\u30e1\u30e9\u30e2\u30b8\u30e5\u30fc\u30ebNVIDIA Jetson Nano\u3068Raspberry PI CM3\u30dc\u30fc\u30c9\u75288MP\u30bb\u30f3\u30b5\u30fc200\u5ea6FoV\n\n\n\n\n\n\u74b0\u5883(Raspbian Buster Lite 2019-09-26\u30922019-11-12\u306bapt update && apt upgrade\u3057\u305f\u74b0\u5883)\n\n$ dpkg-query -W gpsd libgps23 libraspberrypi-bin\ngpsd 3.17-7\nlibgps23:armhf 3.17-7\nlibraspberrypi-bin 1.20190925+1-1\n$ lsb_release -dr\nDescription: Raspbian GNU/Linux 10 (buster)\nRelease: 10\n$ uname -a\nLinux raspberrypi 4.19.75+ #1270 Tue Sep 24 18:38:54 BST 2019 armv6l GNU/Linux\n$ cat /proc/device-tree/model ;echo\nRaspberry Pi Model B Plus Rev 1.2\n\n\n\n\n\nlog\n\nraspistill\u6700\u8fd1\u306fgpsd\u304b\u3089\u4f4d\u7f6e\u60c5\u5831\u898b\u3066\u57cb\u3081\u8fbc\u3080\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u3042\u3063\u3066\u4fbf\u5229\u305d\u3046\n\u591a\u5206\u30d0\u30b0\n\u5225\u89e3\ngpsd-clients\u306ecgps\u3067timeout\u3063\u3066\u8a00\u308f\u308c\u308b\u306e\u3067\u3084\u3063\u3071\u96fb\u6ce2\u5f31\u3044\u305b\u3044\u304b\u306a?\n\u56fa\u5b9a\u89d2\u5ea6\u3068\u30d4\u30f3\u30c8\u306f\u3053\u3093\u306a\u3082\u3093\u304b\nhttps://gist.github.com/ae6a14b5a468073d270210ab9e09fc47\n\u4e0a\u304c\u3063\u3066\u7121\u3055\u305d\u3046\u306a\u306e\u3067\n\u5373\u4fee\u6b63\u3055\u308c\u305f :-)", "date_published": "2019-11-14T15:15:03+09:00", "date_modified": "2019-11-16T23:11:51+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": [ "camera", "RaspberryPi", "Raspberry Pi", "Raspbian Buster" ] }, { "id": "http://matoken.org/blog/?p=2521", "url": "https://matoken.org/blog/2019/10/01/raspbian-buster-2019-09-26/", "title": "Raspbian Buster 2019-09-26", "content_html": "
\n

\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u3066\u3044\u307e\u3057\u305f\uff0e

\n
\n
\n\n
\n
\n
\n
\n
\n
2019-09-26:\n* rpi-eeprom included\n  - This will automatically update the SPI EEPROM on the Raspberry Pi 4 to the latest stable version.\n     See https://rpf.io/eeprom for more information.\n* New icon theme for file manager icons\n* Appearance Settings - option for identical desktop on both monitors\n* Appearance Settings - option to show different desktop icons on both monitors\n* Taskbar automatically moved to monitor 0 if monitor 1 not found at boot\n* Switching of audio output between two HDMI devices added to volume plugin\n* Switching of audio input devices added to volume plugin\n* .asoundrc (ALSA config file) now uses 'plug' values to support more devices\n* Audio Settings tool modified to integrate more closely with volume plugin to reduce duplicated code\n* Screen Configuration tool now shows separate menus for resolution and refresh rate\n* Primary and active monitor settings removed from Screen Configuration tool\n* Overscan support added for FKMS driver\n* New keyboard shortcuts added - Ctrl-Alt-End brings up shutdown menu; Ctrl-Alt-M moves taskbar between monitors\n* Latest changes to Bluez ALSA interface integrated to improve connection to Bluetooth audio devices\n* Mousepad used as simple text editor instead of leafpad\n* Version 3.2 of Thonny added\n* Version 74 of Chromium added\n* Version 3.0.8 of VLC added\n* Version 32.0.0.255 of Flash player added\n* Version 6.5.0 of RealVNC Server added\n* Version 6.19.715 of RealVNC Viewer added (full image only)\n* Version 12.0.1 of Mathematica added (full image only)\n* Version 0.20.8 of NodeRED added (full image only)\n* Version 3.1.0 of Sonic Pi added (full image only)\n* Scratch 3 added (full image only)\n* Bug fix - URL handling in Terminal\n* Bug fix - octal values in SSIDs in network plugin\n* Bug fix - remaining value in progress bar when transferring files\n* Bug fix - integration of xarchiver tool with file manager\n* Bug fix - start menu opening on incorrect monitor\n* Bug fix - minimised applications wrongly displayed on taskbar on second monitor\n* Bug fix - Bluetooth icon disappearing on x86 platforms when Bluetooth turned off\n* Bug fix - Screen Configuration tool not shown on x86 platforms and settings not being saved\n* Various translation updates\n* Various minor bug fixes\n* Epiphany/Web removed\n* ntfs-3g included\n* pciutils added\n* Linux kernel 4.19.75\n* Raspberry Pi firmware 01508e81ec1e918448227ca864616d56c430b46d
\n
\n
\n
\n
\n
\n

\u3053\u306e\u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8\u304c\u4fbf\u5229\u304b\u3082?

\n
\n
\n
\n
\n
    \n
  • New keyboard shortcuts added – Ctrl-Alt-End brings up shutdown menu; Ctrl-Alt-M moves taskbar between monitors
  • \n
\n
\n
\n
\n
\n

\u3068\u308a\u3042\u3048\u305a\uff0clite\u3060\u3051\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u30ad\u30e5\u30fc\u306b\u5165\u308c\u3066\u304a\u304d\u307e\u3057\u305f\uff0e

\n
\n
\n
\n
$ wget https://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2019-09-30/2019-09-26-raspbian-buster-lite.zip.torrent \\\n  https://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2019-09-30/2019-09-26-raspbian-buster-lite.zip.sig\n$ transmission-cli 2019-09-26-raspbian-buster-lite.zip.torrent
\n
\n
\n
\n
\n
\n

ADD: \u305d\u306e\u5f8c\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u304c\u7d42\u308f\u3063\u305f\u306e\u3067verify

\n
\n
\n
\n
$ gpg --verify ./2019-09-26-raspbian-buster-lite.zip.sig\ngpg: assuming signed data in './2019-09-26-raspbian-buster-lite.zip'\ngpg: Signature made Mon 30 Sep 2019 09:43:50 PM JST\ngpg:                using RSA key 54C3DD610D9D1B4AF82A37758738CD6B956F460C\ngpg: Good signature from \"Raspberry Pi Downloads Signing Key\" [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: 54C3 DD61 0D9D 1B4A F82A  3775 8738 CD6B 956F 460C
\n
\n
\n
\n
\n
\n

\uff03Raspberry Pi 4 model B \u3082\u5148\u9031\u3042\u305f\u308a\u306b\u5de5\u4e8b\u8a2d\u8a08\u8a8d\u8a3c\u304c\u7dcf\u52d9\u7701\u306e\u30ea\u30b9\u30c8\u306b\u8f09\u3063\u305f\u3088\u3046\u3060\u3057\u65e5\u672c\u767a\u58f2\u3082\u9593\u8fd1?(\u6240\u8b02\u6280\u9069\u554f\u984c)
\n\uff03\uff03\u96fb\u6e90\u30d0\u30b0\u3082\u4fee\u6b63\u3057\u3066\u304f\u308c\u308b\u3068\u5b09\u3057\u3044

\n
\n
\n\n
\n", "content_text": "\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u3066\u3044\u307e\u3057\u305f\uff0e\n\n\n\nDownload Raspbian for Raspberry Pi\nDownload NOOBS for Raspberry Pi\nhttp://downloads.raspberrypi.org/raspbian/release_notes.txt\n\n\n\n\n\n\n2019-09-26:\n* rpi-eeprom included\n - This will automatically update the SPI EEPROM on the Raspberry Pi 4 to the latest stable version.\n See https://rpf.io/eeprom for more information.\n* New icon theme for file manager icons\n* Appearance Settings - option for identical desktop on both monitors\n* Appearance Settings - option to show different desktop icons on both monitors\n* Taskbar automatically moved to monitor 0 if monitor 1 not found at boot\n* Switching of audio output between two HDMI devices added to volume plugin\n* Switching of audio input devices added to volume plugin\n* .asoundrc (ALSA config file) now uses 'plug' values to support more devices\n* Audio Settings tool modified to integrate more closely with volume plugin to reduce duplicated code\n* Screen Configuration tool now shows separate menus for resolution and refresh rate\n* Primary and active monitor settings removed from Screen Configuration tool\n* Overscan support added for FKMS driver\n* New keyboard shortcuts added - Ctrl-Alt-End brings up shutdown menu; Ctrl-Alt-M moves taskbar between monitors\n* Latest changes to Bluez ALSA interface integrated to improve connection to Bluetooth audio devices\n* Mousepad used as simple text editor instead of leafpad\n* Version 3.2 of Thonny added\n* Version 74 of Chromium added\n* Version 3.0.8 of VLC added\n* Version 32.0.0.255 of Flash player added\n* Version 6.5.0 of RealVNC Server added\n* Version 6.19.715 of RealVNC Viewer added (full image only)\n* Version 12.0.1 of Mathematica added (full image only)\n* Version 0.20.8 of NodeRED added (full image only)\n* Version 3.1.0 of Sonic Pi added (full image only)\n* Scratch 3 added (full image only)\n* Bug fix - URL handling in Terminal\n* Bug fix - octal values in SSIDs in network plugin\n* Bug fix - remaining value in progress bar when transferring files\n* Bug fix - integration of xarchiver tool with file manager\n* Bug fix - start menu opening on incorrect monitor\n* Bug fix - minimised applications wrongly displayed on taskbar on second monitor\n* Bug fix - Bluetooth icon disappearing on x86 platforms when Bluetooth turned off\n* Bug fix - Screen Configuration tool not shown on x86 platforms and settings not being saved\n* Various translation updates\n* Various minor bug fixes\n* Epiphany/Web removed\n* ntfs-3g included\n* pciutils added\n* Linux kernel 4.19.75\n* Raspberry Pi firmware 01508e81ec1e918448227ca864616d56c430b46d\n\n\n\n\n\n\u3053\u306e\u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8\u304c\u4fbf\u5229\u304b\u3082?\n\n\n\n\n\nNew keyboard shortcuts added – Ctrl-Alt-End brings up shutdown menu; Ctrl-Alt-M moves taskbar between monitors\n\n\n\n\n\n\u3068\u308a\u3042\u3048\u305a\uff0clite\u3060\u3051\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u30ad\u30e5\u30fc\u306b\u5165\u308c\u3066\u304a\u304d\u307e\u3057\u305f\uff0e\n\n\n\n$ wget https://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2019-09-30/2019-09-26-raspbian-buster-lite.zip.torrent \\\n https://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2019-09-30/2019-09-26-raspbian-buster-lite.zip.sig\n$ transmission-cli 2019-09-26-raspbian-buster-lite.zip.torrent\n\n\n\n\n\nADD: \u305d\u306e\u5f8c\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u304c\u7d42\u308f\u3063\u305f\u306e\u3067verify\n\n\n\n$ gpg --verify ./2019-09-26-raspbian-buster-lite.zip.sig\ngpg: assuming signed data in './2019-09-26-raspbian-buster-lite.zip'\ngpg: Signature made Mon 30 Sep 2019 09:43:50 PM JST\ngpg: using RSA key 54C3DD610D9D1B4AF82A37758738CD6B956F460C\ngpg: Good signature from \"Raspberry Pi Downloads Signing Key\" [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: 54C3 DD61 0D9D 1B4A F82A 3775 8738 CD6B 956F 460C\n\n\n\n\n\n\uff03Raspberry Pi 4 model B \u3082\u5148\u9031\u3042\u305f\u308a\u306b\u5de5\u4e8b\u8a2d\u8a08\u8a8d\u8a3c\u304c\u7dcf\u52d9\u7701\u306e\u30ea\u30b9\u30c8\u306b\u8f09\u3063\u305f\u3088\u3046\u3060\u3057\u65e5\u672c\u767a\u58f2\u3082\u9593\u8fd1?(\u6240\u8b02\u6280\u9069\u554f\u984c)\n\uff03\uff03\u96fb\u6e90\u30d0\u30b0\u3082\u4fee\u6b63\u3057\u3066\u304f\u308c\u308b\u3068\u5b09\u3057\u3044\n\n\n\n2.4GHz\u5e2f\u9ad8\u5ea6\u5316\u5c0f\u96fb\u529b\u30c7\u30fc\u30bf\u901a\u4fe1\u30b7\u30b9\u30c6\u30e0\n5GHz\u5e2f\u5c0f\u96fb\u529b\u30c7\u30fc\u30bf\u901a\u4fe1\u30b7\u30b9\u30c6\u30e0(I) (5.2GHz\u5e2f\uff0c5.3GHz\u5e2f)\n5GHz\u5e2f\u5c0f\u96fb\u529b\u30c7\u30fc\u30bf\u901a\u4fe1\u30b7\u30b9\u30c6\u30e0(II) (5.6GHz\u5e2f)\nCompliance, and why Raspberry Pi 4 may not be available in your country yet – Raspberry Pi", "date_published": "2019-10-01T12:06:53+09:00", "date_modified": "2019-10-01T14:09:42+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": [ "RaspberryPi", "Raspbian", "Raspberry Pi", "Raspbian Buster" ] }, { "id": "http://matoken.org/blog/?p=2443", "url": "https://matoken.org/blog/2019/07/29/sshuttle-gets-an-error/", "title": "sshuttle \u304c\u30a8\u30e9\u30fc\u306b\u306a\u308b", "content_html": "
\n
\n
\n

SSH VPN \u304c\u304a\u624b\u8efd\u306b\u5229\u7528\u3067\u304d\u308b sshuttle \u3092\u4e45\u3005\u306b\u4f7f\u304a\u3046\u3068\u3057\u305f\u3089\u5931\u6557\u3057\u307e\u3059\uff0e\u3044\u304f\u3064\u304b\u306eremotehost\u3092\u8a66\u3057\u3066\u3082\u3046\u307e\u304f\u3044\u304b\u306a\u3044\uff0e

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

Debian sid \u74b0\u5883\u3067\u306e\u30a8\u30e9\u30fc

\n
\n
\n
\n
$ sshuttle -v -r user@remotehost 0/0\r\nStarting sshuttle proxy.\r\nfirewall manager: Starting firewall with Python version 3.7.4\r\nfirewall manager: ready method name nat.\r\nIPv6 enabled: False\r\nUDP enabled: False\r\nDNS enabled: False\r\nUser enabled: False\r\nTCP redirector listening on ('127.0.0.1', 12300).\r\nStarting client with Python version 3.7.4\r\nc : connecting to server...\r\nHost key fingerprint is SHA256:kUoWT4bCu7+HiegN9R5tYqO5nnvpQPobzSk46T8WEwU\r\n+---[ECDSA 256]---+\r\n|   .E...o        |\r\n|    o o= .       |\r\n|     +o +        |\r\n|    oo . .       |\r\n|    oo. S        |\r\n|   *++ o         |\r\n|  *.+=X+o        |\r\n| ..=+X*=.        |\r\n| .o+%B+o         |\r\n+----[SHA256]-----+\r\nEnter passphrase for key '/home/matoken/.ssh/id_ed25519':\r\nAuthenticated to nnn.nnn.nnn.nnn ([nnn.nnn.nnn.nnn]:nn).\r\n-c:3: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses\r\nStarting server with Python version 3.7.3\r\n s: latency control setting = True\r\nc : Connected.\r\n s: auto-nets:False\r\nfirewall manager: setting up.\r\n>> iptables -t nat -N sshuttle-12300\r\n>> iptables -t nat -F sshuttle-12300\r\n>> iptables -t nat -I OUTPUT 1 -j sshuttle-12300\r\n>> iptables -t nat -I PREROUTING 1 -j sshuttle-12300\r\n>> iptables -t nat -A sshuttle-12300 -j RETURN --dest 127.0.0.1/32 -p tcp\r\n>> iptables -t nat -A sshuttle-12300 -j REDIRECT --dest 0.0.0.0/0 -p tcp --to-ports 12300 -m ttl ! --ttl 42\r\nfirewall manager: undoing changes.\r\n>> iptables -t nat -D OUTPUT -j sshuttle-12300\r\n>> iptables -t nat -D PREROUTING -j sshuttle-12300\r\n>> iptables -t nat -F sshuttle-12300\r\n>> iptables -t nat -X sshuttle-12300\r\nc : fatal: server died with error code 255
\n
\n
\n
\n

\u6700\u5f8c\u306e\u884c\u306e\u30a8\u30e9\u30fc\u30e1\u30c3\u30bb\u30fc\u30b8\u3067\u691c\u7d22\u3059\u308b\u3068\u4ee5\u4e0b\u306eIssue \u3092\u898b\u3064\u3051\u307e\u3057\u305f\uff0e

\n
\n\n
\n

\u53c2\u8003\u306b\u3057\u3066 -x remotehostip \u3067\u4f7f\u3048\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\uff0e-x \u306f\u9664\u5916\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u63a5\u7d9a\u5148\u306eip \u3092\u6307\u5b9a\u3057\u3066\u9664\u5916\u3059\u308b\u3068OK\u306e\u3088\u3046\u3067\u3059\uff0e

\n
\n
\n
    \n
  • \n

    NG $ sshuttle -r user@remotehost 0/0

    \n
  • \n
  • \n

    OK $ sshuttle -r user@remotehost 0/0 -x remotehostip

    \n
  • \n
\n
\n
\n

VPN \u5bfe\u8c61\u306e\u30b5\u30d6\u30cd\u30c3\u30c8\u3068\u540c\u69d8 -x \u306b\u3082\u8907\u6570\u306e\u30b5\u30d6\u30cd\u30c3\u30c8/ip \u306e\u6307\u5b9a\u304c\u3067\u304d\u307e\u3059\uff0e

\n
\n
\n
Debian sid \u74b0\u5883
\n
\n
$ dpkg-query -W sshuttle\r\nsshuttle        0.78.5-1\r\n$ hostnamectl|grep -E 'Operating System|Architecture'\r\n  Operating System: Debian GNU/Linux bullseye/sid\r\n\t  Architecture: x86-64
\n
\n
\n
\n
\n
\n

Raspbian Buster \u74b0\u5883\u3067\u306e\u30a8\u30e9\u30fc

\n
\n
\n

\u3061\u306a\u307f\u306b sshuttle \u3092 Raspbian Buster \u3067\u8a66\u3059\u3068\u307e\u305f\u9055\u3046\u3053\u3093\u306a\u30a8\u30e9\u30fc\u306b\uff0e\u3067\u3082\u3084\u3063\u3071\u308a -x \u3067\u89e3\u6c7a\u3057\u307e\u3057\u305f\uff0e

\n
\n
\n
Raspbian Buster \u3067\u306e error message
\n
\n
 :\r\nclient: Connected.\r\npacket_write_wait: Connection to 192.168.1.102 port 22: Broken pipe\r\nTraceback (most recent call last):\r\n  File \"/usr/bin/sshuttle\", line 11, in <module>\r\n\tload_entry_point('sshuttle==0.78.5', 'console_scripts', 'sshuttle')()\r\n  File \"/usr/lib/python3/dist-packages/sshuttle/cmdline.py\", line 82, in main\r\n\topt.sudo_pythonpath)\r\n  File \"/usr/lib/python3/dist-packages/sshuttle/client.py\", line 787, in main\r\n\tseed_hosts, auto_hosts, auto_nets, daemon, to_nameserver)\r\n  File \"/usr/lib/python3/dist-packages/sshuttle/client.py\", line 547, in _main\r\n\tssnet.runonce(handlers, mux)\r\n  File \"/usr/lib/python3/dist-packages/sshuttle/ssnet.py\", line 598, in runonce\r\n\th.callback(s)\r\n  File \"/usr/lib/python3/dist-packages/sshuttle/ssnet.py\", line 488, in callback\r\n\tself.flush()\r\n  File \"/usr/lib/python3/dist-packages/sshuttle/ssnet.py\", line 439, in flush\r\n\twrote = _nb_clean(os.write, self.wsock.fileno(), self.outbuf[0])\r\n  File \"/usr/lib/python3/dist-packages/sshuttle/ssnet.py\", line 79, in _nb_clean\r\n\treturn func(*args)\r\nBrokenPipeError: [Errno 32] Broken pipe
\n
\n
\n
\n
Raspbian Buster \u306e\u74b0\u5883
\n
\n
$ dpkg-query -W sshuttle\r\nsshuttle        0.78.5-1\r\n$ lsb_release -d\r\nDescription:    Raspbian GNU/Linux 10 (buster)\r\n$ uname -m\r\narmv6l\r\n$ cat /proc/device-tree/model ;echo\r\nRaspberry Pi Model B Rev 2
\n
\n
\n
\n
\n
\n

Ubuntu 18.04 LTS \u74b0\u5883(OK)

\n
\n
\n

Ubuntu 18.04 LTS \u306esshuttle \u3067\u3082\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\u304c\u3053\u308c\u306f -x \u3092\u4ed8\u3051\u306a\u304f\u3066\u3082\u554f\u984c\u306a\u3057\u3067\u3057\u305f\uff0esshuttle 0.78.4 \u301c 0.78.5 \u306e\u9593\u306e\u4fee\u6b63\u3067\u306e\u5f71\u97ff\u3067\u3057\u3087\u3046\u304b?

\n
\n
\n
error \u306e\u51fa\u306a\u304b\u3063\u305f\u74b0\u5883
\n
\n
$ dpkg-query -W sshuttle\r\nsshuttle        0.78.3-1ubuntu1\r\n$ lsb_release -d\r\nDescription:    Ubuntu 18.04.2 LTS\r\n$ uname -m\r\nx86_64
\n
\n
\n
\n
\n

\n", "content_text": "SSH VPN \u304c\u304a\u624b\u8efd\u306b\u5229\u7528\u3067\u304d\u308b sshuttle \u3092\u4e45\u3005\u306b\u4f7f\u304a\u3046\u3068\u3057\u305f\u3089\u5931\u6557\u3057\u307e\u3059\uff0e\u3044\u304f\u3064\u304b\u306eremotehost\u3092\u8a66\u3057\u3066\u3082\u3046\u307e\u304f\u3044\u304b\u306a\u3044\uff0e\n\n\n\n\nGitHub – sshuttle/sshuttle: Transparent proxy server that works as a poor man’s VPN. Forwards over ssh. Doesn’t require admin. Works with Linux and MacOS. Supports DNS tunneling.\n\n\n\n\n\n\nDebian sid \u74b0\u5883\u3067\u306e\u30a8\u30e9\u30fc\n\n\n\n$ sshuttle -v -r user@remotehost 0/0\r\nStarting sshuttle proxy.\r\nfirewall manager: Starting firewall with Python version 3.7.4\r\nfirewall manager: ready method name nat.\r\nIPv6 enabled: False\r\nUDP enabled: False\r\nDNS enabled: False\r\nUser enabled: False\r\nTCP redirector listening on ('127.0.0.1', 12300).\r\nStarting client with Python version 3.7.4\r\nc : connecting to server...\r\nHost key fingerprint is SHA256:kUoWT4bCu7+HiegN9R5tYqO5nnvpQPobzSk46T8WEwU\r\n+---[ECDSA 256]---+\r\n| .E...o |\r\n| o o= . |\r\n| +o + |\r\n| oo . . |\r\n| oo. S |\r\n| *++ o |\r\n| *.+=X+o |\r\n| ..=+X*=. |\r\n| .o+%B+o |\r\n+----[SHA256]-----+\r\nEnter passphrase for key '/home/matoken/.ssh/id_ed25519':\r\nAuthenticated to nnn.nnn.nnn.nnn ([nnn.nnn.nnn.nnn]:nn).\r\n-c:3: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses\r\nStarting server with Python version 3.7.3\r\n s: latency control setting = True\r\nc : Connected.\r\n s: auto-nets:False\r\nfirewall manager: setting up.\r\n>> iptables -t nat -N sshuttle-12300\r\n>> iptables -t nat -F sshuttle-12300\r\n>> iptables -t nat -I OUTPUT 1 -j sshuttle-12300\r\n>> iptables -t nat -I PREROUTING 1 -j sshuttle-12300\r\n>> iptables -t nat -A sshuttle-12300 -j RETURN --dest 127.0.0.1/32 -p tcp\r\n>> iptables -t nat -A sshuttle-12300 -j REDIRECT --dest 0.0.0.0/0 -p tcp --to-ports 12300 -m ttl ! --ttl 42\r\nfirewall manager: undoing changes.\r\n>> iptables -t nat -D OUTPUT -j sshuttle-12300\r\n>> iptables -t nat -D PREROUTING -j sshuttle-12300\r\n>> iptables -t nat -F sshuttle-12300\r\n>> iptables -t nat -X sshuttle-12300\r\nc : fatal: server died with error code 255\n\n\n\n\u6700\u5f8c\u306e\u884c\u306e\u30a8\u30e9\u30fc\u30e1\u30c3\u30bb\u30fc\u30b8\u3067\u691c\u7d22\u3059\u308b\u3068\u4ee5\u4e0b\u306eIssue \u3092\u898b\u3064\u3051\u307e\u3057\u305f\uff0e\n\n\n\n\nsshuttle crashes with server died with error code 255 \u00b7 Issue #150 \u00b7 sshuttle/sshuttle \u00b7 GitHub\n\n\n\n\n\u53c2\u8003\u306b\u3057\u3066 -x remotehostip \u3067\u4f7f\u3048\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\uff0e-x \u306f\u9664\u5916\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u63a5\u7d9a\u5148\u306eip \u3092\u6307\u5b9a\u3057\u3066\u9664\u5916\u3059\u308b\u3068OK\u306e\u3088\u3046\u3067\u3059\uff0e\n\n\n\n\nNG $ sshuttle -r user@remotehost 0/0\n\n\nOK $ sshuttle -r user@remotehost 0/0 -x remotehostip\n\n\n\n\nVPN \u5bfe\u8c61\u306e\u30b5\u30d6\u30cd\u30c3\u30c8\u3068\u540c\u69d8 -x \u306b\u3082\u8907\u6570\u306e\u30b5\u30d6\u30cd\u30c3\u30c8/ip \u306e\u6307\u5b9a\u304c\u3067\u304d\u307e\u3059\uff0e\n\n\nDebian sid \u74b0\u5883\n\n$ dpkg-query -W sshuttle\r\nsshuttle 0.78.5-1\r\n$ hostnamectl|grep -E 'Operating System|Architecture'\r\n Operating System: Debian GNU/Linux bullseye/sid\r\n\t Architecture: x86-64\n\n\n\n\n\nRaspbian Buster \u74b0\u5883\u3067\u306e\u30a8\u30e9\u30fc\n\n\n\u3061\u306a\u307f\u306b sshuttle \u3092 Raspbian Buster \u3067\u8a66\u3059\u3068\u307e\u305f\u9055\u3046\u3053\u3093\u306a\u30a8\u30e9\u30fc\u306b\uff0e\u3067\u3082\u3084\u3063\u3071\u308a -x \u3067\u89e3\u6c7a\u3057\u307e\u3057\u305f\uff0e\n\n\nRaspbian Buster \u3067\u306e error message\n\n :\r\nclient: Connected.\r\npacket_write_wait: Connection to 192.168.1.102 port 22: Broken pipe\r\nTraceback (most recent call last):\r\n File \"/usr/bin/sshuttle\", line 11, in <module>\r\n\tload_entry_point('sshuttle==0.78.5', 'console_scripts', 'sshuttle')()\r\n File \"/usr/lib/python3/dist-packages/sshuttle/cmdline.py\", line 82, in main\r\n\topt.sudo_pythonpath)\r\n File \"/usr/lib/python3/dist-packages/sshuttle/client.py\", line 787, in main\r\n\tseed_hosts, auto_hosts, auto_nets, daemon, to_nameserver)\r\n File \"/usr/lib/python3/dist-packages/sshuttle/client.py\", line 547, in _main\r\n\tssnet.runonce(handlers, mux)\r\n File \"/usr/lib/python3/dist-packages/sshuttle/ssnet.py\", line 598, in runonce\r\n\th.callback(s)\r\n File \"/usr/lib/python3/dist-packages/sshuttle/ssnet.py\", line 488, in callback\r\n\tself.flush()\r\n File \"/usr/lib/python3/dist-packages/sshuttle/ssnet.py\", line 439, in flush\r\n\twrote = _nb_clean(os.write, self.wsock.fileno(), self.outbuf[0])\r\n File \"/usr/lib/python3/dist-packages/sshuttle/ssnet.py\", line 79, in _nb_clean\r\n\treturn func(*args)\r\nBrokenPipeError: [Errno 32] Broken pipe\n\n\n\nRaspbian Buster \u306e\u74b0\u5883\n\n$ dpkg-query -W sshuttle\r\nsshuttle 0.78.5-1\r\n$ lsb_release -d\r\nDescription: Raspbian GNU/Linux 10 (buster)\r\n$ uname -m\r\narmv6l\r\n$ cat /proc/device-tree/model ;echo\r\nRaspberry Pi Model B Rev 2\n\n\n\n\n\nUbuntu 18.04 LTS \u74b0\u5883(OK)\n\n\nUbuntu 18.04 LTS \u306esshuttle \u3067\u3082\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\u304c\u3053\u308c\u306f -x \u3092\u4ed8\u3051\u306a\u304f\u3066\u3082\u554f\u984c\u306a\u3057\u3067\u3057\u305f\uff0esshuttle 0.78.4 \u301c 0.78.5 \u306e\u9593\u306e\u4fee\u6b63\u3067\u306e\u5f71\u97ff\u3067\u3057\u3087\u3046\u304b?\n\n\nerror \u306e\u51fa\u306a\u304b\u3063\u305f\u74b0\u5883\n\n$ dpkg-query -W sshuttle\r\nsshuttle 0.78.3-1ubuntu1\r\n$ lsb_release -d\r\nDescription: Ubuntu 18.04.2 LTS\r\n$ uname -m\r\nx86_64", "date_published": "2019-07-29T23:55:46+09:00", "date_modified": "2019-07-30T00:00: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": [ "ssh", "sshuttle", "Debian", "Linux", "Raspberry Pi", "Raspbian Buster", "sid" ] }, { "id": "http://matoken.org/blog/?p=2295", "url": "https://matoken.org/blog/2019/03/01/launch-debian-buster-arm-64-with-raspberry-pi-3-model-b-usb-boot/", "title": "Raspberry Pi 3 Model B \u306e USB\u8d77\u52d5\u3067 Debian buster arm64 \u3092\u52d5\u304b\u3059", "content_html": "

\u6700\u8fd1\u5165\u624b\u3057\u305f(\u9045) RaspberryPi 3 model B \u3067 USB \u30e1\u30e2\u30ea\u8d77\u52d5\u306e Debian buster aarch64 \u3092\u8a2d\u5b9a\u3057\u3066\u307f\u305f\u3068\u304d\u306e\u30e1\u30e2\u3067\u3059\uff0e

\n

\u30b8\u30e2\u30c6\u30a3\u30fc\u7d4c\u7531\u3067 Raspberry Pi 3 model B \u3092\u5165\u624b\u3057\u307e\u3057\u305f\uff0eRaspberry Pi 3 model B + USB Wi-Fi + USB Bluetooth + \u30b1\u30fc\u30b9\u306e\u30bb\u30c3\u30c8\u304c2,500\u5186 + \u9001\u6599\u624b\u6570\u6599 500\u5186\u3068\u5b89\u3044\u3067\u3059\uff0e\u666e\u901a\u306b\u65b0\u54c1\u3067\u8cb7\u3046\u3068 8,000\u5186\u8fd1\u304f\u3059\u308b\u3068\u601d\u3044\u307e\u3059\uff0e\u4eca\u3053\u306e\u8a18\u4e8b\u3092\u66f8\u3044\u3066\u3044\u308b\u6642\u70b9\u3067\u672a\u3060\u5728\u5eab\u306f\u3042\u308b\u3088\u3046\u306a\u306e\u3067\u8208\u5473\u306e\u3042\u308b\u4eba\u306f\u8cb7\u3046\u3068\u3044\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e(6\u500b\u540c\u68b1\u53ef\u80fd\u306a\u306e\u3067\u305d\u308c\u3060\u30681\u500b\u3042\u305f\u308a\u304c\u5c11\u3057\u5b89\u304f\u306a\u308b\u306e\u3067\u8fd1\u6240\u306e\u53cb\u9054\u3068\u8cb7\u3046\u3068\u3044\u3044\u304b\u3082)

\n\n

\"IMG-20190208-184136\"/\"IMG-20190208-185154\"/\"IMG-20190208-185222\"/\"IMG-20190213-212056\"/

\n

64bit\u306b\u306a\u3063\u305f Raspberry Pi \u306f\u6b32\u3057\u3044\u3068\u601d\u3063\u3066\u3044\u305f\u306e\u3067\u5b89\u304f\u624b\u306b\u5165\u3063\u3066\u52a9\u304b\u308a\u307e\u3057\u305f :)
\n(\u5f8c\u7d99\u306e Raspberry Pi 3 Model B+/A+ \u3084\uff0cSoC\u304c 3B \u3068\u540c\u3058\u3067\u7121\u7dda\u6a5f\u80fd\u306e\u306a\u3044 2B v1.2 \u3068\u304b\u3082\u6b32\u3057\u3044\u3067\u3059\u306d\uff0e)

\n

Raspberry Pi 3 model B \u306f 32bit\u3060\u3051\u3067\u306a\u304f64bit \u3082\u5229\u7528\u3067\u304d\u308b\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u3067\u3059\uff0e\u305b\u3063\u304b\u304f\u306a\u306e\u3067 64bit\u3067\u52d5\u304b\u3057\u305f\u3044\u3051\u3069\u4eca\u306e\u6642\u70b9\u3067\u306f Raspbian \u306f 32bit\u306e\u307f\u3067\u3059\uff0e\u305d\u3053\u3067 Debian \u306e arm64 \u3092\u8a66\u3059\u3053\u3068\u306b\u3057\u307e\u3057\u305f\uff0e

\n

Raspberry Pi 3 \u7528 Debian buster arm64 \u30a4\u30e1\u30fc\u30b8\u306e\u5165\u624b\u3068USB\u30e1\u30e2\u30ea\u3078\u306e\u66f8\u304d\u8fbc\u307f

\n

\u30a4\u30e1\u30fc\u30b8\u306f\u5ca9\u677e\u3055\u3093\u306e\u6771\u4eac\u30a8\u30ea\u30a2Debian\u52c9\u5f37\u4f1a\u306e\u8cc7\u6599\u3092\u771f\u4f3c\u3057\u3066\u4f5c\u308d\u3046\u3068\u601d\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\uff0c

\n\n

DebianWiki \u306e RaspberryPi3 \u306e\u9805\u76ee\u3092\u898b\u305f\u3089\u975e\u516c\u5f0f\u3060\u3051\u3069\u30a4\u30e1\u30fc\u30b8\u304c\u3042\u3063\u305f\u306e\u3067\u4eca\u56de\u306f\u305d\u308c\u3092\u5229\u7528\u3057\u307e\u3057\u305f\uff0e\u73fe\u5728 testing \u306e Buster \u306e\u30a4\u30e1\u30fc\u30b8\u304c\u5165\u624b\u3067\u304d\u307e\u3059\uff0e

\n\n

\u30b9\u30c8\u30ec\u30fc\u30b8\u306f\u901a\u5e38 microSD \u3092\u5229\u7528\u3057\u307e\u3059\u304c\uff0c\u624b\u6301\u3061\u304c\u306a\u3044\u306e\u3068 Raspberry Pi 3 B \u306fUSB\u8d77\u52d5\u304c\u53ef\u80fd\u306a\u306f\u305a\u306a\u306e\u3067USB\u30e1\u30e2\u30ea\u3092\u5229\u7528\u3059\u308b\u3053\u3068\u306b\u3057\u307e\u3057\u305f\uff0eUSB 2.0\u63a5\u7d9a\u306e\u5bb9\u91cf2GB\u306e\u3082\u306e\u3092\u7528\u610f\u3057\u307e\u3057\u305f\uff0e

\n

\u3053\u306e\u3088\u3046\u306a\u611f\u3058\u3067\u30a4\u30e1\u30fc\u30b8\u3092\u5165\u624b\u3057\u3066\u30cf\u30c3\u30b7\u30e5\u306e\u30c1\u30a7\u30c3\u30af\u3092\u3057\u305f\u5f8cUSB\u30e1\u30e2\u30ea\u3078\u66f8\u304d\u8fbc\u307f\u307e\u3057\u305f\uff0e\u3053\u3053\u3067\u306f Linux\u306edd\u30b3\u30de\u30f3\u30c9\u3067\u66f8\u304d\u8fbc\u3093\u3067\u3044\u307e\u3059\u304c\uff0cEtcher\u306a\u3069\u3092\u5229\u7528\u3059\u308b\u3068\u8272\u3005\u306a\u74b0\u5883\u3067GUI\u3067\u306e\u66f8\u304d\u8fbc\u307f\u304c\u53ef\u80fd\u3067\u3059\uff0e
\n\u203b\u30a4\u30e1\u30fc\u30b8\u306f\u6700\u65b0\u306e\u3082\u306e\u3092\u5229\u7528\u3059\u308b\u3088\u3046\u306b\u3057\u307e\u3057\u3087\u3046\uff0e

\n
$ wget -c https://people.debian.org/~gwolf/raspberrypi3/20190206/20190206-raspberry-pi-3-buster-PREVIEW.img.xz https://people.debian.org/~gwolf/raspberrypi3/20190206/20190206-raspberry-pi-3-buster-PREVIEW.img.xz.sha256\r\n$ sha256sum -c ./20190206-raspberry-pi-3-buster-PREVIEW.img.xz.sha256\r\n20190206-raspberry-pi-3-buster-PREVIEW.img.xz: \u5b8c\u4e86\r\n$ xzcat 20190206-raspberry-pi-3-buster-PREVIEW.img.xz | pv | sudo dd of=/dev/sdb bs=1M oflag=dsync\r\n
\n\n

USB\u304b\u3089\u8d77\u52d5\u3067\u304d\u308b\u3088\u3046OTP\u3092\u8a2d\u5b9a\u3059\u308b

\n

\u6ce8\u610f:OTP\u306e\u8a2d\u5b9a\u306f1\u5ea6\u3057\u304b\u51fa\u6765\u306a\u3044\u3057\uff0c\u5143\u306b\u623b\u3059\u3053\u3068\u3082\u51fa\u6765\u306a\u3044\u3068\u601d\u308f\u308c\u307e\u3059\uff0e\u8d77\u52d5\u6642\u9593\u304c\u9577\u304f\u306a\u308b\u306a\u3069\u30c7\u30e1\u30ea\u30c3\u30c8\u3082\u3042\u308b\u306e\u3067\u6c17\u3092\u3064\u3051\u3066\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\uff0e

\n

\u3053\u306eUSB\u30e1\u30e2\u30ea\u3092 Raspberry Pi \u306b\u63a5\u7d9a\u3057\u3066\u96fb\u6e90\u3092\u5165\u308c\u3066\u307f\u307e\u3057\u305f\u304c\u8d77\u52d5\u3057\u307e\u305b\u3093\uff0e\u6050\u3089\u304f OTP(One Time Programmable)\u30e1\u30e2\u30ea\u306e\u8a2d\u5b9a\u304c USB\u8d77\u52d5\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u306a\u3044\u306e\u3067\u4ee5\u4e0b\u306e\u30da\u30fc\u30b8\u3092\u53c2\u8003\u306b\u8a2d\u5b9a\u3057\u307e\u3059\uff0e(Raspberry Pi 3+ \u30b7\u30ea\u30fc\u30ba\u306f\u6a19\u6e96\u3067USB\u8d77\u52d5\u53ef\u80fd\u306a\u306e\u3067\u3053\u306e\u8a2d\u5b9a\u306f\u4e0d\u8981\u306a\u306f\u305a\u3067\u3059\uff0e)

\n\n

\u5148\u305a Raspbian 2017-04-10 \u4ee5\u964d\u306e\u30a4\u30e1\u30fc\u30b8\u3092\u66f8\u304d\u8fbc\u3093\u3060 microSD \u3092\u7528\u610f\u3057\u3066\u8d77\u52d5\u3057\u307e\u3059\uff0e
\n( uart\u7d4c\u7531\u3067\u7e4b\u304e\u305f\u3044\u5834\u5408\u8d77\u52d5\u524d\u306b /boot/config.txt \u306b enable_uart=1 \u3092\u66f8\u3044\u3066\u304a\u304d\u307e\u3059\uff0e $ echo enable_uart=1 | tee -a /media/matoken/boot/config.txt )

\n

OTP \u3092\u78ba\u8a8d\u3059\u308b\u3068\u3084\u306f\u308a\u6709\u52b9\u306b\u306a\u3063\u3066\u3044\u307e\u305b\u3093\u3067\u3057\u305f\uff0e

\n
pi@raspberrypi:~$ vcgencmd otp_dump | grep ^17:\r\n17:1020000a\r\n
\n

\u4ee5\u4e0b\u306e\u3088\u3046\u306b /boot/config.txt \u306b program_usb_boot_mode=1 \u3092\u8ffd\u8a18\u3057\u3066\u518d\u8d77\u52d5\u3059\u308b\u3068\u53cd\u6620\u3055\u308c\u307e\u3059\uff0e

\n
$ echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt\r\nprogram_usb_boot_mode=1\r\npi@raspberrypi:~$ sudo reboot\r\n
\n

17 \u304c 3020000a \u306b\u5909\u308f\u308c\u3070OK

\n
pi@raspberrypi:~$ vcgencmd otp_dump | grep ^17:\r\n17:3020000a\r\n
\n

\u8a73\u7d30\u306f\u4ee5\u4e0b\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044

\n\n
17 \u2013 bootmode register\r\n\r\nBit 1: sets the oscillator frequency to 19.2MHz\r\nBit 3: enables pull ups on the SDIO pins\r\nBit 19: enables GPIO bootmode\r\nBit 20: sets the bank to check for GPIO bootmode\r\nBit 21: enables booting from SD card\r\nBit 22: sets the bank to boot from\r\nBit 28: enables USB device booting\r\nBit 29: enables USB host booting (ethernet and mass storage)\r\n
\n

\u8a2d\u5b9a\u524d\u304c\uff0c1020000a -> 0b010000001000000000000000001010 \u3067\u8a2d\u5b9a\u5f8c\u304c\uff0c0x3020000a -> 0b110000001000000000000000001010 \u3066\u3053\u3068\u3067\uff0cBit 29 \u304c 0 \u304b\u3089 1 \u306b\u306a\u3063\u3066\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u8d77\u52d5\u3068USB\u8d77\u52d5\u3092\u8a66\u3059\u3088\u3046\u306b\u308a\u307e\u3059\uff0e\u3053\u306e\u72b6\u614b\u3067 microSD \u8d77\u52d5\u3092\u8a66\u3059\u3068\u3053\u308c\u3082\u5927\u4e08\u592b\u3067\u3057\u305f\uff0e(\u512a\u5148\u5ea6\u306f microSD > USB\uff0cNetwork\u306f\u672a\u78ba\u8a8d)

\n

USB\u30e1\u30e2\u30ea\u304b\u3089\u306e\u8d77\u52d5

\n

\u3053\u306e\u72b6\u614b\u3067 shutdown \u3057\uff0cmicroSD \u3092\u53d6\u308a\u51fa\u3057\u3066 Debian \u306e\u5c0e\u5165\u3057\u305f USB \u30e1\u30e2\u30ea\u3092\u63a5\u7d9a\u3057\u3066\u8d77\u52d5\u3067\u8d77\u52d5\u3057\u307e\u3057\u305f\uff0e(USB\u8d77\u52d5\u306e\u5834\u5408\u306a\u304b\u306a\u304b\u8d77\u52d5\u304c\u59cb\u307e\u3089\u305a\u7126\u3063\u305f\u3051\u306930\u79d2\u307b\u3069\u5f85\u3064\u3068UART\u306b\u30ed\u30b0\u304c\u51fa\u306f\u3058\u3081\u308b\uff0eHDMI\u306e\u51fa\u529b\u306f\u672a\u78ba\u8a8d)

\n

login \u306f root:raspberry
\n\u3061\u3083\u3093\u3068 64bit \u3067\u3059 :)

\n
root@rpi3:~# uname -a\r\nLinux rpi3 4.19.0-2-arm64 #1 SMP Debian 4.19.16-1 (2019-01-17) aarch64 GNU/Linux\r\n
\n

\u7d30\u3005\u3068\u3057\u305f\u8a2d\u5b9a(\u307b\u307c\u4f59\u9332)

\n

\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u66f4\u65b0

\n
root@rpi3:~# apt update && apt upgrade\r\n
\n

\u4e00\u822c\u30e6\u30fc\u30b6\u306e\u8ffd\u52a0

\n
root@rpi3:~# useradd -m matoken\r\nroot@rpi3:~# passwd matoken\r\nEnter new UNIX password: \r\nRetype new UNIX password: \r\npasswd: password updated successfully\r\nroot@rpi3:~# chsh matoken -s /bin/bash\r\n
\n

OpenSSH \u306e\u8a2d\u5b9a\u5909\u66f4

\n
root@rpi3:~# diff -u /etc/ssh/sshd_config.old /etc/ssh/sshd_config\r\n--- /etc/ssh/sshd_config.old    2019-02-06 15:15:46.940904823 +0000\r\n+++ /etc/ssh/sshd_config        2019-02-16 13:17:17.076873278 +0000\r\n@@ -29,7 +29,7 @@\r\n # Authentication:\r\n\r\n #LoginGraceTime 2m\r\n-PermitRootLogin yes\r\n+PermitRootLogin prohibit-password\r\n #StrictModes yes\r\n #MaxAuthTries 6\r\n #MaxSessions 10\r\n@@ -53,7 +53,7 @@\r\n #IgnoreRhosts yes\r\n\r\n # To disable tunneled clear text passwords, change to no here!\r\n-#PasswordAuthentication yes\r\n+PasswordAuthentication no\r\n #PermitEmptyPasswords no\r\n\r\n # Change to yes to enable challenge-response passwords (beware issues with\r\n@@ -119,3 +119,5 @@\r\n #      AllowTcpForwarding no\r\n #      PermitTTY no\r\n #      ForceCommand cvs server\r\n+\r\n+AllowGroups sshusers\r\n
\n

sshusers \u30b0\u30eb\u30fc\u30d7\u3092\u4f5c\u6210\u3057\u3066 ssh login \u51fa\u6765\u308b\u30e6\u30fc\u30b6\u3092\u767b\u9332

\n
root@rpi3:~# sudo groupadd sshusers\r\nroot@rpi3:~# sudo usermod -a -G sshusers matoken\r\n
\n

\u77ed\u3044modulus \u3092\u524a\u9664\u3059\u308b

\n
root@rpi3:~# awk '$5>=3071' /etc/ssh/moduli | tee /etc/ssh/moduli.tmp\r\nroot@rpi3:~# wc -l /etc/ssh/moduli /etc/ssh/moduli.tmp\r\n    427 /etc/ssh/moduli\r\n    368 /etc/ssh/moduli.tmp\r\n    795 total\r\nroot@rpi3:~# sudo mv /etc/ssh/moduli.tmp /etc/ssh/moduli\r\n
\n

hostpc\u304b\u3089ssh\u516c\u958b\u9375\u3092cp\u3057\u3066\u304a\u304f

\n
$ ssh-copy-id -i ~/.ssh/id_ed25519_pi.pub matoken@rpi3\r\n
\n

ssh\u9375\u30da\u30a2\u3092\u4f5c\u3063\u3066\u304a\u304f

\n
root@rpi3:~# sudo -u matoken ssh-keygen -t ed25519\r\n
\n

sshd \u306e\u518d\u8d77\u52d5

\n
root@rpi3:~# systemctl restart ssh\r\n
\n

ssh login\u6642\u306b\u901a\u77e5\u3092\u98db\u3070\u3059\u3088\u3046\u306b\u3057\u3066\u304a\u304f

\n
root@rpi3:~# vi /etc/ssh/sshrc\r\nroot@rpi3:~# chmod +x /etc/ssh/sshrc\r\nroot@rpi3:~# cat /etc/ssh/sshrc\r\n#!/bin/sh\r\n\r\n/home/matoken/bin/telegram.sh sshrc:${USER}@`hostname`:${SSH_CONNECTION}\r\n/home/matoken/bin/sms.sh sshrc:${USER}@`hostname`:${SSH_CONNECTION}\r\n
\n

ssh \u3067\u30d1\u30b9\u30ef\u30fc\u30c9\u30ed\u30b0\u30a4\u30f3\u3067\u304d\u305a\uff0c\u9375\u8a8d\u8a3c\u3067\u30ed\u30b0\u30a4\u30f3\u304c\u51fa\u6765\u308b&\u901a\u77e5\u304c\u98db\u3076\u306e\u3092\u78ba\u8a8d

\n
root@rpi3:~# ssh root@localhost -o PasswordAuthentication=yes\r\nroot@rpi3:~# ssh matoken@localhost -o PasswordAuthentication=yes\r\nroot@rpi3:~# ssh matoken@localhost -i ~/.ssh/id_ed25519\r\n
\n

\u81ea\u5206\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u5408\u308f\u305b\u3066 /etc/iptables/rules.v4, /etc/iptables/rules.v6 \u3092\u5909\u66f4\uff0e

\n
root@rpi3:~# grep -v ^# /etc/iptables/rules.v4\r\n*filter\r\n:INPUT ACCEPT [0:0]\r\n:FORWARD ACCEPT [0:0]\r\n:OUTPUT ACCEPT [0:0]\r\n-A INPUT -s 127.0.0.0/8 -m comment --comment "RFC3330 loopback" -j ACCEPT\r\n-A INPUT -s 192.168.1.0/24 -m comment --comment "RFC1918 reserved" -j ACCEPT\r\n-A INPUT -p tcp -m tcp --dport 22 -m comment --comment SSH -j REJECT --reject-with icmp-port-unreachable\r\nCOMMIT\r\nroot@rpi3:~# grep -v ^# /etc/iptables/rules.v6\r\n*filter\r\n:INPUT ACCEPT [0:0]\r\n:FORWARD ACCEPT [0:0]\r\n:OUTPUT ACCEPT [0:0]\r\n-A INPUT -s ::1/128 -m comment --comment "RFC3513 loopback" -j ACCEPT\r\n-A INPUT -p tcp -m tcp --dport 22 -m comment --comment SSH -j REJECT --reject-with icmp6-port-unreachable\r\nCOMMIT\r\n
\n

sudo \u3092\u5c0e\u5165\u3057\u3066\u8a2d\u5b9a

\n
root@rpi3:~# apt install sudo\r\n
\n

sudo group\u306b\u30e6\u30fc\u30b6\u3092\u767b\u9332

\n
root@rpi3:~# usermod -a -G sudo matoken\r\n
\n

sudo \u304c\u5229\u7528\u3067\u304d\u308b\u306e\u3092\u78ba\u8a8d

\n
matoken@rpi3:~$ sudo grep ^root: /etc/shadow\r\nsudo: unable to resolve host rpi3: Name or service not known\r\nroot:!..VyaTFxP8kT6:17933:0:99999:7:::\r\n
\n

root\u30e6\u30fc\u30b6\u3092\u30ed\u30c3\u30af

\n
$ sudo passwd -l root \r\nsudo: unable to resolve host rpi3: Name or service not known\r\npasswd: password expiry information changed.\r\nmatoken@rpi3:~$ sudo passwd -S root\r\nsudo: unable to resolve host rpi3: Name or service not known\r\nroot L 02/06/2019 0 99999 7 -1\r\n
\n

sudo\u6642\u306a\u3069\u306b\u300csudo: unable to resolve host rpi3: Name or service not known\u300d\u3068\u8a00\u308f\u308c\u308b\u306e\u3067 hosts \u306e localhost \u306b rpi3 \u3092\u8ffd\u52a0

\n
matoken@rpi3:~$ sudo vi /etc/hosts\r\n127.0.0.1 localhost rpi3\r\n
\n

\u3053\u3053\u3067\u518d\u8d77\u52d5\u3059\u308b\u3068 rootfs \u304c\u898b\u3064\u304b\u3089\u306a\u3044\u3068\u8a00\u308f\u308c\u8d77\u52d5\u3057\u306a\u3044\uff0e

\n
(initramfs) Gave up waiting for root file system device. Common problems:\r\n- Boot args (cat /proc/cmdline)\r\n- Check rootdelay= (did the system wait long enough?)\r\n- Missing modules (cat /proc/modules; ls /dev)\r\nALERT! /dev/mmcblk0p2 does not exist. Dropping to a shell!\r\n\r\n\r\nBusyBox v1.27.2 (Debian 1:1.27.2-3) built-in shell (ash)\r\nEnter 'help' for a list of built-in commands.\r\n
\n

cmdline \u3067\u306f /dev/mmcblkp2 \u304b\u3089\u8d77\u52d5\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u308b\u304c\uff0c /dev/sda2 \u304b\u3089\u8d77\u52d5\u3057\u305f\u3044

\n
(initramfs) ls /dev\r\nblock tty12 tty47\r\nbsg tty13 tty48\r\nbus tty14 tty49\r\nchar tty15 tty5\r\nconsole tty16 tty50\r\ncore tty17 tty51\r\ncpu_dma_latency tty18 tty52\r\ndisk tty19 tty53\r\nfb0 tty2 tty54\r\nfd tty20 tty55\r\nfull tty21 tty56\r\ngpiochip0 tty22 tty57\r\ngpiochip1 tty23 tty58\r\ninput tty24 tty59\r\nkmsg tty25 tty6\r\nkvm tty26 tty60\r\nmem tty27 tty61\r\nmemory_bandwidth tty28 tty62\r\nnetwork_latency tty29 tty63\r\nnetwork_throughput tty3 tty7\r\nnull tty30 tty8\r\nport tty31 tty9\r\npsaux tty32 ttyAMA0\r\nptmx tty33 ttyS0\r\npts tty34 ttyS1\r\nrandom tty35 ttyS2\r\nsda tty36 ttyS3\r\nsda1 tty37 urandom\r\nsda2 tty38 vcs\r\nsnapshot tty39 vcs1\r\nstderr tty4 vcsa\r\nstdin tty40 vcsa1\r\nstdout tty41 vcsu\r\ntty tty42 vcsu1\r\ntty0 tty43 vga_arbiter\r\ntty1 tty44 zero\r\ntty10 tty45\r\ntty11 tty46\r\n(initramfs) cat /proc/cmdline\r\nbcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708_fb.fbswap=1 dma.dmachans=0x7f35 bcm2709.boardrev=0xa02082 bcm2709.serial=0xfaf144 bcm2709.uart_clock=48000000 smsc95xx.macaddr=B8:27:EB:FA:F1:44 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 console=tty0 console=ttyS1,115200 root=/dev/mmcblk0p2 rw elevator=deadline fsck.repair=yes net.ifnames=0 cma=64M rootwait\r\n
\n

/boot \u3092 mount \u3057\u3066\u66f8\u304d\u63db\u3048\u3088\u3046\u3068\u601d\u3063\u305f\u3051\u3069\u3046\u307e\u304f mount \u51fa\u6765\u306a\u3044?

\n
(initramfs) mkdir /tmp/boot\r\n(initramfs) mount /dev/sda1 /tmp/boot\r\nmount: mounting /dev/sda1 on /tmp/boot failed: Invalid argument\r\n(initramfs) ls -la /dev/sda1 /tmp/boot\r\nbrw-------    1 0        0           8,   1 Jan  1 00:00 /dev/sda1\r\n\r\n/tmp/boot:\r\ntotal 0\r\ndrwxr-xr-x    2 0        0                0 Jan  1 00:10 .\r\ndrwxr-xr-x    3 0        0                0 Jan  1 00:10 ..\r\n(initramfs) mount -t vfat /dev/sda1 /tmp/boot\r\nmount: mounting /dev/sda1 on /tmp/boot failed: No such device\r\n(initramfs) mkdir /tmp/root\r\n(initramfs) modprobe ext4\r\n(initramfs) mount /dev/sda2 /tmp/root\r\n[ 2144.515323] EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null)\r\n(initramfs) find /tmp/root -name "vfat.ko"\r\n/tmp/root/usr/lib/modules/4.19.0-2-arm64/kernel/fs/fat/vfat.ko\r\n(initramfs) modprobe -v /tmp/root/usr/lib/modules/4.19.0-2-arm64/kernel/fs/fat/vfat.ko\r\n(initramfs) lsmod|grep fat\r\n(initramfs) mount -t vfat /dev/sda1 /tmp/boot\r\nmount: mounting /dev/sda1 on /tmp/boot failed: No such device\r\n(initramfs) lsmod|grep fat\r\n
\n

\u4e00\u65e6\u96fb\u6e90\u3092\u5207\u3063\u3066 /boot/cmdline.txt \u306e root=/dev/mmcblk0p2 \u3092 root=/dev/sda2 \u306b\u66f8\u304d\u63db\u3048\u3066\u8d77\u52d5\u3059\u308b\u3088\u3046\u306b\u306a\u3063\u305f\uff0e(LABEL\u6307\u5b9a\u306b\u5909\u3048\u305f\u307b\u3046\u304c\u3044\u3044\u304b\u306a)

\n
$ cat /boot/firmware/cmdline.txt \r\nconsole=tty0 console=ttyS1,115200 root=/dev/sda2 rw elevator=deadline fsck.repair=yes net.ifnames=0 cma=64M rootwait\r\n
\n

\u203braspi3-firmware \u3042\u305f\u308a\u306e\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u304c\u639b\u304b\u308b\u3068\u4e0a\u66f8\u304d\u3055\u308c\u308b\u3088\u3046\uff0e

\n\n

systemd \u304b\u3089 sysvinit \u306b\u5909\u66f4(RAM\u304c\u958b\u304f\u304b\u3068\u601d\u3063\u305f\u3051\u3069\u6570MB\u7a0b\u5ea6\u3060\u3063\u305f)

\n
$ sudo apt install sysvinit-core sysvinit-utils\r\n
\n

LANG\u3092\u8a2d\u5b9a
\nen_US.UTF-8 UTF-8, ja_JP.UTF-8 UTF-8 \u3092\u6709\u52b9\u306b\u3057\u3066\uff0c\u30c7\u30d5\u30a9\u30eb\u30c8\u30ed\u30b1\u30fc\u30eb\u3092 ja_JP.UTF-8 \u306b\u3057\u305f\u308a\u3057\u305f\uff0e

\n
$ sudo dpkg-reconfigure locales\r\n$ echo 'export LANG="ja_JP.UTF-8"\r\nexport LC_TIME="en_US.UTF-8"' | tee -a ~/.profile\r\n$ source ~/.profile\r\n$ locale\r\nLANG=ja_JP.UTF-8\r\nLANGUAGE=\r\nLC_CTYPE="ja_JP.UTF-8"\r\nLC_NUMERIC="ja_JP.UTF-8"\r\nLC_TIME=en_US.UTF-8\r\nLC_COLLATE="ja_JP.UTF-8"\r\nLC_MONETARY="ja_JP.UTF-8"\r\nLC_MESSAGES="ja_JP.UTF-8"\r\nLC_PAPER="ja_JP.UTF-8"\r\nLC_NAME="ja_JP.UTF-8"\r\nLC_ADDRESS="ja_JP.UTF-8"\r\nLC_TELEPHONE="ja_JP.UTF-8"\r\nLC_MEASUREMENT="ja_JP.UTF-8"\r\nLC_IDENTIFICATION="ja_JP.UTF-8"\r\nLC_ALL=\r\n
\n

Raspberry Pi \u306b\u306f rtc \u304c\u306a\u304f\u3066\u518d\u8d77\u52d5\u306a\u3069\u3067\u6642\u8a08\u304c\u521d\u671f\u5316\u3055\u308c\u3066\u3057\u307e\u3046\u306e\u3067 fake-hwclock \u3092\u5c0e\u5165(\u96fb\u6e90\u65ad\u6642\u306a\u3069\u306e\u6642\u9593\u306f\u30ab\u30a6\u30f3\u30c8\u3055\u308c\u306a\u3044\u306e\u3067\u6642\u9593\u304c\u305a\u308c\u308b\u304c\u6642\u8a08\u304c\u5dfb\u304d\u623b\u3089\u306a\u3044)

\n
$ sudo apt install fake-hwclock\r\n
\n

ntpdate \u3092\u5c0e\u5165\u3057\u3066\u8d77\u52d5\u6642\u306e\u6642\u8a08\u5408\u308f\u305b\u3092\u3059\u308b\u3088\u3046\u306b\u3059\u308b(systemd\u306e\u307e\u307e\u3060\u3068ntp\u306e\u9762\u5012\u3092\u898b\u3066\u304f\u308c\u308b\u306e\u3067\u5fc5\u8981\u306a\u3044)

\n
$ sudo apt install ntpdate\r\n$ sudo vi /etc/boot.d/ntpdate\r\n$ cat /etc/boot.d/ntpdate\r\n#!/bin/sh\r\n\r\nntpdate 1.jp.pool.ntp.org\r\n$ sudo chmod +x /etc/boot.d/ntpdate\r\n
\n

ntpdate iptables \u306b\u5408\u308f\u305b\u3066\u3053\u3063\u3061\u306e\u307b\u3046\u304c\u3044\u3044\u304b\u3082?(\u6709\u7dda\u63a5\u7d9a\u5f8c\u306b\u6642\u8a08\u5408\u308f\u305b\u3059\u308b)

\n
$ cat /etc/network/interfaces.d/eth0 \r\nauto eth0\r\n\r\n# TODO: switch back to iptables-persistent once it re-enters testing\r\niface eth0 inet dhcp\r\n        pre-up iptables-restore < /etc/iptables/rules.v4\r\n        pre-up ip6tables-restore < /etc/iptables/rules.v6\r\n        up ntpdate 1.jp.pool.ntp.org\r\n
\n

uart\u3067setial\u63a5\u7d9a\u3059\u308b\u305f\u3081\u306b /etc/inittab \u306b\u4ee5\u4e0b\u3092\u8a2d\u5b9a(systemd\u3060\u3068\u8a2d\u5b9a\u6e08\u307f\u306a\u306e\u3067\u4e0d\u8981)

\n
T1:23:respawn:/sbin/getty -L ttyS1 115200 vt100\r\n
\n

msmtp\u3092\u5c0e\u5165\u3057\u3066\u30e1\u30fc\u30eb\u3092\u98db\u3070\u305b\u308b\u3088\u3046\u306b

\n
$ sudo apt install msmtp\r\n$ sudo vi /etc/msmtprc\r\n$ grep -v ^# /etc/msmtprc|uniq\r\ndefaults\r\nsyslog on\r\naliases /etc/aliases\r\n\r\ntls on\r\ntls_trust_file /etc/ssl/certs/ca-certificates.crt\r\nauth on\r\nsyslog LOG_MAIL\r\n\r\naccount gmail\r\nhost smtp.gmail.com\r\nport 587\r\nfrom matohara@gmail.com\r\nuser matohara\r\npassword throjfeekdewxeib\r\n\r\naccount default : gmail\r\n$ sudo vi /etc/aliases\r\n$ grep -v ^# /etc/aliases\r\nmailer-daemon:hoge@example.com\r\npostmaster:hoge@example.com\r\nnobody:hoge@example.com\r\nhostmaster:hoge@example.com\r\nusenet:hoge@example.com\r\nnews:hoge@example.com\r\nwebmaster:hoge@example.com\r\nwww:hoge@example.com\r\nftp:hoge@example.com\r\nabuse:hoge@example.com\r\nnoc:hoge@example.com\r\nsecurity:hoge@example.com\r\nroot: hoge@example.com\r\ndefault: hoge@example.com\r\n$ echo 'hello' | msmtp matoken@ya.ru\r\n$ sudo apt install msmtp-mta\r\n$ echo 'hello' | /usr/sbin/sendmail matoken@ya.ru\r\n
\n

\u7121\u7dda\u3092\u7121\u52b9\u306b\u3059\u308b\u305f\u3081\u306b /boot/firmware/config.txt \u306b\u4ee5\u4e0b\u3092\u8ffd\u8a18\u2026\u2026\u518d\u8d77\u52d5\u3057\u3066\u3082\u53cd\u6620\u3055\u308c\u306a\u3044?\u8981\u78ba\u8a8d

\n
dtoverlay=pi3-disable-wifi\r\ndtoverlay=pi3-disable-bt\r\n
\n

apticron \u3092\u5c0e\u5165\u3057\u3066\u66f4\u65b0\u3092\u30e1\u30fc\u30eb\u3067\u901a\u77e5\u3059\u308b

\n
$ sudo apt install apticron\r\n$ sudo cp -p /usr/lib/apticron/apticron.conf /etc/apticron/\r\n$ grep ^EMAIL= /etc/apticron/apticron.conf #\u5fc5\u8981\u306a\u3089\u5b9b\u5148\u3092\u66f8\u304d\u63db\u3048\u305f\u308a\r\nEMAIL="root"\r\n
\n

deborphan \u3067\u307f\u306a\u3057\u3054\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u901a\u77e5\u3059\u308b\u3088\u3046\u306b\u3059\u308b

\n
$ sudo apt install deborphan\r\n$ sudo crontab -e\r\n$ sudo crontab -l | grep deborphan | grep -v ^#\r\n7 4 * * *       deborphan && printf "\\nsudo apt --autoremove purge \\$( deborpha)'\r\n
\n

\u3066\u3053\u3068\u3067\u3068\u308a\u3042\u3048\u305a\u52d5\u304f\u3088\u3046\u306b\u306a\u3063\u305f\u3051\u3069\u6614\u3082\u3089\u3063\u305f\u30ce\u30d9\u30eb\u30c6\u30a3\u306eUSB\u30e1\u30e2\u30ea\u306a\u306e\u3067\u3053\u306e\u307e\u307e\u904b\u7528\u3059\u308b\u3068\u591a\u5206\u3059\u3050\u58ca\u308c\u3066\u3057\u307e\u3046\u3068\u601d\u3044\u307e\u3059\uff0e
\n\u6700\u8fd1\u79cb\u8449\u539f\u3067\u30bb\u30fc\u30eb\u306b\u306a\u3063\u3066\u3044\u308b\u69d8\u306a\u5b89\u3044 SSD \u3068\u304b\u6b32\u3057\u3044\u3067\u3059\u306d\uff0e

\n

\u3053\u3061\u3089\u306f\u8d77\u52d5\u7d42\u4e86\u306eUART\u306e\u30e1\u30c3\u30bb\u30fc\u30b8

\n

\"asciicast\"

\n

\n

\n", "content_text": "\u6700\u8fd1\u5165\u624b\u3057\u305f(\u9045) RaspberryPi 3 model B \u3067 USB \u30e1\u30e2\u30ea\u8d77\u52d5\u306e Debian buster aarch64 \u3092\u8a2d\u5b9a\u3057\u3066\u307f\u305f\u3068\u304d\u306e\u30e1\u30e2\u3067\u3059\uff0e\n\u30b8\u30e2\u30c6\u30a3\u30fc\u7d4c\u7531\u3067 Raspberry Pi 3 model B \u3092\u5165\u624b\u3057\u307e\u3057\u305f\uff0eRaspberry Pi 3 model B + USB Wi-Fi + USB Bluetooth + \u30b1\u30fc\u30b9\u306e\u30bb\u30c3\u30c8\u304c2,500\u5186 + \u9001\u6599\u624b\u6570\u6599 500\u5186\u3068\u5b89\u3044\u3067\u3059\uff0e\u666e\u901a\u306b\u65b0\u54c1\u3067\u8cb7\u3046\u3068 8,000\u5186\u8fd1\u304f\u3059\u308b\u3068\u601d\u3044\u307e\u3059\uff0e\u4eca\u3053\u306e\u8a18\u4e8b\u3092\u66f8\u3044\u3066\u3044\u308b\u6642\u70b9\u3067\u672a\u3060\u5728\u5eab\u306f\u3042\u308b\u3088\u3046\u306a\u306e\u3067\u8208\u5473\u306e\u3042\u308b\u4eba\u306f\u8cb7\u3046\u3068\u3044\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e(6\u500b\u540c\u68b1\u53ef\u80fd\u306a\u306e\u3067\u305d\u308c\u3060\u30681\u500b\u3042\u305f\u308a\u304c\u5c11\u3057\u5b89\u304f\u306a\u308b\u306e\u3067\u8fd1\u6240\u306e\u53cb\u9054\u3068\u8cb7\u3046\u3068\u3044\u3044\u304b\u3082)\n\nRaspberry Pi 3 model B \uff0b \u30b1\u30fc\u30b9\uff08\u9ed2\uff09 \uff0b Wi-Fi/Bluetooth \u30a2\u30c0\u30d7\u30bf\u30fc (\u3068\u304f) \u304a\u53f0\u5834\u6d77\u6d5c\u516c\u5712\u306e\u305d\u306e\u4ed6\u306e\u4e2d\u53e4\u3042\u3052\u307e\u3059\u30fb\u8b72\u308a\u307e\u3059\uff5c\u30b8\u30e2\u30c6\u30a3\u30fc\u3067\u4e0d\u7528\u54c1\u306e\u51e6\u5206\n\n\n64bit\u306b\u306a\u3063\u305f Raspberry Pi \u306f\u6b32\u3057\u3044\u3068\u601d\u3063\u3066\u3044\u305f\u306e\u3067\u5b89\u304f\u624b\u306b\u5165\u3063\u3066\u52a9\u304b\u308a\u307e\u3057\u305f :)\n(\u5f8c\u7d99\u306e Raspberry Pi 3 Model B+/A+ \u3084\uff0cSoC\u304c 3B \u3068\u540c\u3058\u3067\u7121\u7dda\u6a5f\u80fd\u306e\u306a\u3044 2B v1.2 \u3068\u304b\u3082\u6b32\u3057\u3044\u3067\u3059\u306d\uff0e)\nRaspberry Pi 3 model B \u306f 32bit\u3060\u3051\u3067\u306a\u304f64bit \u3082\u5229\u7528\u3067\u304d\u308b\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u3067\u3059\uff0e\u305b\u3063\u304b\u304f\u306a\u306e\u3067 64bit\u3067\u52d5\u304b\u3057\u305f\u3044\u3051\u3069\u4eca\u306e\u6642\u70b9\u3067\u306f Raspbian \u306f 32bit\u306e\u307f\u3067\u3059\uff0e\u305d\u3053\u3067 Debian \u306e arm64 \u3092\u8a66\u3059\u3053\u3068\u306b\u3057\u307e\u3057\u305f\uff0e\nRaspberry Pi 3 \u7528 Debian buster arm64 \u30a4\u30e1\u30fc\u30b8\u306e\u5165\u624b\u3068USB\u30e1\u30e2\u30ea\u3078\u306e\u66f8\u304d\u8fbc\u307f\n\u30a4\u30e1\u30fc\u30b8\u306f\u5ca9\u677e\u3055\u3093\u306e\u6771\u4eac\u30a8\u30ea\u30a2Debian\u52c9\u5f37\u4f1a\u306e\u8cc7\u6599\u3092\u771f\u4f3c\u3057\u3066\u4f5c\u308d\u3046\u3068\u601d\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\uff0c\n\n\u6771\u4eac\u30a8\u30ea\u30a2Debian\u52c9\u5f37\u4f1a\n\nRaspberry Pi 2 Model B \u306b Debian Jessie / armhf \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b – \u7b2c125\u56de 2015\u5e743\u6708\u5ea6\nRaspberry Pi3 / arm64 – Debian/Ubuntu \u30df\u30fc\u30c8\u30a2\u30c3\u30d7 in \u672d\u5e4c\n\n\n\nDebianWiki \u306e RaspberryPi3 \u306e\u9805\u76ee\u3092\u898b\u305f\u3089\u975e\u516c\u5f0f\u3060\u3051\u3069\u30a4\u30e1\u30fc\u30b8\u304c\u3042\u3063\u305f\u306e\u3067\u4eca\u56de\u306f\u305d\u308c\u3092\u5229\u7528\u3057\u307e\u3057\u305f\uff0e\u73fe\u5728 testing \u306e Buster \u306e\u30a4\u30e1\u30fc\u30b8\u304c\u5165\u624b\u3067\u304d\u307e\u3059\uff0e\n\nRaspberryPi3 – Debian Wiki\n\nDebian/raspi3-image-spec: contains the files to build the https://wiki.debian.org/RaspberryPi3 image\n\n\n\n\u30b9\u30c8\u30ec\u30fc\u30b8\u306f\u901a\u5e38 microSD \u3092\u5229\u7528\u3057\u307e\u3059\u304c\uff0c\u624b\u6301\u3061\u304c\u306a\u3044\u306e\u3068 Raspberry Pi 3 B \u306fUSB\u8d77\u52d5\u304c\u53ef\u80fd\u306a\u306f\u305a\u306a\u306e\u3067USB\u30e1\u30e2\u30ea\u3092\u5229\u7528\u3059\u308b\u3053\u3068\u306b\u3057\u307e\u3057\u305f\uff0eUSB 2.0\u63a5\u7d9a\u306e\u5bb9\u91cf2GB\u306e\u3082\u306e\u3092\u7528\u610f\u3057\u307e\u3057\u305f\uff0e\n\u3053\u306e\u3088\u3046\u306a\u611f\u3058\u3067\u30a4\u30e1\u30fc\u30b8\u3092\u5165\u624b\u3057\u3066\u30cf\u30c3\u30b7\u30e5\u306e\u30c1\u30a7\u30c3\u30af\u3092\u3057\u305f\u5f8cUSB\u30e1\u30e2\u30ea\u3078\u66f8\u304d\u8fbc\u307f\u307e\u3057\u305f\uff0e\u3053\u3053\u3067\u306f Linux\u306edd\u30b3\u30de\u30f3\u30c9\u3067\u66f8\u304d\u8fbc\u3093\u3067\u3044\u307e\u3059\u304c\uff0cEtcher\u306a\u3069\u3092\u5229\u7528\u3059\u308b\u3068\u8272\u3005\u306a\u74b0\u5883\u3067GUI\u3067\u306e\u66f8\u304d\u8fbc\u307f\u304c\u53ef\u80fd\u3067\u3059\uff0e\n\u203b\u30a4\u30e1\u30fc\u30b8\u306f\u6700\u65b0\u306e\u3082\u306e\u3092\u5229\u7528\u3059\u308b\u3088\u3046\u306b\u3057\u307e\u3057\u3087\u3046\uff0e\n$ wget -c https://people.debian.org/~gwolf/raspberrypi3/20190206/20190206-raspberry-pi-3-buster-PREVIEW.img.xz https://people.debian.org/~gwolf/raspberrypi3/20190206/20190206-raspberry-pi-3-buster-PREVIEW.img.xz.sha256\r\n$ sha256sum -c ./20190206-raspberry-pi-3-buster-PREVIEW.img.xz.sha256\r\n20190206-raspberry-pi-3-buster-PREVIEW.img.xz: \u5b8c\u4e86\r\n$ xzcat 20190206-raspberry-pi-3-buster-PREVIEW.img.xz | pv | sudo dd of=/dev/sdb bs=1M oflag=dsync\r\n\n\nbalenaEtcher – Home\n\u30d6\u30fc\u30bf\u30d6\u30ebUSB\u30e1\u30e2\u30ea\u3092\u4f5c\u308bEtcher\u3092\u8a66\u3059 \u2013 matoken’s meme\n\u30de\u30eb\u30c1USB\u66f8\u304d\u8fbc\u307f\u30c4\u30fc\u30eb\u306ePopsicle \u2013 matoken’s meme\n\u30d6\u30fc\u30c8USB\u30e1\u30e2\u30ea\u306a\u3069\u3092\u4f5c\u308bmkusb\u3092\u8a66\u3057\u3066\u307f\u308b \u2013 matoken’s meme\nLinux \u74b0\u5883\u3067\u306e Raspberry Pi \u5411\u3051 OS \u66f8\u304d\u8fbc\u307fTips \u2013 matoken’s meme\n\nUSB\u304b\u3089\u8d77\u52d5\u3067\u304d\u308b\u3088\u3046OTP\u3092\u8a2d\u5b9a\u3059\u308b\n\u6ce8\u610f:OTP\u306e\u8a2d\u5b9a\u306f1\u5ea6\u3057\u304b\u51fa\u6765\u306a\u3044\u3057\uff0c\u5143\u306b\u623b\u3059\u3053\u3068\u3082\u51fa\u6765\u306a\u3044\u3068\u601d\u308f\u308c\u307e\u3059\uff0e\u8d77\u52d5\u6642\u9593\u304c\u9577\u304f\u306a\u308b\u306a\u3069\u30c7\u30e1\u30ea\u30c3\u30c8\u3082\u3042\u308b\u306e\u3067\u6c17\u3092\u3064\u3051\u3066\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\uff0e\n\u3053\u306eUSB\u30e1\u30e2\u30ea\u3092 Raspberry Pi \u306b\u63a5\u7d9a\u3057\u3066\u96fb\u6e90\u3092\u5165\u308c\u3066\u307f\u307e\u3057\u305f\u304c\u8d77\u52d5\u3057\u307e\u305b\u3093\uff0e\u6050\u3089\u304f OTP(One Time Programmable)\u30e1\u30e2\u30ea\u306e\u8a2d\u5b9a\u304c USB\u8d77\u52d5\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u306a\u3044\u306e\u3067\u4ee5\u4e0b\u306e\u30da\u30fc\u30b8\u3092\u53c2\u8003\u306b\u8a2d\u5b9a\u3057\u307e\u3059\uff0e(Raspberry Pi 3+ \u30b7\u30ea\u30fc\u30ba\u306f\u6a19\u6e96\u3067USB\u8d77\u52d5\u53ef\u80fd\u306a\u306e\u3067\u3053\u306e\u8a2d\u5b9a\u306f\u4e0d\u8981\u306a\u306f\u305a\u3067\u3059\uff0e)\n\nHow to boot from a USB mass storage device on a Raspberry Pi – Raspberry Pi Documentation\n\n\u5148\u305a Raspbian 2017-04-10 \u4ee5\u964d\u306e\u30a4\u30e1\u30fc\u30b8\u3092\u66f8\u304d\u8fbc\u3093\u3060 microSD \u3092\u7528\u610f\u3057\u3066\u8d77\u52d5\u3057\u307e\u3059\uff0e\n( uart\u7d4c\u7531\u3067\u7e4b\u304e\u305f\u3044\u5834\u5408\u8d77\u52d5\u524d\u306b /boot/config.txt \u306b enable_uart=1 \u3092\u66f8\u3044\u3066\u304a\u304d\u307e\u3059\uff0e $ echo enable_uart=1 | tee -a /media/matoken/boot/config.txt )\nOTP \u3092\u78ba\u8a8d\u3059\u308b\u3068\u3084\u306f\u308a\u6709\u52b9\u306b\u306a\u3063\u3066\u3044\u307e\u305b\u3093\u3067\u3057\u305f\uff0e\npi@raspberrypi:~$ vcgencmd otp_dump | grep ^17:\r\n17:1020000a\r\n\n\u4ee5\u4e0b\u306e\u3088\u3046\u306b /boot/config.txt \u306b program_usb_boot_mode=1 \u3092\u8ffd\u8a18\u3057\u3066\u518d\u8d77\u52d5\u3059\u308b\u3068\u53cd\u6620\u3055\u308c\u307e\u3059\uff0e\n$ echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt\r\nprogram_usb_boot_mode=1\r\npi@raspberrypi:~$ sudo reboot\r\n\n17 \u304c 3020000a \u306b\u5909\u308f\u308c\u3070OK\npi@raspberrypi:~$ vcgencmd otp_dump | grep ^17:\r\n17:3020000a\r\n\n\u8a73\u7d30\u306f\u4ee5\u4e0b\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\n\nRaspberry Pi Documentation\n\n17 \u2013 bootmode register\r\n\r\nBit 1: sets the oscillator frequency to 19.2MHz\r\nBit 3: enables pull ups on the SDIO pins\r\nBit 19: enables GPIO bootmode\r\nBit 20: sets the bank to check for GPIO bootmode\r\nBit 21: enables booting from SD card\r\nBit 22: sets the bank to boot from\r\nBit 28: enables USB device booting\r\nBit 29: enables USB host booting (ethernet and mass storage)\r\n\n\u8a2d\u5b9a\u524d\u304c\uff0c1020000a -> 0b010000001000000000000000001010 \u3067\u8a2d\u5b9a\u5f8c\u304c\uff0c0x3020000a -> 0b110000001000000000000000001010 \u3066\u3053\u3068\u3067\uff0cBit 29 \u304c 0 \u304b\u3089 1 \u306b\u306a\u3063\u3066\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u8d77\u52d5\u3068USB\u8d77\u52d5\u3092\u8a66\u3059\u3088\u3046\u306b\u308a\u307e\u3059\uff0e\u3053\u306e\u72b6\u614b\u3067 microSD \u8d77\u52d5\u3092\u8a66\u3059\u3068\u3053\u308c\u3082\u5927\u4e08\u592b\u3067\u3057\u305f\uff0e(\u512a\u5148\u5ea6\u306f microSD > USB\uff0cNetwork\u306f\u672a\u78ba\u8a8d)\nUSB\u30e1\u30e2\u30ea\u304b\u3089\u306e\u8d77\u52d5\n\u3053\u306e\u72b6\u614b\u3067 shutdown \u3057\uff0cmicroSD \u3092\u53d6\u308a\u51fa\u3057\u3066 Debian \u306e\u5c0e\u5165\u3057\u305f USB \u30e1\u30e2\u30ea\u3092\u63a5\u7d9a\u3057\u3066\u8d77\u52d5\u3067\u8d77\u52d5\u3057\u307e\u3057\u305f\uff0e(USB\u8d77\u52d5\u306e\u5834\u5408\u306a\u304b\u306a\u304b\u8d77\u52d5\u304c\u59cb\u307e\u3089\u305a\u7126\u3063\u305f\u3051\u306930\u79d2\u307b\u3069\u5f85\u3064\u3068UART\u306b\u30ed\u30b0\u304c\u51fa\u306f\u3058\u3081\u308b\uff0eHDMI\u306e\u51fa\u529b\u306f\u672a\u78ba\u8a8d)\nlogin \u306f root:raspberry\n\u3061\u3083\u3093\u3068 64bit \u3067\u3059 :)\nroot@rpi3:~# uname -a\r\nLinux rpi3 4.19.0-2-arm64 #1 SMP Debian 4.19.16-1 (2019-01-17) aarch64 GNU/Linux\r\n\n\u7d30\u3005\u3068\u3057\u305f\u8a2d\u5b9a(\u307b\u307c\u4f59\u9332)\n\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u66f4\u65b0\nroot@rpi3:~# apt update && apt upgrade\r\n\n\u4e00\u822c\u30e6\u30fc\u30b6\u306e\u8ffd\u52a0\nroot@rpi3:~# useradd -m matoken\r\nroot@rpi3:~# passwd matoken\r\nEnter new UNIX password: \r\nRetype new UNIX password: \r\npasswd: password updated successfully\r\nroot@rpi3:~# chsh matoken -s /bin/bash\r\n\nOpenSSH \u306e\u8a2d\u5b9a\u5909\u66f4\nroot@rpi3:~# diff -u /etc/ssh/sshd_config.old /etc/ssh/sshd_config\r\n--- /etc/ssh/sshd_config.old 2019-02-06 15:15:46.940904823 +0000\r\n+++ /etc/ssh/sshd_config 2019-02-16 13:17:17.076873278 +0000\r\n@@ -29,7 +29,7 @@\r\n # Authentication:\r\n\r\n #LoginGraceTime 2m\r\n-PermitRootLogin yes\r\n+PermitRootLogin prohibit-password\r\n #StrictModes yes\r\n #MaxAuthTries 6\r\n #MaxSessions 10\r\n@@ -53,7 +53,7 @@\r\n #IgnoreRhosts yes\r\n\r\n # To disable tunneled clear text passwords, change to no here!\r\n-#PasswordAuthentication yes\r\n+PasswordAuthentication no\r\n #PermitEmptyPasswords no\r\n\r\n # Change to yes to enable challenge-response passwords (beware issues with\r\n@@ -119,3 +119,5 @@\r\n # AllowTcpForwarding no\r\n # PermitTTY no\r\n # ForceCommand cvs server\r\n+\r\n+AllowGroups sshusers\r\n\nsshusers \u30b0\u30eb\u30fc\u30d7\u3092\u4f5c\u6210\u3057\u3066 ssh login \u51fa\u6765\u308b\u30e6\u30fc\u30b6\u3092\u767b\u9332\nroot@rpi3:~# sudo groupadd sshusers\r\nroot@rpi3:~# sudo usermod -a -G sshusers matoken\r\n\n\u77ed\u3044modulus \u3092\u524a\u9664\u3059\u308b\nroot@rpi3:~# awk '$5>=3071' /etc/ssh/moduli | tee /etc/ssh/moduli.tmp\r\nroot@rpi3:~# wc -l /etc/ssh/moduli /etc/ssh/moduli.tmp\r\n 427 /etc/ssh/moduli\r\n 368 /etc/ssh/moduli.tmp\r\n 795 total\r\nroot@rpi3:~# sudo mv /etc/ssh/moduli.tmp /etc/ssh/moduli\r\n\nhostpc\u304b\u3089ssh\u516c\u958b\u9375\u3092cp\u3057\u3066\u304a\u304f\n$ ssh-copy-id -i ~/.ssh/id_ed25519_pi.pub matoken@rpi3\r\n\nssh\u9375\u30da\u30a2\u3092\u4f5c\u3063\u3066\u304a\u304f\nroot@rpi3:~# sudo -u matoken ssh-keygen -t ed25519\r\n\nsshd \u306e\u518d\u8d77\u52d5\nroot@rpi3:~# systemctl restart ssh\r\n\nssh login\u6642\u306b\u901a\u77e5\u3092\u98db\u3070\u3059\u3088\u3046\u306b\u3057\u3066\u304a\u304f\nroot@rpi3:~# vi /etc/ssh/sshrc\r\nroot@rpi3:~# chmod +x /etc/ssh/sshrc\r\nroot@rpi3:~# cat /etc/ssh/sshrc\r\n#!/bin/sh\r\n\r\n/home/matoken/bin/telegram.sh sshrc:${USER}@`hostname`:${SSH_CONNECTION}\r\n/home/matoken/bin/sms.sh sshrc:${USER}@`hostname`:${SSH_CONNECTION}\r\n\nssh \u3067\u30d1\u30b9\u30ef\u30fc\u30c9\u30ed\u30b0\u30a4\u30f3\u3067\u304d\u305a\uff0c\u9375\u8a8d\u8a3c\u3067\u30ed\u30b0\u30a4\u30f3\u304c\u51fa\u6765\u308b&\u901a\u77e5\u304c\u98db\u3076\u306e\u3092\u78ba\u8a8d\nroot@rpi3:~# ssh root@localhost -o PasswordAuthentication=yes\r\nroot@rpi3:~# ssh matoken@localhost -o PasswordAuthentication=yes\r\nroot@rpi3:~# ssh matoken@localhost -i ~/.ssh/id_ed25519\r\n\n\u81ea\u5206\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u5408\u308f\u305b\u3066 /etc/iptables/rules.v4, /etc/iptables/rules.v6 \u3092\u5909\u66f4\uff0e\nroot@rpi3:~# grep -v ^# /etc/iptables/rules.v4\r\n*filter\r\n:INPUT ACCEPT [0:0]\r\n:FORWARD ACCEPT [0:0]\r\n:OUTPUT ACCEPT [0:0]\r\n-A INPUT -s 127.0.0.0/8 -m comment --comment "RFC3330 loopback" -j ACCEPT\r\n-A INPUT -s 192.168.1.0/24 -m comment --comment "RFC1918 reserved" -j ACCEPT\r\n-A INPUT -p tcp -m tcp --dport 22 -m comment --comment SSH -j REJECT --reject-with icmp-port-unreachable\r\nCOMMIT\r\nroot@rpi3:~# grep -v ^# /etc/iptables/rules.v6\r\n*filter\r\n:INPUT ACCEPT [0:0]\r\n:FORWARD ACCEPT [0:0]\r\n:OUTPUT ACCEPT [0:0]\r\n-A INPUT -s ::1/128 -m comment --comment "RFC3513 loopback" -j ACCEPT\r\n-A INPUT -p tcp -m tcp --dport 22 -m comment --comment SSH -j REJECT --reject-with icmp6-port-unreachable\r\nCOMMIT\r\n\nsudo \u3092\u5c0e\u5165\u3057\u3066\u8a2d\u5b9a\nroot@rpi3:~# apt install sudo\r\n\nsudo group\u306b\u30e6\u30fc\u30b6\u3092\u767b\u9332\nroot@rpi3:~# usermod -a -G sudo matoken\r\n\nsudo \u304c\u5229\u7528\u3067\u304d\u308b\u306e\u3092\u78ba\u8a8d\nmatoken@rpi3:~$ sudo grep ^root: /etc/shadow\r\nsudo: unable to resolve host rpi3: Name or service not known\r\nroot:!..VyaTFxP8kT6:17933:0:99999:7:::\r\n\nroot\u30e6\u30fc\u30b6\u3092\u30ed\u30c3\u30af\n$ sudo passwd -l root \r\nsudo: unable to resolve host rpi3: Name or service not known\r\npasswd: password expiry information changed.\r\nmatoken@rpi3:~$ sudo passwd -S root\r\nsudo: unable to resolve host rpi3: Name or service not known\r\nroot L 02/06/2019 0 99999 7 -1\r\n\nsudo\u6642\u306a\u3069\u306b\u300csudo: unable to resolve host rpi3: Name or service not known\u300d\u3068\u8a00\u308f\u308c\u308b\u306e\u3067 hosts \u306e localhost \u306b rpi3 \u3092\u8ffd\u52a0\nmatoken@rpi3:~$ sudo vi /etc/hosts\r\n127.0.0.1 localhost rpi3\r\n\n\u3053\u3053\u3067\u518d\u8d77\u52d5\u3059\u308b\u3068 rootfs \u304c\u898b\u3064\u304b\u3089\u306a\u3044\u3068\u8a00\u308f\u308c\u8d77\u52d5\u3057\u306a\u3044\uff0e\n(initramfs) Gave up waiting for root file system device. Common problems:\r\n- Boot args (cat /proc/cmdline)\r\n- Check rootdelay= (did the system wait long enough?)\r\n- Missing modules (cat /proc/modules; ls /dev)\r\nALERT! /dev/mmcblk0p2 does not exist. Dropping to a shell!\r\n\r\n\r\nBusyBox v1.27.2 (Debian 1:1.27.2-3) built-in shell (ash)\r\nEnter 'help' for a list of built-in commands.\r\n\ncmdline \u3067\u306f /dev/mmcblkp2 \u304b\u3089\u8d77\u52d5\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u308b\u304c\uff0c /dev/sda2 \u304b\u3089\u8d77\u52d5\u3057\u305f\u3044\n(initramfs) ls /dev\r\nblock tty12 tty47\r\nbsg tty13 tty48\r\nbus tty14 tty49\r\nchar tty15 tty5\r\nconsole tty16 tty50\r\ncore tty17 tty51\r\ncpu_dma_latency tty18 tty52\r\ndisk tty19 tty53\r\nfb0 tty2 tty54\r\nfd tty20 tty55\r\nfull tty21 tty56\r\ngpiochip0 tty22 tty57\r\ngpiochip1 tty23 tty58\r\ninput tty24 tty59\r\nkmsg tty25 tty6\r\nkvm tty26 tty60\r\nmem tty27 tty61\r\nmemory_bandwidth tty28 tty62\r\nnetwork_latency tty29 tty63\r\nnetwork_throughput tty3 tty7\r\nnull tty30 tty8\r\nport tty31 tty9\r\npsaux tty32 ttyAMA0\r\nptmx tty33 ttyS0\r\npts tty34 ttyS1\r\nrandom tty35 ttyS2\r\nsda tty36 ttyS3\r\nsda1 tty37 urandom\r\nsda2 tty38 vcs\r\nsnapshot tty39 vcs1\r\nstderr tty4 vcsa\r\nstdin tty40 vcsa1\r\nstdout tty41 vcsu\r\ntty tty42 vcsu1\r\ntty0 tty43 vga_arbiter\r\ntty1 tty44 zero\r\ntty10 tty45\r\ntty11 tty46\r\n(initramfs) cat /proc/cmdline\r\nbcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708_fb.fbswap=1 dma.dmachans=0x7f35 bcm2709.boardrev=0xa02082 bcm2709.serial=0xfaf144 bcm2709.uart_clock=48000000 smsc95xx.macaddr=B8:27:EB:FA:F1:44 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 console=tty0 console=ttyS1,115200 root=/dev/mmcblk0p2 rw elevator=deadline fsck.repair=yes net.ifnames=0 cma=64M rootwait\r\n\n/boot \u3092 mount \u3057\u3066\u66f8\u304d\u63db\u3048\u3088\u3046\u3068\u601d\u3063\u305f\u3051\u3069\u3046\u307e\u304f mount \u51fa\u6765\u306a\u3044?\n(initramfs) mkdir /tmp/boot\r\n(initramfs) mount /dev/sda1 /tmp/boot\r\nmount: mounting /dev/sda1 on /tmp/boot failed: Invalid argument\r\n(initramfs) ls -la /dev/sda1 /tmp/boot\r\nbrw------- 1 0 0 8, 1 Jan 1 00:00 /dev/sda1\r\n\r\n/tmp/boot:\r\ntotal 0\r\ndrwxr-xr-x 2 0 0 0 Jan 1 00:10 .\r\ndrwxr-xr-x 3 0 0 0 Jan 1 00:10 ..\r\n(initramfs) mount -t vfat /dev/sda1 /tmp/boot\r\nmount: mounting /dev/sda1 on /tmp/boot failed: No such device\r\n(initramfs) mkdir /tmp/root\r\n(initramfs) modprobe ext4\r\n(initramfs) mount /dev/sda2 /tmp/root\r\n[ 2144.515323] EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null)\r\n(initramfs) find /tmp/root -name "vfat.ko"\r\n/tmp/root/usr/lib/modules/4.19.0-2-arm64/kernel/fs/fat/vfat.ko\r\n(initramfs) modprobe -v /tmp/root/usr/lib/modules/4.19.0-2-arm64/kernel/fs/fat/vfat.ko\r\n(initramfs) lsmod|grep fat\r\n(initramfs) mount -t vfat /dev/sda1 /tmp/boot\r\nmount: mounting /dev/sda1 on /tmp/boot failed: No such device\r\n(initramfs) lsmod|grep fat\r\n\n\u4e00\u65e6\u96fb\u6e90\u3092\u5207\u3063\u3066 /boot/cmdline.txt \u306e root=/dev/mmcblk0p2 \u3092 root=/dev/sda2 \u306b\u66f8\u304d\u63db\u3048\u3066\u8d77\u52d5\u3059\u308b\u3088\u3046\u306b\u306a\u3063\u305f\uff0e(LABEL\u6307\u5b9a\u306b\u5909\u3048\u305f\u307b\u3046\u304c\u3044\u3044\u304b\u306a)\n$ cat /boot/firmware/cmdline.txt \r\nconsole=tty0 console=ttyS1,115200 root=/dev/sda2 rw elevator=deadline fsck.repair=yes net.ifnames=0 cma=64M rootwait\r\n\n\u203braspi3-firmware \u3042\u305f\u308a\u306e\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u304c\u639b\u304b\u308b\u3068\u4e0a\u66f8\u304d\u3055\u308c\u308b\u3088\u3046\uff0e\n\nRevert “Fix the cmdline.txt options to boot by label, not by partition” by chschlue \u00b7 Pull Request #33 \u00b7 Debian/raspi3-image-spec\n#903543 – raspi3-firmware: add configuration options for cmdline.txt – Debian Bug report logs\n\nsystemd \u304b\u3089 sysvinit \u306b\u5909\u66f4(RAM\u304c\u958b\u304f\u304b\u3068\u601d\u3063\u305f\u3051\u3069\u6570MB\u7a0b\u5ea6\u3060\u3063\u305f)\n$ sudo apt install sysvinit-core sysvinit-utils\r\n\nLANG\u3092\u8a2d\u5b9a\nen_US.UTF-8 UTF-8, ja_JP.UTF-8 UTF-8 \u3092\u6709\u52b9\u306b\u3057\u3066\uff0c\u30c7\u30d5\u30a9\u30eb\u30c8\u30ed\u30b1\u30fc\u30eb\u3092 ja_JP.UTF-8 \u306b\u3057\u305f\u308a\u3057\u305f\uff0e\n$ sudo dpkg-reconfigure locales\r\n$ echo 'export LANG="ja_JP.UTF-8"\r\nexport LC_TIME="en_US.UTF-8"' | tee -a ~/.profile\r\n$ source ~/.profile\r\n$ locale\r\nLANG=ja_JP.UTF-8\r\nLANGUAGE=\r\nLC_CTYPE="ja_JP.UTF-8"\r\nLC_NUMERIC="ja_JP.UTF-8"\r\nLC_TIME=en_US.UTF-8\r\nLC_COLLATE="ja_JP.UTF-8"\r\nLC_MONETARY="ja_JP.UTF-8"\r\nLC_MESSAGES="ja_JP.UTF-8"\r\nLC_PAPER="ja_JP.UTF-8"\r\nLC_NAME="ja_JP.UTF-8"\r\nLC_ADDRESS="ja_JP.UTF-8"\r\nLC_TELEPHONE="ja_JP.UTF-8"\r\nLC_MEASUREMENT="ja_JP.UTF-8"\r\nLC_IDENTIFICATION="ja_JP.UTF-8"\r\nLC_ALL=\r\n\nRaspberry Pi \u306b\u306f rtc \u304c\u306a\u304f\u3066\u518d\u8d77\u52d5\u306a\u3069\u3067\u6642\u8a08\u304c\u521d\u671f\u5316\u3055\u308c\u3066\u3057\u307e\u3046\u306e\u3067 fake-hwclock \u3092\u5c0e\u5165(\u96fb\u6e90\u65ad\u6642\u306a\u3069\u306e\u6642\u9593\u306f\u30ab\u30a6\u30f3\u30c8\u3055\u308c\u306a\u3044\u306e\u3067\u6642\u9593\u304c\u305a\u308c\u308b\u304c\u6642\u8a08\u304c\u5dfb\u304d\u623b\u3089\u306a\u3044)\n$ sudo apt install fake-hwclock\r\n\nntpdate \u3092\u5c0e\u5165\u3057\u3066\u8d77\u52d5\u6642\u306e\u6642\u8a08\u5408\u308f\u305b\u3092\u3059\u308b\u3088\u3046\u306b\u3059\u308b(systemd\u306e\u307e\u307e\u3060\u3068ntp\u306e\u9762\u5012\u3092\u898b\u3066\u304f\u308c\u308b\u306e\u3067\u5fc5\u8981\u306a\u3044)\n$ sudo apt install ntpdate\r\n$ sudo vi /etc/boot.d/ntpdate\r\n$ cat /etc/boot.d/ntpdate\r\n#!/bin/sh\r\n\r\nntpdate 1.jp.pool.ntp.org\r\n$ sudo chmod +x /etc/boot.d/ntpdate\r\n\nntpdate iptables \u306b\u5408\u308f\u305b\u3066\u3053\u3063\u3061\u306e\u307b\u3046\u304c\u3044\u3044\u304b\u3082?(\u6709\u7dda\u63a5\u7d9a\u5f8c\u306b\u6642\u8a08\u5408\u308f\u305b\u3059\u308b)\n$ cat /etc/network/interfaces.d/eth0 \r\nauto eth0\r\n\r\n# TODO: switch back to iptables-persistent once it re-enters testing\r\niface eth0 inet dhcp\r\n pre-up iptables-restore < /etc/iptables/rules.v4\r\n pre-up ip6tables-restore < /etc/iptables/rules.v6\r\n up ntpdate 1.jp.pool.ntp.org\r\n\nuart\u3067setial\u63a5\u7d9a\u3059\u308b\u305f\u3081\u306b /etc/inittab \u306b\u4ee5\u4e0b\u3092\u8a2d\u5b9a(systemd\u3060\u3068\u8a2d\u5b9a\u6e08\u307f\u306a\u306e\u3067\u4e0d\u8981)\nT1:23:respawn:/sbin/getty -L ttyS1 115200 vt100\r\n\nmsmtp\u3092\u5c0e\u5165\u3057\u3066\u30e1\u30fc\u30eb\u3092\u98db\u3070\u305b\u308b\u3088\u3046\u306b\n$ sudo apt install msmtp\r\n$ sudo vi /etc/msmtprc\r\n$ grep -v ^# /etc/msmtprc|uniq\r\ndefaults\r\nsyslog on\r\naliases /etc/aliases\r\n\r\ntls on\r\ntls_trust_file /etc/ssl/certs/ca-certificates.crt\r\nauth on\r\nsyslog LOG_MAIL\r\n\r\naccount gmail\r\nhost smtp.gmail.com\r\nport 587\r\nfrom matohara@gmail.com\r\nuser matohara\r\npassword throjfeekdewxeib\r\n\r\naccount default : gmail\r\n$ sudo vi /etc/aliases\r\n$ grep -v ^# /etc/aliases\r\nmailer-daemon:hoge@example.com\r\npostmaster:hoge@example.com\r\nnobody:hoge@example.com\r\nhostmaster:hoge@example.com\r\nusenet:hoge@example.com\r\nnews:hoge@example.com\r\nwebmaster:hoge@example.com\r\nwww:hoge@example.com\r\nftp:hoge@example.com\r\nabuse:hoge@example.com\r\nnoc:hoge@example.com\r\nsecurity:hoge@example.com\r\nroot: hoge@example.com\r\ndefault: hoge@example.com\r\n$ echo 'hello' | msmtp matoken@ya.ru\r\n$ sudo apt install msmtp-mta\r\n$ echo 'hello' | /usr/sbin/sendmail matoken@ya.ru\r\n\n\u7121\u7dda\u3092\u7121\u52b9\u306b\u3059\u308b\u305f\u3081\u306b /boot/firmware/config.txt \u306b\u4ee5\u4e0b\u3092\u8ffd\u8a18\u2026\u2026\u518d\u8d77\u52d5\u3057\u3066\u3082\u53cd\u6620\u3055\u308c\u306a\u3044?\u8981\u78ba\u8a8d\ndtoverlay=pi3-disable-wifi\r\ndtoverlay=pi3-disable-bt\r\n\napticron \u3092\u5c0e\u5165\u3057\u3066\u66f4\u65b0\u3092\u30e1\u30fc\u30eb\u3067\u901a\u77e5\u3059\u308b\n$ sudo apt install apticron\r\n$ sudo cp -p /usr/lib/apticron/apticron.conf /etc/apticron/\r\n$ grep ^EMAIL= /etc/apticron/apticron.conf #\u5fc5\u8981\u306a\u3089\u5b9b\u5148\u3092\u66f8\u304d\u63db\u3048\u305f\u308a\r\nEMAIL="root"\r\n\ndeborphan \u3067\u307f\u306a\u3057\u3054\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u901a\u77e5\u3059\u308b\u3088\u3046\u306b\u3059\u308b\n$ sudo apt install deborphan\r\n$ sudo crontab -e\r\n$ sudo crontab -l | grep deborphan | grep -v ^#\r\n7 4 * * * deborphan && printf "\\nsudo apt --autoremove purge \\$( deborpha)'\r\n\n\u3066\u3053\u3068\u3067\u3068\u308a\u3042\u3048\u305a\u52d5\u304f\u3088\u3046\u306b\u306a\u3063\u305f\u3051\u3069\u6614\u3082\u3089\u3063\u305f\u30ce\u30d9\u30eb\u30c6\u30a3\u306eUSB\u30e1\u30e2\u30ea\u306a\u306e\u3067\u3053\u306e\u307e\u307e\u904b\u7528\u3059\u308b\u3068\u591a\u5206\u3059\u3050\u58ca\u308c\u3066\u3057\u307e\u3046\u3068\u601d\u3044\u307e\u3059\uff0e\n\u6700\u8fd1\u79cb\u8449\u539f\u3067\u30bb\u30fc\u30eb\u306b\u306a\u3063\u3066\u3044\u308b\u69d8\u306a\u5b89\u3044 SSD \u3068\u304b\u6b32\u3057\u3044\u3067\u3059\u306d\uff0e\n\u3053\u3061\u3089\u306f\u8d77\u52d5\u7d42\u4e86\u306eUART\u306e\u30e1\u30c3\u30bb\u30fc\u30b8", "date_published": "2019-03-01T06:41:13+09:00", "date_modified": "2019-03-01T09:20:00+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 buster", "Raspberry Pi 3 B", "RaspberryPi", "buster", "Linux", "Raspberry Pi" ] }, { "id": "http://matoken.org/blog/?p=2227", "url": "https://matoken.org/blog/2018/11/07/set-the-mac-address-of-raspberry-pi-s-usb-otg-ethernet-with-the-same-rule-as-the-ethernet-of-model-b/", "title": "Raspberry Pi \u306e USB-OTG ethernet \u306e MAC address \u3092 model B \u306e ethernet \u3068\u540c\u3058\u898f\u5247\u3067\u8a2d\u5b9a\u3059\u308b", "content_html": "
\n
\n
\n
\n

Raspberry Pi model A/A+/Zero/ZeroW/ZeroHW/Compute Module/Compute module 3\u3067\u306fUSB-OTG\u304c\u5229\u7528\u3067\u304d\u307e\u3059\uff0e(ZeroHW/Compute Module/Compute module 3\u306f\u81ea\u5206\u306f\u672a\u78ba\u8a8d)

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

USB-OTG\u3067USB\u3092Ethernet\u306b\u3057\u3066HostPC\u304b\u3089\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3088\u3046\u306b\u3059\u308b\u3068USB\u30b1\u30fc\u30d6\u30eb1\u672c\u3067\u96fb\u6e90\u3068\u4f75\u7528\u3067\u304d\u3066\u4fbf\u5229\u3067\u3059\uff0e

\n
\n
\n

\u3053\u306e\u3068\u304dMAC\u30a2\u30c9\u30ec\u30b9\u306f\u30e2\u30b8\u30e5\u30fc\u30eb\u8aad\u307f\u8fbc\u307f\u6bce\u306b\u81ea\u52d5\u751f\u6210\u3055\u308c\u307e\u3059\uff0e
\n\u4ee5\u4e0b\u306e\u4f8b\u3067\u306f\uff0c\u63a5\u7d9a\u5148(PC\u7b49)\u304b\u3089\u898b\u3048\u308bMAC\u304c HOST MAC 6a:b3:b1:5e:22:89 \u3067\uff0cRaspberry Pi \u306e\u4e2d\u3067\u306eMAC\u304c MAC ae:3a:c7:8e:50:38 \u306b\u306a\u3063\u3066\u3044\u307e\u3059\uff0e

\n
\n
\n
\n
$ sudo modprobe g_ether\r\n$ dmesg | tail -15\r\n[   88.517568] using random self ethernet address\r\n[   88.517590] using random host ethernet address\r\n[   88.519210] usb0: HOST MAC 6a:b3:b1:5e:22:89\r\n[   88.520195] usb0: MAC ae:3a:c7:8e:50:38\r\n[   88.520396] using random self ethernet address\r\n[   88.520412] using random host ethernet address\r\n[   88.520534] g_ether gadget: Ethernet Gadget, version: Memorial Day 2008\r\n[   88.520546] g_ether gadget: g_ether ready\r\n[   88.520580] dwc2 20980000.usb: bound driver g_ether\r\n[   88.866651] IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready\r\n[   94.048758] dwc2 20980000.usb: new device is high-speed\r\n[   94.128837] dwc2 20980000.usb: new device is high-speed\r\n[   94.197523] dwc2 20980000.usb: new address 9\r\n[   96.057234] g_ether gadget: high-speed config #1: CDC Ethernet (ECM)\r\n[   96.095719] IPv6: ADDRCONF(NETDEV_CHANGE): usb0: link becomes ready\r\n$ /sbin/ifconfig usb0\r\nusb0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500\r\n        inet 10.42.0.212  netmask 255.255.255.0  broadcast 10.42.0.255\r\n        inet6 fe80::5855:ab0c:6628:557c  prefixlen 64  scopeid 0x20<link>\r\n        ether ae:3a:c7:8e:50:38  txqueuelen 1000  (Ethernet)\r\n        RX packets 208  bytes 17243 (16.8 KiB)\r\n        RX errors 0  dropped 0  overruns 0  frame 0\r\n        TX packets 67  bytes 7696 (7.5 KiB)\r\n        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
\n
\n
\n
\n

\u3053\u308c\u306f\u6bce\u56de\u5909\u308f\u308b\u306e\u3067\u3075\u3068\u6c17\u3065\u304f\u3068\u30db\u30b9\u30c8PC\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u8a2d\u5b9a\u304c\u6ca2\u5c71\u306b\u306a\u3063\u3066\u3044\u305f\u308a\u2026\u2026\uff0e

\n
\n
\n
\n
$ nmcli connection show | grep ethernet | wc -l\r\n25
\n
\n
\n
\n

MAC address\u3092\u56fa\u5b9a\u3059\u308b\u306b\u306f\u30e2\u30b8\u30e5\u30fc\u30eb\u8aad\u307f\u8fbc\u307f\u6642\u306b\u6307\u5b9a\u3057\u3066\u3042\u3052\u308c\u3070OK\u3067\u3059\uff0e

\n
\n
\n
\n
$ sudo rmmod g_ether\r\n$ sudo modprobe g_ether host_addr=de:ad:fe:ef:00:01 dev_addr=de:ad:fe:ef:00:00\r\n$ dmesg | egrep usb0:.*MAC | tail -2\r\n[ 1067.248443] usb0: HOST MAC de:ad:fe:ef:00:01\r\n[ 1067.248958] usb0: MAC de:ad:fe:ef:00:00
\n
\n
\n
\n

\u6c38\u7d9a\u5316\u3059\u308b\u306b\u306f\uff0cg_ether\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u8aad\u3093\u3067\u3044\u308b\u3068\u3053\u308d\u3067\u6307\u5b9a\u3057\u3066\u3042\u3052\u307e\u3059\uff0e

\n
\n
\n
/boot/cmdline.txt \u306e\u5834\u5408 rootwait \u306e\u524d\u306b\u4ee5\u4e0b\u3092\u8ffd\u52a0
\n
\n
modules-load=dwc2,g_cdc g_ether.host_addr=de:ad:fe:ef:00:01 g_ether.dev_addr=de:ad:fe:ef:00:00
\n
\n
\n
\n
/etc/modules \u306e\u5834\u5408
\n
\n
g_ether g_ether.host_addr=de:ad:fe:ef:00:01 g_ether.dev_addr=de:ad:fe:ef:00:00
\n
\n
\n
\n\n\n\n\n\n
\n
Note
\n
\n
\n

\u203bg_cdc\u306e\u5834\u5408\u306f\u3053\u3093\u306a\u611f\u3058\u3067

\n
\n
\n

g_cdc g_cdc.host_addr=de:ad:fe:ef:00:01 g_cdc.dev_addr=de:ad:fe:ef:00:00

\n
\n
\n
\n
\n
/etc/rc.local \u306e\u5834\u5408 exit \u3088\u308a\u524d\u306e\u884c\u306b\u4ee5\u4e0b\u3092\u8ffd\u52a0(\u203bmodel A\u306e\u5834\u5408 cmdline.txt, modules \u5171\u306b module \u306f\u8aad\u307f\u8fbc\u307e\u308c\u308b\u3051\u3069\u52d5\u4f5c\u306f\u3046\u307e\u304f\u884c\u304b\u306a\u3044\u3053\u3068\u304c\u591a\u3044\u306e\u3067 rc.local \u304c\u826f\u3055\u305d\u3046)
\n
\n
modprobe g_ether host_addr=de:ad:fe:ef:00:01 dev_addr=de:ad:fe:ef:00:00
\n
\n
\n
\n

\u3053\u306e\u3068\u304d\u306eMAC address\u306f g_ether \u304c\u81ea\u52d5\u751f\u6210\u3057\u305f\u3082\u306e\u3092\u4f7f\u3046\u306e\u304c\u7121\u96e3\u3060\u3068\u304a\u3082\u3046\u306e\u3067\u3059\u304c\uff0c\u30e9\u30f3\u30c0\u30e0\u3068\u304b\u3067\u3044\u3093\u3060\u308d\u3046\u304b?\u3068\u3044\u3046\u4e0d\u5b89\u304c\u3042\u308a\u307e\u3059\uff0e

\n
\n
\n

\u30d9\u30f3\u30c0\u30fcID\u306b\u4f7f\u308f\u308c\u3066\u3044\u306a\u3044\u9818\u57df\u3060\u3063\u305f\u3089\u591a\u5206\u554f\u984c\u306a\u3044\u3067\u3059\u304c\uff0c\u3053\u308c\u304b\u3089\u57cb\u307e\u308b\u3053\u3068\u3082\u3042\u308a\u305d\u3046\u3067\u3059\uff0e(IP\u30a2\u30c9\u30ec\u30b9\u306e\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8IP\u30a2\u30c9\u30ec\u30b9\u306e\u3088\u3046\u306a\u9818\u57df\u304c\u3042\u308b\u306e\u304b\u3082\u3057\u308c\u7121\u3044\u3051\u3069\u672a\u78ba\u8a8d)

\n
\n
\n

Raspberry Pi model B \u30b7\u30ea\u30fc\u30ba\u306eNIC\u306b\u306f Raspberry Pi Foundation \u306e\u30d9\u30f3\u30c0\u30fc\u30b3\u30fc\u30c9\u304c\u4f7f\u308f\u308c\u3066\u3044\u307e\u3059\uff0e

\n
\n
\n
nmap \u306eMAC address\u30d9\u30f3\u30c0\u30fc\u60c5\u5831\u306e\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u78ba\u8a8d
\n
\n
$ grep -i raspberry /usr/share/nmap/nmap-mac-prefixes\r\nB827EB Raspberry Pi Foundation
\n
\n
\n
\n

Raspberry Pi \u306e smsc95xx \u306e MAC address \u306e\u751f\u6210\u306f\uff0c\u4e0a6\u6841\u306f\u30d9\u30f3\u30c0\u30fcID\u306e b8:27:eb \u3092\uff0c\u4e0b6\u6841\u306f\u30dc\u30fc\u30c9\u306eserial\u306e\u4e0b6\u6841\u3092\u5272\u308a\u5f53\u3066\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0e

\n
\n
\n
\n
\n

MAC address generation
\nTo have a predetermined MAC address, a given SMSC LAN9512 must be attached to an EEPROM that contains the MAC address. But on the Raspberry Pi Model B, this EEPROM is not present; therefore, this driver must assign a MAC address itself. We do this by generating a MAC address from the board’s serial number. This guarantees that a given Raspberry Pi will always have the same MAC address and that two Raspberry Pis are extremely unlikely to be assigned the same MAC address.

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

\u624b\u5143\u306e Raspberry Pi 2 Model B \u3092\u78ba\u8a8d\u3059\u308b\u3068\u78ba\u304b\u306b\u305d\u3046\u306a\u3063\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0e

\n
\n
\n
\n
$ ifconfig | grep ether\r\n\t\tether b8:27:eb:ff:56:0a  txqueuelen 1000  (Ethernet)\r\n$ grep Serial /proc/cpuinfo\r\nSerial          : 0000000094ff560a\r\n$ sed -n \"s/^Serial.*:.*\\(..\\)\\(..\\)\\(..\\)$/b8:27:eb:\\1:\\2:\\3/p\" /proc/cpuinfo\r\nb8:27:eb:ff:56:0a\r\n$ cat /proc/device-tree/model ;echo\r\nRaspberry Pi 2 Model B Rev 1.1
\n
\n
\n
\n\n\n\n\n\n
\n
Note
\n
\n
\n

16\u9032\u65706\u6841\u306f 0xFFFFFF → 16777215\u3067\u3059\uff0cRaspberry Pi \u306f2018\u5e743\u6708\u6642\u70b9\u3067190\u4e07\u53f0\u51fa\u8377\u3057\u3066\u3044\u308b\u3088\u3046\u306a\u306e\u30672\u5468\u76ee\u306b\u5165\u3063\u3066\u3044\u307e\u3059\uff0e\u4f4e\u3044\u78ba\u7387\u3067\u3057\u3087\u3046\u304c\u540c\u3058MAC address\u304c\u5272\u308a\u5f53\u3066\u3089\u308c\u308b\u53ef\u80fd\u6027\u304c\u2026\u2026\uff0e

\n
\n
\n
\n
\n

we\u2019ve sold 19 million Raspberry Pis in total

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

\u5185\u8535\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u81ea\u5206\u3067MAC address\u3092\u6307\u5b9a\u3057\u305f\u3044\u5834\u5408\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u3044\u3051\u307e\u3059\uff0e

\n
\n
\n
/boot/cmdline.txt \u306b\u4ee5\u4e0b\u3092\u8a2d\u5b9a
\n
\n
smsc95xx.macaddr=b8:27:eb:00:00:00
\n
\n
\n
\n
/etc/network/interfaces \u3067\u3082\u8a2d\u5b9a\u3067\u304d\u308b\u306f\u305a\u3060\u304cRaspbian\u3067\u306f\u672a\u78ba\u8a8d
\n
\n
hwaddress ether b8:27:eb:00:00:00
\n
\n
\n
\n

CPU Serial\u3092\u8a50\u79f0\u3059\u308b\u624b\u3082?

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

\u3068\u3044\u3046\u3053\u3068\u3067\uff0cRaspberry Pi model A / Zero \u3067\u3082\u3053\u306e MAC address \u304c\u5229\u7528\u3067\u304d\u305d\u3046\u306a\u611f\u3058\u3067\u3059\uff0e\u5916\u5411\u3051\u306e HOST MAC \u3092\u3053\u306e\u30a2\u30c9\u30ec\u30b9\u306b\u3057\u3066\u307f\u307e\u3059\uff0e

\n
\n
\n
\n
$ sed -n \"s/^Serial.*:.*\\(..\\)\\(..\\)\\(..\\)$/b8:27:eb:\\1:\\2:\\3/p\" /proc/cpuinfo | tee ~/macaddress\r\nb8:27:eb:d8:63:18\r\n$ sudo vi /boot/cmdline.txt\r\n$ sudo reboot\r\n  :\r\n  :\r\n$ dmesg | grep usb0\r\n[    4.937660] usb0: HOST MAC b8:27:eb:d8:63:18\r\n[    4.937845] usb0: MAC 86:d7:fe:57:f2:d5
\n
\n
\n
\n

\u30db\u30b9\u30c8PC\u3067\u3082\u3061\u3083\u3093\u3068\u6307\u5b9a\u3057\u305f\u3082\u306e\u306b\u306a\u3063\u3066\u3044\u307e\u3059\uff0e

\n
\n
\n
\n
$ /sbin/ifconfig enxb827ebd86318 | grep ether\r\n\t\t\t ether b8:27:eb:d8:63:18  txqueuelen 1000  (Ethernet)
\n
\n
\n
\n

\u3068\u308a\u3042\u3048\u305a\u3053\u308c\u3067\u4f7f\u3063\u3066\u307f\u3088\u3046\u3068\u601d\u3044\u307e\u3059\uff0e

\n
\n
\n
\u74b0\u5883
\n
\n
$ lsb_release -d\r\nDescription:    Raspbian GNU/Linux 9.4 (stretch)\r\n$ uname -m\r\narmv6l\r\n$ cat /proc/device-tree/model ;echo\r\nRaspberry Pi Model A Rev 2
\n
\n
\n
\n
\n

\n
\n", "content_text": "Raspberry Pi model A/A+/Zero/ZeroW/ZeroHW/Compute Module/Compute module 3\u3067\u306fUSB-OTG\u304c\u5229\u7528\u3067\u304d\u307e\u3059\uff0e(ZeroHW/Compute Module/Compute module 3\u306f\u81ea\u5206\u306f\u672a\u78ba\u8a8d)\n\n\n\n\nRaspberry Pi\u306eUSB OTG\u3092\u8a66\u3059 – Speaker Deck\n\n\nUSB-OTG\u3067HID(Raspberry Pi Zero\u3092\u30de\u30a6\u30b9\u30fb\u30ad\u30fc\u30dc\u30fc\u30c9\u5316)\n\n\nSimple guide for setting up OTG modes on the Raspberry Pi Zero \u00b7 GitHub\n\n\n\n\nUSB-OTG\u3067USB\u3092Ethernet\u306b\u3057\u3066HostPC\u304b\u3089\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3088\u3046\u306b\u3059\u308b\u3068USB\u30b1\u30fc\u30d6\u30eb1\u672c\u3067\u96fb\u6e90\u3068\u4f75\u7528\u3067\u304d\u3066\u4fbf\u5229\u3067\u3059\uff0e\n\n\n\u3053\u306e\u3068\u304dMAC\u30a2\u30c9\u30ec\u30b9\u306f\u30e2\u30b8\u30e5\u30fc\u30eb\u8aad\u307f\u8fbc\u307f\u6bce\u306b\u81ea\u52d5\u751f\u6210\u3055\u308c\u307e\u3059\uff0e\n\u4ee5\u4e0b\u306e\u4f8b\u3067\u306f\uff0c\u63a5\u7d9a\u5148(PC\u7b49)\u304b\u3089\u898b\u3048\u308bMAC\u304c HOST MAC 6a:b3:b1:5e:22:89 \u3067\uff0cRaspberry Pi \u306e\u4e2d\u3067\u306eMAC\u304c MAC ae:3a:c7:8e:50:38 \u306b\u306a\u3063\u3066\u3044\u307e\u3059\uff0e\n\n\n\n$ sudo modprobe g_ether\r\n$ dmesg | tail -15\r\n[ 88.517568] using random self ethernet address\r\n[ 88.517590] using random host ethernet address\r\n[ 88.519210] usb0: HOST MAC 6a:b3:b1:5e:22:89\r\n[ 88.520195] usb0: MAC ae:3a:c7:8e:50:38\r\n[ 88.520396] using random self ethernet address\r\n[ 88.520412] using random host ethernet address\r\n[ 88.520534] g_ether gadget: Ethernet Gadget, version: Memorial Day 2008\r\n[ 88.520546] g_ether gadget: g_ether ready\r\n[ 88.520580] dwc2 20980000.usb: bound driver g_ether\r\n[ 88.866651] IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready\r\n[ 94.048758] dwc2 20980000.usb: new device is high-speed\r\n[ 94.128837] dwc2 20980000.usb: new device is high-speed\r\n[ 94.197523] dwc2 20980000.usb: new address 9\r\n[ 96.057234] g_ether gadget: high-speed config #1: CDC Ethernet (ECM)\r\n[ 96.095719] IPv6: ADDRCONF(NETDEV_CHANGE): usb0: link becomes ready\r\n$ /sbin/ifconfig usb0\r\nusb0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500\r\n inet 10.42.0.212 netmask 255.255.255.0 broadcast 10.42.0.255\r\n inet6 fe80::5855:ab0c:6628:557c prefixlen 64 scopeid 0x20<link>\r\n ether ae:3a:c7:8e:50:38 txqueuelen 1000 (Ethernet)\r\n RX packets 208 bytes 17243 (16.8 KiB)\r\n RX errors 0 dropped 0 overruns 0 frame 0\r\n TX packets 67 bytes 7696 (7.5 KiB)\r\n TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0\n\n\n\n\u3053\u308c\u306f\u6bce\u56de\u5909\u308f\u308b\u306e\u3067\u3075\u3068\u6c17\u3065\u304f\u3068\u30db\u30b9\u30c8PC\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u8a2d\u5b9a\u304c\u6ca2\u5c71\u306b\u306a\u3063\u3066\u3044\u305f\u308a\u2026\u2026\uff0e\n\n\n\n$ nmcli connection show | grep ethernet | wc -l\r\n25\n\n\n\nMAC address\u3092\u56fa\u5b9a\u3059\u308b\u306b\u306f\u30e2\u30b8\u30e5\u30fc\u30eb\u8aad\u307f\u8fbc\u307f\u6642\u306b\u6307\u5b9a\u3057\u3066\u3042\u3052\u308c\u3070OK\u3067\u3059\uff0e\n\n\n\n$ sudo rmmod g_ether\r\n$ sudo modprobe g_ether host_addr=de:ad:fe:ef:00:01 dev_addr=de:ad:fe:ef:00:00\r\n$ dmesg | egrep usb0:.*MAC | tail -2\r\n[ 1067.248443] usb0: HOST MAC de:ad:fe:ef:00:01\r\n[ 1067.248958] usb0: MAC de:ad:fe:ef:00:00\n\n\n\n\u6c38\u7d9a\u5316\u3059\u308b\u306b\u306f\uff0cg_ether\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u8aad\u3093\u3067\u3044\u308b\u3068\u3053\u308d\u3067\u6307\u5b9a\u3057\u3066\u3042\u3052\u307e\u3059\uff0e\n\n\n/boot/cmdline.txt \u306e\u5834\u5408 rootwait \u306e\u524d\u306b\u4ee5\u4e0b\u3092\u8ffd\u52a0\n\nmodules-load=dwc2,g_cdc g_ether.host_addr=de:ad:fe:ef:00:01 g_ether.dev_addr=de:ad:fe:ef:00:00\n\n\n\n/etc/modules \u306e\u5834\u5408\n\ng_ether g_ether.host_addr=de:ad:fe:ef:00:01 g_ether.dev_addr=de:ad:fe:ef:00:00\n\n\n\n\n\n\nNote\n\n\n\n\u203bg_cdc\u306e\u5834\u5408\u306f\u3053\u3093\u306a\u611f\u3058\u3067\n\n\ng_cdc g_cdc.host_addr=de:ad:fe:ef:00:01 g_cdc.dev_addr=de:ad:fe:ef:00:00\n\n\n\n\n\n\n/etc/rc.local \u306e\u5834\u5408 exit \u3088\u308a\u524d\u306e\u884c\u306b\u4ee5\u4e0b\u3092\u8ffd\u52a0(\u203bmodel A\u306e\u5834\u5408 cmdline.txt, modules \u5171\u306b module \u306f\u8aad\u307f\u8fbc\u307e\u308c\u308b\u3051\u3069\u52d5\u4f5c\u306f\u3046\u307e\u304f\u884c\u304b\u306a\u3044\u3053\u3068\u304c\u591a\u3044\u306e\u3067 rc.local \u304c\u826f\u3055\u305d\u3046)\n\nmodprobe g_ether host_addr=de:ad:fe:ef:00:01 dev_addr=de:ad:fe:ef:00:00\n\n\n\n\u3053\u306e\u3068\u304d\u306eMAC address\u306f g_ether \u304c\u81ea\u52d5\u751f\u6210\u3057\u305f\u3082\u306e\u3092\u4f7f\u3046\u306e\u304c\u7121\u96e3\u3060\u3068\u304a\u3082\u3046\u306e\u3067\u3059\u304c\uff0c\u30e9\u30f3\u30c0\u30e0\u3068\u304b\u3067\u3044\u3093\u3060\u308d\u3046\u304b?\u3068\u3044\u3046\u4e0d\u5b89\u304c\u3042\u308a\u307e\u3059\uff0e\n\n\n\u30d9\u30f3\u30c0\u30fcID\u306b\u4f7f\u308f\u308c\u3066\u3044\u306a\u3044\u9818\u57df\u3060\u3063\u305f\u3089\u591a\u5206\u554f\u984c\u306a\u3044\u3067\u3059\u304c\uff0c\u3053\u308c\u304b\u3089\u57cb\u307e\u308b\u3053\u3068\u3082\u3042\u308a\u305d\u3046\u3067\u3059\uff0e(IP\u30a2\u30c9\u30ec\u30b9\u306e\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8IP\u30a2\u30c9\u30ec\u30b9\u306e\u3088\u3046\u306a\u9818\u57df\u304c\u3042\u308b\u306e\u304b\u3082\u3057\u308c\u7121\u3044\u3051\u3069\u672a\u78ba\u8a8d)\n\n\nRaspberry Pi model B \u30b7\u30ea\u30fc\u30ba\u306eNIC\u306b\u306f Raspberry Pi Foundation \u306e\u30d9\u30f3\u30c0\u30fc\u30b3\u30fc\u30c9\u304c\u4f7f\u308f\u308c\u3066\u3044\u307e\u3059\uff0e\n\n\nnmap \u306eMAC address\u30d9\u30f3\u30c0\u30fc\u60c5\u5831\u306e\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u78ba\u8a8d\n\n$ grep -i raspberry /usr/share/nmap/nmap-mac-prefixes\r\nB827EB Raspberry Pi Foundation\n\n\n\nRaspberry Pi \u306e smsc95xx \u306e MAC address \u306e\u751f\u6210\u306f\uff0c\u4e0a6\u6841\u306f\u30d9\u30f3\u30c0\u30fcID\u306e b8:27:eb \u3092\uff0c\u4e0b6\u6841\u306f\u30dc\u30fc\u30c9\u306eserial\u306e\u4e0b6\u6841\u3092\u5272\u308a\u5f53\u3066\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0e\n\n\n\n\nMAC address generation\nTo have a predetermined MAC address, a given SMSC LAN9512 must be attached to an EEPROM that contains the MAC address. But on the Raspberry Pi Model B, this EEPROM is not present; therefore, this driver must assign a MAC address itself. We do this by generating a MAC address from the board’s serial number. This guarantees that a given Raspberry Pi will always have the same MAC address and that two Raspberry Pis are extremely unlikely to be assigned the same MAC address.\n\n\n\n\n\n\nxinu/SMSC-LAN9512.rst at master \u00b7 xinu-os/xinu \u00b7 GitHub\n\n\n\n\n\u624b\u5143\u306e Raspberry Pi 2 Model B \u3092\u78ba\u8a8d\u3059\u308b\u3068\u78ba\u304b\u306b\u305d\u3046\u306a\u3063\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0e\n\n\n\n$ ifconfig | grep ether\r\n\t\tether b8:27:eb:ff:56:0a txqueuelen 1000 (Ethernet)\r\n$ grep Serial /proc/cpuinfo\r\nSerial : 0000000094ff560a\r\n$ sed -n \"s/^Serial.*:.*\\(..\\)\\(..\\)\\(..\\)$/b8:27:eb:\\1:\\2:\\3/p\" /proc/cpuinfo\r\nb8:27:eb:ff:56:0a\r\n$ cat /proc/device-tree/model ;echo\r\nRaspberry Pi 2 Model B Rev 1.1\n\n\n\n\n\n\nNote\n\n\n\n16\u9032\u65706\u6841\u306f 0xFFFFFF → 16777215\u3067\u3059\uff0cRaspberry Pi \u306f2018\u5e743\u6708\u6642\u70b9\u3067190\u4e07\u53f0\u51fa\u8377\u3057\u3066\u3044\u308b\u3088\u3046\u306a\u306e\u30672\u5468\u76ee\u306b\u5165\u3063\u3066\u3044\u307e\u3059\uff0e\u4f4e\u3044\u78ba\u7387\u3067\u3057\u3087\u3046\u304c\u540c\u3058MAC address\u304c\u5272\u308a\u5f53\u3066\u3089\u308c\u308b\u53ef\u80fd\u6027\u304c\u2026\u2026\uff0e\n\n\n\n\nwe\u2019ve sold 19 million Raspberry Pis in total\n\n\n\n\n\n\nRaspberry Pi 3 Model B+ on sale now at $35 – Raspberry Pi\n\n\n\n\n\u5185\u8535\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u81ea\u5206\u3067MAC address\u3092\u6307\u5b9a\u3057\u305f\u3044\u5834\u5408\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u3044\u3051\u307e\u3059\uff0e\n\n\n/boot/cmdline.txt \u306b\u4ee5\u4e0b\u3092\u8a2d\u5b9a\n\nsmsc95xx.macaddr=b8:27:eb:00:00:00\n\n\n\n/etc/network/interfaces \u3067\u3082\u8a2d\u5b9a\u3067\u304d\u308b\u306f\u305a\u3060\u304cRaspbian\u3067\u306f\u672a\u78ba\u8a8d\n\nhwaddress ether b8:27:eb:00:00:00\n\n\n\nCPU Serial\u3092\u8a50\u79f0\u3059\u308b\u624b\u3082?\n\n\n\n\n/proc/cpuinfo\u306eSerial\u3092\u8a50\u79f0\u3059\u308b \u2013 matoken’s meme\n\n\n\n\n\n\n\n\n\u3068\u3044\u3046\u3053\u3068\u3067\uff0cRaspberry Pi model A / Zero \u3067\u3082\u3053\u306e MAC address \u304c\u5229\u7528\u3067\u304d\u305d\u3046\u306a\u611f\u3058\u3067\u3059\uff0e\u5916\u5411\u3051\u306e HOST MAC \u3092\u3053\u306e\u30a2\u30c9\u30ec\u30b9\u306b\u3057\u3066\u307f\u307e\u3059\uff0e\n\n\n\n$ sed -n \"s/^Serial.*:.*\\(..\\)\\(..\\)\\(..\\)$/b8:27:eb:\\1:\\2:\\3/p\" /proc/cpuinfo | tee ~/macaddress\r\nb8:27:eb:d8:63:18\r\n$ sudo vi /boot/cmdline.txt\r\n$ sudo reboot\r\n :\r\n :\r\n$ dmesg | grep usb0\r\n[ 4.937660] usb0: HOST MAC b8:27:eb:d8:63:18\r\n[ 4.937845] usb0: MAC 86:d7:fe:57:f2:d5\n\n\n\n\u30db\u30b9\u30c8PC\u3067\u3082\u3061\u3083\u3093\u3068\u6307\u5b9a\u3057\u305f\u3082\u306e\u306b\u306a\u3063\u3066\u3044\u307e\u3059\uff0e\n\n\n\n$ /sbin/ifconfig enxb827ebd86318 | grep ether\r\n\t\t\t ether b8:27:eb:d8:63:18 txqueuelen 1000 (Ethernet)\n\n\n\n\u3068\u308a\u3042\u3048\u305a\u3053\u308c\u3067\u4f7f\u3063\u3066\u307f\u3088\u3046\u3068\u601d\u3044\u307e\u3059\uff0e\n\n\n\u74b0\u5883\n\n$ lsb_release -d\r\nDescription: Raspbian GNU/Linux 9.4 (stretch)\r\n$ uname -m\r\narmv6l\r\n$ cat /proc/device-tree/model ;echo\r\nRaspberry Pi Model A Rev 2", "date_published": "2018-11-07T23:19:08+09:00", "date_modified": "2018-11-08T08:07:03+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": [ "RaspberryPi", "USB", "usb-otg", "Raspberry Pi", "Raspbian stretch" ] }, { "id": "http://matoken.org/blog/?p=2179", "url": "https://matoken.org/blog/2018/10/12/raspbian-stretch-2018-10-09/", "title": "Raspbian stretch 2018-10-09", "content_html": "
\n

Raspberry Pi \u306e Debian \u30d9\u30fc\u30b9\u306e\u30c7\u30a3\u30b9\u30c8\u30ea\u30d3\u30e5\u30fc\u30b7\u30e7\u30f3\u306e\u6700\u65b0\u7248\u306e Raspbian 2018-10-09 \u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u305f\u3088\u3046\u3067\u3059\uff0e

\n
\n
\n\n
\n
\n
curl -sS -o – http://downloads.raspberrypi.org/raspbian/release_notes.txt | perl -e ‘$c=0;while(<STDIN>){if$c!=0 ) && ( $=~/^\\ /{print $}elsif($c==0){print $_}else{exit} $c++}’
\n
\n
2018-10-09:\r\n  * In startup wizard, assign keyboard to country as per Debian installer recommendations\r\n  * In startup wizard, add option to use US keyboard in preference to country-specific option\r\n  * In startup wizard, show IP address on first page\r\n  * In startup wizard, check for existing wifi network connection and show it if there is one\r\n  * In startup wizard, install language support packages for LibreOffice and other applications\r\n  * In startup wizard, improve operation with keyboard only and no mouse\r\n  * Password change in Raspberry Pi Configuration and startup wizard now works properly if passwords contain shell characters\r\n  * Battery indicator plugin modified to cope with Pi-top hardware monitor crashing\r\n  * Networking plugin hides wifi password characters by default\r\n  * In Scratch 2 GPIO plugin, set pin from dropdown list rather than free text\r\n  * In Scratch 2 SenseHAT plugin, swap x and y axis values for LED array\r\n  * Include latest Adobe Flash player (31.0.0.108)\r\n  * Include latest RealVNC Server (6.3.1)\r\n  * Include libav-tools\r\n  * Include ssh-import-id\r\n  * Removed Mathematica\r\n  * Merge in latest third-party code for Bluetooth ALSA interface\r\n  * Add ability to prevent software update changing configuration files, by creating ~/.config/.lock file\r\n  * Various other small bug fixes, tweaks and changes to text\r\n  * Make dhcpcd work with 3G devices\r\n  * Add hw acceleration to ffmpeg\r\n  * Improved WiFi-BT coexistence parameters\r\n  * Run fake-hwclock before systemd-fsck-root\r\n  * Raspberry Pi PoE HAT support\r\n  * Linux kernel 4.14.71\r\n  * Raspberry Pi firmware 5b49caa17e91d0e64024380119ad739bb201c674
\n
\n
\n
\n

\u500b\u4eba\u7684\u306b\u306f \u300c Add hw acceleration to ffmpeg\u300d \u304c\u5b09\u3057\u3044\u3067\u3059\uff0e\u81ea\u5206\u3067build\u3057\u306a\u304f\u3066\u3082\u3088\u304f\u306a\u3063\u3066\u305d\u3046\u3067\u3059\uff0e

\n
\n
\n
\n
$ dpkg-query -W ffmpeg\r\nffmpeg  7:3.2.10-1~deb9u1+rpt2\r\n$ ffmpeg 2>&1 | grep -o -E '\\--enable-omx-rpi|\\--enable-mmal'\r\n--enable-omx-rpi\r\n--enable-mmal
\n
\n\n
\n

\u3068\u308a\u3042\u3048\u305a\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u304a\u304d\u307e\u3059\uff0e

\n
\n
\n
\n
$ # \u30c0\u30a6\u30f3\u30ed\u30fc\u30c9URL\u78ba\u8a8d\r\n$ LANG=C wget --max-redirect=0 https://downloads.raspberrypi.org/raspbian_lite_latest 2>&1 | sed -En 's/Location: ([^ ]*).*$/\\1/p'\r\nhttps://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2018-10-11/2018-10-09-raspbian-stretch-lite.zip\r\n$ # \u30d5\u30a1\u30a4\u30eb\u78ba\u8a8d\r\n$ w3m -dump https://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2018-10-11/\r\nIndex of /raspbian_lite/images/raspbian_lite-2018-10-11\r\n\r\n   [ICO]                        Name                        Last    Size Description\r\n                                                          modified\r\n  \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\r\n[PARENTDIR] Parent Directory                                           -\r\n[ ]         2018-10-09-raspbian-stretch-lite.info        2018-10-09  54K\r\n                                                              13:34\r\n[ ]         2018-10-09-raspbian-stretch-lite.zip         2018-10-09 351M\r\n                                                              13:34\r\n[ ]         2018-10-09-raspbian-stretch-lite.zip.sha1    2018-10-11   79\r\n                                                              11:38\r\n[ ]         2018-10-09-raspbian-stretch-lite.zip.sha256  2018-10-11  103\r\n                                                              11:38\r\n[ ]         2018-10-09-raspbian-stretch-lite.zip.sig     2018-10-10  473\r\n                                                              13:37\r\n[ ]         2018-10-09-raspbian-stretch-lite.zip.torrent 2018-10-11  28K\r\n                                                              11:38\r\n  \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\r\n\r\n\r\nApache/2.4.10 (Debian) Server at downloads.raspberrypi.org Port 80\r\n$ # bitttorrent \u3068 \u7f72\u540d\u30d5\u30a1\u30a4\u30eb\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\r\n$ wget https://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2018-10-11/2018-10-09-raspbian-stretch-lite.zip.torrent https://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2018-10-11/2018-10-09-raspbian-stretch-lite.zip.sig\r\n$ # Transmission \u3067 \u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\r\n$ transmission-cli ./2018-10-09-raspbian-stretch-lite.zip.torrent\r\n   :\r\n$ # \u7f72\u540d\u78ba\u8a8d\r\n$ gpg --verify 2018-10-09-raspbian-stretch-lite.zip.sig
\n
\n
\n
\n", "content_text": "Raspberry Pi \u306e Debian \u30d9\u30fc\u30b9\u306e\u30c7\u30a3\u30b9\u30c8\u30ea\u30d3\u30e5\u30fc\u30b7\u30e7\u30f3\u306e\u6700\u65b0\u7248\u306e Raspbian 2018-10-09 \u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u305f\u3088\u3046\u3067\u3059\uff0e\n\n\n\n\nDownload Raspbian for Raspberry Pi\n\n\n\n\ncurl -sS -o – http://downloads.raspberrypi.org/raspbian/release_notes.txt | perl -e ‘$c=0;while(<STDIN>){if$c!=0 ) && ( $=~/^\\ /{print $}elsif($c==0){print $_}else{exit} $c++}’\n\n2018-10-09:\r\n * In startup wizard, assign keyboard to country as per Debian installer recommendations\r\n * In startup wizard, add option to use US keyboard in preference to country-specific option\r\n * In startup wizard, show IP address on first page\r\n * In startup wizard, check for existing wifi network connection and show it if there is one\r\n * In startup wizard, install language support packages for LibreOffice and other applications\r\n * In startup wizard, improve operation with keyboard only and no mouse\r\n * Password change in Raspberry Pi Configuration and startup wizard now works properly if passwords contain shell characters\r\n * Battery indicator plugin modified to cope with Pi-top hardware monitor crashing\r\n * Networking plugin hides wifi password characters by default\r\n * In Scratch 2 GPIO plugin, set pin from dropdown list rather than free text\r\n * In Scratch 2 SenseHAT plugin, swap x and y axis values for LED array\r\n * Include latest Adobe Flash player (31.0.0.108)\r\n * Include latest RealVNC Server (6.3.1)\r\n * Include libav-tools\r\n * Include ssh-import-id\r\n * Removed Mathematica\r\n * Merge in latest third-party code for Bluetooth ALSA interface\r\n * Add ability to prevent software update changing configuration files, by creating ~/.config/.lock file\r\n * Various other small bug fixes, tweaks and changes to text\r\n * Make dhcpcd work with 3G devices\r\n * Add hw acceleration to ffmpeg\r\n * Improved WiFi-BT coexistence parameters\r\n * Run fake-hwclock before systemd-fsck-root\r\n * Raspberry Pi PoE HAT support\r\n * Linux kernel 4.14.71\r\n * Raspberry Pi firmware 5b49caa17e91d0e64024380119ad739bb201c674\n\n\n\n\u500b\u4eba\u7684\u306b\u306f \u300c Add hw acceleration to ffmpeg\u300d \u304c\u5b09\u3057\u3044\u3067\u3059\uff0e\u81ea\u5206\u3067build\u3057\u306a\u304f\u3066\u3082\u3088\u304f\u306a\u3063\u3066\u305d\u3046\u3067\u3059\uff0e\n\n\n\n$ dpkg-query -W ffmpeg\r\nffmpeg 7:3.2.10-1~deb9u1+rpt2\r\n$ ffmpeg 2>&1 | grep -o -E '\\--enable-omx-rpi|\\--enable-mmal'\r\n--enable-omx-rpi\r\n--enable-mmal\n\n\n\n\u8ca7\u8005\u306eHardWare Encode?\n\n\n\n\u3068\u308a\u3042\u3048\u305a\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u304a\u304d\u307e\u3059\uff0e\n\n\n\n$ # \u30c0\u30a6\u30f3\u30ed\u30fc\u30c9URL\u78ba\u8a8d\r\n$ LANG=C wget --max-redirect=0 https://downloads.raspberrypi.org/raspbian_lite_latest 2>&1 | sed -En 's/Location: ([^ ]*).*$/\\1/p'\r\nhttps://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2018-10-11/2018-10-09-raspbian-stretch-lite.zip\r\n$ # \u30d5\u30a1\u30a4\u30eb\u78ba\u8a8d\r\n$ w3m -dump https://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2018-10-11/\r\nIndex of /raspbian_lite/images/raspbian_lite-2018-10-11\r\n\r\n [ICO] Name Last Size Description\r\n modified\r\n \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\r\n[PARENTDIR] Parent Directory -\r\n[ ] 2018-10-09-raspbian-stretch-lite.info 2018-10-09 54K\r\n 13:34\r\n[ ] 2018-10-09-raspbian-stretch-lite.zip 2018-10-09 351M\r\n 13:34\r\n[ ] 2018-10-09-raspbian-stretch-lite.zip.sha1 2018-10-11 79\r\n 11:38\r\n[ ] 2018-10-09-raspbian-stretch-lite.zip.sha256 2018-10-11 103\r\n 11:38\r\n[ ] 2018-10-09-raspbian-stretch-lite.zip.sig 2018-10-10 473\r\n 13:37\r\n[ ] 2018-10-09-raspbian-stretch-lite.zip.torrent 2018-10-11 28K\r\n 11:38\r\n \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\r\n\r\n\r\nApache/2.4.10 (Debian) Server at downloads.raspberrypi.org Port 80\r\n$ # bitttorrent \u3068 \u7f72\u540d\u30d5\u30a1\u30a4\u30eb\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\r\n$ wget https://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2018-10-11/2018-10-09-raspbian-stretch-lite.zip.torrent https://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2018-10-11/2018-10-09-raspbian-stretch-lite.zip.sig\r\n$ # Transmission \u3067 \u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\r\n$ transmission-cli ./2018-10-09-raspbian-stretch-lite.zip.torrent\r\n :\r\n$ # \u7f72\u540d\u78ba\u8a8d\r\n$ gpg --verify 2018-10-09-raspbian-stretch-lite.zip.sig", "date_published": "2018-10-12T06:54:55+09:00", "date_modified": "2018-10-12T07:47:02+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": [ "Rasbian", "RaspberryPi", "Linux", "Raspberry Pi" ] }, { "id": "http://matoken.org/blog/?p=2125", "url": "https://matoken.org/blog/2018/09/19/try-telegram-cli-of-informal-cli-client-of-telegram/", "title": "Telegram \u306e\u975e\u516c\u5f0fcli client \u306e telegram-cli \u3092\u8a66\u3059", "content_html": "
\n

Arm \u3067\u3082\u52d5\u304f\u304b\u306a?\u3068\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

\n
\n
\n\n
\n
\n
\u5fc5\u8981\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u5c0e\u5165
\n
\n
$ sudo apt install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev libpython-dev make libssl1.0-dev
\n
\n
\n
\n
source\u3092clone\u3059\u308b
\n
\n
$ git clone --recursive https://github.com/vysheng/tg.git && cd tg
\n
\n
\n
\n
configure & make
\n
\n
$ ./configure\r\n$ make
\n
\n
\n
\n
build error1
\n
\n
tgl/crypto/rsa_pem_openssl.c: In function \u2018TGLC_rsa_new\u2019:\r\ntgl/crypto/rsa_pem_openssl.c:41:6: error: dereferencing pointer to incomplete type \u2018RSA {aka struct rsa_st}\u2019\r\n   ret->e = unwrap_bn (TGLC_bn_new ());\r\n      ^~\r\ntgl/crypto/rsa_pem_openssl.c: In function \u2018TGLC_rsa_n\u2019:\r\ntgl/crypto/rsa_pem_openssl.c:52:1: error: control reaches end of non-void function [-Werror=return-type]\r\n RSA_GETTER(n);\r\n ^~~~~~~~~~\r\ntgl/crypto/rsa_pem_openssl.c: In function \u2018TGLC_rsa_e\u2019:\r\ntgl/crypto/rsa_pem_openssl.c:53:1: error: control reaches end of non-void function [-Werror=return-type]\r\n RSA_GETTER(e);\r\n ^~~~~~~~~~\r\ncc1: all warnings being treated as errors\r\nMakefile.tgl:20: recipe for target 'objs/crypto/rsa_pem_openssl.o' failed\r\nmake: *** [objs/crypto/rsa_pem_openssl.o] Error 1
\n
\n
\n
\n

libssl-dev(1.1.1)\u3067\u306f\u52d5\u4f5c\u3057\u306a\u3044\u306e\u3067libssl1.0-dev\u306b\u5165\u308c\u66ff\u3048\u308b\uff0e sudo apt install libssl1.0-dev

\n
\n
\n
build error2
\n
\n
gcc -I. -I. -I./tgl -w  -I/usr/local/include -I/usr/include -I/usr/include -I/usr/include/lua5.2  -DHAVE_CONFIG_H -Wall -Werror -Wextra -Wno-missing-field-initializers -Wno-deprecated-declarations -fno-strict-aliasing -fno-omit-frame-pointer -ggdb -Wno-unused-parameter -fPIC -iquote ./tgl/tl-parser -c -MP -MD -MF dep/tl-parser.d -MQ objs/tl-parser.o -o objs/tl-parser.o tgl/tl-parser/tl-parser.c\r\ntgl/tl-parser/tl-parser.c:37:10: fatal error: zlib.h: \u305d\u306e\u3088\u3046\u306a\u30d5\u30a1\u30a4\u30eb\u3084\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306f\u3042\u308a\u307e\u305b\u3093\r\n #include <zlib.h>\r\n          ^~~~~~~~\r\ncompilation terminated.\r\nmake: *** [Makefile.tl-parser:4: objs/tl-parser.o] \u30a8\u30e9\u30fc 1
\n
\n
\n
\n

zlib1g-dev \u3092\u5c0e\u5165\u3059\u308b\uff0e sudo apt install zlib1g-dev

\n
\n
\n
Raspbian stretch\u3067\u306e\u5b9f\u884c\u6642\u30a8\u30e9\u30fc(32bit\u74b0\u5883\u3067\u306e\u4e0d\u5177\u5408?)
\n
\n
$ bin/telegram-cli\r\nTelegram-cli version 1.4.1, Copyright (C) 2013-2015 Vitaly Valtman\r\nTelegram-cli comes with ABSOLUTELY NO WARRANTY; for details type `show_license'.\r\nThis is free software, and you are welcome to redistribute it\r\nunder certain conditions; type `show_license' for details.\r\nTelegram-cli uses libtgl version 2.1.0\r\nTelegram-cli includes software developed by the OpenSSL Project\r\nfor use in the OpenSSL Toolkit. (http://www.openssl.org/)\r\nI: config dir=[/home/pi/.telegram-cli]\r\n> telegram-cli: tgl/mtproto-utils.c:101: BN2ull: Assertion `0' failed.\r\nSIGNAL received
\n
\n
\n
\n

\u4ee5\u4e0b\u306e\u4fee\u6b63\u3092\u884c\u3044\uff0c make clean \u3057\u3066 build \u3057\u306a\u304a\u3059\uff0e

\n
\n
\n
\n
$ diff -ud tgl/mtproto-utils.c.org tgl/mtproto-utils.c\r\n--- tgl/mtproto-utils.c.org     2018-09-19 21:01:44.878560077 +0900\r\n+++ tgl/mtproto-utils.c 2018-09-19 20:59:55.778295550 +0900\r\n@@ -98,13 +98,13 @@\r\n   if (sizeof (unsigned long) == 8) {\r\n\t return TGLC_bn_get_word (b);\r\n   } else if (sizeof (unsigned long long) == 8) {\r\n-    assert (0); // As long as nobody ever uses this code, assume it is broken.\r\n+    assert (0);  As long as nobody ever uses this code, assume it is broken.\r\n\t unsigned long long tmp;\r\n\t /* Here be dragons, but it should be okay due to be64toh */\r\n\t TGLC_bn_bn2bin (b, (unsigned char *) &tmp);\r\n\t return be64toh (tmp);\r\n   } else {\r\n-    assert (0);\r\n+//    assert (0);\r\n   }\r\n }
\n
\n
\n
\n
\n
$ make clean\r\n$ ./configure\r\n$ make
\n
\n
\n
\n
\u521d\u56de\u5b9f\u884c\u6642\u306fSMS\u8a8d\u8a3c\u304c\u5fc5\u8981
\n
\n
$ bin/telegram-cli\r\nTelegram-cli version 1.4.1, Copyright (C) 2013-2015 Vitaly Valtman\r\nTelegram-cli comes with ABSOLUTELY NO WARRANTY; for details type `show_license'.\r\nThis is free software, and you are welcome to redistribute it\r\nunder certain conditions; type `show_license' for details.\r\nTelegram-cli uses libtgl version 2.1.0\r\nTelegram-cli includes software developed by the OpenSSL Project\r\nfor use in the OpenSSL Toolkit. (http://www.openssl.org/)\r\nI: config dir=[/home/mk/.telegram-cli]\r\n[/home/mk/.telegram-cli] created\r\n[/home/mk/.telegram-cli/downloads] created\r\nphone number: +81-9000000000\r\ncode ('CALL' for phone code): 16802\r\nUser matoken updated flags\r\nUser matoken online (was online [2018/09/18 23:55:32])\r\nUser matoken offline (was online [2018/09/18 23:50:35])
\n
\n
\n
\n
\u8a8d\u8a3c\u3092\u884c\u3046\u3068\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u98db\u3093\u3067\u304f\u308b
\n
\n
matoken,\r\n\r\nWe detected a login into your account from a new device on 19/09/2018 at 12:28:55 UTC.\r\n\r\nDevice: Unix Console\r\nLocation: Shizuoka, Japan (IP = 180.131.110.140)\r\n\r\nIf this wasn't you, you can go to Settings - Privacy and Security - Sessions and terminate that session.\r\n\r\nIf you think that somebody logged in to your account against your will, you can enable two-step verification in Privacy and Security settings.\r\n\r\nSincerely,\r\nThe Telegram Team
\n
\n
\n
\n
\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u9001\u4fe1\u3057\u3066\u307f\u308b
\n
\n
> msg @matoken hello
\n
\n
\n
\n
telegram-cli \u306e help
\n
\n
$ bin/telegram-cli --help\r\ntelegram-cli Usage\r\n  --phone/-u                           specify username (would not be asked during authorization)\r\n  --rsa-key/-k                         specify location of public key (possible multiple entries)\r\n  --verbosity/-v                       increase verbosity (0-ERROR 1-WARNIN 2-NOTICE 3+-DEBUG-levels)\r\n  --enable-msg-id/-N                   message num mode\r\n  --config/-c                          config file name\r\n  --profile/-p                         use specified profile\r\n  --log-level/-l                       log level\r\n  --sync-from-start/-f                 during authorization fetch all messages since registration\r\n  --disable-auto-accept/-E             disable auto accept of encrypted chats\r\n  --lua-script/-s                      lua script file\r\n  --wait-dialog-list/-W                send dialog_list query and wait for answer before reading input\r\n  --disable-colors/-C                  disable color output\r\n  --disable-readline/-R                disable readline\r\n  --alert/-A                           enable bell notifications\r\n  --daemonize/-d                       daemon mode\r\n  --logname/-L <log-name>              log file name\r\n  --username/-U <user-name>            change uid after start\r\n  --groupname/-G <group-name>          change gid after start\r\n  --disable-output/-D                  disable output\r\n  --tcp-port/-P <port>                 port to listen for input commands\r\n  --udp-socket/-S <socket-name>        unix socket to create\r\n  --exec/-e <commands>                 make commands end exit\r\n  --disable-names/-I                   use user and chat IDs in updates instead of names\r\n  --enable-ipv6/-6                     use ipv6 (may be unstable)\r\n  --help/-h                            prints this help\r\n  --accept-any-tcp                     accepts tcp connections from any src (only loopback by default)\r\n  --disable-link-preview               disables server-side previews to links\r\n  --bot/-b                             bot mode\r\n  --json                               prints answers and values in json format\r\n  --permanent-msg-ids                  use permanent msg ids\r\n  --permanent-peer-ids                 use permanent peer ids
\n
\n
\n
\n
telegram-cli \u8d77\u52d5\u6642\u306ehelp
\n
\n
$ bin/telegram-cli -e help\r\nTelegram-cli version 1.4.1, Copyright (C) 2013-2015 Vitaly Valtman\r\nTelegram-cli comes with ABSOLUTELY NO WARRANTY; for details type `show_license'.\r\nThis is free software, and you are welcome to redistribute it\r\nunder certain conditions; type `show_license' for details.\r\nTelegram-cli uses libtgl version 2.1.0\r\nTelegram-cli includes software developed by the OpenSSL Project\r\nfor use in the OpenSSL Toolkit. (http://www.openssl.org/)\r\nI: config dir=[/home/pi/.telegram-cli]\r\n[33;1maccept_secret_chat <secret chat>  Accepts secret chat. Only useful with -E option\r\nadd_contact <phone> <first name> <last name>    Tries to add user to contact list\r\nblock_user <user>       Blocks user\r\nbroadcast <user>+ <text>        Sends text to several users at once\r\nchannel_get_admins <channel> [limit=100] [offset=0]     Gets channel admins\r\nchannel_get_members <channel> [limit=100] [offset=0]    Gets channel members\r\nchannel_info <channel>  Prints info about channel (id, members, admin, etc.)\r\nchannel_invite <channel> <user> Invites user to channel\r\nchannel_join <channel>  Joins to channel\r\nchannel_kick <channel> <user>   Kicks user from channel\r\nchannel_leave <channel> Leaves from channel\r\nchannel_list [limit=100] [offset=0]     List of last channels\r\nchannel_set_about <channel> <about>     Sets channel about info.\r\nchannel_set_admin <channel> <admin> <type>      Sets channel admin. 0 - not admin, 1 - moderator, 2 - editor\r\nchannel_set_username <channel> <username>       Sets channel username info.\r\nchannel_set_photo <channel> <filename>  Sets channel photo. Photo will be cropped to square\r\nchat_add_user <chat> <user> [msgs-to-forward]   Adds user to chat. Sends him last msgs-to-forward message from this chat. Default 100\r\nchat_del_user <chat> <user>     Deletes user from chat\r\nchat_info <chat>        Prints info about chat (id, members, admin, etc.)\r\nchat_set_photo <chat> <filename>        Sets chat photo. Photo will be cropped to square\r\nchat_upgrade <chat>     Upgrades chat to megagroup\r\nchat_with_peer <peer>   Interface option. All input will be treated as messages to this peer. Type /quit to end this mode\r\nclear   Clears all data and exits. For debug.\r\ncontact_list    Prints contact list\r\ncontact_search username Searches user by username\r\ncreate_channel <name> <about> <user>+   Creates channel with users\r\ncreate_group_chat <name> <user>+        Creates group chat with users\r\ncreate_secret_chat <user>       Starts creation of secret chat\r\ndel_contact <user>      Deletes contact from contact list\r\ndelete_msg <msg-id>     Deletes message\r\ndialog_list [limit=100] [offset=0]      List of last conversations\r\nexport_card     Prints card that can be imported by another user with import_card method\r\nexport_channel_link     Prints channel link that can be used to join to channel\r\nexport_chat_link        Prints chat link that can be used to join to chat\r\nfwd <peer> <msg-id>+    Forwards message to peer. Forward to secret chats is forbidden\r\nfwd_media <peer> <msg-id>       Forwards message media to peer. Forward to secret chats is forbidden. Result slightly differs from fwd\r\nget_terms_of_service    Prints telegram's terms of service\r\nget_message <msg-id>    Get message by id\r\nget_self        Get our user info\r\nhelp [command]  Prints this help\r\nhistory <peer> [limit] [offset] Prints messages with this peer (most recent message lower). Also marks messages as read\r\nimport_card <card>      Gets user by card and prints it name. You can then send messages to him as usual\r\nimport_chat_link <hash> Joins to chat by link\r\nimport_channel_link <hash>      Joins to channel by link\r\nload_audio <msg-id>     Downloads file to downloads dirs. Prints file name after download end\r\nload_channel_photo <channel>    Downloads file to downloads dirs. Prints file name after download end\r\nload_chat_photo <chat>  Downloads file to downloads dirs. Prints file name after download end\r\nload_document <msg-id>  Downloads file to downloads dirs. Prints file name after download end\r\nload_document_thumb <msg-id>    Downloads file to downloads dirs. Prints file name after download end\r\nload_file <msg-id>      Downloads file to downloads dirs. Prints file name after download end\r\nload_file_thumb <msg-id>        Downloads file to downloads dirs. Prints file name after download end\r\nload_photo <msg-id>     Downloads file to downloads dirs. Prints file name after download end\r\nload_user_photo <user>  Downloads file to downloads dirs. Prints file name after download end\r\nload_video <msg-id>     Downloads file to downloads dirs. Prints file name after download end\r\nload_video_thumb <msg-id>       Downloads file to downloads dirs. Prints file name after download end\r\nmain_session    Sends updates to this connection (or terminal). Useful only with listening socket\r\nmark_read <peer>        Marks messages with peer as read\r\nmsg <peer> <text>       Sends text message to peer\r\nmsg <peer> <kbd> <text> Sends text message to peer with custom kbd\r\npost <peer> <text>      Sends text message to peer as admin\r\npost_audio <peer> <file>        Posts audio to peer\r\npost_document <peer> <file>     Posts document to peer\r\npost_file <peer> <file> Sends document to peer\r\npost_location <peer> <latitude> <longitude>     Sends geo location\r\npost_photo <peer> <file>       Sends photo to peer\r\npost_text <peer> <file> Sends contents of text file as plain text message\r\npost_video <peer> <file>       Sends video to peer\r\nquit    Quits immediately\r\nrename_channel <channel> <new name>     Renames channel\r\nrename_chat <chat> <new name>   Renames chat\r\nrename_contact <user> <first name> <last name>  Renames contact\r\nreply <msg-id> <text>   Sends text reply to message\r\nreply_audio <msg-id> <file>     Sends audio to peer\r\nreply_contact <msg-id> <phone> <first-name> <last-name> Sends contact (not necessary telegram user)\r\nreply_document <msg-id> <file>  Sends document to peer\r\nreply_file <msg-id> <file>      Sends document to peer\r\nreply_location <msg-id> <latitude> <longitude>  Sends geo location\r\nreply_photo <msg-id> <file>    Sends photo to peer\r\nreply_video <msg-id> <file>     Sends video to peer\r\nresolve_username username       Searches user by username\r\nsafe_quit       Waits for all queries to end, then quits\r\nsearch [peer] [limit] [from] [to] [offset] pattern      Search for pattern in messages from date from to date to (unixtime) in messages with peer (if peer not\r\npresent, in all messages)\r\nsend_audio <peer> <file>        Sends audio to peer\r\nsend_contact <peer> <phone> <first-name> <last-name>    Sends contact (not necessary telegram user)\r\nsend_document <peer> <file>     Sends document to peer\r\nsend_file <peer> <file> Sends document to peer\r\nsend_location <peer> <latitude> <longitude>     Sends geo location\r\nsend_photo <peer> <file>       Sends photo to peer\r\nsend_text <peer> <file> Sends contents of text file as plain text message\r\nsend_typing <peer> [status]     Sends typing notification. You can supply a custom status (range 0-10): none, typing, cancel, record video, upload video, recor\r\nd audio, upload audio, upload photo, upload document, geo, choose contact.\r\nsend_typing_abort <peer>        Sends typing notification abort\r\nsend_video <peer> <file>       Sends video to peer\r\nset <param> <value>     Sets value of param. Currently available: log_level, debug_verbosity, alarm, msg_num\r\nset_password <hint>     Sets password\r\nset_profile_name <first-name> <last-name>       Sets profile name.\r\nset_profile_photo <filename>    Sets profile photo. Photo will be cropped to square\r\nset_ttl <secret chat>   Sets secret chat ttl. Client itself ignores ttl\r\nset_username <name>     Sets username.\r\nset_phone_number <phone>        Changes the phone number of this account\r\nshow_license    Prints contents of GPL license\r\nstart_bot <bot> <chat> <data>   Adds bot to chat\r\nstats   For debug purpose\r\nstatus_online   Sets status as online\r\nstatus_offline  Sets status as offline\r\nunblock_user <user>     Unblocks user\r\nuser_info <user>        Prints info about user (id, last online, phone)\r\nversion Prints client and library version\r\nview_audio <msg-id>     Downloads file to downloads dirs. Then tries to open it with system default action\r\nview_channel_photo <channel>    Downloads file to downloads dirs. Then tries to open it with system default action\r\nview_chat_photo <chat>  Downloads file to downloads dirs. Then tries to open it with system default action\r\nview_document <msg-id>  Downloads file to downloads dirs. Then tries to open it with system default action\r\nview_document_thumb <msg-id>    Downloads file to downloads dirs. Then tries to open it with system default action\r\nview_file <msg-id>      Downloads file to downloads dirs. Then tries to open it with system default action\r\nview_file_thumb <msg-id>        Downloads file to downloads dirs. Then tries to open it with system default action\r\nview_photo <msg-id>     Downloads file to downloads dirs. Then tries to open it with system default action\r\nview_user_photo <user>  Downloads file to downloads dirs. Then tries to open it with system default action\r\nview_video <msg-id>     Downloads file to downloads dirs. Then tries to open it with system default action\r\nview_video_thumb <msg-id>       Downloads file to downloads dirs. Then tries to open it with system default action\r\nview <msg-id>   Tries to view message contents\r\nvisualize_key <secret chat>     Prints visualization of encryption key (first 16 bytes sha1 of it in fact)\r\n[0mAll done. Exit\r\nhalt
\n
\n
\n
\n

\u5927\u62b5\u306e\u3053\u3068\u306f\u51fa\u6765\u308b\u611f\u3058\u3067\u3059\uff0e

\n
\n
\n
\u8a66\u3057\u305f\u74b0\u58831
\n
\n
$ git log --decorate|head -7\r\ncommit 6547c0b21b977b327b3c5e8142963f4bc246187a (HEAD -> master, origin/master, origin/HEAD)\r\nMerge: 443793d 160231b\r\nAuthor: V V <vvaltman@aurum>\r\nDate:   Wed Mar 23 14:42:53 2016 +0300\r\n\r\n    Merge github.com:vysheng/tg\r\n\r\n$ dpkg-query -W libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev libpython-dev make libssl1.0-dev\r\nlibconfig-dev:armhf     1.5-0.3\r\nlibevent-dev    2.0.21-stable-3\r\nlibjansson-dev:armhf    2.9-1\r\nliblua5.2-dev:armhf     5.2.4-1.1\r\nlibpython-dev:armhf     2.7.13-2\r\nlibreadline-dev:armhf   7.0-3\r\nlibssl-dev\r\nlibssl1.0-dev:armhf     1.0.2l-2+deb9u3\r\nlua5.2  5.2.4-1.1\r\nmake    4.1-9.1\r\n$ lsb_release -d\r\nDescription:    Raspbian GNU/Linux 9.4 (stretch)\r\n$ uname -m\r\narmv7l\r\n$ cat /proc/device-tree/model ;echo\r\nRaspberry Pi 2 Model B Rev 1.1
\n
\n
\n
\n
\u8a66\u3057\u305f\u74b0\u58832
\n
\n
$ git log --decorate|head -7\r\ncommit 6547c0b21b977b327b3c5e8142963f4bc246187a (HEAD -> master, origin/master, origin/HEAD)\r\nMerge: 443793d 160231b\r\nAuthor: V V <vvaltman@aurum>\r\nDate:   Wed Mar 23 14:42:53 2016 +0300\r\n\r\n    Merge github.com:vysheng/tg\r\n\r\n$ dpkg-query -W libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev libpython-dev make libssl1.0-dev\r\nlibconfig-dev:amd64     1.5-0.4\r\nlibevent-dev    2.1.8-stable-4build1\r\nlibjansson-dev:amd64    2.11-1\r\nliblua5.2-dev:amd64     5.2.4-1.1build1\r\nlibpython-dev:amd64     2.7.15~rc1-1\r\nlibreadline-dev:amd64   7.0-3\r\nlibssl-dev\r\nlibssl1.0-dev:amd64     1.0.2n-1ubuntu5.1\r\nlua5.2  5.2.4-1.1build1\r\nmake    4.1-9.1ubuntu1\r\n$ lsb_release -d\r\nDescription:    Ubuntu 18.04.1 LTS\r\n(mk)-(jobs:0)-(~/src/tg)\r\n$ uname -m\r\nx86_64
\n
\n
\n", "content_text": "Arm \u3067\u3082\u52d5\u304f\u304b\u306a?\u3068\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\n\n\n\nvysheng/tg: telegram-cli\n\n\n\n\n\u5fc5\u8981\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u5c0e\u5165\n\n$ sudo apt install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev libpython-dev make libssl1.0-dev\n\n\n\nsource\u3092clone\u3059\u308b\n\n$ git clone --recursive https://github.com/vysheng/tg.git && cd tg\n\n\n\nconfigure & make\n\n$ ./configure\r\n$ make\n\n\n\nbuild error1\n\ntgl/crypto/rsa_pem_openssl.c: In function \u2018TGLC_rsa_new\u2019:\r\ntgl/crypto/rsa_pem_openssl.c:41:6: error: dereferencing pointer to incomplete type \u2018RSA {aka struct rsa_st}\u2019\r\n ret->e = unwrap_bn (TGLC_bn_new ());\r\n ^~\r\ntgl/crypto/rsa_pem_openssl.c: In function \u2018TGLC_rsa_n\u2019:\r\ntgl/crypto/rsa_pem_openssl.c:52:1: error: control reaches end of non-void function [-Werror=return-type]\r\n RSA_GETTER(n);\r\n ^~~~~~~~~~\r\ntgl/crypto/rsa_pem_openssl.c: In function \u2018TGLC_rsa_e\u2019:\r\ntgl/crypto/rsa_pem_openssl.c:53:1: error: control reaches end of non-void function [-Werror=return-type]\r\n RSA_GETTER(e);\r\n ^~~~~~~~~~\r\ncc1: all warnings being treated as errors\r\nMakefile.tgl:20: recipe for target 'objs/crypto/rsa_pem_openssl.o' failed\r\nmake: *** [objs/crypto/rsa_pem_openssl.o] Error 1\n\n\n\nlibssl-dev(1.1.1)\u3067\u306f\u52d5\u4f5c\u3057\u306a\u3044\u306e\u3067libssl1.0-dev\u306b\u5165\u308c\u66ff\u3048\u308b\uff0e sudo apt install libssl1.0-dev\n\n\nbuild error2\n\ngcc -I. -I. -I./tgl -w -I/usr/local/include -I/usr/include -I/usr/include -I/usr/include/lua5.2 -DHAVE_CONFIG_H -Wall -Werror -Wextra -Wno-missing-field-initializers -Wno-deprecated-declarations -fno-strict-aliasing -fno-omit-frame-pointer -ggdb -Wno-unused-parameter -fPIC -iquote ./tgl/tl-parser -c -MP -MD -MF dep/tl-parser.d -MQ objs/tl-parser.o -o objs/tl-parser.o tgl/tl-parser/tl-parser.c\r\ntgl/tl-parser/tl-parser.c:37:10: fatal error: zlib.h: \u305d\u306e\u3088\u3046\u306a\u30d5\u30a1\u30a4\u30eb\u3084\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306f\u3042\u308a\u307e\u305b\u3093\r\n #include <zlib.h>\r\n ^~~~~~~~\r\ncompilation terminated.\r\nmake: *** [Makefile.tl-parser:4: objs/tl-parser.o] \u30a8\u30e9\u30fc 1\n\n\n\nzlib1g-dev \u3092\u5c0e\u5165\u3059\u308b\uff0e sudo apt install zlib1g-dev\n\n\nRaspbian stretch\u3067\u306e\u5b9f\u884c\u6642\u30a8\u30e9\u30fc(32bit\u74b0\u5883\u3067\u306e\u4e0d\u5177\u5408?)\n\n$ bin/telegram-cli\r\nTelegram-cli version 1.4.1, Copyright (C) 2013-2015 Vitaly Valtman\r\nTelegram-cli comes with ABSOLUTELY NO WARRANTY; for details type `show_license'.\r\nThis is free software, and you are welcome to redistribute it\r\nunder certain conditions; type `show_license' for details.\r\nTelegram-cli uses libtgl version 2.1.0\r\nTelegram-cli includes software developed by the OpenSSL Project\r\nfor use in the OpenSSL Toolkit. (http://www.openssl.org/)\r\nI: config dir=[/home/pi/.telegram-cli]\r\n> telegram-cli: tgl/mtproto-utils.c:101: BN2ull: Assertion `0' failed.\r\nSIGNAL received\n\n\n\n\u4ee5\u4e0b\u306e\u4fee\u6b63\u3092\u884c\u3044\uff0c make clean \u3057\u3066 build \u3057\u306a\u304a\u3059\uff0e\n\n\n\n$ diff -ud tgl/mtproto-utils.c.org tgl/mtproto-utils.c\r\n--- tgl/mtproto-utils.c.org 2018-09-19 21:01:44.878560077 +0900\r\n+++ tgl/mtproto-utils.c 2018-09-19 20:59:55.778295550 +0900\r\n@@ -98,13 +98,13 @@\r\n if (sizeof (unsigned long) == 8) {\r\n\t return TGLC_bn_get_word (b);\r\n } else if (sizeof (unsigned long long) == 8) {\r\n- assert (0); // As long as nobody ever uses this code, assume it is broken.\r\n+ assert (0); As long as nobody ever uses this code, assume it is broken.\r\n\t unsigned long long tmp;\r\n\t /* Here be dragons, but it should be okay due to be64toh */\r\n\t TGLC_bn_bn2bin (b, (unsigned char *) &tmp);\r\n\t return be64toh (tmp);\r\n } else {\r\n- assert (0);\r\n+// assert (0);\r\n }\r\n }\n\n\n\n\n$ make clean\r\n$ ./configure\r\n$ make\n\n\n\n\u521d\u56de\u5b9f\u884c\u6642\u306fSMS\u8a8d\u8a3c\u304c\u5fc5\u8981\n\n$ bin/telegram-cli\r\nTelegram-cli version 1.4.1, Copyright (C) 2013-2015 Vitaly Valtman\r\nTelegram-cli comes with ABSOLUTELY NO WARRANTY; for details type `show_license'.\r\nThis is free software, and you are welcome to redistribute it\r\nunder certain conditions; type `show_license' for details.\r\nTelegram-cli uses libtgl version 2.1.0\r\nTelegram-cli includes software developed by the OpenSSL Project\r\nfor use in the OpenSSL Toolkit. (http://www.openssl.org/)\r\nI: config dir=[/home/mk/.telegram-cli]\r\n[/home/mk/.telegram-cli] created\r\n[/home/mk/.telegram-cli/downloads] created\r\nphone number: +81-9000000000\r\ncode ('CALL' for phone code): 16802\r\nUser matoken updated flags\r\nUser matoken online (was online [2018/09/18 23:55:32])\r\nUser matoken offline (was online [2018/09/18 23:50:35])\n\n\n\n\u8a8d\u8a3c\u3092\u884c\u3046\u3068\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u98db\u3093\u3067\u304f\u308b\n\nmatoken,\r\n\r\nWe detected a login into your account from a new device on 19/09/2018 at 12:28:55 UTC.\r\n\r\nDevice: Unix Console\r\nLocation: Shizuoka, Japan (IP = 180.131.110.140)\r\n\r\nIf this wasn't you, you can go to Settings - Privacy and Security - Sessions and terminate that session.\r\n\r\nIf you think that somebody logged in to your account against your will, you can enable two-step verification in Privacy and Security settings.\r\n\r\nSincerely,\r\nThe Telegram Team\n\n\n\n\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u9001\u4fe1\u3057\u3066\u307f\u308b\n\n> msg @matoken hello\n\n\n\ntelegram-cli \u306e help\n\n$ bin/telegram-cli --help\r\ntelegram-cli Usage\r\n --phone/-u specify username (would not be asked during authorization)\r\n --rsa-key/-k specify location of public key (possible multiple entries)\r\n --verbosity/-v increase verbosity (0-ERROR 1-WARNIN 2-NOTICE 3+-DEBUG-levels)\r\n --enable-msg-id/-N message num mode\r\n --config/-c config file name\r\n --profile/-p use specified profile\r\n --log-level/-l log level\r\n --sync-from-start/-f during authorization fetch all messages since registration\r\n --disable-auto-accept/-E disable auto accept of encrypted chats\r\n --lua-script/-s lua script file\r\n --wait-dialog-list/-W send dialog_list query and wait for answer before reading input\r\n --disable-colors/-C disable color output\r\n --disable-readline/-R disable readline\r\n --alert/-A enable bell notifications\r\n --daemonize/-d daemon mode\r\n --logname/-L <log-name> log file name\r\n --username/-U <user-name> change uid after start\r\n --groupname/-G <group-name> change gid after start\r\n --disable-output/-D disable output\r\n --tcp-port/-P <port> port to listen for input commands\r\n --udp-socket/-S <socket-name> unix socket to create\r\n --exec/-e <commands> make commands end exit\r\n --disable-names/-I use user and chat IDs in updates instead of names\r\n --enable-ipv6/-6 use ipv6 (may be unstable)\r\n --help/-h prints this help\r\n --accept-any-tcp accepts tcp connections from any src (only loopback by default)\r\n --disable-link-preview disables server-side previews to links\r\n --bot/-b bot mode\r\n --json prints answers and values in json format\r\n --permanent-msg-ids use permanent msg ids\r\n --permanent-peer-ids use permanent peer ids\n\n\n\ntelegram-cli \u8d77\u52d5\u6642\u306ehelp\n\n$ bin/telegram-cli -e help\r\nTelegram-cli version 1.4.1, Copyright (C) 2013-2015 Vitaly Valtman\r\nTelegram-cli comes with ABSOLUTELY NO WARRANTY; for details type `show_license'.\r\nThis is free software, and you are welcome to redistribute it\r\nunder certain conditions; type `show_license' for details.\r\nTelegram-cli uses libtgl version 2.1.0\r\nTelegram-cli includes software developed by the OpenSSL Project\r\nfor use in the OpenSSL Toolkit. (http://www.openssl.org/)\r\nI: config dir=[/home/pi/.telegram-cli]\r\n[33;1maccept_secret_chat <secret chat> Accepts secret chat. Only useful with -E option\r\nadd_contact <phone> <first name> <last name> Tries to add user to contact list\r\nblock_user <user> Blocks user\r\nbroadcast <user>+ <text> Sends text to several users at once\r\nchannel_get_admins <channel> [limit=100] [offset=0] Gets channel admins\r\nchannel_get_members <channel> [limit=100] [offset=0] Gets channel members\r\nchannel_info <channel> Prints info about channel (id, members, admin, etc.)\r\nchannel_invite <channel> <user> Invites user to channel\r\nchannel_join <channel> Joins to channel\r\nchannel_kick <channel> <user> Kicks user from channel\r\nchannel_leave <channel> Leaves from channel\r\nchannel_list [limit=100] [offset=0] List of last channels\r\nchannel_set_about <channel> <about> Sets channel about info.\r\nchannel_set_admin <channel> <admin> <type> Sets channel admin. 0 - not admin, 1 - moderator, 2 - editor\r\nchannel_set_username <channel> <username> Sets channel username info.\r\nchannel_set_photo <channel> <filename> Sets channel photo. Photo will be cropped to square\r\nchat_add_user <chat> <user> [msgs-to-forward] Adds user to chat. Sends him last msgs-to-forward message from this chat. Default 100\r\nchat_del_user <chat> <user> Deletes user from chat\r\nchat_info <chat> Prints info about chat (id, members, admin, etc.)\r\nchat_set_photo <chat> <filename> Sets chat photo. Photo will be cropped to square\r\nchat_upgrade <chat> Upgrades chat to megagroup\r\nchat_with_peer <peer> Interface option. All input will be treated as messages to this peer. Type /quit to end this mode\r\nclear Clears all data and exits. For debug.\r\ncontact_list Prints contact list\r\ncontact_search username Searches user by username\r\ncreate_channel <name> <about> <user>+ Creates channel with users\r\ncreate_group_chat <name> <user>+ Creates group chat with users\r\ncreate_secret_chat <user> Starts creation of secret chat\r\ndel_contact <user> Deletes contact from contact list\r\ndelete_msg <msg-id> Deletes message\r\ndialog_list [limit=100] [offset=0] List of last conversations\r\nexport_card Prints card that can be imported by another user with import_card method\r\nexport_channel_link Prints channel link that can be used to join to channel\r\nexport_chat_link Prints chat link that can be used to join to chat\r\nfwd <peer> <msg-id>+ Forwards message to peer. Forward to secret chats is forbidden\r\nfwd_media <peer> <msg-id> Forwards message media to peer. Forward to secret chats is forbidden. Result slightly differs from fwd\r\nget_terms_of_service Prints telegram's terms of service\r\nget_message <msg-id> Get message by id\r\nget_self Get our user info\r\nhelp [command] Prints this help\r\nhistory <peer> [limit] [offset] Prints messages with this peer (most recent message lower). Also marks messages as read\r\nimport_card <card> Gets user by card and prints it name. You can then send messages to him as usual\r\nimport_chat_link <hash> Joins to chat by link\r\nimport_channel_link <hash> Joins to channel by link\r\nload_audio <msg-id> Downloads file to downloads dirs. Prints file name after download end\r\nload_channel_photo <channel> Downloads file to downloads dirs. Prints file name after download end\r\nload_chat_photo <chat> Downloads file to downloads dirs. Prints file name after download end\r\nload_document <msg-id> Downloads file to downloads dirs. Prints file name after download end\r\nload_document_thumb <msg-id> Downloads file to downloads dirs. Prints file name after download end\r\nload_file <msg-id> Downloads file to downloads dirs. Prints file name after download end\r\nload_file_thumb <msg-id> Downloads file to downloads dirs. Prints file name after download end\r\nload_photo <msg-id> Downloads file to downloads dirs. Prints file name after download end\r\nload_user_photo <user> Downloads file to downloads dirs. Prints file name after download end\r\nload_video <msg-id> Downloads file to downloads dirs. Prints file name after download end\r\nload_video_thumb <msg-id> Downloads file to downloads dirs. Prints file name after download end\r\nmain_session Sends updates to this connection (or terminal). Useful only with listening socket\r\nmark_read <peer> Marks messages with peer as read\r\nmsg <peer> <text> Sends text message to peer\r\nmsg <peer> <kbd> <text> Sends text message to peer with custom kbd\r\npost <peer> <text> Sends text message to peer as admin\r\npost_audio <peer> <file> Posts audio to peer\r\npost_document <peer> <file> Posts document to peer\r\npost_file <peer> <file> Sends document to peer\r\npost_location <peer> <latitude> <longitude> Sends geo location\r\npost_photo <peer> <file> Sends photo to peer\r\npost_text <peer> <file> Sends contents of text file as plain text message\r\npost_video <peer> <file> Sends video to peer\r\nquit Quits immediately\r\nrename_channel <channel> <new name> Renames channel\r\nrename_chat <chat> <new name> Renames chat\r\nrename_contact <user> <first name> <last name> Renames contact\r\nreply <msg-id> <text> Sends text reply to message\r\nreply_audio <msg-id> <file> Sends audio to peer\r\nreply_contact <msg-id> <phone> <first-name> <last-name> Sends contact (not necessary telegram user)\r\nreply_document <msg-id> <file> Sends document to peer\r\nreply_file <msg-id> <file> Sends document to peer\r\nreply_location <msg-id> <latitude> <longitude> Sends geo location\r\nreply_photo <msg-id> <file> Sends photo to peer\r\nreply_video <msg-id> <file> Sends video to peer\r\nresolve_username username Searches user by username\r\nsafe_quit Waits for all queries to end, then quits\r\nsearch [peer] [limit] [from] [to] [offset] pattern Search for pattern in messages from date from to date to (unixtime) in messages with peer (if peer not\r\npresent, in all messages)\r\nsend_audio <peer> <file> Sends audio to peer\r\nsend_contact <peer> <phone> <first-name> <last-name> Sends contact (not necessary telegram user)\r\nsend_document <peer> <file> Sends document to peer\r\nsend_file <peer> <file> Sends document to peer\r\nsend_location <peer> <latitude> <longitude> Sends geo location\r\nsend_photo <peer> <file> Sends photo to peer\r\nsend_text <peer> <file> Sends contents of text file as plain text message\r\nsend_typing <peer> [status] Sends typing notification. You can supply a custom status (range 0-10): none, typing, cancel, record video, upload video, recor\r\nd audio, upload audio, upload photo, upload document, geo, choose contact.\r\nsend_typing_abort <peer> Sends typing notification abort\r\nsend_video <peer> <file> Sends video to peer\r\nset <param> <value> Sets value of param. Currently available: log_level, debug_verbosity, alarm, msg_num\r\nset_password <hint> Sets password\r\nset_profile_name <first-name> <last-name> Sets profile name.\r\nset_profile_photo <filename> Sets profile photo. Photo will be cropped to square\r\nset_ttl <secret chat> Sets secret chat ttl. Client itself ignores ttl\r\nset_username <name> Sets username.\r\nset_phone_number <phone> Changes the phone number of this account\r\nshow_license Prints contents of GPL license\r\nstart_bot <bot> <chat> <data> Adds bot to chat\r\nstats For debug purpose\r\nstatus_online Sets status as online\r\nstatus_offline Sets status as offline\r\nunblock_user <user> Unblocks user\r\nuser_info <user> Prints info about user (id, last online, phone)\r\nversion Prints client and library version\r\nview_audio <msg-id> Downloads file to downloads dirs. Then tries to open it with system default action\r\nview_channel_photo <channel> Downloads file to downloads dirs. Then tries to open it with system default action\r\nview_chat_photo <chat> Downloads file to downloads dirs. Then tries to open it with system default action\r\nview_document <msg-id> Downloads file to downloads dirs. Then tries to open it with system default action\r\nview_document_thumb <msg-id> Downloads file to downloads dirs. Then tries to open it with system default action\r\nview_file <msg-id> Downloads file to downloads dirs. Then tries to open it with system default action\r\nview_file_thumb <msg-id> Downloads file to downloads dirs. Then tries to open it with system default action\r\nview_photo <msg-id> Downloads file to downloads dirs. Then tries to open it with system default action\r\nview_user_photo <user> Downloads file to downloads dirs. Then tries to open it with system default action\r\nview_video <msg-id> Downloads file to downloads dirs. Then tries to open it with system default action\r\nview_video_thumb <msg-id> Downloads file to downloads dirs. Then tries to open it with system default action\r\nview <msg-id> Tries to view message contents\r\nvisualize_key <secret chat> Prints visualization of encryption key (first 16 bytes sha1 of it in fact)\r\n[0mAll done. Exit\r\nhalt\n\n\n\n\u5927\u62b5\u306e\u3053\u3068\u306f\u51fa\u6765\u308b\u611f\u3058\u3067\u3059\uff0e\n\n\n\u8a66\u3057\u305f\u74b0\u58831\n\n$ git log --decorate|head -7\r\ncommit 6547c0b21b977b327b3c5e8142963f4bc246187a (HEAD -> master, origin/master, origin/HEAD)\r\nMerge: 443793d 160231b\r\nAuthor: V V <vvaltman@aurum>\r\nDate: Wed Mar 23 14:42:53 2016 +0300\r\n\r\n Merge github.com:vysheng/tg\r\n\r\n$ dpkg-query -W libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev libpython-dev make libssl1.0-dev\r\nlibconfig-dev:armhf 1.5-0.3\r\nlibevent-dev 2.0.21-stable-3\r\nlibjansson-dev:armhf 2.9-1\r\nliblua5.2-dev:armhf 5.2.4-1.1\r\nlibpython-dev:armhf 2.7.13-2\r\nlibreadline-dev:armhf 7.0-3\r\nlibssl-dev\r\nlibssl1.0-dev:armhf 1.0.2l-2+deb9u3\r\nlua5.2 5.2.4-1.1\r\nmake 4.1-9.1\r\n$ lsb_release -d\r\nDescription: Raspbian GNU/Linux 9.4 (stretch)\r\n$ uname -m\r\narmv7l\r\n$ cat /proc/device-tree/model ;echo\r\nRaspberry Pi 2 Model B Rev 1.1\n\n\n\n\u8a66\u3057\u305f\u74b0\u58832\n\n$ git log --decorate|head -7\r\ncommit 6547c0b21b977b327b3c5e8142963f4bc246187a (HEAD -> master, origin/master, origin/HEAD)\r\nMerge: 443793d 160231b\r\nAuthor: V V <vvaltman@aurum>\r\nDate: Wed Mar 23 14:42:53 2016 +0300\r\n\r\n Merge github.com:vysheng/tg\r\n\r\n$ dpkg-query -W libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev libpython-dev make libssl1.0-dev\r\nlibconfig-dev:amd64 1.5-0.4\r\nlibevent-dev 2.1.8-stable-4build1\r\nlibjansson-dev:amd64 2.11-1\r\nliblua5.2-dev:amd64 5.2.4-1.1build1\r\nlibpython-dev:amd64 2.7.15~rc1-1\r\nlibreadline-dev:amd64 7.0-3\r\nlibssl-dev\r\nlibssl1.0-dev:amd64 1.0.2n-1ubuntu5.1\r\nlua5.2 5.2.4-1.1build1\r\nmake 4.1-9.1ubuntu1\r\n$ lsb_release -d\r\nDescription: Ubuntu 18.04.1 LTS\r\n(mk)-(jobs:0)-(~/src/tg)\r\n$ uname -m\r\nx86_64", "date_published": "2018-09-19T22:06:57+09:00", "date_modified": "2018-09-19T22:06: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": [ "Bionic Beaver(18.04LTS)", "Raspberry Pi", "Raspbian stretch", "Ubuntu" ] }, { "id": "http://matoken.org/blog/?p=2122", "url": "https://matoken.org/blog/2018/09/18/try-msmtp-of-smtp-client-which-does-not-start-daemon-ssmtp-transfer/", "title": "\u30c7\u30fc\u30e2\u30f3\u306e\u8d77\u52d5\u3057\u306a\u3044SMTP\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e msmtp \u3092\u8a66\u3059(sSMTP\u4e57\u308a\u63db\u3048)", "content_html": "
\n

sSMTP \u304b\u3089 msmtp \u3078

\n
\n
\n

\u73fe\u5728\u30e1\u30fc\u30eb\u3092\u53d7\u3051\u53d6\u3089\u305a\u30e1\u30fc\u30eb\u3092\u9001\u4fe1\u3059\u308b\u3060\u3051\u306e\u30db\u30b9\u30c8\u3067\u306fsSMTP\u3092\u3088\u304f\u4f7f\u3063\u3066\u3044\u307e\u3059\uff0eMTA\u306fexim\u3084Postfix\u7b49\u3067\u3082\u826f\u3044\u306e\u3067\u3059\u304c\uff0c\u30c7\u30fc\u30e2\u30f3\u304c\u8d77\u52d5\u3057\u306a\u3044\u306e\u3067\u305d\u306e\u5206\u30bb\u30ad\u30e5\u30a2\u3067\u8a2d\u5b9a\u3082\u697d\u3067\u3059\uff0e
\n\u3057\u304b\u3057\uff0csSMTP\u306f\u6700\u8fd1\u30e1\u30f3\u30c6\u3055\u308c\u3066\u3044\u307e\u305b\u3093\uff0cDebian \u306a\u3069\u306e\u30c7\u30a3\u30b9\u30c8\u30ea\u30d3\u30e5\u30fc\u30b7\u30e7\u30f3\u3067\u306f\u307e\u3060\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u65b0\u6a5f\u80fd\u304c\u5165\u3063\u305f\u308a\u306f\u3057\u306a\u3044\u3067\u3057\u3087\u3046\uff0e

\n
\n
\n\n
\n
ssmtp is unmaintained. Consider using something like msmtp instead.
\n
\n
\n
\n
\u30d0\u30fc\u30b8\u30e7\u30f3\u3082\u636e\u3048\u7f6e\u304d\u3067Upstream\u3082\u7121\u3055\u305d\u3046
\n
\n
$ w3m -dump https://packages.qa.debian.org/s/ssmtp.html|grep versions -A11\r\nversions ... ...pool\r\n\r\no-o-stable\r\n    save 2.64-7\r\noldstable\r\n    save 2.64-8\r\nstable\r\n    save 2.64-8\r\nunstable\r\n    save 2.64-8\r\nUbuntu\r\n    2.64-8ubuntu2\r\n$ apt show ssmtp 2>/dev/null |grep Homepage\r\nHomepage: http://packages.qa.debian.org/s/ssmtp.html
\n
\n
\n\n
\n

\u305d\u3053\u3067\uff0calternativeto.net \u3067\u6319\u3052\u3089\u308c\u3066\u3044\u308b msmtp \u3092\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

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

\u4ee5\u4e0b\u3067\u306f\u8272\u3005\u8a66\u3057\u3066\u3044\u307e\u3059\u304c\uff0c\u30b7\u30b9\u30c6\u30e0\u30e1\u30fc\u30eb\u3092\u9001\u308b\u3060\u3051\u306a\u3089 msmtp, msmtp-mta pkg \u3092\u5c0e\u5165\uff0c/etc/msmtprc \u306e\u8a2d\u5b9a\u3060\u3051\u3067ok\u3067\u3059\uff0e

\n
\n
\n
\n
\n

msmtp \u306e\u5c0e\u5165

\n
\n
\n

Debian sid/Ubuntu 18.04 LTS \u306a\u3069\u3067\u306f\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u3042\u3063\u305f\u306e\u3067\u3053\u308c\u3092\u5c0e\u5165\u3057\u307e\u3057\u305f\uff0e

\n
\n
\n
\n
$ sudo apt install msmtp
\n
\n
\n
\n
\n
\n

mstp\u306e\u8a2d\u5b9a

\n
\n
\n

\u8a2d\u5b9a\u4f8b\u304c /usr/share/doc/msmtp/examples/ \u4ee5\u4e0b\u306b\u3042\u308b\u306e\u3067
\n\u30b7\u30b9\u30c6\u30e0\u8a2d\u5b9a\u306e\u5834\u5408\u306f msmtprc-system.example \u3092 `/etc/msmtprc \u306bcp\u3057\u3066\u8a2d\u5b9a\uff0e
\n\u30e6\u30fc\u30b6\u8a2d\u5b9a\u306e\u5834\u5408\u306f msmtprc-user.example \u3092 ~/.msmtprc \u306bcp\u3057\u3066\u8a2d\u5b9a\u3059\u308b\uff0e

\n
\n
\n

\u30b7\u30b9\u30c6\u30e0\u3067\u306e\u8a2d\u5b9a\u4f8b

\n
\n

\u4ee5\u4e0b\u306e\u4f8b\u3067\u306f root \u304c\u8aad\u307f\u66f8\u304d\u3067\u304d\u3066\uff0c\u4e00\u822c\u30e6\u30fc\u30b6\u306ematoken\u30a2\u30ab\u30a6\u30f3\u30c8\u306f\u8aad\u307f\u8fbc\u307f\u304c\u53ef\u80fd\u306a\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb /etc/msmtprc \u3092\u4f5c\u6210\u3057\u3066\u3044\u308b\uff0e
\ndefaults \u30bb\u30af\u30b7\u30e7\u30f3\u306b\u5171\u901a\u8a2d\u5b9a\u3092\u66f8\u304d\uff0caccount \u30bb\u30af\u30b7\u30e7\u30f3\u306b\u30e1\u30fc\u30eb\u30b5\u30fc\u30d0\u56fa\u6709\u306e\u8a2d\u5b9a\u3092\u66f8\u304f\uff0eaccount \u30bb\u30af\u30b7\u30e7\u30f3\u306f\u8907\u6570\u66f8\u3051\u3066\uff0caccount default \u306b\u898f\u5b9aaccount \u3092\u6307\u5b9a\u3059\u308b\uff0e\u4ee5\u4e0b\u306e\u4f8b\u3067\u306fgmail \u304c\u898f\u5b9a\u5024\u3068\u306a\u308b\uff0e

\n
\n
\n
/etc/msmtprc \u306e\u4f5c\u6210
\n
\n
$ sudo install /dev/null /etc/msmtprc -o root -g root -m 600\r\n$ sudo setfacl -m u:matoken:r /etc/msmtprc\r\n$ getfacl /etc/msmtprc\r\ngetfacl: Removing leading '/' from absolute path names\r\n# file: etc/msmtprc\r\n# owner: root\r\n# group: root\r\nuser::rw-\r\nuser:matoken:r--\r\ngroup::---\r\nmask::r--\r\nother::---\r\n\r\n$ sudo vi /etc/msmtprc\r\n$ sudo grep -v ^# /etc/msmtprc\r\n\r\ndefaults\r\nsyslog on\r\naliases /etc/aliases\r\n\r\ntls on\r\ntls_trust_file /etc/ssl/certs/ca-certificates.crt\r\nauth on\r\nsyslog LOG_MAIL\r\n\r\naccount gmail\r\nhost smtp.gmail.com\r\nport 587\r\nfrom example@gmail.com\r\nuser example\r\npassword porseypacdoadwif\r\n\r\naccount default : gmail
\n
\n
\n
\n

\u203bgmail\u306e\u591a\u8981\u7d20\u8a8d\u8a3c\u3092\u5229\u7528\u3057\u3066\u3044\u308b\u5834\u5408\u306f\u4ee5\u4e0b\u304b\u3089\u30a2\u30d7\u30ea\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u751f\u6210\u3059\u308b\uff0e(\u4f7f\u3044\u56de\u3057\u304c\u3067\u304d\u3061\u3083\u3046\u3051\u308c\u3069\u6d41\u51fa\u3057\u305f\u3068\u304d\u306e\u5f71\u97ff\u3092\u8003\u3048\u3066\u8a2d\u5b9a\u6bce\u306b\u767a\u884c\u3059\u308b)

\n
\n\n
\n
\n

\u30e6\u30fc\u30b6\u3067\u306e\u8a2d\u5b9a

\n
\n

\u30e6\u30fc\u30b6\u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306f`~/.msmtprc` \u82e5\u3057\u304f\u306f $XDG_CONFIG_HOME/msmtp/config \u3067\u30b7\u30b9\u30c6\u30e0\u3068\u9055\u3044\uff0calias file \u3068 log \u3092\u9069\u5f53\u306a\u30d5\u30a1\u30a4\u30eb\u306b\u3057\u305f\uff0e
\n\u30a2\u30ab\u30a6\u30f3\u30c8\u3082\u5897\u3084\u3057\u3066\u307f\u305f\uff0e
\ngmail\u306e\u30a2\u30d7\u30ea\u30d1\u30b9\u30ef\u30fc\u30c9\u3082\u65b0\u305f\u306b\u767a\u884c\u3057\u305f\uff0e

\n
\n
\n
~/.msmtprc \u306e\u4f5c\u6210
\n
\n
$ install /dev/null ~/.msmtprc -o matoken -g matoken -m 600\r\n$ vi ~/.msmtprc\r\n$ grep -v ^# ~/.msmtprc\r\n\r\ndefaults\r\nlogfile ~/.msmtp.log\r\naliases ~/.msmtp.aliases\r\n\r\ntls on\r\ntls_trust_file /etc/ssl/certs/ca-certificates.crt\r\nauth on\r\nsyslog LOG_MAIL\r\n\r\naccount gmail\r\nhost smtp.gmail.com\r\nport 587\r\nfrom example@gmail.com\r\nuser example\r\npassword igeinleedafchygy\r\n\r\naccount yandex\r\ntls_starttls off\r\nhost smtp.yandex.com\r\nport 465\r\nfrom example@yandex.com\r\nuser example\r\npassword throjfeekdewxeib\r\n\r\naccount nifty\r\ntls_starttls off\r\nhost smtp.nifty.com\r\nport 465\r\nfrom example@nifty.com\r\nuser aaa99999\r\npassword 9Z#9999X\r\n\r\naccount default : gmail
\n
\n
\n
\n
\n

\u9001\u4fe1\u30c6\u30b9\u30c8

\n
\n

msmtp \u30b3\u30de\u30f3\u30c9\u3067\u9001\u4fe1\u30c6\u30b9\u30c8\u304c\u51fa\u6765\u308b\uff0e
\n-a \u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u30a2\u30ab\u30a6\u30f3\u30c8\u304c\u6307\u5b9a\u3067\u304d\u308b\uff0e
\n-C \u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u304c\u6307\u5b9a\u3067\u304d\u308b\uff0e(\u30b7\u30b9\u30c6\u30e0\u3068\u30e6\u30fc\u30b6\u306e\u8a2d\u5b9a\u3092\u4e21\u65b9\u30c6\u30b9\u30c8\u3059\u308b)

\n
\n
\n
\n
$ echo \"hello system msmtp\" | msmtp -C /etc/msmtprc matohara@gmail.com\r\n$ echo \"hello user msmtp\" | msmtp -C ~/.msmtprc -a gmail matohara@gmail.com
\n
\n
\n
\n

\u5927\u62b5\u306eMTA\u3067\u306f . \u3067mail body \u7d42\u4e86\u3068\u306a\u308b\u304c\uff0cmsmtp\u3067\u306f`.`\u306f\u666e\u901a\u306bbody \u306b\u542b\u307e\u308c\u308b\uff0eCtrl + d \u3067\u7d42\u4e86\uff0e

\n
\n
\n
\n
$ msmtp -a gmail matohara@gmail.com\r\nSubject: hello\r\n\r\nmsmtp test\r\n.\r\ndot \u3067\u306f\u7d42\u4e86\u306b\u306a\u3089\u306a\u3044\r\nCtrl+d \u3067\u7d42\u4e86\r\n^d
\n
\n
\n
\n
\n

aliases file

\n
\n

msmtp\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306e alias \u3067\u8a2d\u5b9a\u3067\u304d\u308b\uff0e

\n
\n
\n
\n
$ grep alias ~/.msmtprc\r\naliases ~/.msmtp.alias\r\n$ sudo grep alias /etc/msmtprc\r\naliases /etc/aliases
\n
\n
\n
\n

\u3053\u306ealias file\u306f\u901a\u5e38\u306ealiases \u30d5\u30a1\u30a4\u30eb\u3068\u540c\u3058\u5f62\u5f0f\u306e plain text \u3067 newaliases \u30b3\u30de\u30f3\u30c9\u3067\u306e\u5909\u63db\u306f\u4e0d\u8981\uff0e

\n
\n
\n

\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u306f\u8907\u6570\u6307\u5b9a\u3067\u304d\u308b\uff0edefault \u3068\u3044\u3046\u540d\u524d\u306f\u898f\u5b9a\u30a2\u30c9\u30ec\u30b9\u3068\u306a\u308b\uff0e

\n
\n
\n
\n
root: hoge@example.com, fuga@example.com\r\ndefault: piyo@example.com
\n
\n
\n
\n

\u4ee5\u524d\u306ealiases \u30d5\u30a1\u30a4\u30eb\u3092\u6d41\u7528\u3057\u3066\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3057\u3066\u307f\u305f\u3068\u3053\u308d\uff0c

\n
\n
\n
\n
# /etc/aliases\r\nmailer-daemon: postmaster\r\npostmaster: root\r\nnobody: root\r\nhostmaster: root\r\nusenet: root\r\nnews: root\r\nwebmaster: root\r\nwww: root\r\nftp: root\r\nabuse: root\r\nnoc: root\r\nsecurity: root\r\nroot: matohara@gmail.com\r\ndefault: matohara@gmail.com
\n
\n
\n
\n

\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u30a8\u30e9\u30fc\u3068\u306a\u3063\u305f\uff0ealias\u5148\u306f\u30e6\u30fc\u30b6\u540d\u3067\u306f\u30a8\u30e9\u30fc\u3068\u306a\u308b\u3088\u3046\uff0e

\n
\n
\n
\n
$ echo hello | sudo msmtp -C /etc/msmtprc root\r\nmsmtp: /etc/aliases: line 2: invalid address 'postmaster'
\n
\n
\n
\n

\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u305d\u308c\u305e\u308c\u306b\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u6307\u5b9a\u3059\u308b\u3068\u671f\u5f85\u3057\u305f\u52d5\u4f5c\u3068\u306a\u3063\u305f\uff0e

\n
\n
\n
\n
$ sudo sed -i -e 's/ root$\\| postmaster$/matohara@gmail.com/' /etc/aliases\r\n$ cat /etc/aliases\r\n# /etc/aliases\r\nmailer-daemon:matohara@gmail.com\r\npostmaster:matohara@gmail.com\r\nnobody:matohara@gmail.com\r\nhostmaster:matohara@gmail.com\r\nusenet:matohara@gmail.com\r\nnews:matohara@gmail.com\r\nwebmaster:matohara@gmail.com\r\nwww:matohara@gmail.com\r\nftp:matohara@gmail.com\r\nabuse:matohara@gmail.com\r\nnoc:matohara@gmail.com\r\nsecurity:matohara@gmail.com\r\nroot: matohara@gmail.com\r\ndefault: matohara@gmail.com
\n
\n
\n
\n
\n

\u30d1\u30b9\u30ef\u30fc\u30c9\u3092GnuPG\u6697\u53f7\u5316\u30d5\u30a1\u30a4\u30eb\u306b\u683c\u7d0d\u3057\u3066\u5229\u7528\u3059\u308b

\n
\n

\u30d1\u30b9\u30ef\u30fc\u30c9\u3092gpg\u3067\u6697\u53f7\u5316\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u306b\u683c\u7d0d\u3059\u308b\u3053\u3068\u304c\u53ef\u80fd\uff0e\u3053\u306e\u5834\u5408\u30a2\u30ab\u30a6\u30f3\u30c8\u3054\u3068\u306b\u30d5\u30a1\u30a4\u30eb\u304c\u5fc5\u8981\u306a\u306e\u304c\u5c11\u3057\u9762\u5012\uff0e
\npassword porseypacdoadwif \u306e\u5834\u5408 porseypacdoadwif \u90e8\u5206\u3060\u3051\u3092\u6697\u53f7\u5316\u3057\u3066\u30d5\u30a1\u30a4\u30eb\u306b\u683c\u7d0d\u3059\u308b\uff0e(\u306f\u3058\u3081password \u3082\u542b\u3081\u3066\u3057\u307e\u3044\u5931\u6557\u3057\u305f)

\n
\n
\n
\n
$ grep ^password\\  ~/.msmtprc | head -1 | awk {'print $2'} | gpg2 --default-recipient-self -e - > ~/.msmtp-password-gmail.gpg\r\n$ grep ^password\\  ~/.msmtprc | head -2 | tail -1 | awk {'print $2'} | gpg2 --default-recipient-self -e - > ~/.msmtp-password-yandex.gpg\r\n$ grep ^password\\  ~/.msmtprc | tail -1 | awk {'print $2'} | gpg2 --default-recipient-self -e - > ~/.msmtp-password-nifty.gpg
\n
\n
\n
\n

msmtprc \u306e password \u3092\u524a\u9664\u3057\u3066\uff0c\u4ee3\u308f\u308a\u306b passwordeval gpg2 --no-tty -q -d \u6697\u53f7\u30d5\u30a1\u30a4\u30eb \u3068\u8a2d\u5b9a\u3092\u5909\u66f4\u3059\u308b\uff0e

\n
\n
\n
\n
$ grep ^passworde ~/.msmtprc\r\npasswordeval gpg2 --no-tty -q -d ~/.msmtp-password-gmail.gpg\r\npasswordeval gpg2 --no-tty -q -d ~/.msmtp-password-yandex.gpg\r\npasswordeval gpg2 --no-tty -q -d ~/.msmtp-password-nifty.gpg
\n
\n
\n
\n

\u5f8c\u306f\u3053\u308c\u307e\u3067\u306e\u3088\u3046\u306bmsmtp\u3092\u547c\u3076\u3068gpg-agent\u304c\u8d77\u52d5\u3059\u308b\uff0e

\n
\n
\n

\u203b\u30b7\u30b9\u30c6\u30e0\u5074\u306f\u30b7\u30b9\u30c6\u30e0\u30e1\u30fc\u30eb\u304c\u9001\u308c\u306a\u304f\u306a\u308b\u306e\u3067\u3053\u306e\u8a2d\u5b9a\u3092\u3057\u306a\u3044\u307b\u3046\u304c\u3044\u3044\u3068\u601d\u3046\uff0e

\n
\n
\n
\n

\u30d1\u30b9\u30ef\u30fc\u30c9\u3092openssl\u6697\u53f7\u5316\u30d5\u30a1\u30a4\u30eb\u306b\u683c\u7d0d

\n
\n

\u30b7\u30b9\u30c6\u30e0\u30e1\u30fc\u30eb\u3067gpg agent\u3092\u5229\u7528\u3059\u308b\u306e\u306f\u591a\u5206\u7121\u7406\u306a\u306e\u3067openssl\u3067\u6697\u53f7\u5316\u3057\u3066\u307f\u308b\uff0e\u30d1\u30b9\u30ef\u30fc\u30c9\u306fNIC\u306emac address\u306b\u3057\u3066\u3042\u308b\uff0e\u6c17\u4f11\u3081\u30ec\u30d9\u30eb\u3060\u3051\u3069\u8a66\u3057\u306b\u8a2d\u5b9a\uff0e
\n\u30de\u30b7\u30f3\u304c\u4e57\u3063\u53d6\u3089\u308c\u305f\u5834\u5408\u306f\u3069\u3046\u3057\u3088\u3046\u3082\u306a\u3044\u3051\u308c\u3069 /etc/msmtprc, /etc/msmtp-password \u30d5\u30a1\u30a4\u30eb\u6d41\u51fa\u6642\u306e\u6642\u9593\u7a3c\u304e\u304f\u3089\u3044\u306b\u306f\u306a\u308b?
\nNIC \u304c\u4f7f\u3063\u3066\u3044\u306a\u3044\u3082\u306e\u3082\u542b\u3081\u5897\u6e1b\u3057\u305f\u308a\u5909\u66f4\u306b\u306a\u3063\u305f\u5834\u5408\u306f\u5fa9\u5143\u3067\u304d\u306a\u304f\u306a\u308b\u306e\u3067\u6ce8\u610f\uff0e

\n
\n
\n
mac address \u3092\u30d1\u30b9\u30ef\u30fc\u30c9\u3068\u3057\u3066openssl\u3067\u6697\u53f7\u5316
\n
\n
$ umask 0077; grep ^password\\  /etc/msmtprc | head -1 | awk {'print $2'} | sudo openssl enc -e -md sha256 -aes-256-cbc -a -A -salt -pbkdf2 -in /dev/stdin -out /etc/msmtp-password -pass pass:`hwinfo --network | grep 'Permanent HW Address' | sed 's/^.*: //' | sort -n | tr -d '\\n'`
\n
\n
\n
\n
\u5fa9\u5143\u30c6\u30b9\u30c8
\n
\n
$ sudo openssl enc -d -md sha256 -aes-256-cbc -a -A -salt -pbkdf2 -in /etc/msmtp-password -pass pass:`hwinfo --network | grep 'Permanent HW Address' | sed 's/^.*: //' | sort -n | tr -d '\\n'`\r\nigeinleedafchygy
\n
\n
\n
\n
/etc/msmtprc \u306e password \u3092\u524a\u9664\u3057\u3066 passwordeval \u306b\u66f8\u304d\u63db\u3048
\n
\n
$ grep passworde /etc/msmtprc\r\npasswordeval openssl enc -d -md sha256 -aes-256-cbc -a -A -salt -pbkdf2 -in /etc/msmtp-password -pass pass:`hwinfo --network | grep 'Permanent HW Address' | sed 's/^.*: //' | sort -n | tr -d '\\n'`
\n
\n
\n
\n

\u203bifconfig\u3084iproute2\u3092\u4f7f\u308f\u305ahwinfo\u3092\u4f7f\u3063\u3066Permanent HW Address\u3092\u4f7f\u3063\u3066\u3044\u308b\u306e\u306fmac address\u507d\u88c5\u5bfe\u7b56

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

MTA \u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u5c0e\u5165

\n
\n
\n

msmtp \u30b3\u30de\u30f3\u30c9\u3067\u30e1\u30fc\u30eb\u304c\u9001\u4fe1\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u3089\uff0cmsmtp-mta pkg \u3092\u5c0e\u5165\u3059\u308b\uff0e\u3053\u308c\u3067sendmail\u30b3\u30de\u30f3\u30c9\u306b\u30b7\u30f3\u30dc\u30ea\u30c3\u30af\u30ea\u30f3\u30af\u304c\u5f35\u3089\u308c\u3066\u540c\u69d8\u306b\u5229\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308b\uff0e\u30b7\u30b9\u30c6\u30e0\u30e1\u30fc\u30eb\u3082\u98db\u3076\u3088\u3046\u306b\u306a\u308b\uff0e

\n
\n
\n
\n
$ sudo apt install msmtp-mta\r\n$ ls -l /usr/sbin/sendmail\r\nlrwxrwxrwx 1 root root 12 11\u6708 29  2016 /usr/sbin/sendmail -> ../bin/msmtp
\n
\n
\n
\n
\n
\n

\u30aa\u30d5\u30e9\u30a4\u30f3\u6642\u306bmsmtp\u3092\u5229\u7528\u3059\u308b

\n
\n
\n

msmtp\u306f\u30aa\u30d5\u30e9\u30a4\u30f3\u6642\u306b\u5b9f\u884c\u3059\u308b\u3068\u30a8\u30e9\u30fc\u3068\u306a\u308b\uff0e\u901a\u5e38\u306f\u5e38\u306b\u30aa\u30f3\u30e9\u30a4\u30f3\u306a\u306e\u3067\u554f\u984c\u306f\u306a\u3044\u304c\uff0c\u6301\u3061\u904b\u3073NotePC\u306a\u3069\u3067\u306f\u30aa\u30d5\u30e9\u30a4\u30f3\u30aa\u30f3\u30e9\u30a4\u30f3\u304c\u767a\u751f\u3057\u3066\u30e1\u30fc\u30eb\u306e\u9001\u4fe1\u306b\u5931\u6557\u3059\u308b\u3053\u3068\u304c\u3042\u308b\uff0e

\n
\n
\n
\n
$ echo 'hoge' | msmtp -a gmail matoken@gmail.com\r\nmsmtp: cannot locate host smtp.gmail.com: \u540d\u524d\u307e\u305f\u306f\u30b5\u30fc\u30d3\u30b9\u304c\u4e0d\u660e\u3067\u3059\r\nmsmtp: could not send mail (account gmail from /etc/msmtprc)
\n
\n
\n
\n

/usr/share/doc/msmtp/examples/ \u4ee5\u4e0b\u306e msmtpq \u82e5\u3057\u304f\u306f msmtpqueue \u306b\u683c\u7d0d\u3055\u308c\u3066\u3044\u308bscript\u3092\u5229\u7528\u3059\u308b\u3053\u3068\u3067\u30aa\u30d5\u30e9\u30a4\u30f3\u6642\u306b\u30ad\u30e5\u30fc\u3068\u3057\u3066\u8caf\u3081\u3066\u304a\u3044\u3066\u30aa\u30f3\u30e9\u30a4\u30f3\u6642\u306b\u9001\u4fe1\u3068\u3044\u3063\u305f\u3053\u3068\u304c\u51fa\u6765\u308b\uff0e

\n
\n
\n

\u3069\u3061\u3089\u3082sendmail\u3068\u7f6e\u304d\u63db\u3048\u304c\u53ef\u80fd\u306a\u306e\u3067\uff0c\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30c0\u30a6\u30f3\u6642\u306b`/usr/sbin/sendmail`\u3092\u3053\u308c\u306b\u7f6e\u304d\u63db\u3048\u3066\u30aa\u30f3\u30e9\u30a4\u30f3\u6642\u306b\u623b\u3057\u3066queue\u3092\u30d5\u30e9\u30c3\u30b7\u30e5\u3059\u308b\u3088\u3046\u306b\u3059\u308b\u3068\u3044\u3044\u304b\u3082\u3057\u308c\u306a\u3044\uff0e

\n
\n
\n

Debian/Ubuntu\u306a\u3089\u4ee5\u4e0b\u306e\u3042\u305f\u308a\u3067\uff0c

\n
\n
\n
    \n
  • \n

    /etc/network/if-down.d/
    \n/usr/sbin/sendmail \u3092 msmtpq or msmtpqueue \u306b\u5411\u3051\u308b

    \n
  • \n
  • \n

    /etc/network/if-pre-up.d/
    \n/usr/sbin/sendmail \u3092 msmtp \u306b\u5411\u3051\u308b

    \n
  • \n
  • \n

    /etc/network/if-up.d/
    \nqueue\u3092\u30d5\u30e9\u30c3\u30b7\u30e5

    \n
  • \n
\n
\n
\n

NetworkManager\u3060\u3068 /etc/NetworkManager/dispatcher.d/ \u4ee5\u4e0b\u3067\u540c\u3058\u3053\u3068\u304c\u51fa\u6765\u308b\uff0e

\n
\n
\n

\n
\n
\n

msmtpq

\n
\n
\u5727\u7e2e\u3055\u308c\u3066\u3044\u308bmsmtpq\u3092\u5c55\u958b\u3057\u3066\u5b9f\u884c\u6a29\u3092\u4ed8\u4e0e\u3059\u308b
\n
\n
$ sudo gunzip /usr/share/doc/msmtp/examples/msmtpq/msmtpq.gz\r\n$ sudo chmod 755 /usr/share/doc/msmtp/examples/msmtpq/msmtpq
\n
\n
\n
\n
\u4f7f\u3044\u3084\u3059\u3044\u5834\u6240\u306b\u30b7\u30f3\u30dc\u30ea\u30c3\u30af\u30ea\u30f3\u30af\u3092\u5f35\u308b
\n
\n
$ sudo ln -s /usr/share/doc/msmtp/examples/msmtpq/msmtpq /usr/local/bin/msmtpq\r\n$ sudo ln -s /usr/share/doc/msmtp/examples/msmtpq/msmtp-queue /usr/local/bin/msmtp-queue
\n
\n
\n
\n
queue\u3068log\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210
\n
\n
$ install -d -m 700 ~/.msmtp.queue\r\n$ install -d -m 700 ~/log
\n
\n
\n
\n
\u30aa\u30d5\u30e9\u30a4\u30f3\u6642\u306b\u9001\u4fe1\u3057\u3088\u3046\u3068\u3059\u308b
\n
\n
$ echo 'msmtpq' | msmtpq -C ~/.msmtprc -a gmail matoken@gmail.com\r\n  mail for [ -C /home/matoken/.msmtprc -a gmail matoken@gmail.com ] : couldn't be sent - host not connected\r\n  enqueued mail as : [ 2018-09-18-06.21.48 ] ( -C /home/matoken/.msmtprc -a gmail matoken@gmail.com ) : successful
\n
\n
\n
\n
queue\u3092\u78ba\u8a8d\u3059\u308b
\n
\n
$ msmtp-queue -d\r\n\r\n  mail  num=[ 1 ]  id=[ 2018-09-18-06.21.18 ]\r\n\r\n  mail  num=[ 2 ]  id=[ 2018-09-18-06.21.48 ]
\n
\n
\n
\n
queue\u3092\u30d5\u30e9\u30c3\u30b7\u30e5\u3059\u308b
\n
\n
$ msmtp-queue -r\r\n  mail [ 1 ] [ 2018-09-18-06.21.18 ] from queue ; send was successful ; purged from queue\r\n  mail [ 2 ] [ 2018-09-18-06.21.48 ] from queue ; send was successful ; purged from queue\r\n$ msmtp-queue -d\r\n\r\n  no mail in queue
\n
\n
\n
\n
\n

msmtpqueue

\n
\n
\u4f7f\u3044\u3084\u3059\u3044\u5834\u6240\u306b\u30b7\u30f3\u30dc\u30ea\u30c3\u30af\u30ea\u30f3\u30af\u3092\u5f35\u308b
\n
\n
$ sudo ln -s /usr/share/doc/msmtp/examples/msmtpqueue/msmtp-enqueue.sh /usr/local/bin/msmtp-enqueue.sh\r\n$ sudo ln -s /usr/share/doc/msmtp/examples/msmtpqueue/msmtp-listqueue.sh /usr/local/bin/msmtp-listqueue.sh\r\n~$ sudo ln -s /usr/share/doc/msmtp/examples/msmtpqueue/msmtp-runqueue.sh /usr/local/bin/msmtp-runqueue.sh
\n
\n
\n
\n
`msmtp`\u30b3\u30de\u30f3\u30c9\u306e\u4ee3\u308f\u308a\u306b`msmtp-enqueue.sh`\u3092\u4f7f\u3046
\n
\n
$ echo 'queue' | msmtp-enqueue.sh -C ~/.msmtprc -a gmail matoken@gmail.com
\n
\n
\n
\n
queue\u3092\u78ba\u8a8d\u3059\u308b
\n
\n
$ msmtp-listqueue.sh\r\nNo mail in queue
\n
\n
\n
\n
\u4eca\u56de\u306e\u3088\u3046\u306b\u30e1\u30fc\u30eb\u306e\u5185\u5bb9\u304cbody\u3060\u3051\u3067From, To, Subject \u304c\u5b58\u5728\u3057\u306a\u3044\u3068\u3053\u306escript\u306f\u3046\u307e\u304f\u6a5f\u80fd\u3057\u306a\u3044><
\n
\n
         egrep -s --colour -h '(^From:|^To:|^Subject:)' \"$i\" || echo \"No mail in queue\";
\n
\n
\n
\n
\u76f4\u63a5`~/.msmtpqueue/`\u3092\u78ba\u8a8d\u3059\u308b\u3068queue\u304c\u6e9c\u307e\u3063\u3066\u3044\u308b\u306e\u304c\u308f\u304b\u308b
\n
\n
$ ls -lA ~/.msmtpqueue/\r\n\u5408\u8a08 8\r\n-rw------- 1 matoken matoken  7  9\u6708 18 00:15 2018-09-18-00.15.53.mail\r\n-rw------- 1 matoken matoken 53  9\u6708 18 00:15 2018-09-18-00.15.53.msmtp
\n
\n
\n
\n
Subject\u306e\u4ed8\u3044\u305f\u30e1\u30fc\u30eb\u304c\u3042\u308b\u6642
\n
\n
$ msmtp-listqueue.sh\r\nNo mail in queue\r\n\r\nSubject: offline><
\n
\n
\n
\n
\u30aa\u30f3\u30e9\u30a4\u30f3\u6642\u306bqueue\u3092\u30d5\u30e9\u30c3\u30b7\u30e5\u3059\u308b
\n
\n
$ msmtp-runqueue.sh\r\n*** Sending 2018-09-18-00.15.53.mail to -C /home/matoken/.msmtprc -a gmail matoken@gmail.com ...\r\n2018-09-18-00.15.53.mail sent successfully\r\n*** Sending 2018-09-18-00.27.21.mail to -C /home/matoken/.msmtprc -a gmail matoken@gmail.com ...\r\n2018-09-18-00.27.21.mail sent successfully
\n
\n
\n
\n

\uff03sudo\u306e\u5834\u5408\u3082 ~root/.msmtpqueue/ \u3060\u3063\u305f\uff0e

\n
\n
\n
\n

tips

\n
\n
gmail\u3067\u4ee5\u4e0b\u306e\u30a8\u30e9\u30fc\u3068\u306a\u3063\u305f\u5834\u5408 tls_starttls on ( tls on\u306e\u3068\u304d\u306e\u65e2\u5b9a\u5024? )\u3068\u8a2d\u5b9a\u3059\u308b\u3068\u9001\u4fe1\u3067\u304d\u305f
\n
\n
$ echo \"hello msmtp\" | sudo msmtp -a gmail matohara@gmail.com\r\nmsmtp: envelope from address matohara@gmail.com not accepted by the server\r\nmsmtp: server message: 530 5.7.0 Must issue a STARTTLS command first. k126-v6sm14991126pgk.26 - gsmtp\r\nmsmtp: could not send mail (account gmail from /etc/msmtprc)
\n
\n
\n
\n
Yandex\u3067\u30e1\u30fc\u30eb\u9001\u4fe1\u6642\u306b\u5e30\u3063\u3066\u3053\u306a\u3044\u5834\u5408 tls_starttls off \u3068\u8a2d\u5b9a\u3059\u308b\u3068\u9001\u4fe1\u3067\u304d\u305f
\n
\n
\n
\n
\n
\n
nifty\u3067\u4ee5\u4e0b\u306e\u30a8\u30e9\u30fc\u3068\u306a\u3063\u305f\u5834\u5408 tls_starttls off \u3068\u8a2d\u5b9a\u3059\u308b\u3068\u9001\u4fe1\u3067\u304d\u305f
\n
\n
msmtp: network read error: \u63a5\u7d9a\u304c\u76f8\u624b\u304b\u3089\u30ea\u30bb\u30c3\u30c8\u3055\u308c\u307e\u3057\u305f\r\nmsmtp: could not send mail (account nifty from /etc/msmtprc)
\n
\n
\n
\n
\n
\n
\n

\u8a66\u3057\u305f\u74b0\u5883

\n
\n
\n
\u74b0\u58831(Raspberry Pi 2B/Raspbian stretch)
\n
\n
$ dpkg-query -W msmtp msmtp-mta gnupg2 openssl\r\ngnupg2  2.1.18-8~deb9u2\r\nmsmtp   1.6.6-1\r\nmsmtp-mta       1.6.6-1\r\nopenssl 1.1.0f-3+deb9u2\r\n$ lsb_release -d\r\nDescription:    Raspbian GNU/Linux 9.4 (stretch)\r\n$ uname -m\r\narmv7l
\n
\n
\n
\n
\u74b0\u58832(Ubuntu 18.04 LTS)
\n
\n
$ dpkg-query -W msmtp msmtp-mta gnupg2 openssl\r\ngnupg2  2.2.4-1ubuntu1.1\r\nmsmtp   1.6.6-1\r\nmsmtp-mta       1.6.6-1\r\nopenssl 1.1.0g-2ubuntu4.1\r\n$ lsb_release -d\r\nDescription:    Ubuntu 18.04.1 LTS\r\n$ uname -m\r\nx86_64
\n
\n
\n
\n
\u74b0\u58833(Debian sid)
\n
\n
$ dpkg-query -W msmtp msmtp-mta gnupg2 openssl\r\ngnupg2  2.2.10-1\r\nmsmtp   1.6.7-1\r\nmsmtp-mta\r\nopenssl 1.1.1-1\r\n$ lsb_release -d\r\nDescription:    Debian GNU/Linux unstable (sid)\r\n$ uname -m\r\nx86_64
\n
\n
\n
\n
\n", "content_text": "sSMTP \u304b\u3089 msmtp \u3078\n\n\n\u73fe\u5728\u30e1\u30fc\u30eb\u3092\u53d7\u3051\u53d6\u3089\u305a\u30e1\u30fc\u30eb\u3092\u9001\u4fe1\u3059\u308b\u3060\u3051\u306e\u30db\u30b9\u30c8\u3067\u306fsSMTP\u3092\u3088\u304f\u4f7f\u3063\u3066\u3044\u307e\u3059\uff0eMTA\u306fexim\u3084Postfix\u7b49\u3067\u3082\u826f\u3044\u306e\u3067\u3059\u304c\uff0c\u30c7\u30fc\u30e2\u30f3\u304c\u8d77\u52d5\u3057\u306a\u3044\u306e\u3067\u305d\u306e\u5206\u30bb\u30ad\u30e5\u30a2\u3067\u8a2d\u5b9a\u3082\u697d\u3067\u3059\uff0e\n\u3057\u304b\u3057\uff0csSMTP\u306f\u6700\u8fd1\u30e1\u30f3\u30c6\u3055\u308c\u3066\u3044\u307e\u305b\u3093\uff0cDebian \u306a\u3069\u306e\u30c7\u30a3\u30b9\u30c8\u30ea\u30d3\u30e5\u30fc\u30b7\u30e7\u30f3\u3067\u306f\u307e\u3060\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u65b0\u6a5f\u80fd\u304c\u5165\u3063\u305f\u308a\u306f\u3057\u306a\u3044\u3067\u3057\u3087\u3046\uff0e\n\n\nsSMTP Alternatives and Similar Software – AlternativeTo.net\n\nssmtp is unmaintained. Consider using something like msmtp instead.\n\n\n\n\u30d0\u30fc\u30b8\u30e7\u30f3\u3082\u636e\u3048\u7f6e\u304d\u3067Upstream\u3082\u7121\u3055\u305d\u3046\n\n$ w3m -dump https://packages.qa.debian.org/s/ssmtp.html|grep versions -A11\r\nversions ... ...pool\r\n\r\no-o-stable\r\n save 2.64-7\r\noldstable\r\n save 2.64-8\r\nstable\r\n save 2.64-8\r\nunstable\r\n save 2.64-8\r\nUbuntu\r\n 2.64-8ubuntu2\r\n$ apt show ssmtp 2>/dev/null |grep Homepage\r\nHomepage: http://packages.qa.debian.org/s/ssmtp.html\n\n\n\n\n\nDebian Package Tracking System – ssmtp\n\n\najwans/sSMTP: patches to sSMTP\n\n\n\n\n\u305d\u3053\u3067\uff0calternativeto.net \u3067\u6319\u3052\u3089\u308c\u3066\u3044\u308b msmtp \u3092\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\n\n\n\nmsmtp – about\n\n\n\n\n\u4ee5\u4e0b\u3067\u306f\u8272\u3005\u8a66\u3057\u3066\u3044\u307e\u3059\u304c\uff0c\u30b7\u30b9\u30c6\u30e0\u30e1\u30fc\u30eb\u3092\u9001\u308b\u3060\u3051\u306a\u3089 msmtp, msmtp-mta pkg \u3092\u5c0e\u5165\uff0c/etc/msmtprc \u306e\u8a2d\u5b9a\u3060\u3051\u3067ok\u3067\u3059\uff0e\n\n\n\n\nmsmtp \u306e\u5c0e\u5165\n\n\nDebian sid/Ubuntu 18.04 LTS \u306a\u3069\u3067\u306f\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u3042\u3063\u305f\u306e\u3067\u3053\u308c\u3092\u5c0e\u5165\u3057\u307e\u3057\u305f\uff0e\n\n\n\n$ sudo apt install msmtp\n\n\n\n\n\nmstp\u306e\u8a2d\u5b9a\n\n\n\u8a2d\u5b9a\u4f8b\u304c /usr/share/doc/msmtp/examples/ \u4ee5\u4e0b\u306b\u3042\u308b\u306e\u3067\n\u30b7\u30b9\u30c6\u30e0\u8a2d\u5b9a\u306e\u5834\u5408\u306f msmtprc-system.example \u3092 `/etc/msmtprc \u306bcp\u3057\u3066\u8a2d\u5b9a\uff0e\n\u30e6\u30fc\u30b6\u8a2d\u5b9a\u306e\u5834\u5408\u306f msmtprc-user.example \u3092 ~/.msmtprc \u306bcp\u3057\u3066\u8a2d\u5b9a\u3059\u308b\uff0e\n\n\n\u30b7\u30b9\u30c6\u30e0\u3067\u306e\u8a2d\u5b9a\u4f8b\n\n\u4ee5\u4e0b\u306e\u4f8b\u3067\u306f root \u304c\u8aad\u307f\u66f8\u304d\u3067\u304d\u3066\uff0c\u4e00\u822c\u30e6\u30fc\u30b6\u306ematoken\u30a2\u30ab\u30a6\u30f3\u30c8\u306f\u8aad\u307f\u8fbc\u307f\u304c\u53ef\u80fd\u306a\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb /etc/msmtprc \u3092\u4f5c\u6210\u3057\u3066\u3044\u308b\uff0e\ndefaults \u30bb\u30af\u30b7\u30e7\u30f3\u306b\u5171\u901a\u8a2d\u5b9a\u3092\u66f8\u304d\uff0caccount \u30bb\u30af\u30b7\u30e7\u30f3\u306b\u30e1\u30fc\u30eb\u30b5\u30fc\u30d0\u56fa\u6709\u306e\u8a2d\u5b9a\u3092\u66f8\u304f\uff0eaccount \u30bb\u30af\u30b7\u30e7\u30f3\u306f\u8907\u6570\u66f8\u3051\u3066\uff0caccount default \u306b\u898f\u5b9aaccount \u3092\u6307\u5b9a\u3059\u308b\uff0e\u4ee5\u4e0b\u306e\u4f8b\u3067\u306fgmail \u304c\u898f\u5b9a\u5024\u3068\u306a\u308b\uff0e\n\n\n/etc/msmtprc \u306e\u4f5c\u6210\n\n$ sudo install /dev/null /etc/msmtprc -o root -g root -m 600\r\n$ sudo setfacl -m u:matoken:r /etc/msmtprc\r\n$ getfacl /etc/msmtprc\r\ngetfacl: Removing leading '/' from absolute path names\r\n# file: etc/msmtprc\r\n# owner: root\r\n# group: root\r\nuser::rw-\r\nuser:matoken:r--\r\ngroup::---\r\nmask::r--\r\nother::---\r\n\r\n$ sudo vi /etc/msmtprc\r\n$ sudo grep -v ^# /etc/msmtprc\r\n\r\ndefaults\r\nsyslog on\r\naliases /etc/aliases\r\n\r\ntls on\r\ntls_trust_file /etc/ssl/certs/ca-certificates.crt\r\nauth on\r\nsyslog LOG_MAIL\r\n\r\naccount gmail\r\nhost smtp.gmail.com\r\nport 587\r\nfrom example@gmail.com\r\nuser example\r\npassword porseypacdoadwif\r\n\r\naccount default : gmail\n\n\n\n\u203bgmail\u306e\u591a\u8981\u7d20\u8a8d\u8a3c\u3092\u5229\u7528\u3057\u3066\u3044\u308b\u5834\u5408\u306f\u4ee5\u4e0b\u304b\u3089\u30a2\u30d7\u30ea\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u751f\u6210\u3059\u308b\uff0e(\u4f7f\u3044\u56de\u3057\u304c\u3067\u304d\u3061\u3083\u3046\u3051\u308c\u3069\u6d41\u51fa\u3057\u305f\u3068\u304d\u306e\u5f71\u97ff\u3092\u8003\u3048\u3066\u8a2d\u5b9a\u6bce\u306b\u767a\u884c\u3059\u308b)\n\n\n\n\n\u30a2\u30d7\u30ea \u30d1\u30b9\u30ef\u30fc\u30c9\n\n\n\n\n\n\u30e6\u30fc\u30b6\u3067\u306e\u8a2d\u5b9a\n\n\u30e6\u30fc\u30b6\u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306f`~/.msmtprc` \u82e5\u3057\u304f\u306f $XDG_CONFIG_HOME/msmtp/config \u3067\u30b7\u30b9\u30c6\u30e0\u3068\u9055\u3044\uff0calias file \u3068 log \u3092\u9069\u5f53\u306a\u30d5\u30a1\u30a4\u30eb\u306b\u3057\u305f\uff0e\n\u30a2\u30ab\u30a6\u30f3\u30c8\u3082\u5897\u3084\u3057\u3066\u307f\u305f\uff0e\ngmail\u306e\u30a2\u30d7\u30ea\u30d1\u30b9\u30ef\u30fc\u30c9\u3082\u65b0\u305f\u306b\u767a\u884c\u3057\u305f\uff0e\n\n\n~/.msmtprc \u306e\u4f5c\u6210\n\n$ install /dev/null ~/.msmtprc -o matoken -g matoken -m 600\r\n$ vi ~/.msmtprc\r\n$ grep -v ^# ~/.msmtprc\r\n\r\ndefaults\r\nlogfile ~/.msmtp.log\r\naliases ~/.msmtp.aliases\r\n\r\ntls on\r\ntls_trust_file /etc/ssl/certs/ca-certificates.crt\r\nauth on\r\nsyslog LOG_MAIL\r\n\r\naccount gmail\r\nhost smtp.gmail.com\r\nport 587\r\nfrom example@gmail.com\r\nuser example\r\npassword igeinleedafchygy\r\n\r\naccount yandex\r\ntls_starttls off\r\nhost smtp.yandex.com\r\nport 465\r\nfrom example@yandex.com\r\nuser example\r\npassword throjfeekdewxeib\r\n\r\naccount nifty\r\ntls_starttls off\r\nhost smtp.nifty.com\r\nport 465\r\nfrom example@nifty.com\r\nuser aaa99999\r\npassword 9Z#9999X\r\n\r\naccount default : gmail\n\n\n\n\n\u9001\u4fe1\u30c6\u30b9\u30c8\n\nmsmtp \u30b3\u30de\u30f3\u30c9\u3067\u9001\u4fe1\u30c6\u30b9\u30c8\u304c\u51fa\u6765\u308b\uff0e\n-a \u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u30a2\u30ab\u30a6\u30f3\u30c8\u304c\u6307\u5b9a\u3067\u304d\u308b\uff0e\n-C \u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u304c\u6307\u5b9a\u3067\u304d\u308b\uff0e(\u30b7\u30b9\u30c6\u30e0\u3068\u30e6\u30fc\u30b6\u306e\u8a2d\u5b9a\u3092\u4e21\u65b9\u30c6\u30b9\u30c8\u3059\u308b)\n\n\n\n$ echo \"hello system msmtp\" | msmtp -C /etc/msmtprc matohara@gmail.com\r\n$ echo \"hello user msmtp\" | msmtp -C ~/.msmtprc -a gmail matohara@gmail.com\n\n\n\n\u5927\u62b5\u306eMTA\u3067\u306f . \u3067mail body \u7d42\u4e86\u3068\u306a\u308b\u304c\uff0cmsmtp\u3067\u306f`.`\u306f\u666e\u901a\u306bbody \u306b\u542b\u307e\u308c\u308b\uff0eCtrl + d \u3067\u7d42\u4e86\uff0e\n\n\n\n$ msmtp -a gmail matohara@gmail.com\r\nSubject: hello\r\n\r\nmsmtp test\r\n.\r\ndot \u3067\u306f\u7d42\u4e86\u306b\u306a\u3089\u306a\u3044\r\nCtrl+d \u3067\u7d42\u4e86\r\n^d\n\n\n\n\naliases file\n\nmsmtp\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306e alias \u3067\u8a2d\u5b9a\u3067\u304d\u308b\uff0e\n\n\n\n$ grep alias ~/.msmtprc\r\naliases ~/.msmtp.alias\r\n$ sudo grep alias /etc/msmtprc\r\naliases /etc/aliases\n\n\n\n\u3053\u306ealias file\u306f\u901a\u5e38\u306ealiases \u30d5\u30a1\u30a4\u30eb\u3068\u540c\u3058\u5f62\u5f0f\u306e plain text \u3067 newaliases \u30b3\u30de\u30f3\u30c9\u3067\u306e\u5909\u63db\u306f\u4e0d\u8981\uff0e\n\n\n\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u306f\u8907\u6570\u6307\u5b9a\u3067\u304d\u308b\uff0edefault \u3068\u3044\u3046\u540d\u524d\u306f\u898f\u5b9a\u30a2\u30c9\u30ec\u30b9\u3068\u306a\u308b\uff0e\n\n\n\nroot: hoge@example.com, fuga@example.com\r\ndefault: piyo@example.com\n\n\n\n\u4ee5\u524d\u306ealiases \u30d5\u30a1\u30a4\u30eb\u3092\u6d41\u7528\u3057\u3066\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3057\u3066\u307f\u305f\u3068\u3053\u308d\uff0c\n\n\n\n# /etc/aliases\r\nmailer-daemon: postmaster\r\npostmaster: root\r\nnobody: root\r\nhostmaster: root\r\nusenet: root\r\nnews: root\r\nwebmaster: root\r\nwww: root\r\nftp: root\r\nabuse: root\r\nnoc: root\r\nsecurity: root\r\nroot: matohara@gmail.com\r\ndefault: matohara@gmail.com\n\n\n\n\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u30a8\u30e9\u30fc\u3068\u306a\u3063\u305f\uff0ealias\u5148\u306f\u30e6\u30fc\u30b6\u540d\u3067\u306f\u30a8\u30e9\u30fc\u3068\u306a\u308b\u3088\u3046\uff0e\n\n\n\n$ echo hello | sudo msmtp -C /etc/msmtprc root\r\nmsmtp: /etc/aliases: line 2: invalid address 'postmaster'\n\n\n\n\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u305d\u308c\u305e\u308c\u306b\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u6307\u5b9a\u3059\u308b\u3068\u671f\u5f85\u3057\u305f\u52d5\u4f5c\u3068\u306a\u3063\u305f\uff0e\n\n\n\n$ sudo sed -i -e 's/ root$\\| postmaster$/matohara@gmail.com/' /etc/aliases\r\n$ cat /etc/aliases\r\n# /etc/aliases\r\nmailer-daemon:matohara@gmail.com\r\npostmaster:matohara@gmail.com\r\nnobody:matohara@gmail.com\r\nhostmaster:matohara@gmail.com\r\nusenet:matohara@gmail.com\r\nnews:matohara@gmail.com\r\nwebmaster:matohara@gmail.com\r\nwww:matohara@gmail.com\r\nftp:matohara@gmail.com\r\nabuse:matohara@gmail.com\r\nnoc:matohara@gmail.com\r\nsecurity:matohara@gmail.com\r\nroot: matohara@gmail.com\r\ndefault: matohara@gmail.com\n\n\n\n\n\u30d1\u30b9\u30ef\u30fc\u30c9\u3092GnuPG\u6697\u53f7\u5316\u30d5\u30a1\u30a4\u30eb\u306b\u683c\u7d0d\u3057\u3066\u5229\u7528\u3059\u308b\n\n\u30d1\u30b9\u30ef\u30fc\u30c9\u3092gpg\u3067\u6697\u53f7\u5316\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u306b\u683c\u7d0d\u3059\u308b\u3053\u3068\u304c\u53ef\u80fd\uff0e\u3053\u306e\u5834\u5408\u30a2\u30ab\u30a6\u30f3\u30c8\u3054\u3068\u306b\u30d5\u30a1\u30a4\u30eb\u304c\u5fc5\u8981\u306a\u306e\u304c\u5c11\u3057\u9762\u5012\uff0e\npassword porseypacdoadwif \u306e\u5834\u5408 porseypacdoadwif \u90e8\u5206\u3060\u3051\u3092\u6697\u53f7\u5316\u3057\u3066\u30d5\u30a1\u30a4\u30eb\u306b\u683c\u7d0d\u3059\u308b\uff0e(\u306f\u3058\u3081password \u3082\u542b\u3081\u3066\u3057\u307e\u3044\u5931\u6557\u3057\u305f)\n\n\n\n$ grep ^password\\ ~/.msmtprc | head -1 | awk {'print $2'} | gpg2 --default-recipient-self -e - > ~/.msmtp-password-gmail.gpg\r\n$ grep ^password\\ ~/.msmtprc | head -2 | tail -1 | awk {'print $2'} | gpg2 --default-recipient-self -e - > ~/.msmtp-password-yandex.gpg\r\n$ grep ^password\\ ~/.msmtprc | tail -1 | awk {'print $2'} | gpg2 --default-recipient-self -e - > ~/.msmtp-password-nifty.gpg\n\n\n\nmsmtprc \u306e password \u3092\u524a\u9664\u3057\u3066\uff0c\u4ee3\u308f\u308a\u306b passwordeval gpg2 --no-tty -q -d \u6697\u53f7\u30d5\u30a1\u30a4\u30eb \u3068\u8a2d\u5b9a\u3092\u5909\u66f4\u3059\u308b\uff0e\n\n\n\n$ grep ^passworde ~/.msmtprc\r\npasswordeval gpg2 --no-tty -q -d ~/.msmtp-password-gmail.gpg\r\npasswordeval gpg2 --no-tty -q -d ~/.msmtp-password-yandex.gpg\r\npasswordeval gpg2 --no-tty -q -d ~/.msmtp-password-nifty.gpg\n\n\n\n\u5f8c\u306f\u3053\u308c\u307e\u3067\u306e\u3088\u3046\u306bmsmtp\u3092\u547c\u3076\u3068gpg-agent\u304c\u8d77\u52d5\u3059\u308b\uff0e\n\n\n\u203b\u30b7\u30b9\u30c6\u30e0\u5074\u306f\u30b7\u30b9\u30c6\u30e0\u30e1\u30fc\u30eb\u304c\u9001\u308c\u306a\u304f\u306a\u308b\u306e\u3067\u3053\u306e\u8a2d\u5b9a\u3092\u3057\u306a\u3044\u307b\u3046\u304c\u3044\u3044\u3068\u601d\u3046\uff0e\n\n\n\n\u30d1\u30b9\u30ef\u30fc\u30c9\u3092openssl\u6697\u53f7\u5316\u30d5\u30a1\u30a4\u30eb\u306b\u683c\u7d0d\n\n\u30b7\u30b9\u30c6\u30e0\u30e1\u30fc\u30eb\u3067gpg agent\u3092\u5229\u7528\u3059\u308b\u306e\u306f\u591a\u5206\u7121\u7406\u306a\u306e\u3067openssl\u3067\u6697\u53f7\u5316\u3057\u3066\u307f\u308b\uff0e\u30d1\u30b9\u30ef\u30fc\u30c9\u306fNIC\u306emac address\u306b\u3057\u3066\u3042\u308b\uff0e\u6c17\u4f11\u3081\u30ec\u30d9\u30eb\u3060\u3051\u3069\u8a66\u3057\u306b\u8a2d\u5b9a\uff0e\n\u30de\u30b7\u30f3\u304c\u4e57\u3063\u53d6\u3089\u308c\u305f\u5834\u5408\u306f\u3069\u3046\u3057\u3088\u3046\u3082\u306a\u3044\u3051\u308c\u3069 /etc/msmtprc, /etc/msmtp-password \u30d5\u30a1\u30a4\u30eb\u6d41\u51fa\u6642\u306e\u6642\u9593\u7a3c\u304e\u304f\u3089\u3044\u306b\u306f\u306a\u308b?\nNIC \u304c\u4f7f\u3063\u3066\u3044\u306a\u3044\u3082\u306e\u3082\u542b\u3081\u5897\u6e1b\u3057\u305f\u308a\u5909\u66f4\u306b\u306a\u3063\u305f\u5834\u5408\u306f\u5fa9\u5143\u3067\u304d\u306a\u304f\u306a\u308b\u306e\u3067\u6ce8\u610f\uff0e\n\n\nmac address \u3092\u30d1\u30b9\u30ef\u30fc\u30c9\u3068\u3057\u3066openssl\u3067\u6697\u53f7\u5316\n\n$ umask 0077; grep ^password\\ /etc/msmtprc | head -1 | awk {'print $2'} | sudo openssl enc -e -md sha256 -aes-256-cbc -a -A -salt -pbkdf2 -in /dev/stdin -out /etc/msmtp-password -pass pass:`hwinfo --network | grep 'Permanent HW Address' | sed 's/^.*: //' | sort -n | tr -d '\\n'`\n\n\n\n\u5fa9\u5143\u30c6\u30b9\u30c8\n\n$ sudo openssl enc -d -md sha256 -aes-256-cbc -a -A -salt -pbkdf2 -in /etc/msmtp-password -pass pass:`hwinfo --network | grep 'Permanent HW Address' | sed 's/^.*: //' | sort -n | tr -d '\\n'`\r\nigeinleedafchygy\n\n\n\n/etc/msmtprc \u306e password \u3092\u524a\u9664\u3057\u3066 passwordeval \u306b\u66f8\u304d\u63db\u3048\n\n$ grep passworde /etc/msmtprc\r\npasswordeval openssl enc -d -md sha256 -aes-256-cbc -a -A -salt -pbkdf2 -in /etc/msmtp-password -pass pass:`hwinfo --network | grep 'Permanent HW Address' | sed 's/^.*: //' | sort -n | tr -d '\\n'`\n\n\n\n\u203bifconfig\u3084iproute2\u3092\u4f7f\u308f\u305ahwinfo\u3092\u4f7f\u3063\u3066Permanent HW Address\u3092\u4f7f\u3063\u3066\u3044\u308b\u306e\u306fmac address\u507d\u88c5\u5bfe\u7b56\n\n\n\n\n\nMTA \u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u5c0e\u5165\n\n\nmsmtp \u30b3\u30de\u30f3\u30c9\u3067\u30e1\u30fc\u30eb\u304c\u9001\u4fe1\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u3089\uff0cmsmtp-mta pkg \u3092\u5c0e\u5165\u3059\u308b\uff0e\u3053\u308c\u3067sendmail\u30b3\u30de\u30f3\u30c9\u306b\u30b7\u30f3\u30dc\u30ea\u30c3\u30af\u30ea\u30f3\u30af\u304c\u5f35\u3089\u308c\u3066\u540c\u69d8\u306b\u5229\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308b\uff0e\u30b7\u30b9\u30c6\u30e0\u30e1\u30fc\u30eb\u3082\u98db\u3076\u3088\u3046\u306b\u306a\u308b\uff0e\n\n\n\n$ sudo apt install msmtp-mta\r\n$ ls -l /usr/sbin/sendmail\r\nlrwxrwxrwx 1 root root 12 11\u6708 29 2016 /usr/sbin/sendmail -> ../bin/msmtp\n\n\n\n\n\n\u30aa\u30d5\u30e9\u30a4\u30f3\u6642\u306bmsmtp\u3092\u5229\u7528\u3059\u308b\n\n\nmsmtp\u306f\u30aa\u30d5\u30e9\u30a4\u30f3\u6642\u306b\u5b9f\u884c\u3059\u308b\u3068\u30a8\u30e9\u30fc\u3068\u306a\u308b\uff0e\u901a\u5e38\u306f\u5e38\u306b\u30aa\u30f3\u30e9\u30a4\u30f3\u306a\u306e\u3067\u554f\u984c\u306f\u306a\u3044\u304c\uff0c\u6301\u3061\u904b\u3073NotePC\u306a\u3069\u3067\u306f\u30aa\u30d5\u30e9\u30a4\u30f3\u30aa\u30f3\u30e9\u30a4\u30f3\u304c\u767a\u751f\u3057\u3066\u30e1\u30fc\u30eb\u306e\u9001\u4fe1\u306b\u5931\u6557\u3059\u308b\u3053\u3068\u304c\u3042\u308b\uff0e\n\n\n\n$ echo 'hoge' | msmtp -a gmail matoken@gmail.com\r\nmsmtp: cannot locate host smtp.gmail.com: \u540d\u524d\u307e\u305f\u306f\u30b5\u30fc\u30d3\u30b9\u304c\u4e0d\u660e\u3067\u3059\r\nmsmtp: could not send mail (account gmail from /etc/msmtprc)\n\n\n\n/usr/share/doc/msmtp/examples/ \u4ee5\u4e0b\u306e msmtpq \u82e5\u3057\u304f\u306f msmtpqueue \u306b\u683c\u7d0d\u3055\u308c\u3066\u3044\u308bscript\u3092\u5229\u7528\u3059\u308b\u3053\u3068\u3067\u30aa\u30d5\u30e9\u30a4\u30f3\u6642\u306b\u30ad\u30e5\u30fc\u3068\u3057\u3066\u8caf\u3081\u3066\u304a\u3044\u3066\u30aa\u30f3\u30e9\u30a4\u30f3\u6642\u306b\u9001\u4fe1\u3068\u3044\u3063\u305f\u3053\u3068\u304c\u51fa\u6765\u308b\uff0e\n\n\n\u3069\u3061\u3089\u3082sendmail\u3068\u7f6e\u304d\u63db\u3048\u304c\u53ef\u80fd\u306a\u306e\u3067\uff0c\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30c0\u30a6\u30f3\u6642\u306b`/usr/sbin/sendmail`\u3092\u3053\u308c\u306b\u7f6e\u304d\u63db\u3048\u3066\u30aa\u30f3\u30e9\u30a4\u30f3\u6642\u306b\u623b\u3057\u3066queue\u3092\u30d5\u30e9\u30c3\u30b7\u30e5\u3059\u308b\u3088\u3046\u306b\u3059\u308b\u3068\u3044\u3044\u304b\u3082\u3057\u308c\u306a\u3044\uff0e\n\n\nDebian/Ubuntu\u306a\u3089\u4ee5\u4e0b\u306e\u3042\u305f\u308a\u3067\uff0c\n\n\n\n\n/etc/network/if-down.d/\n/usr/sbin/sendmail \u3092 msmtpq or msmtpqueue \u306b\u5411\u3051\u308b\n\n\n/etc/network/if-pre-up.d/\n/usr/sbin/sendmail \u3092 msmtp \u306b\u5411\u3051\u308b\n\n\n/etc/network/if-up.d/\nqueue\u3092\u30d5\u30e9\u30c3\u30b7\u30e5\n\n\n\n\nNetworkManager\u3060\u3068 /etc/NetworkManager/dispatcher.d/ \u4ee5\u4e0b\u3067\u540c\u3058\u3053\u3068\u304c\u51fa\u6765\u308b\uff0e\n\n\n\n\n\nmsmtpq\n\n\u5727\u7e2e\u3055\u308c\u3066\u3044\u308bmsmtpq\u3092\u5c55\u958b\u3057\u3066\u5b9f\u884c\u6a29\u3092\u4ed8\u4e0e\u3059\u308b\n\n$ sudo gunzip /usr/share/doc/msmtp/examples/msmtpq/msmtpq.gz\r\n$ sudo chmod 755 /usr/share/doc/msmtp/examples/msmtpq/msmtpq\n\n\n\n\u4f7f\u3044\u3084\u3059\u3044\u5834\u6240\u306b\u30b7\u30f3\u30dc\u30ea\u30c3\u30af\u30ea\u30f3\u30af\u3092\u5f35\u308b\n\n$ sudo ln -s /usr/share/doc/msmtp/examples/msmtpq/msmtpq /usr/local/bin/msmtpq\r\n$ sudo ln -s /usr/share/doc/msmtp/examples/msmtpq/msmtp-queue /usr/local/bin/msmtp-queue\n\n\n\nqueue\u3068log\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210\n\n$ install -d -m 700 ~/.msmtp.queue\r\n$ install -d -m 700 ~/log\n\n\n\n\u30aa\u30d5\u30e9\u30a4\u30f3\u6642\u306b\u9001\u4fe1\u3057\u3088\u3046\u3068\u3059\u308b\n\n$ echo 'msmtpq' | msmtpq -C ~/.msmtprc -a gmail matoken@gmail.com\r\n mail for [ -C /home/matoken/.msmtprc -a gmail matoken@gmail.com ] : couldn't be sent - host not connected\r\n enqueued mail as : [ 2018-09-18-06.21.48 ] ( -C /home/matoken/.msmtprc -a gmail matoken@gmail.com ) : successful\n\n\n\nqueue\u3092\u78ba\u8a8d\u3059\u308b\n\n$ msmtp-queue -d\r\n\r\n mail num=[ 1 ] id=[ 2018-09-18-06.21.18 ]\r\n\r\n mail num=[ 2 ] id=[ 2018-09-18-06.21.48 ]\n\n\n\nqueue\u3092\u30d5\u30e9\u30c3\u30b7\u30e5\u3059\u308b\n\n$ msmtp-queue -r\r\n mail [ 1 ] [ 2018-09-18-06.21.18 ] from queue ; send was successful ; purged from queue\r\n mail [ 2 ] [ 2018-09-18-06.21.48 ] from queue ; send was successful ; purged from queue\r\n$ msmtp-queue -d\r\n\r\n no mail in queue\n\n\n\n\nmsmtpqueue\n\n\u4f7f\u3044\u3084\u3059\u3044\u5834\u6240\u306b\u30b7\u30f3\u30dc\u30ea\u30c3\u30af\u30ea\u30f3\u30af\u3092\u5f35\u308b\n\n$ sudo ln -s /usr/share/doc/msmtp/examples/msmtpqueue/msmtp-enqueue.sh /usr/local/bin/msmtp-enqueue.sh\r\n$ sudo ln -s /usr/share/doc/msmtp/examples/msmtpqueue/msmtp-listqueue.sh /usr/local/bin/msmtp-listqueue.sh\r\n~$ sudo ln -s /usr/share/doc/msmtp/examples/msmtpqueue/msmtp-runqueue.sh /usr/local/bin/msmtp-runqueue.sh\n\n\n\n`msmtp`\u30b3\u30de\u30f3\u30c9\u306e\u4ee3\u308f\u308a\u306b`msmtp-enqueue.sh`\u3092\u4f7f\u3046\n\n$ echo 'queue' | msmtp-enqueue.sh -C ~/.msmtprc -a gmail matoken@gmail.com\n\n\n\nqueue\u3092\u78ba\u8a8d\u3059\u308b\n\n$ msmtp-listqueue.sh\r\nNo mail in queue\n\n\n\n\u4eca\u56de\u306e\u3088\u3046\u306b\u30e1\u30fc\u30eb\u306e\u5185\u5bb9\u304cbody\u3060\u3051\u3067From, To, Subject \u304c\u5b58\u5728\u3057\u306a\u3044\u3068\u3053\u306escript\u306f\u3046\u307e\u304f\u6a5f\u80fd\u3057\u306a\u3044><\n\n egrep -s --colour -h '(^From:|^To:|^Subject:)' \"$i\" || echo \"No mail in queue\";\n\n\n\n\u76f4\u63a5`~/.msmtpqueue/`\u3092\u78ba\u8a8d\u3059\u308b\u3068queue\u304c\u6e9c\u307e\u3063\u3066\u3044\u308b\u306e\u304c\u308f\u304b\u308b\n\n$ ls -lA ~/.msmtpqueue/\r\n\u5408\u8a08 8\r\n-rw------- 1 matoken matoken 7 9\u6708 18 00:15 2018-09-18-00.15.53.mail\r\n-rw------- 1 matoken matoken 53 9\u6708 18 00:15 2018-09-18-00.15.53.msmtp\n\n\n\nSubject\u306e\u4ed8\u3044\u305f\u30e1\u30fc\u30eb\u304c\u3042\u308b\u6642\n\n$ msmtp-listqueue.sh\r\nNo mail in queue\r\n\r\nSubject: offline><\n\n\n\n\u30aa\u30f3\u30e9\u30a4\u30f3\u6642\u306bqueue\u3092\u30d5\u30e9\u30c3\u30b7\u30e5\u3059\u308b\n\n$ msmtp-runqueue.sh\r\n*** Sending 2018-09-18-00.15.53.mail to -C /home/matoken/.msmtprc -a gmail matoken@gmail.com ...\r\n2018-09-18-00.15.53.mail sent successfully\r\n*** Sending 2018-09-18-00.27.21.mail to -C /home/matoken/.msmtprc -a gmail matoken@gmail.com ...\r\n2018-09-18-00.27.21.mail sent successfully\n\n\n\n\uff03sudo\u306e\u5834\u5408\u3082 ~root/.msmtpqueue/ \u3060\u3063\u305f\uff0e\n\n\n\ntips\n\ngmail\u3067\u4ee5\u4e0b\u306e\u30a8\u30e9\u30fc\u3068\u306a\u3063\u305f\u5834\u5408 tls_starttls on ( tls on\u306e\u3068\u304d\u306e\u65e2\u5b9a\u5024? )\u3068\u8a2d\u5b9a\u3059\u308b\u3068\u9001\u4fe1\u3067\u304d\u305f\n\n$ echo \"hello msmtp\" | sudo msmtp -a gmail matohara@gmail.com\r\nmsmtp: envelope from address matohara@gmail.com not accepted by the server\r\nmsmtp: server message: 530 5.7.0 Must issue a STARTTLS command first. k126-v6sm14991126pgk.26 - gsmtp\r\nmsmtp: could not send mail (account gmail from /etc/msmtprc)\n\n\n\nYandex\u3067\u30e1\u30fc\u30eb\u9001\u4fe1\u6642\u306b\u5e30\u3063\u3066\u3053\u306a\u3044\u5834\u5408 tls_starttls off \u3068\u8a2d\u5b9a\u3059\u308b\u3068\u9001\u4fe1\u3067\u304d\u305f\n\n\n\n\n\nnifty\u3067\u4ee5\u4e0b\u306e\u30a8\u30e9\u30fc\u3068\u306a\u3063\u305f\u5834\u5408 tls_starttls off \u3068\u8a2d\u5b9a\u3059\u308b\u3068\u9001\u4fe1\u3067\u304d\u305f\n\nmsmtp: network read error: \u63a5\u7d9a\u304c\u76f8\u624b\u304b\u3089\u30ea\u30bb\u30c3\u30c8\u3055\u308c\u307e\u3057\u305f\r\nmsmtp: could not send mail (account nifty from /etc/msmtprc)\n\n\n\n\n\n\n\u8a66\u3057\u305f\u74b0\u5883\n\n\n\u74b0\u58831(Raspberry Pi 2B/Raspbian stretch)\n\n$ dpkg-query -W msmtp msmtp-mta gnupg2 openssl\r\ngnupg2 2.1.18-8~deb9u2\r\nmsmtp 1.6.6-1\r\nmsmtp-mta 1.6.6-1\r\nopenssl 1.1.0f-3+deb9u2\r\n$ lsb_release -d\r\nDescription: Raspbian GNU/Linux 9.4 (stretch)\r\n$ uname -m\r\narmv7l\n\n\n\n\u74b0\u58832(Ubuntu 18.04 LTS)\n\n$ dpkg-query -W msmtp msmtp-mta gnupg2 openssl\r\ngnupg2 2.2.4-1ubuntu1.1\r\nmsmtp 1.6.6-1\r\nmsmtp-mta 1.6.6-1\r\nopenssl 1.1.0g-2ubuntu4.1\r\n$ lsb_release -d\r\nDescription: Ubuntu 18.04.1 LTS\r\n$ uname -m\r\nx86_64\n\n\n\n\u74b0\u58833(Debian sid)\n\n$ dpkg-query -W msmtp msmtp-mta gnupg2 openssl\r\ngnupg2 2.2.10-1\r\nmsmtp 1.6.7-1\r\nmsmtp-mta\r\nopenssl 1.1.1-1\r\n$ lsb_release -d\r\nDescription: Debian GNU/Linux unstable (sid)\r\n$ uname -m\r\nx86_64", "date_published": "2018-09-18T07:04:56+09:00", "date_modified": "2018-09-25T10:34:46+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": [ "mail", "msmtp", "SMTP", "sSMTP", "Bionic Beaver(18.04LTS)", "Debian", "Linux", "Rasbian_stretch", "Raspberry Pi", "Raspbian stretch", "sid", "Ubuntu" ] }, { "id": "http://matoken.org/blog/?p=2036", "url": "https://matoken.org/blog/2018/08/23/failure-to-try-html-5-version-kankore-at-raspberry-pi/", "title": "Raspberry Pi \u3067HTML5\u7248\u300c\u8266\u3053\u308c\u300d\u3092\u8a66\u3059\u3082\u5931\u6557", "content_html": "
\n
\n
\n

\u5148\u65e5\u300c\u8266\u3053\u308c\u300d\u304cHTML5\u306b\u306a\u3063\u305f\u3068\u805e\u3044\u3066\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\u78ba\u304b\u306badobe Flash\u306e\u5c0e\u5165\u3055\u308c\u3066\u3044\u306a\u3044Linux\u7aef\u672b\u3067\u3082\u554f\u984c\u306a\u304f\u52d5\u4f5c\u3057\u307e\u3059\uff0e

\n

\"kankore\n

\n
\n\n
\n

\u63d0\u7763\u306e\u7686\u3055\u3093\u3001\u300c\u8266\u3053\u308c\u300d\u7a3c\u50cd\u5168\u30b5\u30fc\u30d0\u7fa4\u9577\u6642\u9593\uff06\u5927\u898f\u6a21\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u3078\u306e\u3054\u5354\u529b\u3001\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3057\u305f\uff01
\u73fe\u5728\u300c\u8266\u3053\u308c\u300d\u306fHTML5\u30d9\u30fc\u30b9\u306b\u63db\u88c5\u3001\u7b2c\u4e8c\u671f(HTML5)\u3010Block-1\u3011\u3068\u3057\u3066\u7a3c\u50cd\u4e2d\u3067\u3059\u3002HTML5\u306b\u5bfe\u5fdc\u3057\u305fWindows\u53ca\u3073Mac OS\u306e\u30d6\u30e9\u30a6\u30b6\u74b0\u5883\u3067\u3001\u30d7\u30ec\u30a4\u9802\u3051\u307e\u3059\u3002#\u8266\u3053\u308c

\n

— \u300c\u8266\u3053\u308c\u300d\u958b\u767a/\u904b\u55b6 (@KanColle_STAFF) 2018\u5e748\u670818\u65e5

\n

\n
\n

\u300c\u8266\u3053\u308c\u300d\u7b2c\u4e8c\u671f(HTML5)\u3010Block-1\u3011\u3001\u63a8\u5968\u74b0\u5883\u3067\u3059\u3002
\u25bcWindows\u74b0\u5883
\u3010Windows 8\u4ee5\u964d\u3011Google Chrome / Mozilla Firefox / Microsoft Edge
(\u203bEdge\u3067\u52d5\u4f5c\u304c\u4e0d\u5b89\u5b9a\u306a\u5834\u5408\u306f\u524d\u8a18\u30d6\u30e9\u30a6\u30b6\u3082\u304a\u8a66\u3057\u304f\u3060\u3055\u3044)
\u25bcMac OS\u74b0\u5883
\u3010Mac OSX 10.11\u4ee5\u964d\u3011Google Chrome / Mozilla Firefox / Safari11\u4ee5\u4e0a#\u8266\u3053\u308c

\n

— \u300c\u8266\u3053\u308c\u300d\u958b\u767a/\u904b\u55b6 (@KanColle_STAFF) 2018\u5e748\u670818\u65e5

\n

\n
\n

\u3082\u3061\u308d\u3093\u3010HTML5\u3011\u304c\u5b89\u5b9a\u52d5\u4f5c\u3059\u308c\u3070\u3001Linux\u74b0\u5883\u3084\u5404\u7a2e\u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3\u74b0\u5883\u542b\u3080\u69d8\u3005\u306a\u74b0\u5883\u4e0b\u3067\u7a3c\u50cd\u53ef\u80fd\u3067\u3059\u3002\u203b\u305f\u3060\u3057\u3001\u74b0\u5883\u306b\u3088\u3063\u3066\u306f\u97f3\u304c\u3067\u306a\u3044\u3001\u4e00\u90e8\u64cd\u4f5c\u304c\u6a5f\u80fd\u3057\u306a\u3044\u7b49\u306e\u30b1\u30fc\u30b9\u304c\u3042\u308a\u307e\u3059\u3002\u5927\u5909\u6050\u7e2e\u3067\u3059\u3001\u4e88\u3081\u3054\u4e86\u627f\u9802\u3051\u307e\u3059\u3088\u3046\u304a\u9858\u3044\u7533\u3057\u4e0a\u3052\u307e\u3059\u3002#\u8266\u3053\u308c

\n

— \u300c\u8266\u3053\u308c\u300d\u958b\u767a/\u904b\u55b6 (@KanColle_STAFF) 2018\u5e748\u670818\u65e5

\n

\n
\n

Linux\u3082\u8a00\u53ca\u3055\u308c\u3066\u3044\u307e\u3059\u306d\uff0e
\n\u3068\u3044\u3046\u3053\u3068\u306farm\u3084\u306a\u306b\u3084\u3067\u3082\u52d5\u4f5c\u3059\u308b\u306f\u305a\u3063\u3066\u3053\u3068\u3067\u307e\u305a\u306fRaspberry Pi 2 B \u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\u7d50\u679c\u304b\u3089\u8a00\u3046\u3068\u5931\u6557\u3057\u307e\u3057\u305f\uff0e

\n
\n
\n
\n

\u74b0\u5883

\n
\n
\n

\u8a66\u3057\u305f\u74b0\u5883\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u3059\uff0e

\n
\n
\n
    \n
  • \n

    board : Raspberry Pi 2 B

    \n
  • \n
  • \n

    OS : RASPBIAN STRETCH WITH DESKTOP 2018-06-27

    \n
  • \n
  • \n

    SoC : BCM2837

    \n
  • \n
  • \n

    CPU : ARMv7

    \n
  • \n
  • \n

    RAM : 1GB

    \n
  • \n
  • \n

    WebBrowser : Chromium 65.0.3325.181-0+rpt4

    \n
  • \n
\n
\n
\n

RASPBIAN STRETCH WITH DESKTOP 2018-06-27 \u3092\u5c0e\u5165\u3057\u3066\uff0csystem \u3092 apt update && apt upgrade \u3057\u305f\u72b6\u614b\u3067\u3059\uff0e\u3042\u3068\u306f\u65e2\u5b9a\u5024\u306e\u307e\u307e\u3067\uff0c\u30a6\u30a7\u30d6\u30d6\u30e9\u30a6\u30b6\u306f Chromium\uff0c\u64cd\u4f5c\u306fVNC\u7d4c\u7531\u3067\u884c\u3044\u307e\u3057\u305f\uff0e
\n\u89e3\u50cf\u5ea6\u304c\u5927\u5206\u4e0a\u304c\u3063\u3066\u3044\u307e\u3059\uff0e\u3068\u308a\u3042\u3048\u305a F11 \u3067\u30d5\u30eb\u30b9\u30af\u30ea\u30fc\u30f3\u8868\u793a\u306b\u3057\u3066\uff0c Ctrl + – \u3067\u753b\u9762\u3092\u7e2e\u5c0f\u3057\u3066\u307f\u307e\u3057\u305f\uff0e
\n\u30ed\u30b0\u30a4\u30f3\u3057\u3066\u30b9\u30af\u30ea\u30fc\u30f3\u304c\u9ed2\u304f\u5857\u308a\u3064\u3076\u3055\u308c\u308b\u307e\u3067\u6570\u5206\uff0c\u300cWeigh Anchor! Download Now\u2026\u300d\u306e\u8868\u793a\u306e\u30d7\u30ed\u30b0\u30ec\u30b9\u753b\u9762\u3067\u3059\u3054\u304f\u6642\u9593\u304c\u304b\u304b\u308a\u307e\u3059\uff0e20\u5206\u4ee5\u4e0a\u7d4c\u3063\u3066\u304b\u3089\u30a8\u30e9\u30fc\u753b\u9762(\u6240\u8b02\u732b\u3063\u305f\u72b6\u614b)\u306b\u306a\u308a\u307e\u3059\uff0e
\n3\u56de\u8a66\u3057\u3066\u6bce\u56de\u30d7\u30ed\u30b0\u30ec\u30b9\u30d0\u30fc\u304c8\u5272\u307b\u3069\u306e\u3068\u3053\u308d\u3067\u30b3\u30b1\u307e\u3059\uff0e
\n\u30b7\u30b9\u30c6\u30e0\u306e\u72b6\u614b\u3092\u898b\u3066\u3044\u308b\u3068\uff0c\u9ed2\u3044\u753b\u9762\u306e\u9803\u304b\u3089\u305a\u3063\u3068CPU\u304c100%\u3067\u5f35\u308a\u4ed8\u3044\u305f\u307e\u307e\u3067\u3059\uff0eRAM\u306b\u306f\u4f59\u88d5\u304c\u3042\u308a\u307e\u3059\uff0e\u6050\u3089\u304f\u30b2\u30fc\u30e0\u30c7\u30fc\u30bf\u3092\u30ed\u30fc\u30ab\u30eb\u306b\u30b3\u30d4\u30fc\u3057\u3066\u5c55\u958b\u306a\u3069\u306e\u51e6\u7406\u3067CPU\u3092\u4f7f\u3044\u5207\u3063\u3066\u306a\u304b\u306a\u304b\u51e6\u7406\u304c\u7d42\u308f\u3089\u305a\u30bf\u30a4\u96e8\u30a2\u30a6\u30c8\u3057\u3066\u3044\u308b\u306e\u3067\u306f\u306a\u3044\u304b\u3068\u601d\u3044\u307e\u3059\uff0e
\nCPU\u304c\u30dc\u30c8\u30eb\u30cd\u30c3\u30af\u306e\u3088\u3046\u306a\u306e\u3067\u30af\u30ed\u30c3\u30af\u3092\u30aa\u30fc\u30d0\u30fc\u30af\u30ed\u30c3\u30af\u3057\u3066\u307f\u307e\u3057\u305f\u304c\u4f53\u611f\u901f\u5ea6\u306f\u5909\u308f\u3089\u305a\u3084\u306f\u308a\u30a8\u30e9\u30fc\u3068\u306a\u308a\u307e\u3059\uff0e2\u56de\u8a66\u3057\u3066\u3082\u540c\u3058\u3088\u3046\u306b\u5931\u6557\u3057\u3066\u99c4\u76ee\u3067\u3057\u305f\uff0e

\n
\n
\n

\u3068\u3044\u3046\u3053\u3068\u3067Raspberry Pi 2 B \u3067\u8266\u3053\u308c\u306f\u4eca\u306e\u3068\u3053\u308d\u7121\u7406\u305d\u3046\u3067\u3059\uff0e\u3057\u3070\u3089\u304f\u5f85\u3063\u3066\u8266\u3053\u308c\u81ea\u4f53\u306e\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u304c\u9032\u3093\u3060\u308a\uff0cCPU\u306e\u5f37\u5316\u3055\u308c\u3066\u3044\u308b Raspberry Pi 2 B v1.2(BCM2837)\u4ee5\u964d\u306a\u3089\u52d5\u304f\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e\u6301\u3063\u3066\u3044\u308b\u4eba\u306b\u306f\u305c\u3072\u8a66\u3057\u3066\u7d50\u679c\u3092\u6559\u3048\u3066\u307b\u3057\u3044\u3067\u3059\uff0e

\n

\uff03\u3061\u306a\u307f\u306b\u8a66\u3059\u306e\u306b\u4e00\u56de\u3042\u305f\u308a30\u5206\u307b\u3069\u304b\u304b\u3063\u3066\u3044\u308b\u306e\u3067\u52d5\u3044\u305f\u3068\u3057\u3066\u3082\u3042\u307e\u308a\u73fe\u5b9f\u7684\u3067\u306f\u306a\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u2026\u2026\uff0e\u3069\u3046\u3057\u3066\u3082\u3084\u308a\u305f\u3044\u306a\u3089\u6bcd\u8266\u306e\u753b\u9762\u3092\u8ee2\u9001\u3057\u305f\u307b\u3046\u304c\u826f\u3055\u305d\u3046\uff0e

\n
\n

\"192.168.2.211\"\u7bc4\u56f2\u3092\u9078\u629e_048\"/\"192.168.2.211

\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

SoC

\n
\n

cpu clock

\n
\n

RAM

\n
\n

Pi

\n
\n

BCM2836

\n
\n

4 x 900Mhz

\n
\n

1GB

\n
\n

2B

\n
\n

BCM2837

\n
\n

4 x 900MHz

\n
\n

1GB

\n
\n

2B v1.2

\n
\n

BCM2837

\n
\n

4 x 1.2GHz

\n
\n

1GB

\n
\n

3B

\n
\n

BCM2837B0

\n
\n

4 x 1.4GHz

\n
\n

1GB

\n
\n

3B+

\n
\n

\n

\n
\n
\n
\n", "content_text": "\u5148\u65e5\u300c\u8266\u3053\u308c\u300d\u304cHTML5\u306b\u306a\u3063\u305f\u3068\u805e\u3044\u3066\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\u78ba\u304b\u306badobe Flash\u306e\u5c0e\u5165\u3055\u308c\u3066\u3044\u306a\u3044Linux\u7aef\u672b\u3067\u3082\u554f\u984c\u306a\u304f\u52d5\u4f5c\u3057\u307e\u3059\uff0e\n\n\n\n\n\n\u300c\u8266\u968a\u3053\u308c\u304f\u3057\u3087\u3093-\u8266\u3053\u308c-\u300d DMM GAMES\u516c\u5f0f\u30da\u30fc\u30b8\n\n\n\n\u63d0\u7763\u306e\u7686\u3055\u3093\u3001\u300c\u8266\u3053\u308c\u300d\u7a3c\u50cd\u5168\u30b5\u30fc\u30d0\u7fa4\u9577\u6642\u9593\uff06\u5927\u898f\u6a21\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u3078\u306e\u3054\u5354\u529b\u3001\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3057\u305f\uff01\u73fe\u5728\u300c\u8266\u3053\u308c\u300d\u306fHTML5\u30d9\u30fc\u30b9\u306b\u63db\u88c5\u3001\u7b2c\u4e8c\u671f(HTML5)\u3010Block-1\u3011\u3068\u3057\u3066\u7a3c\u50cd\u4e2d\u3067\u3059\u3002HTML5\u306b\u5bfe\u5fdc\u3057\u305fWindows\u53ca\u3073Mac OS\u306e\u30d6\u30e9\u30a6\u30b6\u74b0\u5883\u3067\u3001\u30d7\u30ec\u30a4\u9802\u3051\u307e\u3059\u3002#\u8266\u3053\u308c\n— \u300c\u8266\u3053\u308c\u300d\u958b\u767a/\u904b\u55b6 (@KanColle_STAFF) 2018\u5e748\u670818\u65e5\n\n\n\u300c\u8266\u3053\u308c\u300d\u7b2c\u4e8c\u671f(HTML5)\u3010Block-1\u3011\u3001\u63a8\u5968\u74b0\u5883\u3067\u3059\u3002\u25bcWindows\u74b0\u5883\u3010Windows 8\u4ee5\u964d\u3011Google Chrome / Mozilla Firefox / Microsoft Edge(\u203bEdge\u3067\u52d5\u4f5c\u304c\u4e0d\u5b89\u5b9a\u306a\u5834\u5408\u306f\u524d\u8a18\u30d6\u30e9\u30a6\u30b6\u3082\u304a\u8a66\u3057\u304f\u3060\u3055\u3044)\u25bcMac OS\u74b0\u5883\u3010Mac OSX 10.11\u4ee5\u964d\u3011Google Chrome / Mozilla Firefox / Safari11\u4ee5\u4e0a#\u8266\u3053\u308c\n— \u300c\u8266\u3053\u308c\u300d\u958b\u767a/\u904b\u55b6 (@KanColle_STAFF) 2018\u5e748\u670818\u65e5\n\n\n\u3082\u3061\u308d\u3093\u3010HTML5\u3011\u304c\u5b89\u5b9a\u52d5\u4f5c\u3059\u308c\u3070\u3001Linux\u74b0\u5883\u3084\u5404\u7a2e\u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3\u74b0\u5883\u542b\u3080\u69d8\u3005\u306a\u74b0\u5883\u4e0b\u3067\u7a3c\u50cd\u53ef\u80fd\u3067\u3059\u3002\u203b\u305f\u3060\u3057\u3001\u74b0\u5883\u306b\u3088\u3063\u3066\u306f\u97f3\u304c\u3067\u306a\u3044\u3001\u4e00\u90e8\u64cd\u4f5c\u304c\u6a5f\u80fd\u3057\u306a\u3044\u7b49\u306e\u30b1\u30fc\u30b9\u304c\u3042\u308a\u307e\u3059\u3002\u5927\u5909\u6050\u7e2e\u3067\u3059\u3001\u4e88\u3081\u3054\u4e86\u627f\u9802\u3051\u307e\u3059\u3088\u3046\u304a\u9858\u3044\u7533\u3057\u4e0a\u3052\u307e\u3059\u3002#\u8266\u3053\u308c\n— \u300c\u8266\u3053\u308c\u300d\u958b\u767a/\u904b\u55b6 (@KanColle_STAFF) 2018\u5e748\u670818\u65e5\n\n\nLinux\u3082\u8a00\u53ca\u3055\u308c\u3066\u3044\u307e\u3059\u306d\uff0e\n\u3068\u3044\u3046\u3053\u3068\u306farm\u3084\u306a\u306b\u3084\u3067\u3082\u52d5\u4f5c\u3059\u308b\u306f\u305a\u3063\u3066\u3053\u3068\u3067\u307e\u305a\u306fRaspberry Pi 2 B \u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\u7d50\u679c\u304b\u3089\u8a00\u3046\u3068\u5931\u6557\u3057\u307e\u3057\u305f\uff0e\n\n\n\n\u74b0\u5883\n\n\n\u8a66\u3057\u305f\u74b0\u5883\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u3059\uff0e\n\n\n\n\nboard : Raspberry Pi 2 B\n\n\nOS : RASPBIAN STRETCH WITH DESKTOP 2018-06-27\n\n\nSoC : BCM2837\n\n\nCPU : ARMv7\n\n\nRAM : 1GB\n\n\nWebBrowser : Chromium 65.0.3325.181-0+rpt4\n\n\n\n\nRASPBIAN STRETCH WITH DESKTOP 2018-06-27 \u3092\u5c0e\u5165\u3057\u3066\uff0csystem \u3092 apt update && apt upgrade \u3057\u305f\u72b6\u614b\u3067\u3059\uff0e\u3042\u3068\u306f\u65e2\u5b9a\u5024\u306e\u307e\u307e\u3067\uff0c\u30a6\u30a7\u30d6\u30d6\u30e9\u30a6\u30b6\u306f Chromium\uff0c\u64cd\u4f5c\u306fVNC\u7d4c\u7531\u3067\u884c\u3044\u307e\u3057\u305f\uff0e\n\u89e3\u50cf\u5ea6\u304c\u5927\u5206\u4e0a\u304c\u3063\u3066\u3044\u307e\u3059\uff0e\u3068\u308a\u3042\u3048\u305a F11 \u3067\u30d5\u30eb\u30b9\u30af\u30ea\u30fc\u30f3\u8868\u793a\u306b\u3057\u3066\uff0c Ctrl + – \u3067\u753b\u9762\u3092\u7e2e\u5c0f\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\u30ed\u30b0\u30a4\u30f3\u3057\u3066\u30b9\u30af\u30ea\u30fc\u30f3\u304c\u9ed2\u304f\u5857\u308a\u3064\u3076\u3055\u308c\u308b\u307e\u3067\u6570\u5206\uff0c\u300cWeigh Anchor! Download Now\u2026\u300d\u306e\u8868\u793a\u306e\u30d7\u30ed\u30b0\u30ec\u30b9\u753b\u9762\u3067\u3059\u3054\u304f\u6642\u9593\u304c\u304b\u304b\u308a\u307e\u3059\uff0e20\u5206\u4ee5\u4e0a\u7d4c\u3063\u3066\u304b\u3089\u30a8\u30e9\u30fc\u753b\u9762(\u6240\u8b02\u732b\u3063\u305f\u72b6\u614b)\u306b\u306a\u308a\u307e\u3059\uff0e\n3\u56de\u8a66\u3057\u3066\u6bce\u56de\u30d7\u30ed\u30b0\u30ec\u30b9\u30d0\u30fc\u304c8\u5272\u307b\u3069\u306e\u3068\u3053\u308d\u3067\u30b3\u30b1\u307e\u3059\uff0e\n\u30b7\u30b9\u30c6\u30e0\u306e\u72b6\u614b\u3092\u898b\u3066\u3044\u308b\u3068\uff0c\u9ed2\u3044\u753b\u9762\u306e\u9803\u304b\u3089\u305a\u3063\u3068CPU\u304c100%\u3067\u5f35\u308a\u4ed8\u3044\u305f\u307e\u307e\u3067\u3059\uff0eRAM\u306b\u306f\u4f59\u88d5\u304c\u3042\u308a\u307e\u3059\uff0e\u6050\u3089\u304f\u30b2\u30fc\u30e0\u30c7\u30fc\u30bf\u3092\u30ed\u30fc\u30ab\u30eb\u306b\u30b3\u30d4\u30fc\u3057\u3066\u5c55\u958b\u306a\u3069\u306e\u51e6\u7406\u3067CPU\u3092\u4f7f\u3044\u5207\u3063\u3066\u306a\u304b\u306a\u304b\u51e6\u7406\u304c\u7d42\u308f\u3089\u305a\u30bf\u30a4\u96e8\u30a2\u30a6\u30c8\u3057\u3066\u3044\u308b\u306e\u3067\u306f\u306a\u3044\u304b\u3068\u601d\u3044\u307e\u3059\uff0e\nCPU\u304c\u30dc\u30c8\u30eb\u30cd\u30c3\u30af\u306e\u3088\u3046\u306a\u306e\u3067\u30af\u30ed\u30c3\u30af\u3092\u30aa\u30fc\u30d0\u30fc\u30af\u30ed\u30c3\u30af\u3057\u3066\u307f\u307e\u3057\u305f\u304c\u4f53\u611f\u901f\u5ea6\u306f\u5909\u308f\u3089\u305a\u3084\u306f\u308a\u30a8\u30e9\u30fc\u3068\u306a\u308a\u307e\u3059\uff0e2\u56de\u8a66\u3057\u3066\u3082\u540c\u3058\u3088\u3046\u306b\u5931\u6557\u3057\u3066\u99c4\u76ee\u3067\u3057\u305f\uff0e\n\n\n\u3068\u3044\u3046\u3053\u3068\u3067Raspberry Pi 2 B \u3067\u8266\u3053\u308c\u306f\u4eca\u306e\u3068\u3053\u308d\u7121\u7406\u305d\u3046\u3067\u3059\uff0e\u3057\u3070\u3089\u304f\u5f85\u3063\u3066\u8266\u3053\u308c\u81ea\u4f53\u306e\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u304c\u9032\u3093\u3060\u308a\uff0cCPU\u306e\u5f37\u5316\u3055\u308c\u3066\u3044\u308b Raspberry Pi 2 B v1.2(BCM2837)\u4ee5\u964d\u306a\u3089\u52d5\u304f\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e\u6301\u3063\u3066\u3044\u308b\u4eba\u306b\u306f\u305c\u3072\u8a66\u3057\u3066\u7d50\u679c\u3092\u6559\u3048\u3066\u307b\u3057\u3044\u3067\u3059\uff0e\n\uff03\u3061\u306a\u307f\u306b\u8a66\u3059\u306e\u306b\u4e00\u56de\u3042\u305f\u308a30\u5206\u307b\u3069\u304b\u304b\u3063\u3066\u3044\u308b\u306e\u3067\u52d5\u3044\u305f\u3068\u3057\u3066\u3082\u3042\u307e\u308a\u73fe\u5b9f\u7684\u3067\u306f\u306a\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u2026\u2026\uff0e\u3069\u3046\u3057\u3066\u3082\u3084\u308a\u305f\u3044\u306a\u3089\u6bcd\u8266\u306e\u753b\u9762\u3092\u8ee2\u9001\u3057\u305f\u307b\u3046\u304c\u826f\u3055\u305d\u3046\uff0e\n\n\n\n\n\n\n\n\n\n\n\n\nSoC\n\n\ncpu clock\n\n\nRAM\n\n\nPi\n\n\n\n\nBCM2836\n\n\n4 x 900Mhz\n\n\n1GB\n\n\n2B\n\n\n\n\nBCM2837\n\n\n4 x 900MHz\n\n\n1GB\n\n\n2B v1.2\n\n\n\n\nBCM2837\n\n\n4 x 1.2GHz\n\n\n1GB\n\n\n3B\n\n\n\n\nBCM2837B0\n\n\n4 x 1.4GHz\n\n\n1GB\n\n\n3B+", "date_published": "2018-08-23T06:42:49+09:00", "date_modified": "2018-08-23T18:29: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": [ "Raspberry Pi 2 B", "RaspberryPi", "Raspbian", "Raspberry Pi" ] }, { "id": "http://matoken.org/blog/?p=2001", "url": "https://matoken.org/blog/2018/07/14/try-raspbian-first-boot-configuration/", "title": "Raspbian\u306e\u521d\u671f\u8a2d\u5b9a\u30a6\u30a3\u30b6\u30fc\u30c9( first-boot configuration )\u3092\u8a66\u3059", "content_html": "

\u5148\u65e5Raspberry Pi\u5411\u3051\u306eOS\u306eRaspbian 2018-06-27\u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u307e\u3057\u305f\uff0e

\n
2018-06-27:
  * New first-boot configuration wizard added
  * Recommended Software installer added
  * Bluej, Greenfoot, NodeRED, Claws Mail, VNC Viewer removed from image - can now be installed from Recommended Applications
  * Qpdfview PDF viewer installed instead of Xpdf
  * Version 65.0 of Chromium browser included, with latest Flash player
  * Volume up / down keys now change by 5% increments and affect currently-selected output device rather than internal device only
  * Network plugin now remembers previously-entered WiFi network passwords when prompting for reconnection
  * Serial port and serial console can now be switched separately in Raspberry Pi Configuration
  * Lxkeymap keyboard language setting application removed - replaced with dialog within Raspberry Pi Configuration
  * Wifi country and keyboard language setting dialogs in Raspberry Pi Configuration now callable from other applications
  * New version of Piboto font included to render with correct weight under some rogue applications
  * Reconnection to Bluetooth audio devices on reboot improved
  * Disable click-to-rename behaviour in file manager if single-click selection enabled
  * Appearance Settings dialog makes config changes to some Qt files to match selected theme
  * MIME file type associations improved
  * Multiple desktop management options removed from mouse middle-click menu
  * Menu shortcuts to Raspberry Pi website amended
  * Python 2 IDLE menu link removed
  * Sample Magpi PDF installed in /home/pi/MagPi
  * Various minor tweaks, bug fixes and appearance changes
  * Bluetooth updates
    - Firmware with Bluetooth 4.2 features
    - SCO profile suppot added via bthelper.service
  * Linux kernel 4.14.50+
  * Raspberry Pi firmware 748fb17992426bb29d99224b93cb962fefbdc833
\n\n

* New first-boot configuration wizard added \u304c\u6c17\u306b\u306a\u308a\u307e\u3059\uff0e\u521d\u56de\u8d77\u52d5\u6642\u306b\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u30a6\u30a3\u30b6\u30fc\u30c9\u304c\u8d70\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u3088\u3046\u3067\u3059\uff0e\u6c17\u306b\u306a\u308b\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

\n

\u5148\u305a\u306fOS\u30a4\u30e1\u30fc\u30b8\u3092\u5165\u624b\uff0e
\u4ee5\u4e0b\u306e\u30da\u30fc\u30b8\u304b\u3089 RASPBIAN STRETCH WITH DESKTOP \u306e\u65b9\u3092\u5165\u624b\u3057\u307e\u3059\uff0e

\n\n

\u9069\u5f53\u306a\u65b9\u6cd5\u3067\u30a4\u30e1\u30fc\u30b8\u3092SD card\u306b\u66f8\u304d\u8fbc\u307f\u307e\u3059\uff0e

\n\n

HDMI\u30e2\u30cb\u30bf\u306b\u63a5\u7d9a\uff0c\u82e5\u3057\u304f\u306fVNC\u7d4c\u7531(\u4eca\u56de\u306f\u5f8c\u8005)\u3067\u8d77\u52d5\u3059\u308b\u3068\u300cWelcome to Raspberry Pi\u300d\u3068\u3044\u3046\u30a6\u30a3\u30f3\u30c9\u30a6\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff0e

\n

\"Welcome

\n

\u307e\u305a\u306f\u56fd\u95a2\u9023\u306e\u8a2d\u5b9a\uff0e\u4ee5\u4e0b\u306f\u65e5\u672c\u3067\u306b\u8a00\u8a9e\u74b0\u5883\u3067\u5229\u7528\u3059\u308b\u5834\u5408\u3067\u3059\uff0e

\n
\n

Country: Japan
Language : Japanise
Timezone: Tokyo

\n
\n

\"Welcome

\n

\u6b21\u306fpi \u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u306e\u8a2d\u5b9a\u3067\u3059\uff0e\u521d\u671f\u72b6\u614b\u3067\u306fraspberry\u3067\u3059\u304c\uff0c\u3053\u3053\u306e\u307e\u307e\u3060\u3068ssh\u3084VNC\u306a\u3069\u306e\u30ea\u30e2\u30fc\u30c8\u63a5\u7d9a\u3092\u6709\u52b9\u306b\u3059\u308b\u3068\u8ab0\u3067\u3082\u5165\u308c\u3066\u3057\u307e\u3044\u4e57\u3063\u53d6\u3089\u308c\u3066\u3057\u307e\u3046\u306e\u3067\u305c\u3072\u5909\u66f4\u3057\u307e\u3057\u3087\u3046\uff0e(pi\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u7121\u52b9\u306b\u3057\u3066\u5225\u306e\u30e6\u30fc\u30b6\u3092\u4f5c\u308b\u306e\u3082\u3044\u3044\u3067\u3059\u306d)

\n

\"Welcome

\n

\u6b21\u306bWi-Fi\u306e\u8a2d\u5b9a\u3067\u3059\uff0e\u4eca\u56de\u8a66\u3057\u305f Raspberry Pi \u306f Raspberry Pi 2 B \u3067Wi-Fi\u306f\u4ed8\u3044\u3066\u3044\u307e\u305b\u3093\u304cUSB\u306eWi-Fi\u30c9\u30f3\u30b0\u30eb\u3092\u523a\u3057\u3066\u3044\u305f\u3089\u3053\u306e\u753b\u9762\u306b\u306a\u308a\u307e\u3057\u305f\uff0e\u4ed8\u3051\u3066\u3044\u306a\u304f\u3066\u3082Raspberry Pi 3 B / Raspberry Pi 3 B+ / Raspberry Pi Zero W \u3067\u3082\u8a2d\u5b9a\u3067\u304d\u308b\u3068\u601d\u3044\u307e\u3059\uff0e

\n

\"Welcome

\n

\u6b21\u306f Update \u3067\u3059\uff0e\u3057\u3070\u3089\u304f\u6642\u9593\u304c\u304b\u304b\u308a\u307e\u3059\uff0e

\n

\"Welcome

\n

Update\u304c\u7d42\u4e86\u3059\u308b\u3068\u300cSystem is up to date\u300d\u3068\u8868\u793a\u3055\u308c\u307e\u3059\uff0e

\n

\"Welcome

\n

\u3053\u308c\u3067\u304a\u3057\u307e\u3044\uff0e\u300cReboot\u300d\u30dc\u30bf\u30f3\u3067\u8a2d\u5b9a\u304c\u53cd\u6620\u3055\u308c\u307e\u3059\uff0e

\n

\"Welcome

\n

\u3082\u3057\u307e\u305f\u3053\u306e\u30a6\u30a3\u30b6\u30fc\u30c9\u3092\u5b9f\u884c\u3057\u305f\u3044\u5834\u5408\u306fpiwiz\u30b3\u30de\u30f3\u30c9\u3067\u5b9f\u884c\u3067\u304d\u307e\u3059\uff0e

\n
$ sudo -i piwiz
\n

\u3082\u3057\uff0c\u4ee5\u524d\u304b\u3089\u306eRaspbian\u3067\u5b9f\u884c\u3057\u305f\u3044\u5834\u5408\u306fpiwiz\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u5c0e\u5165\u3059\u308b\u3053\u3068\u3067\u5b9f\u884c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\uff0e

\n
$ sudo apt update
$ sudo apt install piwiz
\n

raspi-config\u3084rc_gui\u306e\u7c21\u6613\u7248\u307f\u305f\u3044\u306a\u611f\u3058\u3067\u3059\u306d\uff0e
\u753b\u9762\u306f\u82f1\u8a9e\u3067\u3059\u304c\uff0c\u8a00\u8a9e\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308b\u306e\u3067\u65e5\u672c\u8a9e\u5316\u3082\u3067\u304d\u305d\u3046\u3067\u3059\uff0e\u3057\u304b\u3057\uff0c\u65e5\u672c\u8a9e\u5316\u304c\u53cd\u6620\u3055\u308c\u308b\u306e\u306f\u8a2d\u5b9a\u5f8c?\u3068\u306a\u308b\u3068\u3042\u307e\u308a\u610f\u5473\u306f\u306a\u3044\u3067\u3059\u304b\u306d\u2026\u2026\uff0e

\n\n", "content_text": "\u5148\u65e5Raspberry Pi\u5411\u3051\u306eOS\u306eRaspbian 2018-06-27\u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u307e\u3057\u305f\uff0e\n2018-06-27:  * New first-boot configuration wizard added  * Recommended Software installer added  * Bluej, Greenfoot, NodeRED, Claws Mail, VNC Viewer removed from image - can now be installed from Recommended Applications  * Qpdfview PDF viewer installed instead of Xpdf  * Version 65.0 of Chromium browser included, with latest Flash player  * Volume up / down keys now change by 5% increments and affect currently-selected output device rather than internal device only  * Network plugin now remembers previously-entered WiFi network passwords when prompting for reconnection  * Serial port and serial console can now be switched separately in Raspberry Pi Configuration  * Lxkeymap keyboard language setting application removed - replaced with dialog within Raspberry Pi Configuration  * Wifi country and keyboard language setting dialogs in Raspberry Pi Configuration now callable from other applications  * New version of Piboto font included to render with correct weight under some rogue applications  * Reconnection to Bluetooth audio devices on reboot improved  * Disable click-to-rename behaviour in file manager if single-click selection enabled  * Appearance Settings dialog makes config changes to some Qt files to match selected theme  * MIME file type associations improved  * Multiple desktop management options removed from mouse middle-click menu  * Menu shortcuts to Raspberry Pi website amended  * Python 2 IDLE menu link removed  * Sample Magpi PDF installed in /home/pi/MagPi  * Various minor tweaks, bug fixes and appearance changes  * Bluetooth updates    - Firmware with Bluetooth 4.2 features    - SCO profile suppot added via bthelper.service  * Linux kernel 4.14.50+  * Raspberry Pi firmware 748fb17992426bb29d99224b93cb962fefbdc833\n\nhttp://downloads.raspberrypi.org/raspbian/release_notes.txt\n\n* New first-boot configuration wizard added \u304c\u6c17\u306b\u306a\u308a\u307e\u3059\uff0e\u521d\u56de\u8d77\u52d5\u6642\u306b\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u30a6\u30a3\u30b6\u30fc\u30c9\u304c\u8d70\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u3088\u3046\u3067\u3059\uff0e\u6c17\u306b\u306a\u308b\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\u5148\u305a\u306fOS\u30a4\u30e1\u30fc\u30b8\u3092\u5165\u624b\uff0e\u4ee5\u4e0b\u306e\u30da\u30fc\u30b8\u304b\u3089 RASPBIAN STRETCH WITH DESKTOP \u306e\u65b9\u3092\u5165\u624b\u3057\u307e\u3059\uff0e\n\nDownload Raspbian for Raspberry Pi\n\n\u9069\u5f53\u306a\u65b9\u6cd5\u3067\u30a4\u30e1\u30fc\u30b8\u3092SD card\u306b\u66f8\u304d\u8fbc\u307f\u307e\u3059\uff0e\n\n\u30d6\u30fc\u30bf\u30d6\u30ebUSB\u30e1\u30e2\u30ea\u3092\u4f5c\u308bEtcher\u3092\u8a66\u3059 \u2013 matoken’s meme\n\u30de\u30eb\u30c1USB\u66f8\u304d\u8fbc\u307f\u30c4\u30fc\u30eb\u306ePopsicle \u2013 matoken’s meme\n\u30d6\u30fc\u30c8USB\u30e1\u30e2\u30ea\u306a\u3069\u3092\u4f5c\u308bmkusb\u3092\u8a66\u3057\u3066\u307f\u308b \u2013 matoken’s meme\nLinux \u74b0\u5883\u3067\u306e Raspberry Pi \u5411\u3051 OS \u66f8\u304d\u8fbc\u307fTips \u2013 matoken’s meme\n\nHDMI\u30e2\u30cb\u30bf\u306b\u63a5\u7d9a\uff0c\u82e5\u3057\u304f\u306fVNC\u7d4c\u7531(\u4eca\u56de\u306f\u5f8c\u8005)\u3067\u8d77\u52d5\u3059\u308b\u3068\u300cWelcome to Raspberry Pi\u300d\u3068\u3044\u3046\u30a6\u30a3\u30f3\u30c9\u30a6\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff0e\n\n\u307e\u305a\u306f\u56fd\u95a2\u9023\u306e\u8a2d\u5b9a\uff0e\u4ee5\u4e0b\u306f\u65e5\u672c\u3067\u306b\u8a00\u8a9e\u74b0\u5883\u3067\u5229\u7528\u3059\u308b\u5834\u5408\u3067\u3059\uff0e\n\nCountry: JapanLanguage : JapaniseTimezone: Tokyo\n\n\n\u6b21\u306fpi \u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u306e\u8a2d\u5b9a\u3067\u3059\uff0e\u521d\u671f\u72b6\u614b\u3067\u306fraspberry\u3067\u3059\u304c\uff0c\u3053\u3053\u306e\u307e\u307e\u3060\u3068ssh\u3084VNC\u306a\u3069\u306e\u30ea\u30e2\u30fc\u30c8\u63a5\u7d9a\u3092\u6709\u52b9\u306b\u3059\u308b\u3068\u8ab0\u3067\u3082\u5165\u308c\u3066\u3057\u307e\u3044\u4e57\u3063\u53d6\u3089\u308c\u3066\u3057\u307e\u3046\u306e\u3067\u305c\u3072\u5909\u66f4\u3057\u307e\u3057\u3087\u3046\uff0e(pi\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u7121\u52b9\u306b\u3057\u3066\u5225\u306e\u30e6\u30fc\u30b6\u3092\u4f5c\u308b\u306e\u3082\u3044\u3044\u3067\u3059\u306d)\n\n\u6b21\u306bWi-Fi\u306e\u8a2d\u5b9a\u3067\u3059\uff0e\u4eca\u56de\u8a66\u3057\u305f Raspberry Pi \u306f Raspberry Pi 2 B \u3067Wi-Fi\u306f\u4ed8\u3044\u3066\u3044\u307e\u305b\u3093\u304cUSB\u306eWi-Fi\u30c9\u30f3\u30b0\u30eb\u3092\u523a\u3057\u3066\u3044\u305f\u3089\u3053\u306e\u753b\u9762\u306b\u306a\u308a\u307e\u3057\u305f\uff0e\u4ed8\u3051\u3066\u3044\u306a\u304f\u3066\u3082Raspberry Pi 3 B / Raspberry Pi 3 B+ / Raspberry Pi Zero W \u3067\u3082\u8a2d\u5b9a\u3067\u304d\u308b\u3068\u601d\u3044\u307e\u3059\uff0e\n\n\u6b21\u306f Update \u3067\u3059\uff0e\u3057\u3070\u3089\u304f\u6642\u9593\u304c\u304b\u304b\u308a\u307e\u3059\uff0e\n\nUpdate\u304c\u7d42\u4e86\u3059\u308b\u3068\u300cSystem is up to date\u300d\u3068\u8868\u793a\u3055\u308c\u307e\u3059\uff0e\n\n\u3053\u308c\u3067\u304a\u3057\u307e\u3044\uff0e\u300cReboot\u300d\u30dc\u30bf\u30f3\u3067\u8a2d\u5b9a\u304c\u53cd\u6620\u3055\u308c\u307e\u3059\uff0e\n\n\u3082\u3057\u307e\u305f\u3053\u306e\u30a6\u30a3\u30b6\u30fc\u30c9\u3092\u5b9f\u884c\u3057\u305f\u3044\u5834\u5408\u306fpiwiz\u30b3\u30de\u30f3\u30c9\u3067\u5b9f\u884c\u3067\u304d\u307e\u3059\uff0e\n$ sudo -i piwiz\n\u3082\u3057\uff0c\u4ee5\u524d\u304b\u3089\u306eRaspbian\u3067\u5b9f\u884c\u3057\u305f\u3044\u5834\u5408\u306fpiwiz\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u5c0e\u5165\u3059\u308b\u3053\u3068\u3067\u5b9f\u884c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\uff0e\n$ sudo apt update$ sudo apt install piwiz\nraspi-config\u3084rc_gui\u306e\u7c21\u6613\u7248\u307f\u305f\u3044\u306a\u611f\u3058\u3067\u3059\u306d\uff0e\u753b\u9762\u306f\u82f1\u8a9e\u3067\u3059\u304c\uff0c\u8a00\u8a9e\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308b\u306e\u3067\u65e5\u672c\u8a9e\u5316\u3082\u3067\u304d\u305d\u3046\u3067\u3059\uff0e\u3057\u304b\u3057\uff0c\u65e5\u672c\u8a9e\u5316\u304c\u53cd\u6620\u3055\u308c\u308b\u306e\u306f\u8a2d\u5b9a\u5f8c?\u3068\u306a\u308b\u3068\u3042\u307e\u308a\u610f\u5473\u306f\u306a\u3044\u3067\u3059\u304b\u306d\u2026\u2026\uff0e\n\nRaspbian update: first-boot setup wizard and more – Raspberry Pi\nraspberrypi-ui/piwiz: First-run startup wizard", "date_published": "2018-07-14T20:15:14+09:00", "date_modified": "2018-07-14T20:15:14+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": [ "RaspberryPi", "Raspbian", "Raspberry Pi" ] }, { "id": "http://matoken.org/blog/?p=1903", "url": "https://matoken.org/blog/2018/05/26/remove-the-broken-raspberry-pi-2-b-spring-of-microsd-slot/", "title": "microSD\u30b9\u30ed\u30c3\u30c8\u306e\u56fa\u5b9a\u6a5f\u69cb\u306e\u58ca\u308c\u305fRaspberry Pi 2 B\u306e\u30d0\u30cd\u3092\u53d6\u308a\u5916\u3057\u3066\u666e\u901a\u306b\u4f7f\u3048\u308b\u3088\u3046\u306b\u3059\u308b", "content_html": "

\"SANY0011\"/

\n

Raspberry Pi 2 B\u3092\u4f7f\u3063\u3066\u3044\u308b\u306e\u3067\u3059\u304c\uff0c\u4ee5\u524d\u304b\u3089microSD\u30bd\u30b1\u30c3\u30c8\u306e\u56fa\u5b9a\u6a5f\u69cb\u304c\u58ca\u308c\u3066\u3057\u307e\u3063\u3066\u3044\u307e\u3059\uff0e\u30bb\u30ed\u30cf\u30f3\u30c6\u30fc\u30d7\u3067\u7559\u3081\u3066\u66f4\u306b\u30b1\u30fc\u30b9\u306b\u5165\u308c\u3066\u52d5\u304d\u306b\u304f\u304f\u3057\u3066\u3044\u308b\u306e\u3067\u3059\u304c\u305f\u307e\u306b\u305a\u308c\u308b\u3088\u3046\u3067\u8d77\u52d5\u4e2d\u306b\u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u898b\u5931\u3063\u3066\u3057\u307e\u3046\u3053\u3068\u304c\u3042\u308a\u307e\u3059\uff0e(\u305d\u3057\u3066\u6570\u56de\u306b\u4e00\u56de\u306f\u8981fsck\u306b)

\n

\u3061\u3087\u3063\u3068\u9762\u5012\u306a\u306e\u3067\u5bfe\u51e6\u3057\u305f\u3044\u306a\u3068\u601d\u3044\u306a\u304c\u3089\u653e\u7f6e\u3057\u3066\u3044\u305f\u306e\u3067\u3059\u304c\uff0c\u307e\u305f\u4eca\u65e5\u3082\u8d77\u3053\u3063\u305f\u306e\u3067\u8abf\u3079\u3066\u307f\u308b\u3053\u3068\u306b\uff0e\u591a\u5206microSD\u3092\u62bc\u3057\u8fd4\u3059\u30d4\u30f3\u304b\u30d0\u30cd\u3092\u7121\u304f\u3057\u3066\u3057\u307e\u3048\u305f\u3089\u89e3\u6c7a\u3057\u305d\u3046\u306a\u6c17\u304c\u3057\u307e\u3059\uff0e\u3067\u3082\u5185\u90e8\u304c\u898b\u3048\u306a\u3044\u306e\u3067\u3069\u3053\u306b\u30d4\u30f3\u3084\u30d0\u30cd\u304c\u3042\u308b\u306e\u304b\u3088\u304f\u308f\u304b\u3089\u306a\u3044\u3067\u3059\uff0e

\n

\"SANY0015\"/

\n

\u304d\u3063\u3068\u5148\u99c6\u8005\u304c\u5c45\u308b\u3060\u308d\u3046\u3068\u691c\u7d22\u3059\u308b\u3068\u3044\u304f\u3064\u304b\u305d\u308c\u3089\u3057\u3044\u30da\u30fc\u30b8\u3092\u898b\u3064\u3051\u307e\u3057\u305f\uff0e

\n

\u30bd\u30b1\u30c3\u30c8\u3092\u4ea4\u63db\u3059\u308b\u30a2\u30d7\u30ed\u30fc\u30c1

\n\n

\u30bd\u30b1\u30c3\u30c8\u306e\u4e2d\u306e\u30b9\u30d7\u30ea\u30f3\u30b0\u3092\u53d6\u308a\u51fa\u3057\u3066\u3057\u307e\u3046\u30a2\u30d7\u30ed\u30fc\u30c1

\n\n

\u5f8c\u8005\u306e\u30b9\u30d7\u30ea\u30f3\u30b0\u3092\u53d6\u308a\u51fa\u3059\u306e\u304c\u7c21\u5358\u305d\u3046\u3060\u3057\uff0c\u6700\u60aa\u5931\u6557\u3057\u3066\u3082\u524d\u8005\u306e\u30bd\u30b1\u30c3\u30c8\u3092\u4ea4\u63db\u3059\u308c\u3070\u3044\u3044\u304b\u306a\u3068\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\u30b9\u30d7\u30ea\u30f3\u30b0\u306e\u5834\u6240\u304c\u5206\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u73fe\u7269\u3092\u898b\u3066\u3082\u3088\u304f\u308f\u304b\u3089\u306a\u3044\u3067\u3059\uff0e\u5149\u3092\u5f53\u3066\u306a\u304c\u3089\u5c11\u3057\u659c\u3081\u304b\u3089\u898b\u308b\u3068\u30d0\u30cd\u304c\u898b\u3048\u307e\u3057\u305f\uff0e\u30d0\u30cd\u306e\u6a2a\u306e\u90e8\u5206\u3092\u4e00\u65e6\u958b\u3051\u3066\u4e2d\u3092\u78ba\u8a8d\u3059\u308b\u4eba\u3082\u5c45\u308b\u3088\u3046\u3067\u3059\uff0e

\n

\"SANY0019\"/

\n

\u3053\u3053\u3067\u5b89\u5168\u30d4\u30f3\u306e\u30d4\u30f3\u5148\u3067\u3053\u3058\u308b\u3088\u3046\u306b\u3068\u601d\u3044\u307e\u3057\u305f\u304c\u3061\u3087\u3063\u3068\u5b89\u5168\u30d4\u30f3\u304c\u5927\u304d\u3044\u305b\u3044\u304b\u30bd\u30b1\u30c3\u30c8\u304c\u81a8\u3089\u3080\u306e\u3067\u30b8\u30e3\u30f3\u30d1\u30ef\u30a4\u30e4\u306e\u30aa\u30b9\u3092\u4f7f\u3044\u307e\u3057\u305f\uff0e

\n

\n

\u30bd\u30b1\u30c3\u30c8\u306e\u30b9\u30d7\u30ea\u30f3\u30b0\u306e\u4e0a\u5074\u304b\u3089\u3053\u3058\u308b\u3068\u30d7\u30e9\u30b9\u30c1\u30c3\u30af\u306e\u30e9\u30c3\u30c1\u304c\u5916\u308c\u307e\u3057\u305f\uff0e\u4e00\u65e6\u30e9\u30c3\u30c1\u3092\u53d6\u308a\u51fa\u3057\u3066\u66f4\u306b\u305d\u306e\u5965\u3092\u3053\u3058\u308b\u3068\u30b9\u30d7\u30ea\u30f3\u30b0\u306e\u53cd\u5fdc\u304c\u3042\u308a\u307e\u3057\u305f\uff0e\u30b9\u30d7\u30ea\u30f3\u30b0\u3092\u5185\u5074\u306b\u5012\u3057\u3066\u304b\u3089\u5f15\u3063\u5f35\u308a\u4e0a\u3052\u308b\u3088\u3046\u306b\u3057\u3066\u53d6\u308a\u5916\u305b\u307e\u3057\u305f\uff0e

\n

\"SANY0020\"/

\n

\u3053\u306e\u72b6\u614b\u3067microSD\u3092\u5dee\u3057\u8fbc\u3080\u3068microSD\u306f\u62bc\u3057\u8fd4\u3055\u308c\u306a\u304f\u306a\u308a\u307e\u3057\u305f!\u3053\u308c\u3067\u6700\u8fd1\u306eRaspberry Pi Zero(\u591a\u52063B/3B+\u3082)\u3068\u540c\u3058\u3088\u3046\u306a\u4f7f\u3044\u52dd\u624b\u306b\u306a\u3063\u305f\u3068\u601d\u3044\u307e\u3059\uff0e

\n

\"SANY0022\"/

\n

\u4eca\u56de\u306fRaspberry Pi 2 B\u3067\u3057\u305f\u304c\uff0cRaspberry Pi B+/Raspbery Pi A+\u3082\u30ed\u30c3\u30af\u6a5f\u69cb\u304c\u58ca\u308c\u305f\u3089\u540c\u69d8\u306e\u6a5f\u69cb\u306a\u306e\u3067\u540c\u3058\u3088\u3046\u306b\u89e3\u6c7a\u3067\u304d\u308b\u3068\u601d\u3044\u307e\u3059\uff0e

\n

\n

\u4eca\u3060\u3068\u6700\u65b0\u306eRaspberry Pi 3 B+\u3092\u8cb7\u3046\u4eba\u304c\u591a\u3044\u3067\u3057\u3087\u3046\u304c\uff0e

\n

\n", "content_text": "Raspberry Pi 2 B\u3092\u4f7f\u3063\u3066\u3044\u308b\u306e\u3067\u3059\u304c\uff0c\u4ee5\u524d\u304b\u3089microSD\u30bd\u30b1\u30c3\u30c8\u306e\u56fa\u5b9a\u6a5f\u69cb\u304c\u58ca\u308c\u3066\u3057\u307e\u3063\u3066\u3044\u307e\u3059\uff0e\u30bb\u30ed\u30cf\u30f3\u30c6\u30fc\u30d7\u3067\u7559\u3081\u3066\u66f4\u306b\u30b1\u30fc\u30b9\u306b\u5165\u308c\u3066\u52d5\u304d\u306b\u304f\u304f\u3057\u3066\u3044\u308b\u306e\u3067\u3059\u304c\u305f\u307e\u306b\u305a\u308c\u308b\u3088\u3046\u3067\u8d77\u52d5\u4e2d\u306b\u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u898b\u5931\u3063\u3066\u3057\u307e\u3046\u3053\u3068\u304c\u3042\u308a\u307e\u3059\uff0e(\u305d\u3057\u3066\u6570\u56de\u306b\u4e00\u56de\u306f\u8981fsck\u306b)\n\u3061\u3087\u3063\u3068\u9762\u5012\u306a\u306e\u3067\u5bfe\u51e6\u3057\u305f\u3044\u306a\u3068\u601d\u3044\u306a\u304c\u3089\u653e\u7f6e\u3057\u3066\u3044\u305f\u306e\u3067\u3059\u304c\uff0c\u307e\u305f\u4eca\u65e5\u3082\u8d77\u3053\u3063\u305f\u306e\u3067\u8abf\u3079\u3066\u307f\u308b\u3053\u3068\u306b\uff0e\u591a\u5206microSD\u3092\u62bc\u3057\u8fd4\u3059\u30d4\u30f3\u304b\u30d0\u30cd\u3092\u7121\u304f\u3057\u3066\u3057\u307e\u3048\u305f\u3089\u89e3\u6c7a\u3057\u305d\u3046\u306a\u6c17\u304c\u3057\u307e\u3059\uff0e\u3067\u3082\u5185\u90e8\u304c\u898b\u3048\u306a\u3044\u306e\u3067\u3069\u3053\u306b\u30d4\u30f3\u3084\u30d0\u30cd\u304c\u3042\u308b\u306e\u304b\u3088\u304f\u308f\u304b\u3089\u306a\u3044\u3067\u3059\uff0e\n\n\u304d\u3063\u3068\u5148\u99c6\u8005\u304c\u5c45\u308b\u3060\u308d\u3046\u3068\u691c\u7d22\u3059\u308b\u3068\u3044\u304f\u3064\u304b\u305d\u308c\u3089\u3057\u3044\u30da\u30fc\u30b8\u3092\u898b\u3064\u3051\u307e\u3057\u305f\uff0e\n\u30bd\u30b1\u30c3\u30c8\u3092\u4ea4\u63db\u3059\u308b\u30a2\u30d7\u30ed\u30fc\u30c1\n\nDamaged MicroSD slot – Raspberry Pi Forums\n\n\u30bd\u30b1\u30c3\u30c8\u306e\u4e2d\u306e\u30b9\u30d7\u30ea\u30f3\u30b0\u3092\u53d6\u308a\u51fa\u3057\u3066\u3057\u307e\u3046\u30a2\u30d7\u30ed\u30fc\u30c1\n\nhardware – Micro SD card slot on Pi 2 – Raspberry Pi Stack Exchange\nFixing A Faulty MicroSD Latch on Raspberry Pi Model B+ | Life, The Universe and … Everything!\n\n\u5f8c\u8005\u306e\u30b9\u30d7\u30ea\u30f3\u30b0\u3092\u53d6\u308a\u51fa\u3059\u306e\u304c\u7c21\u5358\u305d\u3046\u3060\u3057\uff0c\u6700\u60aa\u5931\u6557\u3057\u3066\u3082\u524d\u8005\u306e\u30bd\u30b1\u30c3\u30c8\u3092\u4ea4\u63db\u3059\u308c\u3070\u3044\u3044\u304b\u306a\u3068\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\u30b9\u30d7\u30ea\u30f3\u30b0\u306e\u5834\u6240\u304c\u5206\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u73fe\u7269\u3092\u898b\u3066\u3082\u3088\u304f\u308f\u304b\u3089\u306a\u3044\u3067\u3059\uff0e\u5149\u3092\u5f53\u3066\u306a\u304c\u3089\u5c11\u3057\u659c\u3081\u304b\u3089\u898b\u308b\u3068\u30d0\u30cd\u304c\u898b\u3048\u307e\u3057\u305f\uff0e\u30d0\u30cd\u306e\u6a2a\u306e\u90e8\u5206\u3092\u4e00\u65e6\u958b\u3051\u3066\u4e2d\u3092\u78ba\u8a8d\u3059\u308b\u4eba\u3082\u5c45\u308b\u3088\u3046\u3067\u3059\uff0e\n\n\u3053\u3053\u3067\u5b89\u5168\u30d4\u30f3\u306e\u30d4\u30f3\u5148\u3067\u3053\u3058\u308b\u3088\u3046\u306b\u3068\u601d\u3044\u307e\u3057\u305f\u304c\u3061\u3087\u3063\u3068\u5b89\u5168\u30d4\u30f3\u304c\u5927\u304d\u3044\u305b\u3044\u304b\u30bd\u30b1\u30c3\u30c8\u304c\u81a8\u3089\u3080\u306e\u3067\u30b8\u30e3\u30f3\u30d1\u30ef\u30a4\u30e4\u306e\u30aa\u30b9\u3092\u4f7f\u3044\u307e\u3057\u305f\uff0e\n\n\u30bd\u30b1\u30c3\u30c8\u306e\u30b9\u30d7\u30ea\u30f3\u30b0\u306e\u4e0a\u5074\u304b\u3089\u3053\u3058\u308b\u3068\u30d7\u30e9\u30b9\u30c1\u30c3\u30af\u306e\u30e9\u30c3\u30c1\u304c\u5916\u308c\u307e\u3057\u305f\uff0e\u4e00\u65e6\u30e9\u30c3\u30c1\u3092\u53d6\u308a\u51fa\u3057\u3066\u66f4\u306b\u305d\u306e\u5965\u3092\u3053\u3058\u308b\u3068\u30b9\u30d7\u30ea\u30f3\u30b0\u306e\u53cd\u5fdc\u304c\u3042\u308a\u307e\u3057\u305f\uff0e\u30b9\u30d7\u30ea\u30f3\u30b0\u3092\u5185\u5074\u306b\u5012\u3057\u3066\u304b\u3089\u5f15\u3063\u5f35\u308a\u4e0a\u3052\u308b\u3088\u3046\u306b\u3057\u3066\u53d6\u308a\u5916\u305b\u307e\u3057\u305f\uff0e\n\n\u3053\u306e\u72b6\u614b\u3067microSD\u3092\u5dee\u3057\u8fbc\u3080\u3068microSD\u306f\u62bc\u3057\u8fd4\u3055\u308c\u306a\u304f\u306a\u308a\u307e\u3057\u305f!\u3053\u308c\u3067\u6700\u8fd1\u306eRaspberry Pi Zero(\u591a\u52063B/3B+\u3082)\u3068\u540c\u3058\u3088\u3046\u306a\u4f7f\u3044\u52dd\u624b\u306b\u306a\u3063\u305f\u3068\u601d\u3044\u307e\u3059\uff0e\n\n\u4eca\u56de\u306fRaspberry Pi 2 B\u3067\u3057\u305f\u304c\uff0cRaspberry Pi B+/Raspbery Pi A+\u3082\u30ed\u30c3\u30af\u6a5f\u69cb\u304c\u58ca\u308c\u305f\u3089\u540c\u69d8\u306e\u6a5f\u69cb\u306a\u306e\u3067\u540c\u3058\u3088\u3046\u306b\u89e3\u6c7a\u3067\u304d\u308b\u3068\u601d\u3044\u307e\u3059\uff0e\n\n\u4eca\u3060\u3068\u6700\u65b0\u306eRaspberry Pi 3 B+\u3092\u8cb7\u3046\u4eba\u304c\u591a\u3044\u3067\u3057\u3087\u3046\u304c\uff0e", "date_published": "2018-05-26T01:20:54+09:00", "date_modified": "2018-05-26T01:20:54+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": [ "microSD", "Raspberry Pi 2 B", "RaspberryPi", "Raspberry Pi" ] }, { "id": "http://matoken.org/blog/?p=1842", "url": "https://matoken.org/blog/2018/02/20/devuan-ascii-armhf-raspberry-pi-set-time/", "title": "Devuan ascii armhf(Raspberry Pi)\u3067\u6642\u8a08\u5408\u308f\u305b", "content_html": "

Raspberry Pi\u306b\u306fRTC\u304c\u4ed8\u3044\u3066\u3044\u307e\u305b\u3093\uff0e\u306a\u306e\u3067\u30b7\u30b9\u30c6\u30e0\u505c\u6b62\u3059\u308b\u3068\u6642\u9593\u60c5\u5831\u304c\u98db\u3093\u3067\u3057\u307e\u3044\u307e\u3059\uff0efake-hwclock\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u305f\u3089\u524d\u56de\u505c\u6b62\u6642(\u306b\u8fd1\u3044)\u6642\u9593\u304c\u30d5\u30a1\u30a4\u30eb\u306b\u4fdd\u5b58\u3055\u308c\u3066\u3044\u3066\u305d\u306e\u6642\u9593\u306b\u8a2d\u5b9a\u3055\u308c\u307e\u3059\u304c\uff0c\u505c\u6b62\u6642\u306e\u6642\u9593\u306f\u30ab\u30a6\u30f3\u30c8\u3055\u308c\u306a\u3044\u306e\u3067\u6642\u9593\u304c\u305a\u308c\u307e\u3059\uff0e\u3068\u3044\u3046\u3053\u3068\u3067\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304c\u6709\u52b9\u306a\u5834\u5408ntp\u3092\u53c2\u7167\u3057\u3066\u6642\u8a08\u5408\u308f\u305b\u3092\u3057\u305f\u3044\u3067\u3059\uff0e
\n\u6700\u8fd1\u306eDebian\u3084Raspbian\u306fsystemd\u306a\u306e\u3067timesyncd.conf\u3067NTP server\u3092\u6307\u5b9a\u3057\u3066timedatectl\u30b3\u30de\u30f3\u30c9\u3067\u6709\u52b9\u306b\u3059\u308b\u611f\u3058\u3060\u3068\u601d\u3046\u306e\u3067\u3059\u304c(\u65e2\u5b9a\u5024\u3067\u305d\u3046\u306a\u3063\u3066\u3044\u308b)\uff0cDevuan\u306f\u8131systemd\u306a\u30c7\u30a3\u30b9\u30c8\u30ea\u30d3\u30e5\u30fc\u30b7\u30e7\u30f3\u306a\u306e\u3067\u3053\u306e\u65b9\u6cd5\u306f\u4f7f\u3048\u307e\u305b\u3093\uff0e

\n
\n
$ sudo vi /etc/systemd/timesyncd.conf\r\n$ sudo timedatectl set-ntp true`\r\n
\n
\n
\n

\u8a73\u7d30\u306fman timesyncd.conf, man timedatectl

\n
\n

\u3068\u3044\u3046\u3053\u3068\u3067ntpdate\u3092\u5165\u308c\u3066\u307f\u307e\u3057\u305f\uff0e

\n
\n
$ sudo apt install ntpdate\r\n$ sudo ntpdate 192.168.1.102\r\n$ grep -A1 -B2 ntp /etc/rc.local\r\nif [ "$_IP" ]; then\r\n  printf "My IP address is %s\\n" "$_IP"\r\n  /usr/sbin/ntpdate 192.168.1.102\r\nfi\r\n
\n
\n

\u9577\u6642\u9593\u52d5\u304b\u3059\u306a\u3089crontab\u3067\u5b9a\u671f\u7684\u306b\u8a2d\u5b9a\u3057\u305f\u307b\u3046\u304c\u3044\u3044\u304b\u3082?(\u82e5\u3057\u304f\u306f\u4f55\u3089\u304b\u306entpd)

\n
\n
$ sudo -u root crontab -l|tail -2\r\n@reboot /usr/sbin/ntpdate 192.168.1.102\r\n3 3 * * *       /usr/sbin/ntpdate 192.168.1.102\r\n
\n
\n

\u8ffd\u8a18\uff09
\n\u3053\u306e\u30b7\u30b9\u30c6\u30e0\u306fRaspbian stretch\u3092Devuan ascii\u306bdist-upgrade\u3057\u305f\u30b7\u30b9\u30c6\u30e0\u306a\u306e\u3067ntp\u306e\u8a2d\u5b9a\u304c\u306a\u3044\u3060\u3051\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0eDevuan ascii\u3092\u30af\u30ea\u30fc\u30f3\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308c\u3070\u5fc5\u8981\u306a\u3044\u8a2d\u5b9a\u304b\u3082(\u672a\u78ba\u8a8d)

\n

\n", "content_text": "Raspberry Pi\u306b\u306fRTC\u304c\u4ed8\u3044\u3066\u3044\u307e\u305b\u3093\uff0e\u306a\u306e\u3067\u30b7\u30b9\u30c6\u30e0\u505c\u6b62\u3059\u308b\u3068\u6642\u9593\u60c5\u5831\u304c\u98db\u3093\u3067\u3057\u307e\u3044\u307e\u3059\uff0efake-hwclock\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u305f\u3089\u524d\u56de\u505c\u6b62\u6642(\u306b\u8fd1\u3044)\u6642\u9593\u304c\u30d5\u30a1\u30a4\u30eb\u306b\u4fdd\u5b58\u3055\u308c\u3066\u3044\u3066\u305d\u306e\u6642\u9593\u306b\u8a2d\u5b9a\u3055\u308c\u307e\u3059\u304c\uff0c\u505c\u6b62\u6642\u306e\u6642\u9593\u306f\u30ab\u30a6\u30f3\u30c8\u3055\u308c\u306a\u3044\u306e\u3067\u6642\u9593\u304c\u305a\u308c\u307e\u3059\uff0e\u3068\u3044\u3046\u3053\u3068\u3067\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304c\u6709\u52b9\u306a\u5834\u5408ntp\u3092\u53c2\u7167\u3057\u3066\u6642\u8a08\u5408\u308f\u305b\u3092\u3057\u305f\u3044\u3067\u3059\uff0e\n\u6700\u8fd1\u306eDebian\u3084Raspbian\u306fsystemd\u306a\u306e\u3067timesyncd.conf\u3067NTP server\u3092\u6307\u5b9a\u3057\u3066timedatectl\u30b3\u30de\u30f3\u30c9\u3067\u6709\u52b9\u306b\u3059\u308b\u611f\u3058\u3060\u3068\u601d\u3046\u306e\u3067\u3059\u304c(\u65e2\u5b9a\u5024\u3067\u305d\u3046\u306a\u3063\u3066\u3044\u308b)\uff0cDevuan\u306f\u8131systemd\u306a\u30c7\u30a3\u30b9\u30c8\u30ea\u30d3\u30e5\u30fc\u30b7\u30e7\u30f3\u306a\u306e\u3067\u3053\u306e\u65b9\u6cd5\u306f\u4f7f\u3048\u307e\u305b\u3093\uff0e\n\n$ sudo vi /etc/systemd/timesyncd.conf\r\n$ sudo timedatectl set-ntp true`\r\n\n\n\n\u8a73\u7d30\u306fman timesyncd.conf, man timedatectl\n\n\u3068\u3044\u3046\u3053\u3068\u3067ntpdate\u3092\u5165\u308c\u3066\u307f\u307e\u3057\u305f\uff0e\n\n$ sudo apt install ntpdate\r\n$ sudo ntpdate 192.168.1.102\r\n$ grep -A1 -B2 ntp /etc/rc.local\r\nif [ "$_IP" ]; then\r\n printf "My IP address is %s\\n" "$_IP"\r\n /usr/sbin/ntpdate 192.168.1.102\r\nfi\r\n\n\n\u9577\u6642\u9593\u52d5\u304b\u3059\u306a\u3089crontab\u3067\u5b9a\u671f\u7684\u306b\u8a2d\u5b9a\u3057\u305f\u307b\u3046\u304c\u3044\u3044\u304b\u3082?(\u82e5\u3057\u304f\u306f\u4f55\u3089\u304b\u306entpd)\n\n$ sudo -u root crontab -l|tail -2\r\n@reboot /usr/sbin/ntpdate 192.168.1.102\r\n3 3 * * * /usr/sbin/ntpdate 192.168.1.102\r\n\n\n\u8ffd\u8a18\uff09\n\u3053\u306e\u30b7\u30b9\u30c6\u30e0\u306fRaspbian stretch\u3092Devuan ascii\u306bdist-upgrade\u3057\u305f\u30b7\u30b9\u30c6\u30e0\u306a\u306e\u3067ntp\u306e\u8a2d\u5b9a\u304c\u306a\u3044\u3060\u3051\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0eDevuan ascii\u3092\u30af\u30ea\u30fc\u30f3\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308c\u3070\u5fc5\u8981\u306a\u3044\u8a2d\u5b9a\u304b\u3082(\u672a\u78ba\u8a8d)", "date_published": "2018-02-20T23:24:10+09:00", "date_modified": "2018-02-21T03:16: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": [ "Devuan", "Devuan Ascii", "ntpdate", "RaspberryPi", "ascii", "Linux", "Raspberry Pi" ] }, { "id": "http://matoken.org/blog/?p=1799", "url": "https://matoken.org/blog/2018/01/23/raspbian-stretch-imag-to-devuan-ascii/", "title": "Raspbian stretch \u30a4\u30e1\u30fc\u30b8\u3092 Devuan ascii \u306b\u3057\u3066\u307f\u308b", "content_html": "

Devuan\u3068\u3044\u3046Debian\u304b\u3089\u306e\u30d5\u30a9\u30fc\u30af\u30c7\u30a3\u30b9\u30c8\u30ea\u30d3\u30e5\u30fc\u30b7\u30e7\u30f3\u304c\u3042\u308a\u307e\u3059\uff0e

\n\n

\u3053\u308c\u306f\u8131Systemd\u306aLinux\u30c7\u30a3\u30b9\u30c8\u30ea\u30d3\u30e5\u30fc\u30b7\u30e7\u30f3\u3067\uff0cRaspberry Pi\u7b49\u306earmhf\u306b\u3082\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u3059\uff0e\u305d\u3057\u3066Debian\u304b\u3089Devuan\u306b\u79fb\u884c\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\uff0e(Debian jessie -> Devuan jessie)
\nDebian\u30d9\u30fc\u30b9\u306eRaspbian\u304b\u3089\u3082\u540c\u69d8\u306b\u79fb\u884c\u3067\u304d\u308b\u3068\u3044\u3046mail\u3092\u898b\u304b\u3051\u305f\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3059\uff0e

\n\n

SD card\u3067\u3084\u3063\u305f\u307b\u3046\u304c\u624b\u9806\u306f\u5c11\u306a\u3044\u306e\u3067\u3059\u304c\uff0c\u9045\u3044\u3057\u5bff\u547d\u3082\u7e2e\u3080\u3060\u308d\u3046\u3057\u3063\u3066\u3053\u3068\u3067\u30a4\u30e1\u30fc\u30b8\u30b5\u30a4\u30ba\u3092\u62e1\u5927\u3057\u305fRaspbian\u3092\u5143\u306bchroot + QEMU User Emulator\u3067Arm\u4ee5\u5916\u306ehost\u3067\u3067\u3084\u3063\u3066\u307f\u307e\u3057\u305f\uff0e

\n

\u30b5\u30a4\u30ba\u3092\u62e1\u5927\u3057\u305fRaspbian\u30a4\u30e1\u30fc\u30b8\u3092\u30de\u30a6\u30f3\u30c8

\n

\u4ee5\u4e0b\u306e\u624b\u9806\u3067\u7528\u610f\u3057\u305f\u30a4\u30e1\u30fc\u30b8\u3092\u5143\u306b\u3057\u307e\u3059\uff0e

\n\n

raspbian-stretch-lite_latest.img\u304c\u5143\u306e\u30a4\u30e1\u30fc\u30b8\u3067\uff0c\u4eca\u56dedevuan_ascii.img\u3068\u3057\u3066\u30b3\u30d4\u30fc\u3057\u305f\u3082\u306e\u3092\u4f7f\u3044\u307e\u3059\uff0e

\n
\n
$ cp ./raspbian-stretch-lite_latest.img ./devuan_ascii.img\r\n$ sudo kpartx -av ./devuan_ascii.img\r\nadd map loop0p1 (253:4): 0 85045 linear 7:0 8192\r\nadd map loop0p2 (253:5): 0 8129 linear 7:0 63\r\n$ sudo mount /dev/mapper/loop0p2 /mnt\r\n$ sudo mount /dev/mapper/loop0p1 /mnt/boot\r\n
\n
\n

QEMU User Emulator\u304c\u4f7f\u3048\u308b\u3088\u3046\u306bqemu-user-static\u3092cp

\n

\u3053\u308c\u3067QEMU User Emulator\u304c\u900f\u904e\u7684\u306b\u5229\u7528\u3067\u304d\u307e\u3059\uff0e

\n
\n
$ sudo cp -p /usr/bin/qemu-arm-static /mnt/usr/bin/\r\n
\n
\n

chroot\u7528\u306b/dev\u3068/proc\u3092bind mount\u3057\u3066chroot

\n
\n
$ sudo mount --bind /dev /mnt/dev\r\n$ sudo mount --bind /dev/pts /mnt/dev/pts\r\n$ sudo mount --bind /proc /mnt/proc\r\n$ sudo chroot /mnt /bin/bash\r\n
\n
\n

Raspbian stretch\u3092\u6700\u65b0\u306e\u72b6\u614b\u306b\u3059\u308b

\n
\n
# apt update\r\n# apt upgrade -y\r\n
\n
\n

Devuan\u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u9375\u3092\u30a4\u30f3\u30dd\u30fc\u30c8

\n

Devuan\u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u9375\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3059\u308b\uff0e\u305d\u306e\u305f\u3081\u306b\u5fc5\u8981\u306adirmngrpkg\u3082\u5c0e\u5165\uff0e

\n
\n
# apt install dirmngr\r\n# apt-key adv --recv-keys 94532124541922FB\r\nExecuting: /tmp/apt-key-gpghome.zqL0gcSbes/gpg.1.sh --recv-keys 94532124541922FB\r\ngpg: key 94532124541922FB: public key "Devuan Repository (Primary Devuan signing key) <repository@devuan.org>" imported\r\ngpg: Total number processed: 1\r\ngpg:               imported: 1\r\n
\n
\n

source.list\u3092Devuan\u306e\u3082\u306e\u306b\u66f8\u304d\u63db\u3048

\n

Devuan\u306estable\u306fjessie\u3067\u3059\u304c\uff0c\u5143\u306eRaspbian\u304cstretch\u306a\u306e\u3067\u305d\u308c\u306b\u5bfe\u5fdc\u3059\u308bAscii\u3092\u6307\u5b9a\u3057\u3066\u3044\u307e\u3059\uff0e
\nDevuan jessie\u3092\u4f7f\u3044\u305f\u3044\u5834\u5408\u306f\uff0cRaspbian jessie\u3092\u5143\u306b\u3059\u308b\u3068\u3044\u3044\u3068\u601d\u3044\u307e\u3059\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
DevuanDebian
Jessie(stable)Jessie(oldstable)
Ascii(development)Stretch(stable)
Beowulf(-)Buster(testing)
Ceres(unstable)Sid(unstable)
\n\n
\n
# vi /etc/apt/sources.list\r\n# cat /etc/apt/sources.list|grep -v ^#\r\ndeb http://mirrordirector.raspbian.org/raspbian/ stretch rpi\r\ndeb http://auto.mirror.devuan.org/merged ascii main contrib non-free\r\ndeb http://auto.mirror.devuan.org/merged ascii-updates  main contrib non-free\r\ndeb http://auto.mirror.devuan.org/merged ascii-security main contrib non-free\r\n
\n
\n

Devuan\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u306bupgrade

\n
\n
# apt update && apt upgrade\r\n  :\r\n274 upgraded, 7 newly installed, 0 to remove and 3 not upgraded.\r\nNeed to get 115 MB of archives.\r\nAfter this operation, 25.0 MB disk space will be freed.\r\nDo you want to continue? [Y/n] Y\r\n  :\r\n# apt dist-upgrade\r\nReading package lists... Done\r\nBuilding dependency tree       \r\nReading state information... Done\r\nCalculating upgrade... Done\r\nThe following packages were automatically installed and are no longer required:\r\n  bluez bluez-firmware cgmanager libcgmanager0 systemd-shim\r\nUse 'sudo apt autoremove' to remove them.\r\nThe following packages will be REMOVED:\r\n  libpam-systemd mountall pi-bluetooth plymouth raspberrypi-sys-mods systemd systemd-sysv\r\nThe following NEW packages will be installed:\r\n  eudev libeudev1 sysvinit-core\r\nThe following packages will be upgraded:\r\n  init libudev1 udev\r\n3 upgraded, 3 newly installed, 7 to remove and 0 not upgraded.\r\nNeed to get 1162 kB of archives.\r\nAfter this operation, 9431 kB disk space will be freed.\r\nDo you want to continue? [Y/n] Y\r\n  :\r\n
\n
\n

chroot\u304b\u3089\u629c\u3051\u3066\u30a4\u30e1\u30fc\u30b8\u30a2\u30f3\u30de\u30a6\u30f3\u30c8

\n

\uff03\u5ff5\u306e\u70bakpartx -d\u306e\u524d\u306bfsck\u3057\u3066\u304a\u304f\u3068\u3044\u3044\u304b\u3082?

\n
\n
# exit\r\n$ sudo umount /mnt/proc\r\n$ sudo umount /mnt/dev/pts\r\n$ sudo umount /mnt/dev\r\n$ sudo umount /mnt/boot\r\n$ sudo umount /mnt\r\n$ sudo kpartx -d /dev/mapper/loop0p1\r\n$ sudo kpartx -d /dev/mapper/loop0p2\r\n$ sync\r\n
\n
\n

SD card\u306b\u30a4\u30e1\u30fc\u30b8\u3092\u66f8\u304d\u8fbc\u3093\u3067Raspberry Pi\u3067\u8d77\u52d5

\n

\u666e\u901a\u306bdd\u3068\u304bEtcher\u3068\u304b\u3067SD card\u306b\u66f8\u304d\u8fbc\u307f\u307e\u3059\uff0e

\n\n
\n
$ time sudo dcfldd if=./devuan_ascii.img of=/dev/sdd;sync;sync\r\n128000 blocks (4000Mb) written.\r\n128000+0 records in\r\n128000+0 records out\r\n\r\nreal    7m13.207s\r\nuser    0m0.823s\r\nsys     0m9.211s\r\n
\n
\n

\u5f8c\u306fRaspberry Pi\u3067\u8d77\u52d5\u3059\u308c\u3070OK\uff0e\u4eca\u56de\u306fRaspberry Pi 2 B\u3067\u8a66\u3057\u307e\u3057\u305f\uff0e

\n

Systemd\u3068\u304b\u5c45\u307e\u305b\u3093\uff0e

\n\n

RAM\u306e\u5229\u7528\u72b6\u6cc1\u306f\u3053\u3093\u306a\u611f\u3058

\n
\n
$ free\r\n              total        used        free      shared  buff/cache   available\r\nMem:         949584       21916      879120         188       48548      879976\r\nSwap:        102396           0      102396\r\n
\n
\n\n

\u3057\u304b\u3057neofetch\u3068\u304b\u3067\u306fRaspbian\u306e\u307e\u307e\u3067\u3059\u306d\uff0e\u8a72\u5f53pkg\u306ereinstall\u3068\u304b\u3067\u66f4\u65b0\u3067\u304d\u305d\u3046\u306a\u6c17\u304c\u3057\u307e\u3059\u304c\u672a\u691c\u8a3c\uff0e

\n

\"IMG_20180123_001641\"/

\n

\u30a4\u30e1\u30fc\u30b8\u64cd\u4f5c\u3081\u3093\u3069\u304f\u3055\u3044\u306e\u3067debootstrap\u306e\u65b9\u304c\u697d\u304b\u3082\u3057\u308c\u306a\u3044?

\n\n

\u3044\u3084\u305d\u308c\u306a\u3089\u516c\u5f0f\u30a4\u30e1\u30fc\u30b8\u306e\u307b\u3046\u304c\u3044\u3044\u304b

\n\n", "content_text": "Devuan\u3068\u3044\u3046Debian\u304b\u3089\u306e\u30d5\u30a9\u30fc\u30af\u30c7\u30a3\u30b9\u30c8\u30ea\u30d3\u30e5\u30fc\u30b7\u30e7\u30f3\u304c\u3042\u308a\u307e\u3059\uff0e\n\nWelcome to devuan.org | Devuan GNU+Linux Free Operating System\n\n\u3053\u308c\u306f\u8131Systemd\u306aLinux\u30c7\u30a3\u30b9\u30c8\u30ea\u30d3\u30e5\u30fc\u30b7\u30e7\u30f3\u3067\uff0cRaspberry Pi\u7b49\u306earmhf\u306b\u3082\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u3059\uff0e\u305d\u3057\u3066Debian\u304b\u3089Devuan\u306b\u79fb\u884c\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\uff0e(Debian jessie -> Devuan jessie)\nDebian\u30d9\u30fc\u30b9\u306eRaspbian\u304b\u3089\u3082\u540c\u69d8\u306b\u79fb\u884c\u3067\u304d\u308b\u3068\u3044\u3046mail\u3092\u898b\u304b\u3051\u305f\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3059\uff0e\n\n[DNG] raspberry pi 3\n\nSD card\u3067\u3084\u3063\u305f\u307b\u3046\u304c\u624b\u9806\u306f\u5c11\u306a\u3044\u306e\u3067\u3059\u304c\uff0c\u9045\u3044\u3057\u5bff\u547d\u3082\u7e2e\u3080\u3060\u308d\u3046\u3057\u3063\u3066\u3053\u3068\u3067\u30a4\u30e1\u30fc\u30b8\u30b5\u30a4\u30ba\u3092\u62e1\u5927\u3057\u305fRaspbian\u3092\u5143\u306bchroot + QEMU User Emulator\u3067Arm\u4ee5\u5916\u306ehost\u3067\u3067\u3084\u3063\u3066\u307f\u307e\u3057\u305f\uff0e\n\u30b5\u30a4\u30ba\u3092\u62e1\u5927\u3057\u305fRaspbian\u30a4\u30e1\u30fc\u30b8\u3092\u30de\u30a6\u30f3\u30c8\n\u4ee5\u4e0b\u306e\u624b\u9806\u3067\u7528\u610f\u3057\u305f\u30a4\u30e1\u30fc\u30b8\u3092\u5143\u306b\u3057\u307e\u3059\uff0e\n\nRaspbian\u30a4\u30e1\u30fc\u30b8\u3092\u4efb\u610f\u306e\u5e83\u3055\u306b\u62e1\u5927\u3059\u308b \u2013 matoken’s meme\n\nraspbian-stretch-lite_latest.img\u304c\u5143\u306e\u30a4\u30e1\u30fc\u30b8\u3067\uff0c\u4eca\u56dedevuan_ascii.img\u3068\u3057\u3066\u30b3\u30d4\u30fc\u3057\u305f\u3082\u306e\u3092\u4f7f\u3044\u307e\u3059\uff0e\n\n$ cp ./raspbian-stretch-lite_latest.img ./devuan_ascii.img\r\n$ sudo kpartx -av ./devuan_ascii.img\r\nadd map loop0p1 (253:4): 0 85045 linear 7:0 8192\r\nadd map loop0p2 (253:5): 0 8129 linear 7:0 63\r\n$ sudo mount /dev/mapper/loop0p2 /mnt\r\n$ sudo mount /dev/mapper/loop0p1 /mnt/boot\r\n\n\nQEMU User Emulator\u304c\u4f7f\u3048\u308b\u3088\u3046\u306bqemu-user-static\u3092cp\n\u3053\u308c\u3067QEMU User Emulator\u304c\u900f\u904e\u7684\u306b\u5229\u7528\u3067\u304d\u307e\u3059\uff0e\n\n$ sudo cp -p /usr/bin/qemu-arm-static /mnt/usr/bin/\r\n\n\nchroot\u7528\u306b/dev\u3068/proc\u3092bind mount\u3057\u3066chroot\n\n$ sudo mount --bind /dev /mnt/dev\r\n$ sudo mount --bind /dev/pts /mnt/dev/pts\r\n$ sudo mount --bind /proc /mnt/proc\r\n$ sudo chroot /mnt /bin/bash\r\n\n\nRaspbian stretch\u3092\u6700\u65b0\u306e\u72b6\u614b\u306b\u3059\u308b\n\n# apt update\r\n# apt upgrade -y\r\n\n\nDevuan\u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u9375\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\nDevuan\u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u9375\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3059\u308b\uff0e\u305d\u306e\u305f\u3081\u306b\u5fc5\u8981\u306adirmngrpkg\u3082\u5c0e\u5165\uff0e\n\n# apt install dirmngr\r\n# apt-key adv --recv-keys 94532124541922FB\r\nExecuting: /tmp/apt-key-gpghome.zqL0gcSbes/gpg.1.sh --recv-keys 94532124541922FB\r\ngpg: key 94532124541922FB: public key "Devuan Repository (Primary Devuan signing key) <repository@devuan.org>" imported\r\ngpg: Total number processed: 1\r\ngpg: imported: 1\r\n\n\nsource.list\u3092Devuan\u306e\u3082\u306e\u306b\u66f8\u304d\u63db\u3048\nDevuan\u306estable\u306fjessie\u3067\u3059\u304c\uff0c\u5143\u306eRaspbian\u304cstretch\u306a\u306e\u3067\u305d\u308c\u306b\u5bfe\u5fdc\u3059\u308bAscii\u3092\u6307\u5b9a\u3057\u3066\u3044\u307e\u3059\uff0e\nDevuan jessie\u3092\u4f7f\u3044\u305f\u3044\u5834\u5408\u306f\uff0cRaspbian jessie\u3092\u5143\u306b\u3059\u308b\u3068\u3044\u3044\u3068\u601d\u3044\u307e\u3059\uff0e\n\n\n\nDevuan\nDebian\n\n\n\n\nJessie(stable)\nJessie(oldstable)\n\n\nAscii(development)\nStretch(stable)\n\n\nBeowulf(-)\nBuster(testing)\n\n\nCeres(unstable)\nSid(unstable)\n\n\n\n\nIndex of /raspbian/images/raspbian-2017-07-05 \u203b\u591a\u5206Raspbian jessie latest.\n\n\n# vi /etc/apt/sources.list\r\n# cat /etc/apt/sources.list|grep -v ^#\r\ndeb http://mirrordirector.raspbian.org/raspbian/ stretch rpi\r\ndeb http://auto.mirror.devuan.org/merged ascii main contrib non-free\r\ndeb http://auto.mirror.devuan.org/merged ascii-updates main contrib non-free\r\ndeb http://auto.mirror.devuan.org/merged ascii-security main contrib non-free\r\n\n\nDevuan\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u306bupgrade\n\n# apt update && apt upgrade\r\n :\r\n274 upgraded, 7 newly installed, 0 to remove and 3 not upgraded.\r\nNeed to get 115 MB of archives.\r\nAfter this operation, 25.0 MB disk space will be freed.\r\nDo you want to continue? [Y/n] Y\r\n :\r\n# apt dist-upgrade\r\nReading package lists... Done\r\nBuilding dependency tree \r\nReading state information... Done\r\nCalculating upgrade... Done\r\nThe following packages were automatically installed and are no longer required:\r\n bluez bluez-firmware cgmanager libcgmanager0 systemd-shim\r\nUse 'sudo apt autoremove' to remove them.\r\nThe following packages will be REMOVED:\r\n libpam-systemd mountall pi-bluetooth plymouth raspberrypi-sys-mods systemd systemd-sysv\r\nThe following NEW packages will be installed:\r\n eudev libeudev1 sysvinit-core\r\nThe following packages will be upgraded:\r\n init libudev1 udev\r\n3 upgraded, 3 newly installed, 7 to remove and 0 not upgraded.\r\nNeed to get 1162 kB of archives.\r\nAfter this operation, 9431 kB disk space will be freed.\r\nDo you want to continue? [Y/n] Y\r\n :\r\n\n\nchroot\u304b\u3089\u629c\u3051\u3066\u30a4\u30e1\u30fc\u30b8\u30a2\u30f3\u30de\u30a6\u30f3\u30c8\n\uff03\u5ff5\u306e\u70bakpartx -d\u306e\u524d\u306bfsck\u3057\u3066\u304a\u304f\u3068\u3044\u3044\u304b\u3082?\n\n# exit\r\n$ sudo umount /mnt/proc\r\n$ sudo umount /mnt/dev/pts\r\n$ sudo umount /mnt/dev\r\n$ sudo umount /mnt/boot\r\n$ sudo umount /mnt\r\n$ sudo kpartx -d /dev/mapper/loop0p1\r\n$ sudo kpartx -d /dev/mapper/loop0p2\r\n$ sync\r\n\n\nSD card\u306b\u30a4\u30e1\u30fc\u30b8\u3092\u66f8\u304d\u8fbc\u3093\u3067Raspberry Pi\u3067\u8d77\u52d5\n\u666e\u901a\u306bdd\u3068\u304bEtcher\u3068\u304b\u3067SD card\u306b\u66f8\u304d\u8fbc\u307f\u307e\u3059\uff0e\n\nInstalling operating system images – Raspberry Pi Documentation\nEtcher\n\n\n$ time sudo dcfldd if=./devuan_ascii.img of=/dev/sdd;sync;sync\r\n128000 blocks (4000Mb) written.\r\n128000+0 records in\r\n128000+0 records out\r\n\r\nreal 7m13.207s\r\nuser 0m0.823s\r\nsys 0m9.211s\r\n\n\n\u5f8c\u306fRaspberry Pi\u3067\u8d77\u52d5\u3059\u308c\u3070OK\uff0e\u4eca\u56de\u306fRaspberry Pi 2 B\u3067\u8a66\u3057\u307e\u3057\u305f\uff0e\nSystemd\u3068\u304b\u5c45\u307e\u305b\u3093\uff0e\n\nps aux\n\nRAM\u306e\u5229\u7528\u72b6\u6cc1\u306f\u3053\u3093\u306a\u611f\u3058\n\n$ free\r\n total used free shared buff/cache available\r\nMem: 949584 21916 879120 188 48548 879976\r\nSwap: 102396 0 102396\r\n\n\n\n/proc/meminfo\n\n\u3057\u304b\u3057neofetch\u3068\u304b\u3067\u306fRaspbian\u306e\u307e\u307e\u3067\u3059\u306d\uff0e\u8a72\u5f53pkg\u306ereinstall\u3068\u304b\u3067\u66f4\u65b0\u3067\u304d\u305d\u3046\u306a\u6c17\u304c\u3057\u307e\u3059\u304c\u672a\u691c\u8a3c\uff0e\n\n\u30a4\u30e1\u30fc\u30b8\u64cd\u4f5c\u3081\u3093\u3069\u304f\u3055\u3044\u306e\u3067debootstrap\u306e\u65b9\u304c\u697d\u304b\u3082\u3057\u308c\u306a\u3044?\n\nDevuan GNU+Linux Free Operating System\nRaspberryPi – Debian Wiki\nRaspberryPi3 – Debian Wiki\nRaspberry Pi 2 Model B \u306b Debian Jessie /armhf \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\nRaspberry Pi3 / arm64 Debian/Ubuntu \u30df\u30fc\u30c8\u30a2\u30c3\u30d7 in \u672d\u5e4c #Devuan\u306fArm64\u306f\u672a\u30b5\u30dd\u30fc\u30c8\n\n\u3044\u3084\u305d\u308c\u306a\u3089\u516c\u5f0f\u30a4\u30e1\u30fc\u30b8\u306e\u307b\u3046\u304c\u3044\u3044\u304b\n\nDevuan Download Zone", "date_published": "2018-01-23T08:05:29+09:00", "date_modified": "2018-01-24T07:36:00+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": [ "chroot", "Devuan", "Devuan Ascii", "qemu", "RaspberryPi", "Raspbian", "Linux", "Raspberry Pi" ] } ] }