반응형

useradd는 모든 설정을 지정해주어야하기때문에 adduser를 사용하기로 한다.

 

필요에따라 userid와 groupid를 넣어서 만들고 passwd userid를 입력하여 비밀번호도 지정한다.

 

adduser -u [id] -g [group] <userid>
passwd userid

 

userid와 groupid에 대한 정보는 아래 폴더에 존재한다.

/etc/passwd
user1:x:765:1000::/home/user1:/bin/bash 

/etc/group
user:x:999: 
guest:x:900:
test1:x:1000:user1,user2,user3
test2:x:1001:user2

passwd 파일 안에는 아이디, uid, groupid, home 폴더 위치 등이 존재한다. 

uid 또는 gid를 이 파일 내에서 수정해도 되지만 이럴 경우 이미 만들어진 폴더, 파일등에서도 gid 정보 등을 같이 수정해줘야하는 불편함이 있다.

처음 생성할 때 정하는것이 좋다.

 

group 파일 안에는 그룹 이름과 gid, 해당 그룹에 속하는 아이디 등이 존재한다.

user1, user2, user3 모두 test1 그룹에 속하며 user2는 test2 그룹에도 동시에 속한다.

 

 

 

 

 

반응형
반응형

zip으로 압축할 때 

경로내의 모든 하위 폴더도 압축하려면

zip -r newfile.zip /path/to/directory/

 

zip으로 압축 해제 할 때

 

원하는 파일들만 압축 해제

unzip a.zip b.zip c.zip

 

디렉토리 내의 모든 zip파일 해제

unzip '*.zip'

 

여러 파일을 압축 해제하는데 특정 폴더에 넣고 싶을 때

unzip '*.zip' -d /path/to/directory/

 

반응형
반응형

 

Linux에서 정해진 시간마다 작업을 하려면 crontab 명령어를 실행하면 된다.

 

주로 스크립트 백업에 사용하는 편이다.

 

명령어를 직접 입력해도 되고 shell 스크립트를 작성해서 해당 스크립트를 실행하도록 해도 된다.

 

(명령어 형식)
# crontab -l          ; 현재 예약된 작업 리스트를 보여줌
# crontab -e         ; 현재 예약된작업 리스트를 편집함
# crontab -r          : 현재 예약된 리스트를 지움


  분    시    날    달  요일   
0-59 0-23 1-31 1-12 0-7 명령어

 

아래 페이지를 참고하면 원하는 시간을 정확하게 구할 수 있을 것이다.


https://crontab.guru/

 

crontab.guru - the cron schedule expression editor

loading... Cron job failures can be disastrous! We created Cronitor because cron itself can't alert you if your jobs fail or never start. Cronitor is easy to integrate and provides you with instant alerts when things go wrong. Learn more about cron job mon

crontab.guru

 

 

crontab -e 를 치면 vi 가 실행되고 내용을 입력하고 저장,종료하면 된다.

 

 

반응형

'Computer Science > linux' 카테고리의 다른 글

계정, 그룹 생성, 추가 및 삭제  (0) 2020.02.24
Zip 압축하기 / 압축 해제하기  (0) 2020.02.24
su 와 su- 의 차이  (1) 2019.09.19
Linux 새 디스크 연결하기  (0) 2019.08.30
Centos7 네트워크 설정  (0) 2019.08.27
반응형

su (substitution user)는 리눅스 내에서 user를 바꾸는 명령어다.

 

su [user] 를 사용함으로 해당 유저로 변경 가능하다.

 

su는 user를 바꾸기만하고 대부분의 환경 변수는 이전 user의 것을 따라간다.

 

su-는 유저를 바꾼 후 다시 shell에 접속한다. 즉 환경변수가 새로운 user의 것으로 바뀐다.

 

번외로 su 이후에 user아이디를 입력하지 않으면 root로 접속하겠다는 의미이다.

반응형

'Computer Science > linux' 카테고리의 다른 글

Zip 압축하기 / 압축 해제하기  (0) 2020.02.24
crontab 사용하기  (0) 2020.02.21
Linux 새 디스크 연결하기  (0) 2019.08.30
Centos7 네트워크 설정  (0) 2019.08.27
도메인 이름을 IP 주소로 변환  (0) 2019.08.27
반응형

데이터 백업을 위해 외부 HDD를 연결하는데 새 HDD라면 파티션부터 다시 잡아줘야 할 필요가 있다.

 

먼저 연결이 제대로 되었는지 확인해야 한다.

 

fdisk -l


가장 마지막에 연결한 장치가 밑에 나오게 되며 대략 아래와 같은 형태를 가진다.

Disk /dev/sdb: 36002.0 GB, 36002026487808 bytes, 70316457984 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 262144 bytes / 1048576 bytes
Disk label type: gpt

해당 장치가 맞는지 용량을 보고 확인하자.

 

장치가 맞다면 파티션을 나누고 포맷을 해야한다.

 

parted /dev/sdb 

장치 명은 위에서 확인한대로 진행

 

(parted)mklabel gpt
(parted)mkpart primary 0 100%

Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel?
I

파티션을 여러개로 나눠서 따로 저장할 수 있지만 데이터 백업용 디스크는 그렇게 할 필요가 없다.

 

(parted)p

제대로 진행되었는지 확인

 

(parted)q

제대로 파티션이 나누어 졌다면 종료.

 

 

mkfs.ext4 -f /dev/sdb1

ext4 포맷으로 sdb장치의 1번 파티션을 포맷한다. 

 

 

 mount /dev/sdb1 /data

sdb장치의 1번 파티션을 /data 폴더에 마운트 시킨다.

 

 

반응형

'Computer Science > linux' 카테고리의 다른 글

crontab 사용하기  (0) 2020.02.21
su 와 su- 의 차이  (1) 2019.09.19
Centos7 네트워크 설정  (0) 2019.08.27
도메인 이름을 IP 주소로 변환  (0) 2019.08.27
비밀번호 없이 ssh로 로그인하기  (0) 2019.08.26
반응형

 

nmcli d 명령을 사용해 이더넷 장치명과 연결 여부를 확인할 수 있다.

 

 

현재 서버에서는 4+1개의 소켓이 있으며 1,2에 각각 랜선을 꽂아놨기기 때문에 위와같이 나오는 것을 확인하였다.

 

vi /etc/sysconfig/network-scripts/ifcfg-[]

 

위 경로로 들어가면 각각의 디바이스 별로 설정값이 저장된 파일이 있으며

 

유동 IP의 경우 ONBOOT=yes 로 수정하기만 하면 된다.

 

고정 IP의 경우 아래와 같은 형식으로 IP를 직접 입력해 주어야 한다.

 

ONBOOT=yes
IPADDR=10.20.30.41
PREFIX=24
#NETMASK=255.255.255.0
GATEWAY=10.20.30.254
DNS1=168.126.63.1
DNS2=168.126.63.2

 

반응형

'Computer Science > linux' 카테고리의 다른 글

su 와 su- 의 차이  (1) 2019.09.19
Linux 새 디스크 연결하기  (0) 2019.08.30
도메인 이름을 IP 주소로 변환  (0) 2019.08.27
비밀번호 없이 ssh로 로그인하기  (0) 2019.08.26
linux 계정 정보 옮기기  (1) 2019.08.21
반응형

/etc/hosts 파일을 참고하여 네임서버를 아이피주소로 바꾼다.

 

 

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 

192.168.7.11 server1
192.168.7.12 server2
192.168.7.13 server3


ip와 네임서버 사이에는 \t이 들어가야 한다.

 

변경 후에 network 서비스를 재시작 해야한다.

 

systemctl restart network
반응형
반응형

RSA key를 이용하여 비밀번호 없이 ssh로 로그인할 수 있는 방법이다.

 

rsa key 값을 생성해야함. 기존에 이미 생성되어있다면 덮어쓰기는 하지 않는것을 권장한다.

 

ssh-keygen -t rsa

~/.ssh/id_rsa는 개인키, ~/.ssh/id_rsa.pub은 공개키로 생성된다.

 

생성된 key 파일을 비밀번호 없이 접속하고자 하는 서버로 보내면 된다.

 

ssh-copy-id -i ~/.ssh/id_rsa.pub [user]@[host]

 

정상적으로 진행되었다면 비밀번호 없이 접속되어야 하지만 아래와 같은 에러가 뜨는 경우가 있다.

 

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0755 for '/home/adlkf/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.

 

id_rsa 파일의 권한이 사용자 외에도 공개되어있어서 이를 바꿔줘야한다.

 

chmod 700 ~/.ssh/

 

 

반응형
반응형

root 권한이 필요함

 

새 서버에서 기존 파일들을 백업.

/etc/shadow

/etc/gshadow

/etc/passwd

/etc/group

 

옛날 서버에서 위으 파일들을 scp로 복사해옴.

 

계정 아이디와 비밀번호는 옛날 서버와 동일하지만 아직 홈 폴더가 존재하지 않음.

 

홈 폴더도 마찬가지로 복사해서 가져오거나 기존 파일들 백업하기 전에 미리 생성해놨다가 덮어씌워야함.

 

반응형
반응형

python multi-level argparse

 

 

parser = argparse.ArgumentParser()

subparser = parser.add_subparsers(help='Desired action to perform', dest='action')

parent_parser = argparse.ArgumentParser(add_help=False)

parser_ReDemulti = subparser.add_parser("ReDemulti", parents=[parent_parser], help='Re Demultiplexing')
parser_ReDemulti.add_argument("RunID", help='Only require one run ID which have Samplesheet_gpcd.csv')

parser_MultiAnal = subparser.add_parser("MultiAnal", parents=[parent_parser], help='Multiple Analysis from One Customer')
parser_MultiAnal.add_argument("SampleFile", help='A file with one sample ID per line')

parser_NoData = subparser.add_parser("NoDataSamples", parents=[parent_parser], help='Re Run No-Data Samples')
parser_NoData.add_argument("SampleFile", help='A file with one sample ID per line')

parser_RunFastQC = subparser.add_parser("RunFastQC", parents=[parent_parser], help='Run from FastQC Step')
parser_RunFastQC.add_argument("SampleID", help='Only require one sample ID')

parser_RmDenovo = subparser.add_parser("RmDenovoFiles", parents=[parent_parser], help='Remove Database Files in denovo01')
parser_RmDenovo.add_argument("SampleID", help='Only require one sample ID')

args = parser.parse_args()
반응형

'Computer Science > python' 카테고리의 다른 글

Primer 서열 분석을 위한 python 코드  (0) 2021.08.17
String Format으로 길이 고정하기  (0) 2020.06.24
python 파일 입출력  (0) 2019.07.12
Python 설치 및 실행하기  (0) 2017.08.16
cannot mkdir R_TempDir 에러  (0) 2016.09.07

+ Recent posts