タグ

unixに関するmizdraのブックマーク (19)

  • Signal Hook

    The Signal Hook As promised in the previous article (thanks for all the valuable feedback ‒ I didn’t have the time to act on it yet, but I will), this talks about Unix signal handling. Long story short, I wasn’t happy about the signal handling story in Rust and this is my attempt at improving it with the signal-hook library. What is a signal? If you come from the Windows world or didn’t have the o

  • freedesktop.org - Wikipedia

    freedesktop.org(フリーデスクトップドットオルグ。fd.o(エフディードットオー)などと略されることもある)は、Unix系のシステムの環境のデスクトップ環境(もっぱらX Window Systemを利用する)の、相互運用性の向上と共通基盤技術の整備を目指したプロジェクトである。CDEのライセンスが、しがらみのため自由になるのに時間を要していた(2012年に至ってやっとLGPLv2となったが、もはやほとんどニュースにならなかった)ために乱立気味であったUnix系のデスクトップ環境において、無用な重複と、混乱を招くだけの無用な差異を無くすことなどが主な目的である。2000年3月、ハヴォック・ペニントンが設立した。 開発などはユーザの視点で行われている。KDEとGNOMEに代表される各デスクトップ環境を統一した唯一の環境、といったようなものを作る、というような目的ではなく、各開発フ

    freedesktop.org - Wikipedia
    mizdra
    mizdra 2023/05/02
    数ある Unix 系デスクトップ環境の差異を認めながらも、非本質的な差異はユーザに混乱を招くので、そういうものは共通化しようという切り口なの関心する
  • CLIツールを作るとき、ユーザー設定ファイルやデータをどこに配置するか - $shibayu36->blog;

    chat-hatenablogをpip installでインストール可能にした - $shibayu36->blog;にてchat-hatenablogをpip installできるようにするとき、ユーザー設定ファイルやデータをどこに配置するかに迷った。このツールでは、環境変数の設定として.envファイルを、ブログデータのインデックスとしてindex.pickleファイルを使っている。 これらのファイルの置き場所について少しだけ調べたので、現状分かったことをメモしておく。 まず選択肢としては二つありそうだった。 ~/.chat-hatenablog/.envと~/.chat-hatenablog/index.pickle 例) ~/.asdf、~/.docker、~/.gemなど XDG Base Directoryの仕様に沿って、~/.config/chat-hatenablog/.en

    CLIツールを作るとき、ユーザー設定ファイルやデータをどこに配置するか - $shibayu36->blog;
    mizdra
    mizdra 2023/05/02
    ~/.config が XDG Base Directory という仕様由来なの知らなかった
  • サブコマンドはUNIX哲学と相反していないのか | おそらくはそれさえも平凡な日々

    「UNIXという考え方」に書かれているUNIX哲学に「各プログラムが一つのことを上手くやる」というのがある。それとサブコマンドは矛盾するんじゃないかと感じていた。一つのプログラムが複数のことを実行できるじゃん、という。 最近は以下のように思うようにあった。 サブコマンドを持つようなツールの名前自体は「名前空間」である 「サブコマンドが一つのプログラム」だと考えればいい 汎用的なコマンドラインツールはグローバルな名前になるので、名前の衝突には気をつける必要がある。今や多くの開発者がコマンドラインツールを書くようになった。 また、コンテキストを同じくした複雑なツール群を提供する場合、名前空間的なものはあったほうが良いのは確かでしょう。例えば git のサブコマンドが全部バラバラのコマンド名だったら発狂してしまう。 最近、僕はGoでツールを書く事が多いが、サブコマンドを採用せずに各々のコマンドで

    mizdra
    mizdra 2023/01/01
    わかる / "サブコマンド自体は許容できるが、サブコマンドを持つツールは、サブコマンド同士の実装が疎になるように設計しないといけない"
  • シグナルハンドラにprintf()を書いてはいけない - Qiita

    三行でまとめると シグナルハンドラ内でprintf()してはいけない というより、余計な処理を書いてはいけない もう一度言う、シグナルハンドラで余計なことをするな、非常に大事なことだ はじめに シグナルハンドラでやってよい処理は非常に限られるのに、全くルールを守らないサンプルコードが世の中に大量に出回っている。printf()するなんてもってのほかなのだが、カジュアルにそこらじゅうで見かけて非常に悲しい。 この記事では、そんな状況を少しでも改善したいと思い初心者向きに書いたものだ。そのため、下記では、回避するにはどう実装すればよいのか、ルールを破るとどうなるのか、といった点を先に簡潔に記述する。 なぜしてはいけないのか、POSIXだとかリエントラントだとか、は下の方に追いやっている。玄人は読んでてウズウズするだろうが、細かい話はできるだけ目につかないような構成としたため了解いただきたい。

    シグナルハンドラにprintf()を書いてはいけない - Qiita
  • 今どきのLinux事情

    とりとめない話ですが、今どきのLinuxのパッケージングの種類とSteamDeckから一気に改善されたDirectX 周りの話です。社内の勉強会で共有した資料

    今どきのLinux事情
    mizdra
    mizdra 2022/07/09
    すごい…
  • Github Actionsでyesコマンドを使いたい時は代わりにecho yするといい - The Third Law

    こんばんは、id:maku693です。 タイトルでほぼ全部説明しましたが、Github Actionsでちょっとハマりました。 Github Actionsのワークフローでは工夫しないとyesコマンドを使えないので、代わりにecho yを使うと手っ取り早いです。 これに気づいたのは、[y/N]どちらかの入力を待つことで処理を続行していいか聞いてくるプログラムをワークフロー中で使いたかったので、yesコマンドを使ってyを入力させようとしたところ、yes: standard output: Broken pipeというエラーが出て正常にワークフローが終了しなかったためです。 手元 (macOS) で実行してもエラーにならないので不思議に思って調べてみると、bashにpipefailオプションが指定されている*1のと、yesコマンドがSIGPIPEを受け取って終了する前提で使われているのが原因で

    Github Actionsでyesコマンドを使いたい時は代わりにecho yするといい - The Third Law
    mizdra
    mizdra 2021/01/08
    yes commandの仕組み知らなかった。良さそう。
  • What does the 'rc' in `.bashrc`, etc. mean?

    Stack Exchange Network Stack Exchange network consists of 183 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers. Visit Stack Exchange

    What does the 'rc' in `.bashrc`, etc. mean?
    mizdra
    mizdra 2020/06/05
  • スレッドの(というか並行処理の)歴史 - 西尾泰和のはてなダイアリー

    Twitterから転載 ふとスレッドっていつ発明されたんだろうと調べてみたけどよくわからない。Linuxがカーネルスレッドをサポートしたのが2.6からで2003年とか意外と新しい??もちろんユーザレベルのスレッドはもっと古いんだろうけど、いつからだろう。 hideaki_t: NeXTSTEP(Mach 2.0?)にはcthreadがありました。 atsuoishimoto: 私がスレッドって用語初めて聞いたのは、たしか'90年代初頭のOS/2だったかなぁ? これが2004年の話か>NetBSD 2.x+, and DragonFly BSD implement LWPs as kernel threads (1:1 model) shidocchi: 私は院の研究室でMachのソースリーディングをやってた頃知った。 これが2001年 > October 2, 2001 Mac OS X

    スレッドの(というか並行処理の)歴史 - 西尾泰和のはてなダイアリー
  • PAMによる認証の仕組みを調べてみた - GeekFactory

    /etc/pam.d/system-authが気になって夜も眠れないので調べてみました。この設定ファイルはOS全体の認証*1を司るものです。コンソールでログインするとき、SSHで接続するとき、su(switch user)するときなど、多くの場面で利用されます。 /etc/pam.d以下にあるファイルは下記の書式になっています。 タイプ コントロールフラグ モジュール [オプション] タイプは4種類あります。 auth 認証を許可するかどうかです。ユーザが物であるかを、パスワードなどの入力によって確認をします。また認証方法を変更することも可能です。 account パスワードの有効期間や認証時の時間などでアカウントの有効性をチェックします。authとセットで使用されます。 password 認証方法を変更するメカニズムを提供します。通常はパスワードの設定/変更する場合です。 sessio

    PAMによる認証の仕組みを調べてみた - GeekFactory
  • Linuxの各アプリケーションが共通して利用する「PAM認証」について

    Linuxのユーザ認証に関することならPAM認証におまかせ! 前回はスパムメール対策にユーザー認証を利用することを解説しました。 Linuxではメールサーバだけでなく、多くのアプリケーションでユーザー認証を行います。ユーザー認証が必要なソフト全てに、別々の認証機構やデータベースを追加するというのは無駄が多くなります。 そのため「PAM(パム:Pluggable Authentication Modules)」という「各ソフト共通で利用できる認証システム」が用意されています。これからメールサーバにSMTP認証を導入するにあたって「PAM認証」を利用するので、仕組みを理解しておきましょう。 PAM認証について 「PAM認証」を簡単に解説すると下の図のようになります。 このイラストの例で言えば、「DNSサーバ」と「SMTPサーバ」が共にPAM認証を利用。「PAM認証」に利用されている認証機構はシ

    Linuxの各アプリケーションが共通して利用する「PAM認証」について
    mizdra
    mizdra 2020/02/16
  • Ctrl+Cとkill -SIGINTの違いからLinuxプロセスグループを理解する | ギークを目指して

    しばらくLinuxネタが続く・・。 近いうちに最近出たJava8ネタを書いてみようと思います。が、もう少しLinuxネタにお付き合いください。 前回はsshdを対象に親プロセスをkillした場合の動作を確認した。 killされたプロセスの子プロセスは孤児プロセスとなり、カーネルによって自動的にinitプロセスの子として扱われる事を説明した。(この動作を「リペアレンティング」と呼ぶ) 今回はこの続き。 Linuxで作業していてCtrl+Cしてプロセスを終了した場合、フォアグラウンドのプロセスやその子プロセスも一緒に終了する。 ということは、子プロセスは孤児として扱われず、リペアレンティングされていないことになる。 今回の記事ではこの振る舞いの違い(リペアレンティングされるか否か)に着目し、kill -SIGINTコマンドとCtrl+Cの違いについて考えていく。 そもそもkillコマンドやCt

    Ctrl+Cとkill -SIGINTの違いからLinuxプロセスグループを理解する | ギークを目指して
    mizdra
    mizdra 2019/09/07
  • POSIX使えねー

    Win32 APIに慣れた身としては、POSIXが使えなさ過ぎて困る。 まず、あまりにも機能が少ない。もちろん、POSIXは環境が用意するべき最低限の保証なのだから、こういうものなのかもしれないが、低機能は低機能だ。さらに、低級だ。 そもそも、APIの設計からしてひどい。まず、関数名が暗号のように短い。Windowsのやり方DoSomethingOrOtherExW(多数の引数)が最適とは言わないが、すくなくとも、Win32 APIの方が、どういう意味なのかはわかりやすい。関数名が十分に長いので検索もしやすい。さらに統一されたドキュメントもある。今の時代、関数名が長すぎて困るということはないのだ。当時のCコンパイラーが認識する識別子の長さに関係していたのか、あるいは単にUNIX文化が略語を好むのか。 POSIXのドキュメントと格闘した挙句、結局、ほとんどの場合、Boostにもっとマシなライ

  • CentOS6 Postfix+OpenLDAP

    ■PostfixのLDAP対応 案件的にはあまり多くないのですが、大規模な組織となればユーザ認証は全て中央のLDAPサーバに任すというとこ ろもあります。ホスティングサーバや中小の規模だとメールのユーザはメールサーバのローカルアカウントを使用しているところが多いです。 ここでは認証にOpenLDAPを使った設定のメモ書きを残します。OpenLDAPは既にインストールされアカウントも登録されているという前提です。Postfixがインストールされていなければyumからインストールを行います。 # vi /etc/postfix/main.cf myhostname = mail.unix-power.net mydomain = unix-power.net myorigin = $myhostname #inet_interfaces = localhost inet_interfaces

    CentOS6 Postfix+OpenLDAP
  • curlのオプション勉強したのでまとめ - うまいぼうぶろぐ

    curlはwget, lwp-request(GET, HEAD), lynxと同じようなcliのhttp client。だと思ってたらもっと機能があるようなので、man curl読んで色々調べてみた。HTTP(S)以外にもかなり対応してた。 curl is a tool to transfer data from or to a server, using one of the supported protocols (HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP or FILE). とりあえず良く使いそうなhttp, ftp関連のメモ。DLだけじゃなくて、アップロードもできるのが素晴らしい。 基 syntax curl [optinons] URL URL It will then default to HTT

    curlのオプション勉強したのでまとめ - うまいぼうぶろぐ
  • tar コマンドの使い方とオプションの覚え方 - teppeis blog

    Linux でよく使うコマンドに tar コマンドがあります。.tar, .tar.gz, .tgz などのアーカイブファイル、通称 tarball を作成・抽出するコマンドですね。 抽出(解凍)はよく使うから呪文のようにオプションを覚えているんだけど、アーカイブ作成(圧縮)の方はうろ覚えでした。ということで、改めて各オプションの意味を備忘録的に記しておきます。 まず、必須のオプション(機能指定文字)を選ぶ。 c : Create アーカイブの作成 x : eXtract アーカイブの抽出 これに次のオプションをつける。 z : gZip 圧縮・解凍に gzip を使う(もちろん gzip 形式の場合のみ) v : Verbose 作成・抽出時にファイルのリストを画面出力する f : File 作成・抽出するファイルを指定する(tar は来テープメディアのためのコマンド (Tape AR

    tar コマンドの使い方とオプションの覚え方 - teppeis blog
    mizdra
    mizdra 2017/08/15
  • UNIXの部屋

    UNIX/Linuxの部屋 FreeBSD・Solaris・Red Hat Linux・Fedora・CentOS・HP-UX を使った上で気づいたこと・調べたことをまとめました。 この web 内についての引用・リンク・紹介などの注意点は サイトへのリンクについて をお読み下さい。

    mizdra
    mizdra 2016/06/25
  • 新版 UNIX/Linux 由来/読み方辞書

    このコンテンツは fj でまとめられたUNIX 用語 由来/読み方辞書 version 1.6 (Feb 13 1995)(以下オリジナル版と記述。ローカル保存版はこちら) を元に、当ページ管理人の独断と偏見により追加・改変・削除したものです。オリジナル版は「第3者に配布するのは自由です」とありますが、追加・改変・削除については言及がありませんでした。よって、追加・改変・削除は当ページ管理人が無許可で行っています。 注意 (オリジナル版の記載そのまま) ここに記載されている読みは、それを他人に強制させるものではありません。読みは、来ならば英語の発音を、仮名で置き換えているので必ずしも正確ではありません。内容に関しての保証は一切いたしません。第3者に配布するのは自由です。 新版の注意 主に 1995年以降に出現した用語を追加しています。あまり UNIX にこだわらず、「width」「hei

    mizdra
    mizdra 2016/02/21
    良い…
  • Macを使い始めたらとりあえずは覚えたい12のUNIXコマンド-HTML5 CSS3 JavaScript – WEBYA.IN

    MacといったらUNIX、UNIXといったらターミナル、ターミナルといったらスティーブ・ジョブ郎ですがみなさんおげんこ? さて、ターミナルがどんだけのもんじゃい!プンスコ!と思われる方もいらっしゃるとは思いますが、僕がよく聞くのは「いやぁ、ターミナルを使うようになってからとはいい、女子にはモテモテだわ、ギャンブルは連勝だわ、仕事はうまくいくわで最高です!(キリッ」っていう喜びの声ばかり☆便利万歳!ラーメン大好き!つけめんよりラーメンが好き! つーことで早稲田のターミナ郎こと僕が数あるUNIXのコマンドの中から「とりあえずこれ覚えておけばバレンタインもクリスマス怖くないっ!」っていうものを12個程チョイス!これをきっかけにお風呂はちゃんと入れよな! お作法(構文) コマンドの構文は、基的に「コマンド」「オプション」「引数」の組み合わせで次のパターンがあるよ。 コマンドのみ コマンド + オ

    mizdra
    mizdra 2016/02/19
    優しいコマンド入門記事
  • 1