Linux 15

Linux Mint (리눅스 민트) 설치 & 꾸미기

1. iso파일 다운 & 진실성과 진본 체크https://linuxmint.com/download.php에서 원하는 버전을 다운받는다. Cinnamon, Xfce, MATE 3가지 버전이 있다. 보통의 desktop이나 laptop이라면 Cinnamon에디션을 설치하면 된다. Xfce에디션은 사양 낮은 옛날 컴퓨터를 위한것으로 Cinnamon에디션에 비해 많은 기능이 없다. 나는 Cinnamon에디션을 토렌트로 받았다. 2016년 2월 20일에 해커가 잠깐동안 악의적인 프로그램이 포함된 리눅스 민트로 다운로드 링크를 바꾼 사고가 있었다. 이러한 공격에 맞서기 위해 진실성과 진본 체크를 해야한다. 둘중에 하나라도 맞지 않는다면 다른 다운 방법으로 다시 다운로드 해야한다. 2. usb flash drive..

Linux 2024.10.04

ubuntu 데스크탑 프로그램들

sudo apt updatesudo apt upgrade 한글 입력기: kime입력기다운로드 사이트 - https://github.com/Riey/kime/releasesrelease에 들어가서 자신의 ubuntu에 맞는 버전을 다운받으면 된다. 나는 24.04이지만 22.04버전으로 설치했는데 잘 사용된다.sudo dpkg -i kime*를 해서 설치 한다.Setting - System - Reigion & Language - Manage Installed Languages를 들어가 맨 아래에서 kime를 고르면 된다.재부팅하면 정상적으로 한글 입력기가 작동한다. 이미지 뷰어: nomacs 동영상 재생: SMplayer다운 사이트: https://www.smplayer.info/ko/download-l..

Linux 2024.05.14

grep, egrep, fgrep, find

grep 과 find의 차이는 grep은 파일 내용에서 찾는 프로그램이고 find는 파일을 찾는 프로그램이다. grep 개요 grep [OPTION...] PATTERNS [FILE...] grep [OPTION...] -e PATTERNS [FILE...] grep [OPTION...] -f PATTERNS [FILE...] 설명 grep은 file에서 patterns를 찾는다. patterns는 새 줄 문자로 구분된 하나 이상의 패턴이다. 그리고 grep은 패턴이 매치된 각 줄을 출력한다. 만약 file이 주어지지 않았다면, stdin에서 찾는다. (ls | grep PATTERNS처럼 pipe를 이용해 stdin을 넘겨줄 수 있고, grep [OPTION...] PATTERNS만 입력하면 쉘에서 입..

스케줄 관리(cron, crontab)

유닉스에서는 cron(8)이라는 데몬이 있다. cron은 사용자가 지정한 시간마다 명령을 실행하는 스케줄 관리 프로그램이다. root권한으로 실행되는 cron은 /etc/crontab을 편집하면 되고,user권한으로 실행되는 cron은 crontab -e로 편집할 수 있다.앞에서부터 minute(0-59), hour(0-23), dayofmonth(1-31), month(1-12), dayofweek(0-6)(sunday=0or7)으로 cron이 해당 명령을 얼마나 자주 실행시킬지 결정시킨다.입력 주기에는 *,-/를 사용할 수 있으며*는 매 시간마다,는 2,3,4와 같이 여러 시간을 나열할 때-는 3-15와 같이 범위를 지정할 때(각 끝을 포함)/는 */10(10의 배수 시간)와 같이 배수를 지정할 때를..

배시(bash) 셸 프로그래밍

1. 셸 스크립트 - 셸 스크립트 실행방법 bash testScript 셸의 인자로 넘겨 실행하는 방법 ./testScript 자체적으로 실행하는 방법 - #! 매직넘버 유닉스는 파일 확장자를 붙이지 않는 것이 관례이기 때문에, 어떤 프로그램(인터프리터)로 해당 파일을 실행할지 애매할 수 있다. 이때 파일 맨 첫번째 줄에 #!를 붙이면 해당 인터프리터로 파일을 실행시키라는 의미이다. #!/usr/bin/bash를 붙이면 bash로 해당 파일을 실행시킨다. - 주석 해당줄 맨 앞에 #을 붙이면 주석 처리된다. 2. 셸 변수 변수 표현 ${name} name 값 ${name:-word} name이 정의되어있으면 그 값, 아니라면 word에 명시된 값 ${name:=word} name이 정의되어있지 않거나 널..

셸 변수와 환경 변수

셸 변수: 해당 셸에서만 사용할 수 있는 변수. 상위 셸이나 하위 셸으로 전달되지 않는다. 환경 변수: 현재, 하위 셸에서 사용되는 변수. 하위 셸로 전달된다. set : 환경 변수와 셸 변수 모두를 출력하는 명령 env : 환경 변수를 출력하는 명령 - 변수 출력 echo $HOME - 변수 선언 string123=test123 - 하위 셸로 변수 전달 export string123 export를 사용하면 변수가 환경 변수로 바뀌어 하위 셸에서도 사용할 수 있는 것이다. - 환경 변수를 셸 변수로 변경 export -n string123 - 변수 해제 unset string123 셸을 실행할 때마다 환경 변수를 설정하고싶다면, $HOME/.bashrc파일을 수정하여 추가하자. .bashrc는 bash셸..

man 명령

man 명령은 리눅스에서 제공하는 명령어의 메뉴얼을 제공하는 명령어다. 만약 section이 제공되었다면, 해당 section만 찾아 man을 실행한다. 기본적으로는 모든 section을 찾아, 여러 페이지가 존재하여도 처음 발견한 페이지를 man 실행한다. 밑은 section번호와 번호에 해당하는 분류이다. 1 실행가능한 프로그램 또는 셸 명령 2 system calls (커널에 의해 제공되는 함수) 3 Library calls (프로그램 라이브러리 내에 있는 함수) 4 Special files (보통 /dev 경로에 있는 것) 5 파일 포멧과 규약, /etc/passwd 같은 것 6 게임들 7 이것저것들 (매크로 패키지들과 규약들) man(7), groff(7), man-pages(7) 같은 것 8 ..

debian 이란?

오랜만에 우분투를 켜서 크롬에 들어가니, 크롬을 업데이트 하라고 하더라. 그래서 .deb파일을 다운받아 클릭하니 실행이 안되네? windows는 exe파일 받아서 클릭하면 바로 실행이 된다. 그러나 우분투 deb파일은 그렇지 않지요~ 터미널에 들어가서 dpkg -i downloadfile.deb를 실행해야 설치가 된다. 분명히 예전에도 썼던 명령어일텐데 왜 생각이 안날까? 예전에는 그냥 구글링하여 블로그를 보고 무작정 따라했지, dpkg i등의 의미를 생각하지 않았다. 그렇다면 dpkg, -i의 의미는 어떤 것일까? 일단 -i는 install의 약자이다. man dpkg를 해보면 알 수 있다. 그렇다면 dpkg는 무엇을 의미하는 것일까? debian package manager를 뜻한다. 여기서 pack..

안드로이드 휴대폰으로 웹 서버 배포하기

안드로이드 휴대폰은 리룩스 커널이라서 우분투와 명령어가 똑같다. termux를 깔아 휴대폰에서도 쉘을 사용할 수 있다. 그렇다면 서버로도 사용가능하지 않을까? 생각해서 찾아보니 역시나 가능했다. 루팅도 필요하지 않아서 쉽게 따라할 수 있다. 1. termux설치 termux는 플레이스토어에서도 설치할 수 있지만, 현재 플레이스토어에 있는 버전은 deprecated되었다. 그러면 어디서 최신버전을 다운로드하냐? https://github.com/termux/termux-app#Installation 깃허브 repository를 보면 apk다운로드 링크를 걸어두었다. https://f-droid.org/en/packages/com.termux/ 이 링크에서 다운로드하여 설치하면 된다. 2. ssh 설치 pk..

Linux 2022.06.05

libc.so.6 잘못 삭제했을 때

/lib/x86_64-linux-gnu/libc.so.6 을 삭제했었다. 심볼릭 링크파일이어서, libc-2.31.so말고 워게임에 나오는 libc-2.27.so를 심볼릭 링크하려고 했었다. sudo rm /lib/x86_64-linux-gnu/libc.so.6하고 sudo ln -s ~/Unix/dreamhack/systemHacking/uaf_overwrite libc.so.6 를 하려고 했는데 엥? libc.so.6이 없단다. 그래서 인터넷을 뒤져서 LD_PRELOAD=/lib/x86_64-linux-gnu/libc-2.31.so ln -s /lib/x86_64-linux-gnu/libc-2.31.so /lib/x86_64-linux-gnu/libc.so.6 라고 명령하면 된다 하더라. 그런데 웬걸..

Ubuntu 24.04 LTS 에서 mysql 설치

설치명령어sudo apt updatesudo apt install mysql-server -y버전을 확인해 맞게 설치된지 확인한다.mysql --version  시스템이 시작할 때 mysql이 자동으로 실행되게 하는 명령어sudo systemctl enable mysqlmysql 구동 명령어sudo systemctl start mysqlmysql 서버가 실행중인지 확인하는 명령어sudo systemctl status mysql  root계정 sudo 없이 localhost에서 사용하기 ubuntu에 처음 mysql을 설치하고 mysql -u root를 실행하려하면 Access denied for user 'root'@'localhost'라는 오류가 뜬다. sudo 를 사용하지 않고 root를 사용하고싶을..

Linux/mysql 2021.12.08

파일 아카이브와 압축 명령

tar아카이브 생성: cvf tar cvf txt.tar any.txt tar아카이브 풀기: xvf tar xvf txt.tar jar 아카이브 생성: jar cvf txt.jar any.txt jar 아카이브 풀기: javr xvf txt.jar .Z파일 압축 compress any.txt .Z파일 압축 풀기 uncompress any.txt.Z .gz파일 압축 gzip any.txt .gz파일 압축 풀기 gunzip any.txt.gz .tar.gz파일 압축 tar -zcvf any.txt.tar.gz any.txt .tar.gz파일 압출 풀기 tar -zxvf any.txt.tar.gz .zip파일 압축 zip any.txt.zip any.txt .zip파일 압축 풀기 unzip any.txt.zi..