inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

함수 메뉴얼을 보기 위한 단축키

미해결

리눅스 시스템 프로그래밍

fopen() 과 같은 함수의 메뉴얼을 보기 위해선 어떤 단축키를 이용해야 하나요?

  • linux
  • 운영체제
  • linux-kernel
  • ipc
  • pthread
  • system-programming
김지태 댓글 1 좋아요 0 조회수 121

t2.micro 무료 요금제에서는 사용이 불가합니다.

해결됨

실무에서 꼭 필요한 서버 모니터링(Zabbix)

t2.micro 무료 요금제에서는 사용이 불가합니다. 대체할 수 있는게 있을까요??

  • linux
  • aws
  • 아키텍처
  • monitoring
  • zabbix
  • infrastructure
효기아빠 댓글 2 좋아요 0 조회수 123

ftrace를 사용하면서 궁금한 점.

해결됨

한국에서 제일 쉬운 리눅스 커널 강의

현재까지 ftrace라는건 어떤 함수를 추적하고 그 로그를 볼 수 있구나라는것을 알았고, ftrace로 혼자 분석하고 싶다는 생각이 들었습니다. 강의에서 프로세스가 종료될 때 do_exit()같은 함수가 호출된다! 라는것을 전제하고 이것을 ftrace에 등록해서 로그분석을 하고있는데, do_exit()이 호출된다는건 어떻게 알 수 있을까요??

  • c
  • linux
  • Raspberry-Pi
  • 운영체제
  • arm-architecture
  • asm
진민우 댓글 2 좋아요 0 조회수 116

설치오류

미해결

개발자라면 알아야 할 리눅스(linux-ubuntu) 기본

vmware 설치하고 ubuntu.iso파일 다운로드하여 영상과 같이 진행하였으나 스크린샷 같이 뜨면서 설치가 더이상 진행되지 않습니다. 어떻게 해결해야할지 모르겠습니다

  • linux
  • shell-script
  • ubuntu
임동욱 댓글 1 좋아요 0 조회수 91

install.txt를 실행하는 이유에 대해서.

해결됨

한국에서 제일 쉬운 리눅스 커널 강의

라즈베리파이에 OS를 이미 깔아둔상태에서, 커널소스 다운 -> 빌드 까지는 왜 하는지 알겠는데 install.txt를 왜 해야하는건가요?? 기존의 라즈베리파이 OS에 다운받고 빌드한 커널을 덮어 씌우는건가요??? 그렇다면 왜 덮어 씌워야하나요??? 기존에 깔았던 OS가 라즈비안이기 때문에, 정통 linux로 교체하기 위해서 인가요???

  • c
  • linux
  • Raspberry-Pi
  • 운영체제
  • arm-architecture
  • asm
진민우 댓글 2 좋아요 0 조회수 123

영상의 실습 환경 설정이 다운로드 받은 것과 조금 다르네요

미해결

리눅스 시스템 디버깅

영상에서 3분 23초 쯤 나오는 실습 환경 설정에서는 1, 2, 3, 4 로 나뉘어서 설정하는 방법이 나오는데 다운로드 받은 pdf에서는 강의자료 공유와 원격 접속, 세개만 있고 2 page 뒤에서 다시 5번이라고 나오고 있네요 직접 수정하신 거일수 있는데 혹시나 싶어 질문 드립니다.

  • linux
  • debugging
  • gdb
  • assembly-language
  • disassembling
  • intel-architecture
나는그네 댓글 1 좋아요 0 조회수 70

17분 2초에

미해결

리눅스 시스템 프로그래밍

17분 2초 쯤 printf("%s\n", inbuf); 의 출력 결과가 hello, world #1 이고 나머지 데이터가 안 찍힌 이유로 개행이 없다고 설명해 주셨는데 이 부분이 조금 애매한 것 같습니다. inbuf 에는 아래와 같이 hello, world #1\0hello, world #2\0hello, world #3 입력한 데이터가 다 들어있고 널문자까지 있습니다. 그걸 printf("%s\n" ...) 출력하다 보니 버퍼 중간의 null 을 만나서 문자열 끝으로 인식해서 출력이 종료된고 write 함수로 MSGSIZE 대신 null 문자를 제외한 사이즈 MSGSIZE - 1 로 출력하면 printf 가 msg1, msg2, mg3을 다 찍네요 null 이 없어서 이상한 문자가 출력되지만요...

  • linux
  • 운영체제
  • linux-kernel
  • ipc
  • pthread
  • system-programming
나는그네 댓글 1 좋아요 0 조회수 94

강의영상 확인요청

해결됨

리눅스 커널의 구조와 원리: 프로세스 [저자 직강 1부-4]

섹션 4. 프로세스 주요 동작-유저 프로세스 14. 유저 프로세스-생성 과정 13:17 15. 커널 소스 분석-프로세스 생성 13:17 위 두 영상이 동일한 영상 같습니다. 확인 부탁드립니다. 감사합니다.

  • linux
  • 컴퓨터-구조
  • 운영체제
  • debugging
  • process
  • linux-kernel
  • trace32
최민우 댓글 2 좋아요 0 조회수 83

cred 구조체에 __randomize_layout이 적용된건가요?

미해결

리눅스 커널 해킹. A부터 Z까지

cred 구조체 소스코드를 elixir를 통해 확인해보니 다음과 같았습니다. (실습 버전인 5.8.5 기준) struct cred { atomic_t usage; #ifdef CONFIG_DEBUG_CREDENTIALS atomic_t subscribers; /* number of processes subscribed */ void *put_addr; unsigned magic; #define CRED_MAGIC 0x43736564 #define CRED_MAGIC_DEAD 0x44656144 #endif kuid_t uid; /* real UID of the task */ kgid_t gid; /* real GID of the task */ kuid_t suid; /* saved UID of the task */ kgid_t sgid; /* saved GID of the task */ kuid_t euid; /* effective UID of the task */ kgid_t egid; /* effective GID of the task */ kuid_t fsuid; /* UID for VFS ops */ kgid_t fsgid; /* GID for VFS ops */ unsigned securebits; /* SUID-less security management */ kernel_cap_t cap_inheritable; /* caps our children can inherit */ kernel_cap_t cap_permitted; /* caps we're permitted */ kernel_cap_t cap_effective; /* caps we can actually use */ kernel_cap_t cap_bset; /* capability bounding set */ kernel_cap_t cap_ambient; /* Ambient capability set */ #ifdef CONFIG_KEYS unsigned char jit_keyring; /* default keyring to attach requested * keys to */ struct key *session_keyring; /* keyring inherited over fork */ struct key *process_keyring; /* keyring private to this process */ struct key *thread_keyring; /* keyring private to this thread */ struct key *request_key_auth; /* assumed request_key authority */ #endif #ifdef CONFIG_SECURITY void *security; /* subjective LSM security */ #endif struct user_struct *user; /* real user ID subscription */ struct user_namespace *user_ns; /* user_ns the caps and keyrings are relative to. */ struct group_info *group_info; /* supplementary groups for euid/fsgid */ /* RCU deletion */ union { int non_rcu; /* Can we skip RCU deletion? */ struct rcu_head rcu; /* RCU deletion hook */ }; } __randomize_layout; 이 중 마지막 __randomize_layout 이 뭔지 찾아보니 커널에서 정의한 매크로이고 구조체의 순서를 랜덤화하는 일종의 보호 기법이라는 것을 알았습니다. 실습을 따라가보니 uid, gid, suid, sgid를 순서대로 덮기 때문에 현재 커널에서 이 보호 기법이 적용되지 않았다는 것을 알 수 있었습니다. 이 매크로의 정의 부분은 총 두 부분이고 다음과 같았습니다. #if defined(RANDSTRUCT_PLUGIN) && !defined(__CHECKER__) #define __randomize_layout __attribute__((randomize_layout)) #define __no_randomize_layout __attribute__((no_randomize_layout)) /* This anon struct can add padding, so only enable it under randstruct. */ #define randomized_struct_fields_start struct { #define randomized_struct_fields_end } __randomize_layout; #endif #ifndef __randomize_layout # define __randomize_layout __designated_init #endif 첫 번째 부분에서는 flag처럼 보이는 RANDSTRUCT_PLUGIN 과 __CHECKER__ 에 cross reference(?)가 더이상 안돼서 확인은 못했습니다만, 이게 define 되어있으면 __randomize_layout 매크로를 정의하는 것 같아보입니다. 반대로 flag가 켜져있지 않아 첫 번째 부분에서 매크로 선언이 이뤄지지 않으면 두 번째 부분에서 __designated_init 으로 어쨌든 선언은 되는 것 같습니다. 마지막으로 __designated_init 의 선언 부분을 보면 다음과 같습니다. #if __has_attribute(__designated_init__) # define __designated_init __attribute__((__designated_init__)) #else # define __designated_init #endif 첨부는 했지만 어떻게 동작하는건지 잘 모르겠어서 여기부터 이해가 안됐습니다... 제 질문은 다음과 같습니다. 구조체 멤버 랜덤화가 적용되어야 할 것 같은데 강의자님께서 일부러 커널을 빌드할 때 소스코드를 수정하신건가요? 아니라면 __designated_init__ 이 없기 때문에 빈 매크로가 할당된 것 같은데, 이게 어떤 플래그이며 어떻게 키고 끌 수 있는건가요? 커널 소스코드를 확인할 때 RANDSTRUCT_PLUGIN 과 __CHECKER__ 같이 더 이상 cross reference가 불가능한 경우는 어떻게 값을 확인할 수 있나요? 정작 __randoimze_layout 이 붙었을 때 어떻게 메모리 레이아웃을 변경하는지에 대한 로직은 못찾았는데, 이런 부분은 어디서 확인할 수 있을까요? 강의자님 경험상 대회나 리얼월드 커널에서 구조체 멤버 랜덤화가 잘 적용되어있는 편인가요? 질문이 길어졌는데, 답변주시면 큰 도움이 될 것 같습니다. 감사합니다.

  • 모의해킹
  • linux
  • 시스템-해킹
apric0t 댓글 1 좋아요 0 조회수 128

컨테이너에서 다른 컨테이너 접속시

해결됨

시스템엔지니어가 알려주는 리눅스 실전편 Bash Shell Script

[root@cent1 /]# scp -rp /root/SHELL/monitor cent3:/root/SHELL Warning: Permanently added '172.18.1.93' (ECDSA) to the list of known hosts. Load key "/root/.ssh/id_rsa": invalid format root@172.18.1.93's password: ssh cent3 "mkdir ~~~~"를 해도 똑같이 password를 입력하라고 뜨네요 ㅠ 왜 이런걸까요

  • linux
  • shell-script
정지죤 댓글 2 좋아요 0 조회수 149

실습 주소에 172.18.1.91를 접속하니 접속이 되지 않습니다

해결됨

시스템엔지니어가 알려주는 리눅스 실전편 Bash Shell Script

질문을 찾아서 제어판 - 네트워크 설정 - 어댑터 설정에서 vEthernet(WSL (Hyper-V firewall))이라는 것의 주소를 확인해보니 IPv4 주소가 다르게 되어 있어서 그 주소로 했더니 접속이 됩니다 서버 설정은 다른건 하지 않고 docker만으로 실행했습니다.

  • linux
  • shell-script
정지죤 댓글 2 좋아요 0 조회수 165

ppt자료 문의

해결됨

리눅스 커널 해킹. A부터 Z까지

강의 내용을 복습하며 정리하던 중, 수업 중 사용하신 PPT 자료를 참고하고 싶어 이렇게 문의드립니다. 혹시 가능하시다면 해당 PPT자료를 공유해주실 수 있을까요? 학습 목적으로만 활용하겠습니다. 감사합니다.

  • 모의해킹
  • linux
  • 시스템-해킹
Jy._s 댓글 2 좋아요 0 조회수 156

강의안 자료는 따로 제공이 안 되나요?

미해결

리눅스 커널의 구조와 원리: 인터럽트 [저자 직강 1부-5]

안녕하세요 1부-4,5,6 강의가 전부다 강의안 제공이 안 되고 있는데 추후 업로드 예정이신지 질문 드립니다. (혹시 1부-1 강의도 강의안 업로드 예정이 있나요?)

  • linux
  • 운영체제
  • arm-architecture
  • linux-kernel
  • interrupt
  • irq
Is Choi 댓글 2 좋아요 0 조회수 100

터미널 창의 프롬프트가 너무 깁니다. 짧게 하고 싶습니다.

미해결

리눅스 입문 - 개념으로 탄탄히!!

안녕하세요? virtual box 최신 버전에 문제가 있는지 설치가 안되어서 vmware로 설치하고 로그인 해 보니 aaschool@aaschool-VMware-Virtual-Platform:~/Desktop$ 라고 프롬프트가 뜹니다. 이 프롬프트 강의에서 처럼 짭게 만들려면 어떻게 해야 하는지요? 답변 부탁드립니다.

  • linux
박정아 댓글 3 좋아요 0 조회수 248

강의 순서

미해결

리눅스 쉘 스크립트

안녕하세요! 해당 강의를 수강예정인데 이 강의를 먼저 듣는게 좋을까요? 리눅스 시스템 프로그래밍 - 이론과 실습 이 강의를 먼저 듣는게 좋을까요?

  • linux
  • shell-script
qwer1234 댓글 1 좋아요 0 조회수 130

혹시 리눅스 커널 강의는 할인 쿠폰 발행하실 생각 없으신가요?

미해결

리눅스 소개와 리눅스 커널 Overview [저자직강 1부-1]

혹시 리눅스 커널 강의는 할인 쿠폰 발행하실 생각 없으신가요? 전체 코스를 다 구매하고 싶은데... ARM 강의는 할인 쿠폰이 제공되고 있어서 질문드립니다!

  • linux
  • 운영체제
  • linux-kernel
ms.lee5240 댓글 1 좋아요 0 조회수 120

왜 전 오류가 뜨나요??

미해결

풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]

오타난건 없는것 같고 파일은 그대로 복붙했는데 왜 이런 오류가 뜨는지 잘 모르겠네요..ㅠㅠ

  • 네트워크
  • linux
  • docker
양성현 댓글 1 좋아요 0 조회수 124

core 생성이 안됩니다.

미해결

리눅스 입문 - 개념으로 탄탄히!!

(사진)

  • linux
lgh8079 댓글 2 좋아요 0 조회수 126

인기 태그

인프런 TOP Writers

주간 인기글