๐Ÿง

[Linux] CencOS7

... Public key for devtoolset-8-toolchain-8.1-1.el7.x86_64.rpm is not installed Failing package is: devtoolset-8-toolchain-8.1-1.el7.x86_64 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 [root@vbox yum.repos.d]#
Shell
๋ณต์‚ฌ
โ€ข
์•„๋ž˜ ์…‹ ์ค‘ ํ•˜๋‚˜๋กœ ํ•ด๊ฒฐ
1.
GPGํ‚ค ๋“ฑ๋ก rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
2.
/etc/yum.conf ํŒŒ์ผ ๋‚ด gpgcheck=1 ์„ 0์œผ๋กœ ์ˆ˜์ •ํ•˜์—ฌ gpgcheck ๋ฅผ ๋น„ํ™œ์„ฑํ™”
3.
GPG ํ‚ค ๊ฒ€์ฆ ๋ฌด์‹œํ•˜๊ณ  ์„ค์น˜ sudo yum --nogpgcheck install devtoolset-8
[dream@vbox Install]$ sudo yum groupinstall "Development Tools" -y Loaded plugins: fastestmirror, langpacks There is no installed groups file. Maybe run: yum groups mark convert (see man yum) Loading mirror speeds from cached hostfile Warning: Group development does not have any packages to install. Maybe run: yum groups mark install (see man yum) No packages in any requested group available to install or update [dream@vbox Install]$
Shell
๋ณต์‚ฌ
โ€ข
1 ๋˜๋Š” 2 ์ง„ํ–‰ ํ›„, ์ฃผ์š” ๋นŒ๋“œ๋„๊ตฌ ์„ค์น˜์—ฌ๋ถ€ ํ™•์ธ
1.
yum ๊ทธ๋ฃน ํŒŒ์ผ์ด ์—†๋Š” ๊ฒฝ์šฐ sudo yum groups mark convert ๋ช…๋ น์œผ๋กœ ์ƒ์„ฑ
โ€ข
sudo yum group list ๋ช…๋ น์œผ๋กœ Development Tools ๊ทธ๋ฃน์ด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ
โ€ข
๊ทธ๋ฃน ์„ค์น˜ ๋ช…๋ น ๋‹ค์‹œ ์‹คํ–‰ sudo yum groupinstall "Development Tools" -y
2.
ํ˜„์žฌ ํ™œ์„ฑํ™”๋œ repository ์ ๊ฒ€ ๋ฐ ์ˆ˜์ •
โ€ข
sudo yum repolist all ๋ช…๋ น์œผ๋กœ enabled๋กœ ์„ค์ •๋œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธ ( ํ•„์š”ํ•œ ๊ฒฝ์šฐ /etc/yum.repos.d/ ์•„๋ž˜์˜ .repo ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜์—ฌ ํ™œ์„ฑํ™” )
โ—ฆ
EPEL ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋Š” Development Tools์™€ ๊ด€๋ จ๋œ ํŒจํ‚ค์ง€๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Œ
โ–ช
sudo yum install epel-release -y && sudo yum clean all && sudo yum makecache
โ—ฆ
gcc / make ๋“ฑ ์ฃผ์š” ๋นŒ๋“œ๋„๊ตฌ ์„ค์น˜์—ฌ๋ถ€ ํ™•์ธ
โ–ช
gcc --version , make --version
[dream@vbox gcc-8.5.0]$ ./contrib/download_prerequisites
Shell
๋ณต์‚ฌ
โ€ข
ํŠน์ • PID ์‹คํ–‰ ์ค‘์ธ์ง€ ๋ฉˆ์ถฐ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ
โ—ฆ
gcc๋ฅผ 8.5.0์œผ๋กœ ์ง์ ‘ ๋นŒ๋“œํ•˜์—ฌ ์„ค์น˜ํ•˜๊ณ ์ž ํ•˜๋Š”๋ฐ, ์ฒซ ๊ณผ์ •์ด ./contrib/download_prerequisites ๋ช…๋ น์œผ๋กœ ์ข…์† ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•ด์ฃผ๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. ๊ทผ๋ฐ ๋กœ๊ทธ๊ฐ€ ์˜ฌ๋ผ๊ฐ€์งˆ ์•Š์•„์„œ ์ด๊ฒŒ ๋ฉˆ์ถ˜๊ฑด์ง€, ์ž˜ ๋˜๊ณ  ์žˆ๋Š”๊ฑด์ง€ ํ™•์ธ์„ ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ค์› ๋‹ค.
์ด ๋ช…๋ น์ด ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” PID 24851 ์ด ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰์ค‘์ธ์ง€ ํ™•์ธํ•ด๋ณด๊ณ ์ž ํ•จ
1.
top ๋ช…๋ น์œผ๋กœ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋‚˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ง€ ํ™•์ธ top -p 24851
wget ํ”„๋กœ์„ธ์Šค์˜ CPU ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ์—…๋ฐ์ดํŠธ์ค‘์ด๋ผ๋ฉด ์‹คํ–‰์ค‘์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, 0%๋กœ ์œ ์ง€๋˜๋ฉด ๋ฉˆ์ถฐ์žˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Œ
2.
strace ๋ช…๋ น์œผ๋กœ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์–ด๋–ค ์‹œ์Šคํ…œ ํ˜ธ์ถœ์„ ์ˆ˜ํ–‰์ค‘์ธ์ง€ ํ™•์ธ strace -p 24851
์ด๋ฅผํ†ตํ•ด ์‹ค์ œ๋กœ ๋„คํŠธ์›Œํฌ ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  ์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์Œ ์ถœ๋ ฅ์ด ๊ณ„์† ๋ณ€ํ•œ๋‹ค๋ฉด ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž‘์—…์ค‘์ธ ๊ฒƒ์ด๋ฉฐ, ๋ฉˆ์ถฐ์žˆ๋‹ค๋ฉด ๋Œ€๊ธฐ์ƒํƒœ์ผ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Œ
3.
lsof ๋ช…๋ น์œผ๋กœ ๋‹ค์šด๋กœ๋“œ์ค‘์ธ ํŒŒ์ผ์ด๋‚˜ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ์ƒํƒœ ํ™•์ธ lsof -p 24851 lsof -p 24854
์ถœ๋ ฅ์— ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ(ESTABLISHED) ๋˜๋Š” ๋‹ค์šด๋กœ๋“œ ํŒŒ์ผ ๊ฒฝ๋กœ๊ฐ€ ํ‘œ์‹œ๋œ๋‹ค๋ฉด ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž‘์—… ์ค‘์ธ ๊ฒƒ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ์Œ
4.
wget ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๊ณ ์žˆ๋Š”์ง€ ํ™•์ธ netstat -tpn | grep 24854
ESTABLISHED ์ƒํƒœ๋กœ ํ‘œ์‹œ๋œ๋‹ค๋ฉด ๋ฐ์ดํ„ฐ ์ „์†ก์ด ์ด๋ฃจ์–ด์ง€๊ณ  ์žˆ๋Š” ๊ฒƒ์ด๋ฉฐ, ์—ฐ๊ฒฐ ์ƒํƒœ๊ฐ€ CLOSE_WAIT ๋˜๋Š” ํ‘œ์‹œ๋˜์ง€ ์•Š์œผ๋ฉด ๋ฉˆ์ถฐ ์žˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Œ
5.
ps ๋ช…๋ น์œผ๋กœ ํ”„๋กœ์„ธ์Šค์˜ CPU ์‚ฌ์šฉ์‹œ๊ฐ„์ด ์ฆ๊ฐ€ํ•˜๋Š”์ง€ ํ™•์ธ ps -o pid,etime,etime,etime,etimes,cputime,pcpu -p 24854
โ€ข
์‹œ๊ฐ„์ด ๊ณ„์† ์ฆ๊ฐ€ํ•œ๋‹ค๋ฉด ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž‘์—… ์ค‘์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Œ
ETIME: ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹œ์ž‘๋œ ํ›„ ๊ฒฝ๊ณผ ์‹œ๊ฐ„ CPTIME: ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU์—์„œ ์‹คํ–‰๋œ ์ด ์‹œ๊ฐ„
6.
wget์ด ๋‹ค์šด๋กœ๋“œ์ค‘์ธ ํŒŒ์ผํฌ๊ธฐ ํ™•์ธ ls -lh ./gmp-6.1.0.tar.bz2
ํŒŒ์ผ์˜ ํฌ๊ธฐ๊ฐ€ ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ๋‹ค์šด๋กœ๋“œ ์ง„ํ–‰์ค‘์ธ ๊ฒƒ์ด๋ฉฐ, ํŒŒ์ผ ํฌ๊ธฐ๊ฐ€ ๋ณ€ํ•˜์ง€ ์•Š์œผ๋ฉด ๋ฉˆ์ถฐ ์žˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Œ
โ€ข
ํŒŒ์ผ ํฌ๊ธฐ ์ฆ๊ฐ ํ™•์ธ watch -n 1 ls -lh <ํŒŒ์ผ ๊ฒฝ๋กœ>
โ€ข
./contrib/download_prerequisites ์—†์ด GCC ๋นŒ๋“œ ์ง„ํ–‰
[dream@vbox gcc-8.5.0]$ ./contrib/download_prerequisites 2024-12-03 00:06:18 (1.03 MB/s) - Data connection: Connection timed out; Error in server response, closing cont rol connection. 2024-12-03 00:06:23 URL: ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2 [2383840] -> "./gmp-6.1.0.t ar.bz2" [3] 2024-12-03 00:21:32 (701 KB/s) - Data connection: Connection timed out; Error in server response, closing control connection. 2024-12-03 00:21:37 URL: ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2 [1279284] -> "./mpfr-3.1.4.tar.bz2" [3] 2024-12-03 00:36:44 (558 KB/s) - Data connection: Connection timed out; Error in server response, closing control connection. 2024-12-03 00:36:49 URL: ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz [669925] -> "./mpc-1.0.3.tar.gz" [3] 2024-12-03 00:51:57 (816 KB/s) - Data connection: Connection timed out; Error in server response, closing control connection. 2024-12-03 00:52:02 URL: ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.18.tar.bz2 [1658291] -> "./isl-0.18.tar.bz2" [3] gmp-6.1.0.tar.bz2: OK mpfr-3.1.4.tar.bz2: OK mpc-1.0.3.tar.gz: OK isl-0.18.tar.bz2: OK All prerequisites downloaded successfully. [dream@vbox gcc-8.5.0]$
Shell
๋ณต์‚ฌ
โ€ข
gcc-8.5.0 ์ข…์† ํŒจํ‚ค์ง€ ์„ค์น˜๋ฅผ ์œ„ํ•ด ์œ„ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ–ˆ์œผ๋‚˜.. ๋„ˆ๋ฌด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š”๊ฒƒ ๊ฐ™์•˜๋Š”๋ฐ ์•„๋‹ˆ๋‚˜ ๋‹ค๋ฅผ๊นŒ ์œ„์™€๊ฐ™์ด ์—๋Ÿฌ ๋ฐœ์ƒํ•˜์—ฌ gcc.gnu.org/pub/gcc/infrastructure ์— ๋“ค์–ด๊ฐ€์„œ ์ง์ ‘ ๋‹ค์šด๋กœ๋“œ ์ง„ํ–‰
wget https://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2
wget https://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2
wget https://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz
tar ์••์ถ• ํ•ด์ œ ์‹œ ์˜ต์…˜ ์ฐธ๊ณ 
โ€ข
๋นŒ๋“œ ๋””๋ ‰ํ„ฐ๋ฆฌ(gcc-8.5.0)๋กœ ์˜ฎ๊ธฐ๊ธฐ
โ€ข
GCC ๋นŒ๋“œ ์‹œ์Šคํ…œ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋””๋ ‰ํ„ฐ๋ฆฌ๋ช… ๋ณ€๊ฒฝ ๋˜๋Š” ๋งํฌ
$ mv gmp-6.1.0 gmp ; mv mpc-1.0.3 mpc ; mv mpfr-3.1.4 mpfr # ๋˜๋Š” $ ln -s ./gmp-6.1.0 gmp ; ln -s ./mpc-1.0.3 mpc ; ln -s ./mpfr-3.1.4 mpfr
Shell
๋ณต์‚ฌ