Planet openSUSE へようこそ

このサイトは openSUSE 貢献者の皆さんがそれぞれのブログで書いた記事をまとめてフィードしています。

このまとめサイトにあなたのブログも追加したいとご希望でしたら、以下の説明 (英語) に従って申請してください。


土曜日
2019年01月05日


face

橋本修太です。

例によって例のごとく、よくわからないけど動かなくなって、よくわからないままに手探りで解決したので、覚書を残させて頂きます。

現象

kubectlでdeploymentのyamlをapplyしても、DESIREDからCURRENTに移行しなくなった

要するに、新しいpod(Dockerで言うところのコンテナ)が動かなくなった、という事です。

原因

不明

直前に、nginx-ingress入れたりしていたんですけど、それでしょうか・・・・

解決方法

crictlで、Exitedなkube-controller-manager-****を削除したら、動き出しました。

手順

現象発生時、何かを調べたとは思うのですが、忘れてしまいました・・・とりあえずKubernetesを再起動させました。

NODEの削除(masterでの作業)

$ kubectl drain <node name> –delete-local-data –force –ignore-daemonsets
$ kubectl delete node <node name>

NODEの再起動(master含む各NODEでの作業)

$ kubeadm reset

$ reboot

いつもこの方法なんですけど、これでいいんでしょうか?

そして、いつもどおり起動していきます。

master起動

kubeadm init –cri-socket=/var/run/crio/crio.sock –pod-network-cidr=10.244.0.0/16

cp -i /etc/kubernetes/admin.conf ~/.kube/config

kubectl apply -f ./kube-flannel.yml

最後の、flannelのymlは、githubから落としてきたものです。詳細はGeeko Magazineをご覧ください。ただ、README.mdに書いてある、以下のコマンドでも正しく動きそうですね。flannelかな?と思って、こちらで試してみたのですが、動作は同じようでした。masterなので、いつどういう動作をするかは、保証されないのでしょうが・・・

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

そして、同じ現象に出くわします。nodeの状態を以下のコマンドで確認するのですが、

kubectl get nodes

ずっと、STATUSはNotReadyのまま。

kube-system(というnamespaceで配置される、システム系のpod)を確認します。

kubectl get pods –all-namespace

すると、kube-controller-manager-****(****は、マスターのマシン名)のSTATUSが、CreateContainerErrorとなったまま。

ふーむ・・・ここでグーグル先生に泣き付く事小一時間。こんな感じで辿りました。

ログ確認

journalctl

Kubicは、Kubernetes関係のログはほぼここに入っています。いるはずです。いると思っています。

すると、こんな感じのログが立て続けに出力されていました。

pod_workers.go:190] Error syncing pod
****************** (“kube-controller-manager-linux-riis_kube-system(*********************)”), skipping: failed to “StartContainer” for “kube-controller-manager” with CreateContainerError: “the
container name \”k8s_kube-controller-manager_kube-controller-manager-linux-riis_kube-system_********************_**\” is already in use by \”************************************
\”. You have to remove that container to be able to reuse that name.: that name is already in use”

******はマスクです。ランダム英数字が入っています。また、linux-riisが、masterのマシン名です。

podのログも確認してみましたが、同じようなログが出力されていました。(はずです・・・もしかしたら、コンテナを生成できなかった、程度だったかもしれません・・・)

kubectl logs pods/kube-controller-manager-****(マシン名) -n kube-system

-nオプションで、namespaceを指定しないと、見つからないと言われるので注意です。

ふむふむ、どうも、IDだかがかぶってしまって、新しいkube-controller-managerを起動できないようです。

ここでイメージとコンテナの確認です。Kubicはcri-oを使っているため、コンテナ関連のコマンドはcrictl、サービスはcrioになります。crictlのホームページはこちら。Dockerと似たような感じで使えるのではないでしょうか。ちなみに、このコマンドが入っているパッケージはcri-toolsです。

サービスステータスをチェックします。

systemctl status crio

CNIのデフォルトネットワークが見つからないよ、というエラーが見えますが、flannelを適応すれば直るでしょう・・・直ると信じたいです。(事実、直りました。)

では、コンテナの確認です。

crictl ps -a

すると、Runningとなっているものと、Exitedとなっているもの、2つのkube-controller-manager-****が。その他にも、kube-apiserver-****や、kube-scheduler-****も同じように、二種類。

Exitedとなっているものは不要なので(不要で終了したのでExitedなはずなので)、削除しましょう。

crictl rm ****(コンテナIDです。先のcrictl ps時に表示されます。)

そして、システム系のpodを確認。

kubectl get pods –all-namespaces

すると、なんと、kube-controller-manager-****が、Runningに変わっているではありませんか!

ただ、ちょっと待ってkubectl get nodesしても、NotReadyだったので、同じくExitedだった、kube-apiserver-****と、kube-scheduler-*****のコンテナも、削除しました。

そして待っていると・・・・無事、masterがReadyになりました。

後は、ワーカーNodeのkubeadm joinもすんなり動き、正常稼働に戻りました。

課題&感想

  • 情報収集の方法をもっと知りたい
  • crictl知ったのは良かった
  • Kubicの再インストールを考えたけど、粘ってみてよかった。(いつもこうとは限らない)
  • 正常時のログとかを認識していないと、異常時にあたりを付けにくい
  • ingressは、Kubic用があるっぽい
  • 今見てみたら、kube-schedulerとか、Exitedなのがあった・・・

火曜日
2018年12月25日


face

openSUSE Advent Calendar 最終日です。おかげさまで、無事完走することができました。皆さん、クリスマスをいかがお過ごしでしょうか?

最終日は毎週日曜日の openSUSE 定例での振り返りと来年に向けてをお送りします。

(ftake) まずはこんばんは
(hashimotosyuta) こんばんわー
(ftake) 最初はふり返りということで、時系列で振り返っていきましょうか
(ftake) 1月は新年会京都と新年会東京、OSC 大阪だった気がします
(ItSANgo) 京都ではお世話になりました。来月4日もよろしくお願いします。
(ftake) 京都の新年会は7人 + kimitoboku さんが参加で、思った以上に集まりました
(ftake) はい、来年の新年会もよろしくです
(ftake) 東京の新年会は…あまり記憶にないです
(hashimotosyuta) openSUSE Asia Summitの打ち上げ兼だった気が
(ItSANgo) calendarの綴はいつも間違えます。
(ftake) OSC 大阪は taniguchi さんの 「Linux デスクトップ & Emacs 徹底攻略!」でしたね
(ItSANgo) その時間はお留守番だったかな、私。
(ItSANgo) ブースを訪れる人が使っているdistributionはArchが多かった印象。
(ftake) それは東京でも同じ傾向が
(hashimotosyuta) 東京でも、Arch使い多かったです でも、Archはブース出されていないんですよね
(ftake) 誰か出せば良いのにと言う話が、秋の東京の展示ブースで出ていましたね
(ftake) さて、2月は OSC 浜名湖と OSC 東京。
(ftake) https://blog.geeko.jp/date/2018/02
(ftake) Portus 祭り?
(hashimotosyuta) あ、私、OSC東京のレポート書いてなかったんですね
(ftake) 浜名湖と合わせて1つという、手抜き感…。
(hashimotosyuta) OSC東京ではPortusの発表をさせて頂きました。もうちょっとユーザ目線のユースケース中心な解説が出来たら良かったです。後、発表を急ぎすぎました
(ItSANgo) こんばんは、2月を振り返り中です。
(hashimotosyuta) こんばんわー
(hashimom) こんばんわ〜(あ、なるほど
(kimitoboku) 実は毎年,自分が浜名湖を書いてないですね(((((
(ftake) OSC 出展したらレポートを書きましょう。って、よく考えたら自分も島根のレポートを書いてないかも。
(hashimom) あ〜・・・・・。
(hashimotosyuta) OSC出展に限った話ではないですけど、レポートって、結構目に止まりますし、後々振り返る時の標石になったりもしますし、「この程度」とか思っていても、書いておいたほうが良かったりしますよね
(ftake) あ、3月に hashimotosyuta さんのブログがあった: https://blog.geeko.jp/date/2018/03
(hashimotosyuta) これ、設定編で、Portusの保管記事なので、直接のセミナーレポートでは無いんですよ XD
(hashimotosyuta) 後、活動の中心には居ない方達にも、ユーザー会はアクティブですよー、って感じてもらえると思いますし 更新とまったWikiとかマジヤバイっす;;
(ftake) さて、4月、5月は記事が何も無いですね。
(hashimotosyuta) s/保管/補完
(ftake) 5月は Leap 15.0 のリリースとかがありました
(hashimom) 5月ってOSC名古屋・・・ry
(hashimotosyuta) (a,
(ftake) うそ、3月、4月が記事無しです
(ftake) で、5月: https://blog.geeko.jp/date/2018/05
(hashimotosyuta) (あ、月ってそういう意味ですか)
(hashimom) OSC名古屋はちゃんとかいてたんですね!
(ItSANgo) 5月に入ると英語の勉強を始めているなぁ、私 (メモを確認中)。
(hashimotosyuta) どんなメモです!?
(hashimotosyuta) 安藤さんの仮想化セミナー一度聞きたいなぁ
(hashimom) OSC名古屋の反省点でzgockさんの代筆です。
(ItSANgo) mockmockという会があって、そこに書いたことを振り返っているんです。
(hashimom) 「openSUSEって仮想化専用とかやや難しいものと思われてるらしい」とのことw
(hashimom) これはzgockさんが人づてに聞いた話らしいです・・・
(hashimotosyuta) なるほどです、mockmock
(ftake) じゃ、Kubic ネタでさらにコンテナ専用感を
(hashimotosyuta) それをOScかAsia Summitで発表しましょうw openSUSEは(日本の一部地域では)仮想化専用とかやや難しいものと思われている
(hashimotosyuta) Kubicあるので、仮想化に力入ってるのは事実ですけどね
(hashimom) まぁzgockさんがそういう方だからですね・・・w
(hashimotosyuta) s/あるので/ありますし
(ftake) 5月は他にも ribbon さんが投稿を2件
(ItSANgo) DコンパイラってあのD言語の?
(ftake) あの D 言語ですね
(ItSANgo) 名前だけは知っている…。
(hashimotosyuta) 私も名前のみ・・・
(kimitoboku) D言語は書きやすくて,謎機能がいっぱいあって良い言語ですよ
(hashimotosyuta) 謎機能がいっぱい、というパワーワードw
(ftake) OneDrive ネタで使ったみたいですね
(ftake) 6月行きましょう
(ftake) https://blog.geeko.jp/date/2018/06
(hashimotosyuta) mini Summitですね 準備させて頂きました。
(hashimotosyuta) その前に、2018のロゴ募集がw
(ftake) あれ、ロゴは今回、日本から1件くらいは出したんでしたっけ?
(hashimotosyuta) それを私も気になっていて・・・
(hashimotosyuta) あ、yoshinonさんが投稿されてますね
(hashimom) もうそろそろ7月かな〜ってタイミングで谷口さんが合流とな。(振り返り中です!
(taniguchi) こんばんは
(hashimom) こんばんわ〜
(hashimotosyuta) こんばんわー 出番です、谷口さん
(ftake) mini Summit は 25人参加(3人無連絡キャンセル)でまずまずの集まりでしたね
(ftake) https://opensuseja.connpass.com/event/86085/
(taniguchi) え?え?何でしょ。
(ftake) 来年は30人を目指して。
(hashimotosyuta) もうちょっと参加人数増やしたかったです 力不足 ;;
(ItSANgo) Geeko Magazine 2018夏号
(ftake) 7月: https://blog.geeko.jp/date/2018/07
(hashimotosyuta) 来年は30人目指したいですね
(ftake) Geeko Magazine 夏号と、OSC 北海道
(hashimom) 夏と言えばOSC京都!・・・の前に北海道もあったw
(hashimom) (まってみなさんOSC京都忘れてる!←正確には記事がないとも言う?
(hashimotosyuta) OSC京都8月じゃありませんでしたっけ?
(taniguchi) 今年はさらにがっつりと openSUSE に関わった年だったように思います。
(taniguchi) osc 京都は 8 月ですね。
(hashimotosyuta) すばらしいと思います :)
(hashimom) あ〜、8月になるのか。
(hashimom) (あれよくわからないのよね。。。7月末だったり8月頭だったり
(ftake) で、北海道はどうでした?
(taniguchi) ここ数年は8月第1週ぐらいになっているような。
(taniguchi) 海鮮丼おいしかったです(違
(hashimotosyuta) 海鮮丼羨ましいです :)
(taniguchi) 全体が「若い」印象がありました。
(hashimotosyuta) 若い羨ましいです :)
(taniguchi) 手作り感というか、学生の空気が漂っている感じ。
(taniguchi) 私自身が初参加だったからだというのも大きいと思いますが、
(taniguchi) OSS を楽しんでいるというか、色んな可能性を探っているような感じ。
(hashimom) もともとあっきぃさんもOSC北海道出身ですし、学生の方が多いかな〜って印象はありますね
(hashimom) 私は行ったことないけど!!
(taniguchi) OSC 京都だと、定番化しているというか、知っている人が知っている所に来ている、というか。
(ftake) 来年の北海道は 5/31, 6/1 でちょっと時期がずれています。
(hashimotosyuta) 結構、違いがあるんですね、京都、北海道、東京
(taniguchi) 悪い言い方をすると「いつもの人がいつものように集まってるだけ」な感じがしてます。
(taniguchi) ご新規さんが少ない印象←OSC 京都
(hashimom) なるほど。です。w
(kimitoboku) 京都は学生がいっぱいいるはずなんですけどねぇ
(hashimom) ちなみに来年はOSC名古屋が7月になりますね
(hashimotosyuta) ・・・・来年のmini Summitはいつごろやりましょうか。
(ftake) いつも通りのルールだと
(ftake) 7/20ですね
(taniguchi) 学生さんたちにとっては、OSSは参加するものじゃなくて、会社で使うものになってしまっているのかなあ、と思うです。
(hashimotosyuta) 7月の第三土曜日でしょうか?(話脱線申し訳ない)
(ftake) Open Source Summit Japan の翌日
(ItSANgo) なるほど >使うもの
(hashimotosyuta) OSS、という概念を知らない方も多いのかな、と。IT系以外の学生の方は
(ItSANgo) IT系以外の人がOSSを知っていたらびっくりです。
(hashimotosyuta) あ、なるほどです。Open Source Summit Japanの翌日・・・なんで自らハードルあげる日なんでしょうwそれとも、テンション引き継ぎたい??
(ItSANgo) IT系の人がOSSを知らなかったら困りますが。
(hashimotosyuta) この間、ちょっとIT系以外の学生さんとかと接したのですが、OSSを知らない方ばかりでした。さすがにIT系の方はご存知でした
(ftake) OSSJ で来た SUSE の人、openSUSE の人を呼べるかもしれないという理由です。
(hashimotosyuta) あ、なるほどです。確かにそういう意味では、去年、CTOはチャンスありましたものね
(hashimom) (まぁOSSの人がご存知な方多ければ、どこぞの中華系企業の発表会で『Linuxカーネルをチューニングして音楽をよくしました』とかいう話あっても記事にならないw
(hashimotosyuta) では、来年はOSSJでアプローチがんばります :) (この発言がAdvent Calendarに残っていいのだろうか)
(ftake) 事前に告知しておかないと、OSSJ 会場でアプローチしても調整が効かないかもしれないですね
(ftake) さて、8月です: https://blog.geeko.jp/date/2018/08
(hashimotosyuta) うぉっふ Asia Summit、愉しませて頂きました :)
(taniguchi) 台湾行きたかったなぁ…
(hashimotosyuta) 台湾、すごく良かったですよ。台湾の街もよかったですし、Asia SummitやCOSCUPも。
(ItSANgo) (個人的な話: この月からダイエットを始めました。)
(taniguchi) (悔しいので、来年行くために貯金中。
(ftake) Asia Summit の記事は9月にもあります: https://blog.geeko.jp/date/2018/09
(hashimotosyuta) スピーカーで参加して、TSP申請という方法もあります :)
(hashimotosyuta) (あ、個人的に、7月はキックボクシングの試合でKO負けしました)
(kimitoboku) 来年は観光地なので,ちょっと交通費がお高そうですかね
(taniguchi) 来年はどこでしたっけ?
(ItSANgo) (そういや後輩がムエタイ始めました。)
(ftake) 交通費は、遠いから高いという感じになりそうです
(hashimotosyuta) (ムエタイ始めたとかいいですねー)
(ftake) 宿はグレードによる…。
(ftake) 来年はバリですよ
(kimitoboku) 来年はバリ島(インドネシア)(予定)ですかね
(ftake) その前に5月に openSUSE Conference なんてのもありますが…
(hashimotosyuta) 観光シーズンで日程提案してたんですけど、高いのでやめてー、日程ずらしてーってお願いしました、来年のAsia Summit
(hashimotosyuta) oSC(さっきは間違えました)、発表提案は出してみる予定です。
(taniguchi) バリですかあ…いいなぁ…
(hashimotosyuta) 谷口さん、是非発表提案 :) 
(taniguchi) (すっと目をそらす
(hashimotosyuta) Asia Summit、openSUSEは割とコミュニティ活動に関する発表が興味深かったです。
(hashimotosyuta) (そらした目を追いかける
(ftake) 10月: https://blog.geeko.jp/date/2018/10
(ftake) OSC 東京
(hashimotosyuta) 私もレポート書いたのですが、次月となってしまいました
(hashimom) (あ、ここにセミナーの時の写真があったのか・・・・・・・
(ftake) あとは https://opensuseja.connpass.com/event/101835/ も
(hashimotosyuta) そうそう、mini Summitからですけど、井川さんが活動に関わってくださるようになりましたよね。うれしいです。
(hashimom) 本当にそう思いますね!!
(ItSANgo) 21:30を過ぎたので寝ます。おやすみなさい。
(ftake) 前回のセミナーは、会場にそもそも人がいなくて残念でしたが
(hashimotosyuta) あ、ユーザ会活動方針打ち合わせの取りまとめ、blogに書くとか言っておいてしていない・・・申し訳ないです。
(hashimotosyuta) ItSANgoさん、おやすみなさいです。
(ftake) 今後もテクニカルな話をしてもらいたいですね
(ftake) @ItSANgo おやすみなさい
(hashimotosyuta) 環境によっては、すごく面白い話だと思うんですよね、井川さんのセッション
(hashimom) OSCだと・・・っていうのがあるのかな〜???
(hashimotosyuta) 今一、OSC東京の参加者のニーズがわからない・・・
(hashimotosyuta) ItSANgoさん、振り返りに関して、何か発言しておきたい事とかありましたら、是非
(hashimom) 東京だと初心者向けのほうがウケが良くて、地方だとマニアックな方がウケがいい……って話だったりしてw
(hashimom) (でも事実そんな気もしなくもない。東京は何か聞きたければ他の場所行けばいくらでも聞けるし・・・とかとか?
(ftake) 専門的なイベントは色々ありますからね…
(ftake) 11月に行きましょうか
(ftake) https://blog.geeko.jp/date/2018/11
(hashimom) だからもっとギーコを前面に出そうよ!!!(笑)
(taniguchi) KOFは、こじんまりした OSC のように感じましたです。
(hashimom) (最近ちょっとKOFが元気がない・・・だよね・・・
(ftake) 11月は島根にも行ったのですが、こちらもちょっと元気がなく…
(hashimotosyuta) KOFは、評判はよく聞くんですけどね
(taniguchi) 先の OSC 東京での話と繋がるように思うのですが、KOF や OSC 京都が初心者向けイベントでなくなってるように思うです。
(ftake) ブースは想定以上の申し込みだったようで、展示会場が拡張されました。
(hashimotosyuta) (個人的に:この月はフルマラソン走りました)
(hashimotosyuta) 古参者の同窓会的な、というイメージでしょうか?(ちょっと悪い表現になってしまいますが)
(taniguchi) はい、そんな感じです。
(hashimotosyuta) よく知っている間柄が、今何してるか?を確認し合う所っていうのも、重要だとは思いますよね。
(hashimom) この前東海道らぐでKapperさんが話してましたけど、その辺りがMaker Fairとの違いかもしれませんね。
(hashimom) https://www.slideshare.net/kapper1224/minimakerfaire-in-2018-ommf2018
(hashimom) このお話。
(hashimotosyuta) それで、KOFではopenSUSEはどのような感じでした?
(hashimom) 私はほとんどそっちにはいなかったので・・・・・
(taniguchi) OSC とそれほど違いはなかったですね。「以前使ってました」という方とか「りなっくす…ですか?」という方とか。
(hashimotosyuta) なるほどです。
(hashimom) KOFは本来OSCよりも一般客が多いイメージがあったんですけどね・・・
(hashimom) そこへ突然超マニアックな方が来てドキッとするみたいなどっきり話とかw
(taniguchi) あるあるw<突然濃い人が来る
(ftake) 12月: https://blog.geeko.jp/date/2018/12
(ftake) 現在進行形ですが…
(kimitoboku) アドベントカレンダーの月ですね
(kimitoboku) adventar.org/calendars/3372
(ftake) 過去にないペースで Blog 投稿ができています。今後のことを考える会で、Blog をもっと書くというのは実現できたかな?
(hashimotosyuta) 素朴な質問なんですけど、簡単なトピックなんかも、geeko blog 

月曜日
2018年12月24日


face

この記事は オープンソースカンファレンス Advent CalendaropenSUSE Advent Calendar の 24日目です。

この記事を読んで下さっている方は、オープンソースカンファレンス(OSC)で日本 openSUSE ユーザ会のブースを見たことがあるでしょうか?あの緑色の生き物(カメレオン)のぬいぐるみが積み上げられたブースです。最近はおとなしめですが、何年か前はおーぷんここんの狐のぬいぐるみや、オアシス君が結集して賑やかでした。

今日はこの openSUSE ブースを運営するノウハウを共有したいと思います。

ブースは立体的に盛る

OSC では、スペースは基本的には机1個と決まっていますので、ぱっと見たときに寂しいなと感じないようにするには、縦方向を上手く使うのが大切です。

openSUSEブースは下はテーブルクロス、上はミニのぼりを配置しています。特大ギーコぬいぐるみの下に青色の道具箱が毎回置いてあるのも、立体的に見せるためです。展示物の輸送にコストをあまりかけられないため使っていませんが、後ろにバナースタンドを置くのも良いかと思います。

デモ用のPCの高さを上げてあるのもポイントです。机の上の直置きだと、立ったまま見る・操作するには低すぎてしまいます。そこで100円ショップのプラケース2台を足にして、画面とキーボードの高さを上げています。

チラシ

openSUSEユーザ会ブースでの主な配布物は、チラシとステッカーです。OSC 東京では機関誌(同人誌)の販売もしています。

この中でも重要なのがチラシです。チラシは A4 カラー両面を2つ折にしたものです。受け取った後の仕舞いやすさ、印刷コスト(200枚で2000円以下、またはカラーレーザープリンタで印刷可能)、見た目のバランスを考えてこの形になりました。

チラシの内容(2, 3 ページ)は openSUSE のリリース情報や、セミナーの内容に合わせた技術的なことを入れるようにしています。内容は少なくとも年2回のOSC東京ごとに更新しており、毎回来ている方にも受け取ってもらえるようにしています。4 ページ目は openSUSE を知らない人向けの情報をまとめており、およその内容は10年ほど変わっていません。


声かけ

openSUSEブースでは、ここは一体何?という感じで近づいて下さった方に、まずはチラシを渡しつつ声かけをするようにしています。毎回 openSUSE をご存じですか?と最初は質問をするのですが、最近の OSC 東京では知らないという回答はかなり少なくなってきました。

ブースでの話が盛り上がることもよくあり。ブースでの一人あたりの平均滞在時間は長い方なのではないかと思います。ぜひ、お気軽にお立ち寄り下さい。

セミナー

ブースではありませんが、少しだけ。openSUSE のセミナーは、openSUSE の紹介(10分)+ アプリケーションなど、直接関係ない話と言う構成が多くなっています。と言いますのも、openSUSE のようなマイナーディストリビューション特化の話だと、ほとんど人が集まらないからです。そのため、アプリケーションよりのネタで人を集めつつ、プログラムのリンクをクリックしてもらえそうなキャッチーなタイトルになるように工夫しています。

例えば次のようなものがありました。

  • Ruby でできていると言っても過言ではない Linux ディストリビューション — openSUSE
  • トランザクショナルアップデート ― Btrfs を活用したパッケージ更新方法 / OpenStack アップストリーム開発者が語る、オープンソース開発の裏話
  • openSUSEで作る仮想化環境 ― KVM, Xen, Docker, etc. 仮想化技術の選択のポイント
  • Portus でプライベート Docker レジストリを作ってみよう
  • Solrで日本語全文検索システムの構築と応用~ドキュメント検索からオンラインショッピングサイトへの応用まで~
  • 今さら聞けない — Linux コマンドラインツールテクニック その1

今後、出展・発表をしてみたい方へ

OSC は新規出展の見た目上のしにくさが1つの大きな課題となっていると思います。しかしながら、実際にはそこまで大変ではありません。

1つの大きな難しさはコミュニティを立ち上げないといけないように見えることです。コミュニティを立ち上げるには、その OSS の誰かに許可を求めないといけないのではないか、複数人集めないといけないのではないのか、そもそもコミュニティを立ち上げられるほど、使って・貢献して・… ・いないなど、できない理由がいくらでも思いついてしまいます。

実際のところ、コミュニティ名義で出展する必要はなく、個人としてブースを出す、出展することも可能です。申し込み書がコミュニティとしての出展を前提とした内容になってしまっており、ここも抵抗感があると思いますが大丈夫です。

また、東海道らぐのようなごちゃまぜコミュニティに参加して、まずは東海道らぐの枠でライトニングトークをしてみるというのも良いのではないかと思います。

私個人としては、まだコミュニティ化されていない、時によってはマイナーな OSS のユーザーや開発者がOSCで発表して、そこから人が集まるようになったり、流行の OSS を使って○○してみたのような、経験を語るような発表がもっとあると、今後も OSC が盛り上がり続けることができるのではないかと考えています。

おわりに

なかなか書く機会のなかった openSUSE ユーザ会の出展ノウハウを書いてみました。OSC の特徴のコミュニティブースがよくなることが、来場者数が減少気味な OSC の盛り上げにつながるのではないかと期待しています。

明日は Advent Calendar 最終日です。オープンソースカンファレンスは久保田さんによる来年の OSC の計画の話です。openSUSE は明日も私で、昨日の定例での1年のふり返りと来年に向けてを書きます。


水曜日
2018年12月19日


face

この記事は openSUSE Advent Calendar の 20日目です。完走も見えてきました。

さて、今日は Twitter などでときどき質問が飛ぶ Google Chrome のインストール方法です。

openSUSE では Google Chrome の OSS 版である Chromium がパッケージとして提供されています。普通のウェブサイトを見る分にはこれでよいのですが、Flash Player が必須なウェブサイトや、DRM で保護された不自由なコンテンツを見るために、ときどき Chrome が欲しくなるときがあります。

それでは、インストール方法です。

(1) Google のリポジトリのGPG 公開鍵のインポート

Chrome のパッケージを署名している鍵の公開鍵をインポートします。この手順を飛ばすとパッケージの署名チェックでエラーになってしまいます。

wget https://dl.google.com/linux/linux_signing_key.pub
sudo rpm --import linux_signing_key.pub

こちらのページにも手順が書かれています:
https://www.google.com/linuxrepositories/

(2) Chrome をダウンロードする

ブラウザで Linux 用の Chrome のrpmファイル(Fedora/openSUSE用)をダウンロードします。

https://www.google.com/chrome/

※Windows などからダウンロードする場合は、画面の下部に「他のプラットフォーム」というリンクから Linux 版のダウンロード画面にたどり着けます。

(3) セットアップを実行する

ダウンロードした rpmファイルを zypper でインストールします。

cd ダウンロード
sudo zypper in ./google-chrome-stable_current_x86_64.rpm

おわりに

以上、Chrome のインストール方法でした。Amazon Prime などの動画配信サイトが見られないといったような場合は、Chrome を試してみて下さい。

明日は「openSUSEでディスクの健康状態を取得」です。


火曜日
2018年12月18日


face

この記事は、「openSUSE AdventCalendar 2018」19日目の記事です。

皆さんこんばんわ。橋本修太です。

今日は、本家MLでみかけた豆知識について紹介したいと思います。

スレッドの流れ

①投稿者は、古いラップトップがTumbleweedで上手く動かないようです。でも、Windowsや、Leapだと上手く動く模様。そして、エラーメッセージを添付しています。

②エラーメッセージを見た他の方が、対処方の書かれたページを案内してくれます。「グーグルすれば見つかるよ」

③投稿者は、そこにかかれてあった方法で無事に解決しました。「なんてことだ、どうしてぐーぐる事をすぐ忘れてしまうんだ」(すみません、多分な訳です)

めでたしめでたし・・・・なのですが、この次に、SUSEで カーネル開発を行っている岩井氏が、次の投稿を。

④【意訳・一部抽出】ちょっとこのバグについて補足を。どうしてこの現象がLeapでは起こらないかと言うと、Leapのカーネルにはワークアラウンドを適用していて、この手のバグが発生しないようにしている。それに対して、Tumbleweedは可能な限りupstreamに近い形を保持しようとしているので、こういうワークアラウンドは適用していない。そのうちupstreamで修正されるんじゃないか?

※①のMLはこちら 右下のnextから次の投稿へ進めます。

ふむふむ。確かに、TumbleweedとLeapのコンセプトに合うやり方ですね。

カーネル

そこで、カーネルのパッケージを眺めてみたのですが・・・申し訳ありません!リテラシーが無さ過ぎて、ここだ、という部分は見つけられませんでした。

眺めてみたページはこちら。

kernel-source.changesを比べてみるのが、それっぽかったです。Tumbleweedは次々と新しいバージョンのカーネルが適用されるログが見られ、Leapは長いことパッチ適用が続いています。(少なくとも、そういうふうに見えました。)

TumbleweedはTumbleweedで、パッチ類は何もしていない、という訳でもなさそうですね。

課題&感想

  • カーネル読みたい
  • そもそもOBSでのパッケージングを知りたい
  • 機会があれば岩井さんとお会いしたい
  • Tumbleweedの方にだけ、klpなんとかっていうのがあって、どうも、Kernel Live Patchの事っぽい

明日は @ftake さんによる、openSUSEでChromeを使う方法です。こちらもemacsインストールの記事等のように、即効性の高い記事になりそうですね。こうご期待。


月曜日
2018年12月17日


face

openSUSE Advent Calendar ももう17日目ですね

今日はこの blog が動いている geeko.jp のサーバーのメンテナンスの話です。このサーバーは ConoHa で動いており、13.1, 42.3 とアップデートをしてきました。今回は42.3 から 15.0 にアップデートしました。

アップデート方法

いつもオンラインでアップデートしています。クラウドの場合、ディスクイメージをダウンロードして、ConoHa にアップロードし、インストーラを起動してアップデートはちょっと大変です。オンラインアップデートであればリポジトリの URL を書き換えて zypper dup するだけなので簡単です。

リポジトリのURLを書き換える方法はいくつかありますが、YaST のリポジトリ設定からバージョンの部分を書き換えるのがオススメです。

zypper dup --download-only
zypper dup

ディスク容量には余裕があるので、一度ダウンロードが完了するのを待ってから、アップデートを適用しました。

MySQL から MariaDB へ

15.0 には、これまで提供されてきた mysql-community-server のパッケージがなく、完全に Maria DB に置き換えられています。やったことは以下の3つです。

  1. mariadb のパッケージをインストールする
  2. 設定ファイルを更新する
  3. systemctl で mariadb を自動起動するようにする

設定ファイルは、新しい設定ファイルをそのまま使いました。一応、これまでのファイルと新しい設定ファイル /etc/my.conf.rpmnew を比較したところ、内容はかなり増えていますが、コメントアウトされた部分以外はほとんど同じでした。

+bind-address = 127.0.0.1
+log-error = /var/log/mysql/mysqld.log
+secure_file_priv = /var/lib/mysql-files
-sql_mode=''
+sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

SuSE Firewall2 から Firewalld へ

Leap 15.0からCentOSなどでお馴染みの firewalld が使えるようになりました。これまでのSuSE Firewall2 も引き続き使うことができます。移行する場合は手動で SuSEfirewall2 パッケージを削除して、firewalld をインストールする必要があります。

Firewalld では次のように使用したいサービスのポートを開けられます。

firewall-cmd --permanent --add-service https
firewall-cmd --reload

Let’s Encrypt で TLS に対応

アップデートしたついでに、Webサーバーを TLS に対応させました。証明書は無償の Let’s Encrypt で取得しました。

Let’s Encrypt の certbot コマンドを使えば、証明書の取得から Apache の設定まで1コマンドです。このあたりの細かい話は Geeko Magazine SP 2018冬号に書いていますので、ぜひ読んでみて下さい。

変わらなかったもの: PHP とPerlアプリケーション

geeko.jp で動いていた WordPress や Vanilla Forum、Pukiwiki はそのまま動きました。このあたりは 13.1 からのアップデートと比べると、とても楽でした。

おわりに

ということで、大したことではありませんが、geeko.jp のサーバーをアップデートしたときの話を書いてみました。42.3のサポート期間はあと半年くらいですので、これから 15.0 にアップデートする方は参考にしてみて下さい。

明日は鹿さんが USB オーディオの話の続きを書いてくれるそうです。

 

 

 


日曜日
2018年12月16日


face

この記事は、「openSUSE AdventCalendar 2018」16日目の記事です。

皆さんおはようございます。橋本修太です。

さて、先日jaのMLにこんな投稿がありました。

【意訳】

openSUSE(Kubic)でCloud Foundry動かしたことある人います?

Kubicのキーワードが目に止まり、はて、Cloud Foundryとは?と思った私は、調査してみました。

本記事は情報収集のみとなります。「やってみた」は次の機会になりますこと、ご了承ください。

Cloud Foundryとは

ホームページはこちら。概要を纏めてくださっているページが幾つか有りますので、それらを見ていきますと、どうやら、webアプリケーションのソースコードをpushするだけで、ビルド・デプロイを自動で行ってくれる、オープンソースのソリューションの模様(商用版もあり)。イメージとしてはherokuに近いですね(こんな記事もありました)。

「アメリカのFortune 500企業のうち約半数が導入済み」といった謳い文句も見られますね。

インストール方法

いくつかあるようです。Cloud Foundry自体、複数のコンポーネントで構成されるソリューションなので、手順があったり、インストールを支援してくれるソリューションがあったりします。

また、Pivotal、SUSEなどがチューニングしたソリューションもあって、それぞれ強みがあるようです。

ちなみに、Cloud Foundryとやりとりを行うコマンドラインツール群、cf-cliは、openSUSEにパッケージがありました。(動くかな?)

A. PCF-DEVをインストール

PCFとは、Pivotal Cloud Foundryの略です。Pivotalはクラウドで有名な会社のようです。

ここが展開している、ローカル開発用のCloud Foundry、PCF-DEVが、インストールしてみるには丁度良いよ、という投稿もstack overflowで見たりしました。

構成としては、Linux(私の場合openSUSE)の上に、VirtualBoxを動かし、その中でPCFを動かすようです。

インストール方法はこちら

B. BOSHでインストール

BOSHは、Cloud Foundryの導入・運用を制御するソリューションのようです。

単一マシンに展開したり、クラスタ構成に展開したりもできるようです。

通常、Cloud Foundryをインストールと言えば、この方法が正攻法?なのかもしれません。

C. SUSE Cloud Foundryをインストール(on Vagrant)

SUSEも、Cloud Foundryには力を入れていて、チューニングしたソリューションを持っていました。

githubはこちら

主なチューニング点として、以下が挙げられていました。

  • Kubernetes(Docker)の上で動くように、Cloud Foundryのコンポーネントのコンテナライズにfissileを使っている
  • Cloud FoundryのコンポーネントはopenSUSE Steamcellで動く
  • オプションとして、Cloud FoundryのAppをopenSUSE stackのpreviewで動かす事が出来る

Steamcellだの、stackだの、previewだの、ちょっとピントこない単語が沢山・・・これらはおいおい調べていく事にしまして、1番目に付いて、もともとCloud FoundryはKubernetesの上で動くようには作られていなかったのですが、そこをSUSE等が開発したとの事です。

件のgithubには、on Kubernetesで動かす方法も記載されているのですが、ここではPCF-DEVと同じように、VMの上で動かす方法を。

Disclaimerに、「openSUSE 42.xは、libvirtでテストしてますよ」とあります。ここが42.xになっているのが、ちょっと気になるところですが・・・(あと、SUSEのgithubなのに、openSUSEがOpenSUSEになっている所とか)

あとは、Deploying SCF on Vagrantのセクション通りにやっていけばよさそうです。

ただ、要件にいきなり「メモリは16G以上は用意してね」とあって、私のデスクトップはもう無理状態です。

D. SUSE Cloud Foundryをインストール(on Kubernetes)

C.で触れましたが、Kubernetesの上にインストールできるのが、SCFの強みとの事。Helmでインストールするようですね。インストールページには要件等書いてありますので、適応させて行けば動くでしょうか?

ちなみに、環境チェック用スクリプトがあるのですが、Kubic上で走らせた所、半分ぐらいerrorとなってしまいました。

課題&感想

  • やってみる!
  • もう少し、正確かつ精密な情報を収集し、記事にする

駆け足で情報収集だけしたのですが、結構複雑な構成をしていて、ちゃんと理解しようとするとそれなりのボリュームになりそうです。使う側は、ソースコードをcf pushすれば、デプロイまで完了、とやりやすい事この上無いですね。

では、16Gメモリを積んでいるノートPCがあるので、近いうちにやってみたをやってみたいと思います。

明日は @ftake さんの、geeko.jpをメンテナンスした話ですね。塩漬けに近かったサイトですので、色々と面白い話題が出てきそうです。こうご期待。

 

 

 

 


金曜日
2018年12月14日


face

この記事は、「openSUSE AdventCalendar 2018」15日目の記事です。

今、諸事情でぜーんぜんアップグレードしていない、openSUSE13.2(32bit)のマシンがあります。さすがに何とかしたいのですが、最近のopenSUSE は 64ビット。アーキテクチャが違います。果たしてそのままアップグレードできるのでしょうか?
ということで、実際にどうなのか、実験してみることにしました。

まずは、openSUSE 13.2 (32ビット版)をテスト用の仮想環境にインストール。ただ、13.2は、すでにopenSUSEのサイト(ミラー含む)には存在していません。探しまくったあげく、ここにあることを発見。ダウンロードしました。一応 zypper update も動いたので、可能な限り最新版にしておきます。
次に、Leap 15.0 のDVDイメージを仮想環境にマウントし、DVDイメージからブート。アップグレードを選びます。一応通常通り起動し、アップグレードが始まります。しかし途中でアーキテクチャが違うという警告メッセージが出てしまいました。

警告なので、ここは取りあえず「続行」を選び、先に進むことにします。その後は特に警告が出ることもなく、無事アップグレードが終わり、Leap 15.0(64ビット版)にアップグレードができたようでした。

ただ、アップグレードすると、各ソフトウェアのバージョンもかなり上がります。とえば Samba は4.2.4から4.7.10になります。当然機能差があるので、個別に変更点を吸収していく必要があります。


火曜日
2018年12月11日


face

この記事は「openSUSE AdventCalendar 2018」12日目の記事です。

※2018/12/15 頂いたコメントを反映しました

全国1名※1のDvorakキーボード配列ユーザーの皆様、こんばんわ。橋本修太です。

※1 独自調査(要するに、私は一人しかDvorakユーザーを知らないのです・・・)

それでは、早速openSUSEでキーボード配列をDvorakにする方法を見てみましょう。

結論 YaSTで設定

YaST > ハードウェア > システムキーボード配列 と辿っていきます。

そして、このシステムキーボード配列を選択すると出てくる一覧から、「Dvorak」を選択します。

一番上なので、選びやすいですね。みなさんもどんどんこのDvorakを選択していきましょう。

Dvorakとは

Dvorak博士が考案した、タイプしやすさを考えたキーボード配列です。左手の小指の所が「a」なのは変わらないのですが、そこから内側に向けて「o」「e」「u」「i」となっています。これ、ローマ字タイプですと、母音に当たりますね。なので、感覚的に右手、左手、右手、左手、と、リズムを刻むように交互に指を動かす感じになって、スムーズにタイプが出来ます。

配列の全容は先程のページでどうぞ。タイプ負荷か減るので、腱鞘炎の予防にもなるとの事です。

使っている感想としては、キーがほぼホームポジションで足りるので、指を少ししか動かさずにタイプ出来ます。QWERTY時の幅広く指を動かさないといけないダルさが全く無いです。素直に、楽ですね。

一般的なキーボード配列

対して、一般的なキーボード配列は「QWERTY」と呼ばれています。左上の「Q」から右に向かってキーを読んでみましょう。ほら、「QWERTY」になりましたでしょう。

このQWERTY、生い立ちには諸説あるようですね。様々な理由から少しづつかわっていって、この形になったようです。

その他の設定方法

さて、さっきはぱぱっとYaSTでDvorakを設定してしまいましたが、X環境下なら以下のコマンドで設定も出来ます。

setxkbmap dvorak

これをXmodmapに書いておけば、Xセッション開始時にDvorakにする事も出来ますね。

ちなみに私はXmodmapには以下の設定を書いています。

!replace 無変換 to Alt_L
keycode 102 = Alt_L
!replace 前候補変換 to Alt_R
keycode 100 = Alt_R

スペースの左の「無変換」を左Altに、右の「変換」を右Altに、それぞれ割り当てています。

※2018/12/15追記

@ftakeさんより、コメントを頂きました。

ibus-mozc を使っている人は、エンジンに Mozc (Dvorak) を追加するだけでも使えます。Mozc (JP) や Mozc (US) も追加しておけば、Super+Space でレイアウトの切り替えもできます。

との事です。をを、なるほど。

そう言えば、その昔、この辺りの設定でDvorakにした事があったような・・・

と、いうことで

YaSTで簡単設定なので、是非皆さんもDvorak試してみましょう。すっごく楽ですよ。

課題&感想

  • 職場のキーボードはQWERTYから変更できなかったりする
  • emacsのキーバインドが意図された動きでなくなる
  • 物理的にプリントされているアルファベットが参考にならないため、ランダム文字列のパスワード入力とか至難
  • YaSTの設定は結局何処の何を設定している?
  • 右手、左手、の交互打鍵が、たまに入れ替わってしまう
  • ログイン時はQWERTYで、コンソールでもXでも、ログインしたらDvorakにしたい

そういえば、以前ribbonさんにタイピング練習ソフトを紹介して頂いたような・・・ribbonさん、何でしたっけ?

※2018/12/15追記

@ribbonさんより、教えて頂きました。

GNU Typist https://www.gnu.org/software/gtypist/ の、たぶん前身です。
今見てみましたが、Dvorakコースがあります。

今度やってみたいと思います。

明日はemaxserこと、川上さんの、openSUSEでDropboxを使う記事です。即効性の高い記事になりそうですね。こうご期待。


月曜日
2018年12月10日


face

いつもの告知ですが、openSUSE Advent Calendar の 11日目です。

Geeko Magazine Special Edition 9巻目となる 2018冬号を発行します。

最初の頒布は12月30日(日)のコミックマーケットC95 2日目、東テ-53b です。その後、京都での openSUSE 新年会、2月の OSC 東京などで頒布する予定です。

今回の内容

  • openSUSEからGoogle Driveを使う
  • Kubicでお手軽Kubernetes
  • SICEで快適! Proxmox-VE
  • Let’s EncryptでHTTPSを使えるようにする
  • 格安ローミングSIMを持って海外旅行に行こう!
  • 小説『鏡のむこう』第4話 秋霞
    openSUSE Leap 15.0で『ハチプロ』を鳴らしてみよう!

近日中に見本をWebカタログで公開する予定ですので、こちらのお気に入り登録もよろしくお願いします。
https://webcatalog.circle.ms/Perma/Circle/10269059/

過去のブログエントリー ->