タグ

ブックマーク / gihyo.jp (70)

  • 第315回 apt-cacher-ngを使ってAPT用キャッシュプロキシの構築 | gihyo.jp

    複数台のPCでパッケージのインストールを高速化するためにapt-mirrorを使用している、という例を見かけることがちらほらあります。APT用のキャッシュプロキシがあまり知られていないようなので、今回のレシピでは、APT用のキャッシュプロキシとapt-offlineによるオフライン環境でのインストールについて紹介します。 複数PCでのインストールを高速に行う Ubuntu搭載のPCや仮想マシンを複数台動かしている場合は、インストールやアップデートの際に各PCで同一のパッケージをダウンロードするため、時間がかかったりネットワーク帯域を浪費しがちだったりします。クラウド環境で、数十台~数百台単位でサーバーを管理している場合ならなおさらです。そういった場合は、リポジトリのミラーを作成するか、キャッシュプロキシを利用すると、パッケージ取得が高速に行えます。 前者は、連載の第47回でapt-mir

    第315回 apt-cacher-ngを使ってAPT用キャッシュプロキシの構築 | gihyo.jp
    aont
    aont 2024/07/03
  • 第775回 step-caで自前のLet's Encrypt/ACMEサーバーをUbuntu上に構築する | gihyo.jp

    最近のWebサイトを表示する際は、サーバー証明書とTLSを利用したセキュアな接続が大半になってきました。これはセキュリティ意識の向上もさることながら、Let's Encryptに代表される「サーバー証明書の更新の自動化」もその一助となっていることでしょう。今回はこのLet's Encryptっぽいサービスをローカルネットワーク内部に構築してみましょう。 図1 step-caを使えば、自己署名証明書であってもLet's Encryptと同じ方法で自動更新できる Let's EncryptとACMEプロトコル Let's Encryptは無償でサーバー証明書を発行し、自動的に更新処理を行える認証局です。インターネットに関わる名だたる企業・団体の多くが参加することで、300万サイト以上という非常に多くの利用者を抱えているにも関わらず、10年以上に渡って無償でオープンな組織運営を続けています。 L

    第775回 step-caで自前のLet's Encrypt/ACMEサーバーをUbuntu上に構築する | gihyo.jp
    aont
    aont 2024/07/01
  • Python製静的サイトジェネレーターSphinxでWebサイトを構築して公開 | gihyo.jp

    鈴木たかのり(@takanory)です。今月の「Python Monthly Topics」では、Python製の静的サイトジェネレーターSphinxを使用してWebサイトを構築し、テーマを適用、外部へ公開する流れについて紹介します。後半ではSphinxの便利な拡張機能を紹介し、Webサイトをより便利にしていきます。 Markdownでドキュメントを書くだけで、きれいなWebサイトが簡単に公開できるので、ライブラリのドキュメントなどでもよく使われています。 Sphinxとは SphinxはPython製の静的サイトジェネレーターです。静的サイトジェネレーターとは、Markdown等の軽量マークアップのテキストファイルから、静的なWebサイトを生成するアプリケーションのことを言います。Python製の静的サイトジェネレーターにはSphinxを含め以下のツールなどがあります。 Sphinx:h

    Python製静的サイトジェネレーターSphinxでWebサイトを構築して公開 | gihyo.jp
    aont
    aont 2024/06/27
  • 第819回 Ubuntu 24.04 LTSのリモートデスクトップを深掘りする | gihyo.jp

    今回はリモートデスクトップ機能に関して、Ubuntu 24.04 LTSでの挙動、またコマンドラインでの設定方法を解説します。 リモートデスクトップ機能の変更点 リモートデスクトップに関して、22.04 LTSに実装(バックポート)されるまでのドタバタは第713回で詳しく述べたので、繰り返しません。今から振り返ると、このドタバタは24.04 LTSリリースのドタバタと比べるとまだかわいいものだった気もします。 それはさておき、リモートデスクトップ機能を簡単に説明すると、別のPCからデスクトップを閲覧また操作するための機能です。 Ubuntu 22.04 LTSから23.10までのリモートデスクトップ機能の変更点は、VNC機能が削除されたことくらいです。すなわち、プロトコルとしてRDPのみのサポートになりました。 23.10から24.04 LTSの変更点は、リモートデスクトップ機能の設定箇所

    第819回 Ubuntu 24.04 LTSのリモートデスクトップを深掘りする | gihyo.jp
    aont
    aont 2024/06/26
  • 第791回 自作のカーネルモジュールをDKMS対応にする | gihyo.jp

    長い人生において誰もが一度は遭遇するであろう経験のひとつが「カーネルモジュールのビルド」です。ちょっと盛りすぎではないかと思われるかもしれませんが、それでも連載の読者層であれば、おそらく大半の人がなにがしかのカーネルモジュールをビルドしたことがあるのではないでしょうか。今回は自作を含むサードパーティのカーネルモジュールの管理が楽になる「DKMS(Dynamic Kernel Module Support)」の使い方と、セキュアブートへの対応方法を紹介します。 Ubuntuのカーネルについて Ubuntuのカーネルは、アップストリームであるLinuxカーネルの特定のバージョンに対して、Ubuntu独自のパッチを加えて構築されています。その仕組みにはUbuntu固有の手順も多く、連載ではこれまでにもさまざまな方法でカーネルをビルド・インストールする手段を紹介してきました。代表的なものだけで

    第791回 自作のカーネルモジュールをDKMS対応にする | gihyo.jp
    aont
    aont 2023/12/21
  • 第793回 自作のカーネルモジュールをRustで作る | gihyo.jp

    第791回では基的なカーネルモジュールの作り方とそれをDKMSに対応させる方法を紹介しました。今回はカーネルの新しい機能のひとつである「Rustでカーネルモジュールを作る方法」を紹介しましょう。 UbuntuカーネルにおけるRustの対応 Linuxカーネルでは、Kernel 6.1からプログラミング言語である「Rust」の機能が取り込まれました。これは「Rust for Linux」の成果で、カーネルの機能をC言語やアセンブラだけでなく、Rustでも書けるようにするというものです。メモリー安全性や強い静的型付けなどの特徴を取り込むことで、カーネルのセキュリティ問題の原因の多くを占めるメモリー関連の不具合に対して、一種の対策になることが期待されます。 あらゆるケースにおいてRustに置き換えられるというわけではありませんが、今後カーネルのコードを読み書きする上でC言語やアセンブラだけでな

    第793回 自作のカーネルモジュールをRustで作る | gihyo.jp
    aont
    aont 2023/12/21
  • Python3.12で新たにサポートされたsub-interpretersの紹介 | gihyo.jp

    門脇(@satoru_kadowaki)です。11月の「Python Monthly Topics」は、Python 3.12の新機能であるsub-interpretersについて紹介します。 2023年10月2日に「 Python 3.12.0 」がリリースされました。今回も気になる新機能が多く、記事で紹介するsub-interpretersもPythonで並列処理を行うための新機能です。 Python 3.12の新機能については以下のリンクを参照してください。 What’s New In Python 3.12 -Python 3.12.0 Documentation 記事ではPythonにおける並列実行のこれまでと、sub-interpretersが現状どのように使用できるかについて説明します。 なお、執筆にあたり先日開催されたPyCon APAC 2023において、sub-in

    Python3.12で新たにサポートされたsub-interpretersの紹介 | gihyo.jp
    aont
    aont 2023/11/29
  • 第366回 Ubuntuのディスク管理ツールを活用する | gihyo.jp

    今回はUbuntuにインストールされているディスク管理ツール(Disks)の解説をします。 Disksとは DisksはUbuntuとUbuntu GNOMEにインストールされているディスク管理ツールです。GNOMEに由来するのですが、GNOMEはコアアプリケーションの名称をシンプルなものにしています。この“⁠Disks⁠”もそうですし、ファイルブラウザーは“⁠Files⁠”⁠、Webブラウザーは“⁠Web⁠”です[1]⁠。稿ではディスク管理ツールと称します。 このディスク管理ツールはHDDやSSDのほか、光学メディアやUSBメモリー、SDカードなどあらゆるデータを読み込み/書き込みできるものが扱えますが、ここでは便宜上“⁠ディスク⁠”と総称します。 ディスク管理ツールがどのバージョンのUbuntuから使えるようになったのかは正確には確認できませんでしたが、少なくとも8.04にはなく、1

    第366回 Ubuntuのディスク管理ツールを活用する | gihyo.jp
    aont
    aont 2023/09/28
  • 第694回 libbpfとclangでポータブルなBPF CO-REバイナリ作成 | gihyo.jp

    第688回と第690回では、カーネルのトレーシングツールとして注目されているeBPFを活用するためのツールとしてBCCを紹介しました。 また第692回ではBCC以外のeBPFを活用したツールの利用方法も紹介しています。 今回は一般的なコンパイラのようにバイナリを生成でき、移植性が高く、そして近い将来eBPFを使うための流のひとつとなりそうなBPF CO-REについて紹介しましょう。 BPF CO-REの登場 BPF CO-RE(Compile Once - Run Everywhere)については第692回でも軽く紹介しました。改めてまとめると、次のような機能を実現する仕組みです。 BPFを利用したバイナリを実行環境とは異なる環境でビルドできる カーネルバージョン間の違いもある程度は吸収してくれる 実行バイナリのサイズはそれなりに小さくなる コンテナ内部などターゲットと異なるカーネルが動

    第694回 libbpfとclangでポータブルなBPF CO-REバイナリ作成 | gihyo.jp
    aont
    aont 2022/08/30
  • 2020年2月7日号 Ubuntu Proの新しい展開・focalのカーネル確定 | gihyo.jp

    Ubuntu Proの新しい展開 Ubuntu Proに、新しい動きがありそうです。12月6日にお伝えした時点では『AWS専用というわけではないものの、AWS向けだけがリリースされている』『⁠他のクラウドへの展開も可能なコードになっている』という状態でしたが、Ubuntu Proのキーコンポーネントであるubuntu-advantage-clientに1月末からいくつかの動きがあり、「⁠おそらく、新しいサポート対象クラウドサービスが増えるだろう」と言える状態になりつつあります。 コミットログから何となく察せられるものの、かなり明確なコミットも存在しており、ここから推定すると、「⁠Ubuntu Pro for Aで始まるあのクラウドサービス(社名ではなくサービス名がAから始まるほう⁠)⁠」の登場が近いのかもしれません。 その他のニュース focalのカーネルはおおむね5.4で確定した、という

    2020年2月7日号 Ubuntu Proの新しい展開・focalのカーネル確定 | gihyo.jp
    aont
    aont 2020/02/08
  • 第597回 UbuntuのルートファイルシステムをZFSにしてみる | gihyo.jp

    Ubuntu 19.10ではデスクトップのインストール時にファイルシステムとしてZFSを選択できる機能が実験的に導入されました。そこで今回はそのZFSを実際に使ってみましょう。 なぜZFSをデスクトップに? Ubuntu Weekly Topicsの2019年8月9日号でも紹介しているように、Ubuntu 19.10からインストール時に「デスクトップ」のルートファイルシステムとして、ZFS on LinuxのZFSを選択できるようになりました[1]⁠。これはあくまで実験的な機能であり、ZFS特有の機能がすぐに活用できる状態になるわけでもありませんし、環境や使い方によっては不安定になる可能性もあります。将来の可能性に向けたお試し機能であることを十分に理解しておいてください。 ZFSそのものはUbuntu 15.10の頃から利用可能でした。その後、19.10に向けて次の対応が行われます。 GR

    第597回 UbuntuのルートファイルシステムをZFSにしてみる | gihyo.jp
    aont
    aont 2019/12/04
  • 第595回 リモートデスクトップのためのSPICEクライアントあれこれ | gihyo.jp

    SPICEは仮想マシン上のディスプレイと通信するためのプロトコルです。SPICEプロトコルに対応したクライアントをいくつか紹介しましょう。 SPICEを有効化した仮想マシンを起動する SPICEは仮想マシン上のディスプレイ・入力デバイスとローカルマシン上のクライアントの中を取り持つプロトコルです。グラフィックデバイスとしてQXLを指定した仮想マシンを立ち上げることで、仮想マシン内部のグラフィックドライバーであるQXLドライバーとSPICEサーバーが連携し、SPICEクライントがネットワーク越しにSPICEサーバーと通信することで、リモートの仮想マシンの画面をクライアント側で表示できます[1]⁠。VMWareのvSphereクライアントにある、リモートの画面を表示する仕組みだと考えれば良いでしょう。 SPICEでは単に画面のやりとりだけでなく、「⁠Virtual Device Interfa

    第595回 リモートデスクトップのためのSPICEクライアントあれこれ | gihyo.jp
    aont
    aont 2019/11/21
  • 第42回 Linuxカーネルのケーパビリティ[1] | gihyo.jp

    前回からだいぶ間隔が空いてしまいました。前回の最後に案内したudzuraさんのCRIUに関する記事はもう少し時間がかかるようですので、もうしばらく私が担当したいと思います。 今回から数回は、Linuxカーネルに実装されているケーパビリティについて説明します。ケーパビリティは2.2カーネルのころから実装されてきているかなり古くからある機能で、コンテナ向けの機能ではなく一般的に使われている機能です。もちろん、コンテナの安全性を高めるための重要な機能でもあります。 setuid 一般的にはUNIX系のOSでは、プロセスはroot権限(実効ユーザIDが0)で実行される特権プロセスと、一般ユーザ権限で実行される(実効ユーザIDが0以外の)非特権プロセスに分けられます。 一般ユーザは、通常はそのユーザの権限でプログラムを実行すれば良いのですが、一般ユーザが実行するプログラムであっても処理の内容によって

    第42回 Linuxカーネルのケーパビリティ[1] | gihyo.jp
    aont
    aont 2019/11/20
  • 第594回 mmdebstrapで最小のルートファイルシステムを作る | gihyo.jp

    mmdebstrapはdebootstrapライクなインターフェースを持つ、ルートファイルシステムを作るツールです。今回はこのツールを用いて、より小さなUbuntuルートファイルシステムを作ってみましょう。 debootstrapmmdebstrap Linux環境を構築する上で「ルートファイルシステム」は非常に重要なコンポーネントです。ルートファイルシステムの品質によって、ユーザーの使い勝手が大きく変わります。Ubuntuをはじめとする「Linuxディストリビューション」は「より良いルートファイルシステムを構築する」ためのプロジェクトとも言えるのです。 世界に遍く存在する多種多様なソフトウェアをすべてひとつのルートファイルシステムに含めることは事実上不可能であり、ムダも多いため、Linuxディストリビューションは「パッケージ管理システム」を構築する方向に進化しました。つまりユーザーが必

    第594回 mmdebstrapで最小のルートファイルシステムを作る | gihyo.jp
    aont
    aont 2019/11/13
  • 第1回 異分野からも注目される 圏論の魅力とは | gihyo.jp

    ・日時:2019年9月27日 ・場所:書泉グランデ7階 『⁠圏論の道案内 〜矢印でえがく数学の世界』発売記念 西郷甲矢人先生 講演会より ─⁠──⁠─圏論に興味を持つ人たちが、向こうからやってきた─⁠──⁠─ 西郷甲矢人と申します。共著者の一人として『圏論の道案内 〜矢印でえがく数学の世界』を書きました。今日参加された方々にはいろんなバックグラウンドをお持ちの方がいらっしゃるかと思います。どこから話していけばよいか迷うところですが、今回はちょっと易しいというか、もう当に漫談みたいな感じでいければと。書はおかげさまで「数学はあんまり知らない」という方でも手に取っていただいているようですので。 今日は当に気楽な感じでお話したいと思います。細かい内容みたいなところにはできるだけ入らない予定です。皆さんの中にはもしかすると、私より数学をよく分かってらっしゃる方もいらっしゃるかもと思いますので

    第1回 異分野からも注目される 圏論の魅力とは | gihyo.jp
    aont
    aont 2019/11/11
  • 第575回 Barrierでキーボードとマウスを複数のPCから共用する | gihyo.jp

    今回は複数のPCでソフトウェア的にキーボードとマウスを共用するBarrierを紹介します。 フォーク版Synergy 昔からUbuntuをお使いの方は、Synergyを覚えているかもしれません。Synergyはオープンソースでマルチプラットフォームに対応している、複数のPCでキーボードとマウスを切り替えられるアプリケーションです。現在も引き続き開発されており、オープンソースでもありますが、ビジネスとしては有償版に主軸を移しています。 そんな中、このSynergy 1.9からフォークしたのがBarrierです。自分でビルドする、あるいはライセンスを購入してパッケージを入手するのであればSyngergyでもいいのでしょうが、手軽に使うのであればBarrierのほうがいいでしょう。 使用するパッケージの選定 Barrierにはたくさんのバイナリがある……ように見えますが、公式に提供されているのは

    第575回 Barrierでキーボードとマウスを複数のPCから共用する | gihyo.jp
    aont
    aont 2019/11/01
  • 第570回 セキュリティキーを使って、Ubuntuで多要素認証をしてみよう | gihyo.jp

    セキュリティキーを利用した多要素認証は、これまでも「利用者人のみが所有するもの」という側面から、有効な認証の要素の一つとして利用されてきました。Googleでも2017年初頭からセキュリティキーを導入してから、アカウントの乗っ取りは報告されていないとコメントしています(2018年7月の記事です⁠)⁠。 また、2019年3月にFIDO2の構成技術の一つであるWebAuthnがW3Cでも勧告され、セキュリティキーや生体認証、モバイルデバイスなどにより、より簡単で安全にログインできるWeb認証が利用可能となりました。筆者もFIDO2準拠のセキュリティキーを購入したこともあり、今回はUbuntuでセキュリティキーを利用した多要素認証を試してみました。 セキュリティキーの選定 検索サイトなどで「FIDO2 セキュリティキー」のキーワードで検索すると、セキュリティキーの大手でもあるYubico社のY

    第570回 セキュリティキーを使って、Ubuntuで多要素認証をしてみよう | gihyo.jp
    aont
    aont 2019/11/01
  • 第568回 overlayrootでUbuntuを一時的に読み込み専用にする | gihyo.jp

    Ubuntuのoverlayrootパッケージを使うと、Ubuntuシステムを一時的または恒久的に「読み込み専用」として起動できます。今回はこのoverlayrootパッケージの使用方法を紹介しましょう。 overlayrootとは LinuxのOverlayFSは、複数のディレクトリツリーをレイヤーのように重ねることで、一つのディレクトリツリーに見せかける仕組みです。 一般的な使い方としては、より下位の層を読み込み専用としてマウントしたディレクトリツリーとして用意し、上位の層を読み書き可能なディレクトリツリーとして用意し、そのふたつを重ねる方法です。これにより作成されたディレクトリツリーに対する変更は、すべて上位の層にのみ反映され、下位の層は変更されません。 身近な例だと、Dockerがストレージ・ドライバーのひとつとしてOverlayFSを採用しています。インスタンス作成時、ベースコン

    第568回 overlayrootでUbuntuを一時的に読み込み専用にする | gihyo.jp
    aont
    aont 2019/11/01
  • 第559回 デバイスの認識をモニタリング・コントロールできる「udevadm」 | gihyo.jp

    第555回ではデバイスの自動認識やデバイス名の設定など、システムの裏方として大活躍しているudevの基とルールファイルの書き方について紹介しました。今回はルールを書く上で便利なツールであるudevadmを紹介します。 udevのデバッグ方法 udevはまずinitシステムからudevdが起動され、以降はudevdが諸々の処理を行います。よってudevの挙動をより細かく知るためには、udevdのログレベルを初期状態のinfoからdebugにあげて起動しておくと便利です。udevdのログレベルを変更するには4種類の方法が存在します。 カーネルパラメーターから指定する /etc/udev/udev.confから設定する udevadmコマンドから設定する 環境変数SYSTEMD_LOG_LEVELで設定する このうち起動直後からdebugレベルにしたり、恒久的に設定したいなら、カーエネルパラメ

    第559回 デバイスの認識をモニタリング・コントロールできる「udevadm」 | gihyo.jp
    aont
    aont 2019/11/01
  • 第551回 asciinemaで端末操作を「録画」し共有する | gihyo.jp

    皆さん、Advent Calendar書いてますか! 今回は計算機系Advent Calendar向け記事を書く上で、「⁠端末上の操作」を動画として保存・公開できるasciinemaコマンドについて紹介します。 端末を「録画」する Advent Calendar(アドベントカレンダー)の来の由来はともかくとして、日技術系界隈では12月1日あたりから計算機系記事が充実するイベントとして定着しつつあります。 さて、計算機系の記事を書く上で頻出するのが、コマンドライン上での操作です。大抵の場合はpreタグのように整形済みテキスト(PREformatted text)として、文書の中に埋め込むことでしょう。しかしながらそれでは静的なテキストであって、「⁠実行した結果がどのようなタイミングで表示されるか」はわかりません。もちろんアニメーションGIFやAPNGにしたり、YouTubeにアップロー

    第551回 asciinemaで端末操作を「録画」し共有する | gihyo.jp
    aont
    aont 2019/11/01