[Linux/Mac] group id 얻기

그룹 이름으로부터 GID 얻기

$ getent group <GROUP_NAME> | cut -d: -f3

예를 들어, docker 그룹의 gid를 얻고 싶다면

$ getent group docker | cut -d: -f3

파일의 소유 그룹의 GID 얻기

어느 파일의 소유 그룹의 gid를 얻고 싶다면.

$ stat -c "%g" <FILE_NAME>

예를 들어, /var/run/docker.sock의 소유자가 root:docker일 때 docker의 gid를 얻고 싶다면

$ stat -c "%g" /var/run/docker.sock

[Ubuntu] 20.04에서 Jenkins 설치하기

1. java 설치되어 있는지 확인(java -version) 후 없으면 open-jdk 설치

sudo apt-get install openjdk-8-jdk

2. repository 키 추가

wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -

3. sources.list 에 추가

sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'

4. jenkins를 apt-get 으로 설치

sudo apt-get update && apt-get install jenkins

5. Jenkins 시작

sudo systemctl start jenkins

6. 혹시 방화벽 있으면 열기

sudo ufw allow 8080

7. http://IP:8080 으로 Jenkins 최초 접속. Administrator password는 아래에서 얻는다.

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

그 다음은 그냥 쭉쭉 진행! 생략…

참고: https://www.digitalocean.com/community/tutorials/how-to-install-jenkins-on-ubuntu-20-04

[Windows+Linux] WSL 사용 시 참고

Ubuntu 20.04 내의 파일 저장 경로

WSL 1

%localappdata%\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows어쩌고저쩌고\LocalState\rootfs\

예를 들어, C:\Users\dasom\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState\rootfs

WSL 2

\\wsl$ 를 입력하면 배포판이 보인다.

\\wsl$\Ubuntu-20.04

GUI

Xming 같은 Xserver를 사용해서 WSL로 설치한 Ubuntu 등에서 GUI 를 사용할 수 있다.

WSL 1을 WSL 2로 변환하기

WSL로 설치한 항목은 다음으로 확인 가능하다.

wsl -l -v

여기서 WSL Version이 1인 것을 다음과 같이 2로 바꿀 수 있다. 예제로 Ubuntu-20.04 를 바꾸고 싶다면 다음과 같이 하면 된다.

wsl --set-version Ubuntu-20.04 2

실행 시 기본 유저 바꾸기

명령 프롬프트에서 다음을 실행한다.

ubuntu config --default-user new_dasomoli

참고

아래 글이 매우 정리가 잘 되어 있다.

[go] Ubuntu 에서 go 여러버전 사용하기

Ubuntu 리눅스에서 go의 여러 버전을 심볼릭 링크로 사용할 때 update-alternatives로 셋팅해서 사용하자.

# update-alternatives --install /usr/local/go go /usr/local/go1.17.2 1
update-alternatives: using /usr/local/go1.17.2 to provide /usr/local/go (go) in auto mode

# update-alternatives --install /usr/local/go go /usr/local/go1.16.8 2
update-alternatives: using /usr/local/go1.16.8 to provide /usr/local/go (go) in auto mode

# update-alternatives --install /usr/local/go go /usr/local/go1.14.15 3
update-alternatives: using /usr/local/go1.14.15 to provide /usr/local/go (go) in auto mode

# update-alternatives --config go
대체 항목 go에 대해 (/usr/local/go 제공) 3개 선택이 있습니다.

  선택       경로                우선순� 상태
------------------------------------------------------------
* 0            /usr/local/go1.14.15   3         자동 모드
  1            /usr/local/go1.14.15   3         수동 모드
  2            /usr/local/go1.16.8    2         수동 모드
  3            /usr/local/go1.17.2    1         수동 모드

현재 선택[*]을 유지하려면 <엔터>를 누르고, 아니면 선택 번호를 입력하시오:
#

[Linux] sudo 사용을 위한 sudoers 설정

sudo 그룹이 이미 있는 경우가 많으므로, 그냥 아래 명령을 root권한으로 주는 것이 더 낫다. 아닌 경우 그 아래 내용을 참고한다.

# usermod -aG sudo username

sudo 에 관한 설정을 바꿀 때는 /etc/sudoers 파일을 직접 고치는 것 보다는 /etc/sudoers.d/ 안에 설정 파일을 추가하는 것이 좋다.

새로운 사용자를 추가하려면 다음과 같이 파일을 추가한다.

vi /etc/sudoers.d/011_dasomoli-sudoer

dasomoli ALL=(ALL)   ALL

추가한 파일은 0440으로 권한을 바꿔준다.

chmod 0440 /etc/sudoers.d/011_dasomoli-sudoer

 

sudo를 할 때 아예 패스워드를 묻지 않게 할 수도 있는데, 라즈베리 파이3의 경우, 이를 이용해서 기본 계정의 경우 sudo 시 패스워드를 묻지 않도록 하고 있다.

vi /etc/sudoers.d/010_pi-nopasswd

pi ALL=(ALL) NOPASSWD: ALL

 

[Ubuntu] root 인증서 설치

프록시를 사용하는 환경에서 https 프로토콜을 사용할 때 인증 오류가 나는 경우, ca-certificate 인증 문제일 경우가 많다. 프록시 사용에 따른 인증서를 제공한다면 이걸 시스템 전역적으로 설치해주면 해결된다. 절차는 간단하다.

$ sudo mkdir /usr/share/ca-certificates/extra
$ sudo cp foo.crt /usr/share/ca-certificates/extra/
$ sudo dpkg-reconfigure ca-certificates

하고나서 껐다켜야 잘 되던데? 왜그런거지..

출처: http://askubuntu.com/questions/73287/how-do-i-install-a-root-certificate

[Ubuntu] Adobe AIR 설치

http://askubuntu.com/questions/87447/how-can-i-install-adobe-air 에 나와 있다.
옮겨 적자면…

Alternately, you can install a prebuilt .deb

There is air 2.6 (last supported Linux one) available here for both architectures (Both use 32 bit underneath but at least it works). Thanks to prusswan for pointing it out.

Make sure you have 32 bit libs it’ll need:

sudo apt-get install ia32-libs

I downloaded the AMD64 one (adobeair_2.6.0.19170_amd64.deb) and installed on my computer (am64 with Precise Pangolin 12.04)

sudo dpkg -i adobeair_2.6.0.19170_amd64.deb

Then I installed the application that needed Adobe Air in the first place and it worked.

Update for Ubuntu 13:10+,

Trying this technique, i get “Package ia32-libs-gtk is not installed”

I looked up the package and tried installing those dependencies and other related packages I can think of directly:

sudo apt-get install gtk2-engines:i386 libart-2.0-2:i386 libcairo2:i386 libcanberra-gtk0:i386 libdatrie1:i386 libgail-common:i386 libgconf2-4:i386 libgtk2.0-0:i386 liblua5.1-0:i386 libpango1.0-0:i386 libpixman-1-0:i386 libqt4-network:i386 libqt4-test:i386 libqtcore4:i386 libthai0:i386 libbonobo2-0:i386 libglade2-0:i386 libgnomecanvas2-0:i386 libidl0:i386 liborbit2:i386 libwmf0.2-7:i386 gtk2-engines-murrine:i386

But that didn’t work for either the deb or original binary.