コグノスケ


link 未来から過去へ表示(*)  link 過去から未来へ表示

link もっと前
2019年8月29日 >>> 2019年8月16日
link もっと後

2019年8月29日

独自のaptサーバー - その5 - 複数のセクションに対応する

目次: apt

前回、Tree::Sectionsには複数のセクションが指定でき、Tree::Architecturesには複数のアーキテクチャが指定できますが、TreeDefault::Packagesとの対応がよくわからない。と書きましたが、複数のセクションを同時に指定する手段が見つかったので、メモしておきたいと思います。

書き方は簡単で、前回TreeDefaultのパスに出現するセクション名をstableと決め打ちで書いていました。これを $(SECTION) に置き換えるだけです。アーキテクチャ名なら $(ARCH) です。

apt_generate_debian_buster.confで複数のSectionsを指定

Dir::ArchiveDir ".";
Dir::CacheDir   "dists/buster";
Default::Packages::Compress   ". gzip bzip2";
Default::Packages::Extensions ".deb";
Default::Sources::Compress    ". gzip bzip2";
Default::Contents::Compress   ". gzip bzip2";
Default::FileMode             0644;
TreeDefault::Directory        "dists/buster/pool/$(SECTION)/$(ARCH)";
TreeDefault::Packages         "dists/buster/$(SECTION)/binary-$(ARCH)/Packages";

Tree "dists/buster" {
    Sections "stable testing nightly";
    Architectures "amd64";
};

それともう一つ差分がありまして、BinDirectoryの指定はなくても動くことがわかりましたので、削除しています。

セクションを複数指定できるようになりましたので、スクリプトも若干変わります。

apt-ftparchiveを呼ぶスクリプト

export TARGET=debian
export DIST=buster
export ARCH=amd64

for SECT in stable testing nightly
do
    mkdir -p /var/www/linux/${TARGET}/dists/${DIST}/${SECT}/binary-${ARCH}
    mkdir -p /var/www/linux/${TARGET}/dists/${DIST}/pool/${SECT}/${ARCH}
done


### *.debファイルをコピーする(モジュールによってコピー元は違うと思うので、これは一例)
### cp *.deb /var/www/linux/${TARGET}/dists/${DIST}/pool/${SECT}/${ARCH}


### Packages, Contentsファイルを作る
### linux/debianの下でapt-ftparchiveを実行しないと *.debが見つからないといわれる

cd /var/www/linux/${TARGET}
find . -name "Contents-*" -or -name "Contents-*.*" | xargs rm -f
find . -name "Packages" -or -name "Packages.*" -or -name "packages-*" | xargs rm -f
find . -name Release -or -name Release.gpg -or -name InRelease | xargs rm -f
apt-ftparchive generate ../conf/apt_generate_${TARGET}_${DIST}.conf


### Releaseファイルを作る
### linux/debian/dists/busterの下でapt-ftparchiveを実行しないと、
### 後ほどapt-getを実行した際にパッケージが見つからないといわれる

cd /var/www/linux/${TARGET}/dists/${DIST}
apt-ftparchive release -c=../../../conf/apt_release_${TARGET}_${DIST}.conf . > Release


### Releaseファイルに署名する

echo -n "abcd1234" | gpg --batch --passphrase-fd 0 --pinentry-mode loopback --clearsign -o InRelease Release
echo -n "abcd1234" | gpg --batch --passphrase-fd 0 --pinentry-mode loopback -abs -o Release.gpg Release
chmod 644 Release InRelease Release.gpg

これで粗方、やりたかったことができたのではないかと思います。

動作確認

今回もDockerのリポジトリから *.debを拝借します。セクションStableにはcontainerd.io、Testingにはdocker-ce-cli、Nightlyにはdocker-ceを配置するなど、各セクションに全く違う *.debを配置すると後で見やすいです。

テストに使うディレクトリ

# tree linux/

linux/
|-- conf
|   |-- apt_generate_debian_buster.conf
|   `-- apt_release_debian_buster.conf
`-- debian
    |-- dists
    |   `-- buster
    |       |-- InRelease
    |       |-- Release
    |       |-- Release.gpg
    |       |-- nightly
    |       |   |-- Contents-amd64
    |       |   |-- Contents-amd64.bz2
    |       |   |-- Contents-amd64.gz
    |       |   `-- binary-amd64
    |       |       |-- Packages
    |       |       |-- Packages.bz2
    |       |       `-- Packages.gz
    |       |-- packages-amd64.db
    |       |-- pool
    |       |   |-- nightly
    |       |   |   `-- amd64
    |       |   |       `-- docker-ce_0.0.0-20180901050402-e5babb2-0~debian_amd64.deb
    |       |   |-- stable
    |       |   |   `-- amd64
    |       |   |       `-- containerd.io_1.2.0-1_amd64.deb
    |       |   `-- testing
    |       |       `-- amd64
    |       |           `-- docker-ce-cli_18.09.0~3-0~debian-buster_amd64.deb
    |       |-- stable
    |       |   |-- Contents-amd64
    |       |   |-- Contents-amd64.bz2
    |       |   |-- Contents-amd64.gz
    |       |   `-- binary-amd64
    |       |       |-- Packages
    |       |       |-- Packages.bz2
    |       |       `-- Packages.gz
    |       `-- testing
    |           |-- Contents-amd64
    |           |-- Contents-amd64.bz2
    |           |-- Contents-amd64.gz
    |           `-- binary-amd64
    |               |-- Packages
    |               |-- Packages.bz2
    |               `-- Packages.gz
    `-- gpg
        `-- public.key

18 directories, 28 files

上記はリポジトリ情報を生成した後の状態です。各セクションの下にContentsとPackagesが生成されます。ファイルが生成できたら /etc/apt/sources.listにこのサーバーを指定して、apt-get updateを実行します。

/etc/apt/sources.listに独自aptサーバーを追加

deb [arch=amd64] http://192.168.1.1/linux/debian/ buster stable
  -> containerd.ioがインストールでき、他のdocker-ce-cliやdocker-ceはインストールできないはず

deb [arch=amd64] http://192.168.1.1/linux/debian/ buster testing
  -> docker-ce-cliがインストールでき、他のcontainerd.ioやdocker-ceはインストールできないはず

deb [arch=amd64] http://192.168.1.1/linux/debian/ buster nightly
  -> docker-ceがインストールでき、他のcontainerd.ioやdocker-ce-cliはインストールできないはず

指定の方法は上記のとおりです。セクション名stableの部分をtestingやnightlyに入れ替えても、apt-get updateが成功すれば、複数セクションの扱いはうまくいっています。

また、セクションstableを選んだときはcontainerd.ioがインストールできて、他のものはインストールできないはずです。testingだとdocker-ce-cli、nightlyだとdocker-ceがインストールできて、他の2つはインストールできなくなります。セクション指定が機能していることがわかると思います。

編集者:すずき(2021/08/05 12:12)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2019年8月25日

安くて良いヘッドフォン

AKG K240に似ていることで有名(?)なSuperlux HD681Bを買いました。Amazonで3,000円程度です。噂通り音は良いです。

残念ながら数万円する高級ヘッドフォンを使った経験はほぼないので、高級な音かどうかまではわかりません。

現在使っているaudio-technica ATH-TAD500はかなりシャリシャリ気味の音ですが、HD681Bはさらに輪をかけて高音が強いです。かなりキンキンしています。

普段聴いている音楽をHD681Bで聴いてみると、今まで聞いたことのない「キーン…、キーン…!」という音が聞こえます。こんな音鳴ってたのか…??

感想

大きさの割に軽いし、圧迫されるような感じはしませんが、長時間使うとちょっと耳が痛くなります。

この製品に限った話ではありませんが、レザータイプのイヤーパッド(=汗を吸わない)、セミオープンエアー型(=音漏れが激しい)なので、室内用に最適だと思います。

メモ: 技術系の話はFacebookから転記しておくことにした。後半を追記。

編集者:すずき(2019/08/25 15:06)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2019年8月21日

ROCKPro64とアナログオーディオ - その1 - linux-nextのドライバ

目次: ROCK64/ROCKPro64

ROCKPro64でRockchipの公開しているLinux(以降、Rockchip Linux)ではヘッドフォン出力できるのに、linux-nextだとできないのはどうして?と思って調べていたところ、悲しいことがわかりました……。

ROCKPro64はEverest ES8316というDACを搭載しています。ドライバはsound/soc/codecs/es8316.cです。なんとこのドライバはですね、Rockchip Linuxに実装されているドライバ(Rockchipの人が書いた)と、linux-nextのドライバ(Everestの人がUpstreamした)が全然違う実装になっています。

ES8316のドライバが全く違うお陰で、Rockchip Linuxからdevicetreeを持ってきてもウンともスンとも言わないのです。まさかES8316のドライバ実装が全く違なんて想像していませんでした。どうしてこんなことに……。

しばらく戦ってみましたが、linux-nextのES8316ドライバの動きは良くわかりませんでした。clocksプロパティにダミーの12MHzクロックを指定すると、とりあえずドライバは文句を言わなくなるものの、肝心の音は鳴りません。

残念ながらRK3399側の問題(例えばMCLKが出力されていないなど)なのか、ES8316側の問題なのか切り分けができていません。

各端子に来ている信号をオシロスコープで見れば、原因の切り分けができるのはわかっていますが、ROCKPro64はプローブを当てることなど考慮して作っておらず、端子に名前が書いてないし、非常に細かいです。変にプローブを当てるとショートさせてしまいそうです。

編集者:すずき(2020/10/30 00:52)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2019年8月16日

スマホ買い換え

スマホを買い替えました。Zenfone 6が出るとか出ないとか言われているなか、あえて型落ちのZenfone 4 (ZE554KL) を買いました。Amazonで32,000円でした。

高性能処理が必要なゲームなどはしませんし、CPU/GPUともに最高性能のいわゆるハイエンド機種は不要です。ハイエンド機は値段も高いですし……。

CPU/GPUはそこそこで電池持ちが良く、メモリが多くて動作が快適な、いわゆるミドルハイと呼ばれる機種が欲しいのですが、世の中的に人気がないらしく、作ってくれるメーカーはどんどん減っています。

最初はZenfone 5の購入を検討していましたが、ASUSもZenfone 5からミドルハイ(Snapdragon 66xクラス)の機種を出さなくなったようで、購入したい機種がありませんでした。

そんななか、Zenfone 4はSnapdragon 660と6GB RAM搭載で、ドンピシャの機種でした。もう今後、このタイプのミドルハイ機種は出ないかもしれないですねえ。

おおSIMカードよ、大きさが違うとは情けない

今日Zenfone 4が家に届いたのですが、SIMカードがnano-SIMしか対応していませんでした。

現在使っているZenfone 3 Deluxe 5.5 (ZS550KL) はmicro-SIMなので、そのまま差し替えという訳にはいきません。困ったなあ。

ドコモショップに行かないとnano-SIMは手に入らないようです。ドコモショップは行きたくないんだけど、今回ばかりは仕方ないか……。

メモ: 技術系の話はFacebookから転記しておくことにした。

編集者:すずき(2021/04/01 22:00)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
2019年8月29日 >>> 2019年8月16日
link もっと後

管理用メニュー

link 記事を新規作成

<2019>
<<<08>>>
----123
45678910
11121314151617
18192021222324
25262728293031

最近のコメント5件

  • link 24年10月1日
    すずきさん (10/06 03:41)
    「xrdpで十分動作しているので、Wayl...」
  • link 24年10月1日
    hdkさん (10/03 19:05)
    「GNOMEをお使いでしたら今はWayla...」
  • link 24年10月1日
    すずきさん (10/03 10:12)
    「私は逆にVNCサーバーに繋ぐ使い方をした...」
  • link 24年10月1日
    hdkさん (10/03 08:30)
    「おー、面白いですね。xrdpはすでに立ち...」
  • link 14年6月13日
    2048player...さん (09/26 01:04)
    「最後に、この式を出すのに紙4枚(A4)も...」

最近の記事3件

  • link 24年10月31日
    すずき (11/04 15:17)
    「[DENSOの最終勤務日] 最終勤務日でした、入門カードや会社のPCを返却してきました。在籍期間はNSITEXE(品川のオフィ...」
  • link 22年7月8日
    すずき (11/02 20:34)
    「[マンガ紹介 - まとめリンク] 目次: マンガ紹介一覧が欲しくなったので作りました。5作品乙女ゲームの破滅フラグしかない悪役...」
  • link 24年10月30日
    すずき (11/02 20:33)
    「[マンガ紹介] 目次: マンガ紹介お気に入りのマンガ紹介シリーズ。最近完結した短めの作品を紹介します。マイナススキル持ち四人が...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報

合計:  counter total
本日:  counter today

link About www2.katsuster.net
RDFファイル RSS 1.0

最終更新: 11/04 15:17