관리자

FE에서 dom element가 hover 같은 이벤트에 의해 동적으로 변경될 때가 있다.

이때 개발자 도구에서 뭔가 확인하기 위해서 마우스를 이동하면 element가 원래대로 돌아가서

마우스를 움직일 수가 없다

 

element > 우클릭 > break on > 을 통해서 breakpoint를 걸 수도 있지만,

event 발생시 변경되는 element가 동적으로 생성되는 경우, 이 방법은 통하지 않는다...

 

 

대신 `F8`(window) / `Fn + F8`(mac)을 누르면 debugger가 pause 된다.

당연히 화면도 멈추니, 이 상태에서 개발자 도구로 이동해서 열심히 탐색(?)하면 된다.

'기타' 카테고리의 다른 글

안드로이드에서 로컬 서버 접속하기  (0) 2021.02.16
jupyterlab 설치  (0) 2021.01.15
Cygwin  (0) 2021.01.13
AOP(Aspect Oriented Programming)  (0) 2021.01.07

Java는 platform(target application environment)에 따라 4가지의 edition으로 나뉜다.

JRE(Java Runtime Environment)

  • oracle에서 release한 free stand-alone jvm
  • 개인 PC에서 가장 흔하게 쓰이는 java environment

en.wikipedia.org/wiki/Java_(programming_language)#Editions

'언어 > Java' 카테고리의 다른 글

jvm internal - 1. Runtime Data Area  (0) 2021.01.30
JVM internal - 0.Overview  (0) 2021.01.30
what jit likes and dislikes  (0) 2021.01.17
jit optimization - 흥미로운 사실1  (0) 2021.01.17
java 동작 원리  (0) 2021.01.17

Debian Linux는 dpkg라는 package managemnet system을 사용한다.(Debian Package Management)

package managemnet system은 사용자가 소스 코드로부터 빌드하지 않고도 쉽게 프로그램을 설치할 수 있도록 관리해주는 tool이다.

 

APT(Advanced Package Tool)는 command-line을 통해 package management system을 사용할 수 있는 tool이다.(apt가 아니다)

dpkg보다 high level tool로, 조금 더 편리하게 package를 관리할 수 있다.

 

그리고 apt-get은 APT를 더 편리하게 사용할 수 있는 tool이다.

apt-get 외에도 apt-cache, Aptitude 등이 있다.

 

apt-get은 install, update, clean를 위한 tool인 반면,

새로운 package를 찾는 데에는(search) apt-cache를 이용한다,

 

그렇다보니 자주 사용하는 명령어가 apt-get과 apt-cache에 흩어져있고,

apt-get과 apt-cache에서 기본적으로 제공하는 기능이 너무 많아

일반 사용자가 사용하기가 불편했다.

 

이것을 보완하는 명령어가 apt 이다

apt는 apt-get과 apt-cache에서 자주 사용되는 명령어를 모아둔 것 정도로 생각할 수 있다.

 

- 명령어 목록

apt command apt-get command function
apt install apt-get install Installs a package
apt remove apt-get remove Removes a package
apt purge apt-get purge Removes package with configuration
apt update apt-get update Refreshes repository index
apt upgrade apt-get upgrade Upgrades all upgradable packages
apt autoremove apt-get autoremove Removes unwanted packages
apt full-upgrade apt-get dist-upgrade Upgrades packages with auto-handling of dependencies
apt search apt-cache search Searches for the program
apt show apt-cache show Shows package details

 

한 가지 유의할 점은,

apt가 apt-get의 여러 명령어와 동일하지만, backward compatible한 것은 아니라는 것이다,

 

- apt에만 있는 명령어

new apt command function of the command
apt list Lists packages with criteria (installed, upgradable etc)
apt edit-sources Edits sources list

 

 

요약

- apt는 apt-get, apt-cache에서 자주 사용되는 명령어를 모아둔 command line package management tool이다.

- apt> apt-get/apt-cache > APT > dpkg 순으로 user friendly하다.

- 대체로 apt만 알면 충분하다.

 

* 아래 글을 읽고 정리한 글입니다,

itsfoss.com/apt-vs-apt-get-difference/

 

Difference Between apt and apt-get Explained - It's FOSS

Explaining how apt command is similar yet different than apt-get and why you should be using apt instead of apt-get.

itsfoss.com

 

'linux, docker, kubernetes' 카테고리의 다른 글

Cgroup  (0) 2021.01.15
docker centos, ubuntu systemctl(service)  (0) 2021.01.10
linux remote ssh 접속  (0) 2021.01.10

centos docker container에서는 기본적으로 systemctl을 사용할 수 없다.

docker hub의 official centos image에 따르면, systemd가 포함은 되어있지만 default로 inactive하다.(centos:7 부터)

(systemctl은 systemd를 관리하는 명령어이다.)

 

hub.docker.com/_/centos/#Systemd_integration

systemd를 사용하기 위해서는 추가 작업이 필요하다.

해결방법

  1. systemd를 사용할 수 있는 base 이미지 만들기

    FROM centos:7
    ENV container docker
    RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == \
        systemd-tmpfiles-setup.service ] || rm -f $i; done); \
        rm -f /lib/systemd/system/multi-user.target.wants/*;\
        rm -f /etc/systemd/system/*.wants/*;\
        rm -f /lib/systemd/system/local-fs.target.wants/*; \
        rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
        rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
        rm -f /lib/systemd/system/basic.target.wants/*;\
        rm -f /lib/systemd/system/anaconda.target.wants/*;
    VOLUME [ "/sys/fs/cgroup" ]
    CMD ["/usr/sbin/init"]
  2. 위에서 만든 base 이미지를 바탕으로 이미지를 생성한다.
    ex)

    FROM local/c7-systemd
    RUN yum -y install httpd; yum clean all; systemctl enable httpd.service
    EXPOSE 80
    CMD ["/usr/sbin/init"]
  1. docker run에서 cgroups mount

    $ docker run -ti -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 80:80 <image name:tag>
    • ubuntu를 사용한다면 -v /tmp/$(mktemp -d):/run도 cgroup과 함께 추가해준다.

 

부가 설명

  • systemd는 CAP_SYS_ADMIN capability가 필요하지만 docker의 non previlieged container는 보안 문제로 CAP_SYS_ADMIN capability가 없다.
    하지만 previleged container는 비권장 사항이다.

  • 또한, systemd는 cgroup 파일을 필요로하니, –v /sys/fs/cgroup:/sys/fs/cgroup:ro를 통해 read-only mode로 마운트한다.

  • systemd만을 사용하기 위해서 rm -rf <wants들>를 이용해서 삭제한다.

 

참고 링크

developers.redhat.com/blog/2014/05/05/running-systemd-within-docker-container/
unix.stackexchange.com/a/490783

'linux, docker, kubernetes' 카테고리의 다른 글

Cgroup  (0) 2021.01.15
apt vs apt-get 비교(APT, dpkg)  (0) 2021.01.10
linux remote ssh 접속  (0) 2021.01.10

remote server에 ssh로 접속하기 위해서는

openssh-server openssh-clients

가 필요하다

아래 명령어로 설치, 실행한다.

# yum 또는 apt-get
yum –y install openssh-server openssh-clients

systemctl sshd start

systemctl sshd enable

systemctl sshd status

'linux, docker, kubernetes' 카테고리의 다른 글

Cgroup  (0) 2021.01.15
apt vs apt-get 비교(APT, dpkg)  (0) 2021.01.10
docker centos, ubuntu systemctl(service)  (0) 2021.01.10

+ Recent posts