portage tree を squashfs で sync しよう
portage-2.2.19以降では Portage tree を Squash FSでsyncできるようになったらしい。
下記メールにある通り、 dev-util/squashmergeをインストールして repos.conf を設定する。 emerge --sync すると最初は Squash FSの snapshot が、最初のsync以後はいまの snapshot に対する差分がDLされて portage tree として見えるようになる。
Portage tree に SquashFSを使うのは、 tree のサイズを小さくするよく知られたトリックである。 たとえばbtrfs+lzoで504MBのtreeがSquashFS+lzoで96MBにまで小さくできる。
しかし、Squashを毎回やり直すのが面倒であった。 今回のportageの変更で透過的にSquashFS上のportage treeの更新ができるようになる。
いまの自分のシステムは Git での syncにしているが、どうせportage treeの中で上書きなんてしないし、 SquashDelta sync に切り替えていこう。特にあまり容量のないサーバでinodeとディスクの節約になって嬉しい。
make.profile はディレクトリでいいらしい
Gentoo は選択なので当然 systemd をサポートしている。 systemd を使うには USE フラグを設定しておいたり、あるいは systemd とではうまく動かないパッケージがあるので使わないように設定しなければならない。これを簡単に設定できるように systemd の profile が作られている。
これまでは systemd の profile はdefault/linux/amd64/13.0/desktop/gnome/systemd か
default/linux/amd64/13.0/desktop/kde/systemd のようにデスクトップ環境の下に作られていた。 最近になってデスクトップ環境以外の systemd profile (default/linux/amd64/13.0/systemd)ができた。
これを聞いて、よかったべんりーと思っていたのだけれど、実は"/etc/portage/make.profile" は「/usr/portage/profiles下へのsymlink」でなくていいということを知った。
このメールによると /etc/portage/make.profile のディレクトリを作って、その下の parent ファイルに使いたい profile へのパスを書けば複数のprofile を "mix-in" できるようだ。
そうすると、 desktop+systemd (kdeでもgnomeでもない)とかdesktop+kde+systemd+developer とか no-multilib+systemd とかmusl+systemd とかも設定できる、ということなのだろう。すごい
Software Design 2015年 2月号: BPF, seccomp, tinyconfig
Software Design (ソフトウェア デザイン) 2015年 02月号 [雑誌]
- 出版社/メーカー: 技術評論社
- 発売日: 2015/01/17
- メディア: 雑誌
- この商品を含むブログ (2件) を見る
Software Design 2015年 2月号 に記事を書きました。
「第35回 Linuxカーネル観光ガイド」で、 seccomp フィルタ、 bpfシステムコール、そして Linux カーネルの新しい config 方法である tinyconfig について書きました。
org-mode でポスター作成
ふええん、 Office なんて使えないよう Windows インストールするのめんどいよう、なのでポスターも Emacs org-mode で作成する。基本的に beamer, beamerposter を使えばよい。 テンプレートとしてはこんな感じになる。
#+TITLE: ほげふが #+AUTHOR: ほげもが #+DATE: #+OPTIONS: H:1 #+BEAMER_COLOR_THEME: #+BEAMER_FONT_THEME: #+BEAMER_HEADER: \usepackage[orientation=portrait,size=a1,scale=1.4]{beamerposter} #+BEAMER_HEADER: \setbeamertemplate{navigation symbols}{} #+BEAMER_HEADER: \usepackage{type1cm} #+BEAMER_HEADER: \usepackage{mathptmx} #+BEAMER_HEADER: \usepackage{tikz} #+BEAMER_HEADER: \renewcommand{\kanjifamilydefault}{\gtdefault} #+BEAMER_HEADER: \usepackage{setspace} #+BEAMER_INNER_THEME: #+BEAMER_THEME: RJH #+BEAMER_COLOR_THEME: #+LATEX_CLASS: beamer #+LATEX_CLASS_OPTIONS: [compress,dvipdfmx,fleqn,serif] #+LATEX_HEADER: #+LATEX_HEADER_EXTRA: #+DESCRIPTION: #+OPTIONS: toc:nil ^:nil \setstretch{0.3} * :PROPERTIES: :BEAMER_OPT: t :END: ** \setstretch{1} \normalize :PROPERTIES: :BEAMER_COL: 0.49 :BEAMER_OPT: t :END: *** 左側ひとつめ なんたらかんたら *** 左側ふたつめ なんたらかんたら ** :PROPERTIES: :BEAMER_COL: 0.49 :BEAMER_OPT: t :END: \setstretch{1} \normalize *** 右側ひとつめ なんとかかんとか *** 右側ふたつめ なんとかかんとか
大事なのは
- #+BEAMER_HEADER: \usepackage[orientation=portrait,size=a1,scale=1.4]{beamerposter}
- A1の縦長にする
- #+BEAMER_HEADER: \setbeamertemplate{navigation symbols}{}
- 下の navigation とかを消す
- #+BEAMER_THEME: RJH
- beamer のテーマ
- :BEAMER_OPT: t
- 上に寄せる
- :BEAMER_COL: 0.49
- 二段組
RJH テーマはここ
Making a poster in beamer | Hyndsight
あとは適当に setstretch で調整する。
Software Design 2015年 1月号: DRMとrender nodeについて
Software Design (ソフトウェア デザイン) 2015年 01月号 [雑誌]
- 出版社/メーカー: 技術評論社
- 発売日: 2014/12/18
- メディア: 雑誌
- この商品を含むブログ (4件) を見る
Software Design 2015年 1月号 に記事を書きました。
「第34回 Linuxカーネル観光ガイド」で、 Linux で画面描画を行なう DRM の仕組みと最近デフォルトで有効になった render node (/dev/dri/renderD128)について書きました。 libdrm を使って画面に色を出したりなどしています。