Linux Raw의 형식은 무엇입니까?
linux raw는 Linux에서 "기본 장치"를 의미하는 원시 데이터 형식으로, 네이키드 파티션 및 원시 파티션이라고도 합니다. Linux raw는 형식이 지정되지 않았으며 Unix/Linux에서 파일 시스템을 통해 읽을 수 없는 특수 문자입니다. 장치, 원시 장치는 파티션이나 디스크에 바인딩될 수 있습니다.
이 튜토리얼의 운영 환경: linux5.9.8 시스템, Dell G3 컴퓨터.
Linux Raw의 형식은 무엇인가요?
원본 데이터 형식.
Linux 원시 장치에 대한 자세한 설명
베어 장치 개요
베어 장치: 베어 파티션(원시 파티션)이라고도 하며 포맷되지 않았으며 Unix/Linux에서 읽을 수 없는 특수 문자 장치입니다. 파일 시스템. 원시 장치는 파티션이나 디스크에 바인딩될 수 있습니다.
문자 장치: 문자 장치를 읽고 쓰는 데 OS 버퍼를 거칠 필요가 없습니다. 파일 시스템에서는 마운트할 수 없습니다.
블록 장치: 블록 장치를 읽고 쓰려면 파일 시스템에 마운트할 수 있는 OS 버퍼를 거쳐야 합니다.
이것은 Linux 버전과 관련이 있습니다. 이전 버전에서는 최대 256개의 베어 장치만 있을 수 있습니다. Linux 4에서는 81Array2 베어 장치를 바인딩할 수 있습니다. 그러나 Linux에서는 최대 255개의 파티션만 있을 수 있습니다. 따라서 원시 장치를 사용하여 파티션을 바인딩하는 경우 최대 255개의 원시 장치만 바인딩할 수 있습니다. lvm을 사용하는 경우에는 그러한 제한이 없습니다.
Linux에서는 단일 디스크에 최대 15개의 파티션이 있을 수 있습니다. 기본 파티션 3개 + 확장 파티션 1개 + 논리 파티션 11개.
권장되는 파티셔닝 방법은 다음과 같습니다. 먼저 3개의 기본 파티션으로 나누고, 네 번째 파티션은 확장 파티션, 그런 다음 확장 파티션에서 11개의 논리 파티션으로 나눕니다.
원시 장치는 확장 파티션에 바인딩되어서는 안 됩니다.
Linux에서 베어 장치를 사용해야 하는 경우 수동으로 바인딩해야 하지만 Unix에서는 그렇지 않습니다.
Unix의 모든 블록 장치에는 버퍼링되지 않은 I/O에 해당하는 문자 장치가 있으므로 이것이 해당 원시 장치입니다. Linux의 Rawio는 바인딩되지 않은(바인딩되지 않은) 원시 장치 세트 /dev/rawN 또는 /dev/raw/rawN과 제어 장치 /dev/rawct를 구현하여 이를 블록 장치에 바인딩합니다. 따라서 원시 장치를 사용해야 하는 경우 이를 실제 블록 장치와 일치시켜야 합니다. 이 단계는 실제로 Unix에서 캐시되지 않은 문자 장치의 자동 매핑을 완료합니다.
주 및 부 장치 번호
unix/linux 시스템에서는 모든 것이 파일입니다. 모든 하드 디스크, 플로피 디스크, 키보드 및 기타 장치는 /dev 아래의 파일에 해당하는 파일로 표시됩니다. 응용 프로그램의 경우 이러한 장치 파일은 일반 파일처럼 열고 닫고 읽고 쓸 수 있습니다. 그러나 /dev/sda 및 /dev/raw/raw1과 같은 파일 이름은 모두 사용자 공간 이름이며 OS 커널은 이 이름이 무엇을 의미하는지 알지 못합니다. 커널 공간에서 장치는 주 장치 번호와 부 장치 번호로 구분됩니다.
주 장치 번호는 장치 드라이버로 간주할 수 있습니다. 동일한 장치 드라이버에 의해 관리되는 장치는 동일한 주 장치 번호를 갖습니다. 이 번호는 실제로 다른 장치 드라이버를 저장하는 커널의 장치 드라이버 테이블의 인덱스입니다. 보조 장치 번호는 액세스 중인 특정 장치를 나타내는 데 사용됩니다. 즉, 커널은 주요 장치 번호를 기반으로 장치 드라이버를 찾은 다음 부 장치 번호에서 장치 위치 및 기타 속성을 얻습니다. 이러한 주요 장치 번호는 모두 사전 할당되어 있습니다. 자세한 내용은 http://www.lanana.org/docs/device-list/devices-2.6+.txt에서 볼 수 있습니다.
예를 들어 원시 장치는 162이고 scsi 블록 장치는 8
/etc/udev/rules.d/60-raw.rules
Redhat 플랫폼의 원시 장치 구성이 redhat 5 이후 변경되었습니다. Redhat 5 이전에는 /etc/sysconfig/rawdevices 파일을 직접 구성하고 원시 장치의 시작 및 종료를 /etc/init.d/rawdevices를 통해 관리했습니다. Redhat 5 이후에는 원래 원시 장치 인터페이스가 취소되었으며 Redhat 5는 udev 규칙을 통해 구성됩니다. 구성하려면 /etc/udev/rules.d/60-raw.rules 파일을 편집해야 합니다.
cat /etc/udev/rules.d/60-raw.rules # Enter raw device bindings here. # # An example would be: # ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N" # to bind /dev/raw/raw1 to /dev/sda, or # ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m" # to bind /dev/raw/raw2 to the device with major 8, minor 1.
그중
ACTION=="add", KERNEL="<device name>", RUN+="raw /dev/raw/rawX %N"
장치 이름을 구성하고 <장치 이름>을 바인딩해야 하는 장치 이름(예: /dev/sda1)으로 바꾸세요. A"와 "B"는 주/부 번호입니다. X는 시스템에서 사용하는 원시 장치 번호입니다.
Redhat에서 원시를 관리하는 프로세스에 대한 개인적인 이해는 다음과 같습니다. Redhat 5에서는 원시 장치가 udev를 통해 관리되고 udev는 MAJOR 및 MINOR를 통해 원시 장치를 식별합니다. 따라서 디바이스 번호와 원시 디바이스 번호를 바인딩해야 하며, 메이저 디바이스 번호와 마이너 디바이스 번호는 직접 지정하거나 시스템에서 자동으로 할당할 수 있습니다. Red Hat 공식 문서에 있는 raw.rule의 예에 따르면 KERNEL==.. 또는 ENV{MAJOR}...만 임의로 구성하면 된다고 합니다. 그러나 일부 네티즌들은 둘 다 반드시 테스트하고 검증했습니다. 동시에 구성됩니다.
/etc/udev/rules.d/60-raw.rules 파일 구성
디스크 파티션 상황 확인
ACTION=="add", ENV{MAJOR}="A", ENV{MINOR}="B", RUN+="raw /dev/raw/rawX %M %m"
/etc/udev/rules.d/60-raw.rules 파일 구성
# fdisk -l /dev/sdb Disk /dev/sdb: 4880 MB, 4880072704 bytes 255 heads, 63 sectors/track, 593 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 25 200781 83 Linux /dev/sdb2 26 50 200812+ 83 Linux
시작 the raw device
# grep -v ^# /etc/udev/rules.d/60-raw.rules ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N" ACTION=="add", KERNEL=="sdb2", RUN+="/bin/raw /dev/raw/raw2 %N" ACTION=="add", ENV{MAJOR}=="3", ENV{MINOR}=="2", RUN+="/bin/raw /dev/raw/raw1 %M %m" ACTION=="add", ENV{MAJOR}=="7", ENV{MINOR}=="2", RUN+="/bin/raw /dev/raw/raw2 %M %m"
구성을 확인하세요
# start_udev Starting udev: [ OK ]
여기 작성자는 기본 장치 번호와 복잡한 장치 번호가 /etc/udev/rules.d/60-raw에 지정한 것과 왜 다른지 잘 모르겠습니다. 규칙에 대해 더 많이 아는 독자들은 시스템 커널 정보는 다음과 같습니다
# raw -qa /dev/raw/raw1: bound to major 8, minor 17 /dev/raw/raw2: bound to major 8, minor 18
다음과 같은 방법으로 주요 장치 번호와 복합 장치 번호를 지정할 수 있습니다
.# raw /dev/raw/raw1 1 1 /dev/raw/raw1: bound to major 1, minor 1 raw /dev/raw/raw[n] /dev/xxx
其中n的范围是0-8191。raw目录不存在的话会被自动创建。执行这个命令,就会在/dev/raw下生成一个对应的raw[n]文件用命令方式绑定裸设备在系统重启后会失效。
删除裸设备
# raw /dev/raw/raw2 0 0 /dev/raw/raw2: bound to major 0, minor 0 # raw -qa /dev/raw/raw1: bound to major 1, minor 1
以上设置必须同时修改/etc/udev/rules.d/60-raw.rules才能保证重启后生效,否则重启后系统会重新读取/etc/udev/rules.d/60-raw.rules
如需设置raw设备的用户和权限信息,可在/etc/udev/rules.d/60-raw.rules文件里添加如下信息:
ACTION=="add", KERNEL=="raw1", OWNER="dave", GROUP="tianlesoftware", MODE="660"
如果有多个raw设备,可以写成:
ACTION=="add", KERNEL=="raw[1-4]", OWNER="dave", GROUP="tianlesoftware", MODE="660" #chown oracle:oinstall /dev/raw/raw[1-4] #chmod 775 /dev/raw/raw[1-4]
注意:在内核2.6.9-89.5AXS2之前使用/etc/sysconfig/rawdevices和/etc/udev/permissions.d/50-udev.permissions进行raw设备的配置和权限管理。在内核 2.6.18-128.7AXS3以后则使用了本文介绍的/etc/udev/rules.d/60-raw.rules进行raw设备的管理
确定裸设备的大小
比较笨的办法是,找出看裸设备对应的是那个实际的块设备,然后用fdisk -l /dev/[h,s]dXN看那个块设备的大小就好了。比较简单的办法是用blockdev命令来计算,如:
#blockdev --getsize /dev/raw/raw1
11718750
11718750表示有多少OS BLIOCK。
一般一个OS BLOCK大小是512字节,所以11718750*512/1024/1024= 5722(m) 就是裸设备的大小。
使用裸设备作为oracle的数据文件的注意事项
1、一个裸设备只能放置一个数据文件
2、数据文件的大小不能超过裸设备的大小
如果是日志文件,则裸设备最大可用大小=裸设备对应分区大小 - 1 * 512 (保留一个redo lock)
如果是数据文件,则裸设备最大可用大小=裸设备对应分区大小 - 2 * db_block_size(保留两个block)
为了简单起见,对所有的文件设置称比裸设备小1M即可。
3、数据文件最好不要设置称自动扩展,如果设置称自动扩展,一定要把maxsize设置设置为比裸设备小
4、linux下oracle不能直接把逻辑卷作为裸设备,也要进行绑定。unix下就不需要。
相关推荐:《Linux视频教程》
위 내용은 Linux Raw의 형식은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











대 코드 시스템 요구 사항 : 운영 체제 : Windows 10 이상, MacOS 10.12 이상, Linux 배포 프로세서 : 최소 1.6GHz, 권장 2.0GHz 이상의 메모리 : 최소 512MB, 권장 4GB 이상의 저장 공간 : 최소 250MB, 권장 1GB 및 기타 요구 사항 : 안정 네트워크 연결, Xorg/Wayland (LINUX)

VS 코드 확장을 설치하는 이유는 다음과 같습니다. 네트워크 불안정성, 불충분 한 권한, 시스템 호환성 문제, C 코드 버전은 너무 오래된, 바이러스 백신 소프트웨어 또는 방화벽 간섭입니다. 네트워크 연결, 권한, 로그 파일, 업데이트 대 코드 업데이트, 보안 소프트웨어 비활성화 및 대 코드 또는 컴퓨터를 다시 시작하면 점차 문제를 해결하고 해결할 수 있습니다.

메모장은 Java 코드를 직접 실행할 수는 없지만 다른 도구를 사용하여 명령 줄 컴파일러 (Javac)를 사용하여 Bytecode 파일 (filename.class)을 생성하면 달성 할 수 있습니다. Java Interpreter (Java)를 사용하여 바이트 코드를 해석하고 코드를 실행하고 결과를 출력하십시오.

VS 코드는 Mac에서 사용할 수 있습니다. 강력한 확장, GIT 통합, 터미널 및 디버거가 있으며 풍부한 설정 옵션도 제공합니다. 그러나 특히 대규모 프로젝트 또는 고도로 전문적인 개발의 경우 VS 코드는 성능 또는 기능 제한을 가질 수 있습니다.

VS Code는 Full Name Visual Studio Code로, Microsoft가 개발 한 무료 및 오픈 소스 크로스 플랫폼 코드 편집기 및 개발 환경입니다. 광범위한 프로그래밍 언어를 지원하고 구문 강조 표시, 코드 자동 완료, 코드 스 니펫 및 스마트 프롬프트를 제공하여 개발 효율성을 향상시킵니다. 풍부한 확장 생태계를 통해 사용자는 디버거, 코드 서식 도구 및 GIT 통합과 같은 특정 요구 및 언어에 확장을 추가 할 수 있습니다. VS 코드에는 코드에서 버그를 신속하게 찾아서 해결하는 데 도움이되는 직관적 인 디버거도 포함되어 있습니다.

Visual Studio Code (VSCODE)는 Microsoft가 개발 한 크로스 플랫폼, 오픈 소스 및 무료 코드 편집기입니다. 광범위한 프로그래밍 언어에 대한 가볍고 확장 성 및 지원으로 유명합니다. VSCODE를 설치하려면 공식 웹 사이트를 방문하여 설치 프로그램을 다운로드하고 실행하십시오. VScode를 사용하는 경우 새 프로젝트를 만들고 코드 편집, 디버그 코드, 프로젝트 탐색, VSCODE 확장 및 설정을 관리 할 수 있습니다. VSCODE는 Windows, MacOS 및 Linux에서 사용할 수 있으며 여러 프로그래밍 언어를 지원하며 Marketplace를 통해 다양한 확장을 제공합니다. 이점은 경량, 확장 성, 광범위한 언어 지원, 풍부한 기능 및 버전이 포함됩니다.

Linux의 주요 용도에는 다음이 포함됩니다. 1. 서버 운영 체제, 2. 임베디드 시스템, 3. 데스크탑 운영 체제, 4. 개발 및 테스트 환경. Linux는이 분야에서 뛰어나 안정성, 보안 및 효율적인 개발 도구를 제공합니다.

git 저장소 주소를 보려면 다음 단계를 수행하십시오. 1. 명령 줄을 열고 리포지토리 디렉토리로 이동하십시오. 2. "git remote -v"명령을 실행하십시오. 3. 출력 및 해당 주소에서 저장소 이름을 봅니다.
