Skip to content
0
  • Recent
  • Tags
  • Popular
  • Search
  • ads.txt
  • Recent
  • Tags
  • Popular
  • Search
  • ads.txt
Collapse
Lime-it.us
  1. Home
  2. Categories
  3. Linux Systems
  4. Linux Systems Guides
  5. Burn ISO to cd/DVD/BD linux command line

Burn ISO to cd/DVD/BD linux command line

Scheduled Pinned Locked Moved Linux Systems Guides
burn cdcommand lineburn isowodimburn dvd
1 Posts 1 Posters 1.3k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • rickR Offline
    rickR Offline
    rick
    wrote on last edited by rick
    #1

    There are still those times when {place whatever issue or project here} will require burning optical media, even a CD if you enjoy toying around with older, even ancient hardware.

    That said there are many GUI programs which can accomplish this. However that’s not always viable, or desired. Especially when you care more about the command line and keeping your brain from going sedentary, by constantly clicking a button and having something done for you. /snarky

    In this instance I’ll burn an ISO image of hdat2 to a cd from the command line using wodim on Debian.


    Install wodim:

    sudo apt-get install wodim
    

    Burn ISO to a cd:

    Find the drive name in which you will use to write the image: You can have a quick look at how to burn an ISO to USB which contains the same basic procedure for locating storage devices locally. Or continue on.

    Locate the device which you intend to use to burn by using the command:

    lsblk
    

    In this case the output is as follows:

    rick@deb:~$ lsblk
    NAME                        MAJ:MIN RM   SIZE RO TYPE   MOUNTPOINT
    sda                           8:0    0 465.8G  0 disk   
    └─isw_ccheigfjba_Volume0    254:0    0 931.5G  0 dmraid 
      ├─isw_ccheigfjba_Volume01 254:1    0 893.8G  0 dmraid /
      └─isw_ccheigfjba_Volume05 254:2    0  37.7G  0 dmraid 
    sdb                           8:16   0 465.8G  0 disk   
    └─isw_ccheigfjba_Volume0    254:0    0 931.5G  0 dmraid 
      ├─isw_ccheigfjba_Volume01 254:1    0 893.8G  0 dmraid /
      └─isw_ccheigfjba_Volume05 254:2    0  37.7G  0 dmraid 
    sdc                           8:32   0     2T  0 disk 
    

    This shows two disks (sda & sdb) in raid form, as well as the optical device we will use (SDC)

    Next, Navigate to the directory of the ISO (not required but simplifies the command) many times in the downloads directory.

    Now we are ready to burn the ISO to cd.

    Type the following in command line:

    wodim -v dev=/dev/sr0 -eject -sao hdat2cd_51.iso
    

    Here is the output after hitting return:

    TOC Type: 1 = CD-ROM
    scsidev: '/dev/sr0'
    devname: '/dev/sr0'
    scsibus: -2 target: -2 lun: -2
    Linux sg driver version: 3.5.27
    Wodim version: 1.1.11
    SCSI buffer size: 64512
    Device type    : Removable CD-ROM
    Version        : 0
    Response Format: 3
    Capabilities   : 
    Vendor_info    : 'ATAPI   '
    Identification : 'iHAS324   A     '
    Revision       : 'BL1A'
    Device seems to be: Generic mmc2 DVD-R/DVD-RW.
    Current: 0x000A (CD-RW)
    Profile: 0x002B (DVD+R/DL) 
    Profile: 0x001B (DVD+R) 
    Profile: 0x001A (DVD+RW) 
    Profile: 0x0016 (DVD-R/DL layer jump recording) 
    Profile: 0x0015 (DVD-R/DL sequential recording) 
    Profile: 0x0014 (DVD-RW sequential recording) 
    Profile: 0x0013 (DVD-RW restricted overwrite) 
    Profile: 0x0012 (DVD-RAM) 
    Profile: 0x0011 (DVD-R sequential recording) 
    Profile: 0x0010 (DVD-ROM) 
    Profile: 0x000A (CD-RW) (current)
    Profile: 0x0009 (CD-R) 
    Profile: 0x0008 (CD-ROM) 
    Profile: 0x0002 (Removable disk) 
    Using generic SCSI-3/mmc   CD-R/CD-RW driver (mmc_cdr).
    Driver flags   : MMC-3 SWABAUDIO BURNFREE FORCESPEED 
    Supported modes: TAO PACKET SAO SAO/R96P SAO/R96R RAW/R16 RAW/R96P RAW/R96R
    Drive buf size : 1275648 = 1245 KB
    Beginning DMA speed test. Set CDR_NODMATEST environment variable if device
    communication breaks or freezes immediately after that.
    FIFO size      : 12582912 = 12288 KB
    Track 01: data    13 MB        
    Total size:       15 MB (01:34.97) = 7123 sectors
    Lout start:       16 MB (01:36/73) = 7123 sectors
    Current Secsize: 2048
    ATIP info from disk:
      Indicated writing power: 3
      Reference speed: 6
      Is not unrestricted
      Is erasable
      Disk sub type: High speed Rewritable (CAV) media (1)
      ATIP start of lead in:  -11745 (97:25/30)
      ATIP start of lead out: 359848 (79:59/73)
      1T speed low:  4 1T speed high: 10
      2T speed low:  4 2T speed high:  0 (reserved val  6)
      power mult factor: 1 5
      recommended erase/write power: 5
      A1 values: 24 1A D8
      A2 values: 26 B2 4A
    Disk type:    Phase change
    Manuf. index: 40
    Manufacturer: INFODISC Technology Co., Ltd.
    Blocks total: 359848 Blocks current: 359848 Blocks remaining: 352725
    Forcespeed is OFF.
    Speed set to 1765 KB/s
    Starting to write CD/DVD at speed  10.0 in real SAO mode for single session.
    Last chance to quit, starting real write in    0 seconds. Operation starts.
    Waiting for reader process to fill input buffer ... input buffer ready.
    Performing OPC...
    Sending CUE sheet...
    Writing pregap for track 1 at -150
    Starting new track at sector: 0
    Track 01:   13 of   13 MB written (fifo 100%) [buf 100%]  10.6x.
    Track 01: Total bytes read/written: 14587904/14587904 (7123 sectors).
    Writing  time:   27.528s
    Average write speed   3.9x.
    Min drive buffer fill was 100%
    Fixating...
    Fixating time:   17.593s
    BURN-Free was never needed.
    wodim: fifo had 230 puts and 230 gets.
    wodim: fifo was 0 times empty and 30 times full, min fill was 96%.
    

    As you can see, the -v flag (verbose) allows us to get a bit more data as the process is happening. Of course this particular image was only ~15MB, so the time was very short, larger images will of course take much longer.

    The burner door will open when the process is complete.


    To burn a DVD via command line : We’ll use a script called growisofs:

    sudo apt-get install growisofs
    

    Follow the same procedure to locate the proper device using the command:

    lsblk
    

    Move to the directory the ISO is located, and type:

    growisofs -dvd-compat -Z /dev/sr0=hdat2cd_51.iso
    

    Fin

    1 Reply Last reply
    0
    Reply
    • Reply as topic
    Log in to reply
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes


    FreeBSD Notes
    • rickR
      rick

      redis.png

      Create a shell script that will dump the Redis database

      cd ~ mkdir redi-backups-script cd redis-backups-script nano redis_backups-script.sh

      Paste the script below:

      #!/bin/bash rdb_file="/Place-directory-of-rdb-here/redis/dump.rdb" redis_cli="/usr/bin/redis-cli" DIR=`date +%d-%m-%y` DEST=~/redis_backups/$DIR mkdir $DEST echo save| $redis_cli exit 1

      Set script to executable:

      chmod +x ~/scripts/redis_backups-script.sh

      Create a cron to run daily:

      Then create a cron job to run the script every day at midnight:

      crontab -e 0 0 * * * ~/redis-backups-script/redis_backup.sh

      Restore RDB backup

      Disable Append Only in the config:

      nano /etc/redis/redis.conf appendonly no

      Stop redis:

      sudo service redis-server stop

      Restore the redis backup:

      rename the rdb file you wish sudo cp /home/redis/dump.rdb /home/redis/dump.rdb.bak

      You can then copy the backup rdb file as follows:

      sudo cp /redis_backups/------/dump.rdb /home/redis/dump.rdb

      Apply the proper permissions to the dump.rdb file:

      sudo chmod 660 /home/redis/dump.rdb

      Re-starting Redis server

      sudo service redis-server start
      read more

    • rickR
      rick

      Install Zabbix 7.2 repo

      wget https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.2+debian12_all.deb

      zab1.png

      dpkg -i zabbix-release_latest_7.2+debian12_all.deb

      zab2.png

      Update repos

      apt update

      zab3.png

      Install Zabbix server and frontend

      apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent2

      zab4.png

      Install plugins

      apt install zabbix-agent2-plugin-mongodb zabbix-agent2-plugin-mssql zabbix-agent2-plugin-postgresql

      zab5.png

      Install mysql

      wget https://dev.mysql.com/get/mysql-apt-config_0.8.30-1_all.deb

      zab-6sql.png

      sudo dpkg -i mysql-apt-config_0.8.30-1_all.deb

      Error on this new install, where lsb-release is not installed

      zab7sql-error.png

      apt-get install lsb-release

      zab7lsb.png

      Try again…

      dpkg -i mysql-apt-config_0.8.30-1_all.deb

      Error, gnupg not installed

      zab7gnupgerror.png

      apt install gnupg2

      zab7gnupg2.png

      Give it another go…

      dpkg -i mysql-apt-config_0.8.30-1_all.deb

      zab7sqltui.png

      zab7sql.png

      I had to list upgradable packages :

      apt-list --upgradable

      Which spit out : mysql-common/unknown 8.4.4-1debian12 all [upgradable from: 5.8+1.1.0]

      Then installed mysql-common

      apt-get install mysql-common

      zabbix-7-sqlgoofs.png

      Had to uninstall Mariadb to resolve these conflicts

      apt remove mariadb-client-core

      Then install mysql-server:

      apt install mysql-server

      zab7-sql-common.png

      zab7-sql-rootpass.png

      Enter your password, twice

      Now enter mysql by typing :

      mysql -u root -p

      zab7-mysql-enter.png

      Enter the following command individually Where ‘password’ is where you type in your actual own password

      mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin; mysql> create user zabbix@localhost identified by 'password'; mysql> grant all privileges on zabbix.* to zabbix@localhost; mysql> set global log_bin_trust_function_creators = 1; mysql> quit;

      Populate the database with zabbix script

      zcat /usr/share/zabbix/sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix mysql --u root -p set global log_bin_trust_function_creators = 0; quit;

      Edit file /etc/zabbix/zabbix_server.conf You can use nano

      nano /etc/zabbix/zabbix_server.conf

      Uncomment the DBPassword section, and type your password

      zabbix-dbpassword.png

      Then hold ctrl and tap x, it will ask if you want to save changes.

      Enable services:

      systemctl enable zabbix-server zabbix-agent2 nginx php8.2-fpm systemctl restart zabbix-server zabbix-agent2 nginx php8.2-fpm

      Check that zabbix service has started

      journalctl -xeu zabbix-server.service

      zabbix7startjob.png

      Delete the 'default site in nginx

      sudo rm -rf /etc/nginx/sites-enabled/default

      Make sure the symbolic link to the zabbix nginx file is present

      ln -s /etc/zabbix/nginx.conf /etc/nginx/sites-enabled/zabbix.conf

      Check that the zabbix nginx file is in the includes in nginx config

      nano /etc/nginx/nginx.conf

      Look for :

      include /etc/nginx/sites-enabled/*

      Now restart nginx

      systemctl restart nginx

      Hit the browser and type in the IP (or URL that you may have put in the zabbix nginx config file)

      zabbix.png

      Make sure to configure locales

      zabbix-locales.png

      sudo dpkg-reconfigure locales

      zabbixlocalestui.png

      zabbix-locales-2.png

      zabbix-locales-command.png

      Reboot the system

      sudo shutdown -r now

      zabbix-utf.png

      Add your database password

      zabbix-db.png

      Add a server name

      zabbix-servername.png

      zabbix-summary.png

      zabbix-config.png

      The default username is Admin, and the password is zabbix

      zabbix-home.png

      read more

    • rickR
      rick
      Unable to negotiate with 10.10.1.35 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss

      While attempting ssh this error is generally due to mismatched versions of ssh, where an up to date version is attempting to access an older version

      Add the following to your command :

      The proper way:

      ssh -o KexAlgorithms=diffie-hellman-group14-sha1 -oHostKeyAlgorithms=+ssh-dss 10.10.1.35

      The cheap way:

      Example :

      ssh -oHostKeyAlgorithms=+ssh-dss 10.10.1.35

      or ssh -oHostKeyAlgorithms=+ssh-dss user@10.10.1.35

      This can be added to the ~/.ssh/config file

      Host my-server HostName 10.10.1.35 HostKeyAlgorithms=+ssh-dss
      read more

    • rickR
      rick

      Locate hard drive and get information

      ls -l /sys/block | grep sd.

      Output:

      lrwxrwxrwx 1 root root 0 Jun 22 06:28 sda -> ../devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:0/0:0:0:0/block/sda lrwxrwxrwx 1 root root 0 Jun 22 06:28 sdb -> ../devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sdb lrwxrwxrwx 1 root root 0 Jun 22 06:28 sdc -> ../devices/pci0000:00/0000:00:1f.2/ata3/host2/target2:0:0/2:0:0:0/block/sdc lrwxrwxrwx 1 root root 0 Jun 22 06:28 sdd -> ../devices/pci0000:00/0000:00:1f.2/ata4/host3/target3:0:0/3:0:0:0/block/sdd

      Or for a more detailed view

      strace -e trace=open lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 3.6T 0 disk ├─data--2-data--2_tmeta 252:3 0 15.9G 0 lvm │ └─data--2-data--2-tpool 252:9 0 3.6T 0 lvm │ ├─data--2-data--2 252:10 0 3.6T 1 lvm │ ├─data--2-vm--101--disk--0 252:11 0 8G 0 lvm │ ├─data--2-vm--103--disk--0 252:12 0 32G 0 lvm │ ├─data--2-vm--107--disk--0 252:13 0 500G 0 lvm │ └─data--2-vm--108--disk--0 252:20 0 100G 0 lvm └─data--2-data--2_tdata 252:6 0 3.6T 0 lvm └─data--2-data--2-tpool 252:9 0 3.6T 0 lvm ├─data--2-data--2 252:10 0 3.6T 1 lvm ├─data--2-vm--101--disk--0 252:11 0 8G 0 lvm ├─data--2-vm--103--disk--0 252:12 0 32G 0 lvm ├─data--2-vm--107--disk--0 252:13 0 500G 0 lvm └─data--2-vm--108--disk--0 252:20 0 100G 0 lvm sdb 8:16 0 698.6G 0 disk └─sdb1 8:17 0 698.6G 0 part /mnt/pve/backups sdc 8:32 0 3.6T 0 disk ├─vm--data-vm--data_tmeta 252:4 0 15.9G 0 lvm │ └─vm--data-vm--data-tpool 252:14 0 3.6T 0 lvm │ ├─vm--data-vm--data 252:15 0 3.6T 1 lvm │ ├─vm--data-vm--100--disk--0 252:16 0 270G 0 lvm │ ├─vm--data-vm--102--disk--0 252:17 0 100G 0 lvm │ ├─vm--data-vm--104--disk--0 252:18 0 25G 0 lvm │ └─vm--data-vm--106--disk--0 252:19 0 32G 0 lvm └─vm--data-vm--data_tdata 252:7 0 3.6T 0 lvm └─vm--data-vm--data-tpool 252:14 0 3.6T 0 lvm ├─vm--data-vm--data 252:15 0 3.6T 1 lvm ├─vm--data-vm--100--disk--0 252:16 0 270G 0 lvm ├─vm--data-vm--102--disk--0 252:17 0 100G 0 lvm ├─vm--data-vm--104--disk--0 252:18 0 25G 0 lvm └─vm--data-vm--106--disk--0 252:19 0 32G 0 lvm sdd 8:48 0 931.5G 0 disk ├─sdd1 8:49 0 1007K 0 part ├─sdd2 8:50 0 1G 0 part └─sdd3 8:51 0 930.5G 0 part ├─pve-swap 252:0 0 8G 0 lvm [SWAP] ├─pve-root 252:1 0 96G 0 lvm / ├─pve-data_tmeta 252:2 0 8.1G 0 lvm │ └─pve-data 252:8 0 794.3G 0 lvm └─pve-data_tdata 252:5 0 794.3G 0 lvm └─pve-data 252:8 0 794.3G 0 lvm +++ exited with 0 +++ cat /proc/partitions major minor #blocks name 8 0 3907018584 sda 8 16 732574584 sdb 8 17 732572672 sdb1 8 32 3907018584 sdc 8 48 976762584 sdd 8 49 1007 sdd1 8 50 1048576 sdd2 8 51 975712967 sdd3 252 0 8388608 dm-0 252 1 100663296 dm-1 252 2 8495104 dm-2 252 3 16650240 dm-3 252 4 16650240 dm-4 252 6 3873329152 dm-6 252 5 832888832 dm-5 252 7 3873329152 dm-7 252 8 832888832 dm-8 252 9 3873329152 dm-9 252 10 3873329152 dm-10 252 11 8388608 dm-11 252 12 33554432 dm-12 252 13 524288000 dm-13 252 14 3873329152 dm-14 252 15 3873329152 dm-15 252 16 283115520 dm-16 252 17 104857600 dm-17 252 18 26214400 dm-18 252 19 33554432 dm-19 252 20 104857600 dm-20

      Locate drive by serial and model information

      hdparm -i /dev/sda /dev/sda: Model=WDC WD4000FYYZ-05UL1B0, FwRev=00.0NS05, SerialNo=WD-WCC132262513 Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq } RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=0 BuffType=unknown, BuffSize=unknown, MaxMultSect=16, MultSect=off CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=7814037168 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120} PIO modes: pio0 pio3 pio4 DMA modes: mdma0 mdma1 mdma2 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6 AdvancedPM=yes: unknown setting WriteCache=disabled Drive conforms to: Unspecified: ATA/ATAPI-1,2,3,4,5,6,7 * signifies the current active mode
      read more

    • rickR
      rick

      Screen recording can use webm as their format, it can be more simple to use a gif to embed into a website or forum, than adding scripts to host different video format.

      In this case I grabbed a screen record of the progress for writing zeros to a hard drive with dd

      Use ffmpeg to convert webm to gif:

      First create a pallet:

      Move into the directory which the webm is located, or type in the path

      Where ‘dd.webm’ is the screen recording

      ffmpeg -y -i dd.webm -vf palettegen palette.png

      Output:

      dd-ffmpeg.png

      Then convert the webm to gif:

      ffmpeg -y -i dd.webm -i palette.png -filter_complex paletteuse -r 10 dd.gif

      dd-webm-2.png

      This is what I ended up with, looks like any image of any alien on the interwebz, as if shot through a potato, some tweaking of the command is in my future. None the less.

      dd.gif

      read more
    • Login

    • Don't have an account? Register

    • Login or register to search.
    • First post
      Last post