added aptcacherng CT, Updated readme
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -8,4 +8,5 @@ CT-Files/transfersh/transfershVersion
|
|||||||
CT-Files/domoticz/domoticz.tgz
|
CT-Files/domoticz/domoticz.tgz
|
||||||
CT-Files/omadaV3/omada.deb
|
CT-Files/omadaV3/omada.deb
|
||||||
CT-Files/nextcloud/nginx_signing.rsa.pub
|
CT-Files/nextcloud/nginx_signing.rsa.pub
|
||||||
CT-Files/nextcloud/nextcloud.tar.bz2
|
CT-Files/nextcloud/nextcloud.tar.bz2
|
||||||
|
CT-Files/aptcacherng/*_mirrors
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
String[] ImgVariantList = ['minimal', 'default', 'jenkinsbuilder', 'imgbuilder', 'jenkins', 'mysql' , 'pihole' , 'collabora' , 'jellyfin' , 'domoticz' , 'omadaV3' , 'docker' , 'smb' , 'tvheadend' , 'x2go' ]
|
String[] ImgVariantList = ['minimal', 'default', 'jenkinsbuilder', 'imgbuilder', 'jenkins', 'mysql' , 'pihole' , 'collabora' , 'jellyfin' , 'domoticz' , 'omadaV3' , 'docker' , 'smb' , 'tvheadend' , 'x2go' , 'aptcacherng' ]
|
||||||
|
|
||||||
pipeline {
|
pipeline {
|
||||||
agent { label 'LXCBuilder' }
|
agent { label 'LXCBuilder' }
|
||||||
|
|||||||
@@ -937,6 +937,13 @@ files:
|
|||||||
variants:
|
variants:
|
||||||
- x2go
|
- x2go
|
||||||
|
|
||||||
|
#FileForAptcacherng
|
||||||
|
- path: /opt/Setup
|
||||||
|
generator: copy
|
||||||
|
source: CT-Files/aptcacherng
|
||||||
|
variants:
|
||||||
|
- aptcacherng
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
manager: apt
|
manager: apt
|
||||||
update: true
|
update: true
|
||||||
@@ -958,6 +965,7 @@ packages:
|
|||||||
- smb
|
- smb
|
||||||
- tvheadend
|
- tvheadend
|
||||||
- x2go
|
- x2go
|
||||||
|
- aptcacherng
|
||||||
|
|
||||||
#Https Repo pkgs
|
#Https Repo pkgs
|
||||||
- packages:
|
- packages:
|
||||||
@@ -973,6 +981,7 @@ packages:
|
|||||||
- smb
|
- smb
|
||||||
- tvheadend
|
- tvheadend
|
||||||
- x2go
|
- x2go
|
||||||
|
- aptcacherng
|
||||||
|
|
||||||
#Minimal pkgs
|
#Minimal pkgs
|
||||||
- packages:
|
- packages:
|
||||||
@@ -1190,6 +1199,14 @@ packages:
|
|||||||
variants:
|
variants:
|
||||||
- x2go
|
- x2go
|
||||||
|
|
||||||
|
#aptcacherng pkgs
|
||||||
|
- packages:
|
||||||
|
- apt-cacher-ng
|
||||||
|
action: install
|
||||||
|
variants:
|
||||||
|
- aptcacherng
|
||||||
|
|
||||||
|
|
||||||
repositories:
|
repositories:
|
||||||
- name: sources.list
|
- name: sources.list
|
||||||
url: |-
|
url: |-
|
||||||
@@ -1310,6 +1327,7 @@ actions:
|
|||||||
- omadaV3
|
- omadaV3
|
||||||
- smb
|
- smb
|
||||||
- x2go
|
- x2go
|
||||||
|
- aptcacherng
|
||||||
|
|
||||||
- trigger: post-packages
|
- trigger: post-packages
|
||||||
action: |-
|
action: |-
|
||||||
|
|||||||
25
CT-Files/aptcacherng/Configs/acng.conf
Normal file
25
CT-Files/aptcacherng/Configs/acng.conf
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
Port:80
|
||||||
|
# Storage directory for downloaded data and related maintenance activity.
|
||||||
|
CacheDir: /var/cache/apt-cacher-ng
|
||||||
|
LogDir: /var/log/apt-cacher-ng
|
||||||
|
SupportDir: /usr/lib/apt-cacher-ng
|
||||||
|
|
||||||
|
# Repository remapping
|
||||||
|
Remap-debrep: file:deb_mirror*.gz /debian ; file:backends_debian # Debian Archives
|
||||||
|
Remap-uburep: file:ubuntu_mirrors /ubuntu ; file:backends_ubuntu # Ubuntu Archives
|
||||||
|
Remap-epel: file:epel_mirrors # Fedora EPEL
|
||||||
|
Remap-secdeb: security.debian.org security.debian.org/debian-security deb.debian.org/debian-security /debian-security ; deb.debian.org/debian-security security.debian.org
|
||||||
|
Remap-centos: file:centos_mirrors /centos ; http://mirror.ams1.nl.leaseweb.net/centos
|
||||||
|
Remap-alpine: file:alpine_mirrors /alpine ; http://dl-4.alpinelinux.org/alpine
|
||||||
|
|
||||||
|
ReportPage: acng-report.html
|
||||||
|
|
||||||
|
ExThreshold: 4
|
||||||
|
|
||||||
|
LocalDirs: acng-doc /usr/share/doc/apt-cacher-ng
|
||||||
|
|
||||||
|
VfilePatternEx: (metalink\?repo=[0-9a-zA-Z-]+&arch=[0-9a-zA-Z_-]+|/\?release=[0-9]+&arch=|repodata/.*\.(xml|sqlite)\.(gz|bz2)|APKINDEX.tar.gz|filelists\.xml\.gz|filelists\.sqlite\.bz2|repomd\.xml|packages\.[a-zA-Z][a-zA-Z]\.gz|\.sha256)
|
||||||
|
PfilePatternEx: (/dists/.*/by-hash/.*|\.tgz|\.tar|\.xz|\.bz2|\.rpm|\.apk)$
|
||||||
|
|
||||||
|
UserAgent: Yet Another HTTP Client/1.2.3p4
|
||||||
|
DontCache: mirrorlist.centos.org
|
||||||
10
CT-Files/aptcacherng/Scripts/Init.sh
Normal file
10
CT-Files/aptcacherng/Scripts/Init.sh
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/ash
|
||||||
|
#Allow apt-cacher-ng to use port 80
|
||||||
|
setcap 'cap_net_bind_service=+ep' /usr/sbin/apt-cacher-ng
|
||||||
|
#Move configs in place
|
||||||
|
mv /opt/Setup/Configs/acng.conf /etc/apt-cacher-ng/acng.conf
|
||||||
|
mv /opt/Setup/centos_mirrors /etc/apt-cacher-ng/centos_mirrors
|
||||||
|
mv /opt/Setup/alpine_mirrors /etc/apt-cacher-ng/alpine_mirrors
|
||||||
|
mv /opt/Setup/Scripts/UpdateMirrorList.sh /opt/UpdateMirrorList.sh
|
||||||
|
#Enable apt-cacher-ng on startup
|
||||||
|
ln -s /lib/systemd/system/apt-cacher-ng.service /etc/systemd/system/multi-user.target.wants/apt-cacher-ng.service
|
||||||
3
CT-Files/aptcacherng/Scripts/UpdateMirrorList.sh
Normal file
3
CT-Files/aptcacherng/Scripts/UpdateMirrorList.sh
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/ash
|
||||||
|
curl -L --retry 7 --retry-delay 5 http://dl-4.alpinelinux.org/alpine/MIRRORS.txt -o /etc/apt-cacher-ng/alpine_mirrors
|
||||||
|
curl https://www.centos.org/download/full-mirrorlist.csv | sed 's/^.*"http:/http:/' | sed 's/".*$//' | grep ^http >/etc/apt-cacher-ng/centos_mirrors
|
||||||
69
Readme.md
69
Readme.md
@@ -1,12 +1,12 @@
|
|||||||
# Scripts for building containers for the Proxmox home server
|
# Scripts for building containers for the Proxmox home server
|
||||||
|
|
||||||
# Inital Setup
|
# Initial Setup
|
||||||
The fist step is to build the containers needed for building all other containers.
|
The first step is to build the containers needed for building all other containers.
|
||||||
This can be done on a Minimal debian CT (make sure to enable nesting) on the new proxmox server or any other debian install
|
This can be done on a Minimal debian CT (make sure to enable nesting) on the new proxmox server or any other debian install
|
||||||
|
|
||||||
1. Clone this repo
|
1. Clone this repo
|
||||||
2. cd in to cloned repo
|
2. cd in to cloned repo
|
||||||
3. run `bash Scripts/FirstSetup.sh`, to genate the container images
|
3. run `bash Scripts/FirstSetup.sh`, to generate the container images
|
||||||
4. upload the `Debian-imgbuilder.tar.xz` to the proxmox server and create a privileged container
|
4. upload the `Debian-imgbuilder.tar.xz` to the proxmox server and create a privileged container
|
||||||
5. Follow the steps under Container Setup > imgbuilder
|
5. Follow the steps under Container Setup > imgbuilder
|
||||||
6. Upload the `Debian-Jenkins.tar.xz` to the proxmox server and create a container
|
6. Upload the `Debian-Jenkins.tar.xz` to the proxmox server and create a container
|
||||||
@@ -31,6 +31,7 @@ This can be done on a Minimal debian CT (make sure to enable nesting) on the new
|
|||||||
| smb | Debian | Samba server |
|
| smb | Debian | Samba server |
|
||||||
| tvheadend | Debian | Tvheadend server |
|
| tvheadend | Debian | Tvheadend server |
|
||||||
| x2go | Debian | Remote xfce desktop accessable via X2go |
|
| x2go | Debian | Remote xfce desktop accessable via X2go |
|
||||||
|
| aptcacherng | Debian | Caching server for linux packages |
|
||||||
| gitea | Alpine | Gitea server |
|
| gitea | Alpine | Gitea server |
|
||||||
| nginx | Alpine | Nginx server for reverse-proxy use |
|
| nginx | Alpine | Nginx server for reverse-proxy use |
|
||||||
| ddns | Alpine | DDNS client configured for OVH/OVH-Cloud |
|
| ddns | Alpine | DDNS client configured for OVH/OVH-Cloud |
|
||||||
@@ -72,9 +73,9 @@ MailBackup*
|
|||||||
|
|
||||||
# Container Setup
|
# Container Setup
|
||||||
## imgbuilder
|
## imgbuilder
|
||||||
**This container shoud be set up as privileged**
|
**This container should be set up as privileged**
|
||||||
1. Enable features: Fuse, Nesting and 'Create Device Nodes'
|
1. Enable features: Fuse, Nesting and 'Create Device Nodes'
|
||||||
2. Add a mountpoint to /LXCBuild on a accesable place for the Proxmox Server
|
2. Add a mountpoint to /LXCBuild on a accessible place for the Proxmox Server
|
||||||
3. Add this location to datastore for LXC templates to Proxmox
|
3. Add this location to datastore for LXC templates to Proxmox
|
||||||
4. Set the `jenkins` user password using `passwd jenkins` in the container
|
4. Set the `jenkins` user password using `passwd jenkins` in the container
|
||||||
5. Create folders on mountpoint using `mkdir /LXCBuild/template/cache`
|
5. Create folders on mountpoint using `mkdir /LXCBuild/template/cache`
|
||||||
@@ -83,7 +84,7 @@ MailBackup*
|
|||||||
## jenkins
|
## jenkins
|
||||||
1. In the container configure the setup script `nano /opt/Setup/Scripts/FirstRun.sh`
|
1. In the container configure the setup script `nano /opt/Setup/Scripts/FirstRun.sh`
|
||||||
2. In the container run the setup script `bash /opt/Setup/Scripts/FirstRun.sh`
|
2. In the container run the setup script `bash /opt/Setup/Scripts/FirstRun.sh`
|
||||||
3. Acces Jenkins using `http://<ip>:8080`
|
3. Access Jenkins using `http://<ip>:8080`
|
||||||
4. Press the `X` to skip the fist time setup
|
4. Press the `X` to skip the fist time setup
|
||||||
5. Delete the `Admin` user go to 'Manage Jenkins' > 'Manage Users' > Admin > Delete
|
5. Delete the `Admin` user go to 'Manage Jenkins' > 'Manage Users' > Admin > Delete
|
||||||
6. Add credentials for imgbuilder-CT go to 'Manage Jenkins' > 'Manage Nodes and Clouds' > LXCBuilder1 > configure
|
6. Add credentials for imgbuilder-CT go to 'Manage Jenkins' > 'Manage Nodes and Clouds' > LXCBuilder1 > configure
|
||||||
@@ -95,27 +96,27 @@ Then select the created credential and click save
|
|||||||
* To configure the MySQL root password in the container run the setup script `bash /opt/Setup/Scripts/FirstRun.sh`
|
* To configure the MySQL root password in the container run the setup script `bash /opt/Setup/Scripts/FirstRun.sh`
|
||||||
## gitea
|
## gitea
|
||||||
1. Edit the parameters in the FistRun script in the container `vi /opt/Setup/Scripts/FirstRun.sh`
|
1. Edit the parameters in the FistRun script in the container `vi /opt/Setup/Scripts/FirstRun.sh`
|
||||||
2. Run the FistRun scipt in the container `ash /opt/Setup/Scripts/FirstRun.sh`
|
2. Run the FistRun script in the container `ash /opt/Setup/Scripts/FirstRun.sh`
|
||||||
## nginx
|
## nginx
|
||||||
* Run the FistRun scipt in the container `ash /opt/Setup/Scripts/FirstRun.sh`
|
* Run the FistRun script in the container `ash /opt/Setup/Scripts/FirstRun.sh`
|
||||||
## pihole
|
## pihole
|
||||||
* Run the FistRun scipt in the container `ash /opt/Setup/Scripts/FirstRun.sh`
|
* Run the FistRun script in the container `ash /opt/Setup/Scripts/FirstRun.sh`
|
||||||
## colabora
|
## colabora
|
||||||
* Update the configuration in /etc/loolwsd/loolwsd.xml and reload the service `systemctl restart loolwsd`
|
* Update the configuration in /etc/loolwsd/loolwsd.xml and reload the service `systemctl restart loolwsd`
|
||||||
## jellyfin
|
## jellyfin
|
||||||
* To set-up the system follow the inital set-up wizard on http://`<ip>`:8096
|
* To set-up the system follow the initial set-up wizard on http://`<ip>`:8096
|
||||||
## domoticz
|
## domoticz
|
||||||
* Avalible on http://`<ip>`:8080
|
* Available on http://`<ip>`:8080
|
||||||
## transfersh
|
## transfersh
|
||||||
* Avalible on http://`<ip>`:8080
|
* Available on http://`<ip>`:8080
|
||||||
## omadaV3
|
## omadaV3
|
||||||
* To set-up the system follow the inital set-up wizard on http://`<ip>`:8088
|
* To set-up the system follow the initial set-up wizard on http://`<ip>`:8088
|
||||||
## docker
|
## docker
|
||||||
* Run the FistRun scipt in the container `ash /opt/Setup/Scripts/FirstRun.sh`
|
* Run the FistRun script in the container `ash /opt/Setup/Scripts/FirstRun.sh`
|
||||||
This container can be set up in two ways
|
This container can be set up in two ways
|
||||||
1. As controller with portainer
|
1. As controller with portainer
|
||||||
2. As remote with docker tcp on port 2375
|
2. As remote with docker tcp on port 2375
|
||||||
3. BONUS if FistRun scipt the CT has clean docker
|
3. BONUS if FistRun script is skipped the CT has clean docker
|
||||||
## iscsi
|
## iscsi
|
||||||
### In Proxmox
|
### In Proxmox
|
||||||
* Run following commands
|
* Run following commands
|
||||||
@@ -138,10 +139,10 @@ exit
|
|||||||
```
|
```
|
||||||
|
|
||||||
## z2mqtt
|
## z2mqtt
|
||||||
**Do not start this container after cration, follow these steps first**
|
**Do not start this container after creation, follow these steps first**
|
||||||
* Recomended to give CT 1-2GB of RAM (Required for updating)
|
* Recommended to give CT 1-2GB of RAM (Required for updating)
|
||||||
### In Proxmox
|
### In Proxmox
|
||||||
* Add the folling to `/etc/udev/rules.d/99-CustomHome.rules`
|
* Add the following to `/etc/udev/rules.d/99-CustomHome.rules`
|
||||||
```
|
```
|
||||||
KERNEL=="ttyUSB[0-9]*", MODE="0666"
|
KERNEL=="ttyUSB[0-9]*", MODE="0666"
|
||||||
KERNEL=="ttyACM[0-9]*", MODE="0666"
|
KERNEL=="ttyACM[0-9]*", MODE="0666"
|
||||||
@@ -153,40 +154,42 @@ SUBSYSTEM=="tty", ACTION=="change", ATTRS{idVendor}=="0658", ATTRS{idProduct}=="
|
|||||||
SUBSYSTEM=="tty", ACTION=="add", ATTRS{idVendor}=="0658", ATTRS{idProduct}=="0200", SYMLINK+="ttyACM-Zwave"
|
SUBSYSTEM=="tty", ACTION=="add", ATTRS{idVendor}=="0658", ATTRS{idProduct}=="0200", SYMLINK+="ttyACM-Zwave"
|
||||||
```
|
```
|
||||||
* Run `udevadm trigger`
|
* Run `udevadm trigger`
|
||||||
* Add the folling to /etc/pve/lxc/`<CT-ID>`.conf
|
* Add the following to /etc/pve/lxc/`<CT-ID>`.conf
|
||||||
```
|
```
|
||||||
lxc.cgroup2.devices.allow: c 166:* rwm
|
lxc.cgroup2.devices.allow: c 166:* rwm
|
||||||
lxc.mount.entry: /dev/ttyACM-Zigbee dev/ttyACM-Zigbee none bind,optional,create=file
|
lxc.mount.entry: /dev/ttyACM-Zigbee dev/ttyACM-Zigbee none bind,optional,create=file
|
||||||
lxc.mount.entry: /dev/ttyACM-Zwave dev/ttyACM-Zwave none bind,optional,create=file
|
lxc.mount.entry: /dev/ttyACM-Zwave dev/ttyACM-Zwave none bind,optional,create=file
|
||||||
```
|
```
|
||||||
* Zigbee2mqtt avalible on http://`<ip>`:5002
|
* Zigbee2mqtt Available on http://`<ip>`:5002
|
||||||
* ZWave2mqtt avalible on http://`<ip>`:8091
|
* ZWave2mqtt Available on http://`<ip>`:8091
|
||||||
* in the ZWave2mqtt web ui set the Zwave serial port to /dev/ttyACM-Zwave
|
* in the ZWave2mqtt web ui set the Zwave serial port to /dev/ttyACM-Zwave
|
||||||
* If a `Cannot lock port` error shows, please reboot the CT, if that does not fix it try rebooting the Proxmox server
|
* If a `Cannot lock port` error shows, please reboot the CT, if that does not fix it try rebooting the Proxmox server
|
||||||
|
|
||||||
## nodered
|
## nodered
|
||||||
* Avalible on http://`<ip>`:1880
|
* Available on http://`<ip>`:1880
|
||||||
|
|
||||||
## nextcloud
|
## nextcloud
|
||||||
**MountPoint for data folder `/var/nextcloud`**
|
**MountPoint for data folder `/var/nextcloud`**
|
||||||
1. Edit the parameters in the FistRun script in the container `vi /opt/Setup/Scripts/FirstRun.sh`
|
1. Edit the parameters in the FistRun script in the container `vi /opt/Setup/Scripts/FirstRun.sh`
|
||||||
2. Run the FistRun scipt in the container `ash /opt/Setup/Scripts/FirstRun.sh`
|
2. Run the FistRun script in the container `ash /opt/Setup/Scripts/FirstRun.sh`
|
||||||
3. Avalible on http://`<ip>`
|
3. Available on http://`<ip>`
|
||||||
|
|
||||||
## smb
|
## smb
|
||||||
* Webmin avalible on http://`<ip/hostname>`
|
* Webmin Available on http://`<ip/hostname>`
|
||||||
* Samba server avalible
|
* Samba server Available
|
||||||
|
|
||||||
## tvheadend
|
## tvheadend
|
||||||
**Do first login and setup wizzard in a incognito/Private window, since the authentication system can get confused after setting the new username**
|
**Do first login and setup wizard in a incognito/Private window, since the authentication system can get confused after setting the new username**
|
||||||
* Tvheadend avalible on http://`<ip>`:9981
|
* Tvheadend Available on http://`<ip>`:9981
|
||||||
* Default credentials: setup/setup
|
* Default credentials: setup/setup
|
||||||
* Follow the setup wizzard after login, otherwise authentication will be disabled
|
* Follow the setup wizzard after login, otherwise authentication will be disabled
|
||||||
|
|
||||||
## hass
|
## hass
|
||||||
* After first start of CT HomeAssistant will finish its instalation this wil take at least 10 minutes
|
* After first start of CT HomeAssistant will finish its installation this will take at least 10 minutes
|
||||||
* HomeAssistantavalible on http://`<ip>`:8123
|
* HomeAssistant available on http://`<ip>`:8123
|
||||||
|
|
||||||
|
## aptcacherng
|
||||||
|
* Available on http://`<ip>`:80
|
||||||
|
|
||||||
# Further CT documentation
|
# Further CT documentation
|
||||||
|
|
||||||
@@ -204,17 +207,17 @@ exit
|
|||||||
|
|
||||||
### Add Drive
|
### Add Drive
|
||||||
#### In Proxmox
|
#### In Proxmox
|
||||||
* Create LVM Volume (Avalible @ /dev/`<poolName>`/`<VolumeName>`)
|
* Create LVM Volume (Available @ /dev/`<poolName>`/`<VolumeName>`)
|
||||||
```
|
```
|
||||||
lvcreate --name <name> --size <VolumeSize>G <PoolName>
|
lvcreate --name <name> --size <VolumeSize>G <PoolName>
|
||||||
```
|
```
|
||||||
* Create ZFS Volume (Avalible @ /dev/`<poolName>`/`<VolumeName>`)
|
* Create ZFS Volume (Available @ /dev/`<poolName>`/`<VolumeName>`)
|
||||||
```
|
```
|
||||||
zfs create -o volblocksize=32k -V <VolumeSize>G <poolName>/<VolumeName>
|
zfs create -o volblocksize=32k -V <VolumeSize>G <poolName>/<VolumeName>
|
||||||
zfs set sync=disabled <poolName>/<VolumeName>
|
zfs set sync=disabled <poolName>/<VolumeName>
|
||||||
```
|
```
|
||||||
* Get id by using ls -l /dev/`<devicename>`
|
* Get id by using ls -l /dev/`<devicename>`
|
||||||
* Add the folling to /etc/pve/lxc/`<CT-ID>`.conf
|
* Add the following to /etc/pve/lxc/`<CT-ID>`.conf
|
||||||
```
|
```
|
||||||
lxc.cgroup2.devices.allow: b <id>:<Subid> rwm
|
lxc.cgroup2.devices.allow: b <id>:<Subid> rwm
|
||||||
lxc.mount.entry: /dev/<devicename> dev/<device> none bind,optional,create=file
|
lxc.mount.entry: /dev/<devicename> dev/<device> none bind,optional,create=file
|
||||||
|
|||||||
@@ -23,4 +23,6 @@ GetResource transfersh transfersh-linux-amd64 https://github.com/dutchcoders/tra
|
|||||||
|
|
||||||
GetResource omadaV3 omada.deb https://static.tp-link.com/2020/202012/20201225/Omada_v3.2.14_linux_x64.deb
|
GetResource omadaV3 omada.deb https://static.tp-link.com/2020/202012/20201225/Omada_v3.2.14_linux_x64.deb
|
||||||
GetResource nextcloud nginx_signing.rsa.pub https://nginx.org/keys/nginx_signing.rsa.pub
|
GetResource nextcloud nginx_signing.rsa.pub https://nginx.org/keys/nginx_signing.rsa.pub
|
||||||
GetResource nextcloud nextcloud.tar.bz2 https://download.nextcloud.com/server/releases/latest.tar.bz2
|
GetResource nextcloud nextcloud.tar.bz2 https://download.nextcloud.com/server/releases/latest.tar.bz2
|
||||||
|
GetResource aptcacherng alpine_mirrors http://dl-4.alpinelinux.org/alpine/MIRRORS.txt
|
||||||
|
curl -L --retry 7 --retry-delay 5 https://www.centos.org/download/full-mirrorlist.csv | sed 's/^.*"http:/http:/' | sed 's/".*$//' | grep ^http > CT-Files/aptcacherng/centos_mirrors
|
||||||
Reference in New Issue
Block a user