Posts
556 posts우분투 계열 배포판에서 S/W저장소 미러(mirror) 서버 구축
우분투 계열 배포판에서 공식 S/W저장소(S/W repository)의 자료를 가져와서 미러(mirror) 서버를 구축하는 방법이다. 장비가 매우 많거나 인터넷 접속이 원활하지 않을 때는 미러 서버를 구축해 놓고 이를 통해 패키지를 설치/업그레이드하는 것이 편리할 수 있다. 리눅스 민트 19(우분투 18.04 LTS 기반)에서 작업했다. 우선 apt-mirror 패키지와 apache2 패키지를 설치한다. apt-mirror는 우분투 S/W저장소 자료를 다운로드하기 위한 것이고 apache2는 미러 서버에서 구동할 웹서버다. # S/W 저장소 갱신 sudo apt-get update # apt-mirror, apache2 설치 sudo apt-get install apt-mirror
리브레오피스(LibreOffice)에서 언어 및 기본 폰트 설정
주로 영문판 리눅스에 한글 입력기를 설치해서 사용하고 있는 관계로, 리브레오피스(LibreOffice)도 영문판 기준으로 설정되어 있기에 설정 방법을 정리해 두기로. 리브레오피스의 워드 프로세서 프로그램인 라이터(writer)에서 아시아 언어를 한국어로 설정하고 한글 폰트를 지정해 주는 방법이다. 라이터에서 언어 설정을 변경하면 칼크(Calc, 엑셀), 임프레스(Impress, 파워포인트)에도 같이 적용된다. 리눅스 민트에서 리브레오피스 영문판을 설치하면 기본 아시아 언어가 중국어로 되어 있기 때문에 설정을 변경해 주는 것이 좋겠다. 라이터를 실행하여 "Tools" 메뉴에서 "Options" 항목을 선택한다. 설정창이 뜨면, 왼쪽에 여러 항목이 나오는데 "Language Settings" 항목의
[리눅스커널][가상파일시스템] 파일 객체: read() 함수 연산 세부 동작 분석
파일 객체: read() 함수 연산 세부 동작 분석 유저 공간에서 read() 함수를 호출할 때 커널에서는 가상 파일시스템 관련 코드가 실행하는지 알아봅시다. 다음 그림과 같이 유저 공간에서 read() 함수를 호출하면 파일시스템별로 관리하는 파일객체에서 파일 오퍼레이션을 수행하는 방식입니다. 위 그림을 보면 유저 공간에서 read() 함수를 호출하면 각 파일시스템별 파일 오퍼레이션에 따라 다른 함수를 실행한다는 사실을 알 수 있습니다. 유저 공간에서 read() 함수를 호출하면 시스템 콜을 발생시키고 커널 공간에서 read() 함수에 해당하는 시스템 콜 핸들러인 sys_read() 함수를 실행합니다. 이제부터 sys_read() 함수부터 각 파일시스템 내 파일 종류별로 설정한 vfs_read()
[bash: $()] 역따옴표(`)를 중첩해서 사용하고 싶을 경우
리눅스 bash shell에서 특정 명령어의 결과를 변수에 할당하거나 다른 명령어의 인자(argument)로 사용하고 싶을 때 역따옴표(`)를 사용하게 된다. # ls 명령의 결과 출력에서 마지막 줄을 변수 x에 할당 x=`ls | tail -1` 그런데, 역따옴표 안에 다시 역따옴표를 사용하고 싶은 경우가 생겼을 경우에는 대신에 "$(명령어)" 형태를 사용하면 되겠다. 기능은 역따옴표와 동일하나 중첩해서(nest) 사용할 수 있다. # ls 명령의 결과 출력에서 마지막 줄을 변수 x에 할당 x=$(ls | tail -1) 예시가 좀 억지스럽긴 한데 겹쳐서 사용하는 경우를 만들어 보자면 아래와 같이 해 볼 수 있을 것이다. # 문자열 "txt"를 출력해서 grep의 인자로 사

