Linux 软件装在哪里?

  1. opt目录

    /opt 是用来安装附加软件包,是用户级程序目录,相当于 D:/soft,opt有可选的意思,安装到/opt目录下的程序,所有的数据、库文件都会放置在同一个目录下
  2. /usr目录

    /usr: 相当于 C:/Windows
    /usr/lib: 相当于 C:/Windows/System32
    /usr/local: 相当于 C:/Progrem Files  是用户级程序目录,用户自己编译的软件默认会安装到此目录(存放手动安装的软件,即不是通过'yum'或'apt-get'安装的软件)
    它和/usr有相似的目录结构,让软件包管理器来管理/usr,而把自定义脚本放到/usr/local目录下

## 源码放哪里

  1. /usr/src 系统级的源码目录
  2. /usr/local/src 用户级的源码目录

Linux软件包管理(安装、删除)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
0. 下载软件包:wget 软件包地址

1. 手动安装(tar.gz源、tar.bz2源)
① 下载相应的软件包,如soft.tar.gz/soft.tar.bz2
② cd soft.tar.gz/soft.tar.bz2所在的目录
③ tar -xzvf soft.tar.gz //一般会生成一个soft目录
④ cd soft
⑤./configure // 为编译做准备
⑥ make // 编译软件 (时间很久)
⑦ make install // 安装软件
⑧ make clean // 删除安装产生的临时文件

2. rpm包安装
① 下载相应的软件包,如soft.version.rpm
② cd soft.version.rpm所在的目录
③ rpm -ivh soft.version.rpm // -i 安装软件 -t 测试安装,不是真的安装 -p 显示安装进度 -f 忽略任何错误 -U 升级安装 -v 检测套件是否正确安装
④ 卸载 rpm -e 软件名

3. dep包安装
① 下载相应的软件包,如soft.version.dep
② cd soft.version.dep所在目录
③ dpkg -i soft.version.dep
④ 卸载 dpkg -e 软件名
⑤ 查看已安装的软件包 dpkg –l '*软件包名*'

4. apt方式安装(安装deb包)
① apt-cache search 软件包
② apt-get install 软件包
③ 删除(保留配置文件) apt-get remove 软件名
④ 删除(不保留配置文件) apt-get --purge remove 软件名
⑤ dpkg --force-all --purge packagename ——有些软件很难卸载,而且还阻止了别的软件的应用,就可以用这个,不过有点冒险。
apt-get autoremove——因为apt会把已装或已卸的软件都备份在硬盘上,所以如果需要空间的话,可以让这个命令来删除你已经删掉的软件。
apt-get autoclean——定期运行这个命令来清除那些已经卸载的软件包的.deb文件。通过这种方式,可以释放大量的磁盘空间。如果需求十分迫切,可以使用apt-get clean以释放更多空间。这个命令会将已安装软件包裹的.deb文件一并删除。
apt-get clean——这个命令会把安装的软件的备份也删除,不过这样不会影响软件的使用的。
apt-get upgrade——更新所有已安装的软件包
apt-get dist-upgrade——将系统升级到新版本
apt-cache search string——在软件包列表中搜索字符串
apt-cache showpkg pkgs——显示软件包信息。
apt-cache stats——查看库里有多少软件
apt-cache dumpavail——打印可用软件包列表。
apt-cache show pkgs——显示软件包记录,类似于dpkg –print-avail。
apt-cache pkgnames——打印软件包列表中所有软件包的名称

5. yum方式安装
① yum -y install 软件包
② 卸载 yum remove 软件名
③ 已安装列表 yum list all
④ 查看软件包信息 yum info 软件名
⑥ 升级所有的软件包 yum update 软件名
⑦ 清除所有包缓存 yum clean all


// 切换yum源

// 首先备份/etc/yum.repos.d/CentOS-Base.repo
// 重命名
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

// 下载对应版本 repo 文件, 放入 /etc/yum.repos.d/ (操作前请做好相应备份)
// 163源
CentOS5 :http://mirrors.163.com/.help/CentOS5-Base-163.repo
CentOS6 :http://mirrors.163.com/.help/CentOS6-Base-163.repo
CentOS7 :http://mirrors.163.com/.help/CentOS7-Base-163.repo

// 阿里云源
CentOS5 :http://mirrors.aliyun.com/repo/Centos-5.repo
CentOS6 :http://mirrors.aliyun.com/repo/Centos-6.repo
CentOS7 :http://mirrors.aliyun.com/repo/Centos-7.repo

// 下载
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

//重命名
mv CentOS6-Base-163.repo CentOS-Base.repo

// 运行以下命令生成缓存
yum clean all
yum makecache

自己在Linux 上的一些操作

  • 安装 node

    1
    2
    3
    4
    5
    6
    node -v     // 查看是否已安装
    yum install nodejs // 安装nodejs 询问时 输入 y

    rpm -qa | grep node // 查看是否已安装

    rpm -ql node // 查看安装路径
  • 安装 Nginx

    1
    2
    3
    4
    5
    yum install nginx   // 安装nginx

    systemctl start nginx.service // 启动nginx
    systemctl enable nginx.service // 开机启动
    systemctl stop nginx.service // 停止nginx服务
  • 配置Nginx

    • 配置两个ssl证书
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      57
      58
      59
      60
      61
      62
      63
      64
      65
      66
      67
      68
      69
      70
      71
      72
      73
      74
      75
      76
      77
      78
      79
      80
      81
      82
      83
      84
      85
      86
      87
      88
      89
      90
      91
      92
      93
      94
      95
      96
      97
      98
      99
      100
      101
      102
      103
      104
      105
      106
      107
      108
      109
      110
      111
      112
      113
      114
      115
      116
      117
      118
      119
      120
      121
      122
      123
      124
      125
      # For more information on configuration, see:
      # * Official English Documentation: http://nginx.org/en/docs/
      # * Official Russian Documentation: http://nginx.org/ru/docs/

      user nginx;
      worker_processes auto;
      error_log /var/log/nginx/error.log;
      pid /run/nginx.pid;

      # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
      include /usr/share/nginx/modules/*.conf;

      events {
      worker_connections 1024;
      }

      http {
      log_format main '$remote_addr - $remote_user [$time_local] "$request" '
      '$status $body_bytes_sent "$http_referer" '
      '"$http_user_agent" "$http_x_forwarded_for"';

      access_log /var/log/nginx/access.log main;

      sendfile on;
      tcp_nopush on;
      tcp_nodelay on;
      keepalive_timeout 65;
      types_hash_max_size 2048;

      include /etc/nginx/mime.types;
      default_type application/octet-stream;

      # Load modular configuration files from the /etc/nginx/conf.d directory.
      # See http://nginx.org/en/docs/ngx_core_module.html#include
      # for more information.
      include /etc/nginx/conf.d/*.conf;

      server {
      listen 80 default_server;
      listen [::]:80 default_server;
      server_name www.damao2250.com;
      root /var/www/damao;
      #告诉浏览器有效期内只准用 https 访问
      add_header Strict-Transport-Security max-age=15768000;
      #永久重定向到 https 站点
      return 301 https://$server_name$request_uri;
      }

      # Settings for a TLS enabled server.

      server {
      listen 443 ssl http2 default_server;
      listen [::]:443 ssl http2 default_server;
      server_name www.damao2250.com;
      root /var/www/damao;

      ssl_certificate "/opt/ssl/www.damao2250.com/www.damao2250.com.pem";
      ssl_certificate_key "/opt/ssl/www.damao2250.com/www.damao2250.com.key";
      ssl_session_cache shared:SSL:1m;
      ssl_session_timeout 10m;
      ssl_ciphers HIGH:!aNULL:!MD5;
      ssl_prefer_server_ciphers on;

      # Load configuration files for the default server block.
      include /etc/nginx/default.d/*.conf;

      location / {
      }

      error_page 404 /404.html;
      location = /40x.html {
      }

      error_page 500 502 503 504 /50x.html;
      location = /50x.html {
      }
      }








      server {
      listen 80;
      server_name ycy.damao2250.com;
      #告诉浏览器有效期内只准用 https 访问
      add_header Strict-Transport-Security max-age=15768000;
      #永久重定向到 https 站点
      return 301 https://$server_name$request_uri;
      }

      # Settings for a TLS enabled server.

      server {
      listen 443 ssl http2;
      listen [::]:443 ssl http2;
      server_name ycy.damao2250.com;
      root /var/www/ycy;

      ssl_certificate "/opt/ssl/ycy.damao2250.com/ycy.damao2250.com.pem";
      ssl_certificate_key "/opt/ssl/ycy.damao2250.com/ycy.damao2250.com.key";
      ssl_session_cache shared:SSL:1m;
      ssl_session_timeout 10m;
      ssl_ciphers HIGH:!aNULL:!MD5;
      ssl_prefer_server_ciphers on;

      # Load configuration files for the default server block.
      include /etc/nginx/default.d/*.conf;

      location / {
      }

      error_page 404 /404.html;
      location = /40x.html {
      }

      error_page 500 502 503 504 /50x.html;
      location = /50x.html {
      }
      }

      }

部署Gitlab

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
// 安装依赖软件
yum -y install policycoreutils policycoreutils-python openssh-server openssh-clients postfix
// but already installed and latest version && Nothing to do

// 开启postfix, postfix支持gitlab发信功能,设置postfix开机自启
systemctl enable postfix && systemctl start postfix

// 如若 postfix 无法启动
// 修改 /etc/postfix/main.cf
inet_interfaces = all
inet_protocols = ipv4
systemctl start postfix
systemctl enable postfix

// 如无法ssh来远程连接主机的 开启 ssh
systemctl enable sshd
systemctl start sshd


// 安装防火墙
yum install firewalld systemd -y
// 开启防火墙
service firewalld start
// 添加http服务到firewalld,pemmanent表示永久生效,若不加--permanent系统下次启动后就会失效。
firewall-cmd --permanent --add-service=http
// 重启防火墙
systemctl reload firewalld





// 下载gitlab
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.5.0-ce.0.el7.x86_64.rpm

// 安装 ce代表社区版 ee代表企业版
rpm -i gitlab-ce-12.5.0-ce.0.el7.x86_64.rpm

// 修改配置文件 gitlab.rb 使用外部nginx 不使用内部nginx
vim /etc/gitlab/gitlab.rb


external_url 'http://120.79.166.206:8888'



// 重置并启动gitlab
gitlab-ctl stop

gitlab-ctl reconfigure

gitlab-ctl restart

// 如果执行 gitlab-ctl reconfigure 卡死在 ruby_block[authorize Grafana with GitLab] action run 就强制结束 ctrl+c 然后
systemctl restart gitlab-runsvdir
// 再
gitlab-ctl stop
gitlab-ctl reconfigure
gitlab-ctl restart



// 访问报502。原因是nginx用户无法访问gitlab用户的socket文件。 重启gitlab需要重新授权
chmod -R o+x /var/opt/gitlab/gitlab-rails
// 访问502也可能是 内存太小 超时了

// 初始账户: root 密码:5iveL!fe




// 完全卸载GitLab
// 一. 停止gitlab
// sudo gitlab-ctl stop
// 二、卸载gitlab(这块注意了,看看是gitlab-ce版本还是gitlab-ee版本,别写错误了)
// sudo rpm -e gitlab-ce

// 三、查看gitlab进程

// ps -ef|grep gitlab
//      杀掉第一个守护进程(runsvdir -P /opt/gitlab/service log)
//      kill -9 4473
//      再次查看gitlab进程是否存在

// 四、删除gitlab文件

//         find / -name *gitlab*|xargs rm -rf      删除所有包含gitlab的文件及目录

//         find / -name gitlab |xargs rm -rf 

//         删除gitlab-ctl uninstall时自动在root下备份的配置文件(ls /root/gitlab* 看看有没有,有也删除)

// 通过以上几步就可以彻底卸载gitlab
赞赏

本文地址: http://yoursite.com/2020/01/13/Linux%E4%BD%BF%E7%94%A8%E7%AC%94%E8%AE%B0/