/ etc / fstabのAndroidは何ですか? -- file-system フィールド と mount フィールド android 関連 問題

What's the Android equivalent of /etc/fstab?












29
vote

問題

日本語

時々私は本当に彼らがLinuxでめちゃくちゃになったことを望みます!私は<コード> 99887766554431 がどこかにあるがどこにあるのか知っています。

代替ファイルシステムで一部のパーティションをマウントします(FAT32が好きではないため)。

英語

Sometimes I really wish they hadn't messed around with Linux so much! I know there's an /etc/fstab in there somewhere, but where?

I'd like to mount some partitions with alternative filesystems (because I don't like FAT32).

     

回答リスト

20
 
vote
vote
ベストアンサー
 

Androidについては、高されたLinuxディストリビューションとして考えていません。そうではないから。 Linuxディストリビューションで共有するAndroidの分布がカーネルであることはほぼ唯一のものです。そしてこのコンポーネントでさえ修正されています。 libcのような他のコアコンポーネントも異なります。

Androidには<コード> 9988766544330

パーティションをマウントするには、 99887766544331 は必要ありません。しかし、iirc no code>コマンドもあります。<コード> dev_mount は、(root必須)を処理する必要があります。 あなたの質問に答えるためのタイトル:すべての起動システムのマウントは、 998877666544334 ヘルパースクリプトで行われます。

 

Don't think about Android as a heavily modified Linux distribution. Because it's not. The nearly only thing that Android shares with a Linux distribution is the kernel. And even this component is modified. Also other core components, like the libc, differ.

Android has no /etc/fstab

You don't need /etc/fstab to mount an partition. But there is IIRC no mount command either.dev_mount should work (root required). To answer your questions title: All startup system mounting is done with the/etc/vold.fstab helper script.

 
 
   
   
8
 
vote

fstabファイルは / にあります。

99887766544336 は、 $systemname は、チップセットまたは受話器自体のカテゴリとして識別されたハンドセンプの指紋プロパティに基づいています。

 

The fstab file is in /.

It's called /fstab.$systemname.rc where $systemname is based on the handset's fingerprint property, either identified as category of chipset or handset itself.

 
 
       
       
5
 
vote

矛盾する情報を見ています。 1つのリソースは、ハードコードされている、ユーザー側を変更できるものではありません。 :

Android固有のINITプログラムは、device / system / initにあります。 logメッセージを追加するには、device / system / init / init.c。

で定義されたログマクロに関する潜在的な問題をデバッグするのに役立ちます。

INITプログラムは、SYSFSファイルシステムをプロービングして生成されたハードコードファイル名またはデバイス名を使用して、すべてのファイルシステムとデバイスを直接マウントします(それによってAndroidの/ etc / fstabファイルの必要性を排除)。

<コード> 99887665544338 および<コード> 998877665443339 が挙げられる。私はCM 7.1の下で私のデバイスにそれらを持っていますが、私はそれらがどのように使われているかはわからない。

 

I'm seeing conflicting information. One resource says it's hardcoded, so not something you can change user-side:

Android-specific init programs are found in device/system/init. Add LOG messages to help you debug potential problems with the LOG macro defined in device/system/init/init.c.

The init program directly mounts all filesystems and devices using either hard-coded file names or device names generated by probing the sysfs filesystem (thereby eliminating the need for a /etc/fstab file in Android).

Elsewhere /etc/vold.fstab and /etc/vold.conf are mentioned. I have them on my device under CM 7.1 but I'm not sure of how they are used.

 
 
 
 
5
 
vote

を実行して、外部ストレージを実行可能に再マウントできます。 <事前> <コード> /etc/fstab0

これはNOEXEC、NOSUID、およびNODEVフラグを削除しますが、それでもVFAT FSがあります。あなたはこのFSへのリンクを作ることができますが内部からではありません。 vold.fstabファイルが読み込まれるため、再起動が生き残らず、ノーエキシックフラグを使用して再起動時に再起動されます。

VFAT以外のものに外部ストレージを再フォーマットした場合、それらは再起動時に再マウントされず、外部ストレージに移動したアプリは使用できません。アプリケーションに外部ストレージを使用するつもりがない場合は、外部ストレージをマウント解除して 99887766665443311 を使用してEXT2にします。 <コード> 998877665443312 を使用して、それをVFATに返し、もう一度使用可能にします。

注<コード> /etc/fstab3 が壊れている、あなたは

のようなものを得るでしょう

LSEEEK:定義されたデータ型の値が大きすぎる

だからあなたの時間を無駄にしないでください。これはすべて根ざしていることを前提としており、Working BusyBoxバイナリを持ちます。

 

You can remount your external storage to be executable by running

mount -o remount, rw /mnt/sdcard 

this will remove the noexec, nosuid and nodev flags, but it will still be vfat fs. You can make links to this fs but not from within. The remount does not survive a reboot, because the vold.fstab file will be read and they will be remounted at reboot with the noexec flags.

If you reformat any of your external storage to anything other than vfat, then they will not be remounted at reboot, and any apps that you have moved to any external storage will not be usable. If you don't intend to use external storage for apps then you can unmount your external storage and use busybox mke2fs DEVICE to make it ext2. Use busybox newfs_msdos DEVICE to return it to vfat and make it usable again.

Note busybox mkfs.vfat is broken, you will get something like

lseek: Value too large for defined data type

so don't waste your time. All of this assumes you are rooted, and have a working busybox binary.

 
 
5
 
vote

これは古いトピックであることを認識していますが、ここでの答えのいくつかは実際に 99887766544331 を強く意味するので、実際に<コード> 99887766544330 とAndroidについて学ぶための私の努力を妨げました。 Androidの状況は他のLinuxディストリビューションとは極めて異なります。私が知ることができるものから、そうではありません。

しかし、ここでさまざまな応答を読むことができました。 fstab -equivalentファイルまたはファイルは my デバイスの上にありますか?

瞬間的に戻って、「 Androidは/ etc / fstab 」がすでに知られている必要があるので、おそらくOPに役立つことはおそらく役に立ちません。これが未定であった場合、それらの質問( 998877666544333 のAndroidと同等のものを尋ねる)は意味がありません。その一方で、@ FlowがAndroidに同等のものがなかったことを意味していないことは、それらのうちの1つ、「ヘルパースクリプト」という名前の<コード> 998887665544334

ALL全体で、私は@ Flowの投稿からのテイクアウトはいくつかのシステムで、ファイル(おそらく "ヘルパースクリプト" - 私の電話でそれを確認できない)が 998877665444335 、およびそれらのシステムでは、このファイルは<コード> 998877666544336 と同等です。

私自身のデバイスについて疑問に思うために戻って、私はOPの時代にもかかわらず、いくつかの理由で私の調査結果を投稿するつもりです:

  • 最初に、私は私の電話で見つけることができる 99887766544337 -styleファイルの all を文書化したいです。
  • 2番目の、私は人々、特にLinux / Androidの初心者をあなた自身のデバイスで見つけるのはかなり簡単であることを見せたいです(「それらを魚に教える」)。
  • 3番目の、私の調査結果を書くのは有用です(ボーナス:私はいつもStackexchangeでここで再度見つけることができる!)。
  • 最後に、Googleはまだこのページを提供しているので、これが私以外の誰かを助けるチャンスがあります。

だから私がこれすべてから学んだことすべてをまとめてみてください:

Android、またはアクセスできる少なくともそのバリエーションは、<コード> 99887766544338 -styleファイルを利用しています。ただし、これらのファイルの正確な名前、場所、および関数は、配布によって異なります。

システム上のこれらのファイルを見つけるには、 998877666544399 OR 99887665443310 のようなターミナルエミュレータを開き、次のようにして実行します。ファイル2のリダイレクト(<コード> /etc/fstab13 )<コード> 998876665544333314から取得するエラーメッセージの奥行きを無視できるようにすると、出力を大幅にクリーナーにします。 <コード> fstab5 。

私のシステム(ピクセル2xL、コード名 "TAIMEN")、私は3つの候補ファイルを見つけました:

<事前> <コード> /etc/fstab16

最初の2つは、どちらも一方またはシンボリックリンクでもないファイルではなく、<コード> 998877665443317 が同一であることがわかります。 99887766544318 を実行した場合は、もう少し深く見てください。

<事前> <コード> /etc/fstab19

/etc/fstab0 は、これらのファイル名を1つだけのファイルとして1つだけのファイルとしてレポートします(したがって、ハードリンクやシンボリックリンクは含まれていません)。私はファイルシステムの専門家ではありませんが、ここで起こったことは同じデバイスが2回マウントされていることです。これを次のコマンドの出力で確認できます。ここで、2行の出力IN間の唯一の違いはマウントポイント(「オン」の直後の部分)です。

<事前> <コード> fstab1

3番目のファイルは、rootとしてログインした場合にのみ表示されます。したがって、あなたが私のものと同一のデバイスを持っているならば、あなたはあなたの電話が根ざしていない限り、あなたはまだ見つけられない、またはアクセス権を持っていないでしょう。そのファイルは、Open Mobile Allianceデバイス管理と呼ばれるサービスと関係がありますが、それは私がほとんど知らないサービスですので、ここでそれを言及するだけです。

 

I realize that this is an old topic, but some of the answers here actually hindered my efforts to learn about fstab and Android because they so strongly imply that the fstab situation in Android is extremely different from other Linux distributions. From what I can tell, it isn't.

However, reading different responses here made me wonder: what fstab-equivalent file or files are on my device?

Stepping back for a moment, noting that "Android has no /etc/fstab" is probably not helpful to the OP since they must have already known this. If this were untrue, their question (asking what the Android equivalent of /etc/fstab is) would not make any sense. On the other hand, we know @Flow was not trying to imply that there was no equivalent on Android, since they mentioned one of them, a "helper script" named /etc/vold.fstab.

All in all, I think the takeaway from @Flow's post is that on some systems, there is a file (possibly a "helper script" - I can't verify that on my phone) called /etc/vold.fstab, and on those systems, this file is the nearest equivalent to /etc/fstab.

Getting back to wondering about my own device, I am going to post my findings here for several reasons, in spite of the age of the OP:

  • First, I want to document all of the fstab-style files I can find on my phone, a Pixel 2XL.
  • Second, I want to show people, especially Linux/Android newbies, that it is fairly easy to find these files on your own device ("teach them to fish").
  • Third, it's helpful for me to write up my findings (bonus: I'll always be able to find it again here on StackExchange!).
  • Finally, Google is still serving this page up so there's a chance this will help someone other than me.

So let me try to sum up everything I have learned from all of this:

Android, or at least its variants that I have access to, does make use of fstab-style files. However, the exact name, location, and function of these files vary by distribution - meaning by Android version and device, and also by ROM if you use a custom ROM.

To find these files on your system, open up a terminal emulator like tmux or adb shell and run something like this: find / -type f -iname '*fstab*' 2>/dev/null. The redirection of file 2 (stderr) to /dev/null will make your output much cleaner as you will be able to ignore the onslaught of error messages you will get from find, even if you are root.

On my system (a Pixel 2XL, code name "taimen"), I found three candidate files:

taimen:/ # find / -type f -iname '*fstab*' 2>/dev/null  /sbin/.core/mirror/vendor/etc/fstab.taimen /vendor/etc/fstab.taimen /data/data/com.android.omadm.service/files/dm/dmt_data/fstab 

The first two are separate files in that neither is a hard or symbolic link to the other, but if you diff them you will find that they are identical. Looking a little deeper, if you run stat on the files you will see that they have the same Device and Inode values:

taimen:/ # stat /sbin/.core/mirror/vendor/etc/fstab.taimen /vendor/etc/fstab.taimen    File: `/sbin/.core/mirror/vendor/etc/fstab.taimen'   Size: 1326     Blocks: 16      IO Blocks: 512 regular file Device: fc00h/64512d     Inode: 925      Links: 1 Access: (644/-rw-r--r--)        Uid: (    0/    root)   Gid: (    0/    root) Access: 2009-01-01 02:00:00.000000000 Modify: 2009-01-01 02:00:00.000000000 Change: 2009-01-01 02:00:00.000000000    File: `/vendor/etc/fstab.taimen'   Size: 1326     Blocks: 16      IO Blocks: 512 regular file Device: fc00h/64512d     Inode: 925      Links: 1 Access: (644/-rw-r--r--)        Uid: (    0/    root)   Gid: (    0/    root) Access: 2009-01-01 02:00:00.000000000 Modify: 2009-01-01 02:00:00.000000000 Change: 2009-01-01 02:00:00.000000000 

stat reports both of these filenames as regular files with only one link each (so no hard or symbolic links are involved). I'm not a filesystem expert but what has happened here is that the same device has been mounted twice. You can see this in the output of the following command, where the only differences between the two lines of output in are the mount points (the part immediately after "on"):

taimen:/ $ mount | grep vendor  /dev/block/dm-0 on /vendor type ext4 (ro,seclabel,relatime,block_validity,delalloc,barrier,user_xattr) /dev/block/dm-0 on /sbin/.core/mirror/vendor type ext4 (ro,seclabel,relatime,block_validity,delalloc,barrier,user_xattr) 

The third file is only visible to me if I login as root, so if you have a device identical to mine, you still will not find, or have access to, this file unless your phone is rooted. That file has to do with a service called Open Mobile Alliance Device Management, but that is a service I know very little about, so I will just mention it here, and you can Google for details about that if you'd like.

 
 
   
   

関連する質問

2  TWRP: '/ preload'のマウントに失敗しました(無効な引数)  ( Twrp failed to mount preload invalid argument ) 
TWRPでは、ほとんどすべての操作で '/ preload'のマウントに失敗しました(無効な引数) 現在起動できず、これに何かをすることはできません。<コード> 99887665544332 は現在<コード> 998877666544333 にあります...

0  Android x86>エラー:sysrq:緊急再マウントR / 0 [重複]  ( Android x86 error sysrq emergency remount r 0 ) 
この質問はすでにここで答えを持っています PCでAndroid-x86を起動できません - 緊急再マウント (1回) ...

1  / sd-extは仕事中に唯一の読み取り専用の読み取りを再開します  ( Sd ext gets suddenly remounted read only during work ) 
私は、CyanogenMod 7.2(PDROIDパッチ付き)およびパーティションMicroSDカードを備えたHTCの欲求を持っています(最初:脂肪、ext3)。 2番目のパーティションは、<コード> 9988776654330 として読み書き可能に自動的に...

2  NASへのAndroidからのSSHFS  ( Sshfs from android to nas ) 
HTC M7の内部ストレージ上のフォルダを 9988877665544330 を介してマウントするフォルダをNASのフォルダに取得しようとしています。目標は、例えば 99887766544331 フォルダの設定がほとんど無制限のストレージを持つようにすること...

3  LoopDeviceをAndroidにマウントできますか?  ( Can i mount loopdevice in android ) 
私は私のAndroid携帯を根ざしていて、シェルTHR ADBを取得しました。 AndroidにROMイメージをマウントしたいです。しかし、私はいつも失敗しました: mount -o loop / sdcard/myimage.img / mnt マウン...

0  SCANOGENMOD 7.2を実行しているHuawei U8160で動作していないスワップパーティション  ( Swap partition not working on huawei u8160 running cyanogenmod 7 2 ) 
私は、CyanogenMod 7.2を実行しているHuawei U8160(Vodafone 858 Smart)を持っています(これは2012年7月7日のMadteamによって放出されました)。 2/7/2012更新の更新後、CompCache(圧縮キャッ...

29  / etc / fstabのAndroidは何ですか?  ( Whats the android equivalent of etc fstab ) 
時々私は本当に彼らがLinuxでめちゃくちゃになったことを望みます!私は<コード> 99887766554431 がどこかにあるがどこにあるのか知っています。 代替ファイルシステムで一部のパーティションをマウントします(FAT32が好きではないため)。 ...

0  mount: 'remount' - > '/ system':そのようなファイルまたはディレクトリがない方法を修正する方法  ( How to fix mount remount system no such file or directory ) 
<事前> <コード> 9988776655443330 私が私の電話でKali Linuxで試すとき: <事前> <コード> 9988776655443331 私は何かが足りない? ...

3  / DATA / SDEXT2マウントが見つかりませんLink2SD  ( Data sdext2 mount not found link2sd ) 
CM 7.2安定(Android 2.3)をインストールしましたこちら。それからこの Link2SDのSDカードを準備するためのガイド。それから、私は私の電話にLink2SDをインストールし、ext2パーティションのマウントスクリプトを作成しました。それは細...

1  シンプルMTPFSでGalaxy S7をマウントできません(S4は元気に動作していました)  ( Cannot mount galaxy s7 with simple mtpfs with s4 it used to work fine ) 
私のサムスンギャラクシー S7(SM-G930F)を simple-mtpfs を使用してフォルダにマウントしたいと思います(以前に)。 Fedoraと年配のギャラクシーS4)。 S7をマイコンピュータに接続する場合は、Nautiliusを使用して閲覧できま...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有