タグ

linuxに関するngyukiのブックマーク (181)

  • XFSの秘技、reflink。

    力強く 歌声が呼ぶ 魔法が働く 私は 知恵の眠りから目覚めた 誰が 私から眠りを 追い払うのか? エルダ、「ニーベルングの指輪」より このタイミングで新サーバーを立てる事になった私は少々ラッキーなのかもしれない。 サイコムの静音PCをKVMホストとして仕上げるのだが、ゲストのバックアップを日次で行うスクリプトを今回も作成する。 私はスナップショットは一切使わない。LVMにせよ、QEMU/KVMにせよ、それは「バックアップ」ではないからだ。バックアップというのは、それそのもので完全に元の状態を復元できるものを言う。スナップショットはそれ自体では情報を復元できず、元のデータも併せて用いる必要がある。いずれかが破損すれば、データを復元する事はできない。だから、スナップショットだけ別のメディアへ保管していても意味がないのだよ。元データが壊れたら元に戻らないんだから。 しかして。VMのバックアップを

    XFSの秘技、reflink。
    ngyuki
    ngyuki 2023/10/11
    XFS(以外でも使えるのかもしれないけれども)に reflink というものがあって、ファイルシステム上のファイルの単位で Copy on Write のようなことができるらしい、知らなった
  • Linux システムコール 徹底入門

    Linux システムコールについて調べたことをまとめる。システムコールの仕組みを理解すると、 OS とアプリケーションがどのように連携して動いているのかを理解できるようになります。 システムコールは CPU に依存する処理が多いため、 x86_64 に絞ります。 検証環境]# cat /etc/redhat-release CentOS Linux release 8.0.1905 (Core) ]# uname -a Linux localhost.localdomain 4.18.0-80.11.2.el8_0.x86_64 #1 SMP Tue Sep 24 11:32:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux ]# cat /proc/cpuinfo | head processor : 0 vendor_id : GenuineInte

    Linux システムコール 徹底入門
    ngyuki
    ngyuki 2023/10/01
  • systemd serviceから呼ぶシェルではsudoではなくsetprivを使う - 赤帽エンジニアブログ

    Red Hatの森若です。 自分でsystemdのservice unitを作るときに、起動用のいくつかのコマンドを記述したシェルスクリプトを呼ぶ事は(理想的ではないですが)あるかと思います。 今回はこの場合に、sudoを利用するとまずい理由を説明して、かわりにsetprivを使うほうがよいという話です。 例題用のservice 実行してみる 別のcgroupだと何がまずいのか? 対策はsetprivコマンド 例題用のservice sudoによるまずい動作を確認するためのできるだけ単純な例として、hoge.service を用意します。 /opt/hoge/hoge.sh #!/bin/bash sudo -u moriwaka sleep 5000 /etc/systemd/system/hoge.service [Unit] Description=hoge [Service] Ty

    systemd serviceから呼ぶシェルではsudoではなくsetprivを使う - 赤帽エンジニアブログ
    ngyuki
    ngyuki 2022/09/22
    setuidgid みたいなやつ
  • Windows 10プレビューでついにLinuxのGUIアプリが動作。オーディオやGPUも対応

    Windows 10プレビューでついにLinuxのGUIアプリが動作。オーディオやGPUも対応
    ngyuki
    ngyuki 2021/04/23
    すごい
  • スワップの弁護:よくある誤解を解く

    (This post is also available in English.) この記事は In defence of swap: common misconceptions を 著者の Chris Down さんの許可 を得て Hiroaki Nakamura が日語に翻訳したものです。 原文のライセンス は CC BY-SA 4.0 であり、翻訳のライセンスも同じく CC BY 4.0 とします。 長文を読みたくない方への要約: スワップを持つことは正しく機能するシステムのかなり重要なポイントです。 スワップが無ければ、まともなメモリ管理を実現することは難しくなります。 スワップは一般的に緊急事態用のメモリを取得するためのものではなく、メモリの回収を平等に効率的に行うためのものです。 実のところ「緊急事態用のメモリ」は一般的に盛大に悪影響を及ぼします。 スワップを無効にすることは

    スワップの弁護:よくある誤解を解く
    ngyuki
    ngyuki 2020/02/19
  • Linux Performance

    static, benchmarking, tuning: sar, perf-tools, bcc/BPF: bpftrace, BPF book: Images license: creative commons Attribution-ShareAlike 4.0. This page links to various Linux performance material I've created, including the tools maps on the right. These use a large font size to suit slide decks. You can also print them out for your office wall. They show: Linux observability tools, Linux static perfor

    ngyuki
    ngyuki 2019/07/16
    Linux のパフォーマンス計測ツールのマップ
  • apt-getはまだオワコンじゃない話(2019年4月現在)

    Debian9(stretch) 及び Ubuntu18.04(bionic) においては apt-getコマンドはオワコン( deprecated/obsolete)ではありません。 aptコマンドは… 人間がコマンドラインを叩く時に使うフロントエンドなインターフェースであるとされているそうです。 そのために、バージョンで挙動が変わるかもとも明確に記載されています。 ソースは man 8 apt http://manpages.ubuntu.com/manpages/bionic/man8/apt.8.html むしろ、シェルスクリプトにおいては、apt-getコマンドを使うことが推奨されています。 aptコマンドはインタラクティブ向けとあるので、それはそうですよね。 Debian stretch においては。公式ドキュメント参照 https://www.debian.org/doc/m

    ngyuki
    ngyuki 2019/04/19
  • /etc/fstab にスペースを含むパスを指定したい場合 \040 を使う

    /etc/fstab にスペースを含むパスを指定したい場合はで \040 (8 進数) で指定します。 単純なスペース「 」やバックスラッシュ + スペース「\ 」ではエラーになります。 [natsu@centos53 ~]$ sudo cp -a /etc/fstab /etc/fstab.orig [natsu@centos53 ~]$ sudo vi /etc/fstab --- /etc/fstab.orig +++ /etc/fstab @@ -4,3 +4,4 @@ sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 LABEL=SWAP-sda2 swap swap defaults 0 0 +/dev/sdc1 /var/lib/vmware/Virtual\040Machines ext3 defaults

    /etc/fstab にスペースを含むパスを指定したい場合 \040 を使う
    ngyuki
    ngyuki 2019/04/09
  • bindfs

    bindfs Mount a directory to another location and alter permission bits. bindfs is a FUSE filesystem for mounting a directory to another location, similarly to mount --bind. The permissions inside the mountpoint can be altered using various rules. Examples Here are some examples of what bindfs can do for you: Make a directory read-only for non-root users. bindfs --perms=a-w somedir somedir Share a

    ngyuki
    ngyuki 2019/04/06
    mount --bind のようにディレクトリを別の場所にマウントしつつパーミッションやオーナーを変えて見せるやつ。FUSE 使ってるとのこと
  • Have SystemD spawn N processes?

    ngyuki
    ngyuki 2019/03/23
    systemd で supervisord の numprocs みたいなのやる方法、やっぱりテンプレートユニットでやるしかなさそう
  • Explanation of polkitd Unregistered Authentication Agent

    ngyuki
    ngyuki 2019/03/23
    polkitd: Registered Authentication Agent for unix-process みたいなログは無視して OK とのことらしい
  • How can I find out about "rootfs"

    Running Debian 7; when I execute a cat /etc/mtab I can see all sorts of useful information about the filesystems that are mounted, such as the filesystem and options used to mount then; however for the rootfs I see only: rootfs / rootfs rw 0 0 How can I know more about the rootfs; which physical device/partition was used, filesystem, mount options etc? On my system /etc/mtab is in fact a symbolic

    How can I find out about "rootfs"
    ngyuki
    ngyuki 2019/02/08
    /proc/mounts にある rootfs について、ブート時の ramfs とのこと
  • CentOS7/RHEL7 におけるファイルシステムのマウント順序を指定する方法 – SIOS Tech. Lab

    ◆ Live配信スケジュール ◆ サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。 ⇒ 詳細スケジュールはこちらから ⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください 【6/19開催】Kong Community Japan Meetup #4 イベントでは、Kong Inc. のVP of ProductであるReza Shafii氏もプレゼンターとして参加。当社からはアーキテクト マネージャーの槌野の登壇が決定!参加無料です!! https://column.api-ecosystem.sios.jp/connect/kong/1081/ 【6/21開催】開発者目線でのSBOMとの向き合い方 SBOMの導入から開発者がSBOMの作成・管理を自動で行っていくための方法(デモ)を紹介します。

    CentOS7/RHEL7 におけるファイルシステムのマウント順序を指定する方法 – SIOS Tech. Lab
    ngyuki
    ngyuki 2018/12/20
    systemd だと fstab に x-systemd.requires-mounts-for とかが書けるとのこと
  • Creating a Linux service with systemd

    Crafting your own services — Photo by Jeff Sheldon on UnsplashWhile writing web applications, I often need to offload compute-heavy tasks to an asynchronous worker script, schedule tasks for later, or even write a daemon that listens to a socket to communicate with clients directly. While there might sometimes be better tools for the job — always consider using existing software first, such as a t

    Creating a Linux service with systemd
    ngyuki
    ngyuki 2018/07/04
    systemd でサービスを無限にリトライする方法 StartLimitIntervalSec=0 とか StartLimitAction=reboot とか
  • Linuxバイナリを最適化して性能を向上させる「BOLT」、Facebookがオープンソースで公開。言語やコンパイラに依存せず高速化

    Linuxバイナリを最適化して性能を向上させる「BOLT」、Facebookがオープンソースで公開。言語やコンパイラに依存せず高速化 Facebookは、Linuxバイナリの内部配置を最適化することによりCPUのキャッシュ効率などを向上させ、実行速度を改善する「BOLT」をオープンソースで公開しました。 BOLTは「Binary optimization and layout tool」の略とされています(もしかしたら、より速く走るという意味でウサイン・ボルト氏にかけているのかもしれません)。 BOLTは言語やコンパイラに依存せず、ソースコードも不要 BOLTのおもな効果は、Linuxバイナリの実行状況をperfコマンドで取得し、高頻度で実行されている部分などを判別した上で、そうした部分がCPUキャッシュにヒットしやすいようにバイナリの内部配置を改善することなどで実行速度を向上させることと

    Linuxバイナリを最適化して性能を向上させる「BOLT」、Facebookがオープンソースで公開。言語やコンパイラに依存せず高速化
  • Linuxのloadavgが約7時間ごとに上昇する現象の原因 - Mackerel お知らせ #mackerelio

    Mackerelチームのエンジニアのid:itchynyです。 「mackerel-agentを入れるとloadavgが7時間ごとに上昇する」 先日、このような問い合わせを複数のお客さまから受けました。私も実験してみたところ、確かに再現しました。EC2 t2.microにmackerel-agentを入れて簡単なログ監視とプロセス監視を設定し、数日放置しました。 確かに、約7時間ごとにloadavgが上昇しています。この周期のcronの設定はしておらず、またmackerel-agent内部でも7時間ごとに行う処理はありません。しかし、プラグインを多く入れるほどloadavgのピーク値も上がります。 エントリーでは、この現象の原因について説明します。 loadavgが上昇する原因を調べるには、まずloadavg自体がどう計算されているかを知る必要があります。 まずは、Linuxがloada

    Linuxのloadavgが約7時間ごとに上昇する現象の原因 - Mackerel お知らせ #mackerelio
    ngyuki
    ngyuki 2018/06/13
    mackerel じゃないけど munin で監視してるサーバもプラグインのプロセスがフォークされるので同じように7時間ごとにLA上がってるっぽかった
  • ps の結果にカーネルスレッドを含めない - 揮発性のメモ2

    出力結果を加工するほかない ps aux|egrep -v ']$'

    ps の結果にカーネルスレッドを含めない - 揮発性のメモ2
    ngyuki
    ngyuki 2018/03/09
  • logrotateの設定とファイルのアクセスモードについて

    忙しい人のために先にまとめログファイルのopen時のアクセスモードは os.O_WRONLY|os.O_APPEND|os.O_CREATE を指定するlogrotateの設定には nocreate を渡すlogrotateではファイルをmvした後に行う処理が書けるので、そこでアプリケーションに対してシグナルを送ることでlogrotateの処理を実装できるfluentdはログのローテートを頑張って検知している ファイルディスクリプタについてファイルを open するとファイルディスクリプタを得られます。ファイルに書き込む際にはファイルディスクリプタ経由で書き込みを行います。 Linuxシステムプログラミング 23pをちょっと長めに引用します。 ファイルを読み書きする前にはオープンする必要があります。カーネルはオープンしたファイルをプロセスごとに管理しており、これをプロセスのファ

  • LPI-Japan、日本市場に最適化したLinux技術者認定試験「LinuC」を発表

    「LinuC」は、最新の技術革新や市場ニーズの変化にすばやく対応でき、わかりやすい日語で受験者にストレスを与えない試験品質を備えたLinux技術者認定試験。日で管理・監視されるため信頼性が高く、受験者にはスキルアップと資格証明を支援するサービスを提供する。 試験は、Linuxシステムの構築・運用・保守のスキルを認定する「LinuCレベル1」、Linuxサーバやネットワークを含むシステムの構築・運用・保守のスキルを認定する「LinuCレベル2」、各分野の最高技術レベルの専門性を認定する「LinuCレベル3」の3種類を用意している。税別の受験費用は、「LinuCレベル1」「LinuCレベル2」が15000円、「LinuCレベル3」が30000円。 受験後は、学習やスキルアップに役立つ「受験結果分析レポート」を提供するほか、認定者への認定証(紙、PDF)、認定カード、認定者ロゴの進呈、誰でも

    LPI-Japan、日本市場に最適化したLinux技術者認定試験「LinuC」を発表
    ngyuki
    ngyuki 2018/02/08
    LPIC となにがちがうの?
  • Linux iproute2でconntrackレスなStateless NAT | DevelopersIO

    ども、大瀧です。 Linuxで静的NATを組むときの定番はNetfilter(iptables)ですが、iptablesのnatテーブルの運用にはconntrack(コネクション追跡テーブル)のサイジングがつきまといます。そこで今回は静的NATを組むLinuxカーネルのもうひとつの機能として、iproute2によるStateless NAT構成をご紹介します。 動作確認環境 Linuxディストリビューション : Amazon Linux 2.0 RC iproute2のバージョン : 3.10.0 構成例と設定コマンド 今回はありがちな静的NAT構成として、以下で設定してみます。 クライアントPCはNAT Box宛(192.168.1.1)のリクエストを送出、NAT Boxの静的NATでWebサーバー宛(10.10.0.100)にDNAT、戻り用にSNATもペアで設定する感じですね。ipt

    Linux iproute2でconntrackレスなStateless NAT | DevelopersIO
    ngyuki
    ngyuki 2018/01/25