file - 리눅스에서 파일 종류 식별하기
By 반달가면 | 2017년 9월 20일 |
리눅스에 file이라는 명령어가 있어서 파일 종류를 식별할 수 있다. 파일명에 있는 확장자가 아니라 실제 파일 내용을 검사해서 그 종류를 판별해 준다. 아래의 예시를 보면 금방 감이 잡힐 것이다. file my_doc.pdf my_doc.pdf: PDF document, version 1.3 텍스트 파일의 경우 캐럭터 인코딩도 판별해 준다. file my_script.sh my_script.sh: ASCII text file my_data.txt my_data.txt: UTF-8 Unicode text 윈도우 실행 파일도 식별 가능. file setup.exe setup.exe: PE32 executable (GUI) Intel 80386, for MS Windows
우분투 계열 리눅스 배포판에서 시냅틱 패키지 매니저 MergeList 오류 문제
By 반달가면 | 2018년 5월 24일 |
![우분투 계열 리눅스 배포판에서 시냅틱 패키지 매니저 MergeList 오류 문제](https://img.zoomtrend.com/2018/05/24/e0110056_5b06a31e99973.jpg)
리눅스 민트(Linux Mint)를 사용중에 발생했던 문제다. 해결책을 찾기 위해 인터넷을 헤매다 보니 리눅스 민트만의 문제는 아니고 우분투 또는 다른 우분투 계열 배포판에서도 발생 가능한 문제인듯. 언제 어디서 어떻게 문제가 생겼는지 알 수는 없으나, 시냅틱 패키지 매니저(Synaptic Package Manager)를 실행하는데 오류가 발생해서 패키지 설치를 할 수 없었다. apt-get을 이용한 설치도 불가. 오류 메시지는 대략 아래와 같다. E: Encountered a section with no Package: header E: Problem with MergeList /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_trusty_unive
[리눅스커널][가상파일시스템] 파일 객체: write 연산 세부 동작 분석
By Guillermo Austin Kim | 2019년 3월 21일 |
파일 객체: write 연산 세부 동작 분석 유저 공간에서 write() 함수를 호출할 때 가상 파일시스템에서 어떤 흐름으로 파일 별 write 오퍼레이션을 수행하는지 살펴보겠습니다. 유저 공간에서 리눅스 저수준 함수로 write() 함수를 호출하면 시스템 콜을 발생시켜 커널 공간으로 실행 흐름을 스위칭합니다. 이 후 write()에 해당하는 시스템 콜 핸들러인 sys_write() 함수를 호출합니다. 먼저 sys_write() 함수 선언부와 인자와 반환값을 확인하겠습니다.[https://elixir.bootlin.com/linux/v4.19.30/source/include/linux/syscalls.h]asmlinkage long sys_write(unsigned int fd, const char _
리눅스 민트에서 시스템 전체에 적용되는 bash 설정(bashrc) 수정
By 반달가면 | 2018년 7월 4일 |
각 계정에 따른 bash shell 설정은 ~/.bashrc에 추가해 주면 되겠지만, 시스템 전체에 적용하고 싶은 설정이 있을 경우가 있다. 이 경우, 리눅스 민트(Linux Mint)에서는 /etc/bash.bashrc 파일을 편집해 주면 된다. 리눅스 민트가 우분투 계열이므로 데비안/우분투 또는 다른 데비안/우분투 계열 배포판도 아마 같을 것이라 생각된다. 레드햇 등 다른 배포판은 다를 수도 있겠다. # /etc/bash.bashrc 파일 편집 sudo vi /etc/bash.bashrc 시스템 전체에서 공통적으로 export해서 사용하고 싶은 변수가 있다거나, 명령어를 alias로 지정하고 싶을 때 이 파일을 편집하면 된다.