fstabにはエントリはありませんが、起動時にパーティションがマウントされます。

fstabにはエントリはありませんが、起動時にパーティションがマウントされます。

組み込みデバイス(4.4.113カーネルを含むubuntu 16.04.4 LTS)でubuntuを使用していますが、fstabには1つのエントリしか表示されません。

/dev/mmcblk0p7  /   ext4    errors=remount-ro,noatime,nodiratime    0   1

"mount"コマンドを使用してマウントされたパーティションを確認すると、多くのパーティションがマウントされていることがわかります。これで自動的にマウントされる関連パーティションは次のとおりです。

/dev/mmcblk0p5 on /lib/modules type ext4 (ro,relatime,data=ordered)

/etc/fstabにエントリがない場合、どのようにマウントされるのかわかりませんか?

答え1

Ubuntu 16.04はsystemdそれを使用してファイルシステムをマウントします。 Ubuntuは、実際にシステムの起動時にすべての行を確認し、各項目のサービスを作成する/etc/fstab従来のアプローチから抜け出しました。管理中の各インストールの状態を表示するには、次のことができる必要があります。systemd/etc/fstabmount systemdsystemctl status *.mountsystemd

答え2

したがって、Ubuntuがありますが、いくつかのカスタム起動スクリプトがあります。

マウントが.service/etc/systemd/system/.mountlib-modules.mount

ただし、インストールはさまざまな場所から開始できます。また、見なければならない多くのファイルが.serviceあるかもしれません。別々のスクリプトを実行して間接的に動作できる/lib/systemd/systemため、必要なものをすばやく見つけることができるというmount保証はありません。grep mount *.service


または、ベンダーが埋め込まれた「Ubuntu」イメージに対するカスタム修正を文書化した可能性があります。

それ以外の場合は、Ubuntuからインポートされたものではなく、変更/生成されたファイルを検索する一連の方法があります。

1..deb適切なソースからインストールされたソフトウェアパッケージがありません。

ソースなしで直接インストールされた.debパッケージを検索するには、を実行しますaptitude search ?obsolete。 (また、パッケージが適切なソースからインストールされたが、もはや適切なソースで利用できなくなった場合にも表示されます。これらのパッケージは「使用されていない」と見なされます。)

-https://raphaelhertzog.com/2011/02/07/debian-cleanup-tip-2-get-rid-of-obsolete-packages/

疑わしいパッケージ名を見つけたら、そのファイルを一覧表示できます。たとえば、インストールされているパッケージfooの場合dpkg-query -L foo)を実行します。逆に、疑わしいファイルを見つけてそのファイルを所有するパッケージを調べるには、を実行しますdpkg-query -s /path/to/file

2. 自分を「Ubuntu」と呼んでいない適切なソースからインストールされたパッケージ

aptサポートソース(Ubuntuではないと宣伝する)からインストールされているパッケージを検索するには、を実行できますaptitude search '?narrow(?installed, !?origin(Ubuntu))!?obsolete'

を使用して、最初にソースリストを表示して警告を確認することもできますapt-cache policy。ソースのソースはで表示されますo=Ubuntu

-https://raphaelhertzog.com/2011/02/14/debian-cleanup-tip-3-get-rid-of-third-party-packages/

比較のために、16.04では、基本的な公式ソースは次のとおりです。

###### Ubuntu Main Repos
deb http://uk.archive.ubuntu.com/ubuntu/ xenial main restricted universe multiverse 

###### Ubuntu Update Repos
deb http://uk.archive.ubuntu.com/ubuntu/ xenial-security main restricted universe multiverse 
deb http://uk.archive.ubuntu.com/ubuntu/ xenial-updates main restricted universe multiverse

(適切な文書を見つけるのは難しいので、有名なユーティリティから入手しました。https://repogen.simplylinux.ch)。

またはその逆の方法: 疑わしいパッケージ foo に関連するソースを検索するには、次のようにします。apt-cache policy foo

3. インストールされたパッケージファイルが(不適切に)修正されました。

インストールされているパッケージのファイル修正を確認するには(これらのファイルを変更しない理由はありますが、可能です)をインストールしてdebsums実行しますdebsums -c

-https://raphaelhertzog.com/2011/02/21/debian-cleanup-tip-4-find-broken-packages-and-reinstall-them/

4. パッケージの一部としてインストールされていないファイル

適切なパッケージ管理以外のプログラムによって生成されたファイルを検索するスクリプトを作成できます。これにより、ほぼ確実に誤った肯定が生じます。この目的のサンプルスクリプトを見つけました。

(
  export LC_ALL=C
  comm -23 <(find /etc /lib /bin /sbin /usr -type f | sort) \
           <(sort -u /var/lib/dpkg/info/*.list)
)

ただし、ノイズが多すぎる場合は、明らかに同じことを行いcruftますが、安全に無視できるいくつかのファイルを知っているこのコマンドを試す方が良いかもしれません。 cruft -d "/etc /lib /bin /sbin /usr" --ignore "/usr/local"

-https://raphaelhertzog.com/2011/02/28/debian-cleanup-tip-5-identify-cruft-that-c​​an-be-removed-from-your-debian-system/

ここで検索されたディレクトリのリストは少し判断的です。 /etc、/usr、および/libがsystemd構成やsysvinitスクリプトなど、Ubuntuシステムのほとんどのブートスクリプトを扱うことを願っています。あなたの場合は非常に早いいくつかの可能な場所を除くブートスクリプト。/lib/modulesカーネルモジュールをロードできるように、インストールは非常に早く完了する必要があります。udev始める前にインストールが必要です。

(一方、これはinitrdにひどいハッキングがある可能性を高めます。したがって、initrdジェネレータの修正や交換に注意を払いたいと思います。名前はだと思いますinitramfs-tools。)


この回答にリンクされている非常に便利なブログ記事シリーズを書いたRaphaël Hertzogに感謝します。

関連情報