【Rails】docker-composeでrails generateが使えず、Could not find rake ~~~~になる
どうもてぃです。
もうそろそろ梅雨ですね。ジメジメしたのは嫌いです。
今回は docker-compose
を使って rails g controller
を行うと起こるエラーの対処方法について書こうと思います。
環境
- Docker version 17.12.0-ce, build c97c6d6
- docker-compose version 1.20.1, build 5d8c71b
起こったこと
いつもどおり、Dockerfileとdocker-compose.ymlを作成し、イメージのビルド、サーバーの起動まで上手くいきました。
以下がDockerfileとdocker-compose.yml
FROM ruby:2.5 ENV LANG C.UTF-8 ENV APP_ROOT /myapp RUN apt-get update -qq && \ apt-get install -y build-essential libpq-dev nodejs postgresql-client && \ rm -rf /var/lig/apt/lists/* RUN gem install rails WORKDIR $APP_ROOT COPY Gemfile ${APP_ROOT}/Gemfile COPY Gemfile.lock ${APP_ROOT}/Gemfile.lock RUN bundle install --path vendor/bundle ADD . /myapp
version: "3" services: db: image: postgres environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: root ports: - "5432" volumes: - ./tmp/db:/var/lib/postgresql/data web: build: . command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -b 0.0.0.0 -p 3000" volumes: - .:/myapp - ./vendor/bundle:/myapp/vendor/bundle:delegated - /myapp/tmp/cache - /myapp/log - /myapp/vendor - /myapp/.git environment: RAILS_ENV: development DATABASE_HOST: db DATABASE_PORT: 5432 DATABASE_USER: postgres DATABASE_PASSWORD: root ports: - "3000:3000" depends_on: - db tty: true stdin_open: true
ここにのせるとインデントがずれてますが、よくある構成だと思います。
上記の設定を元に環境を作ったあと、 rspec
を導入したかったのでいつものコマンドを入力しました。
すると。。。
$ docker-compose run web bundle exec rails g rspec:install Starting myapp_db_1 ... done Could not find rake-12.3.2 in any of the sources Run `bundle install` to install missing gems.
bundle installもうまくいくし、問題なさそうなのに Could not find rake-12.3.2 in any of the sources
が出てくる。
対処法
stackoverflowで全く同じ質問していた人がいたので、参考にしてみた。
$ docker-compose run web bundle install --binstubs # 自分の環境ではvendor/bundle配下に設置 $ docker-compose run web bundle install --path vendor/bundle
さて、ジェネレーターはちゃんと動くのか?
$ docker-compose run web bundle exec rails g rspec:install Starting myapp_db_1 ... done Beginning in Rails 4, Rails ships with a `rails` binstub at ./bin/rails that should be used instead of the Bundler-generated `rails` binstub. If you are seeing this message, your binstub at ./bin/rails was generated by Bundler instead of Rails. You might need to regenerate your `rails` binstub locally and add it to source control: rails app:update:bin # Bear in mind this generates other binstubs # too that you may or may not want (like yarn) If you already have Rails binstubs in source control, you might be inadverently overwriting them during deployment by using bundle install with the --binstubs option. If your application was created prior to Rails 4, here's how to upgrade: bundle config --delete bin # Turn off Bundler's stub generator rails app:update:bin # Use the new Rails executables git add bin # Add bin/ to source control You may need to remove bin/ from your .gitignore as well. When you install a gem whose executable you want to use in your app, generate it and add it to source control: bundle binstubs some-gem-name git add bin/new-executable create .rspec create spec create spec/spec_helper.rb create spec/rails_helper.rb Usage: rails new APP_PATH [options] Options: [--skip-namespace], [--no-skip-namespace] # Skip namespace (affects only isolated applications) -r, [--ruby=PATH] # Path to the Ruby binary of your choice # Default: /usr/local/bin/ruby -m, [--template=TEMPLATE] # Path to some application template (can be a filesystem path or URL) -d, [--database=DATABASE] # Preconfigure for selected database (options: mysql/postgresql/sqlite3/oracle/frontbase/ibm_db/sqlserver/jdbcmysql/jdbcsqlite3/jdbcpostgresql/jdbc) # Default: sqlite3 [--skip-yarn], [--no-skip-yarn] # Don't use Yarn for managing JavaScript dependencies [--skip-gemfile], [--no-skip-gemfile] # Don't create a Gemfile -G, [--skip-git], [--no-skip-git] # Skip .gitignore file [--skip-keeps], [--no-skip-keeps] # Skip source control .keep files -M, [--skip-action-mailer], [--no-skip-action-mailer] # Skip Action Mailer files -O, [--skip-active-record], [--no-skip-active-record] # Skip Active Record files [--skip-active-storage], [--no-skip-active-storage] # Skip Active Storage files -P, [--skip-puma], [--no-skip-puma] # Skip Puma related files -C, [--skip-action-cable], [--no-skip-action-cable] # Skip Action Cable files -S, [--skip-sprockets], [--no-skip-sprockets] # Skip Sprockets files [--skip-spring], [--no-skip-spring] # Don't install Spring application preloader [--skip-listen], [--no-skip-listen] # Don't generate configuration that depends on the listen gem [--skip-coffee], [--no-skip-coffee] # Don't use CoffeeScript -J, [--skip-javascript], [--no-skip-javascript] # Skip JavaScript files [--skip-turbolinks], [--no-skip-turbolinks] # Skip turbolinks gem -T, [--skip-test], [--no-skip-test] # Skip test files [--skip-system-test], [--no-skip-system-test] # Skip system test files [--skip-bootsnap], [--no-skip-bootsnap] # Skip bootsnap gem [--dev], [--no-dev] # Setup the application with Gemfile pointing to your Rails checkout [--edge], [--no-edge] # Setup the application with Gemfile pointing to Rails repository [--rc=RC] # Path to file containing extra configuration options for rails command [--no-rc], [--no-no-rc] # Skip loading of extra configuration options from .railsrc file [--api], [--no-api] # Preconfigure smaller stack for API only apps -B, [--skip-bundle], [--no-skip-bundle] # Don't run bundle install [--webpack=WEBPACK] # Preconfigure for app-like JavaScript with Webpack (options: react/vue/angular/elm/stimulus) Runtime options: -f, [--force] # Overwrite files that already exist -p, [--pretend], [--no-pretend] # Run but do not make any changes -q, [--quiet], [--no-quiet] # Suppress status output -s, [--skip], [--no-skip] # Skip files that already exist Rails options: -h, [--help], [--no-help] # Show this help message and quit -v, [--version], [--no-version] # Show Rails version number and quit Description: The 'rails new' command creates a new Rails application with a default directory structure and configuration at the path you specify. You can specify extra command-line arguments to be used every time 'rails new' runs in the .railsrc configuration file in your home directory. Note that the arguments specified in the .railsrc file don't affect the defaults values shown above in this help message. Example: rails new ~/Code/Ruby/weblog This generates a skeletal Rails installation in ~/Code/Ruby/weblog.
rspecの設定ファイルは作成できたけど、なんかめっちゃ出てる。
要約するとbin関連をupdateしないといけないみたいね。ということでやってみた。
$ docker-compose run web bundle exec rails app:update:bin # 以下全てOverwriteする
bin関連でOverwriteするかどうか出てくるので全て上書きでおk。
終わりに
念の為、controllerが作成できるか試してみた。
$ docker-compose run web bundle exec rails g controller Home index
特にエラーも警告もなくコントローラー生成できた\(^o^)/
二回も同じことで躓いたので、流石にメモ。
安易にdockerに頼り過ぎないようにしましょうね。
【Linux】xargsに渡したファイルに空白がある場合の削除方法
どうもてぃです。
ちょっとだけハマったのでメモ。
ls, grep, xargs rm
上記のコマンドを組み合わせて、いつもどおり溜まったスクリーンショット画像を削除しようとしました。
すると。。。
$ ls | grep 'Screenshot' | xargs rm rm: './Screenshot' を削除できません: そのようなファイルやディレクトリはありません rm: 'from' を削除できません: そのようなファイルやディレクトリはありません rm: '2019-05-08' を削除できません: そのようなファイルやディレクトリはありません rm: '16-39-46.png' を削除できません: そのようなファイルやディレクトリはありません rm: './Screenshot' を削除できません: そのようなファイルやディレクトリはありません rm: 'from' を削除できません: そのようなファイルやディレクトリはありません rm: '2019-03-14' を削除できません: そのようなファイルやディレクトリはありません rm: '18-18-42.png' を削除できません: そのようなファイルやディレクトリはありません rm: './Screenshot' を削除できません: そのようなファイルやディレクトリはありません rm: 'from' を削除できません: そのようなファイルやディレクトリはありません rm: '2019-04-18' を削除できません: そのようなファイルやディレクトリはありません rm: '10-37-00.png' を削除できません: そのようなファイルやディレクトリはありません rm: './Screenshot' を削除できません: そのようなファイルやディレクトリはありません rm: 'from' を削除できません: そのようなファイルやディレクトリはありません rm: '2019-03-12' を削除できません: そのようなファイルやディレクトリはありません rm: '22-42-45.png' を削除できません: そのようなファイルやディレクトリはありません rm: './Screenshot' を削除できません: そのようなファイルやディレクトリはありません rm: 'from' を削除できません: そのようなファイルやディレクトリはありません rm: '2019-03-07' を削除できません: そのようなファイルやディレクトリはありません rm: '18-41-14.png' を削除できません: そのようなファイルやディレクトリはありません rm: './Screenshot' を削除できません: そのようなファイルやディレクトリはありません rm: 'from' を削除できません: そのようなファイルやディレクトリはありません rm: '2019-04-16' を削除できません: そのようなファイルやディレクトリはありません rm: '20-19-58.png' を削除できません: そのようなファイルやディレクトリはありません rm: './Screenshot' を削除できません: そのようなファイルやディレクトリはありません rm: 'from' を削除できません: そのようなファイルやディレクトリはありません rm: '2019-05-06' を削除できません: そのようなファイルやディレクトリはありません rm: '18-28-44.png' を削除できません: そのようなファイルやディレクトリはありません rm: './Screenshot' を削除できません: そのようなファイルやディレクトリはありません rm: 'from' を削除できません: そのようなファイルやディレクトリはありません rm: '2019-03-01' を削除できません: そのようなファイルやディレクトリはありません rm: '17-38-51.png' を削除できません: そのようなファイルやディレクトリはありません rm: './Screenshot' を削除できません: そのようなファイルやディレクトリはありません rm: 'from' を削除できません: そのようなファイルやディレクトリはありません rm: '2019-03-12' を削除できません: そのようなファイルやディレクトリはありません rm: '17-43-33.png' を削除できません: そのようなファイルやディレクトリはありません rm: './Screenshot' を削除できません: そのようなファイルやディレクトリはありません rm: 'from' を削除できません: そのようなファイルやディレクトリはありません rm: '2019-03-06' を削除できません: そのようなファイルやディレクトリはありません rm: '10-59-12.png' を削除できません: そのようなファイルやディレクトリはありません rm: './Screenshot' を削除できません: そのようなファイルやディレクトリはありません rm: 'from' を削除できません: そのようなファイルやディレクトリはありません rm: '2019-03-26' を削除できません: そのようなファイルやディレクトリはありません rm: '10-35-37.png' を削除できません: そのようなファイルやディレクトリはありません rm: './Screenshot' を削除できません: そのようなファイルやディレクトリはありません rm: 'from' を削除できません: そのようなファイルやディレクトリはありません rm: '2019-04-28' を削除できません: そのようなファイルやディレクトリはありません rm: '16-34-29.png' を削除できません: そのようなファイルやディレクトリはありません rm: './Screenshot' を削除できません: そのようなファイルやディレクトリはありません rm: 'from' を削除できません: そのようなファイルやディレクトリはありません rm: '2019-04-04' を削除できません: そのようなファイルやディレクトリはありません rm: '11-03-00.png' を削除できません: そのようなファイルやディレクトリはありません rm: './Screenshot' を削除できません: そのようなファイルやディレクトリはありません rm: 'from' を削除できません: そのようなファイルやディレクトリはありません rm: '2019-02-08' を削除できません: そのようなファイルやディレクトリはありません rm: '15-21-58.png' を削除できません: そのようなファイルやディレクトリはありません rm: './Screenshot' を削除できません: そのようなファイルやディレクトリはありません rm: 'from' を削除できません: そのようなファイルやディレクトリはありません rm: '2019-01-25' を削除できません: そのようなファイルやディレクトリはありません rm: '14-15-28.png' を削除できません: そのようなファイルやディレクトリはありません
ん???!!!??!?!?
前やった時こんなのでたっけ?状態になりました。
他にも、 find . -name 'Screenshot*' | xargs rm
や find . -type f -name '*[Screenshot]*' | xargs rm
等も試してみましたが、ダメ。
結論
xargsコマンドは区切り文字に空白を使っているらしい。
つまり、空白の入ってるファイル名は別々のものと認識され、xargsに渡されてrmが実行されてしまうと。
そのため、区切りを空白文字ではなくnull文字で認識されなければいけないようです。
$ find . -name 'Screenshot*' -print0 | xargs -0 rm
xargsの -0
オプションの形式に合わせて、findコマンドで -print0
を指定してあげる。
これで解決しました。
【Ubuntu】LinuxならSequel ProのかわりにSqlectronを使おう
どうもてぃです。
新年度一発目の記事。そして平成最後の記事かもしれないです。
最近、副業を始めまして、お客さんの検証環境のDBにSSHでアクセスする機会がありました。
macで使ってたSequel ProをUbuntuにインストールして簡単にアクセスしようと目論んだのですが、サポートされていなかったので代わりのものを探していたところ、なんとありました!(つーか、CUIでアクセスすればいいんですけどね)
対象者
OS
- elementary OS 0.4.1 Loki (Ubuntu 16.04.5 LTS)
探しまくったら意外とみつかった
ちゃんと公式まであるオープンソースっぽいですね
Termの方はあまり好みじゃなかったので、GUIの方をダウンロードしました。
以下がダウンロードページ。
.deb
ファイルをダウンロードします。
最新の矢印のやつ。今回は 1.30.0
をダウンロードしてます。
ダウンロード先のパス(たぶんDownloadsだとおもう)でapt installしたらいけます。
$ sudo apt install ./Sqlectron_1.30.0_amd64.deb
でおk。
アプリケーションにアイコンが追加されているのがわかるかと思います
めっちゃ使いやすい
公式ページの中間辺りにあるgifを見ればわかるとは思いますが、シンプルでかなり使いやすいです。
英語だけど、苦手な方でも直感的にわかるかと思います。
Linux OSを使っている方、超絶必見です。是非使いましょう。
macユーザーの方
今がチャンスですよ。
【GCE】SendgridをGCPのlauncherで連携せずに使う
どうもてぃです。
今回は自分でアカウント登録したSendgridとGCEを連携させてメールを送信したいと思います。
準備
今回はGCP上のMarketplace検索すると使えるLauncherであるSendgridではなく、自分で登録したものを使います。
以下、リンク。
googleで検索すると上位には日本版Sendgridが出てきますが、これは使わないように。
というよりも、審査があってすぐには使えないのでとても不便。登録すると一瞬で使える本家(https://sendgrid.com)を使いましょう。
ここで、作成したAPIキーやら、usernameやらパスワードをしっかりメモっておくこと。
はまった
準備ができたら、公式に書いてある通りの順序でやっていきました。
僕はSendgridのAPIキーを取得して、それを/etc/postfix/sasl_passwd
に設置しました。
Railsの本番環境を作っていてどうせAPIキーを使う予定だったので。
mailxでメール送信
設定を終えて、問題ないかmailxを使ってメール送信してみました。
# echo 'テストメールです' | mail -s 'テストめーる' mailaddress@gmail.com # send-mail: 550 Unauthenticated senders not allowed
何故か送れない。
maillogも確認してみる。
# tail /var/log/maillog Jan 21 05:09:09 instance-1 postfix/master[11145]: daemon started -- version 2.10.1, configuration /etc/postfix Jan 21 05:09:40 instance-1 sSMTP[11153]: 550 Unauthenticated senders not allowed
ssmtp
での550が出てる。
対処法
Sendgrid公式に書いてありました。
今回は、GCPで予め用意されているものを使わず、自分で一から設定したので発生したのかも。
前やった時はGCPのSendgrid公式ドキュメントだけで問題なくいけたから。
ここで、/etc/ssmtp/ssmtp.conf
を設定すればおk。
ただし、今回はGCPなのでmailhub=smtp.sendgrid.net:587
のポートを2525に変えてあげる。
正しくはmailhub=smtp.sendgrid.net:2525
です。
解決!
いろいろ記事とか検索したけど、やっぱり公式ドキュメントを見るのが一番早いですね。
コマンドでメール送れたので、今度はRails側からも送ってみたいと思います。
ではでは。
【Rails】unicornの謎エラー
どうもてぃです。
unicornの設定でかなり手間取りました。
環境
起きたこと
とある記事を参考にunicornを設定し、ローカルでbundle exec rails unicorn:start
したところ以下のエラーでハマりました。
I, [2019-01-15T16:48:10.401826 #1790] INFO -- : Refreshing Gem list I, [2019-01-15T16:48:11.349098 #1790] INFO -- : unlinking existing socket=/home/user/project/tmp/unicorn.sock I, [2019-01-15T16:48:11.349216 #1790] INFO -- : listening on addr=/home/user/project/tmp/unicorn.sock fd=14 E, [2019-01-15T16:48:11.349315 #1790] ERROR -- : unsupported signal SIGTEAM (ArgumentError) /home/user/project/config/unicorn.rb:11:in `trap' /home/user/project/config/unicorn.rb:11:in `block in reload' /home/user/project/vendor/bundle/ruby/2.5.0/gems/unicorn-5.4.1/lib/unicorn/http_server.rb:543:in `spawn_missing_workers' /home/user/project/vendor/bundle/ruby/2.5.0/gems/unicorn-5.4.1/lib/unicorn/http_server.rb:142:in `start' /home/user/project/vendor/bundle/ruby/2.5.0/gems/unicorn-5.4.1/bin/unicorn:126:in `<top (required)>' /home/user/project/vendor/bundle/ruby/2.5.0/bin/unicorn:23:in `load' /home/user/project/vendor/bundle/ruby/2.5.0/bin/unicorn:23:in `<main>'
おそらく ERROR -- : unsupported signal SIGTEAM (ArgumentError)
これが原因かと。
ローカル環境でやったのがまずかったのかなと思い、GCEのCentOS7上で環境を作ってやってみたのですが、同じエラーが出ました。
やったこと
最初もいいましたが、まず、以下の記事を参考にファイルを作成し設定をしていきました。
bundle exec rails unicorn:start
で作成したタスクを実行したのですが、上記のエラー。
そして、どれだけ探しても同じエラーで詰んでる人がいないという。
と思っていたところ、以下の記事が出てきた。
記事を参考にconfig/unicorn.rb
を変更してみました。
# unicron.rb # set lets $worker = 2 $timeout = 30 $app_dir = "/home/user/project/" #アプリの場所 $listen = File.expand_path 'tmp/unicorn.sock', $app_dir $pid = File.expand_path 'tmp/unicorn.pid', $app_dir $std_log = File.expand_path 'log/unicorn.log', $app_dir # set config worker_processes $worker working_directory $app_dir stderr_path $std_log stdout_path $std_log timeout $timeout listen $listen pid $pid # loading booster preload_app true # before starting processes before_fork do |server, worker| defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect! old_pid = "#{server.config[:pid]}.oldbin" if old_pid != server.pid begin Process.kill "QUIT", File.read(old_pid).to_i rescue Errno::ENOENT, Errno::ESRCH end end end # after finishing processes after_fork do |server, worker| defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection end
これで一旦はbundle exec rails unicorn:start
が動くようになりました。
終わりに
今回の解決策には全くなってないですが、プロジェクトの関係で早く本番環境を作らないといけないので、一旦この方法で落ち着けます。
時間のあるときにもうすこし調査してみます。
誰か解決してくれるといいんだけど。
【Ubuntu】apt update時winehqでGPGエラー
どうもてぃです。
apt-keyの更新とか設定とかメンドイですね。今回身をもって知りました。
環境
- Ubuntu 16.04.5 LTS(elementary OS 0.4.1 Loki)
現象
$ sudo apt update 無視:1 http://dl.google.com/linux/chrome/deb stable InRelease ヒット:2 http://dl.google.com/linux/chrome/deb stable Release ヒット:3 https://dl.yarnpkg.com/debian stable InRelease ヒット:4 https://download.docker.com/linux/ubuntu zesty InRelease ヒット:5 https://cli-assets.heroku.com/apt ./ InRelease ヒット:8 http://packages.elementary.io/appcenter xenial InRelease ヒット:9 http://ppa.launchpad.net/elementary-os/stable/ubuntu xenial InRelease エラー:7 https://dl.winehq.org/wine-builds/ubuntu xenial InRelease 公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY 76F1A20FF987672F ヒット:10 http://archive.ubuntu.com/ubuntu xenial InRelease ヒット:11 http://ppa.launchpad.net/gregory-hainaut/pcsx2.official.ppa/ubuntu xenial InRelease ヒット:12 http://archive.ubuntu.com/ubuntu xenial-updates InRelease ヒット:13 http://archive.ubuntu.com/ubuntu xenial-backports InRelease ヒット:14 http://ppa.launchpad.net/noobslab/pcsx2/ubuntu xenial InRelease ヒット:15 https://packagecloud.io/slacktechnologies/slack/debian jessie InRelease ヒット:16 http://archive.ubuntu.com/ubuntu xenial-security InRelease ヒット:17 http://ppa.launchpad.net/elementary-os/os-patches/ubuntu xenial InRelease ヒット:18 http://ppa.launchpad.net/philip.scott/elementary-tweaks/ubuntu xenial InRelease ヒット:19 http://ppa.launchpad.net/ubuntuhandbook1/audacity/ubuntu xenial InRelease ヒット:20 http://ppa.launchpad.net/webupd8team/java/ubuntu xenial InRelease パッケージリストを読み込んでいます... 完了 W: GPG エラー: https://dl.winehq.org/wine-builds/ubuntu xenial InRelease: 公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY 76F1A20FF987672F E: リポジトリ https://dl.winehq.org/wine-builds/ubuntu xenial InRelease は署名されていません。 N: このようなリポジトリから更新を安全に行うことができないので、デフォルトでは更新が無効になっています。 N: リポジトリの作成とユーザ設定の詳細は、apt-secure(8) man ページを参照してください。
winehq
で公開鍵がないんかな、と予想。
やったこと
まずはwikiを参照。
そしたらtopに書いてありました。
$ wget -nc https://dl.winehq.org/wine-builds/winehq.key $ sudo apt-key add winehq.key $ sudo apt update
これだけだったなんて。
終わりに
しばらくエラーが出てて更新できてなかったので、その後apt upgrade
やりました。
やはり一時情報を確認するのが大切ですね。
めでたしめでたし。
【Ubuntu】apt updateで404 not found
どうもてぃです。
いろいろ環境構築してる時にタイトルの子が出てくるとかなり困る。
なんとか解決してみました(解決できたかどうか微妙だが)。
環境
- Ubuntu 16.04.5 LTS(elementary OS 0.4.1 Loki)
やったこと
いろんな記事を試しました。
が、メインは以下の記事の手順。
今回公開鍵のエラーも出てたので以下も参考にした。
公開鍵エラーの方はなんとか直ったんですが、404 not found
エラーの方が直らない。
リポジトリはこの子。
エラー:44 http://ppa.launchpad.net/hunter-kaller/ppa/ubuntu xenial Release 404 Not Found E: リポジトリ http://ppa.launchpad.net/hunter-kaller/ppa/ubuntu xenial Release には Release ファイルがありません。 N: このようなリポジトリから更新を安全に行うことができないので、デフォルトでは更新が無効になっています。 N: リポジトリの作成とユーザ設定の詳細は、apt-secure(8) man ページを参照してください。
なので一旦リポジトリを取り直してやってみたが、、、
$ sudo add-apt-repository ppa:hunter-kaller/ppa $ sudo apt -y update ・ ・ ・ ・ ・ ・ ・ エラー:44 http://ppa.launchpad.net/hunter-kaller/ppa/ubuntu xenial Release 404 Not Found E: リポジトリ http://ppa.launchpad.net/hunter-kaller/ppa/ubuntu xenial Release には Release ファイルがありません。 N: このようなリポジトリから更新を安全に行うことができないので、デフォルトでは更新が無効になっています。 N: リポジトリの作成とユーザ設定の詳細は、apt-secure(8) man ページを参照してください。
だめだなこれは。
対処法
Releaseファイルがないということはリポジトリの更新がそもそも止まってるんじゃね?と思い、なら必要ないんじゃないかという結論に至ったので消しました。
/etx/apt/sources.list.d/
配下にhunter-kaller-ubuntu-ppa-xenial.list
がいるので、削除してしまう。
けど、もしエラーになったら面倒なので、一応バックアップとして取っておく方法にする。
$ sudo mkdir /etc/apt/backup $ sudo mv /etc/apt/sources.list.d/hunter-kaller-ubuntu-ppa-xenial.* /etc/apt/backup/ $ sudo rm -rf /var/lib/apt/lists/* $ sudo apt update
これで一旦問題なくupdateできました。