コグノスケ


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

link もっと前
2019年8月10日 >>> 2019年7月28日
link もっと後

2019年8月10日

独自のaptサーバー - その1 - ディレクトリ構成

目次: apt

会社で独自のDebianパッケージを配布する際に、難しくてかなり困ったので、下調べの結果を兼ねてメモしておきます。

やりたいこととしては、独自に作成したDebianパッケージ(*.debファイル)を、

  • 複数のOS: Debian, Ubuntuなど
  • 複数の版: stable, testing, nightlyなど
  • 複数のアーキテクチャ: amd64, arm64など

この3つをどのように組み合わせても対応できるような、ディレクトリ構成と、aptサーバーの設定を作成することです。

Dockerが参考になる

ディレクトリ構成は、最初から考えるのは大変なので、参考としてDockerのaptリポジトリリンク)を見てみます。

Dockerのaptリポジトリサーバー
debian/
    dists/
        buster/ : Debian 10.0
            edge/ : なんだろ?
            nightly/ : 1日ごとにビルドされた版
            pool/ : *.debが入っているディレクトリ
            stable/ : 安定版
            test/ : テスト版?
        jessie/  : Debian 8.0
        stretch/ : Debian 9.0
        wheezy/  : Debian 7.0
    gpg : GnuPGの公開鍵、apt-keyで追加する

ubuntu/
    dists/
        artful/  : Ubuntu 17.10
        bionic/  : Ubuntu 18.04 LTS
        cosmic/  : Ubuntu 18.10
        disco/   : Ubuntu 19.04
        trusty/  : Ubuntu 14.04 LTS
        xenial/  : Ubuntu 16.04 LTS
        yakkety/ : Ubuntu 16.10
        zesty/   : Ubuntu 17.04
    gpg : GnuPGの公開鍵、apt-keyで追加する

こんな作りになっています。debian/distsもしくはubuntu/distsの下に各バージョンのコードネームが並んでいます。例えばdebian/dists/busterであればDebian 10.0用です。

コードネームのディレクトリの下には、各版stable, test用のディレクトリが並んでいます。poolディレクトリは版名ではなくて、パッケージファイル *.debを格納するディレクトリです。

Debian 10.0用のディレクトリ以下
debian/
    dists/
        buster/ : Debian 10.0
            edge/ : なんだろ?
            nightly/ : 1日ごとにビルドされた版
                binary-amd64/ : PC, 64bit用パッケージ情報
                    Packages   : パッケージ一覧
                binary-arm64/ : AArch64用パッケージ情報
                binary-armhf/ : AArch32用パッケージ情報
                Contents-amd64 : PC, 64bit用
                Contents-arm64 : AArch64用
                Contents-armhf : AArch32用
            pool/ : *.debが入っているディレクトリ
                edge/ : stableと同じ構成
                nightly/ : stableと同じ構成
                stable/
                    amd64/ : PC, 64bit用 *.deb
                    arm64/ : AArch64用 *.deb
                    armhf/ : AArch32用 *.deb
                test/ : stableと同じ構成
            stable/ : 安定版
            test/ : テスト版
            InRelease   : GnuPGの署名が追記されたReleaseファイル
            Release     : Contents, PackagesのSHAハッシュ一覧が書かれたファイル
            Release.gpg : GnuPGの署名だけ書かれたファイル

Debian向けとUbuntu向けはほぼ同じ構成です。

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

コメント一覧

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



2019年7月30日

ヘッドフォンの謎のノイズ

オーディオは専門ではないし、神の耳も持っていないので、細かい音質うんぬんは全くわからないし、高級○○ケーブルなどはオカルトの一種とすら思っていますが……。

音質で唯一体験したことを思い出したので、メモしておきます。

以前はテレビのファーム開発をしていたため、職場ではテストのために少し良い(1万円〜2万円レベルの)ヘッドホン(SHURE SRH440-A)を使っていました。

何も鳴らしていないのに、ヘッドホンからたまにブーン……という微かなノイズと、バリ、バリ!という大きめのノイズが聞こえていました。

スマホとヘッドフォン

最初、評価ボードか機材の故障を疑っていたのですが、なんと原因は自分のスマホでした。

前者のブーン……ノイズは、ヘッドホンのケーブルをくるくると丸めて束ねた上に、スマホを置いていたため、スマホの電波を拾ってノイズになっていたようです。

たまにしか鳴らないのは、パケット通信のときしか強く電波を発しないからですかね?スマホを机の上に置かないようにしたらノイズは聞こえなくなりました。

家の安いヘッドホンで同じことをしても、ノイズは聞こえなかったので、感度の良いヘッドホンじゃないと拾わない(?)のかもしれません。

後者のバリバリ!ノイズは、ヘッドホンアンプの上にスマホを置きっぱにしたときに鳴っていました。ノイズを増幅するのか、かなり目立つバリバリ音が聞こえていました。

これもスマホとアンプを遠ざけて置くことで、ノイズが消えました。

謎が解ければ何てこと無い原因でしたけど、最初はわからなくて、このヘッドフォン壊れているんだろうか?不良品かしら……?とか思っていました。冤罪でした、ごめんねヘッドホンさん。

タチの悪い内蔵音源

音質でもう一つ思い出したのが、先代ノートPC(ThinkPad Edge E420)のアナログオーディオ出力は、常にシューシューというノイズが聞こえていたことです。

2010年は遥かに過ぎて、こんなにノイズが鳴るオーディオがあるはずない、聞き間違いだろうと思いきや、安物のオシロで見てもすぐわかるくらいノイズが載っていてショックでした。Conexantさん勘弁してよ……と思いました。

測定結果は、以前の日記に書いています(2014年10月18日の日記参照)。あれからもう五年も経ったのか。早いものだ。

メモ: 技術系?の話はFacebookから転記しておくことにした。リンクなどを追記。

編集者:すずき(2019/08/25 22:28)

コメント一覧

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



2019年7月29日

RISC-V原典

RISC-V原典という本も買って読んでいます。どちらかというと頭から読む本ではなく、辞書的な本です。命令一覧の章はとても便利ですね。

RISC-V原典では「過去のアーキテクチャが患ったインクリメンタリズム」と他のアーキテクチャの複雑さを評していましたが、RISC-Vは出来たばかりなので「今」シンプルなのは当然だよね……などと思ったりしました。

RISC-Vと昔のARM

RISC-Vは命令セットの独自拡張を許しているため、同じRISC-V CPUを名乗っていても「A社CPUとB社CPUでは、同じバイナリが実行できない」ことがありえます。

ARMやx86も互換性のないCPUは存在しますが、共通の命令セットが大きいためあまり問題にはなりません。一方RISC-Vは共通命令セットが小さい(RV32I、MMUなしのマイコンレベル)ので、非互換性で問題が起きそうですね。ARMでいうとCortex-A系とCortex-M系を混ぜて売るようなもので、混乱を招きそうです……。

このタイプの命令拡張方式で私が思い出したのはARMです。ARMも昔はARMv5TEJのように、対応する拡張命令をアルファベットで追記する、似たような方式を採用していましたが、ARMv6で拡張命令に全て対応したため、拡張命令方式は消滅しました。

未来予想

私の予想としては、スマートフォン、デジタル家電、PCのような、比較的高性能な分野にはRV64GC(G = IMAFD、multiple, atomic, float, double)が共通命令セットになり、マイコン系にはRV32IかIMくらいが共通命令セットになる、辺りが落としどころかなと思います。

RISC-Vも「インクリメンタリズム」に陥る未来は避けられず、拡張に次ぐ拡張でゴチャゴチャになる未来を迎えると思いますが、20年後、

  • RISC-Vがそもそも使われているか
  • RISC-Vは今と同じことを言えるくらいシンプルを維持できるか
  • RISC-Vが別のアーキから同じ欠点を指摘されていないか(歴史は繰り返す…)

期待が大きいだけに、将来的にどうなるか、楽しみです。

編集者:すずき(2019/08/11 17:20)

コメント一覧

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



2019年7月28日

強いオセロ

どうやっても圧勝してしまう「最弱オセロ」(リンク)が話題ですが、実はその横に「強いオセロ」リンク)もあります。URLから推測するにこちらの方が先に作られたように見えます。

名前に偽りはなく、ものすごく強いです。私のような素人の実力ですと50石(ほぼ真っ白)〜64石(全て白)で完敗します。終盤に一気にひっくり返され、全く勝てません。

まともにやっても全く勝てなかったので、どんな手でも良いから、1度でも勝てないだろうか?と試行錯誤するうちに、ちょっとしたクセが見えてきました。このAIは「終盤の大逆転」を重視していて、序盤〜中盤は石数が不利でも無視する傾向があります。

このクセを逆手に取り、中盤戦でとにかくゴリ押しして、白を全滅させる作戦を取ると、ごくたまに勝てることがあります。下記はその例です。


中盤でゴリ押しして勝てたケース

中盤で押し切れなければ負けです。20〜30局やりましたが、これ以外の勝ち方はできませんでした……。

編集者:すずき(2019/08/25 21:59)

コメント一覧

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



link もっと前
2019年8月10日 >>> 2019年7月28日
link もっと後

管理用メニュー

link 記事を新規作成

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

最近のコメント5件

  • link 25年12月18日
    すずきさん (12/23 23:51)
    「良く見たらksys_read()でfil...」
  • link 25年12月18日
    すずきさん (12/23 23:15)
    「ですね、まあpread+readだと話が...」
  • link 25年12月18日
    hdkさん (12/21 08:34)
    「昔試しにデバイスドライバーを作ったことが...」
  • link 25年11月28日
    hdkさん (12/04 08:10)
    「あれ、停止直前くらいの時のトルクコンバー...」
  • link 25年11月28日
    すずきさん (12/03 11:24)
    「トルクコンバーターがいてエンブレは掛かり...」

最近の記事20件

  • link 25年12月26日
    すずき (12/30 14:01)
    「[Linuxのjournal操作メモ] 目次: Linux最近のLinuxディストリビューションはsystemdを採用している...」
  • link 23年4月10日
    すずき (12/29 23:24)
    「[Linux - まとめリンク] 目次: Linuxカーネル、ドライバ関連。Linux kernel 2.4 for ARMが...」
  • link 25年12月22日
    すずき (12/28 23:39)
    「[ゲームを買ったら遊びましょう3] 目次: ゲーム前回の振り返り(2024年10月20日の日記参照)から1年経ちました。所持し...」
  • link 21年12月28日
    すずき (12/25 00:40)
    「[ゲーム - まとめリンク] 目次: ゲームNintendo DSを買ったパネルでポンDS最近の朝はパネポンDS聖剣伝説DSチ...」
  • link 08年3月25日
    すずき (12/24 22:16)
    「[シムシティDS2クリア] 目次: ゲームシムシティDS2のチャレンジモード「現代 温暖化」編をクリアして、スタッフロールを拝...」
  • link 25年12月10日
    すずき (12/24 01:02)
    「[LinuxからBIOS/UEFIの設定を取得する] 目次: Linux設定によって何か動作を変えたい、PC再起動するのが嫌な...」
  • link 25年12月16日
    すずき (12/24 00:47)
    「[initramfsの更新方法] 目次: Linuxいつも忘れてググっている気がするのでメモしておきます。Linuxカーネルを...」
  • link 16年3月2日
    すずき (12/24 00:37)
    「[Device Treeの謎] 目次: LinuxDevice Treeを使ってARM Linuxを起動したとき、どうやってコ...」
  • link 25年12月19日
    すずき (12/21 00:11)
    「[preadとlseek + readは何が違う?] 目次: Linux前回(2025年12月18日の日記参照)はpreadと...」
  • link 25年12月8日
    すずき (12/20 21:48)
    「[LXPanelのボタン入れ替えが使えないときの直し方] 目次: LinuxLXDEにはLXPanelといってタスクバーやスタ...」
  • link 25年12月18日
    すずき (12/20 19:11)
    「[preadとlseek + readは違います] 目次: Linux知っている人には「なんだそんなことか」で終わりな話なんで...」
  • link 25年12月11日
    すずき (12/19 23:59)
    「[Ubuntuのカーネルパニック画面] 目次: LinuxUbuntu 24.04 LTSで起動中にカーネルパニックを起こすと...」
  • link 22年4月13日
    すずき (12/19 10:49)
    「[C言語とlibc - まとめリンク] 目次: C言語とlibcC言語について。C++言語もたまに。プログラムの落とし穴、演算...」
  • link 16年1月25日
    すずき (12/19 10:48)
    「[紆余曲折だったC++11のoverrideとfinal] 目次: C言語とlibc最近cpprefjp(リンクはこちら)のコ...」
  • link 16年1月8日
    すずき (12/19 10:48)
    「[C, C++の可変引数マクロでのつまづきとGNU拡張構文] 目次: C言語とlibcC99, C++11の可変引数マクロでは...」
  • link 13年8月11日
    すずき (12/19 10:47)
    「[C++とPythonのクラスと動的型付け] 目次: C言語とlibc初めて触れたオブジェクト指向言語がC++で、その次がJa...」
  • link 23年9月11日
    すずき (12/19 10:42)
    「[Windows - まとめリンク] 目次: WindowsWindows XPのブリッジ機能colinuxとWindowsの...」
  • link 08年9月10日
    すずき (12/19 10:42)
    「[Windows PCの容量が足りません] 目次: Windows最近Windowsの入っているパーティション(Cドライブ)の...」
  • link 08年9月11日
    すずき (12/19 10:41)
    「[Windows XPを再インストール] 目次: WindowsCドライブを35GBに切り直してWindows XPを再インス...」
  • link 22年8月16日
    すずき (12/19 10:39)
    「[このWindows PCはN年経過しています] 目次: Windowsゲーム用PCにWindows 10をインストールしまし...」
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 2025年
open/close 過去日記について

その他の情報

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

合計:  counter total
本日:  counter today

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

最終更新: 12/30 14:01